@1interface/chat-core 0.11.0 → 0.12.0
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/dist/index.d.ts +20 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@reduxjs/toolkit"),t=require("react-redux"),r=require("react"),n=require("@1interface/shared-core"),s=require("@microsoft/fetch-event-source");var a=Symbol.for("immer-nothing"),o=Symbol.for("immer-draftable"),i=Symbol.for("immer-state"),u="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function c(e,...t){if("production"!==process.env.NODE_ENV){const r=u[e],n=P(r)?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var d=Object,l=d.getPrototypeOf,p="constructor",f="prototype",h="configurable",g="enumerable",m="writable",y="value",S=e=>!!e&&!!e[i];function T(e){return!!e&&(E(e)||x(e)||!!e[o]||!!e[p]?.[o]||O(e)||C(e))}var v=d[f][p].toString(),_=new WeakMap;function E(e){if(!e||!k(e))return!1;const t=l(e);if(null===t||t===d[f])return!0;const r=d.hasOwnProperty.call(t,p)&&t[p];if(r===Object)return!0;if(!P(r))return!1;let n=_.get(r);return void 0===n&&(n=Function.toString.call(r),_.set(r,n)),n===v}function b(e,t,r=!0){0===w(e)?(r?Reflect.ownKeys(e):d.keys(e)).forEach(r=>{t(r,e[r],e)}):e.forEach((r,n)=>t(n,r,e))}function w(e){const t=e[i];return t?t.type_:x(e)?1:O(e)?2:C(e)?3:0}var A=(e,t,r=w(e))=>2===r?e.has(t):d[f].hasOwnProperty.call(e,t),I=(e,t,r=w(e))=>2===r?e.get(t):e[t],R=(e,t,r,n=w(e))=>{2===n?e.set(t,r):3===n?e.add(r):e[t]=r},x=Array.isArray,O=e=>e instanceof Map,C=e=>e instanceof Set,k=e=>"object"==typeof e,P=e=>"function"==typeof e,N=e=>"boolean"==typeof e,M=e=>e.copy_||e.base_,D=e=>e.modified_?e.copy_:e.base_;function q(e,t){if(O(e))return new Map(e);if(C(e))return new Set(e);if(x(e))return Array[f].slice.call(e);const r=E(e);if(!0===t||"class_only"===t&&!r){const t=d.getOwnPropertyDescriptors(e);delete t[i];let r=Reflect.ownKeys(t);for(let n=0;n<r.length;n++){const s=r[n],a=t[s];!1===a[m]&&(a[m]=!0,a[h]=!0),(a.get||a.set)&&(t[s]={[h]:!0,[m]:!0,[g]:a[g],[y]:e[s]})}return d.create(l(e),t)}{const t=l(e);if(null!==t&&r)return{...e};const n=d.create(t);return d.assign(n,e)}}function U(e,t=!1){return Q(e)||S(e)||!T(e)||(w(e)>1&&d.defineProperties(e,{set:L,add:L,clear:L,delete:L}),d.freeze(e),t&&b(e,(e,t)=>{U(t,!0)},!1)),e}var L={[y]:function(){c(2)}};function Q(e){return null===e||!k(e)||d.isFrozen(e)}var F="MapSet",j="Patches",$="ArrayMethods",H={};function z(e){const t=H[e];return t||c(0,e),t}var G,K=e=>!!H[e],B=()=>G;function V(e,t){t&&(e.patchPlugin_=z(j),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function W(e){Y(e),e.drafts_.forEach(X),e.drafts_=null}function Y(e){e===G&&(G=e.parent_)}var J=e=>G={drafts_:[],parent_:G,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:K(F)?z(F):void 0,arrayMethodsPlugin_:K($)?z($):void 0};function X(e){const t=e[i];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Z(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(void 0!==e&&e!==r){r[i].modified_&&(W(t),c(4)),T(e)&&(e=ee(t,e));const{patchPlugin_:n}=t;n&&n.generateReplacementPatches_(r[i].base_,e,t)}else e=ee(t,r);return function(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&U(t,r)}(t,e,!0),W(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==a?e:void 0}function ee(e,t){if(Q(t))return t;const r=t[i];if(!r)return oe(t,e.handledSet_,e);if(!re(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:t}=r;if(t)for(;t.length>0;)t.pop()(e);ae(r,e)}return r.copy_}function te(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var re=(e,t)=>e.scope_===t,ne=[];function se(e,t,r,n){const s=M(e),a=e.type_;if(void 0!==n&&I(s,n,a)===t)return void R(s,n,r,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;b(s,(e,r)=>{if(S(r)){const n=t.get(r)||[];n.push(e),t.set(r,n)}})}const o=e.draftLocations_.get(t)??ne;for(const e of o)R(s,e,r,a)}function ae(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:r}=t;if(r){const n=r.getPath(e);n&&r.generatePatches_(e,n,t)}te(e)}}function oe(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||S(e)||t.has(e)||!T(e)||Q(e)||(t.add(e),b(e,(n,s)=>{if(S(s)){const t=s[i];if(re(t,r)){const r=D(t);R(e,n,r,e.type_),te(t)}}else T(s)&&oe(s,t,r)})),e}var ie={get(e,t){if(t===i)return e;let r=e.scope_.arrayMethodsPlugin_;const n=1===e.type_&&"string"==typeof t;if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const s=M(e);if(!A(s,t,e.type_))return function(e,t,r){const n=de(t,r);return n?y in n?n[y]:n.get?.call(e.draft_):void 0}(e,s,t);const a=s[t];if(e.finalized_||!T(a))return a;if(n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return a;if(a===ce(e.base_,t)){pe(e);const r=1===e.type_?+t:t,n=fe(0,a,e,r);return e.copy_[r]=n}return a},has:(e,t)=>t in M(e),ownKeys:e=>Reflect.ownKeys(M(e)),set(e,t,r){const n=de(M(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const n=ce(M(e),t),o=n?.[i];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(((s=r)===(a=n)?0!==s||1/s==1/a:s!=s&&a!=a)&&(void 0!==r||A(e.base_,t,e.type_)))return!0;pe(e),le(e)}var s,a;return e.copy_[t]===r&&(void 0!==r||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),function(e,t,r){const{scope_:n}=e;if(S(r)){const s=r[i];re(s,n)&&s.callbacks_.push(function(){pe(e);const n=D(s);se(e,r,n,t)})}else T(r)&&e.callbacks_.push(function(){const s=M(e);3===e.type_?s.has(r)&&oe(r,n.handledSet_,n):I(s,t,e.type_)===r&&n.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&oe(I(e.copy_,t,e.type_),n.handledSet_,n)})}(e,t,r)),!0},deleteProperty:(e,t)=>(pe(e),void 0!==ce(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),le(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const r=M(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{[m]:!0,[h]:1!==e.type_||"length"!==t,[g]:n[g],[y]:r[t]}:n},defineProperty(){c(11)},getPrototypeOf:e=>l(e.base_),setPrototypeOf(){c(12)}},ue={};for(let e in ie){let t=ie[e];ue[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ce(e,t){const r=e[i];return(r?M(r):e)[t]}function de(e,t){if(!(t in e))return;let r=l(e);for(;r;){const e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=l(r)}}function le(e){e.modified_||(e.modified_=!0,e.parent_&&le(e.parent_))}function pe(e){e.copy_||(e.assigned_=new Map,e.copy_=q(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function fe(e,t,r,n){const[s,a]=O(t)?z(F).proxyMap_(t,r):C(t)?z(F).proxySet_(t,r):function(e,t){const r=x(e),n={type_:r?1:0,scope_:t?t.scope_:B(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let s=n,a=ie;r&&(s=[n],a=ue);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return n.draft_=i,n.revoke_=o,[i,n]}(t,r);return(r?.scope_??B()).drafts_.push(s),a.callbacks_=r?.callbacks_??[],a.key_=n,r&&void 0!==n?function(e,t,r){e.callbacks_.push(function(n){const s=t;if(!s||!re(s,n))return;n.mapSetPlugin_?.fixSetContents(s);const a=D(s);se(e,s.draft_??s,a,r),ae(s,n)})}(r,a,n):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),s}function he(e){return S(e)||c(10,e),ge(e)}function ge(e){if(!T(e)||Q(e))return e;const t=e[i];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=q(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=q(e,!0);return b(r,(e,t)=>{R(r,e,ge(t))},n),t&&(t.finalized_=!1),r}ue.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&c(13),ue.set.call(this,e,t,void 0)},ue.set=function(e,t,r){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&c(14),ie.set.call(this,e[0],t,r,e[0])};var me=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,r)=>{if(P(e)&&!P(t)){const r=t;t=e;const n=this;return function(e=r,...s){return n.produce(e,e=>t.call(this,e,...s))}}let n;if(P(t)||c(6),void 0===r||P(r)||c(7),T(e)){const s=J(this),a=fe(0,e,void 0);let o=!0;try{n=t(a),o=!1}finally{o?W(s):Y(s)}return V(s,r),Z(n,s)}if(!e||!k(e)){if(n=t(e),void 0===n&&(n=e),n===a&&(n=void 0),this.autoFreeze_&&U(n,!0),r){const t=[],s=[];z(j).generateReplacementPatches_(e,n,{patches_:t,inversePatches_:s}),r(t,s)}return n}c(1,e)},this.produceWithPatches=(e,t)=>{if(P(e))return(t,...r)=>this.produceWithPatches(t,t=>e(t,...r));let r,n;return[this.produce(e,t,(e,t)=>{r=e,n=t}),r,n]},N(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),N(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),N(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){T(e)||c(8),S(e)&&(e=he(e));const t=J(this),r=fe(0,e,void 0);return r[i].isManual_=!0,Y(t),r}finishDraft(e,t){const r=e&&e[i];r&&r.isManual_||c(9);const{scope_:n}=r;return V(n,t),Z(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));const n=z(j).applyPatches_;return S(e)?n(e,t):this.produce(e,e=>n(e,t))}},ye=me.produceWithPatches.bind(me),Se=me.applyPatches.bind(me),Te=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},ve=(e,t,r)=>{if(1===t.length&&t[0]===r){let t=!1;try{const r={};e(r)===r&&(t=!0)}catch{}if(t){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("The result function returned its own inputs without modification. e.g\n`createSelector([state => state.todos], todos => todos)`\nThis could lead to inefficient memoization and unnecessary re-renders.\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.",{stack:e})}}},_e=(e,t,r)=>{const{memoize:n,memoizeOptions:s}=t,{inputSelectorResults:a,inputSelectorResultsCopy:o}=e,i=n(()=>({}),...s);if(i.apply(null,a)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:r,firstInputs:a,secondInputs:o,stack:e})}},Ee={inputStabilityCheck:"once",identityFunctionCheck:"once"},be=e=>Array.isArray(e)?e:[e];function we(e,t){const r=[],{length:n}=e;for(let s=0;s<n;s++)r.push(e[s].apply(null,t));return r}var Ae="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Ie(){return{s:0,v:void 0,o:null,p:null}}function Re(e,t={}){let r={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:n}=t;let s,a=0;function o(){let t=r;const{length:o}=arguments;for(let e=0,r=o;e<r;e++){const r=arguments[e];if("function"==typeof r||"object"==typeof r&&null!==r){let e=t.o;null===e&&(t.o=e=new WeakMap);const n=e.get(r);void 0===n?(t=Ie(),e.set(r,t)):t=n}else{let e=t.p;null===e&&(t.p=e=new Map);const n=e.get(r);void 0===n?(t=Ie(),e.set(r,t)):t=n}}const i=t;let u;if(1===t.s)u=t.v;else if(u=e.apply(null,arguments),a++,n){const e=s?.deref?.()??s;null!=e&&n(e,u)&&(u=e,0!==a&&a--),s="object"==typeof u&&null!==u||"function"==typeof u?new Ae(u):u}return i.s=1,i.v=u,u}return o.clearCache=()=>{r={s:0,v:void 0,o:null,p:null},o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function xe(e,...t){const r="function"==typeof e?{memoize:e,memoizeOptions:t}:e,n=(...e)=>{let t,n=0,s=0,a={},o=e.pop();"object"==typeof o&&(a=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...r,...a},{memoize:u,memoizeOptions:c=[],argsMemoize:d=Re,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=be(c),h=be(l),g=function(e){const t=Array.isArray(e[0])?e[0]:e;return function(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(e=>"function"==typeof e)){const r=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${r}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}(e),m=u(function(){return n++,o.apply(null,arguments)},...f);let y=!0;const S=d(function(){s++;const e=we(g,arguments);if(t=m.apply(null,e),"production"!==process.env.NODE_ENV){const{identityFunctionCheck:r,inputStabilityCheck:n}=((e,t)=>{const{identityFunctionCheck:r,inputStabilityCheck:n}={...Ee,...t};return{identityFunctionCheck:{shouldRun:"always"===r||"once"===r&&e,run:ve},inputStabilityCheck:{shouldRun:"always"===n||"once"===n&&e,run:_e}}})(y,p);if(r.shouldRun&&r.run(o,e,t),n.shouldRun){const t=we(g,arguments);n.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:u,memoizeOptions:f},arguments)}y&&(y=!1)}return t},...h);return Object.assign(S,{resultFunc:o,memoizedResultFunc:m,dependencies:g,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>t,recomputations:()=>n,resetRecomputations:()=>{n=0},memoize:u,argsMemoize:d})};return Object.assign(n,{withTypes:()=>n}),n}var Oe=xe(Re),Ce=Object.assign((e,t=Oe)=>{!function(e,t="expected an object, instead received "+typeof e){if("object"!=typeof e)throw new TypeError(t)}(e,"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);const r=Object.keys(e);return t(r.map(t=>e[t]),(...e)=>e.reduce((e,t,n)=>(e[r[n]]=t,e),{}))},{withTypes:()=>Ce}),ke=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(ke||{}),Pe="uninitialized",Ne="pending",Me="fulfilled",De="rejected";function qe(e){return{status:e,isUninitialized:e===Pe,isLoading:e===Ne,isSuccess:e===Me,isError:e===De}}var Ue=e.isPlainObject;function Le(e,t){if(e===t||!(Ue(e)&&Ue(t)||Array.isArray(e)&&Array.isArray(t)))return t;const r=Object.keys(t),n=Object.keys(e);let s=r.length===n.length;const a=Array.isArray(t)?[]:{};for(const n of r)a[n]=Le(e[n],t[n]),s&&(s=e[n]===a[n]);return s?e:a}function Qe(e,t,r){return e.reduce((e,n,s)=>(t(n,s)&&e.push(r(n,s)),e),[]).flat()}function Fe(e){return null!=e}function je(e){return[...e?.values()??[]].filter(Fe)}function $e(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}var He=()=>new Map,ze=e=>{const t=new AbortController;return setTimeout(()=>{const e="signal timed out",r="TimeoutError";t.abort("undefined"!=typeof DOMException?new DOMException(e,r):Object.assign(new Error(e),{name:r}))},e),t.signal},Ge=(...e)=>{for(const t of e)if(t.aborted)return AbortSignal.abort(t.reason);const t=new AbortController;for(const r of e)r.addEventListener("abort",()=>t.abort(r.reason),{signal:t.signal,once:!0});return t.signal},Ke=(...e)=>fetch(...e),Be=e=>e.status>=200&&e.status<=299,Ve=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function We(t){if(!e.isPlainObject(t))return t;const r={...t};for(const[e,t]of Object.entries(r))void 0===t&&delete r[e];return r}var Ye=class{constructor(e,t=void 0){this.value=e,this.meta=t}},Je="__rtkq/",Xe="online",Ze="offline",et="focus",tt="focused",rt="visibilitychange",nt=e.createAction(`${Je}${tt}`),st=e.createAction(`${Je}un${tt}`),at=e.createAction(`${Je}${Xe}`),ot=e.createAction(`${Je}${Ze}`),it=!1,ut="query",ct="mutation",dt="infinitequery";function lt(e){return e.type===ut}function pt(e){return e.type===dt}function ft(e){return lt(e)||pt(e)}function ht(e,t,r,n,s,a){const o="function"==typeof e?e(t,r,n,s):e;return o?Qe(o,Fe,e=>a(gt(e))):[]}function gt(e){return"string"==typeof e?{type:e}:e}var mt=(e,t)=>e.endpointDefinitions[t],yt=Symbol("forceQueryFn"),St=e=>"function"==typeof e[yt],Tt=class extends Te{constructor(e,t,r,n){super(e),this.value=t,this.schemaName=r,this._bqMeta=n}},vt=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function _t(e,t,r,n){const s=await e["~standard"].validate(t);if(s.issues)throw new Tt(s.issues,t,r,n);return s.value}function Et(e){return e}var bt=(t={})=>({...t,[e.SHOULD_AUTOBATCH]:!0});function wt(e,{pages:t,pageParams:r},n){const s=t.length-1;return e.getNextPageParam(t[s],t,r[s],r,n)}function At(e,{pages:t,pageParams:r},n){return e.getPreviousPageParam?.(t[0],t,r[0],r,n)}function It(t,r,n,s){return ht(n[t.meta.arg.endpointName][r],e.isFulfilled(t)?t.payload:void 0,e.isRejectedWithValue(t)?t.payload:void 0,t.meta.arg.originalArgs,"baseQueryMeta"in t.meta?t.meta.baseQueryMeta:void 0,s)}function Rt(e){return S(e)?he(e):e}function xt(e,t,r){const n=e[t];n&&r(n)}function Ot(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Ct(e,t,r){const n=e[Ot(t)];n&&r(n)}var kt={},Pt=Symbol.for("RTKQ/skipToken"),Nt={status:Pe},Mt=e.createNextState(Nt,()=>{}),Dt=e.createNextState(Nt,()=>{}),qt=WeakMap?new WeakMap:void 0,Ut=({endpointName:t,queryArgs:r})=>{let n="";const s=qt?.get(r);if("string"==typeof s)n=s;else{const t=JSON.stringify(r,(t,r)=>(r="bigint"==typeof r?{$bigint:r.toString()}:r,r=e.isPlainObject(r)?Object.keys(r).sort().reduce((e,t)=>(e[t]=r[t],e),{}):r));e.isPlainObject(r)&&qt?.set(r,t),n=t}return`${t}(${n})`};function Lt(...t){return function(r){const n=Re(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:n,serializeQueryArgs(e){let t=Ut;if("serializeQueryArgs"in e.endpointDefinition){const r=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=r(e);return"string"==typeof t?t:Ut({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},a={endpointDefinitions:{},batch(e){e()},apiUid:e.nanoid(),extractRehydrationInfo:n,hasRehydrationInfo:Re(e=>null!=n(e))},o={injectEndpoints:function(t){const r=t.endpoints({query:e=>({...e,type:ut}),mutation:e=>({...e,type:ct}),infiniteQuery:e=>({...e,type:dt})});for(const[n,s]of Object.entries(r))if(!0!==t.overrideExisting&&n in a.endpointDefinitions){if("throw"===t.overrideExisting)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(39):`called \`injectEndpoints\` to override already-existing endpointName ${n} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${n} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&pt(s)){const{infiniteQueryOptions:t}=s,{maxPages:r,getPreviousPageParam:a}=t;if("number"==typeof r){if(r<1)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(40):`maxPages for endpoint '${n}' must be a number greater than 0`);if("function"!=typeof a)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(41):`getPreviousPageParam for endpoint '${n}' must be a function if maxPages is used`)}}a.endpointDefinitions[n]=s;for(const e of i)e.injectEndpoint(n,s)}return o},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)s.tagTypes.includes(t)||s.tagTypes.push(t);if(t)for(const[e,r]of Object.entries(t))"function"==typeof r?r(mt(a,e)):Object.assign(mt(a,e)||{},r);return o}},i=t.map(e=>e.init(o,s,a));return o.injectEndpoints({endpoints:r.endpoints})}}function Qt(e,...t){return Object.assign(e,...t)}var Ft=({api:t,queryThunk:r,context:n,internalState:s,selectors:{selectQueryEntry:a,selectConfig:o},getRunningQueryThunk:i})=>{const{removeQueryResult:u,unsubscribeQueryResult:c,cacheEntriesUpserted:d}=t.internalActions,l=e.isAnyOf(c.match,r.fulfilled,r.rejected,d.match);function p(e){const t=s.currentSubscriptions.get(e);return!!t&&t.size>0}const f={};function h(e){for(const t of e.values())t?.abort?.()}function g(e,t,r){const n=t.getState();for(const s of e){const e=a(n,s);e?.endpointName&&m(s,e.endpointName,t,r)}}function m(e,t,r,s){const o=mt(n,t),c=o?.keepUnusedDataFor??s.keepUnusedDataFor;if(c===1/0)return;const d=Math.max(0,Math.min(c,2147482.647));if(!p(e)){const t=f[e];t&&clearTimeout(t),f[e]=setTimeout(()=>{if(!p(e)){const t=a(r.getState(),e);if(t?.endpointName){const e=r.dispatch(i(t.endpointName,t.originalArgs));e?.abort()}r.dispatch(u({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(e,r)=>{const a=r.getState(),i=o(a);if(l(e)){let t;if(d.match(e))t=e.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:r}=c.match(e)?e.payload:e.meta.arg;t=[r]}g(t,r,i)}if(t.util.resetApiState.match(e)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];h(s.runningQueries),h(s.runningMutations)}if(n.hasRehydrationInfo(e)){const{queries:t}=n.extractRehydrationInfo(e);g(Object.keys(t),r,i)}}},jt=new Error("Promise never resolved before cacheEntryRemoved."),$t=({api:t,reducerPath:r,context:n,queryThunk:s,mutationThunk:a,selectors:{selectQueryEntry:o}})=>{const i=e.isAsyncThunkAction(s),u=e.isAsyncThunkAction(a),c=e.isFulfilled(s,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=t.internalActions;function h(e,t,r){const n=d[e];n?.valueResolved&&(n.valueResolved({data:t,meta:r}),delete n.valueResolved)}function g(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:r}=e.meta,{endpointName:n,originalArgs:s}=t;return[n,s,r]}function y(e,r,s,a,o){const i=mt(n,e),u=i?.onCacheEntryAdded;if(!u)return;const c={},l=new Promise(e=>{c.cacheEntryRemoved=e}),p=Promise.race([new Promise(e=>{c.valueResolved=e}),l.then(()=>{throw jt})]);p.catch(()=>{}),d[s]=c;const f=t.endpoints[e].select(ft(i)?r:s),h=a.dispatch((e,t,r)=>r),g={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:h,updateCachedData:ft(i)?n=>a.dispatch(t.util.updateQueryData(e,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=u(r,g);Promise.resolve(m).catch(e=>{if(e!==jt)throw e})}return(e,n,S)=>{const T=function(e){return i(e)?e.meta.arg.queryCacheKey:u(e)?e.meta.arg.fixedCacheKey??e.meta.requestId:l.match(e)?e.payload.queryCacheKey:p.match(e)?Ot(e.payload):""}(e);function v(e,t,r,s){const a=o(S,t),i=o(n.getState(),t);!a&&i&&y(e,s,t,n,r)}if(s.pending.match(e)){const[t,r,n]=m(e);v(t,T,n,r)}else if(f.match(e))for(const{queryDescription:t,value:r}of e.payload){const{endpointName:n,originalArgs:s,queryCacheKey:a}=t;v(n,a,e.meta.requestId,s),h(a,r,{})}else if(a.pending.match(e)){if(n.getState()[r].mutations[T]){const[t,r,s]=m(e);y(t,r,T,n,s)}}else if(c(e))h(T,e.payload,e.meta.baseQueryMeta);else if(l.match(e)||p.match(e))g(T);else if(t.util.resetApiState.match(e))for(const e of Object.keys(d))g(e)}},Ht=({api:e,context:{apiUid:t},reducerPath:r})=>(n,s)=>{e.util.resetApiState.match(n)&&s.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(n)&&n.payload===t&&"conflict"===s.getState()[r]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${r}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===r?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},zt=({reducerPath:t,context:r,context:{endpointDefinitions:n},mutationThunk:s,queryThunk:a,api:o,assertTagType:i,refetchQuery:u,internalState:c})=>{const{removeQueryResult:d}=o.internalActions,l=e.isAnyOf(e.isFulfilled(s),e.isRejectedWithValue(s)),p=e.isAnyOf(e.isFulfilled(a,s),e.isRejected(a,s));let f=[],h=0;function g(e,n){const s=n.getState(),a=s[t];if(f.push(...e),"delayed"===a.config.invalidationBehavior&&h>0)return;const i=f;if(f=[],0===i.length)return;const l=o.util.selectInvalidatedBy(s,i);r.batch(()=>{const e=Array.from(l.values());for(const{queryCacheKey:t}of e){const e=a.queries[t],r=$e(c.currentSubscriptions,t,He);e&&(0===r.size?n.dispatch(d({queryCacheKey:t})):e.status!==Pe&&n.dispatch(u(e)))}})}return(e,t)=>{(a.pending.match(e)||s.pending.match(e))&&h++,p(e)&&(h=Math.max(0,h-1)),l(e)?g(It(e,"invalidatesTags",n,i),t):p(e)?g([],t):o.util.invalidateTags.match(e)&&g(ht(e.payload,void 0,void 0,void 0,void 0,i),t)}},Gt=({reducerPath:e,queryThunk:t,api:r,refetchQuery:n,internalState:s})=>{const{currentPolls:a,currentSubscriptions:o}=s,i=new Set;let u=null;function c(e,t){i.add(e),u||(u=setTimeout(()=>{for(const e of i)l({queryCacheKey:e},t);i.clear(),u=null},0))}function d({queryCacheKey:t},r){const s=r.getState()[e],i=s.queries[t],u=o.get(t);if(!i||i.status===Pe)return;const{lowestPollingInterval:c,skipPollingIfUnfocused:l}=f(u);if(!Number.isFinite(c))return;const p=a.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+c;a.set(t,{nextPollTimestamp:h,pollingInterval:c,timeout:setTimeout(()=>{!s.config.focused&&l||r.dispatch(n(i)),d({queryCacheKey:t},r)},c)})}function l({queryCacheKey:t},r){const n=r.getState()[e].queries[t],s=o.get(t);if(!n||n.status===Pe)return;const{lowestPollingInterval:i}=f(s);if("test"===process.env.NODE_ENV){const e=a.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const u=a.get(t),c=Date.now()+i;(!u||c<u.nextPollTimestamp)&&d({queryCacheKey:t},r)}function p(e){const t=a.get(e);t?.timeout&&clearTimeout(t.timeout),a.delete(e)}function f(e=new Map){let t=!1,r=Number.POSITIVE_INFINITY;for(const n of e.values())n.pollingInterval&&(r=Math.min(n.pollingInterval,r),t=n.skipPollingIfUnfocused||t);return{lowestPollingInterval:r,skipPollingIfUnfocused:t}}return(e,n)=>{(r.internalActions.updateSubscriptionOptions.match(e)||r.internalActions.unsubscribeQueryResult.match(e))&&c(e.payload.queryCacheKey,n),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&c(e.meta.arg.queryCacheKey,n),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,n),r.util.resetApiState.match(e)&&(function(){for(const e of a.keys())p(e)}(),u&&(clearTimeout(u),u=null),i.clear())}},Kt=({api:t,context:r,queryThunk:n,mutationThunk:s})=>{const a=e.isPending(n,s),o=e.isRejected(n,s),i=e.isFulfilled(n,s),u={};return(e,n)=>{if(a(e)){const{requestId:s,arg:{endpointName:a,originalArgs:o}}=e.meta,i=mt(r,a),c=i?.onQueryStarted;if(c){const e={},r=new Promise((t,r)=>{e.resolve=t,e.reject=r});r.catch(()=>{}),u[s]=e;const d=t.endpoints[a].select(ft(i)?o:s),l=n.dispatch((e,t,r)=>r),p={...n,getCacheEntry:()=>d(n.getState()),requestId:s,extra:l,updateCachedData:ft(i)?e=>n.dispatch(t.util.updateQueryData(a,o,e)):void 0,queryFulfilled:r};c(o,p)}}else if(i(e)){const{requestId:t,baseQueryMeta:r}=e.meta;u[t]?.resolve({data:e.payload,meta:r}),delete u[t]}else if(o(e)){const{requestId:t,rejectedWithValue:r,baseQueryMeta:n}=e.meta;u[t]?.reject({error:e.payload??e.error,isUnhandledError:!r,meta:n}),delete u[t]}}};var Bt=Symbol(),Vt=({createSelector:t=e.createSelector}={})=>({name:Bt,init(r,{baseQuery:n,tagTypes:s,reducerPath:d,serializeQueryArgs:h,keepUnusedDataFor:g,refetchOnMountOrArgChange:m,refetchOnFocus:y,refetchOnReconnect:v,invalidationBehavior:_,onSchemaFailure:E,catchSchemaFailure:R,skipSchemaValidation:N},M){!function(){"production"!==process.env.NODE_ENV&&u.push('Sets cannot have "replace" patches.',function(e){return"Unsupported patch operation: "+e},function(e){return"Cannot apply patch, path doesn't resolve: "+e},"Patching reserved attributes like __proto__, prototype and constructor is not allowed");const e="replace",t="add",r="remove";function n(e){if(!T(e))return e;if(x(e))return e.map(n);if(O(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,n(t)]));if(C(e))return new Set(Array.from(e).map(n));const t=Object.create(l(e));for(const r in e)t[r]=n(e[r]);return A(e,o)&&(t[o]=e[o]),t}function s(e){return S(e)?n(e):e}var d;H[d=j]||(H[d]={applyPatches_:function(s,a){return a.forEach(a=>{const{path:o,op:i}=a;let u=s;for(let e=0;e<o.length-1;e++){const t=w(u);let r=o[e];"string"!=typeof r&&"number"!=typeof r&&(r=""+r),0!==t&&1!==t||"__proto__"!==r&&r!==p||c(19),P(u)&&r===f&&c(19),u=I(u,r),k(u)||c(18,o.join("/"))}const d=w(u),l=n(a.value),h=o[o.length-1];switch(i){case e:switch(d){case 2:return u.set(h,l);case 3:c(16);default:return u[h]=l}case t:switch(d){case 1:return"-"===h?u.push(l):u.splice(h,0,l);case 2:return u.set(h,l);case 3:return u.add(l);default:return u[h]=l}case r:switch(d){case 1:return u.splice(h,1);case 2:return u.delete(h);case 3:return u.delete(a.value);default:return delete u[h]}default:c(17,i)}}),s},generatePatches_:function(n,a,o){if(n.scope_.processedForPatches_.has(n))return;n.scope_.processedForPatches_.add(n);const{patches_:u,inversePatches_:c}=o;switch(n.type_){case 0:case 2:return function(n,a,o,i){const{base_:u,copy_:c,type_:d}=n;b(n.assigned_,(n,l)=>{const p=I(u,n,d),f=I(c,n,d),h=l?A(u,n)?e:t:r;if(p===f&&h===e)return;const g=a.concat(n);o.push(h===r?{op:h,path:g}:{op:h,path:g,value:s(f)}),i.push(h===t?{op:r,path:g}:h===r?{op:t,path:g,value:s(p)}:{op:e,path:g,value:s(p)})})}(n,a,u,c);case 1:return function(n,a,o,u){let{base_:c,assigned_:d}=n,l=n.copy_;l.length<c.length&&([c,l]=[l,c],[o,u]=[u,o]);const p=!0===n.allIndicesReassigned_;for(let t=0;t<c.length;t++){const r=l[t],n=c[t];if((p||d?.get(t.toString()))&&r!==n){const c=r?.[i];if(c&&c.modified_)continue;const d=a.concat([t]);o.push({op:e,path:d,value:s(r)}),u.push({op:e,path:d,value:s(n)})}}for(let e=c.length;e<l.length;e++){const r=a.concat([e]);o.push({op:t,path:r,value:s(l[e])})}for(let e=l.length-1;c.length<=e;--e){const t=a.concat([e]);u.push({op:r,path:t})}}(n,a,u,c);case 3:return function(e,n,s,a){let{base_:o,copy_:i}=e,u=0;o.forEach(e=>{if(!i.has(e)){const o=n.concat([u]);s.push({op:r,path:o,value:e}),a.unshift({op:t,path:o,value:e})}u++}),u=0,i.forEach(e=>{if(!o.has(e)){const o=n.concat([u]);s.push({op:t,path:o,value:e}),a.unshift({op:r,path:o,value:e})}u++})}(n,a,u,c)}},generateReplacementPatches_:function(t,r,n){const{patches_:s,inversePatches_:o}=n;s.push({op:e,path:[],value:r===a?void 0:r}),o.push({op:e,path:[],value:t})},getPath:function e(t,r=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,s=(n=I(e,t.key_),k(n)?n?.[i]:null),a=I(e,t.key_);if(void 0===a)return null;if(a!==t.draft_&&a!==t.base_&&a!==t.copy_)return null;if(null!=s&&s.base_!==t.base_)return null;const o=3===t.parent_.type_;let u;if(u=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>u||A(e,u)))return null;r.push(u)}var n;if(t.parent_)return e(t.parent_,r);r.reverse();try{!function(e,t){let r=e;for(let e=0;e<t.length-1;e++)if(r=I(r,t[e]),!k(r)||null===r)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,r)}catch(e){return null}return r}})}();const D=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(s.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(r,{reducerPath:d,endpoints:{},internalActions:{onOnline:at,onOffline:ot,onFocus:nt,onFocusLost:st},util:{}});const q=function({serializeQueryArgs:e,reducerPath:t,createSelector:r}){const n=e=>Mt,s=e=>Dt;return{buildQuerySelector:function(e,t){return c(e,t,a)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:r}=t;return c(e,t,function(e){const t={...e,...qe(e.status)},{isLoading:n,isError:s,direction:a}=t,o="forward"===a,i="backward"===a;return{...t,hasNextPage:(u=r,c=t.data,l=t.originalArgs,!!c&&null!=wt(u,c,l)),hasPreviousPage:d(r,t.data,t.originalArgs),isFetchingNextPage:n&&o,isFetchingPreviousPage:n&&i,isFetchNextPageError:s&&o,isFetchPreviousPageError:s&&i};var u,c,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Ot(e)??Pt:e,r(t===Pt?s:e=>o(e)?.mutations?.[t]??Dt,a)}},selectInvalidatedBy:function(e,r){const n=e[t],s=new Set,a=Qe(r,Fe,gt);for(const e of a){const t=n.provided.tags[e.type];if(!t)continue;let r=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of r)s.add(e)}return Array.from(s.values()).flatMap(e=>{const t=n.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return Qe(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==Pe,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:u,selectConfig:function(e){return o(e)?.config}};function a(e){return{...e,...qe(e.status)}}function o(e){const r=e[t];if("production"!==process.env.NODE_ENV&&!r){if(o.triggered)return r;o.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return r}function i(e){return o(e)?.queries}function u(e,t){return i(e)?.[t]}function c(t,s,a){return o=>{if(o===Pt)return r(n,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return r(e=>u(e,i)??Mt,a)}}function d(e,t,r){return!(!t||!e.getPreviousPageParam)&&null!=At(e,t,r)}}({serializeQueryArgs:h,reducerPath:d,createSelector:t}),{selectInvalidatedBy:U,selectCachedArgsForQuery:L,buildQuerySelector:Q,buildInfiniteQuerySelector:F,buildMutationSelector:$}=q;Qt(r.util,{selectInvalidatedBy:U,selectCachedArgsForQuery:L});const{queryThunk:z,infiniteQueryThunk:G,mutationThunk:K,patchQueryData:B,updateQueryData:V,upsertQueryData:W,prefetch:Y,buildMatchThunkActions:J}=function({reducerPath:t,baseQuery:r,context:{endpointDefinitions:n},serializeQueryArgs:s,api:a,assertTagType:o,selectors:i,onSchemaFailure:u,catchSchemaFailure:c,skipSchemaValidation:d}){function l(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}function p(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}const f=(e,t)=>e.query&&e[t]?e[t]:Et,h=async(e,{signal:t,abort:s,rejectWithValue:a,fulfillWithValue:o,dispatch:h,getState:m,extra:y})=>{const S=n[e.endpointName],{metaSchema:T,skipSchemaValidation:v=d}=S,_=e.type===ut;try{let E=Et;const b={signal:t,abort:s,dispatch:h,getState:m,extra:y,endpoint:e.endpointName,type:e.type,forced:_?g(e,m()):void 0,queryCacheKey:_?e.queryCacheKey:void 0},w=_?e[yt]:void 0;let A;const I=async(t,r,n,s)=>{if(null==r&&t.pages.length)return Promise.resolve({data:t});const a={queryArg:e.originalArgs,pageParam:r},o=await R(a),i=s?l:p;return{data:{pages:i(t.pages,o.data,n),pageParams:i(t.pageParams,r,n)},meta:o.meta}};async function R(t){let n;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=S;if(a&&!vt(v,"arg")&&(t=await _t(a,t,"argSchema",{})),w?n=w():S.query?(E=f(S,"transformResponse"),n=await r(S.query(t),b,s)):n=await S.queryFn(t,b,s,e=>r(e,b,s)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=S.query?"`baseQuery`":"`queryFn`";let r;if(n){if("object"!=typeof n)r=`${t} did not return an object.`;else if(n.error&&n.data)r=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===n.error&&void 0===n.data)r=`${t} returned an object containing neither a valid \`error\` and \`result\`. At least one of them should not be \`undefined\``;else for(const e of Object.keys(n))if("error"!==e&&"data"!==e&&"meta"!==e){r=`The object returned by ${t} has the unknown property ${e}.`;break}}else r=`${t} did not return anything.`;r&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${r}\n It needs to return an object with either the shape \`{ data: <value> }\` or \`{ error: <value> }\` that may contain an optional \`meta\` property.\n Object returned was:`,n)}if(n.error)throw new Ye(n.error,n.meta);let{data:u}=n;o&&!vt(v,"rawResponse")&&(u=await _t(o,n.data,"rawResponseSchema",n.meta));let c=await E(u,n.meta,t);return i&&!vt(v,"response")&&(c=await _t(i,c,"responseSchema",n.meta)),{...n,data:c}}if(_&&"infiniteQueryOptions"in S){const{infiniteQueryOptions:x}=S,{maxPages:O=1/0}=x,C=e.refetchCachedPages??x.refetchCachedPages??!0;let k;const P={pages:[],pageParams:[]},N=i.selectQueryEntry(m(),e.queryCacheKey)?.data,M=g(e,m())&&!e.direction||!N?P:N;if("direction"in e&&e.direction&&M.pages.length){const D="backward"===e.direction,q=(D?At:wt)(x,M,e.originalArgs);k=await I(M,q,O,D)}else{const{initialPageParam:U=x.initialPageParam}=e,L=N?.pageParams??[],Q=L[0]??U,F=L.length;if(k=await I(M,Q,O),w&&(k={data:k.data.pages[0]}),C)for(let j=1;j<F;j++){const $=wt(x,k.data,e.originalArgs);k=await I(k.data,$,O)}}A=k}else A=await R(e.originalArgs);return T&&!vt(v,"meta")&&A.meta&&(A.meta=await _t(T,A.meta,"metaSchema",A.meta)),o(A.data,bt({fulfilledTimeStamp:Date.now(),baseQueryMeta:A.meta}))}catch(H){let z=H;if(z instanceof Ye){let G=f(S,"transformErrorResponse");const{rawErrorResponseSchema:K,errorResponseSchema:B}=S;let{value:V,meta:W}=z;try{K&&!vt(v,"rawErrorResponse")&&(V=await _t(K,V,"rawErrorResponseSchema",W)),T&&!vt(v,"meta")&&(W=await _t(T,W,"metaSchema",W));let Y=await G(V,W,e.originalArgs);return B&&!vt(v,"errorResponse")&&(Y=await _t(B,Y,"errorResponseSchema",W)),a(Y,bt({baseQueryMeta:W}))}catch(J){z=J}}try{if(z instanceof Tt){const X={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:_?e.queryCacheKey:void 0};S.onSchemaFailure?.(z,X),u?.(z,X);const{catchSchemaFailure:Z=c}=S;if(Z)return a(Z(z,X),bt({baseQueryMeta:z._bqMeta}))}}catch(ee){z=ee}throw"undefined"!=typeof process&&"production"!==process.env.NODE_ENV?console.error(`An unhandled error occurred processing a request for the endpoint "${e.endpointName}".\nIn the case of an unhandled error, no tags will be "provided" or "invalidated".`,z):console.error(z),z}};function g(e,t){const r=i.selectQueryEntry(t,e.queryCacheKey),n=i.selectConfig(t).refetchOnMountOrArgChange,s=r?.fulfilledTimeStamp,a=e.forceRefetch??(e.subscribe&&n);return!!a&&(!0===a||(Number(new Date)-Number(s))/1e3>=a)}const m=()=>e.createAsyncThunk(`${t}/executeQuery`,h,{getPendingMeta({arg:e}){const t=n[e.endpointName];return bt({startedTimeStamp:Date.now(),...pt(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),s=i.selectQueryEntry(r,e.queryCacheKey),a=s?.fulfilledTimeStamp,o=e.originalArgs,u=s?.originalArgs,c=n[e.endpointName],d=e.direction;return!(!St(e)&&("pending"===s?.status||!g(e,r)&&(!lt(c)||!c?.forceRefetch?.({currentArg:o,previousArg:u,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),y=m(),S=m();function v(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:y,mutationThunk:e.createAsyncThunk(`${t}/executeMutation`,h,{getPendingMeta:()=>bt({startedTimeStamp:Date.now()})}),infiniteQueryThunk:S,prefetch:(e,t,r={})=>(n,s)=>{const o=(e=>"force"in e)(r)&&r.force,i=(e=>"ifOlderThan"in e)(r)&&r.ifOlderThan,u=(r=!0)=>a.endpoints[e].initiate(t,{forceRefetch:r,subscribe:!1}),c=a.endpoints[e].select(t)(s());if(o)n(u());else if(i){const e=c?.fulfilledTimeStamp;if(!e)return void n(u());(Number(new Date)-Number(new Date(e)))/1e3>=i&&n(u())}else n(u(!1))},updateQueryData:(e,t,r,n=!0)=>(s,o)=>{const i=a.endpoints[e].select(t)(o()),u={patches:[],inversePatches:[],undo:()=>s(a.util.patchQueryData(e,t,u.inversePatches,n))};if(i.status===Pe)return u;let c;if("data"in i)if(T(i.data)){const[e,t,n]=ye(i.data,r);u.patches.push(...t),u.inversePatches.push(...n),c=e}else c=r(i.data),u.patches.push({op:"replace",path:[],value:c}),u.inversePatches.push({op:"replace",path:[],value:i.data});return 0===u.patches.length||s(a.util.patchQueryData(e,t,u.patches,n)),u},upsertQueryData:(e,t,r)=>n=>n(a.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[yt]:()=>({data:r})})),patchQueryData:(e,t,r,i)=>(u,c)=>{const d=n[e],l=s({queryArgs:t,endpointDefinition:d,endpointName:e});if(u(a.internalActions.queryResultPatched({queryCacheKey:l,patches:r})),!i)return;const p=a.endpoints[e].select(t)(c()),f=ht(d.providesTags,p.data,void 0,t,{},o);u(a.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(t,r){return{matchPending:e.isAllOf(e.isPending(t),v(r)),matchFulfilled:e.isAllOf(e.isFulfilled(t),v(r)),matchRejected:e.isAllOf(e.isRejected(t),v(r))}}}}({baseQuery:n,reducerPath:d,context:M,api:r,serializeQueryArgs:h,assertTagType:D,selectors:q,onSchemaFailure:E,catchSchemaFailure:R,skipSchemaValidation:N}),{reducer:X,actions:Z}=function({reducerPath:t,queryThunk:r,mutationThunk:n,serializeQueryArgs:s,context:{endpointDefinitions:a,apiUid:o,extractRehydrationInfo:u,hasRehydrationInfo:d},assertTagType:l,config:p}){const f=e.createAction(`${t}/resetApiState`);function h(e,t,r,n){e[t.queryCacheKey]??={status:Pe,endpointName:t.endpointName},xt(e,t.queryCacheKey,e=>{e.status=Ne,e.requestId=r&&e.requestId?e.requestId:n.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=n.startedTimeStamp,pt(a[n.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function g(t,r,n,s){xt(t,r.arg.queryCacheKey,t=>{if(t.requestId!==r.requestId&&!s)return;const{merge:o}=a[r.arg.endpointName];if(t.status=Me,o)if(void 0!==t.data){const{fulfilledTimeStamp:s,arg:a,baseQueryMeta:i,requestId:u}=r;let c=e.createNextState(t.data,e=>o(e,n,{arg:a.originalArgs,baseQueryMeta:i,fulfilledTimeStamp:s,requestId:u}));t.data=c}else t.data=n;else t.data=a[r.arg.endpointName].structuralSharing??1?Le(S(t.data)?(S(u=t.data)||c(15,u),u[i].base_):t.data,n):n;var u;delete t.error,t.fulfilledTimeStamp=r.fulfilledTimeStamp})}const m=e.createSlice({name:`${t}/queries`,initialState:kt,reducers:{removeQueryResult:{reducer(e,{payload:{queryCacheKey:t}}){delete e[t]},prepare:e.prepareAutoBatched()},cacheEntriesUpserted:{reducer(e,t){for(const r of t.payload){const{queryDescription:n,value:s}=r;h(e,n,!0,{arg:n,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),g(e,{arg:n,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},s,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:r,value:n}=e;return{queryDescription:{type:ut,endpointName:t,originalArgs:e.arg,queryCacheKey:s({queryArgs:r,endpointDefinition:a[t],endpointName:t})},value:n}}),meta:{[e.SHOULD_AUTOBATCH]:!0,requestId:e.nanoid(),timestamp:Date.now()}})},queryResultPatched:{reducer(e,{payload:{queryCacheKey:t,patches:r}}){xt(e,t,e=>{e.data=Se(e.data,r.concat())})},prepare:e.prepareAutoBatched()}},extraReducers(e){e.addCase(r.pending,(e,{meta:t,meta:{arg:r}})=>{h(e,r,St(r),t)}).addCase(r.fulfilled,(e,{meta:t,payload:r})=>{g(e,t,r,St(t.arg))}).addCase(r.rejected,(e,{meta:{condition:t,arg:r,requestId:n},error:s,payload:a})=>{xt(e,r.queryCacheKey,e=>{if(t);else{if(e.requestId!==n)return;e.status=De,e.error=a??s}})}).addMatcher(d,(e,t)=>{const{queries:r}=u(t);for(const[t,n]of Object.entries(r))n?.status!==Me&&n?.status!==De||(e[t]=n)})}}),y=e.createSlice({name:`${t}/mutations`,initialState:kt,reducers:{removeMutationResult:{reducer(e,{payload:t}){const r=Ot(t);r in e&&delete e[r]},prepare:e.prepareAutoBatched()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{requestId:r,arg:n,startedTimeStamp:s}})=>{n.track&&(e[Ot(t)]={requestId:r,status:Ne,endpointName:n.endpointName,startedTimeStamp:s})}).addCase(n.fulfilled,(e,{payload:t,meta:r})=>{r.arg.track&&Ct(e,r,e=>{e.requestId===r.requestId&&(e.status=Me,e.data=t,e.fulfilledTimeStamp=r.fulfilledTimeStamp)})}).addCase(n.rejected,(e,{payload:t,error:r,meta:n})=>{n.arg.track&&Ct(e,n,e=>{e.requestId===n.requestId&&(e.status=De,e.error=t??r)})}).addMatcher(d,(e,t)=>{const{mutations:r}=u(t);for(const[t,n]of Object.entries(r))n?.status!==Me&&n?.status!==De||t===n?.requestId||(e[t]=n)})}}),T=e.createSlice({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:r,providedTags:n}of t.payload){v(e,r);for(const{type:t,id:s}of n){const n=(e.tags[t]??={})[s||"__internal_without_id"]??=[];n.includes(r)||n.push(r)}e.keys[r]=n}},prepare:e.prepareAutoBatched()}},extraReducers(t){t.addCase(m.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{v(e,t)}).addMatcher(d,(e,t)=>{const{provided:r}=u(t);for(const[t,n]of Object.entries(r.tags??{}))for(const[s,a]of Object.entries(n)){const n=(e.tags[t]??={})[s||"__internal_without_id"]??=[];for(const t of a)n.includes(t)||n.push(t),e.keys[t]=r.keys[t]}}).addMatcher(e.isAnyOf(e.isFulfilled(r),e.isRejectedWithValue(r)),(e,t)=>{_(e,[t])}).addMatcher(m.actions.cacheEntriesUpserted.match,(e,t)=>{_(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function v(e,t){const r=Rt(e.keys[t]??[]);for(const n of r){const r=n.type,s=n.id??"__internal_without_id",a=e.tags[r]?.[s];a&&(e.tags[r][s]=Rt(a).filter(e=>e!==t))}delete e.keys[t]}function _(e,t){const r=t.map(e=>{const t=It(e,"providesTags",a,l),{queryCacheKey:r}=e.meta.arg;return{queryCacheKey:r,providedTags:t}});T.caseReducers.updateProvidedBy(e,T.actions.updateProvidedBy(r))}const E=e.createSlice({name:`${t}/subscriptions`,initialState:kt,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),b=e.createSlice({name:`${t}/internalSubscriptions`,initialState:kt,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Se(e,t.payload),prepare:e.prepareAutoBatched()}}}),w=e.createSlice({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,...p},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&o===t||"conflict"}},extraReducers:e=>{e.addCase(at,e=>{e.online=!0}).addCase(ot,e=>{e.online=!1}).addCase(nt,e=>{e.focused=!0}).addCase(st,e=>{e.focused=!1}).addMatcher(d,e=>({...e}))}}),A=e.combineReducers({queries:m.reducer,mutations:y.reducer,provided:T.reducer,subscriptions:b.reducer,config:w.reducer});return{reducer:(e,t)=>A(f.match(t)?void 0:e,t),actions:{...w.actions,...m.actions,...E.actions,...b.actions,...y.actions,...T.actions,resetApiState:f}}}({context:M,queryThunk:z,mutationThunk:K,serializeQueryArgs:h,reducerPath:d,assertTagType:D,config:{refetchOnFocus:y,refetchOnReconnect:v,refetchOnMountOrArgChange:m,keepUnusedDataFor:g,reducerPath:d,invalidationBehavior:_}});Qt(r.util,{patchQueryData:B,updateQueryData:V,upsertQueryData:W,prefetch:Y,resetApiState:Z.resetApiState,upsertQueryEntries:Z.cacheEntriesUpserted}),Qt(r.internalActions,Z);const ee=new WeakMap,te=e=>$e(ee,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:re,buildInitiateInfiniteQuery:ne,buildInitiateMutation:se,getRunningMutationThunk:ae,getRunningMutationsThunk:oe,getRunningQueriesThunk:ie,getRunningQueryThunk:ue}=function({serializeQueryArgs:t,queryThunk:r,infiniteQueryThunk:n,mutationThunk:s,api:a,context:o,getInternalState:i}){const u=e=>i(e)?.runningQueries,c=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=a.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:r=!0,fixedCacheKey:n}={})=>(a,o)=>{const i=s({type:"mutation",endpointName:e,originalArgs:t,track:r,fixedCacheKey:n}),u=a(i);f(a);const{requestId:d,abort:p,unwrap:h}=u,g=u.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(g,{arg:u.arg,requestId:d,abort:p,unwrap:h,reset:()=>{a(l({requestId:d,fixedCacheKey:n}))}}),y=c(a);return y.set(d,m),m.then(()=>{y.delete(d)}),n&&(y.set(n,m),m.then(()=>{y.get(n)===m&&y.delete(n)})),m}},getRunningQueryThunk:function(e,r){return n=>{const s=mt(o,e),a=t({queryArgs:r,endpointDefinition:s,endpointName:e});return u(n)?.get(a)}},getRunningMutationThunk:function(e,t){return e=>c(e)?.get(t)},getRunningQueriesThunk:function(){return e=>je(u(e))},getRunningMutationsThunk:function(){return e=>je(c(e))}};function f(t){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const r=t(a.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof r||"string"==typeof r?.type)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(34):`Warning: Middleware for RTK-Query API at reducerPath "${a.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(e,s){const o=(i,{subscribe:c=!0,forceRefetch:l,subscriptionOptions:h,[yt]:g,...m}={})=>(y,S)=>{const T=t({queryArgs:i,endpointDefinition:s,endpointName:e});let v;const _={...m,type:ut,subscribe:c,forceRefetch:l,subscriptionOptions:h,endpointName:e,originalArgs:i,queryCacheKey:T,[yt]:g};if(lt(s))v=r(_);else{const{direction:e,initialPageParam:t,refetchCachedPages:r}=m;v=n({..._,direction:e,initialPageParam:t,refetchCachedPages:r})}const E=a.endpoints[e].select(i),b=y(v),w=E(S());f(y);const{requestId:A,abort:I}=b,R=w.requestId!==A,x=u(y)?.get(T),O=()=>E(S()),C=Object.assign(g?b.then(O):R&&!x?Promise.resolve(w):Promise.all([x,b]).then(O),{arg:i,requestId:A,subscriptionOptions:h,queryCacheKey:T,abort:I,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){c&&y(d({queryCacheKey:T,requestId:A}))},updateSubscriptionOptions(t){C.subscriptionOptions=t,y(p({endpointName:e,requestId:A,queryCacheKey:T,options:t}))}});if(!x&&!R&&!g){const e=u(y);e.set(T,C),C.then(()=>{e.delete(T)})}return C};return o}}({queryThunk:z,mutationThunk:K,infiniteQueryThunk:G,api:r,serializeQueryArgs:h,context:M,getInternalState:te});Qt(r.util,{getRunningMutationThunk:ae,getRunningMutationsThunk:oe,getRunningQueryThunk:ue,getRunningQueriesThunk:ie});const{middleware:ce,actions:de}=function(t){const{reducerPath:r,api:n,context:s,getInternalState:a}=t,{apiUid:o}=s,i={invalidateTags:e.createAction(`${r}/invalidateTags`)},u=e=>e.type.startsWith(`${r}/`),c=[Ht,Ft,zt,Gt,$t,Kt];return{middleware:i=>{let l=!1;const p=a(i.dispatch),f={...t,internalState:p,refetchQuery:d,isThisApiSliceAction:u,mwApi:i},h=c.map(e=>e(f)),g=(({api:e,queryThunk:t,internalState:r})=>{const n=`${e.reducerPath}/subscriptions`;let s=null,a=null;const{updateSubscriptionOptions:o,unsubscribeQueryResult:i}=e.internalActions,u=()=>r.currentSubscriptions,c={getSubscriptions:u,getSubscriptionCount:e=>{const t=u().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const r=u();return!!r?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(u,l)=>{if(s||(s=d(r.currentSubscriptions)),e.util.resetApiState.match(u))return s={},r.currentSubscriptions.clear(),a=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(u))return[!1,c];const p=((r,n)=>{if(o.match(n)){const{queryCacheKey:e,requestId:t,options:s}=n.payload,a=r.get(e);return a?.has(t)&&a.set(t,s),!0}if(i.match(n)){const{queryCacheKey:e,requestId:t}=n.payload,s=r.get(e);return s&&s.delete(t),!0}if(e.internalActions.removeQueryResult.match(n))return r.delete(n.payload.queryCacheKey),!0;if(t.pending.match(n)){const{meta:{arg:e,requestId:t}}=n,s=$e(r,e.queryCacheKey,He);return e.subscribe&&s.set(t,e.subscriptionOptions??s.get(t)??{}),!0}let s=!1;if(t.rejected.match(n)){const{meta:{condition:e,arg:t,requestId:a}}=n;if(e&&t.subscribe){const e=$e(r,t.queryCacheKey,He);e.set(a,t.subscriptionOptions??e.get(a)??{}),s=!0}}return s})(r.currentSubscriptions,u);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof u.type&&u.type===`${e.reducerPath}/getPolling`)return[!1,r.currentPolls];if(p){a||(a=setTimeout(()=>{const t=d(r.currentSubscriptions),[,n]=ye(s,()=>t);l.next(e.internalActions.subscriptionsUpdated(n)),s=t,a=null},500));const o="string"==typeof u.type&&!!u.type.startsWith(n),i=t.rejected.match(u)&&u.meta.condition&&!!u.meta.arg.subscribe;f=!o&&!i}return[f,!1]}})(f),m=(({reducerPath:e,context:t,api:r,refetchQuery:n,internalState:s})=>{const{removeQueryResult:a}=r.internalActions;function o(r,o){const i=r.getState()[e],u=i.queries,c=s.currentSubscriptions;t.batch(()=>{for(const e of c.keys()){const t=u[e],s=c.get(e);if(!s||!t)continue;const d=[...s.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===s.size?r.dispatch(a({queryCacheKey:e})):t.status!==Pe&&r.dispatch(n(t)))}})}return(e,t)=>{nt.match(e)&&o(t,"refetchOnFocus"),at.match(e)&&o(t,"refetchOnReconnect")}})(f);return t=>a=>{if(!e.isAction(a))return t(a);l||(l=!0,i.dispatch(n.internalActions.middlewareRegistered(o)));const c={...i,next:t},d=i.getState(),[p,f]=g(a,c,d);let y;if(y=p?t(a):f,i.getState()[r]&&(m(a,c,d),u(a)||s.hasRehydrationInfo(a)))for(const e of h)e(a,c,d);return y}},actions:i};function d(e){return t.api.endpoints[e.endpointName].initiate(e.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:d,context:M,queryThunk:z,mutationThunk:K,infiniteQueryThunk:G,api:r,assertTagType:D,selectors:q,getRunningQueryThunk:ue,getInternalState:te});return Qt(r.util,de),Qt(r,{reducer:X,middleware:ce}),{name:Bt,injectEndpoint(e,t){const n=r,s=n.endpoints[e]??={};lt(t)&&Qt(s,{name:e,select:Q(e,t),initiate:re(e,t)},J(z,e)),t.type===ct&&Qt(s,{name:e,select:$(),initiate:se(e)},J(K,e)),pt(t)&&Qt(s,{name:e,select:F(e,t),initiate:ne(e,t)},J(z,e))}}}});function Wt(e){return e.replace(e[0],e[0].toUpperCase())}function Yt(e){let t=0;for(const r in e)t++;return t}function Jt(e){return"infinitequery"===e.type}function Xt(e,...t){return Object.assign(e,...t)}Vt();var Zt=Symbol();function er(e){const t=r.useRef(e),n=r.useMemo(()=>Le(t.current,e),[e]);return r.useEffect(()=>{t.current!==n&&(t.current=n)},[n]),n}function tr(e){const n=r.useRef(e);return r.useEffect(()=>{t.shallowEqual(n.current,e)||(n.current=e)},[e]),t.shallowEqual(n.current,e)?n.current:e}var rr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),nr=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),sr=(()=>rr||nr?r.useLayoutEffect:r.useEffect)(),ar=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:ke.pending}:e;function or(e,...t){const r={};return t.forEach(t=>{r[t]=e[t]}),r}var ir=["data","status","isLoading","isSuccess","isError","error"],ur=Symbol(),cr=Lt(Vt(),(({batch:n=t.batch,hooks:s={useDispatch:t.useDispatch,useSelector:t.useSelector,useStore:t.useStore},createSelector:a=Oe,unstable__sideEffectsInRender:o=!1,...i}={})=>{if("production"!==process.env.NODE_ENV){const t=["useDispatch","useSelector","useStore"];let r=!1;for(const n of t)if(Yt(i)>0&&(i[n]&&(r||(console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`"),r=!0)),s[n]=i[n]),"function"!=typeof s[n])throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(36):`When using custom hooks for context, all ${t.length} hooks need to be provided: ${t.join(", ")}.\nHook ${n} was either not provided or not a function.`)}return{name:ur,init(i,{serializeQueryArgs:u},c){const d=i,{buildQueryHooks:l,buildInfiniteQueryHooks:p,buildMutationHook:f,usePrefetch:h}=function({api:n,moduleOptions:{batch:s,hooks:{useDispatch:a,useSelector:o,useStore:i},unstable__sideEffectsInRender:u,createSelector:c},serializeQueryArgs:d,context:l}){const p=u?e=>e():r.useEffect,f=e=>e.current?.unsubscribe?.(),h=l.endpointDefinitions;return{buildQueryHooks:function(t){const o=(n,s={})=>{const[a]=y(t,n,s);return T(a),r.useMemo(()=>({refetch:()=>function(t){if(!t.current)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(38):"Cannot refetch a query that has not been started yet.");return t.current.refetch()}(a)}),[a])},i=({refetchOnReconnect:e,refetchOnFocus:o,pollingInterval:i=0,skipPollingIfUnfocused:u=!1}={})=>{const{initiate:c}=n.endpoints[t],d=a(),[l,h]=r.useState(Zt),g=r.useRef(void 0),m=tr({refetchOnReconnect:e,refetchOnFocus:o,pollingInterval:i,skipPollingIfUnfocused:u});p(()=>{const e=g.current?.subscriptionOptions;m!==e&&g.current?.updateSubscriptionOptions(m)},[m]);const y=r.useRef(m);p(()=>{y.current=m},[m]);const S=r.useCallback(function(e,t=!1){let r;return s(()=>{f(g),g.current=r=d(c(e,{subscriptionOptions:y.current,forceRefetch:!t})),h(e)}),r},[d,c]),T=r.useCallback(()=>{g.current?.queryCacheKey&&d(n.internalActions.removeQueryResult({queryCacheKey:g.current?.queryCacheKey}))},[d]);return r.useEffect(()=>()=>{f(g)},[]),r.useEffect(()=>{l===Zt||g.current||S(l,!0)},[l,S]),r.useMemo(()=>[S,l,{reset:T}],[S,l,T])},u=S(t,g);return{useQueryState:u,useQuerySubscription:o,useLazyQuerySubscription:i,useLazyQuery(e){const[t,n,{reset:s}]=i(e),a=u(n,{...e,skip:n===Zt}),o=r.useMemo(()=>({lastArg:n}),[n]);return r.useMemo(()=>[t,{...a,reset:s},o],[t,a,s,o])},useQuery(e,t){const n=o(e,t),s=u(e,{selectFromResult:e===Pt||t?.skip?void 0:ar,...t}),a=or(s,...ir);return r.useDebugValue(a),r.useMemo(()=>({...s,...n}),[s,n])}}},buildInfiniteQueryHooks:function(t){const n=(n,a={})=>{const[o,i,u,c]=y(t,n,a),d=r.useRef(c);p(()=>{d.current=c},[c]);const l=tr(a.refetchCachedPages),h=r.useCallback(function(e,t){let r;return s(()=>{f(o),o.current=r=i(u(e,{subscriptionOptions:d.current,direction:t}))}),r},[o,i,u]);T(o);const g=er(a.skip?Pt:n),m=r.useCallback(t=>{if(!o.current)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(38):"Cannot refetch a query that has not been started yet.");return o.current.refetch({refetchCachedPages:t?.refetchCachedPages??l})},[o,l]);return r.useMemo(()=>({trigger:h,refetch:m,fetchNextPage:()=>h(g,"forward"),fetchPreviousPage:()=>h(g,"backward")}),[m,h,g])},a=S(t,m);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:n,useInfiniteQuery(e,t){const{refetch:s,fetchNextPage:o,fetchPreviousPage:i}=n(e,t),u=a(e,{selectFromResult:e===Pt||t?.skip?void 0:ar,...t}),c=or(u,...ir,"hasNextPage","hasPreviousPage");return r.useDebugValue(c),r.useMemo(()=>({...u,fetchNextPage:o,fetchPreviousPage:i,refetch:s}),[u,o,i,s])}}},buildMutationHook:function(e){return({selectFromResult:i,fixedCacheKey:u}={})=>{const{select:d,initiate:l}=n.endpoints[e],p=a(),[f,h]=r.useState();r.useEffect(()=>()=>{f?.arg.fixedCacheKey||f?.reset()},[f]);const g=r.useCallback(function(e){const t=p(l(e,{fixedCacheKey:u}));return h(t),t},[p,l,u]),{requestId:m}=f||{},y=r.useMemo(()=>d({fixedCacheKey:u,requestId:f?.requestId}),[u,f,d]),S=r.useMemo(()=>i?c([y],i):y,[i,y]),T=o(S,t.shallowEqual),v=null==u?f?.arg.originalArgs:void 0,_=r.useCallback(()=>{s(()=>{f&&h(void 0),u&&p(n.internalActions.removeMutationResult({requestId:m,fixedCacheKey:u}))})},[p,u,f,m]),E=or(T,...ir,"endpointName");r.useDebugValue(E);const b=r.useMemo(()=>({...T,originalArgs:v,reset:_}),[T,v,_]);return r.useMemo(()=>[g,b],[g,b])}},usePrefetch:function(e,t){const s=a(),o=tr(t);return r.useCallback((t,r)=>s(n.util.prefetch(e,t,{...o,...r})),[e,s,o])}};function g(e,t,r){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,n=h[e];r!==Pt&&d({queryArgs:t.originalArgs,endpointDefinition:n,endpointName:e})===d({queryArgs:r,endpointDefinition:n,endpointName:e})&&(t=void 0)}let n=e.isSuccess?e.data:t?.data;void 0===n&&(n=e.data);const s=void 0!==n,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||s&&(a&&!t?.isError||e.isUninitialized);return{...e,data:n,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function m(e,t,r){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,n=h[e];r!==Pt&&d({queryArgs:t.originalArgs,endpointDefinition:n,endpointName:e})===d({queryArgs:r,endpointDefinition:n,endpointName:e})&&(t=void 0)}let n=e.isSuccess?e.data:t?.data;void 0===n&&(n=e.data);const s=void 0!==n,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||a&&s;return{...e,data:n,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function y(t,s,{refetchOnReconnect:o,refetchOnFocus:i,refetchOnMountOrArgChange:u,skip:c=!1,pollingInterval:d=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:g}=n.endpoints[t],m=a(),y=r.useRef(void 0);if(!y.current){const t=m(n.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof t||"string"==typeof t?.type))throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(37):`Warning: Middleware for RTK-Query API at reducerPath "${n.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);y.current=t}const S=er(c?Pt:s),T=tr({refetchOnReconnect:o,refetchOnFocus:i,pollingInterval:d,skipPollingIfUnfocused:l}),v=tr(f.initialPageParam),_=tr(f.refetchCachedPages),E=r.useRef(void 0);let{queryCacheKey:b,requestId:w}=E.current||{},A=!1;b&&w&&(A=y.current.isRequestSubscribed(b,w));const I=!A&&void 0!==E.current;return p(()=>{I&&(E.current=void 0)},[I]),p(()=>{const e=E.current;if("undefined"!=typeof process&&process,S===Pt)return e?.unsubscribe(),void(E.current=void 0);const r=E.current?.subscriptionOptions;if(e&&e.arg===S)T!==r&&e.updateSubscriptionOptions(T);else{e?.unsubscribe();const r=m(g(S,{subscriptionOptions:T,forceRefetch:u,...Jt(h[t])?{initialPageParam:v,refetchCachedPages:_}:{}}));E.current=r}},[m,g,u,S,T,I,v,_,t]),[E,m,g,T]}function S(e,s){return(a,{skip:u=!1,selectFromResult:d}={})=>{const{select:l}=n.endpoints[e],p=er(u?Pt:a),f=r.useRef(void 0),h=r.useMemo(()=>c([l(p),(e,t)=>t,e=>p],s,{memoizeOptions:{resultEqualityCheck:t.shallowEqual}}),[l,p]),g=r.useMemo(()=>d?c([h],d,{devModeChecks:{identityFunctionCheck:"never"}}):h,[h,d]),m=o(e=>g(e,f.current),t.shallowEqual),y=i(),S=h(y.getState(),f.current);return sr(()=>{f.current=S},[S]),m}}function T(e){r.useEffect(()=>()=>{f(e),e.current=void 0},[e])}}({api:i,moduleOptions:{batch:n,hooks:s,unstable__sideEffectsInRender:o,createSelector:a},serializeQueryArgs:u,context:c});return Xt(d,{usePrefetch:h}),Xt(c,{batch:n}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:r,useLazyQuerySubscription:n,useQueryState:s,useQuerySubscription:a}=l(e);Xt(d.endpoints[e],{useQuery:t,useLazyQuery:r,useLazyQuerySubscription:n,useQueryState:s,useQuerySubscription:a}),i[`use${Wt(e)}Query`]=t,i[`useLazy${Wt(e)}Query`]=r}if("mutation"===t.type){const t=f(e);Xt(d.endpoints[e],{useMutation:t}),i[`use${Wt(e)}Mutation`]=t}else if(Jt(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:r,useInfiniteQueryState:n}=p(e);Xt(d.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:r,useInfiniteQueryState:n}),i[`use${Wt(e)}InfiniteQuery`]=t}}}}}})());let dr=0;function lr(e){return null!==e&&"object"==typeof e}function pr(e){return lr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const fr="Something went wrong. Please try again.";function hr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function gr(e){if(!lr(e))return null;const t=e.data;return lr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}const mr={NETWORK_ERROR:"NETWORK_ERROR",TIMEOUT:"TIMEOUT",PARSE_ERROR:"PARSE_ERROR",TOKEN_EXPIRED:"TOKEN_EXPIRED",TOKEN_REFRESH_FAILED:"TOKEN_REFRESH_FAILED",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",NOT_FOUND:"NOT_FOUND",VALIDATION_ERROR:"VALIDATION_ERROR",SERVER_ERROR:"SERVER_ERROR",UNKNOWN:"UNKNOWN"};let yr=null;const Sr=function(e){const{name:t,innerBaseQuery:r,requestInterceptors:n,responseInterceptors:s,defaultOptions:a}=e;return async(e,o,i)=>{let u,c;if("string"==typeof e)u={url:e};else{const{_bridge:t,...r}=e;u=r,c=t}const d={...i,bridge:{...a,...i?.bridge,...c}},l={bridgeName:t,requestId:(p=t,dr+=1,`${p}-${dr}`),startTime:Date.now(),api:o,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of n)t=await e(t,l);return r(t,o,d)};let h=await f(u);for(const e of s)h=await e(h,u,l,f);return h}}({name:"apiBridge",innerBaseQuery:async(t,r,n)=>function({baseUrl:t,prepareHeaders:r=e=>e,fetchFn:n=Ke,paramsSerializer:s,isJsonContentType:a=Ve,jsonContentType:o="application/json",jsonReplacer:i,timeout:u,responseHandler:c,validateStatus:d,...l}={}){return"undefined"==typeof fetch&&n===Ke&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(f,h,g)=>{const{getState:m,extra:y,endpoint:S,forced:T,type:v}=h;let _,{url:E,headers:b=new Headers(l.headers),params:w,responseHandler:A=c??"json",validateStatus:I=d??Be,timeout:R=u,...x}="string"==typeof f?{url:f}:f,O={...l,signal:R?Ge(h.signal,ze(R)):h.signal,...x};b=new Headers(We(b)),O.headers=await r(b,{getState:m,arg:f,extra:y,endpoint:S,forced:T,type:v,extraOptions:g})||b;const C="object"==typeof(k=O.body)&&(e.isPlainObject(k)||Array.isArray(k)||"function"==typeof k.toJSON);var k;if(null==O.body||C||"string"==typeof O.body||O.headers.delete("content-type"),!O.headers.has("content-type")&&C&&O.headers.set("content-type",o),C&&a(O.headers)&&(O.body=JSON.stringify(O.body,i)),O.headers.has("accept")||("json"===A?O.headers.set("accept","application/json"):"text"===A&&O.headers.set("accept","text/plain, text/html, */*")),w){const e=~E.indexOf("?")?"&":"?";E+=e+(s?s(w):new URLSearchParams(We(w)))}E=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const r=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${r}${t=(e=>e.replace(/^\//,""))(t)}`}(t,E);const P=new Request(E,O);let N;_={request:new Request(E,O)};try{N=await n(P)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:_}}const M=N.clone();let D;_.response=M;let q="";try{let e;if(await Promise.all([p(N,A).then(e=>D=e,t=>e=t),M.text().then(e=>q=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:N.status,data:q,error:String(e)},meta:_}}return I(N,D)?{data:D,meta:_}:{error:{status:N.status,data:D},meta:_}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=a(e.headers)?"json":"text"),"json"===t){const t=await e.text();return t.length?JSON.parse(t):null}return e.text()}}({baseUrl:"",prepareHeaders:e=>(e.has("Content-Type")||e.set("Content-Type","application/json"),e.has("Accept")||e.set("Accept","application/json"),e)})(t,r,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const r=t.api.getState(),n=r.auth?.accessToken;return n?{...e,headers:{...e.headers,Authorization:`Bearer ${n}`}}:e},(e,t)=>{const r=n.getCustomHeaders(),s=t.extraOptions.bridge?.customHeaders,a=Object.keys(r).length>0,o=!!s&&Object.keys(s).length>0;return a||o?{...e,headers:{...e.headers,...r,...s??{}}}:e},(e,t)=>{if(!n.isDevMode()||t.extraOptions.bridge?.skipLogging)return e;const r=(e.method||"GET").toUpperCase(),s=e.url||"";return n.logger.debug({message:`${t.bridgeName} ${r} ${s}`,api_name:t.api.endpoint,request_id:t.requestId,method:r,url:s}),e}],responseInterceptors:[async(e,t,r,s)=>{if(r.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=r.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!n.getTokenRefreshHandler())return r.api.dispatch(n.clearSession()),e;try{const e=await async function(){return yr||(yr=async function(){const e=n.getTokenRefreshHandler();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{yr=null}),yr)}();if(e){const a=r.api.getState().auth?.accessToken;return a!==e.accessToken&&r.api.dispatch(n.setSession({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),s(t)}n.logger.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),r.api.dispatch(n.clearSession())}catch{n.logger.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),r.api.dispatch(n.clearSession())}return e},async(e,t,r)=>{if(!e.error)return e;const n=(s=e.error,a={url:t.url,method:t.method||"GET",timestamp:r.startTime,duration:Date.now()-r.startTime,requestId:r.requestId,bridgeName:r.bridgeName},s&&"object"==typeof s&&"status"in s?function(e,t){const r="PARSING_ERROR"===e.status,n=r?e.originalStatus:void 0,s="number"==typeof n&&n>=400?n:e.status;let a,o="Request failed",i=mr.UNKNOWN;if("data"in e)if(a=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=pr(t)??pr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!r&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===s?i=mr.UNAUTHORIZED:403===s?i=mr.FORBIDDEN:404===s?i=mr.NOT_FOUND:422===s?i=mr.VALIDATION_ERROR:"FETCH_ERROR"===s?i=mr.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=mr.TIMEOUT:"PARSING_ERROR"===s?i=mr.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=mr.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=fr),{status:s,message:o,data:a,code:i,meta:{timestamp:Date.now(),...t}}}(s,a):s instanceof Error?{status:"FETCH_ERROR",message:s.message||"An unexpected error occurred",code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}});var s,a;return{...e,error:{...e.error,...n}}},async(e,t,r)=>{if(!e.error||r.extraOptions.bridge?.skipErrorToast)return e;const{status:s}=e.error;return"FETCH_ERROR"===s?(n.showErrorToast("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===s?(n.showErrorToast("Request timed out. Please try again."),e):"number"==typeof s&&s>=500?(n.showErrorToast(fr),e):e},async(e,t,r,n)=>{if(!e.error)return e;const{status:s}=e.error;if("FETCH_ERROR"!==s&&"TIMEOUT_ERROR"!==s)return e;const a=r.extraOptions.bridge?.retry,o=a?.maxRetries??1,i=a?.backoffMs??1e3,u=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(u>=o)return e;const c=i*Math.pow(2,u);return await new Promise(e=>setTimeout(e,c)),n({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(u+1)}})},async(e,t,r)=>{const s=r.extraOptions.bridge?.skipLogging,a=Date.now()-r.startTime,o=(t.method||"GET").toUpperCase(),i=t.url||"",u=e.meta?.response,c=e.error?e.error.status:u?.status??"OK",d=u?.headers?.get?.("x-request-id")??void 0;return e.error?n.logger.error({message:`${r.bridgeName} ${o} ${i} failed (${c})`,api_name:r.api.endpoint,request_id:d??r.requestId,method:o,url:i,status:c,duration:a,error_data:e.error.data}):n.isDevMode()&&!s&&n.logger.debug({message:`${r.bridgeName} ${o} ${i} ${c} ${a}ms`,api_name:r.api.endpoint,request_id:d??r.requestId,method:o,url:i,status:c,duration:a}),e}]});function Tr(){return n.readAccessToken()}let vr=0;async function _r(e){const{url:t,method:r="GET",body:s,headers:a={},skipAuth:o=!1,skipLogging:i=!1,skipContentType:u=!1,responseHandler:c="json",signal:d,keepalive:l}=e;vr+=1;const p=`fetch-${vr}`,f=Date.now(),h=r.toUpperCase(),g={...a};if(Object.assign(g,n.getCustomHeaders()),!o){const e=Tr();e&&(g.Authorization=`Bearer ${e}`)}let m;u||g["Content-Type"]||(g["Content-Type"]="application/json"),g.Accept||(g.Accept="application/json"),m=null==s?void 0:"string"==typeof s||s instanceof FormData||s instanceof Blob||s instanceof ArrayBuffer?s:JSON.stringify(s),n.isDevMode()&&!i&&n.logger.debug({message:`bridgedFetch ${h} ${t}`,api_name:"bridgedFetch",request_id:p,method:h,url:t});try{const e=await fetch(t,{method:r,headers:g,body:m,signal:d,keepalive:l}),s=Date.now()-f;if(!e.ok){let r;try{r=await e.json()}catch{try{r=await e.text()}catch{r=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return i||n.logger.error({message:`bridgedFetch ${h} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??p,method:h,url:t,status:e.status,duration:s,error_data:r}),{error:{status:e.status,data:r},response:e}}let a;if("blob"===c)a=await e.blob();else if("text"===c)a=await e.text();else{const t=await e.text();a=t?JSON.parse(t):void 0}if(n.isDevMode()&&!i){const r=e.headers.get("x-request-id")??void 0;n.logger.debug({message:`bridgedFetch ${h} ${t} ${e.status} ${s}ms`,api_name:"bridgedFetch",request_id:r??p,method:h,url:t,status:e.status,duration:s})}return{data:a,response:e}}catch(e){const r=Date.now()-f;return i||n.logger.error({message:`bridgedFetch ${h} ${t} network error`,api_name:"bridgedFetch",request_id:p,method:h,url:t,status:"FETCH_ERROR",duration:r,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Er=cr({reducerPath:"chatApi",baseQuery:Sr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:r})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==r&&{limit:r}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const r=new FormData;r.append("file",t);const{data:s,error:a}=await _r({url:n.API_ENDPOINTS.CONVERSATION_TRANSCRIBE(e),method:"POST",body:r,skipContentType:!0});return a?{error:a}:{data:s}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:r,conversationId:s})=>{const a=new FormData;a.append("file",e),t&&a.append("filename",t),r&&a.append("document_type",r),s&&a.append("conversation_id",s);const{data:o,error:i}=await _r({url:n.API_ENDPOINTS.DOCUMENTS(),method:"POST",body:a,skipContentType:!0});return i?{error:i}:{data:o}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await _r({url:n.API_ENDPOINTS.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:n.API_ENDPOINTS.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:n.API_ENDPOINTS.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:n.API_ENDPOINTS.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:n.API_ENDPOINTS.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:br,useTranscribeAudioMutation:wr,useUploadDocumentMutation:Ar,useDeleteDocumentMutation:Ir,useExchangeOAuthCodeMutation:Rr,useGetConversationHistoryQuery:xr,useLazyGetConversationByIdQuery:Or,useDeleteConversationMutation:Cr,useGetToolServersQuery:kr,useStartToolServerOAuthMutation:Pr,useDeleteToolServerConnectionMutation:Nr}=Er,Mr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},Dr=cr({reducerPath:"brandingApi",baseQuery:Sr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:n.API_ENDPOINTS.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:Mr})})}),{useGetBrandingQuery:qr}=Dr,Ur={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},Lr=cr({reducerPath:"configApi",baseQuery:Sr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:n.API_ENDPOINTS.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:n.TIMING.CONFIG_TIMEOUT_MS}),extraOptions:Ur})})}),{useGetConfigQuery:Qr}=Lr,Fr=cr({reducerPath:"profileApi",baseQuery:Sr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:n.API_ENDPOINTS.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:n.API_ENDPOINTS.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:r}){try{await r,t(Fr.util.updateQueryData("getProfile",void 0,t=>{t&&(void 0!==e.name&&(t.name=e.name),void 0!==e.phone&&(t.phone=e.phone))}))}catch{}}}),deleteAccount:e.mutation({query:()=>({url:n.API_ENDPOINTS.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:n.API_ENDPOINTS.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null})})}),{useGetProfileQuery:jr,useUpdateProfileMutation:$r,useDeleteAccountMutation:Hr,useUpdatePasswordMutation:zr}=Fr,Gr=[Er,Dr,Lr,Fr],Kr={[Er.reducerPath]:Er.reducer,[Dr.reducerPath]:Dr.reducer,[Lr.reducerPath]:Lr.reducer,[Fr.reducerPath]:Fr.reducer},Br=[Er.middleware,Dr.middleware,Lr.middleware,Fr.middleware],Vr={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Wr=e.createSlice({name:"chat",initialState:Vr,reducers:{setIsAgentWorking(e,t){e.isAgentWorking=t.payload},setStatusText(e,t){e.statusText=t.payload},setResponseStartTime(e,t){e.responseStartTime=t.payload},enqueueMessage(e,t){e.messageQueue.push(t.payload)},dequeueMessage(e){e.messageQueue.shift()},clearMessageQueue(e){e.messageQueue=[]},addPendingTranscriptionId(e,t){e.pendingTranscriptionIds.push(t.payload)},clearPendingTranscriptionIds(e){e.pendingTranscriptionIds=[]},resetChatState:()=>Vr},extraReducers:t=>{t.addMatcher(e.isAnyOf(n.clearSession,n.sessionExpired),()=>Vr)}}),{setIsAgentWorking:Yr,setStatusText:Jr,setResponseStartTime:Xr,enqueueMessage:Zr,dequeueMessage:en,clearMessageQueue:tn,addPendingTranscriptionId:rn,clearPendingTranscriptionIds:nn,resetChatState:sn}=Wr.actions,an=Wr.reducer,on={activeConversationId:null,titles:{}},un=e.createSlice({name:"conversations",initialState:on,reducers:{setActiveConversationId(e,t){e.activeConversationId=t.payload},upsertConversationTitle(e,t){const{id:r,title:n}=t.payload;r&&n.trim()&&(e.titles[r]=n)}},extraReducers:t=>{t.addMatcher(e.isAnyOf(n.clearSession,n.sessionExpired),()=>on)}}),{setActiveConversationId:cn,upsertConversationTitle:dn}=un.actions,ln=un.reducer;let pn=null;function fn(e){pn=e}const hn=e.combineReducers({...Kr,auth:n.sessionReducer,chat:an,conversations:ln,indicator:n.indicatorReducer}),gn={ignoredPaths:["chatApi.queries","chatApi.mutations","brandingApi.queries","brandingApi.mutations","configApi.queries","configApi.mutations","profileApi.queries","profileApi.mutations"],ignoredActions:["chatApi/executeQuery/fulfilled","chatApi/executeMutation/fulfilled","brandingApi/executeQuery/rejected","brandingApi/executeQuery/fulfilled","configApi/executeQuery/rejected","configApi/executeQuery/fulfilled","profileApi/executeQuery/rejected","profileApi/executeQuery/fulfilled","profileApi/executeMutation/rejected","profileApi/executeMutation/fulfilled"],ignoredActionPaths:["payload.error","error","meta.baseQueryMeta","meta.arg.originalArgs.audioFile"]},mn=e.configureStore({reducer:hn,middleware:e=>e({serializableCheck:gn}).prepend(n.sessionListenerMiddleware.middleware).concat(Br)});var yn;yn=mn.dispatch,function(){const[e,t,r,n]=[nt,st,at,ot].map(e=>()=>yn(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!it&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(a).forEach(([t,r])=>{e?window.addEventListener(t,r,!1):window.removeEventListener(t,r)})};const a={[et]:e,[rt]:s,[Xe]:r,[Ze]:n};t(!0),it=!0}}(),n.setAccessTokenReader(()=>mn.getState().auth.accessToken),n.setTokenExpiresAtReader(()=>mn.getState().auth.tokenExpiresAt),fn(()=>mn.getState());const Sn=()=>{const e=Qr(),{isError:t,isFetching:n,refetch:s}=e,a=r.useRef(!1);return r.useEffect(()=>{!t||n||a.current||(a.current=!0,s())},[t,n,s]),e},Tn=r.createContext(void 0),vn=()=>{const e=r.useContext(Tn);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e};var _n=(e=>(e.START="start",e.TEXT="text",e.WIDGET="widget",e.STATUS_UPDATE="status_update",e.CLEAR_STATUS="clear_status",e.PAYMENT="payment",e.SIGN_IN="sign_in",e.CONVERSATION_TITLE="conversation_title",e.END="end",e))(_n||{});let En=class extends Error{constructor(e){super(),this.reopen=e}};class bn{type="mtx";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const{parsed:t,eventType:r,isStreamEnd:n,requestId:s}=e;if(n)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s};const a=(r||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(a,t);return{type:o,data:i,timestamp:Date.now(),requestId:s}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"conversation_title":return{type:"conversation_title",data:{conversationTitle:t.text||""}};default:return t.token?{type:"text",data:{text:t.token}}:t.text?{type:"text",data:{text:t.text}}:{type:"text",data:{text:""}}}}createStreamHandle(e,t){let r=new AbortController,a=0,o="",i=!1;const u=[];let c=null,d=!1,l=null;const p=e=>{c?c.onEvent(e):u.push(e)},f=e=>{c?c.onError(e):l=e},h=()=>{d=!0,c&&c.onComplete()},g=async()=>{try{await(this.config.ensureFreshToken?.()),await s.fetchEventSource(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:r.signal,onopen:async e=>{if(401===e.status&&!i){i=!0,n.logger.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(n.logger.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new En(Boolean(e))}const t=e.headers.get("x-request-id");t&&(o=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),r=new Set(Object.values(_n));if("status_update"!==t&&"clear_status"!==t||n.logger.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:r.has(t)}),!t||r.has(t))try{const r=t===_n.END;let n;try{n=JSON.parse(e.data)}catch{return}if(!r&&t!==_n.CLEAR_STATUS&&n&&"object"==typeof n&&0===Object.keys(n).length)return;const s=this.normalizeEvent({parsed:n,eventType:e.event,isStreamEnd:r,requestId:n.request_id||o||""});p(s),r&&"stream_end"!==s.type&&p({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:o})}catch(e){n.logger.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else n.logger.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof En)throw e;if(a++,a>=5)throw r.abort(),f(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{h()},openWhenHidden:!0})}catch(e){if(e instanceof En)return e.reopen&&!r.signal.aborted?(r=new AbortController,g()):void(d||h());d||(r.signal.aborted||f(e instanceof Error?e:new Error(String(e))),h())}};return g(),{subscribe(e){c=e;for(const t of u)e.onEvent(t);return u.length=0,l&&(e.onError(l),l=null),d&&e.onComplete(),()=>{c=null}},abort(){r.abort()}}}}class wn extends Error{constructor(e){super(),this.reopen=e}}class An{type="agui";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const t=e,{type:r,data:n}=this.mapEventType(t);return{type:r,data:n,timestamp:Date.now(),requestId:t.runId||""}}mapEventType(e){switch((e.type||"").toUpperCase()){case"TEXT_MESSAGE_CONTENT":return{type:"text",data:{text:e.delta||""}};case"TEXT_MESSAGE_END":case"RUN_FINISHED":return{type:"stream_end",data:{isEnd:!0}};case"RUN_ERROR":return{type:"error",data:{error:e.error||"Unknown AG-UI run error"}};case"STATE_SNAPSHOT":return this.mapStateSnapshot(e);case"CUSTOM":return this.mapCustomEvent(e);case"PAYMENT":{const t=e?.value?.data??e.payload;return t?.provider&&t?.config&&n.getPaymentId(t)&&("chargebee"!==t.provider||t.config?.hosted_page_url)?{type:"payment",data:{payment:t}}:{type:"text",data:{text:""}}}case"CONVERSATION_TITLE":{const t=e?.value?.data??e.payload,r=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof r?r:""}}}default:return{type:"text",data:{text:""}}}}mapStateSnapshot(e){return{type:"widget",data:{widget:e.state||e.payload||{}}}}mapCustomEvent(e){const t=e.payload||e?.value?.data||{},r=e.name||"custom";return n.logger.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:r}),"widget"===r?{type:"widget",data:{widget:{eventName:r,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let r=new AbortController,a=0,o="",i=!1;const u=[];let c=null,d=!1,l=null;const p=e=>{c?c.onEvent(e):u.push(e)},f=e=>{c?c.onError(e):l=e},h=()=>{d=!0,c&&c.onComplete()},g=async()=>{try{await(this.config.ensureFreshToken?.()),await s.fetchEventSource(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:r.signal,onopen:async e=>{if(401===e.status&&!i){i=!0,n.logger.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(n.logger.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new wn(Boolean(e))}const t=e.headers.get("x-request-id");t&&(o=t)},onmessage:e=>{n.logger.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),r=new Set(Object.values(_n));if(!t||r.has(t))if(t!==_n.END){if("[DONE]"!==e.data)try{let r;try{r=JSON.parse(e.data)}catch(t){return void n.logger.error({message:"AG-UI JSON parse error",api_name:"agui-sse",error_message:t instanceof Error?t.message:String(t),raw_data:e.data})}if(r&&"object"==typeof r&&0===Object.keys(r).length)return;r.runId&&(o=r.runId);const s=t===_n.CONVERSATION_TITLE?{...r,type:"CONVERSATION_TITLE",payload:r,runId:r.runId||o}:{...r,runId:r.runId||o},a=this.normalizeEvent(s);p(a)}catch(e){n.logger.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else p(this.normalizeEvent({type:"RUN_FINISHED",runId:o}));else n.logger.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof wn)throw e;if(a++,a>=5)throw r.abort(),f(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{h()},openWhenHidden:!0})}catch(e){if(e instanceof wn)return e.reopen&&!r.signal.aborted?(r=new AbortController,g()):void(d||h());d||(r.signal.aborted||f(e instanceof Error?e:new Error(String(e))),h())}};return g(),{subscribe(e){c=e;for(const t of u)e.onEvent(t);return u.length=0,l&&(e.onError(l),l=null),d&&e.onComplete(),()=>{c=null}},abort(){r.abort()}}}}class In{segments=[];error="";requestId="";statusText="";streamComplete=!1;startTimestamp=null;processEvent(e){null===this.startTimestamp&&(this.startTimestamp=e.timestamp),e.requestId&&(this.requestId=e.requestId);const{data:t}=e;if(!("isEnd"in t))return"error"in t?(this.error=t.error,void("text"in t&&t.text&&this.appendText(t.text))):void("statusText"in t?this.statusText=t.statusText:"payment"in t||("widget"in t?this.segments.push({type:"widget",id:n.generateUniqueId(),content:t.widget}):"text"in t&&this.appendText(t.text)));this.streamComplete=!0}appendText(e){const t=this.segments[this.segments.length-1];t&&"text"===t.type?t.text+=e:this.segments.push({type:"text",id:n.generateUniqueId(),text:e})}toMessages(){if(0===this.segments.length){const e=n.generateUniqueId();return[{id:e,msg_id:e,sender:"agent",message:"",timestamp:(new Date).toISOString(),tookMs:this.startTimestamp?Date.now()-this.startTimestamp:0,error:this.error||void 0,request_id:this.requestId||void 0}]}const e=(new Date).toISOString(),t=this.segments.map(t=>{const r={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":r.message=t.text;break;case"widget":r.widget=[t.content],r.message_type=["widget"]}return r}),r=t[t.length-1];return r.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,r.error=this.error||void 0,r.request_id=this.requestId||void 0,t}getStatusText(){return this.statusText}isStreamComplete(){return this.streamComplete}reset(){this.segments=[],this.error="",this.requestId="",this.statusText="",this.streamComplete=!1,this.startTimestamp=null}}async function Rn(e,t){const{data:r,error:s,response:a}=await _r({url:n.getApiUrl(n.AUTH_PATHS.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(s||!a)throw r??s;return{body:r,tokens:n.extractTokens(a)}}async function xn(){const{data:e,error:t,response:r}=await _r({url:n.getApiUrl(n.AUTH_PATHS.GUEST),method:"POST",skipAuth:!0});if(t||!r)throw e??t;return{body:e,tokens:n.extractTokens(r)}}async function On(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SIGNUP),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return n.isVerificationRequired(t?.data)?{body:t}:{body:t,tokens:n.extractTokens(s)}}async function Cn(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return s.headers.get(n.AUTH_HEADERS.ACCESS_TOKEN)?{body:t,tokens:n.extractTokens(s)}:{body:t}}async function kn(e,t){await _r({url:n.getApiUrl(n.AUTH_PATHS.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Pn(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.REFRESH),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return{body:t,tokens:n.extractTokens(s)}}function Nn(e){const s=t.useStore(),[a,o]=r.useState(!1);return{run:r.useCallback(async(...t)=>{o(!0);try{const{body:r,tokens:a}=await e(...t);return r.success&&r.data?(a&&!n.isVerificationRequired(r.data)&&s.dispatch(n.setSession({user:r.data.user,accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{o(!1)}},[s,e]),isLoading:a}}function Mn(){const{run:e,isLoading:t}=Nn(xn);return{guestLogin:e,isLoading:t}}const Dn={WEB:"Web",MOBILE:"Mobile"},qn={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in"},Un=Object.values(qn);function Ln(e,t){const r=e?.data?.auth_mode_config?.[t];return Un.includes(r)?r:qn.SIGN_IN_ONLY}const Qn={INITIAL:["Working on it","Just a moment","Reviewing your request","Looking into that","One moment, please","Checking"],LATER:["Almost ready","Gathering the details","Finishing up","Getting things in order","Preparing your answer","Wrapping this up"],ROTATION_INTERVAL_MS:5e3,PHASE_SWITCH_MS:4e3},Fn={MESSAGE_PAGE_SIZE:25};function jn(e){return!e.widget?.length}function $n(e){const t=n.generateUniqueId(),r={id:`agent-${t}`,msg_id:t,sender:"agent",message:"",timestamp:e.created_at?String(e.created_at):""};return"widget"===e.type?e.content&&"object"==typeof e.content&&(r.widget=[e.content],r.message_type=["widget"]):e.content&&"string"==typeof e.content&&(r.message=e.content),r}function Hn(e){const t=[];for(const r of e){const e=r.created_at?String(r.created_at):"";if("user"!==r.role)if("system"!==r.role){if("assistant"===r.role){if(r.tool_calls?.length)continue;const e=t[t.length-1];if((!r.type||"text_delta"===r.type)&&"agent"===e?.sender&&jn(e)){e.message=e.message+(r.content||"");continue}t.push($n(r));continue}}else r.content&&t.push({id:`system-${n.generateUniqueId()}`,sender:"system",message:"string"==typeof r.content?r.content:"",timestamp:e});else r.content&&t.push({id:`user-${n.generateUniqueId()}`,sender:"user",message:"string"==typeof r.content?r.content:"",timestamp:e})}return t}function zn(e){return"string"==typeof e&&e.trim()?e:null}const Gn=e=>null==e||"string"==typeof e&&""===e.trim(),Kn=e=>{const t=["widget","error"],r=e=>!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.length||"object"==typeof e&&!Array.isArray(e)&&0===Object.keys(e).length);for(const n of t)if(r(e[n]))return!0;return!1};function Bn(e,t){if(null==e||!t)return null;const r=e/100,n=t.toUpperCase();try{return new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(r)}catch{return`${n} ${r.toFixed(2)}`}}function Vn(e){if("success"===e.status){const t=Bn(e.amount,e.currency);return`The payment${t?` of ${t}`:""} is successfully completed.`}return"failure"===e.status?"The payment failed."+(e.paymentId?` The reference ID is ${e.paymentId}.`:""):"Payment cancelled."}const Wn=({sendMessageRef:e})=>{const[t,s]=r.useState(null),a=r.useCallback(()=>s(null),[]),o=r.useCallback(t=>{"stripe"===t.provider?"cancel"===t.status&&n.showErrorToast("Payment cancelled."):"chargebee"===t.provider&&"cancel"===t.status?n.showErrorToast("Payment cancelled."):"failure"===t.status&&t.message&&n.showErrorToast(t.message),e.current?e.current(Vn(t)):n.logger.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status}),s(null)},[e]);return{paymentInit:t,setPaymentInit:s,clearPaymentInit:a,handlePaymentResult:o}};async function Yn(e){try{const t=await e.getItem(n.STORAGE_KEYS.LOCATION_CACHE);if(!t)return null;const r=JSON.parse(t);return Date.now()-r.timestamp<36e5?r.location:(await e.removeItem(n.STORAGE_KEYS.LOCATION_CACHE),null)}catch{return null}}const Jn=()=>{const[e,t]=r.useState(!1),[s,a]=r.useState(null),o=n.useStorage(),i=r.useCallback(async()=>{const e=await Yn(o);if(e)return e;if(!("geolocation"in navigator))return a("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return a("Geolocation requires HTTPS"),null;t(!0),a(null);try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=await new Promise((e,t)=>{navigator.geolocation.getCurrentPosition(e,t,{enableHighAccuracy:!1,timeout:8e3,maximumAge:6e5})}),{latitude:r,longitude:s}=t.coords;let a="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${r}&lon=${s}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(a=(await e.json()).display_name??"")}catch(e){n.logger.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const i={latitude:r,longitude:s,address:a,timezone:e};return await async function(e,t){try{const r={location:t,timestamp:Date.now()};await e.setItem(n.STORAGE_KEYS.LOCATION_CACHE,JSON.stringify(r))}catch{}}(o,i),i}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:a("Location permission denied");break;case 2:a("Location information unavailable");break;case 3:a("Location request timed out");break;default:a("Failed to retrieve location")}else a("Failed to get location");return null}finally{t(!1)}},[o]);return{getUserLocation:i,isLoading:e,error:s}},Xn=e=>{const[t,n]=r.useState(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return r.useEffect(()=>{if("undefined"==typeof window)return;const t=window.matchMedia(e),r=e=>{n(e.matches)};return n(t.matches),t.addEventListener("change",r),()=>{t.removeEventListener("change",r)}},[e]),t};function Zn({paymentInit:e,onPaymentResult:t,onClearPaymentInit:s}){const a=r.useRef(new Set),o=n.getPaymentId(e);return{handlePaymentResult:r.useCallback(e=>{"success"!==e.status&&"failure"!==e.status||o&&a.current.add(o),t?.(e)},[t,o]),handleModalOpenChange:r.useCallback(r=>{!r&&e&&(!!o&&a.current.has(o)||t?.({status:"cancel",provider:e.provider}),s?.())},[e,o,t,s])}}function es(e){const t=e.trim().split(/\s+/);return 1===t.length?e.charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()}const ts={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},rs=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},ns=e=>{const n=t.useSelector(e=>!!e.voice?.isAgentWorking),s=t.useSelector(e=>e.voice?.statusText??null),a=t.useSelector(e=>e.voice?.responseStartTime??null),o=t.useSelector(e=>e.chat.isAgentWorking),i=t.useSelector(e=>e.chat.statusText??null),u=t.useSelector(e=>e.chat.responseStartTime),c=t.useSelector(e=>e.indicator.lastResponseTime),d=e?n:o,l=e?s:i,p=e?a:u;return r.useMemo(()=>({isAgentWorking:d,statusText:l??void 0,responseStartTime:p,lastResponseTime:c}),[d,l,p,c])},ss=[],as=r.createContext(null);let os=0;class is{mediaRecorder=null;audioChunks=[];stream=null;audioContext=null;analyser=null;dataArray=null;animationFrameId=null;onAudioLevel;async startRecording(e){try{if(this.onAudioLevel=e,!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)throw new Error("Microphone access requires HTTPS. Please access the app via https:// or localhost.");this.stream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:24e3,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),e&&(this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.audioContext.createMediaStreamSource(this.stream).connect(this.analyser),this.dataArray=new Uint8Array(this.analyser.frequencyBinCount),this.analyzeAudio());const t=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:t}),this.audioChunks=[],this.mediaRecorder.ondataavailable=e=>{e.data.size>0&&this.audioChunks.push(e.data)},this.mediaRecorder.start()}catch(e){throw this.cleanup(),e}}async stopRecording(){return new Promise((e,t)=>{this.mediaRecorder?(this.mediaRecorder.onstop=()=>{const t=this.mediaRecorder?.mimeType||"audio/webm",r=t.includes("webm")?"webm":"ogg",n=new Blob(this.audioChunks,{type:t}),s=new File([n],`audio.${r}`,{type:t});this.cleanup(),e(s)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const us="Microphone access is required. Please allow microphone permissions in your browser settings.",cs=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},ds="OAUTH_SUCCESS",ls="OAUTH_ERROR",ps=ds,fs=ls,hs={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0},voice_agent:{enabled:!0,show_customization_modal:!1,assistant_starts_conversation:!0},stt:{enabled:!0},features:[n.FEATURE_FLAGS.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Dn.WEB]:qn.SIGN_IN_ONLY,[Dn.MOBILE]:qn.SIGN_IN_ONLY}},gs=r.createContext(void 0),ms=r.createContext({});function ys(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}const Ss="moyasar_cb",Ts=new Set(["paid","authorized","failed","captured"]);function vs(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}exports.AUTH_CLIENT_TYPES=Dn,exports.AUTH_MODES=qn,exports.AguiAdapter=An,exports.AudioRecorder=is,exports.BREAKPOINTS={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},exports.CHAT_INPUT_MODES=ts,exports.CONVERSATION_TITLE_REFRESH_DELAYS_MS=[500,1500,3e3],exports.ChatCallbacksContext=ms,exports.ChatSettingsContext=as,exports.ConfigurationContext=gs,exports.DEFAULT_CONVERSATION_TITLE="New Conversation",exports.DEFAULT_PAYMENT_PROVIDER="stripe",exports.DEFAULT_PROTOCOL="mtx",exports.ERROR_CODES=mr,exports.EventAggregator=In,exports.GENERIC_SERVER_ERROR_MESSAGE=fr,exports.MAX_CONNECTION_RETRIES=5,exports.MOYASAR_CALLBACK_SENTINEL=Ss,exports.OAUTH_ERROR_TYPE=ls,exports.OAUTH_SUCCESS_TYPE=ds,exports.PAGINATION=Fn,exports.ProprietaryAdapter=bn,exports.ProtocolContext=Tn,exports.SSEEventType=_n,exports.THINKING_MESSAGES=Qn,exports.TYPEWRITER_INTERVAL_MS=28,exports.apiBridge=Sr,exports.apiMiddleware=Br,exports.apiReducers=Kr,exports.bindChatLogger=fn,exports.brandingApi=Dr,exports.bridgedFetch=_r,exports.buildBrandSkin=function(e,t){const r="dark"===t;return{pageBg:e.bgColor,cardBg:e.widgetBg,text:e.primaryText,heading:e.primaryText,muted:e.secondaryText,divider:e.widgetBorderColor,accent:e.statusDiscovery.solid,accentText:e.statusDiscovery.text,focus:e.statusDiscovery.solid,pillBg:e.inputBgColor,pillBorder:e.inputBorderColor,pillText:e.secondaryText,cardShadow:r?"0 1px 3px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04)":"0 1px 3px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04)",radius:e.borderRadius,fontFamily:e.fontFamily,colorScheme:r?"dark":"light"}},exports.buildCallbackUrl=function(e){const t=new URL(window.location.href),r=new URL(`${t.origin}${n.getBaseUrl()}/moyasar-callback.html`);return r.searchParams.set(Ss,"1"),e&&r.searchParams.set("given_id",e),r.toString()},exports.chatApi=Er,exports.chatCoreRootReducer=hn,exports.chatLoggerContextProvider=()=>{if(!pn)return{};const e=pn(),t=e.auth.user?.id,r=e.auth.selectedOrgId??void 0,n=e.conversations.activeConversationId??void 0;return{...t?{user_id:t}:{},...r?{org_id:r}:{},...n?{conversation_id:n}:{}}},exports.chatReducer=an,exports.checkOrganizationExistsApi=async function(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:r,response:s}=await _r({url:n.API_ENDPOINTS.ORGANIZATIONS_EXISTS,method:"GET",skipAuth:!0,skipContentType:!0,signal:e.signal});return r?!s||s.status>=500?"error":"not-found":function(e){const t=e?.data?.exists;return"boolean"!=typeof t?"error":t?"exists":"not-found"}(t)}catch{return"error"}finally{clearTimeout(t)}},exports.clearMessageQueue=tn,exports.configApi=Lr,exports.conversationsReducer=ln,exports.createAdapter=function(e,t){switch(e){case"mtx":return new bn(t);case"agui":return new An(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}},exports.createDefaultAdapterConfig=function(e={}){return{getAuthToken:()=>Tr(),getCustomHeaders:()=>n.getCustomHeaders(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>n.API_ENDPOINTS.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>n.API_ENDPOINTS.CONVERSATION_START(e),getDebugUrl:()=>n.API_ENDPOINTS.DEBUG,ensureFreshToken:async()=>{n.isTokenAboutToExpire(n.readTokenExpiresAt())&&await(n.getTokenRefreshHandler()?.())},forceRefreshToken:async()=>Boolean(await(n.getTokenRefreshHandler()?.()))}},exports.createSessionRefresher=function(e){return n.createTokenRefresher({performRefresh:async()=>{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(!r||!s)return n.logger.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(r),has_user_id:Boolean(s)}),null;const{body:a,tokens:o}=await Pn({refresh_token:r,user_id:s});if(a?.success&&a?.data){const t={accessToken:o.accessToken,refreshToken:o.refreshToken,expiresIn:a.data.expiry_time};return n.logger.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==r}),e.dispatch(n.setSession({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return n.logger.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})},exports.dequeueMessage=en,exports.enqueueMessage=Zr,exports.fetchOrganizations=async function(){try{const{data:e}=await _r({url:n.getApiUrl(`${n.AUTH_PATHS.ORGANIZATIONS}?skip=0&limit=100`),skipAuth:!0});if(e?.success&&Array.isArray(e.data?.organizations))return e.data.organizations}catch{}return[]},exports.forgotPasswordApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.formatAmount=Bn,exports.formatResultMessage=Vn,exports.getApiErrorMessage=function(e,t){return hr(e)?fr:function(e){if(!lr(e))return null;if("string"==typeof e.message){try{const t=pr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return pr(e.data)??pr(e.data?.data)}(e)??t??"An unexpected error occurred."},exports.getAuthMode=Ln,exports.getAuthToken=Tr,exports.getCachedLocation=Yn,exports.getCodeEntryErrorMessage=function(e,t){if(!lr(e))return t.generic;if(hr(e))return t.generic;const r=function(e){if("string"!=typeof e)return null;try{return gr(JSON.parse(e))}catch{return null}}(e.message);return r||(gr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))},exports.getErrorGroup=function(e){if(!lr(e))return null;const t=e.data;if(lr(t)){const e=t.data;if(lr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null},exports.getLatestRequestId=()=>"",exports.guestLoginApi=xn,exports.hasAnyExtraData=Kn,exports.isApiServerError=hr,exports.isEmptyMessage=Gn,exports.loginApi=Rn,exports.logoutApi=kn,exports.parseMoyasarCallbackFromUrl=function(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(Ss))return null;const r=t.get("status"),n=t.get("id");if(!r||!n)return null;if(!Ts.has(r))return null;const s=t.get("conversation_id")||null,a=(t.get("given_id")||null)??n;if("paid"===r||"authorized"===r||"captured"===r){const e=t.get("amount"),r=e?Number.parseInt(e,10):void 0;return{result:{status:"success",provider:"moyasar",paymentId:a,amount:Number.isFinite(r)?r:void 0,currency:t.get("currency")??void 0},conversationId:s}}return{result:{status:"failure",provider:"moyasar",code:r,message:vs(t.get("message")??`Payment ${r}`),paymentId:a},conversationId:s}},exports.profileApi=Fr,exports.refreshTokenApi=Pn,exports.resendVerificationApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.resetAllApiState=()=>e=>{Gr.forEach(t=>e(t.util.resetApiState()))},exports.resetChatLoggerForTests=function(){pn=null},exports.resetChatState=sn,exports.resetPasswordApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.serializableCheck=gn,exports.setActiveConversationId=cn,exports.setIsAgentWorking=Yr,exports.setResponseStartTime=Xr,exports.setStatusText=Jr,exports.shouldDisableMessage=function(e,t,r){if(!r)return!1;if(!ys(e))return!1;let n=null;for(let e=t.length-1;e>=0;e--){const r=t[e];if("agent"===r.sender&&ys(r)){n=r;break}}if(!n||n.id!==e.id)return!0;const s=t.findIndex(t=>t.id===e.id);return t.slice(s+1).some(e=>"user"===e.sender)},exports.signupApi=On,exports.ssoExchangeApi=async function(e,t){const{data:r,error:s,response:a}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(s||!a)throw r??s;return{body:r,tokens:n.extractTokens(a)}},exports.ssoStartApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(r||!s)throw t??r;return t},exports.store=mn,exports.upsertConversationTitle=dn,exports.useActiveConversationTitle=function(){return t.useSelector(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})},exports.useAuth=()=>{const{user:e,accessToken:r,tokenExpiresAt:s,isAuthenticated:a,isLoading:o}=t.useSelector(e=>e.auth);return{user:e,accessToken:r,isAuthenticated:a,isLoading:o,tokenInfo:{isExpired:!!s&&n.isTokenExpired(s),isAboutToExpire:!!s&&n.isTokenAboutToExpire(s),expiresAt:s,timeUntilExpiry:s?n.getTimeUntilExpiry(s):0,timeUntilExpiryFormatted:s?n.formatTimeRemaining(n.getTimeUntilExpiry(s)):"0s"}}},exports.useChatCallbacks=()=>r.useContext(ms),exports.useChatConnection=({conversationId:e,messages:s,setMessages:a,enableTts:o=!1,userLocation:i=null,startSession:u,debugMode:c=!1,onPaymentInit:d,onSignInInit:l,onConversationTitle:p})=>{const{adapter:f}=vn(),h=t.useDispatch(),g=t.useStore(),[m,y]=r.useState(""),[S,T]=r.useState(!1),[v,_]=r.useState(!1),E=r.useRef(d);E.current=d;const b=r.useRef(l);b.current=l;const w=r.useRef(p);w.current=p;const A=r.useRef(new In),I=r.useRef(null),R=r.useRef(null),x=r.useRef(!1),O=r.useRef(0),C=r.useRef(!1),k=r.useRef(null),P=r.useRef(e);P.current=e;const N=r.useRef(null),M=r.useRef(e);r.useEffect(()=>{const t=M.current;M.current=e,null!==t&&t!==e&&h(nn())},[e,h]);const D=r.useCallback((e=n.INDICATOR_TIMER_ACTIONS.KEEP)=>{if(h(Jr(null)),h(Yr(!1)),e===n.INDICATOR_TIMER_ACTIONS.FINALIZE){const e=g.getState().chat.responseStartTime;e&&h(n.setLastResponseTime(Date.now()-e)),h(Xr(null))}else e===n.INDICATOR_TIMER_ACTIONS.CANCEL&&h(Xr(null))},[h,g]),q=r.useCallback(e=>{h(Yr(e)),T(e),e&&_(!1)},[h]),U=r.useCallback(()=>{const e=g.getState().chat.responseStartTime;return e&&h(n.setLastResponseTime(Date.now()-e)),null!==k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null,C.current=!1,y(""),T(!1),_(!1),D(n.INDICATOR_TIMER_ACTIONS.CANCEL)},600),()=>{null!==k.current&&clearTimeout(k.current)}},[h,g,D]),L=r.useRef({setStatusText:e=>h(Jr(e||null)),setIsAgentWorking:e=>h(Yr(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>E.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),Q=r.useCallback(e=>{if(N.current!==P.current)return I.current?.abort(),void R.current?.();if("payment"===e.type&&"payment"in e.data)return void n.handleSharedEvent({kind:"payment",payment:e.data.payment},L.current);if("sign_in"===e.type&&"signIn"in e.data)return void n.handleSharedEvent({kind:"sign_in",signIn:e.data.signIn},L.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&w.current?.(t))}const t=A.current;t.processEvent(e),x.current||(x.current=!0,_(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"error":return"error"in t?{kind:"error",error:t.error}:null;default:return null}}(e);if(r){const e="status_update"===r.kind?{kind:"status_update",statusText:t.getStatusText()}:r;n.handleSharedEvent(e,L.current)}const s=t.toMessages(),o=O.current;a(e=>[...e.slice(0,e.length-o),...s]),O.current=s.length,s.some(e=>Kn(e)||!Gn(e.message))&&h(Yr(!1)),t.isStreamComplete()&&U()},[h,a,U]),F=r.useCallback(e=>{n.showErrorToast("Stream connection error. Please try again."),U()},[U]),j=r.useCallback(()=>{I.current?.abort(),R.current?.(),I.current=null,R.current=null,N.current=null,A.current.reset(),O.current=0,y(""),T(!1),_(!1),D(n.INDICATOR_TIMER_ACTIONS.CANCEL),h(n.clearLastResponseTime()),h(tn()),C.current=!1},[h,D]),$=r.useCallback((e,t)=>{I.current?.abort(),R.current?.(),A.current.reset(),O.current=0,x.current=!1,N.current=t,P.current=t,I.current=e;const r=e.subscribe({onEvent:Q,onError:F,onComplete:()=>{U()}});R.current=r},[Q,F,U]),H=r.useCallback(async(t="",r=[])=>{C.current=!0;try{let s=e;if(!s){if(!u)return C.current=!1,void n.showErrorToast("Conversation is not ready yet. Please wait a moment.");const e=await u();if(!e)return C.current=!1,void n.showErrorToast("Failed to start conversation. Please try again.");s=e}const i=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),h(Yr(!0)),T(!0),_(!1),h(Jr(null)),h(Xr(Date.now())),h(n.clearLastResponseTime());const d={id:`user-${n.generateUniqueId()}`,sender:"user",message:i,timestamp:(new Date).toISOString()};a(e=>[...e,d]);const l=n.readDeviceToken(),p=f.streamMessage({conversationId:s,message:i,enableTts:o,debugMode:c,transcriptionIds:r,...l?{body:{client_metadata:{device_token:l}}}:{}});$(p,s)}catch(e){n.logger.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to send conversations message. Please try again."),C.current=!1,D(n.INDICATOR_TIMER_ACTIONS.CANCEL)}},[h,s,e,f,o,a,$,u,c,D]),z=r.useRef(H);z.current=H;const G=r.useCallback(async(e="",t=[])=>{const r=(e??"").trim();if(!r)return;const s=g.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&h(nn()),C.current?h(Zr({id:n.generateUniqueId(),text:r,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{}})):await H(r,a)},[h,g,H]);r.useEffect(()=>{if(S||C.current)return;const e=g.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>`- ${e.text}`).join("\n"),r=e.flatMap(e=>e.transcriptionIds??[]);h(tn()),z.current(t,r)},[S,h,g]);const K=r.useCallback(async(e,t)=>{C.current=!0,h(Yr(!0)),T(!0),_(!1),h(Jr(null)),h(Xr(Date.now())),h(n.clearLastResponseTime());const r=void 0!==t?t:i,s={};r&&(s.user_location=r);const a=n.readDeviceToken();a&&(s.device_token=a);const u=Object.keys(s).length>0?{client_metadata:s}:{},c=f.streamInitial({conversationId:e,body:u,enableTts:o});$(c,e)},[h,f,o,i,$]);return r.useEffect(()=>()=>{I.current?.abort(),R.current?.()},[]),{sendMessage:G,startInitialStream:K,setThinkingState:q,abortStream:j,toolCallStatus:m,isProcessThinkingState:S,hasReceivedResponse:v}},exports.useChatHistory=function({activeConversationId:e,onSelectConversation:s,onClearChat:a}){const[o,i]=r.useState([]),u=t.useSelector(e=>e.conversations.titles),[c,d]=r.useState(!0),[l,p]=r.useState(!1),[f,h]=r.useState(!0),[g,m]=r.useState(""),y=r.useRef(0),S=r.useRef(!1),T=r.useRef(f);T.current=f;const v=r.useRef(o);v.current=o;const[_]=Er.useLazyGetConversationHistoryQuery(),E=r.useRef(_);E.current=_;const[b,{isLoading:w}]=Er.useDeleteConversationMutation(),A=r.useCallback(async e=>{const t="append"===e?y.current:0;if("append"===e){if(S.current||!T.current)return;S.current=!0,p(!0)}else"replace"===e&&0===v.current.length&&d(!0);try{const r=await E.current({skip:t,limit:20}).unwrap(),n=r?.conversations??[];"append"===e?(i(e=>{const t=new Set(e.map(e=>e.id));return[...e,...n.filter(e=>!t.has(e.id))]}),y.current+=20):"replace"===e?(i(n),y.current=20):i(e=>function(e,t){if(0===t.length)return e;const r=new Set(e.map(e=>e.id)),n=new Map(t.map(e=>[e.id,e])),s=t.filter(e=>!r.has(e.id));let a=s.length>0;const o=e.map(e=>{const t=n.get(e.id);return t?(r=e).id===(s=t).id&&r.title===s.title&&r.created_at===s.created_at&&r.updated_at===s.updated_at?e:(a=!0,t):e;var r,s});return a?[...s,...o]:e}(e,n)),"silent"!==e&&h(n.length>=20)}catch(e){n.logger.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(S.current=!1,p(!1)):"replace"===e&&d(!1)}},[]);r.useEffect(()=>{A("replace")},[A]);const I=r.useRef(null),R=r.useRef(new Set);r.useEffect(()=>{if(c||!e)return;if(R.current.has(e))return;if(o.some(t=>t.id===e))return void(I.current=null);const t=`${e}:${u[e]??""}`;I.current!==t&&(I.current=t,A("silent"))},[e,o,u,c,A]);const x=r.useCallback(async t=>{const r=e===t,u=r?function(e,t){const r=e.findIndex(e=>e.id===t);return-1===r?null:r+1<e.length?e[r+1].id:r-1>=0?e[r-1].id:null}(g.trim()?o.filter(e=>e?.title?.toLowerCase().includes(g.toLowerCase())):o,t):null,c=await b({conversationId:t});if(c.error)return n.logger.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:t,error_message:JSON.stringify(c.error)}),void n.showErrorToast("Failed to delete the conversation. Please try again.");n.showSuccessToast("Conversation deleted successfully"),R.current.add(t);const d=v.current.some(e=>e.id===t);if(i(e=>e.filter(e=>e.id!==t)),d&&(y.current=Math.max(0,y.current-1)),r)if(u){const e=o.find(e=>e.id===u)??null;s(u,e?.title??null)}else a?.()},[e,o,g,b,s,a]),O=r.useMemo(()=>o.map(e=>u[e.id]?{...e,title:u[e.id]}:e),[o,u]);return{conversations:g.trim()?O.filter(e=>e?.title?.toLowerCase().includes(g.toLowerCase())):O,isLoading:c,isLoadingMore:l,hasMore:f,isDeleting:w,searchQuery:g,setSearchQuery:m,loadConversations:A,deleteConversation:x,isLoadingMoreRef:S}},exports.useChatInput=({onSend:e,disabled:t=!1,transcribedText:n,onTranscribedTextUsed:s,isRecording:a=!1,isTranscribing:o=!1})=>{const[i,u]=r.useState("");r.useEffect(()=>{if(!n)return;let e=!1;return queueMicrotask(()=>{e||(u(e=>0===e.trim().length?n:`${e.trimEnd()} ${n}`),s?.())}),()=>{e=!0}},[n,s]);const c=i.trim().length>0&&!t,d=r.useCallback(()=>{const r=i.trim();r&&!t&&(e(r),u(""))},[i,t,e]),l=a?ts.RECORDING:o?ts.TRANSCRIBING:ts.NORMAL;return r.useMemo(()=>({value:i,setValue:u,send:d,canSend:c,mode:l}),[i,d,c,l])},exports.useChatSettings=()=>{const e=r.useContext(as);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e},exports.useConfiguration=()=>{const e=r.useContext(gs);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},exports.useConfigurationValue=()=>{const{data:e,isLoading:t,error:n}=Sn(),s=e?.success?e.data:null,a=r.useMemo(()=>{return(e=s)?{conversations:{...hs.conversations,...e.conversations},voice_agent:{...hs.voice_agent,...e.voice_agent},stt:{...hs.stt,...e.stt},features:e.features??hs.features,backend_version:e.backend_version??hs.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??hs.panel_switcher_enabled,auth_mode_config:{...hs.auth_mode_config,...e.auth_mode_config}}:hs;var e},[s]);return r.useMemo(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},exports.useConnectors=function(){const{themeStyles:e}=n.useBranding(),{data:t,isLoading:s}=kr(void 0),[a]=Nr(),o=r.useMemo(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:es(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:o,isLoading:s,disconnect:async function(e){const t=o.find(t=>t.id===e)?.name??"App";"error"in await a(e)?n.showErrorToast(`Failed to disconnect ${t}. Please try again.`):n.showSuccessToast(`${t} disconnected`)}}},exports.useContainerQuery=e=>{const t=r.useRef(null),[n,s]=r.useState(!1);return r.useEffect(()=>{const r=t.current;if(!r)return;const n=new ResizeObserver(t=>{for(const r of t)s(r.contentRect.width>=e)});n.observe(r);const a=r.getBoundingClientRect().width;return s(a>=e),()=>{n.disconnect()}},[e]),{containerRef:t,isDesktop:n}},exports.useConversation=()=>{const e=t.useDispatch(),[s,a]=r.useState(null),[o,i]=r.useState([]),u=r.useRef(s),c=t.useSelector(e=>s?e.conversations.titles[s]??null:null),d=r.useCallback(t=>{s&&t&&e(dn({id:s,title:t}))},[s,e]);r.useEffect(()=>{u.current=s,e(cn(s))},[s,e]);const[l,p]=r.useState(!1),[f,h]=r.useState(0),[g,m]=r.useState(!1),[y,S]=r.useState(!1),T=r.useRef(!1),{protocolType:v}=vn(),[_]=br(),[E]=Or(),b=r.useCallback(async()=>{try{p(!0);const t=await _({protocol:v,body:{}}).unwrap(),r=t?.id;if(r){a(r);const n=zn(t?.title);return n&&e(dn({id:r,title:n})),r}return n.showErrorToast(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return n.showErrorToast(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{p(!1)}},[_,v,e]),w=r.useCallback(async(t,r)=>{try{const n=zn(r);n&&e(dn({id:t,title:n}));const s=await E({conversationId:t,skip:0,limit:Fn.MESSAGE_PAGE_SIZE}).unwrap();if(s){a(t);const r=zn(s.title)??n;r&&e(dn({id:t,title:r}));const o=s.messages??[],u=Array.isArray(o)?Hn(o):[];return i(u),h(o.length),m(o.length>=Fn.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(n.logger.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to load conversation. Please try again.")),!1}},[E,e]),A=r.useCallback(async(t=s)=>{if(!t)return null;try{const r=await E({conversationId:t,skip:0,limit:1}).unwrap(),n=zn(r?.title);return n&&e(dn({id:t,title:n})),n}catch(e){return n.logger.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),null}},[s,E,e]),I=r.useCallback(async()=>{if(T.current||!s||!g)return;const e=s;S(!0),T.current=!0;try{const t=await E({conversationId:s,skip:f,limit:Fn.MESSAGE_PAGE_SIZE}).unwrap();if(u.current!==e)return;if(t?.messages&&Array.isArray(t.messages)){const e=Hn(t.messages);h(e=>e+t.messages.length),m(t.messages.length>=Fn.MESSAGE_PAGE_SIZE),i(t=>{const r=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!r.has(e.timestamp)),...t]})}}catch(e){n.logger.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to load older messages.")}finally{S(!1),T.current=!1}},[s,f,g,E]),R=r.useCallback(()=>{i([]),a(null),h(0),m(!1)},[]);return{conversationId:s,setConversationId:a,conversationTitle:c,setConversationTitle:d,messages:o,setMessages:i,isLoadingCreateConversation:l,hasMoreMessages:g,isLoadingMoreMessages:y,startSession:b,loadConversation:w,loadConversationTitle:A,loadMoreMessages:I,resetConversation:R}},exports.useCreateConversatonsMutation=br,exports.useDeleteAccountMutation=Hr,exports.useDeleteConversationMutation=Cr,exports.useDeleteDocumentMutation=Ir,exports.useDeleteToolServerConnectionMutation=Nr,exports.useElapsedSeconds=e=>{const[t,n]=r.useState(()=>null===e?0:Math.floor((Date.now()-e)/1e3));return r.useEffect(()=>{if(null===e)return void n(0);n(Math.floor((Date.now()-e)/1e3));const t=setInterval(()=>{n(Math.floor((Date.now()-e)/1e3))},1e3);return()=>clearInterval(t)},[e]),t},exports.useEventEmitter=function(e,t,s){const a=r.useRef(s);r.useEffect(()=>{a.current=s},[s]),r.useEffect(()=>{const r=n.eventEmitter.on(e,t,e=>{a.current(e)});return()=>{r()}},[e,t])},exports.useExchangeOAuthCodeMutation=Rr,exports.useGetBrandingQuery=qr,exports.useGetConfigQuery=Sn,exports.useGetConversationHistoryQuery=xr,exports.useGetProfileQuery=jr,exports.useGetToolServersQuery=kr,exports.useGuestBoot=function({clientType:e}){const{data:n,isLoading:s,refetch:a}=Sn(),o=Ln(n,e),i=Boolean(n?.data?.auth_mode_config),[u,c]=r.useState(o);i&&o!==u&&c(o);const d=i?o:u,l=t.useSelector(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:p}=Mn(),f=r.useRef(!1),[h,g]=r.useState(!1),[m,y]=r.useState(0),S=r.useRef(0),T=r.useRef(0);r.useEffect(()=>{if(d!==qn.GUEST_ONLY)return;if(l)return void(f.current=!1);if(s)return;if(f.current)return;const e=Date.now();S.current=e-T.current<1e4?S.current+1:0,T.current=e,S.current>=3?g(!0):(f.current=!0,g(!1),p().then(e=>{e.success||(f.current=!1,g(!0))}))},[d,l,s,p,m]);const v=r.useCallback(()=>{S.current=0,T.current=0,g(!1),a(),y(e=>e+1)},[a]);return{mode:d,isGuestBootPending:s||d===qn.GUEST_ONLY&&!l&&!h,guestBootFailed:!l&&!s&&void 0===n||d===qn.GUEST_ONLY&&!l&&h,retryGuestBoot:v}},exports.useGuestLogin=Mn,exports.useInfiniteScroll=function({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:s,itemCount:a}){const o=r.useRef(null),i=r.useCallback(r=>{if(o.current&&o.current.disconnect(),!r||!e)return;const a=function(e,t){const r=t?.querySelector("[data-radix-scroll-area-viewport]");if(r)return r;if(t&&t.scrollHeight>t.clientHeight)return t;let n=e.parentElement;for(;n&&n!==document.body;){if(n.scrollHeight>n.clientHeight)return n;n=n.parentElement}return null}(r,n.current);a&&(o.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&s()},{root:a,rootMargin:"0px",threshold:.1}),o.current.observe(r))},[e,t,n,s]);return r.useEffect(()=>{if(!e||t.current)return;const r=n.current;if(!r)return;const a=r.querySelector("[data-radix-scroll-area-viewport]")??r;a.clientHeight>0&&a.scrollHeight<=a.clientHeight&&s()},[e,n,s,t,a]),i},exports.useIsDesktop=()=>Xn("(min-width: 1024px)"),exports.useLazyGetConversationByIdQuery=Or,exports.useLocationInit=()=>{const[e,t]=r.useState(!1),{getUserLocation:s}=Jn(),a=n.useStorage(),o=r.useRef(!1);return r.useEffect(()=>{if(o.current)return;o.current=!0;let e=null;const r=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await a.getItem(n.STORAGE_KEYS.LOCATION_ENABLED))return void r();const t=await Yn(a);t&&0!==t.latitude&&0!==t.longitude?r():(e=setTimeout(r,5e3),s().finally(r))})(),()=>{null!==e&&clearTimeout(e)}},[s,a]),e},exports.useLogin=function(){const e=r.useCallback(e=>Rn(e.email,e.password),[]),{run:t,isLoading:n}=Nn(e);return{login:t,isLoading:n}},exports.useLogout=function(){const e=t.useStore();return{logout:r.useCallback(async()=>{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(r&&s)try{await kn({refresh_token:r,user_id:s})}catch{}else n.logger.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(r),has_user_id:Boolean(s)});e.dispatch(n.clearSession())},[e])}},exports.useMediaQuery=Xn,exports.useMessageList=({messages:e,voiceStreamingMessages:t=ss,voiceActive:s})=>{const a=r.useMemo(()=>{if(0===t.length)return e;const r=new Set(t.map(e=>e.id));return e.filter(e=>!r.has(e.id))},[e,t]),o=r.useMemo(()=>rs(a),[a]),i=ns(s),u=r.useRef(e.length),c=r.useCallback(()=>{const t=u.current;return u.current=e.length,((e,t)=>{const r=t.length-1,s=rs(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:r,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:s};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:r,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(n.hasWidgets),lastUserMessageIndex:s}})(t,e)},[e]);return{visibleMessages:a,lastUserMessageIndex:o,indicator:i,classifyArrival:c}},exports.useOAuthPopup=function({signInInit:e,sendMessageRef:t,clearSignInInit:s,sendResumeMessage:a=!0}){const[o]=Rr();r.useEffect(()=>{if(!e)return;const r=function(e){try{const t=(new URL(e).searchParams.get("scope")??"").match(/\/auth\/([^./]+)/);if(t?.[1])return t[1].charAt(0).toUpperCase()+t[1].slice(1)}catch{}return"Service"}(e.authorize_url),i=window.open(e.authorize_url,"oauth_popup",`width=500,height=650,left=${Math.round(screen.width/2-250)},top=${Math.round(screen.height/2-325)}`);if(!i)return n.showErrorToast("Please allow popups for this site to sign in to external services."),void s();let u=!1;const c=e=>{u||(u=!0,window.removeEventListener("message",d),clearInterval(l),e?.(),s())},d=async e=>{if(e.origin!==window.location.origin)return;if(u)return;if(e.data?.type===fs)return void c(()=>n.showErrorToast(`Failed to sign in to ${r}. Please try again.`));if(e.data?.type!==ps)return;u=!0,window.removeEventListener("message",d),clearInterval(l);const{code:p,state:f}=e.data;"error"in await o({code:p,state:f})?n.showErrorToast(`Failed to sign in to ${r}. Please try again.`):(n.showSuccessToast(`${r} connected successfully`),a&&t.current?.(`${r} is now signed in, please continue`)),s(),i?.close()},l=setInterval(()=>{i.closed&&c()},500);return window.addEventListener("message",d),()=>{window.removeEventListener("message",d),clearInterval(l),u||i.close()}},[e,t,s,o,a])},exports.usePayment=function({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:r,clearPaymentInit:n,handlePaymentResult:s}=Wn({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=Zn({paymentInit:t,onPaymentResult:s,onClearPaymentInit:n});return{paymentInit:t,setPaymentInit:r,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:n}},exports.usePaymentFlow=Wn,exports.usePaymentResultDedup=Zn,exports.useProtocol=vn,exports.useRefreshToken=function(){const e=t.useStore(),[s,a]=r.useState(!1);return{refresh:r.useCallback(async()=>{a(!0);try{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(!r||!s)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:o}=await Pn({refresh_token:r,user_id:s});return a?.success&&a?.data?(e.dispatch(n.setSession({accessToken:o.accessToken,refreshToken:o.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{a(!1)}},[e]),isLoading:s}},exports.useResolvedChatIndicators=ns,exports.useSTTRecording=({onTranscriptionComplete:e,onTranscriptionPopulate:s,ensureConversation:a,autoSendVoice:o=!0}={})=>{const[i,u]=r.useState(!1),[c,d]=r.useState(!1),[l,p]=r.useState(0),f=r.useRef(null),h=r.useRef(null),g=r.useRef(!1),m=r.useRef(!1),y=r.useRef(null),S=t.useDispatch(),[T]=wr(),v=r.useCallback(async()=>{m.current=!1;const e=()=>{t(),g.current?y.current?.():m.current=!0},t=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e);const r=await cs();if("denied"===r)return t(),void n.showErrorToast(us);if("prompt"!==r){if(m.current)return t(),void(m.current=!1);try{f.current||(f.current=new is),await f.current.startRecording(e=>{p(e)}),h.current=Date.now(),g.current=!0,u(!0),m.current&&(m.current=!1,await(y.current?.()))}catch(e){t(),n.logger.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),g.current=!1,n.showErrorToast(us)}}else{t(),m.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await cs()&&n.showErrorToast(us)}}},[]),_=r.useCallback(async()=>{try{if(!f.current||!g.current)return;const t=h.current?Date.now()-h.current:0;if(u(!1),p(0),t<500)return f.current?.cleanup(),void(h.current=null);d(!0);const r=await f.current.stopRecording(),i=await(a?.())??null;if(!i)return void n.showErrorToast("Failed to transcribe audio");const c=await T({conversationId:i,audioFile:r}).unwrap();c.success?c.data.text&&(S(rn(c.data.transcription_id)),o&&e?await e(c.data.text):!o&&s&&s(c.data.text)):n.showErrorToast("Transcription failed")}catch(e){n.logger.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to transcribe audio")}finally{d(!1),g.current=!1,f.current?.cleanup(),h.current=null}},[o,S,a,e,s,T]);return r.useEffect(()=>{y.current=_},[_]),r.useEffect(()=>()=>{f.current?.cleanup()},[]),{isRecording:i,isTranscribing:c,audioLevel:l,startRecording:v,stopRecording:_}},exports.useSignup=function(){const{run:e,isLoading:t}=Nn(On);return{signup:e,isLoading:t}},exports.useStartToolServerOAuthMutation=Pr,exports.useThinkingMessage=(e={})=>{const{enabled:t=!0}=e,[n,s]=r.useState(Qn.INITIAL),[a,o]=r.useState(0),[i,u]=r.useState(!0),c=r.useRef(null),d=r.useRef(null),l=r.useRef(null);return r.useEffect(()=>{if(!t)return s(Qn.INITIAL),o(0),void u(!0);s(Qn.INITIAL),o(0),u(!0);let e=Qn.INITIAL;const r=()=>{c.current=setTimeout(()=>{u(!1),l.current=setTimeout(()=>{o(t=>(t+1)%e.length),u(!0),l.current=null},500),r()},Qn.ROTATION_INTERVAL_MS)};return r(),d.current=setTimeout(()=>{e=Qn.LATER,c.current&&clearTimeout(c.current),l.current&&clearTimeout(l.current),s(Qn.LATER),o(0),u(!1),l.current=setTimeout(()=>{u(!0),l.current=null},500),r()},Qn.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),l.current&&clearTimeout(l.current),c.current=null,d.current=null,l.current=null}},[t]),{message:n[a],isVisible:i}},exports.useTokenRefresh=function({refreshSession:e,checkIntervalMs:s=6e4}){const a=t.useStore(),o=t.useSelector(e=>e.auth),i=o?.accessToken??null,u=Boolean(o?.isAuthenticated),c=o?.tokenExpiresAt??null,d=r.useRef(null),l=r.useRef(null),p=r.useCallback(()=>{a.dispatch(n.clearSession())},[a]),f=r.useCallback(async(t=!1)=>{if(t||!(Date.now()-os<3e5))try{await e()?os=Date.now():(n.logger.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),p())}catch(e){n.logger.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),p()}},[e,p]),h=r.useCallback(()=>{u&&(n.isTokenExpired(c)?f(!0):n.isTokenAboutToExpire(c)&&f())},[u,c,f]);return r.useEffect(()=>{i&&n.isTokenExpired(c)&&f(!0)},[]),r.useEffect(()=>{if(u&&i){if(n.isTokenExpired(c))return void f(!0);const e=n.getTimeUntilRefresh(c);return e>0?l.current=setTimeout(()=>{f()},e):n.isTokenAboutToExpire(c)&&f(),d.current=setInterval(()=>{n.isTokenExpired(c)?f(!0):n.isTokenAboutToExpire(c)&&f()},s),()=>{d.current&&clearInterval(d.current),l.current&&clearTimeout(l.current)}}os=0,d.current&&(clearInterval(d.current),d.current=null),l.current&&(clearTimeout(l.current),l.current=null)},[u,i,c,s,f]),{checkNow:h}},exports.useTranscribeAudioMutation=wr,exports.useTypewriter=function(e,t=28){const[n,s]=r.useState(e),a=r.useRef(e),o=r.useCallback(e=>{a.current=e,s(e)},[]);return r.useEffect(()=>{if(a.current===e)return;const r=function(e,t){const r=Math.min(e.length,t.length);let n=0;for(;n<r&&e[n]===t[n];)n+=1;return n}(a.current,e);o(e.slice(0,r));let n=r;const s=globalThis.setInterval(()=>{n+=1,o(e.slice(0,n)),n>=e.length&&globalThis.clearInterval(s)},t);return()=>globalThis.clearInterval(s)},[e,t,o]),n},exports.useUpdatePasswordMutation=zr,exports.useUpdateProfileMutation=$r,exports.useUploadDocumentMutation=Ar,exports.useUserLocation=Jn,exports.useVerifyEmail=function(){const{run:e,isLoading:t}=Nn(Cn);return{verify:e,isLoading:t}},exports.verifyEmailApi=Cn;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@reduxjs/toolkit"),t=require("react-redux"),r=require("react"),n=require("@1interface/shared-core"),s=require("@microsoft/fetch-event-source");var a=Symbol.for("immer-nothing"),o=Symbol.for("immer-draftable"),i=Symbol.for("immer-state"),u="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function c(e,...t){if("production"!==process.env.NODE_ENV){const r=u[e],n=P(r)?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var d=Object,l=d.getPrototypeOf,p="constructor",f="prototype",g="configurable",h="enumerable",m="writable",y="value",S=e=>!!e&&!!e[i];function T(e){return!!e&&(E(e)||x(e)||!!e[o]||!!e[p]?.[o]||O(e)||C(e))}var v=d[f][p].toString(),_=new WeakMap;function E(e){if(!e||!k(e))return!1;const t=l(e);if(null===t||t===d[f])return!0;const r=d.hasOwnProperty.call(t,p)&&t[p];if(r===Object)return!0;if(!P(r))return!1;let n=_.get(r);return void 0===n&&(n=Function.toString.call(r),_.set(r,n)),n===v}function b(e,t,r=!0){0===w(e)?(r?Reflect.ownKeys(e):d.keys(e)).forEach(r=>{t(r,e[r],e)}):e.forEach((r,n)=>t(n,r,e))}function w(e){const t=e[i];return t?t.type_:x(e)?1:O(e)?2:C(e)?3:0}var A=(e,t,r=w(e))=>2===r?e.has(t):d[f].hasOwnProperty.call(e,t),R=(e,t,r=w(e))=>2===r?e.get(t):e[t],I=(e,t,r,n=w(e))=>{2===n?e.set(t,r):3===n?e.add(r):e[t]=r},x=Array.isArray,O=e=>e instanceof Map,C=e=>e instanceof Set,k=e=>"object"==typeof e,P=e=>"function"==typeof e,N=e=>"boolean"==typeof e,M=e=>e.copy_||e.base_,D=e=>e.modified_?e.copy_:e.base_;function q(e,t){if(O(e))return new Map(e);if(C(e))return new Set(e);if(x(e))return Array[f].slice.call(e);const r=E(e);if(!0===t||"class_only"===t&&!r){const t=d.getOwnPropertyDescriptors(e);delete t[i];let r=Reflect.ownKeys(t);for(let n=0;n<r.length;n++){const s=r[n],a=t[s];!1===a[m]&&(a[m]=!0,a[g]=!0),(a.get||a.set)&&(t[s]={[g]:!0,[m]:!0,[h]:a[h],[y]:e[s]})}return d.create(l(e),t)}{const t=l(e);if(null!==t&&r)return{...e};const n=d.create(t);return d.assign(n,e)}}function U(e,t=!1){return F(e)||S(e)||!T(e)||(w(e)>1&&d.defineProperties(e,{set:L,add:L,clear:L,delete:L}),d.freeze(e),t&&b(e,(e,t)=>{U(t,!0)},!1)),e}var L={[y]:function(){c(2)}};function F(e){return null===e||!k(e)||d.isFrozen(e)}var Q="MapSet",j="Patches",$="ArrayMethods",H={};function z(e){const t=H[e];return t||c(0,e),t}var G,K=e=>!!H[e],B=()=>G;function V(e,t){t&&(e.patchPlugin_=z(j),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function W(e){Y(e),e.drafts_.forEach(J),e.drafts_=null}function Y(e){e===G&&(G=e.parent_)}var X=e=>G={drafts_:[],parent_:G,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:K(Q)?z(Q):void 0,arrayMethodsPlugin_:K($)?z($):void 0};function J(e){const t=e[i];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Z(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(void 0!==e&&e!==r){r[i].modified_&&(W(t),c(4)),T(e)&&(e=ee(t,e));const{patchPlugin_:n}=t;n&&n.generateReplacementPatches_(r[i].base_,e,t)}else e=ee(t,r);return function(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&U(t,r)}(t,e,!0),W(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==a?e:void 0}function ee(e,t){if(F(t))return t;const r=t[i];if(!r)return oe(t,e.handledSet_,e);if(!re(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:t}=r;if(t)for(;t.length>0;)t.pop()(e);ae(r,e)}return r.copy_}function te(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var re=(e,t)=>e.scope_===t,ne=[];function se(e,t,r,n){const s=M(e),a=e.type_;if(void 0!==n&&R(s,n,a)===t)return void I(s,n,r,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;b(s,(e,r)=>{if(S(r)){const n=t.get(r)||[];n.push(e),t.set(r,n)}})}const o=e.draftLocations_.get(t)??ne;for(const e of o)I(s,e,r,a)}function ae(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:r}=t;if(r){const n=r.getPath(e);n&&r.generatePatches_(e,n,t)}te(e)}}function oe(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||S(e)||t.has(e)||!T(e)||F(e)||(t.add(e),b(e,(n,s)=>{if(S(s)){const t=s[i];if(re(t,r)){const r=D(t);I(e,n,r,e.type_),te(t)}}else T(s)&&oe(s,t,r)})),e}var ie={get(e,t){if(t===i)return e;let r=e.scope_.arrayMethodsPlugin_;const n=1===e.type_&&"string"==typeof t;if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const s=M(e);if(!A(s,t,e.type_))return function(e,t,r){const n=de(t,r);return n?y in n?n[y]:n.get?.call(e.draft_):void 0}(e,s,t);const a=s[t];if(e.finalized_||!T(a))return a;if(n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return a;if(a===ce(e.base_,t)){pe(e);const r=1===e.type_?+t:t,n=fe(0,a,e,r);return e.copy_[r]=n}return a},has:(e,t)=>t in M(e),ownKeys:e=>Reflect.ownKeys(M(e)),set(e,t,r){const n=de(M(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const n=ce(M(e),t),o=n?.[i];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(((s=r)===(a=n)?0!==s||1/s==1/a:s!=s&&a!=a)&&(void 0!==r||A(e.base_,t,e.type_)))return!0;pe(e),le(e)}var s,a;return e.copy_[t]===r&&(void 0!==r||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),function(e,t,r){const{scope_:n}=e;if(S(r)){const s=r[i];re(s,n)&&s.callbacks_.push(function(){pe(e);const n=D(s);se(e,r,n,t)})}else T(r)&&e.callbacks_.push(function(){const s=M(e);3===e.type_?s.has(r)&&oe(r,n.handledSet_,n):R(s,t,e.type_)===r&&n.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&oe(R(e.copy_,t,e.type_),n.handledSet_,n)})}(e,t,r)),!0},deleteProperty:(e,t)=>(pe(e),void 0!==ce(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),le(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const r=M(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{[m]:!0,[g]:1!==e.type_||"length"!==t,[h]:n[h],[y]:r[t]}:n},defineProperty(){c(11)},getPrototypeOf:e=>l(e.base_),setPrototypeOf(){c(12)}},ue={};for(let e in ie){let t=ie[e];ue[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ce(e,t){const r=e[i];return(r?M(r):e)[t]}function de(e,t){if(!(t in e))return;let r=l(e);for(;r;){const e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=l(r)}}function le(e){e.modified_||(e.modified_=!0,e.parent_&&le(e.parent_))}function pe(e){e.copy_||(e.assigned_=new Map,e.copy_=q(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function fe(e,t,r,n){const[s,a]=O(t)?z(Q).proxyMap_(t,r):C(t)?z(Q).proxySet_(t,r):function(e,t){const r=x(e),n={type_:r?1:0,scope_:t?t.scope_:B(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let s=n,a=ie;r&&(s=[n],a=ue);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return n.draft_=i,n.revoke_=o,[i,n]}(t,r);return(r?.scope_??B()).drafts_.push(s),a.callbacks_=r?.callbacks_??[],a.key_=n,r&&void 0!==n?function(e,t,r){e.callbacks_.push(function(n){const s=t;if(!s||!re(s,n))return;n.mapSetPlugin_?.fixSetContents(s);const a=D(s);se(e,s.draft_??s,a,r),ae(s,n)})}(r,a,n):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),s}function ge(e){return S(e)||c(10,e),he(e)}function he(e){if(!T(e)||F(e))return e;const t=e[i];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=q(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=q(e,!0);return b(r,(e,t)=>{I(r,e,he(t))},n),t&&(t.finalized_=!1),r}ue.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&c(13),ue.set.call(this,e,t,void 0)},ue.set=function(e,t,r){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&c(14),ie.set.call(this,e[0],t,r,e[0])};var me=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,r)=>{if(P(e)&&!P(t)){const r=t;t=e;const n=this;return function(e=r,...s){return n.produce(e,e=>t.call(this,e,...s))}}let n;if(P(t)||c(6),void 0===r||P(r)||c(7),T(e)){const s=X(this),a=fe(0,e,void 0);let o=!0;try{n=t(a),o=!1}finally{o?W(s):Y(s)}return V(s,r),Z(n,s)}if(!e||!k(e)){if(n=t(e),void 0===n&&(n=e),n===a&&(n=void 0),this.autoFreeze_&&U(n,!0),r){const t=[],s=[];z(j).generateReplacementPatches_(e,n,{patches_:t,inversePatches_:s}),r(t,s)}return n}c(1,e)},this.produceWithPatches=(e,t)=>{if(P(e))return(t,...r)=>this.produceWithPatches(t,t=>e(t,...r));let r,n;return[this.produce(e,t,(e,t)=>{r=e,n=t}),r,n]},N(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),N(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),N(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){T(e)||c(8),S(e)&&(e=ge(e));const t=X(this),r=fe(0,e,void 0);return r[i].isManual_=!0,Y(t),r}finishDraft(e,t){const r=e&&e[i];r&&r.isManual_||c(9);const{scope_:n}=r;return V(n,t),Z(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));const n=z(j).applyPatches_;return S(e)?n(e,t):this.produce(e,e=>n(e,t))}},ye=me.produceWithPatches.bind(me),Se=me.applyPatches.bind(me),Te=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},ve=(e,t,r)=>{if(1===t.length&&t[0]===r){let t=!1;try{const r={};e(r)===r&&(t=!0)}catch{}if(t){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("The result function returned its own inputs without modification. e.g\n`createSelector([state => state.todos], todos => todos)`\nThis could lead to inefficient memoization and unnecessary re-renders.\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.",{stack:e})}}},_e=(e,t,r)=>{const{memoize:n,memoizeOptions:s}=t,{inputSelectorResults:a,inputSelectorResultsCopy:o}=e,i=n(()=>({}),...s);if(i.apply(null,a)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:r,firstInputs:a,secondInputs:o,stack:e})}},Ee={inputStabilityCheck:"once",identityFunctionCheck:"once"},be=e=>Array.isArray(e)?e:[e];function we(e,t){const r=[],{length:n}=e;for(let s=0;s<n;s++)r.push(e[s].apply(null,t));return r}var Ae="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Re(){return{s:0,v:void 0,o:null,p:null}}function Ie(e,t={}){let r={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:n}=t;let s,a=0;function o(){let t=r;const{length:o}=arguments;for(let e=0,r=o;e<r;e++){const r=arguments[e];if("function"==typeof r||"object"==typeof r&&null!==r){let e=t.o;null===e&&(t.o=e=new WeakMap);const n=e.get(r);void 0===n?(t=Re(),e.set(r,t)):t=n}else{let e=t.p;null===e&&(t.p=e=new Map);const n=e.get(r);void 0===n?(t=Re(),e.set(r,t)):t=n}}const i=t;let u;if(1===t.s)u=t.v;else if(u=e.apply(null,arguments),a++,n){const e=s?.deref?.()??s;null!=e&&n(e,u)&&(u=e,0!==a&&a--),s="object"==typeof u&&null!==u||"function"==typeof u?new Ae(u):u}return i.s=1,i.v=u,u}return o.clearCache=()=>{r={s:0,v:void 0,o:null,p:null},o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function xe(e,...t){const r="function"==typeof e?{memoize:e,memoizeOptions:t}:e,n=(...e)=>{let t,n=0,s=0,a={},o=e.pop();"object"==typeof o&&(a=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...r,...a},{memoize:u,memoizeOptions:c=[],argsMemoize:d=Ie,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=be(c),g=be(l),h=function(e){const t=Array.isArray(e[0])?e[0]:e;return function(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(e=>"function"==typeof e)){const r=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${r}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}(e),m=u(function(){return n++,o.apply(null,arguments)},...f);let y=!0;const S=d(function(){s++;const e=we(h,arguments);if(t=m.apply(null,e),"production"!==process.env.NODE_ENV){const{identityFunctionCheck:r,inputStabilityCheck:n}=((e,t)=>{const{identityFunctionCheck:r,inputStabilityCheck:n}={...Ee,...t};return{identityFunctionCheck:{shouldRun:"always"===r||"once"===r&&e,run:ve},inputStabilityCheck:{shouldRun:"always"===n||"once"===n&&e,run:_e}}})(y,p);if(r.shouldRun&&r.run(o,e,t),n.shouldRun){const t=we(h,arguments);n.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:u,memoizeOptions:f},arguments)}y&&(y=!1)}return t},...g);return Object.assign(S,{resultFunc:o,memoizedResultFunc:m,dependencies:h,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>t,recomputations:()=>n,resetRecomputations:()=>{n=0},memoize:u,argsMemoize:d})};return Object.assign(n,{withTypes:()=>n}),n}var Oe=xe(Ie),Ce=Object.assign((e,t=Oe)=>{!function(e,t="expected an object, instead received "+typeof e){if("object"!=typeof e)throw new TypeError(t)}(e,"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);const r=Object.keys(e);return t(r.map(t=>e[t]),(...e)=>e.reduce((e,t,n)=>(e[r[n]]=t,e),{}))},{withTypes:()=>Ce}),ke=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(ke||{}),Pe="uninitialized",Ne="pending",Me="fulfilled",De="rejected";function qe(e){return{status:e,isUninitialized:e===Pe,isLoading:e===Ne,isSuccess:e===Me,isError:e===De}}var Ue=e.isPlainObject;function Le(e,t){if(e===t||!(Ue(e)&&Ue(t)||Array.isArray(e)&&Array.isArray(t)))return t;const r=Object.keys(t),n=Object.keys(e);let s=r.length===n.length;const a=Array.isArray(t)?[]:{};for(const n of r)a[n]=Le(e[n],t[n]),s&&(s=e[n]===a[n]);return s?e:a}function Fe(e,t,r){return e.reduce((e,n,s)=>(t(n,s)&&e.push(r(n,s)),e),[]).flat()}function Qe(e){return null!=e}function je(e){return[...e?.values()??[]].filter(Qe)}function $e(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}var He=()=>new Map,ze=e=>{const t=new AbortController;return setTimeout(()=>{const e="signal timed out",r="TimeoutError";t.abort("undefined"!=typeof DOMException?new DOMException(e,r):Object.assign(new Error(e),{name:r}))},e),t.signal},Ge=(...e)=>{for(const t of e)if(t.aborted)return AbortSignal.abort(t.reason);const t=new AbortController;for(const r of e)r.addEventListener("abort",()=>t.abort(r.reason),{signal:t.signal,once:!0});return t.signal},Ke=(...e)=>fetch(...e),Be=e=>e.status>=200&&e.status<=299,Ve=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function We(t){if(!e.isPlainObject(t))return t;const r={...t};for(const[e,t]of Object.entries(r))void 0===t&&delete r[e];return r}var Ye=class{constructor(e,t=void 0){this.value=e,this.meta=t}},Xe="__rtkq/",Je="online",Ze="offline",et="focus",tt="focused",rt="visibilitychange",nt=e.createAction(`${Xe}${tt}`),st=e.createAction(`${Xe}un${tt}`),at=e.createAction(`${Xe}${Je}`),ot=e.createAction(`${Xe}${Ze}`),it=!1,ut="query",ct="mutation",dt="infinitequery";function lt(e){return e.type===ut}function pt(e){return e.type===dt}function ft(e){return lt(e)||pt(e)}function gt(e,t,r,n,s,a){const o="function"==typeof e?e(t,r,n,s):e;return o?Fe(o,Qe,e=>a(ht(e))):[]}function ht(e){return"string"==typeof e?{type:e}:e}var mt=(e,t)=>e.endpointDefinitions[t],yt=Symbol("forceQueryFn"),St=e=>"function"==typeof e[yt],Tt=class extends Te{constructor(e,t,r,n){super(e),this.value=t,this.schemaName=r,this._bqMeta=n}},vt=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function _t(e,t,r,n){const s=await e["~standard"].validate(t);if(s.issues)throw new Tt(s.issues,t,r,n);return s.value}function Et(e){return e}var bt=(t={})=>({...t,[e.SHOULD_AUTOBATCH]:!0});function wt(e,{pages:t,pageParams:r},n){const s=t.length-1;return e.getNextPageParam(t[s],t,r[s],r,n)}function At(e,{pages:t,pageParams:r},n){return e.getPreviousPageParam?.(t[0],t,r[0],r,n)}function Rt(t,r,n,s){return gt(n[t.meta.arg.endpointName][r],e.isFulfilled(t)?t.payload:void 0,e.isRejectedWithValue(t)?t.payload:void 0,t.meta.arg.originalArgs,"baseQueryMeta"in t.meta?t.meta.baseQueryMeta:void 0,s)}function It(e){return S(e)?ge(e):e}function xt(e,t,r){const n=e[t];n&&r(n)}function Ot(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Ct(e,t,r){const n=e[Ot(t)];n&&r(n)}var kt={},Pt=Symbol.for("RTKQ/skipToken"),Nt={status:Pe},Mt=e.createNextState(Nt,()=>{}),Dt=e.createNextState(Nt,()=>{}),qt=WeakMap?new WeakMap:void 0,Ut=({endpointName:t,queryArgs:r})=>{let n="";const s=qt?.get(r);if("string"==typeof s)n=s;else{const t=JSON.stringify(r,(t,r)=>(r="bigint"==typeof r?{$bigint:r.toString()}:r,r=e.isPlainObject(r)?Object.keys(r).sort().reduce((e,t)=>(e[t]=r[t],e),{}):r));e.isPlainObject(r)&&qt?.set(r,t),n=t}return`${t}(${n})`};function Lt(...t){return function(r){const n=Ie(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:n,serializeQueryArgs(e){let t=Ut;if("serializeQueryArgs"in e.endpointDefinition){const r=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=r(e);return"string"==typeof t?t:Ut({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},a={endpointDefinitions:{},batch(e){e()},apiUid:e.nanoid(),extractRehydrationInfo:n,hasRehydrationInfo:Ie(e=>null!=n(e))},o={injectEndpoints:function(t){const r=t.endpoints({query:e=>({...e,type:ut}),mutation:e=>({...e,type:ct}),infiniteQuery:e=>({...e,type:dt})});for(const[n,s]of Object.entries(r))if(!0!==t.overrideExisting&&n in a.endpointDefinitions){if("throw"===t.overrideExisting)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(39):`called \`injectEndpoints\` to override already-existing endpointName ${n} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${n} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&pt(s)){const{infiniteQueryOptions:t}=s,{maxPages:r,getPreviousPageParam:a}=t;if("number"==typeof r){if(r<1)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(40):`maxPages for endpoint '${n}' must be a number greater than 0`);if("function"!=typeof a)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(41):`getPreviousPageParam for endpoint '${n}' must be a function if maxPages is used`)}}a.endpointDefinitions[n]=s;for(const e of i)e.injectEndpoint(n,s)}return o},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)s.tagTypes.includes(t)||s.tagTypes.push(t);if(t)for(const[e,r]of Object.entries(t))"function"==typeof r?r(mt(a,e)):Object.assign(mt(a,e)||{},r);return o}},i=t.map(e=>e.init(o,s,a));return o.injectEndpoints({endpoints:r.endpoints})}}function Ft(e,...t){return Object.assign(e,...t)}var Qt=({api:t,queryThunk:r,context:n,internalState:s,selectors:{selectQueryEntry:a,selectConfig:o},getRunningQueryThunk:i})=>{const{removeQueryResult:u,unsubscribeQueryResult:c,cacheEntriesUpserted:d}=t.internalActions,l=e.isAnyOf(c.match,r.fulfilled,r.rejected,d.match);function p(e){const t=s.currentSubscriptions.get(e);return!!t&&t.size>0}const f={};function g(e){for(const t of e.values())t?.abort?.()}function h(e,t,r){const n=t.getState();for(const s of e){const e=a(n,s);e?.endpointName&&m(s,e.endpointName,t,r)}}function m(e,t,r,s){const o=mt(n,t),c=o?.keepUnusedDataFor??s.keepUnusedDataFor;if(c===1/0)return;const d=Math.max(0,Math.min(c,2147482.647));if(!p(e)){const t=f[e];t&&clearTimeout(t),f[e]=setTimeout(()=>{if(!p(e)){const t=a(r.getState(),e);if(t?.endpointName){const e=r.dispatch(i(t.endpointName,t.originalArgs));e?.abort()}r.dispatch(u({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(e,r)=>{const a=r.getState(),i=o(a);if(l(e)){let t;if(d.match(e))t=e.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:r}=c.match(e)?e.payload:e.meta.arg;t=[r]}h(t,r,i)}if(t.util.resetApiState.match(e)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];g(s.runningQueries),g(s.runningMutations)}if(n.hasRehydrationInfo(e)){const{queries:t}=n.extractRehydrationInfo(e);h(Object.keys(t),r,i)}}},jt=new Error("Promise never resolved before cacheEntryRemoved."),$t=({api:t,reducerPath:r,context:n,queryThunk:s,mutationThunk:a,selectors:{selectQueryEntry:o}})=>{const i=e.isAsyncThunkAction(s),u=e.isAsyncThunkAction(a),c=e.isFulfilled(s,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=t.internalActions;function g(e,t,r){const n=d[e];n?.valueResolved&&(n.valueResolved({data:t,meta:r}),delete n.valueResolved)}function h(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:r}=e.meta,{endpointName:n,originalArgs:s}=t;return[n,s,r]}function y(e,r,s,a,o){const i=mt(n,e),u=i?.onCacheEntryAdded;if(!u)return;const c={},l=new Promise(e=>{c.cacheEntryRemoved=e}),p=Promise.race([new Promise(e=>{c.valueResolved=e}),l.then(()=>{throw jt})]);p.catch(()=>{}),d[s]=c;const f=t.endpoints[e].select(ft(i)?r:s),g=a.dispatch((e,t,r)=>r),h={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:g,updateCachedData:ft(i)?n=>a.dispatch(t.util.updateQueryData(e,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=u(r,h);Promise.resolve(m).catch(e=>{if(e!==jt)throw e})}return(e,n,S)=>{const T=function(e){return i(e)?e.meta.arg.queryCacheKey:u(e)?e.meta.arg.fixedCacheKey??e.meta.requestId:l.match(e)?e.payload.queryCacheKey:p.match(e)?Ot(e.payload):""}(e);function v(e,t,r,s){const a=o(S,t),i=o(n.getState(),t);!a&&i&&y(e,s,t,n,r)}if(s.pending.match(e)){const[t,r,n]=m(e);v(t,T,n,r)}else if(f.match(e))for(const{queryDescription:t,value:r}of e.payload){const{endpointName:n,originalArgs:s,queryCacheKey:a}=t;v(n,a,e.meta.requestId,s),g(a,r,{})}else if(a.pending.match(e)){if(n.getState()[r].mutations[T]){const[t,r,s]=m(e);y(t,r,T,n,s)}}else if(c(e))g(T,e.payload,e.meta.baseQueryMeta);else if(l.match(e)||p.match(e))h(T);else if(t.util.resetApiState.match(e))for(const e of Object.keys(d))h(e)}},Ht=({api:e,context:{apiUid:t},reducerPath:r})=>(n,s)=>{e.util.resetApiState.match(n)&&s.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(n)&&n.payload===t&&"conflict"===s.getState()[r]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${r}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===r?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},zt=({reducerPath:t,context:r,context:{endpointDefinitions:n},mutationThunk:s,queryThunk:a,api:o,assertTagType:i,refetchQuery:u,internalState:c})=>{const{removeQueryResult:d}=o.internalActions,l=e.isAnyOf(e.isFulfilled(s),e.isRejectedWithValue(s)),p=e.isAnyOf(e.isFulfilled(a,s),e.isRejected(a,s));let f=[],g=0;function h(e,n){const s=n.getState(),a=s[t];if(f.push(...e),"delayed"===a.config.invalidationBehavior&&g>0)return;const i=f;if(f=[],0===i.length)return;const l=o.util.selectInvalidatedBy(s,i);r.batch(()=>{const e=Array.from(l.values());for(const{queryCacheKey:t}of e){const e=a.queries[t],r=$e(c.currentSubscriptions,t,He);e&&(0===r.size?n.dispatch(d({queryCacheKey:t})):e.status!==Pe&&n.dispatch(u(e)))}})}return(e,t)=>{(a.pending.match(e)||s.pending.match(e))&&g++,p(e)&&(g=Math.max(0,g-1)),l(e)?h(Rt(e,"invalidatesTags",n,i),t):p(e)?h([],t):o.util.invalidateTags.match(e)&&h(gt(e.payload,void 0,void 0,void 0,void 0,i),t)}},Gt=({reducerPath:e,queryThunk:t,api:r,refetchQuery:n,internalState:s})=>{const{currentPolls:a,currentSubscriptions:o}=s,i=new Set;let u=null;function c(e,t){i.add(e),u||(u=setTimeout(()=>{for(const e of i)l({queryCacheKey:e},t);i.clear(),u=null},0))}function d({queryCacheKey:t},r){const s=r.getState()[e],i=s.queries[t],u=o.get(t);if(!i||i.status===Pe)return;const{lowestPollingInterval:c,skipPollingIfUnfocused:l}=f(u);if(!Number.isFinite(c))return;const p=a.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const g=Date.now()+c;a.set(t,{nextPollTimestamp:g,pollingInterval:c,timeout:setTimeout(()=>{!s.config.focused&&l||r.dispatch(n(i)),d({queryCacheKey:t},r)},c)})}function l({queryCacheKey:t},r){const n=r.getState()[e].queries[t],s=o.get(t);if(!n||n.status===Pe)return;const{lowestPollingInterval:i}=f(s);if("test"===process.env.NODE_ENV){const e=a.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const u=a.get(t),c=Date.now()+i;(!u||c<u.nextPollTimestamp)&&d({queryCacheKey:t},r)}function p(e){const t=a.get(e);t?.timeout&&clearTimeout(t.timeout),a.delete(e)}function f(e=new Map){let t=!1,r=Number.POSITIVE_INFINITY;for(const n of e.values())n.pollingInterval&&(r=Math.min(n.pollingInterval,r),t=n.skipPollingIfUnfocused||t);return{lowestPollingInterval:r,skipPollingIfUnfocused:t}}return(e,n)=>{(r.internalActions.updateSubscriptionOptions.match(e)||r.internalActions.unsubscribeQueryResult.match(e))&&c(e.payload.queryCacheKey,n),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&c(e.meta.arg.queryCacheKey,n),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,n),r.util.resetApiState.match(e)&&(function(){for(const e of a.keys())p(e)}(),u&&(clearTimeout(u),u=null),i.clear())}},Kt=({api:t,context:r,queryThunk:n,mutationThunk:s})=>{const a=e.isPending(n,s),o=e.isRejected(n,s),i=e.isFulfilled(n,s),u={};return(e,n)=>{if(a(e)){const{requestId:s,arg:{endpointName:a,originalArgs:o}}=e.meta,i=mt(r,a),c=i?.onQueryStarted;if(c){const e={},r=new Promise((t,r)=>{e.resolve=t,e.reject=r});r.catch(()=>{}),u[s]=e;const d=t.endpoints[a].select(ft(i)?o:s),l=n.dispatch((e,t,r)=>r),p={...n,getCacheEntry:()=>d(n.getState()),requestId:s,extra:l,updateCachedData:ft(i)?e=>n.dispatch(t.util.updateQueryData(a,o,e)):void 0,queryFulfilled:r};c(o,p)}}else if(i(e)){const{requestId:t,baseQueryMeta:r}=e.meta;u[t]?.resolve({data:e.payload,meta:r}),delete u[t]}else if(o(e)){const{requestId:t,rejectedWithValue:r,baseQueryMeta:n}=e.meta;u[t]?.reject({error:e.payload??e.error,isUnhandledError:!r,meta:n}),delete u[t]}}};var Bt=Symbol(),Vt=({createSelector:t=e.createSelector}={})=>({name:Bt,init(r,{baseQuery:n,tagTypes:s,reducerPath:d,serializeQueryArgs:g,keepUnusedDataFor:h,refetchOnMountOrArgChange:m,refetchOnFocus:y,refetchOnReconnect:v,invalidationBehavior:_,onSchemaFailure:E,catchSchemaFailure:I,skipSchemaValidation:N},M){!function(){"production"!==process.env.NODE_ENV&&u.push('Sets cannot have "replace" patches.',function(e){return"Unsupported patch operation: "+e},function(e){return"Cannot apply patch, path doesn't resolve: "+e},"Patching reserved attributes like __proto__, prototype and constructor is not allowed");const e="replace",t="add",r="remove";function n(e){if(!T(e))return e;if(x(e))return e.map(n);if(O(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,n(t)]));if(C(e))return new Set(Array.from(e).map(n));const t=Object.create(l(e));for(const r in e)t[r]=n(e[r]);return A(e,o)&&(t[o]=e[o]),t}function s(e){return S(e)?n(e):e}var d;H[d=j]||(H[d]={applyPatches_:function(s,a){return a.forEach(a=>{const{path:o,op:i}=a;let u=s;for(let e=0;e<o.length-1;e++){const t=w(u);let r=o[e];"string"!=typeof r&&"number"!=typeof r&&(r=""+r),0!==t&&1!==t||"__proto__"!==r&&r!==p||c(19),P(u)&&r===f&&c(19),u=R(u,r),k(u)||c(18,o.join("/"))}const d=w(u),l=n(a.value),g=o[o.length-1];switch(i){case e:switch(d){case 2:return u.set(g,l);case 3:c(16);default:return u[g]=l}case t:switch(d){case 1:return"-"===g?u.push(l):u.splice(g,0,l);case 2:return u.set(g,l);case 3:return u.add(l);default:return u[g]=l}case r:switch(d){case 1:return u.splice(g,1);case 2:return u.delete(g);case 3:return u.delete(a.value);default:return delete u[g]}default:c(17,i)}}),s},generatePatches_:function(n,a,o){if(n.scope_.processedForPatches_.has(n))return;n.scope_.processedForPatches_.add(n);const{patches_:u,inversePatches_:c}=o;switch(n.type_){case 0:case 2:return function(n,a,o,i){const{base_:u,copy_:c,type_:d}=n;b(n.assigned_,(n,l)=>{const p=R(u,n,d),f=R(c,n,d),g=l?A(u,n)?e:t:r;if(p===f&&g===e)return;const h=a.concat(n);o.push(g===r?{op:g,path:h}:{op:g,path:h,value:s(f)}),i.push(g===t?{op:r,path:h}:g===r?{op:t,path:h,value:s(p)}:{op:e,path:h,value:s(p)})})}(n,a,u,c);case 1:return function(n,a,o,u){let{base_:c,assigned_:d}=n,l=n.copy_;l.length<c.length&&([c,l]=[l,c],[o,u]=[u,o]);const p=!0===n.allIndicesReassigned_;for(let t=0;t<c.length;t++){const r=l[t],n=c[t];if((p||d?.get(t.toString()))&&r!==n){const c=r?.[i];if(c&&c.modified_)continue;const d=a.concat([t]);o.push({op:e,path:d,value:s(r)}),u.push({op:e,path:d,value:s(n)})}}for(let e=c.length;e<l.length;e++){const r=a.concat([e]);o.push({op:t,path:r,value:s(l[e])})}for(let e=l.length-1;c.length<=e;--e){const t=a.concat([e]);u.push({op:r,path:t})}}(n,a,u,c);case 3:return function(e,n,s,a){let{base_:o,copy_:i}=e,u=0;o.forEach(e=>{if(!i.has(e)){const o=n.concat([u]);s.push({op:r,path:o,value:e}),a.unshift({op:t,path:o,value:e})}u++}),u=0,i.forEach(e=>{if(!o.has(e)){const o=n.concat([u]);s.push({op:t,path:o,value:e}),a.unshift({op:r,path:o,value:e})}u++})}(n,a,u,c)}},generateReplacementPatches_:function(t,r,n){const{patches_:s,inversePatches_:o}=n;s.push({op:e,path:[],value:r===a?void 0:r}),o.push({op:e,path:[],value:t})},getPath:function e(t,r=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,s=(n=R(e,t.key_),k(n)?n?.[i]:null),a=R(e,t.key_);if(void 0===a)return null;if(a!==t.draft_&&a!==t.base_&&a!==t.copy_)return null;if(null!=s&&s.base_!==t.base_)return null;const o=3===t.parent_.type_;let u;if(u=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>u||A(e,u)))return null;r.push(u)}var n;if(t.parent_)return e(t.parent_,r);r.reverse();try{!function(e,t){let r=e;for(let e=0;e<t.length-1;e++)if(r=R(r,t[e]),!k(r)||null===r)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,r)}catch(e){return null}return r}})}();const D=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(s.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(r,{reducerPath:d,endpoints:{},internalActions:{onOnline:at,onOffline:ot,onFocus:nt,onFocusLost:st},util:{}});const q=function({serializeQueryArgs:e,reducerPath:t,createSelector:r}){const n=e=>Mt,s=e=>Dt;return{buildQuerySelector:function(e,t){return c(e,t,a)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:r}=t;return c(e,t,function(e){const t={...e,...qe(e.status)},{isLoading:n,isError:s,direction:a}=t,o="forward"===a,i="backward"===a;return{...t,hasNextPage:(u=r,c=t.data,l=t.originalArgs,!!c&&null!=wt(u,c,l)),hasPreviousPage:d(r,t.data,t.originalArgs),isFetchingNextPage:n&&o,isFetchingPreviousPage:n&&i,isFetchNextPageError:s&&o,isFetchPreviousPageError:s&&i};var u,c,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Ot(e)??Pt:e,r(t===Pt?s:e=>o(e)?.mutations?.[t]??Dt,a)}},selectInvalidatedBy:function(e,r){const n=e[t],s=new Set,a=Fe(r,Qe,ht);for(const e of a){const t=n.provided.tags[e.type];if(!t)continue;let r=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of r)s.add(e)}return Array.from(s.values()).flatMap(e=>{const t=n.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return Fe(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==Pe,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:u,selectConfig:function(e){return o(e)?.config}};function a(e){return{...e,...qe(e.status)}}function o(e){const r=e[t];if("production"!==process.env.NODE_ENV&&!r){if(o.triggered)return r;o.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return r}function i(e){return o(e)?.queries}function u(e,t){return i(e)?.[t]}function c(t,s,a){return o=>{if(o===Pt)return r(n,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return r(e=>u(e,i)??Mt,a)}}function d(e,t,r){return!(!t||!e.getPreviousPageParam)&&null!=At(e,t,r)}}({serializeQueryArgs:g,reducerPath:d,createSelector:t}),{selectInvalidatedBy:U,selectCachedArgsForQuery:L,buildQuerySelector:F,buildInfiniteQuerySelector:Q,buildMutationSelector:$}=q;Ft(r.util,{selectInvalidatedBy:U,selectCachedArgsForQuery:L});const{queryThunk:z,infiniteQueryThunk:G,mutationThunk:K,patchQueryData:B,updateQueryData:V,upsertQueryData:W,prefetch:Y,buildMatchThunkActions:X}=function({reducerPath:t,baseQuery:r,context:{endpointDefinitions:n},serializeQueryArgs:s,api:a,assertTagType:o,selectors:i,onSchemaFailure:u,catchSchemaFailure:c,skipSchemaValidation:d}){function l(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}function p(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}const f=(e,t)=>e.query&&e[t]?e[t]:Et,g=async(e,{signal:t,abort:s,rejectWithValue:a,fulfillWithValue:o,dispatch:g,getState:m,extra:y})=>{const S=n[e.endpointName],{metaSchema:T,skipSchemaValidation:v=d}=S,_=e.type===ut;try{let E=Et;const b={signal:t,abort:s,dispatch:g,getState:m,extra:y,endpoint:e.endpointName,type:e.type,forced:_?h(e,m()):void 0,queryCacheKey:_?e.queryCacheKey:void 0},w=_?e[yt]:void 0;let A;const R=async(t,r,n,s)=>{if(null==r&&t.pages.length)return Promise.resolve({data:t});const a={queryArg:e.originalArgs,pageParam:r},o=await I(a),i=s?l:p;return{data:{pages:i(t.pages,o.data,n),pageParams:i(t.pageParams,r,n)},meta:o.meta}};async function I(t){let n;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=S;if(a&&!vt(v,"arg")&&(t=await _t(a,t,"argSchema",{})),w?n=w():S.query?(E=f(S,"transformResponse"),n=await r(S.query(t),b,s)):n=await S.queryFn(t,b,s,e=>r(e,b,s)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=S.query?"`baseQuery`":"`queryFn`";let r;if(n){if("object"!=typeof n)r=`${t} did not return an object.`;else if(n.error&&n.data)r=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===n.error&&void 0===n.data)r=`${t} returned an object containing neither a valid \`error\` and \`result\`. At least one of them should not be \`undefined\``;else for(const e of Object.keys(n))if("error"!==e&&"data"!==e&&"meta"!==e){r=`The object returned by ${t} has the unknown property ${e}.`;break}}else r=`${t} did not return anything.`;r&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${r}\n It needs to return an object with either the shape \`{ data: <value> }\` or \`{ error: <value> }\` that may contain an optional \`meta\` property.\n Object returned was:`,n)}if(n.error)throw new Ye(n.error,n.meta);let{data:u}=n;o&&!vt(v,"rawResponse")&&(u=await _t(o,n.data,"rawResponseSchema",n.meta));let c=await E(u,n.meta,t);return i&&!vt(v,"response")&&(c=await _t(i,c,"responseSchema",n.meta)),{...n,data:c}}if(_&&"infiniteQueryOptions"in S){const{infiniteQueryOptions:x}=S,{maxPages:O=1/0}=x,C=e.refetchCachedPages??x.refetchCachedPages??!0;let k;const P={pages:[],pageParams:[]},N=i.selectQueryEntry(m(),e.queryCacheKey)?.data,M=h(e,m())&&!e.direction||!N?P:N;if("direction"in e&&e.direction&&M.pages.length){const D="backward"===e.direction,q=(D?At:wt)(x,M,e.originalArgs);k=await R(M,q,O,D)}else{const{initialPageParam:U=x.initialPageParam}=e,L=N?.pageParams??[],F=L[0]??U,Q=L.length;if(k=await R(M,F,O),w&&(k={data:k.data.pages[0]}),C)for(let j=1;j<Q;j++){const $=wt(x,k.data,e.originalArgs);k=await R(k.data,$,O)}}A=k}else A=await I(e.originalArgs);return T&&!vt(v,"meta")&&A.meta&&(A.meta=await _t(T,A.meta,"metaSchema",A.meta)),o(A.data,bt({fulfilledTimeStamp:Date.now(),baseQueryMeta:A.meta}))}catch(H){let z=H;if(z instanceof Ye){let G=f(S,"transformErrorResponse");const{rawErrorResponseSchema:K,errorResponseSchema:B}=S;let{value:V,meta:W}=z;try{K&&!vt(v,"rawErrorResponse")&&(V=await _t(K,V,"rawErrorResponseSchema",W)),T&&!vt(v,"meta")&&(W=await _t(T,W,"metaSchema",W));let Y=await G(V,W,e.originalArgs);return B&&!vt(v,"errorResponse")&&(Y=await _t(B,Y,"errorResponseSchema",W)),a(Y,bt({baseQueryMeta:W}))}catch(X){z=X}}try{if(z instanceof Tt){const J={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:_?e.queryCacheKey:void 0};S.onSchemaFailure?.(z,J),u?.(z,J);const{catchSchemaFailure:Z=c}=S;if(Z)return a(Z(z,J),bt({baseQueryMeta:z._bqMeta}))}}catch(ee){z=ee}throw"undefined"!=typeof process&&"production"!==process.env.NODE_ENV?console.error(`An unhandled error occurred processing a request for the endpoint "${e.endpointName}".\nIn the case of an unhandled error, no tags will be "provided" or "invalidated".`,z):console.error(z),z}};function h(e,t){const r=i.selectQueryEntry(t,e.queryCacheKey),n=i.selectConfig(t).refetchOnMountOrArgChange,s=r?.fulfilledTimeStamp,a=e.forceRefetch??(e.subscribe&&n);return!!a&&(!0===a||(Number(new Date)-Number(s))/1e3>=a)}const m=()=>e.createAsyncThunk(`${t}/executeQuery`,g,{getPendingMeta({arg:e}){const t=n[e.endpointName];return bt({startedTimeStamp:Date.now(),...pt(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),s=i.selectQueryEntry(r,e.queryCacheKey),a=s?.fulfilledTimeStamp,o=e.originalArgs,u=s?.originalArgs,c=n[e.endpointName],d=e.direction;return!(!St(e)&&("pending"===s?.status||!h(e,r)&&(!lt(c)||!c?.forceRefetch?.({currentArg:o,previousArg:u,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),y=m(),S=m();function v(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:y,mutationThunk:e.createAsyncThunk(`${t}/executeMutation`,g,{getPendingMeta:()=>bt({startedTimeStamp:Date.now()})}),infiniteQueryThunk:S,prefetch:(e,t,r={})=>(n,s)=>{const o=(e=>"force"in e)(r)&&r.force,i=(e=>"ifOlderThan"in e)(r)&&r.ifOlderThan,u=(r=!0)=>a.endpoints[e].initiate(t,{forceRefetch:r,subscribe:!1}),c=a.endpoints[e].select(t)(s());if(o)n(u());else if(i){const e=c?.fulfilledTimeStamp;if(!e)return void n(u());(Number(new Date)-Number(new Date(e)))/1e3>=i&&n(u())}else n(u(!1))},updateQueryData:(e,t,r,n=!0)=>(s,o)=>{const i=a.endpoints[e].select(t)(o()),u={patches:[],inversePatches:[],undo:()=>s(a.util.patchQueryData(e,t,u.inversePatches,n))};if(i.status===Pe)return u;let c;if("data"in i)if(T(i.data)){const[e,t,n]=ye(i.data,r);u.patches.push(...t),u.inversePatches.push(...n),c=e}else c=r(i.data),u.patches.push({op:"replace",path:[],value:c}),u.inversePatches.push({op:"replace",path:[],value:i.data});return 0===u.patches.length||s(a.util.patchQueryData(e,t,u.patches,n)),u},upsertQueryData:(e,t,r)=>n=>n(a.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[yt]:()=>({data:r})})),patchQueryData:(e,t,r,i)=>(u,c)=>{const d=n[e],l=s({queryArgs:t,endpointDefinition:d,endpointName:e});if(u(a.internalActions.queryResultPatched({queryCacheKey:l,patches:r})),!i)return;const p=a.endpoints[e].select(t)(c()),f=gt(d.providesTags,p.data,void 0,t,{},o);u(a.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(t,r){return{matchPending:e.isAllOf(e.isPending(t),v(r)),matchFulfilled:e.isAllOf(e.isFulfilled(t),v(r)),matchRejected:e.isAllOf(e.isRejected(t),v(r))}}}}({baseQuery:n,reducerPath:d,context:M,api:r,serializeQueryArgs:g,assertTagType:D,selectors:q,onSchemaFailure:E,catchSchemaFailure:I,skipSchemaValidation:N}),{reducer:J,actions:Z}=function({reducerPath:t,queryThunk:r,mutationThunk:n,serializeQueryArgs:s,context:{endpointDefinitions:a,apiUid:o,extractRehydrationInfo:u,hasRehydrationInfo:d},assertTagType:l,config:p}){const f=e.createAction(`${t}/resetApiState`);function g(e,t,r,n){e[t.queryCacheKey]??={status:Pe,endpointName:t.endpointName},xt(e,t.queryCacheKey,e=>{e.status=Ne,e.requestId=r&&e.requestId?e.requestId:n.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=n.startedTimeStamp,pt(a[n.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function h(t,r,n,s){xt(t,r.arg.queryCacheKey,t=>{if(t.requestId!==r.requestId&&!s)return;const{merge:o}=a[r.arg.endpointName];if(t.status=Me,o)if(void 0!==t.data){const{fulfilledTimeStamp:s,arg:a,baseQueryMeta:i,requestId:u}=r;let c=e.createNextState(t.data,e=>o(e,n,{arg:a.originalArgs,baseQueryMeta:i,fulfilledTimeStamp:s,requestId:u}));t.data=c}else t.data=n;else t.data=a[r.arg.endpointName].structuralSharing??1?Le(S(t.data)?(S(u=t.data)||c(15,u),u[i].base_):t.data,n):n;var u;delete t.error,t.fulfilledTimeStamp=r.fulfilledTimeStamp})}const m=e.createSlice({name:`${t}/queries`,initialState:kt,reducers:{removeQueryResult:{reducer(e,{payload:{queryCacheKey:t}}){delete e[t]},prepare:e.prepareAutoBatched()},cacheEntriesUpserted:{reducer(e,t){for(const r of t.payload){const{queryDescription:n,value:s}=r;g(e,n,!0,{arg:n,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),h(e,{arg:n,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},s,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:r,value:n}=e;return{queryDescription:{type:ut,endpointName:t,originalArgs:e.arg,queryCacheKey:s({queryArgs:r,endpointDefinition:a[t],endpointName:t})},value:n}}),meta:{[e.SHOULD_AUTOBATCH]:!0,requestId:e.nanoid(),timestamp:Date.now()}})},queryResultPatched:{reducer(e,{payload:{queryCacheKey:t,patches:r}}){xt(e,t,e=>{e.data=Se(e.data,r.concat())})},prepare:e.prepareAutoBatched()}},extraReducers(e){e.addCase(r.pending,(e,{meta:t,meta:{arg:r}})=>{g(e,r,St(r),t)}).addCase(r.fulfilled,(e,{meta:t,payload:r})=>{h(e,t,r,St(t.arg))}).addCase(r.rejected,(e,{meta:{condition:t,arg:r,requestId:n},error:s,payload:a})=>{xt(e,r.queryCacheKey,e=>{if(t);else{if(e.requestId!==n)return;e.status=De,e.error=a??s}})}).addMatcher(d,(e,t)=>{const{queries:r}=u(t);for(const[t,n]of Object.entries(r))n?.status!==Me&&n?.status!==De||(e[t]=n)})}}),y=e.createSlice({name:`${t}/mutations`,initialState:kt,reducers:{removeMutationResult:{reducer(e,{payload:t}){const r=Ot(t);r in e&&delete e[r]},prepare:e.prepareAutoBatched()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{requestId:r,arg:n,startedTimeStamp:s}})=>{n.track&&(e[Ot(t)]={requestId:r,status:Ne,endpointName:n.endpointName,startedTimeStamp:s})}).addCase(n.fulfilled,(e,{payload:t,meta:r})=>{r.arg.track&&Ct(e,r,e=>{e.requestId===r.requestId&&(e.status=Me,e.data=t,e.fulfilledTimeStamp=r.fulfilledTimeStamp)})}).addCase(n.rejected,(e,{payload:t,error:r,meta:n})=>{n.arg.track&&Ct(e,n,e=>{e.requestId===n.requestId&&(e.status=De,e.error=t??r)})}).addMatcher(d,(e,t)=>{const{mutations:r}=u(t);for(const[t,n]of Object.entries(r))n?.status!==Me&&n?.status!==De||t===n?.requestId||(e[t]=n)})}}),T=e.createSlice({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:r,providedTags:n}of t.payload){v(e,r);for(const{type:t,id:s}of n){const n=(e.tags[t]??={})[s||"__internal_without_id"]??=[];n.includes(r)||n.push(r)}e.keys[r]=n}},prepare:e.prepareAutoBatched()}},extraReducers(t){t.addCase(m.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{v(e,t)}).addMatcher(d,(e,t)=>{const{provided:r}=u(t);for(const[t,n]of Object.entries(r.tags??{}))for(const[s,a]of Object.entries(n)){const n=(e.tags[t]??={})[s||"__internal_without_id"]??=[];for(const t of a)n.includes(t)||n.push(t),e.keys[t]=r.keys[t]}}).addMatcher(e.isAnyOf(e.isFulfilled(r),e.isRejectedWithValue(r)),(e,t)=>{_(e,[t])}).addMatcher(m.actions.cacheEntriesUpserted.match,(e,t)=>{_(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function v(e,t){const r=It(e.keys[t]??[]);for(const n of r){const r=n.type,s=n.id??"__internal_without_id",a=e.tags[r]?.[s];a&&(e.tags[r][s]=It(a).filter(e=>e!==t))}delete e.keys[t]}function _(e,t){const r=t.map(e=>{const t=Rt(e,"providesTags",a,l),{queryCacheKey:r}=e.meta.arg;return{queryCacheKey:r,providedTags:t}});T.caseReducers.updateProvidedBy(e,T.actions.updateProvidedBy(r))}const E=e.createSlice({name:`${t}/subscriptions`,initialState:kt,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),b=e.createSlice({name:`${t}/internalSubscriptions`,initialState:kt,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Se(e,t.payload),prepare:e.prepareAutoBatched()}}}),w=e.createSlice({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,...p},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&o===t||"conflict"}},extraReducers:e=>{e.addCase(at,e=>{e.online=!0}).addCase(ot,e=>{e.online=!1}).addCase(nt,e=>{e.focused=!0}).addCase(st,e=>{e.focused=!1}).addMatcher(d,e=>({...e}))}}),A=e.combineReducers({queries:m.reducer,mutations:y.reducer,provided:T.reducer,subscriptions:b.reducer,config:w.reducer});return{reducer:(e,t)=>A(f.match(t)?void 0:e,t),actions:{...w.actions,...m.actions,...E.actions,...b.actions,...y.actions,...T.actions,resetApiState:f}}}({context:M,queryThunk:z,mutationThunk:K,serializeQueryArgs:g,reducerPath:d,assertTagType:D,config:{refetchOnFocus:y,refetchOnReconnect:v,refetchOnMountOrArgChange:m,keepUnusedDataFor:h,reducerPath:d,invalidationBehavior:_}});Ft(r.util,{patchQueryData:B,updateQueryData:V,upsertQueryData:W,prefetch:Y,resetApiState:Z.resetApiState,upsertQueryEntries:Z.cacheEntriesUpserted}),Ft(r.internalActions,Z);const ee=new WeakMap,te=e=>$e(ee,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:re,buildInitiateInfiniteQuery:ne,buildInitiateMutation:se,getRunningMutationThunk:ae,getRunningMutationsThunk:oe,getRunningQueriesThunk:ie,getRunningQueryThunk:ue}=function({serializeQueryArgs:t,queryThunk:r,infiniteQueryThunk:n,mutationThunk:s,api:a,context:o,getInternalState:i}){const u=e=>i(e)?.runningQueries,c=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=a.internalActions;return{buildInitiateQuery:function(e,t){return g(e,t)},buildInitiateInfiniteQuery:function(e,t){return g(e,t)},buildInitiateMutation:function(e){return(t,{track:r=!0,fixedCacheKey:n}={})=>(a,o)=>{const i=s({type:"mutation",endpointName:e,originalArgs:t,track:r,fixedCacheKey:n}),u=a(i);f(a);const{requestId:d,abort:p,unwrap:g}=u,h=u.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(h,{arg:u.arg,requestId:d,abort:p,unwrap:g,reset:()=>{a(l({requestId:d,fixedCacheKey:n}))}}),y=c(a);return y.set(d,m),m.then(()=>{y.delete(d)}),n&&(y.set(n,m),m.then(()=>{y.get(n)===m&&y.delete(n)})),m}},getRunningQueryThunk:function(e,r){return n=>{const s=mt(o,e),a=t({queryArgs:r,endpointDefinition:s,endpointName:e});return u(n)?.get(a)}},getRunningMutationThunk:function(e,t){return e=>c(e)?.get(t)},getRunningQueriesThunk:function(){return e=>je(u(e))},getRunningMutationsThunk:function(){return e=>je(c(e))}};function f(t){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const r=t(a.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof r||"string"==typeof r?.type)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(34):`Warning: Middleware for RTK-Query API at reducerPath "${a.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function g(e,s){const o=(i,{subscribe:c=!0,forceRefetch:l,subscriptionOptions:g,[yt]:h,...m}={})=>(y,S)=>{const T=t({queryArgs:i,endpointDefinition:s,endpointName:e});let v;const _={...m,type:ut,subscribe:c,forceRefetch:l,subscriptionOptions:g,endpointName:e,originalArgs:i,queryCacheKey:T,[yt]:h};if(lt(s))v=r(_);else{const{direction:e,initialPageParam:t,refetchCachedPages:r}=m;v=n({..._,direction:e,initialPageParam:t,refetchCachedPages:r})}const E=a.endpoints[e].select(i),b=y(v),w=E(S());f(y);const{requestId:A,abort:R}=b,I=w.requestId!==A,x=u(y)?.get(T),O=()=>E(S()),C=Object.assign(h?b.then(O):I&&!x?Promise.resolve(w):Promise.all([x,b]).then(O),{arg:i,requestId:A,subscriptionOptions:g,queryCacheKey:T,abort:R,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){c&&y(d({queryCacheKey:T,requestId:A}))},updateSubscriptionOptions(t){C.subscriptionOptions=t,y(p({endpointName:e,requestId:A,queryCacheKey:T,options:t}))}});if(!x&&!I&&!h){const e=u(y);e.set(T,C),C.then(()=>{e.delete(T)})}return C};return o}}({queryThunk:z,mutationThunk:K,infiniteQueryThunk:G,api:r,serializeQueryArgs:g,context:M,getInternalState:te});Ft(r.util,{getRunningMutationThunk:ae,getRunningMutationsThunk:oe,getRunningQueryThunk:ue,getRunningQueriesThunk:ie});const{middleware:ce,actions:de}=function(t){const{reducerPath:r,api:n,context:s,getInternalState:a}=t,{apiUid:o}=s,i={invalidateTags:e.createAction(`${r}/invalidateTags`)},u=e=>e.type.startsWith(`${r}/`),c=[Ht,Qt,zt,Gt,$t,Kt];return{middleware:i=>{let l=!1;const p=a(i.dispatch),f={...t,internalState:p,refetchQuery:d,isThisApiSliceAction:u,mwApi:i},g=c.map(e=>e(f)),h=(({api:e,queryThunk:t,internalState:r})=>{const n=`${e.reducerPath}/subscriptions`;let s=null,a=null;const{updateSubscriptionOptions:o,unsubscribeQueryResult:i}=e.internalActions,u=()=>r.currentSubscriptions,c={getSubscriptions:u,getSubscriptionCount:e=>{const t=u().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const r=u();return!!r?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(u,l)=>{if(s||(s=d(r.currentSubscriptions)),e.util.resetApiState.match(u))return s={},r.currentSubscriptions.clear(),a=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(u))return[!1,c];const p=((r,n)=>{if(o.match(n)){const{queryCacheKey:e,requestId:t,options:s}=n.payload,a=r.get(e);return a?.has(t)&&a.set(t,s),!0}if(i.match(n)){const{queryCacheKey:e,requestId:t}=n.payload,s=r.get(e);return s&&s.delete(t),!0}if(e.internalActions.removeQueryResult.match(n))return r.delete(n.payload.queryCacheKey),!0;if(t.pending.match(n)){const{meta:{arg:e,requestId:t}}=n,s=$e(r,e.queryCacheKey,He);return e.subscribe&&s.set(t,e.subscriptionOptions??s.get(t)??{}),!0}let s=!1;if(t.rejected.match(n)){const{meta:{condition:e,arg:t,requestId:a}}=n;if(e&&t.subscribe){const e=$e(r,t.queryCacheKey,He);e.set(a,t.subscriptionOptions??e.get(a)??{}),s=!0}}return s})(r.currentSubscriptions,u);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof u.type&&u.type===`${e.reducerPath}/getPolling`)return[!1,r.currentPolls];if(p){a||(a=setTimeout(()=>{const t=d(r.currentSubscriptions),[,n]=ye(s,()=>t);l.next(e.internalActions.subscriptionsUpdated(n)),s=t,a=null},500));const o="string"==typeof u.type&&!!u.type.startsWith(n),i=t.rejected.match(u)&&u.meta.condition&&!!u.meta.arg.subscribe;f=!o&&!i}return[f,!1]}})(f),m=(({reducerPath:e,context:t,api:r,refetchQuery:n,internalState:s})=>{const{removeQueryResult:a}=r.internalActions;function o(r,o){const i=r.getState()[e],u=i.queries,c=s.currentSubscriptions;t.batch(()=>{for(const e of c.keys()){const t=u[e],s=c.get(e);if(!s||!t)continue;const d=[...s.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===s.size?r.dispatch(a({queryCacheKey:e})):t.status!==Pe&&r.dispatch(n(t)))}})}return(e,t)=>{nt.match(e)&&o(t,"refetchOnFocus"),at.match(e)&&o(t,"refetchOnReconnect")}})(f);return t=>a=>{if(!e.isAction(a))return t(a);l||(l=!0,i.dispatch(n.internalActions.middlewareRegistered(o)));const c={...i,next:t},d=i.getState(),[p,f]=h(a,c,d);let y;if(y=p?t(a):f,i.getState()[r]&&(m(a,c,d),u(a)||s.hasRehydrationInfo(a)))for(const e of g)e(a,c,d);return y}},actions:i};function d(e){return t.api.endpoints[e.endpointName].initiate(e.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:d,context:M,queryThunk:z,mutationThunk:K,infiniteQueryThunk:G,api:r,assertTagType:D,selectors:q,getRunningQueryThunk:ue,getInternalState:te});return Ft(r.util,de),Ft(r,{reducer:J,middleware:ce}),{name:Bt,injectEndpoint(e,t){const n=r,s=n.endpoints[e]??={};lt(t)&&Ft(s,{name:e,select:F(e,t),initiate:re(e,t)},X(z,e)),t.type===ct&&Ft(s,{name:e,select:$(),initiate:se(e)},X(K,e)),pt(t)&&Ft(s,{name:e,select:Q(e,t),initiate:ne(e,t)},X(z,e))}}}});function Wt(e){return e.replace(e[0],e[0].toUpperCase())}function Yt(e){let t=0;for(const r in e)t++;return t}function Xt(e){return"infinitequery"===e.type}function Jt(e,...t){return Object.assign(e,...t)}Vt();var Zt=Symbol();function er(e){const t=r.useRef(e),n=r.useMemo(()=>Le(t.current,e),[e]);return r.useEffect(()=>{t.current!==n&&(t.current=n)},[n]),n}function tr(e){const n=r.useRef(e);return r.useEffect(()=>{t.shallowEqual(n.current,e)||(n.current=e)},[e]),t.shallowEqual(n.current,e)?n.current:e}var rr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),nr=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),sr=(()=>rr||nr?r.useLayoutEffect:r.useEffect)(),ar=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:ke.pending}:e;function or(e,...t){const r={};return t.forEach(t=>{r[t]=e[t]}),r}var ir=["data","status","isLoading","isSuccess","isError","error"],ur=Symbol(),cr=Lt(Vt(),(({batch:n=t.batch,hooks:s={useDispatch:t.useDispatch,useSelector:t.useSelector,useStore:t.useStore},createSelector:a=Oe,unstable__sideEffectsInRender:o=!1,...i}={})=>{if("production"!==process.env.NODE_ENV){const t=["useDispatch","useSelector","useStore"];let r=!1;for(const n of t)if(Yt(i)>0&&(i[n]&&(r||(console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`"),r=!0)),s[n]=i[n]),"function"!=typeof s[n])throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(36):`When using custom hooks for context, all ${t.length} hooks need to be provided: ${t.join(", ")}.\nHook ${n} was either not provided or not a function.`)}return{name:ur,init(i,{serializeQueryArgs:u},c){const d=i,{buildQueryHooks:l,buildInfiniteQueryHooks:p,buildMutationHook:f,usePrefetch:g}=function({api:n,moduleOptions:{batch:s,hooks:{useDispatch:a,useSelector:o,useStore:i},unstable__sideEffectsInRender:u,createSelector:c},serializeQueryArgs:d,context:l}){const p=u?e=>e():r.useEffect,f=e=>e.current?.unsubscribe?.(),g=l.endpointDefinitions;return{buildQueryHooks:function(t){const o=(n,s={})=>{const[a]=y(t,n,s);return T(a),r.useMemo(()=>({refetch:()=>function(t){if(!t.current)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(38):"Cannot refetch a query that has not been started yet.");return t.current.refetch()}(a)}),[a])},i=({refetchOnReconnect:e,refetchOnFocus:o,pollingInterval:i=0,skipPollingIfUnfocused:u=!1}={})=>{const{initiate:c}=n.endpoints[t],d=a(),[l,g]=r.useState(Zt),h=r.useRef(void 0),m=tr({refetchOnReconnect:e,refetchOnFocus:o,pollingInterval:i,skipPollingIfUnfocused:u});p(()=>{const e=h.current?.subscriptionOptions;m!==e&&h.current?.updateSubscriptionOptions(m)},[m]);const y=r.useRef(m);p(()=>{y.current=m},[m]);const S=r.useCallback(function(e,t=!1){let r;return s(()=>{f(h),h.current=r=d(c(e,{subscriptionOptions:y.current,forceRefetch:!t})),g(e)}),r},[d,c]),T=r.useCallback(()=>{h.current?.queryCacheKey&&d(n.internalActions.removeQueryResult({queryCacheKey:h.current?.queryCacheKey}))},[d]);return r.useEffect(()=>()=>{f(h)},[]),r.useEffect(()=>{l===Zt||h.current||S(l,!0)},[l,S]),r.useMemo(()=>[S,l,{reset:T}],[S,l,T])},u=S(t,h);return{useQueryState:u,useQuerySubscription:o,useLazyQuerySubscription:i,useLazyQuery(e){const[t,n,{reset:s}]=i(e),a=u(n,{...e,skip:n===Zt}),o=r.useMemo(()=>({lastArg:n}),[n]);return r.useMemo(()=>[t,{...a,reset:s},o],[t,a,s,o])},useQuery(e,t){const n=o(e,t),s=u(e,{selectFromResult:e===Pt||t?.skip?void 0:ar,...t}),a=or(s,...ir);return r.useDebugValue(a),r.useMemo(()=>({...s,...n}),[s,n])}}},buildInfiniteQueryHooks:function(t){const n=(n,a={})=>{const[o,i,u,c]=y(t,n,a),d=r.useRef(c);p(()=>{d.current=c},[c]);const l=tr(a.refetchCachedPages),g=r.useCallback(function(e,t){let r;return s(()=>{f(o),o.current=r=i(u(e,{subscriptionOptions:d.current,direction:t}))}),r},[o,i,u]);T(o);const h=er(a.skip?Pt:n),m=r.useCallback(t=>{if(!o.current)throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(38):"Cannot refetch a query that has not been started yet.");return o.current.refetch({refetchCachedPages:t?.refetchCachedPages??l})},[o,l]);return r.useMemo(()=>({trigger:g,refetch:m,fetchNextPage:()=>g(h,"forward"),fetchPreviousPage:()=>g(h,"backward")}),[m,g,h])},a=S(t,m);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:n,useInfiniteQuery(e,t){const{refetch:s,fetchNextPage:o,fetchPreviousPage:i}=n(e,t),u=a(e,{selectFromResult:e===Pt||t?.skip?void 0:ar,...t}),c=or(u,...ir,"hasNextPage","hasPreviousPage");return r.useDebugValue(c),r.useMemo(()=>({...u,fetchNextPage:o,fetchPreviousPage:i,refetch:s}),[u,o,i,s])}}},buildMutationHook:function(e){return({selectFromResult:i,fixedCacheKey:u}={})=>{const{select:d,initiate:l}=n.endpoints[e],p=a(),[f,g]=r.useState();r.useEffect(()=>()=>{f?.arg.fixedCacheKey||f?.reset()},[f]);const h=r.useCallback(function(e){const t=p(l(e,{fixedCacheKey:u}));return g(t),t},[p,l,u]),{requestId:m}=f||{},y=r.useMemo(()=>d({fixedCacheKey:u,requestId:f?.requestId}),[u,f,d]),S=r.useMemo(()=>i?c([y],i):y,[i,y]),T=o(S,t.shallowEqual),v=null==u?f?.arg.originalArgs:void 0,_=r.useCallback(()=>{s(()=>{f&&g(void 0),u&&p(n.internalActions.removeMutationResult({requestId:m,fixedCacheKey:u}))})},[p,u,f,m]),E=or(T,...ir,"endpointName");r.useDebugValue(E);const b=r.useMemo(()=>({...T,originalArgs:v,reset:_}),[T,v,_]);return r.useMemo(()=>[h,b],[h,b])}},usePrefetch:function(e,t){const s=a(),o=tr(t);return r.useCallback((t,r)=>s(n.util.prefetch(e,t,{...o,...r})),[e,s,o])}};function h(e,t,r){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,n=g[e];r!==Pt&&d({queryArgs:t.originalArgs,endpointDefinition:n,endpointName:e})===d({queryArgs:r,endpointDefinition:n,endpointName:e})&&(t=void 0)}let n=e.isSuccess?e.data:t?.data;void 0===n&&(n=e.data);const s=void 0!==n,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||s&&(a&&!t?.isError||e.isUninitialized);return{...e,data:n,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function m(e,t,r){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,n=g[e];r!==Pt&&d({queryArgs:t.originalArgs,endpointDefinition:n,endpointName:e})===d({queryArgs:r,endpointDefinition:n,endpointName:e})&&(t=void 0)}let n=e.isSuccess?e.data:t?.data;void 0===n&&(n=e.data);const s=void 0!==n,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||a&&s;return{...e,data:n,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function y(t,s,{refetchOnReconnect:o,refetchOnFocus:i,refetchOnMountOrArgChange:u,skip:c=!1,pollingInterval:d=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:h}=n.endpoints[t],m=a(),y=r.useRef(void 0);if(!y.current){const t=m(n.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof t||"string"==typeof t?.type))throw new Error("production"===process.env.NODE_ENV?e.formatProdErrorMessage(37):`Warning: Middleware for RTK-Query API at reducerPath "${n.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);y.current=t}const S=er(c?Pt:s),T=tr({refetchOnReconnect:o,refetchOnFocus:i,pollingInterval:d,skipPollingIfUnfocused:l}),v=tr(f.initialPageParam),_=tr(f.refetchCachedPages),E=r.useRef(void 0);let{queryCacheKey:b,requestId:w}=E.current||{},A=!1;b&&w&&(A=y.current.isRequestSubscribed(b,w));const R=!A&&void 0!==E.current;return p(()=>{R&&(E.current=void 0)},[R]),p(()=>{const e=E.current;if("undefined"!=typeof process&&process,S===Pt)return e?.unsubscribe(),void(E.current=void 0);const r=E.current?.subscriptionOptions;if(e&&e.arg===S)T!==r&&e.updateSubscriptionOptions(T);else{e?.unsubscribe();const r=m(h(S,{subscriptionOptions:T,forceRefetch:u,...Xt(g[t])?{initialPageParam:v,refetchCachedPages:_}:{}}));E.current=r}},[m,h,u,S,T,R,v,_,t]),[E,m,h,T]}function S(e,s){return(a,{skip:u=!1,selectFromResult:d}={})=>{const{select:l}=n.endpoints[e],p=er(u?Pt:a),f=r.useRef(void 0),g=r.useMemo(()=>c([l(p),(e,t)=>t,e=>p],s,{memoizeOptions:{resultEqualityCheck:t.shallowEqual}}),[l,p]),h=r.useMemo(()=>d?c([g],d,{devModeChecks:{identityFunctionCheck:"never"}}):g,[g,d]),m=o(e=>h(e,f.current),t.shallowEqual),y=i(),S=g(y.getState(),f.current);return sr(()=>{f.current=S},[S]),m}}function T(e){r.useEffect(()=>()=>{f(e),e.current=void 0},[e])}}({api:i,moduleOptions:{batch:n,hooks:s,unstable__sideEffectsInRender:o,createSelector:a},serializeQueryArgs:u,context:c});return Jt(d,{usePrefetch:g}),Jt(c,{batch:n}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:r,useLazyQuerySubscription:n,useQueryState:s,useQuerySubscription:a}=l(e);Jt(d.endpoints[e],{useQuery:t,useLazyQuery:r,useLazyQuerySubscription:n,useQueryState:s,useQuerySubscription:a}),i[`use${Wt(e)}Query`]=t,i[`useLazy${Wt(e)}Query`]=r}if("mutation"===t.type){const t=f(e);Jt(d.endpoints[e],{useMutation:t}),i[`use${Wt(e)}Mutation`]=t}else if(Xt(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:r,useInfiniteQueryState:n}=p(e);Jt(d.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:r,useInfiniteQueryState:n}),i[`use${Wt(e)}InfiniteQuery`]=t}}}}}})());let dr=0;function lr(e){return null!==e&&"object"==typeof e}function pr(e){return lr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const fr="Something went wrong. Please try again.";function gr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function hr(e){if(!lr(e))return null;const t=e.data;return lr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}const mr={NETWORK_ERROR:"NETWORK_ERROR",TIMEOUT:"TIMEOUT",PARSE_ERROR:"PARSE_ERROR",TOKEN_EXPIRED:"TOKEN_EXPIRED",TOKEN_REFRESH_FAILED:"TOKEN_REFRESH_FAILED",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",NOT_FOUND:"NOT_FOUND",VALIDATION_ERROR:"VALIDATION_ERROR",SERVER_ERROR:"SERVER_ERROR",UNKNOWN:"UNKNOWN"};let yr=null;const Sr=function(e){const{name:t,innerBaseQuery:r,requestInterceptors:n,responseInterceptors:s,defaultOptions:a}=e;return async(e,o,i)=>{let u,c;if("string"==typeof e)u={url:e};else{const{_bridge:t,...r}=e;u=r,c=t}const d={...i,bridge:{...a,...i?.bridge,...c}},l={bridgeName:t,requestId:(p=t,dr+=1,`${p}-${dr}`),startTime:Date.now(),api:o,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of n)t=await e(t,l);return r(t,o,d)};let g=await f(u);for(const e of s)g=await e(g,u,l,f);return g}}({name:"apiBridge",innerBaseQuery:async(t,r,n)=>function({baseUrl:t,prepareHeaders:r=e=>e,fetchFn:n=Ke,paramsSerializer:s,isJsonContentType:a=Ve,jsonContentType:o="application/json",jsonReplacer:i,timeout:u,responseHandler:c,validateStatus:d,...l}={}){return"undefined"==typeof fetch&&n===Ke&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(f,g,h)=>{const{getState:m,extra:y,endpoint:S,forced:T,type:v}=g;let _,{url:E,headers:b=new Headers(l.headers),params:w,responseHandler:A=c??"json",validateStatus:R=d??Be,timeout:I=u,...x}="string"==typeof f?{url:f}:f,O={...l,signal:I?Ge(g.signal,ze(I)):g.signal,...x};b=new Headers(We(b)),O.headers=await r(b,{getState:m,arg:f,extra:y,endpoint:S,forced:T,type:v,extraOptions:h})||b;const C="object"==typeof(k=O.body)&&(e.isPlainObject(k)||Array.isArray(k)||"function"==typeof k.toJSON);var k;if(null==O.body||C||"string"==typeof O.body||O.headers.delete("content-type"),!O.headers.has("content-type")&&C&&O.headers.set("content-type",o),C&&a(O.headers)&&(O.body=JSON.stringify(O.body,i)),O.headers.has("accept")||("json"===A?O.headers.set("accept","application/json"):"text"===A&&O.headers.set("accept","text/plain, text/html, */*")),w){const e=~E.indexOf("?")?"&":"?";E+=e+(s?s(w):new URLSearchParams(We(w)))}E=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const r=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${r}${t=(e=>e.replace(/^\//,""))(t)}`}(t,E);const P=new Request(E,O);let N;_={request:new Request(E,O)};try{N=await n(P)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:_}}const M=N.clone();let D;_.response=M;let q="";try{let e;if(await Promise.all([p(N,A).then(e=>D=e,t=>e=t),M.text().then(e=>q=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:N.status,data:q,error:String(e)},meta:_}}return R(N,D)?{data:D,meta:_}:{error:{status:N.status,data:D},meta:_}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=a(e.headers)?"json":"text"),"json"===t){const t=await e.text();return t.length?JSON.parse(t):null}return e.text()}}({baseUrl:"",prepareHeaders:e=>(e.has("Content-Type")||e.set("Content-Type","application/json"),e.has("Accept")||e.set("Accept","application/json"),e)})(t,r,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const r=t.api.getState(),n=r.auth?.accessToken;return n?{...e,headers:{...e.headers,Authorization:`Bearer ${n}`}}:e},(e,t)=>{const r=n.getCustomHeaders(),s=t.extraOptions.bridge?.customHeaders,a=Object.keys(r).length>0,o=!!s&&Object.keys(s).length>0;return a||o?{...e,headers:{...e.headers,...r,...s??{}}}:e},(e,t)=>{if(!n.isDevMode()||t.extraOptions.bridge?.skipLogging)return e;const r=(e.method||"GET").toUpperCase(),s=e.url||"";return n.logger.debug({message:`${t.bridgeName} ${r} ${s}`,api_name:t.api.endpoint,request_id:t.requestId,method:r,url:s}),e}],responseInterceptors:[async(e,t,r,s)=>{if(r.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=r.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!n.getTokenRefreshHandler())return r.api.dispatch(n.clearSession()),e;try{const e=await async function(){return yr||(yr=async function(){const e=n.getTokenRefreshHandler();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{yr=null}),yr)}();if(e){const a=r.api.getState().auth?.accessToken;return a!==e.accessToken&&r.api.dispatch(n.setSession({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),s(t)}n.logger.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),r.api.dispatch(n.clearSession())}catch{n.logger.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),r.api.dispatch(n.clearSession())}return e},async(e,t,r)=>{if(!e.error)return e;const n=(s=e.error,a={url:t.url,method:t.method||"GET",timestamp:r.startTime,duration:Date.now()-r.startTime,requestId:r.requestId,bridgeName:r.bridgeName},s&&"object"==typeof s&&"status"in s?function(e,t){const r="PARSING_ERROR"===e.status,n=r?e.originalStatus:void 0,s="number"==typeof n&&n>=400?n:e.status;let a,o="Request failed",i=mr.UNKNOWN;if("data"in e)if(a=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=pr(t)??pr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!r&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===s?i=mr.UNAUTHORIZED:403===s?i=mr.FORBIDDEN:404===s?i=mr.NOT_FOUND:422===s?i=mr.VALIDATION_ERROR:"FETCH_ERROR"===s?i=mr.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=mr.TIMEOUT:"PARSING_ERROR"===s?i=mr.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=mr.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=fr),{status:s,message:o,data:a,code:i,meta:{timestamp:Date.now(),...t}}}(s,a):s instanceof Error?{status:"FETCH_ERROR",message:s.message||"An unexpected error occurred",code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:mr.UNKNOWN,meta:{timestamp:Date.now(),...a}});var s,a;return{...e,error:{...e.error,...n}}},async(e,t,r)=>{if(!e.error||r.extraOptions.bridge?.skipErrorToast)return e;const{status:s}=e.error;return"FETCH_ERROR"===s?(n.showErrorToast("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===s?(n.showErrorToast("Request timed out. Please try again."),e):"number"==typeof s&&s>=500?(n.showErrorToast(fr),e):e},async(e,t,r,n)=>{if(!e.error)return e;const{status:s}=e.error;if("FETCH_ERROR"!==s&&"TIMEOUT_ERROR"!==s)return e;const a=r.extraOptions.bridge?.retry,o=a?.maxRetries??1,i=a?.backoffMs??1e3,u=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(u>=o)return e;const c=i*Math.pow(2,u);return await new Promise(e=>setTimeout(e,c)),n({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(u+1)}})},async(e,t,r)=>{const s=r.extraOptions.bridge?.skipLogging,a=Date.now()-r.startTime,o=(t.method||"GET").toUpperCase(),i=t.url||"",u=e.meta?.response,c=e.error?e.error.status:u?.status??"OK",d=u?.headers?.get?.("x-request-id")??void 0;return e.error?n.logger.error({message:`${r.bridgeName} ${o} ${i} failed (${c})`,api_name:r.api.endpoint,request_id:d??r.requestId,method:o,url:i,status:c,duration:a,error_data:e.error.data}):n.isDevMode()&&!s&&n.logger.debug({message:`${r.bridgeName} ${o} ${i} ${c} ${a}ms`,api_name:r.api.endpoint,request_id:d??r.requestId,method:o,url:i,status:c,duration:a}),e}]});function Tr(){return n.readAccessToken()}let vr=0;async function _r(e){const{url:t,method:r="GET",body:s,headers:a={},skipAuth:o=!1,skipLogging:i=!1,skipContentType:u=!1,responseHandler:c="json",signal:d,keepalive:l}=e;vr+=1;const p=`fetch-${vr}`,f=Date.now(),g=r.toUpperCase(),h={...a};if(Object.assign(h,n.getCustomHeaders()),!o){const e=Tr();e&&(h.Authorization=`Bearer ${e}`)}let m;u||h["Content-Type"]||(h["Content-Type"]="application/json"),h.Accept||(h.Accept="application/json"),m=null==s?void 0:"string"==typeof s||s instanceof FormData||s instanceof Blob||s instanceof ArrayBuffer?s:JSON.stringify(s),n.isDevMode()&&!i&&n.logger.debug({message:`bridgedFetch ${g} ${t}`,api_name:"bridgedFetch",request_id:p,method:g,url:t});try{const e=await fetch(t,{method:r,headers:h,body:m,signal:d,keepalive:l}),s=Date.now()-f;if(!e.ok){let r;try{r=await e.json()}catch{try{r=await e.text()}catch{r=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return i||n.logger.error({message:`bridgedFetch ${g} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??p,method:g,url:t,status:e.status,duration:s,error_data:r}),{error:{status:e.status,data:r},response:e}}let a;if("blob"===c)a=await e.blob();else if("text"===c)a=await e.text();else{const t=await e.text();a=t?JSON.parse(t):void 0}if(n.isDevMode()&&!i){const r=e.headers.get("x-request-id")??void 0;n.logger.debug({message:`bridgedFetch ${g} ${t} ${e.status} ${s}ms`,api_name:"bridgedFetch",request_id:r??p,method:g,url:t,status:e.status,duration:s})}return{data:a,response:e}}catch(e){const r=Date.now()-f;return i||n.logger.error({message:`bridgedFetch ${g} ${t} network error`,api_name:"bridgedFetch",request_id:p,method:g,url:t,status:"FETCH_ERROR",duration:r,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Er=3e5;let br=0;const wr=cr({reducerPath:"chatApi",baseQuery:Sr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:r})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==r&&{limit:r}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const r=new FormData;r.append("file",t);const{data:s,error:a}=await _r({url:n.API_ENDPOINTS.CONVERSATION_TRANSCRIBE(e),method:"POST",body:r,skipContentType:!0});return a?{error:a}:{data:s}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:r,conversationId:s,onUploadProgress:a,onUploadComplete:o})=>{const i=new FormData;i.append("file",e),t&&i.append("filename",t),r&&i.append("document_type",r),s&&i.append("conversation_id",s);const{data:u,error:c}=await async function(e){const{url:t,method:r="POST",body:s,headers:a={},skipAuth:o=!1,skipLogging:i=!1,onUploadProgress:u,onUploadComplete:c,timeoutMs:d=Er,signal:l}=e;if("undefined"==typeof XMLHttpRequest)return n.isDevMode()&&!i&&n.logger.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),_r({url:t,method:r,body:s,headers:a,skipAuth:o,skipLogging:i,skipContentType:!0,signal:l});br+=1;const p=`upload-${br}`,f=Date.now(),g=r.toUpperCase(),h={Accept:"application/json",...a,...n.getCustomHeaders()};if(!o){const e=Tr();e&&(h.Authorization=`Bearer ${e}`)}return new Promise(e=>{const a=new XMLHttpRequest;let o=!1;const m=t=>{o||(o=!0,l?.removeEventListener("abort",S),e(t))},y=(e,r)=>{const s=Date.now()-f;i||n.logger.error({message:`bridgedUpload ${g} ${t} ${e.toLowerCase()}`,api_name:"bridgedUpload",request_id:p,method:g,url:t,status:e,duration:s,error_message:r}),m({error:{status:e,data:r}})},S=()=>a.abort();a.open(r,t,!0),a.timeout=d;for(const[e,t]of Object.entries(h))a.setRequestHeader(e,t);if(u&&(a.upload.onprogress=e=>u(e.loaded,e.lengthComputable?e.total:0)),c&&(a.upload.onload=()=>c()),a.onload=()=>{const e=Date.now()-f,r=a.getResponseHeader("x-request-id")??p;let s;try{s=a.responseText?JSON.parse(a.responseText):void 0}catch{s=a.responseText}if(a.status<200||a.status>=300)return i||n.logger.error({message:`bridgedUpload ${g} ${t} failed (${a.status})`,api_name:"bridgedUpload",request_id:r,method:g,url:t,status:a.status,duration:e,error_data:s}),void m({error:{status:a.status,data:s}});m({data:s})},a.onerror=()=>y("FETCH_ERROR","Network error"),a.ontimeout=()=>y("TIMEOUT_ERROR","Request timed out"),a.onabort=()=>y("ABORT_ERROR","Upload cancelled"),l){if(l.aborted)return void y("ABORT_ERROR","Upload cancelled");l.addEventListener("abort",S)}a.send(s)})}({url:n.API_ENDPOINTS.DOCUMENTS(),method:"POST",body:i,onUploadProgress:a,onUploadComplete:o});return c?{error:c}:{data:u}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await _r({url:n.API_ENDPOINTS.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:n.API_ENDPOINTS.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:n.API_ENDPOINTS.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:n.API_ENDPOINTS.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:n.API_ENDPOINTS.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${n.API_ENDPOINTS.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:Ar,useTranscribeAudioMutation:Rr,useUploadDocumentMutation:Ir,useDeleteDocumentMutation:xr,useExchangeOAuthCodeMutation:Or,useGetConversationHistoryQuery:Cr,useLazyGetConversationByIdQuery:kr,useDeleteConversationMutation:Pr,useGetToolServersQuery:Nr,useStartToolServerOAuthMutation:Mr,useDeleteToolServerConnectionMutation:Dr}=wr,qr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},Ur=cr({reducerPath:"brandingApi",baseQuery:Sr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:n.API_ENDPOINTS.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:qr})})}),{useGetBrandingQuery:Lr}=Ur,Fr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},Qr=cr({reducerPath:"configApi",baseQuery:Sr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:n.API_ENDPOINTS.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:n.TIMING.CONFIG_TIMEOUT_MS}),extraOptions:Fr})})}),{useGetConfigQuery:jr}=Qr,$r=cr({reducerPath:"profileApi",baseQuery:Sr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:n.API_ENDPOINTS.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:n.API_ENDPOINTS.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:r}){try{await r,t($r.util.updateQueryData("getProfile",void 0,t=>{t&&(void 0!==e.name&&(t.name=e.name),void 0!==e.phone&&(t.phone=e.phone))}))}catch{}}}),deleteAccount:e.mutation({query:()=>({url:n.API_ENDPOINTS.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:n.API_ENDPOINTS.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null})})}),{useGetProfileQuery:Hr,useUpdateProfileMutation:zr,useDeleteAccountMutation:Gr,useUpdatePasswordMutation:Kr}=$r,Br=[wr,Ur,Qr,$r],Vr={[wr.reducerPath]:wr.reducer,[Ur.reducerPath]:Ur.reducer,[Qr.reducerPath]:Qr.reducer,[$r.reducerPath]:$r.reducer},Wr=[wr.middleware,Ur.middleware,Qr.middleware,$r.middleware],Yr={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Xr=e.createSlice({name:"chat",initialState:Yr,reducers:{setIsAgentWorking(e,t){e.isAgentWorking=t.payload},setStatusText(e,t){e.statusText=t.payload},setResponseStartTime(e,t){e.responseStartTime=t.payload},enqueueMessage(e,t){e.messageQueue.push(t.payload)},dequeueMessage(e){e.messageQueue.shift()},clearMessageQueue(e){e.messageQueue=[]},addPendingTranscriptionId(e,t){e.pendingTranscriptionIds.push(t.payload)},clearPendingTranscriptionIds(e){e.pendingTranscriptionIds=[]},resetChatState:()=>Yr},extraReducers:t=>{t.addMatcher(e.isAnyOf(n.clearSession,n.sessionExpired),()=>Yr)}}),{setIsAgentWorking:Jr,setStatusText:Zr,setResponseStartTime:en,enqueueMessage:tn,dequeueMessage:rn,clearMessageQueue:nn,addPendingTranscriptionId:sn,clearPendingTranscriptionIds:an,resetChatState:on}=Xr.actions,un=Xr.reducer,cn={activeConversationId:null,titles:{}},dn=e.createSlice({name:"conversations",initialState:cn,reducers:{setActiveConversationId(e,t){e.activeConversationId=t.payload},upsertConversationTitle(e,t){const{id:r,title:n}=t.payload;r&&n.trim()&&(e.titles[r]=n)}},extraReducers:t=>{t.addMatcher(e.isAnyOf(n.clearSession,n.sessionExpired),()=>cn)}}),{setActiveConversationId:ln,upsertConversationTitle:pn}=dn.actions,fn=dn.reducer;let gn=null;function hn(e){gn=e}const mn=e.combineReducers({...Vr,auth:n.sessionReducer,chat:un,conversations:fn,indicator:n.indicatorReducer}),yn={ignoredPaths:["chatApi.queries","chatApi.mutations","brandingApi.queries","brandingApi.mutations","configApi.queries","configApi.mutations","profileApi.queries","profileApi.mutations"],ignoredActions:["chatApi/executeQuery/fulfilled","chatApi/executeMutation/fulfilled","brandingApi/executeQuery/rejected","brandingApi/executeQuery/fulfilled","configApi/executeQuery/rejected","configApi/executeQuery/fulfilled","profileApi/executeQuery/rejected","profileApi/executeQuery/fulfilled","profileApi/executeMutation/rejected","profileApi/executeMutation/fulfilled"],ignoredActionPaths:["payload.error","error","meta.baseQueryMeta","meta.arg.originalArgs.audioFile","meta.arg.originalArgs.file","meta.arg.originalArgs.onUploadProgress","meta.arg.originalArgs.onUploadComplete"]},Sn=e.configureStore({reducer:mn,middleware:e=>e({serializableCheck:yn}).prepend(n.sessionListenerMiddleware.middleware).concat(Wr)});var Tn;Tn=Sn.dispatch,function(){const[e,t,r,n]=[nt,st,at,ot].map(e=>()=>Tn(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!it&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(a).forEach(([t,r])=>{e?window.addEventListener(t,r,!1):window.removeEventListener(t,r)})};const a={[et]:e,[rt]:s,[Je]:r,[Ze]:n};t(!0),it=!0}}(),n.setAccessTokenReader(()=>Sn.getState().auth.accessToken),n.setTokenExpiresAtReader(()=>Sn.getState().auth.tokenExpiresAt),hn(()=>Sn.getState());const vn=()=>{const e=jr(),{isError:t,isFetching:n,refetch:s}=e,a=r.useRef(!1);return r.useEffect(()=>{!t||n||a.current||(a.current=!0,s())},[t,n,s]),e},_n=r.createContext(void 0),En=()=>{const e=r.useContext(_n);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e};var bn=(e=>(e.START="start",e.TEXT="text",e.WIDGET="widget",e.STATUS_UPDATE="status_update",e.CLEAR_STATUS="clear_status",e.PAYMENT="payment",e.SIGN_IN="sign_in",e.CONVERSATION_TITLE="conversation_title",e.END="end",e))(bn||{});let wn=class extends Error{constructor(e){super(),this.reopen=e}};class An{type="mtx";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const{parsed:t,eventType:r,isStreamEnd:n,requestId:s}=e;if(n)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s};const a=(r||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(a,t);return{type:o,data:i,timestamp:Date.now(),requestId:s}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"conversation_title":return{type:"conversation_title",data:{conversationTitle:t.text||""}};default:return t.token?{type:"text",data:{text:t.token}}:t.text?{type:"text",data:{text:t.text}}:{type:"text",data:{text:""}}}}createStreamHandle(e,t){let r=new AbortController,a=0,o="",i=!1;const u=[];let c=null,d=!1,l=null;const p=e=>{c?c.onEvent(e):u.push(e)},f=e=>{c?c.onError(e):l=e},g=()=>{d=!0,c&&c.onComplete()},h=async()=>{try{await(this.config.ensureFreshToken?.()),await s.fetchEventSource(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:r.signal,onopen:async e=>{if(401===e.status&&!i){i=!0,n.logger.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(n.logger.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new wn(Boolean(e))}const t=e.headers.get("x-request-id");t&&(o=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),r=new Set(Object.values(bn));if("status_update"!==t&&"clear_status"!==t||n.logger.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:r.has(t)}),!t||r.has(t))try{const r=t===bn.END;let n;try{n=JSON.parse(e.data)}catch{return}if(!r&&t!==bn.CLEAR_STATUS&&n&&"object"==typeof n&&0===Object.keys(n).length)return;const s=this.normalizeEvent({parsed:n,eventType:e.event,isStreamEnd:r,requestId:n.request_id||o||""});p(s),r&&"stream_end"!==s.type&&p({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:o})}catch(e){n.logger.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else n.logger.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof wn)throw e;if(a++,a>=5)throw r.abort(),f(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{g()},openWhenHidden:!0})}catch(e){if(e instanceof wn)return e.reopen&&!r.signal.aborted?(r=new AbortController,h()):void(d||g());d||(r.signal.aborted||f(e instanceof Error?e:new Error(String(e))),g())}};return h(),{subscribe(e){c=e;for(const t of u)e.onEvent(t);return u.length=0,l&&(e.onError(l),l=null),d&&e.onComplete(),()=>{c=null}},abort(){r.abort()}}}}class Rn extends Error{constructor(e){super(),this.reopen=e}}class In{type="agui";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const t=e,{type:r,data:n}=this.mapEventType(t);return{type:r,data:n,timestamp:Date.now(),requestId:t.runId||""}}mapEventType(e){switch((e.type||"").toUpperCase()){case"TEXT_MESSAGE_CONTENT":return{type:"text",data:{text:e.delta||""}};case"TEXT_MESSAGE_END":case"RUN_FINISHED":return{type:"stream_end",data:{isEnd:!0}};case"RUN_ERROR":return{type:"error",data:{error:e.error||"Unknown AG-UI run error"}};case"STATE_SNAPSHOT":return this.mapStateSnapshot(e);case"CUSTOM":return this.mapCustomEvent(e);case"PAYMENT":{const t=e?.value?.data??e.payload;return t?.provider&&t?.config&&n.getPaymentId(t)&&("chargebee"!==t.provider||t.config?.hosted_page_url)?{type:"payment",data:{payment:t}}:{type:"text",data:{text:""}}}case"CONVERSATION_TITLE":{const t=e?.value?.data??e.payload,r=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof r?r:""}}}default:return{type:"text",data:{text:""}}}}mapStateSnapshot(e){return{type:"widget",data:{widget:e.state||e.payload||{}}}}mapCustomEvent(e){const t=e.payload||e?.value?.data||{},r=e.name||"custom";return n.logger.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:r}),"widget"===r?{type:"widget",data:{widget:{eventName:r,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let r=new AbortController,a=0,o="",i=!1;const u=[];let c=null,d=!1,l=null;const p=e=>{c?c.onEvent(e):u.push(e)},f=e=>{c?c.onError(e):l=e},g=()=>{d=!0,c&&c.onComplete()},h=async()=>{try{await(this.config.ensureFreshToken?.()),await s.fetchEventSource(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:r.signal,onopen:async e=>{if(401===e.status&&!i){i=!0,n.logger.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(n.logger.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new Rn(Boolean(e))}const t=e.headers.get("x-request-id");t&&(o=t)},onmessage:e=>{n.logger.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),r=new Set(Object.values(bn));if(!t||r.has(t))if(t!==bn.END){if("[DONE]"!==e.data)try{let r;try{r=JSON.parse(e.data)}catch(t){return void n.logger.error({message:"AG-UI JSON parse error",api_name:"agui-sse",error_message:t instanceof Error?t.message:String(t),raw_data:e.data})}if(r&&"object"==typeof r&&0===Object.keys(r).length)return;r.runId&&(o=r.runId);const s=t===bn.CONVERSATION_TITLE?{...r,type:"CONVERSATION_TITLE",payload:r,runId:r.runId||o}:{...r,runId:r.runId||o},a=this.normalizeEvent(s);p(a)}catch(e){n.logger.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else p(this.normalizeEvent({type:"RUN_FINISHED",runId:o}));else n.logger.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Rn)throw e;if(a++,a>=5)throw r.abort(),f(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{g()},openWhenHidden:!0})}catch(e){if(e instanceof Rn)return e.reopen&&!r.signal.aborted?(r=new AbortController,h()):void(d||g());d||(r.signal.aborted||f(e instanceof Error?e:new Error(String(e))),g())}};return h(),{subscribe(e){c=e;for(const t of u)e.onEvent(t);return u.length=0,l&&(e.onError(l),l=null),d&&e.onComplete(),()=>{c=null}},abort(){r.abort()}}}}class xn{segments=[];error="";requestId="";statusText="";streamComplete=!1;startTimestamp=null;processEvent(e){null===this.startTimestamp&&(this.startTimestamp=e.timestamp),e.requestId&&(this.requestId=e.requestId);const{data:t}=e;if(!("isEnd"in t))return"error"in t?(this.error=t.error,void("text"in t&&t.text&&this.appendText(t.text))):void("statusText"in t?this.statusText=t.statusText:"payment"in t||("widget"in t?this.segments.push({type:"widget",id:n.generateUniqueId(),content:t.widget}):"text"in t&&this.appendText(t.text)));this.streamComplete=!0}appendText(e){const t=this.segments[this.segments.length-1];t&&"text"===t.type?t.text+=e:this.segments.push({type:"text",id:n.generateUniqueId(),text:e})}toMessages(){if(0===this.segments.length){const e=n.generateUniqueId();return[{id:e,msg_id:e,sender:"agent",message:"",timestamp:(new Date).toISOString(),tookMs:this.startTimestamp?Date.now()-this.startTimestamp:0,error:this.error||void 0,request_id:this.requestId||void 0}]}const e=(new Date).toISOString(),t=this.segments.map(t=>{const r={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":r.message=t.text;break;case"widget":r.widget=[t.content],r.message_type=["widget"]}return r}),r=t[t.length-1];return r.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,r.error=this.error||void 0,r.request_id=this.requestId||void 0,t}getStatusText(){return this.statusText}isStreamComplete(){return this.streamComplete}reset(){this.segments=[],this.error="",this.requestId="",this.statusText="",this.streamComplete=!1,this.startTimestamp=null}}async function On(e,t){const{data:r,error:s,response:a}=await _r({url:n.getApiUrl(n.AUTH_PATHS.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(s||!a)throw r??s;return{body:r,tokens:n.extractTokens(a)}}async function Cn(){const{data:e,error:t,response:r}=await _r({url:n.getApiUrl(n.AUTH_PATHS.GUEST),method:"POST",skipAuth:!0});if(t||!r)throw e??t;return{body:e,tokens:n.extractTokens(r)}}async function kn(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SIGNUP),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return n.isVerificationRequired(t?.data)?{body:t}:{body:t,tokens:n.extractTokens(s)}}async function Pn(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return s.headers.get(n.AUTH_HEADERS.ACCESS_TOKEN)?{body:t,tokens:n.extractTokens(s)}:{body:t}}async function Nn(e,t){await _r({url:n.getApiUrl(n.AUTH_PATHS.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Mn(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.REFRESH),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return{body:t,tokens:n.extractTokens(s)}}function Dn(e){const s=t.useStore(),[a,o]=r.useState(!1);return{run:r.useCallback(async(...t)=>{o(!0);try{const{body:r,tokens:a}=await e(...t);return r.success&&r.data?(a&&!n.isVerificationRequired(r.data)&&s.dispatch(n.setSession({user:r.data.user,accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{o(!1)}},[s,e]),isLoading:a}}function qn(){const{run:e,isLoading:t}=Dn(Cn);return{guestLogin:e,isLoading:t}}const Un={WEB:"Web",MOBILE:"Mobile"},Ln={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in"},Fn=Object.values(Ln);function Qn(e,t){const r=e?.data?.auth_mode_config?.[t];return Fn.includes(r)?r:Ln.SIGN_IN_ONLY}const jn={INITIAL:["Working on it","Just a moment","Reviewing your request","Looking into that","One moment, please","Checking"],LATER:["Almost ready","Gathering the details","Finishing up","Getting things in order","Preparing your answer","Wrapping this up"],ROTATION_INTERVAL_MS:5e3,PHASE_SWITCH_MS:4e3},$n={MESSAGE_PAGE_SIZE:25};function Hn(e){return!e.widget?.length}function zn(e){const t=n.generateUniqueId(),r={id:`agent-${t}`,msg_id:t,sender:"agent",message:"",timestamp:e.created_at?String(e.created_at):""};return"widget"===e.type?e.content&&"object"==typeof e.content&&(r.widget=[e.content],r.message_type=["widget"]):e.content&&"string"==typeof e.content&&(r.message=e.content),r}function Gn(e){const t=[];for(const r of e){const e=r.created_at?String(r.created_at):"";if("user"!==r.role)if("system"!==r.role){if("assistant"===r.role){if(r.tool_calls?.length)continue;const e=t[t.length-1];if((!r.type||"text_delta"===r.type)&&"agent"===e?.sender&&Hn(e)){e.message=e.message+(r.content||"");continue}t.push(zn(r));continue}}else r.content&&t.push({id:`system-${n.generateUniqueId()}`,sender:"system",message:"string"==typeof r.content?r.content:"",timestamp:e});else r.content&&t.push({id:`user-${n.generateUniqueId()}`,sender:"user",message:"string"==typeof r.content?r.content:"",timestamp:e})}return t}function Kn(e){return"string"==typeof e&&e.trim()?e:null}const Bn=e=>null==e||"string"==typeof e&&""===e.trim(),Vn=e=>{const t=["widget","error"],r=e=>!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.length||"object"==typeof e&&!Array.isArray(e)&&0===Object.keys(e).length);for(const n of t)if(r(e[n]))return!0;return!1};function Wn(e,t){if(null==e||!t)return null;const r=e/100,n=t.toUpperCase();try{return new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(r)}catch{return`${n} ${r.toFixed(2)}`}}function Yn(e){if("success"===e.status){const t=Wn(e.amount,e.currency);return`The payment${t?` of ${t}`:""} is successfully completed.`}return"failure"===e.status?"The payment failed."+(e.paymentId?` The reference ID is ${e.paymentId}.`:""):"Payment cancelled."}const Xn=({sendMessageRef:e})=>{const[t,s]=r.useState(null),a=r.useCallback(()=>s(null),[]),o=r.useCallback(t=>{"stripe"===t.provider?"cancel"===t.status&&n.showErrorToast("Payment cancelled."):"chargebee"===t.provider&&"cancel"===t.status?n.showErrorToast("Payment cancelled."):"failure"===t.status&&t.message&&n.showErrorToast(t.message),e.current?e.current(Yn(t)):n.logger.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status}),s(null)},[e]);return{paymentInit:t,setPaymentInit:s,clearPaymentInit:a,handlePaymentResult:o}};async function Jn(e){try{const t=await e.getItem(n.STORAGE_KEYS.LOCATION_CACHE);if(!t)return null;const r=JSON.parse(t);return Date.now()-r.timestamp<36e5?r.location:(await e.removeItem(n.STORAGE_KEYS.LOCATION_CACHE),null)}catch{return null}}const Zn=()=>{const[e,t]=r.useState(!1),[s,a]=r.useState(null),o=n.useStorage(),i=r.useCallback(async()=>{const e=await Jn(o);if(e)return e;if(!("geolocation"in navigator))return a("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return a("Geolocation requires HTTPS"),null;t(!0),a(null);try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=await new Promise((e,t)=>{navigator.geolocation.getCurrentPosition(e,t,{enableHighAccuracy:!1,timeout:8e3,maximumAge:6e5})}),{latitude:r,longitude:s}=t.coords;let a="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${r}&lon=${s}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(a=(await e.json()).display_name??"")}catch(e){n.logger.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const i={latitude:r,longitude:s,address:a,timezone:e};return await async function(e,t){try{const r={location:t,timestamp:Date.now()};await e.setItem(n.STORAGE_KEYS.LOCATION_CACHE,JSON.stringify(r))}catch{}}(o,i),i}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:a("Location permission denied");break;case 2:a("Location information unavailable");break;case 3:a("Location request timed out");break;default:a("Failed to retrieve location")}else a("Failed to get location");return null}finally{t(!1)}},[o]);return{getUserLocation:i,isLoading:e,error:s}},es=e=>{const[t,n]=r.useState(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return r.useEffect(()=>{if("undefined"==typeof window)return;const t=window.matchMedia(e),r=e=>{n(e.matches)};return n(t.matches),t.addEventListener("change",r),()=>{t.removeEventListener("change",r)}},[e]),t};function ts({paymentInit:e,onPaymentResult:t,onClearPaymentInit:s}){const a=r.useRef(new Set),o=n.getPaymentId(e);return{handlePaymentResult:r.useCallback(e=>{"success"!==e.status&&"failure"!==e.status||o&&a.current.add(o),t?.(e)},[t,o]),handleModalOpenChange:r.useCallback(r=>{!r&&e&&(!!o&&a.current.has(o)||t?.({status:"cancel",provider:e.provider}),s?.())},[e,o,t,s])}}function rs(e){const t=e.trim().split(/\s+/);return 1===t.length?e.charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()}const ns={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},ss=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},as=e=>{const n=t.useSelector(e=>!!e.voice?.isAgentWorking),s=t.useSelector(e=>e.voice?.statusText??null),a=t.useSelector(e=>e.voice?.responseStartTime??null),o=t.useSelector(e=>e.chat.isAgentWorking),i=t.useSelector(e=>e.chat.statusText??null),u=t.useSelector(e=>e.chat.responseStartTime),c=t.useSelector(e=>e.indicator.lastResponseTime),d=e?n:o,l=e?s:i,p=e?a:u;return r.useMemo(()=>({isAgentWorking:d,statusText:l??void 0,responseStartTime:p,lastResponseTime:c}),[d,l,p,c])},os=[],is=r.createContext(null);let us=0;class cs{mediaRecorder=null;audioChunks=[];stream=null;audioContext=null;analyser=null;dataArray=null;animationFrameId=null;onAudioLevel;async startRecording(e){try{if(this.onAudioLevel=e,!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)throw new Error("Microphone access requires HTTPS. Please access the app via https:// or localhost.");this.stream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:24e3,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),e&&(this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.audioContext.createMediaStreamSource(this.stream).connect(this.analyser),this.dataArray=new Uint8Array(this.analyser.frequencyBinCount),this.analyzeAudio());const t=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:t}),this.audioChunks=[],this.mediaRecorder.ondataavailable=e=>{e.data.size>0&&this.audioChunks.push(e.data)},this.mediaRecorder.start()}catch(e){throw this.cleanup(),e}}async stopRecording(){return new Promise((e,t)=>{this.mediaRecorder?(this.mediaRecorder.onstop=()=>{const t=this.mediaRecorder?.mimeType||"audio/webm",r=t.includes("webm")?"webm":"ogg",n=new Blob(this.audioChunks,{type:t}),s=new File([n],`audio.${r}`,{type:t});this.cleanup(),e(s)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const ds="Microphone access is required. Please allow microphone permissions in your browser settings.",ls=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},ps="OAUTH_SUCCESS",fs="OAUTH_ERROR",gs=ps,hs=fs,ms={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0},voice_agent:{enabled:!0,show_customization_modal:!1,assistant_starts_conversation:!0},stt:{enabled:!0},features:[n.FEATURE_FLAGS.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Un.WEB]:Ln.SIGN_IN_ONLY,[Un.MOBILE]:Ln.SIGN_IN_ONLY}},ys=r.createContext(void 0),Ss=r.createContext({});function Ts(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}const vs="moyasar_cb",_s=new Set(["paid","authorized","failed","captured"]);function Es(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}exports.AUTH_CLIENT_TYPES=Un,exports.AUTH_MODES=Ln,exports.AguiAdapter=In,exports.AudioRecorder=cs,exports.BREAKPOINTS={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},exports.CHAT_INPUT_MODES=ns,exports.CONVERSATION_TITLE_REFRESH_DELAYS_MS=[500,1500,3e3],exports.ChatCallbacksContext=Ss,exports.ChatSettingsContext=is,exports.ConfigurationContext=ys,exports.DEFAULT_CONVERSATION_TITLE="New Conversation",exports.DEFAULT_PAYMENT_PROVIDER="stripe",exports.DEFAULT_PROTOCOL="mtx",exports.ERROR_CODES=mr,exports.EventAggregator=xn,exports.GENERIC_SERVER_ERROR_MESSAGE=fr,exports.MAX_CONNECTION_RETRIES=5,exports.MOYASAR_CALLBACK_SENTINEL=vs,exports.OAUTH_ERROR_TYPE=fs,exports.OAUTH_SUCCESS_TYPE=ps,exports.PAGINATION=$n,exports.ProprietaryAdapter=An,exports.ProtocolContext=_n,exports.SSEEventType=bn,exports.THINKING_MESSAGES=jn,exports.TYPEWRITER_INTERVAL_MS=28,exports.apiBridge=Sr,exports.apiMiddleware=Wr,exports.apiReducers=Vr,exports.bindChatLogger=hn,exports.brandingApi=Ur,exports.bridgedFetch=_r,exports.buildBrandSkin=function(e,t){const r="dark"===t;return{pageBg:e.bgColor,cardBg:e.widgetBg,text:e.primaryText,heading:e.primaryText,muted:e.secondaryText,divider:e.widgetBorderColor,accent:e.statusDiscovery.solid,accentText:e.statusDiscovery.text,focus:e.statusDiscovery.solid,pillBg:e.inputBgColor,pillBorder:e.inputBorderColor,pillText:e.secondaryText,cardShadow:r?"0 1px 3px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04)":"0 1px 3px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04)",radius:e.borderRadius,fontFamily:e.fontFamily,colorScheme:r?"dark":"light"}},exports.buildCallbackUrl=function(e){const t=new URL(window.location.href),r=new URL(`${t.origin}${n.getBaseUrl()}/moyasar-callback.html`);return r.searchParams.set(vs,"1"),e&&r.searchParams.set("given_id",e),r.toString()},exports.chatApi=wr,exports.chatCoreRootReducer=mn,exports.chatLoggerContextProvider=()=>{if(!gn)return{};const e=gn(),t=e.auth.user?.id,r=e.auth.selectedOrgId??void 0,n=e.conversations.activeConversationId??void 0;return{...t?{user_id:t}:{},...r?{org_id:r}:{},...n?{conversation_id:n}:{}}},exports.chatReducer=un,exports.checkOrganizationExistsApi=async function(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:r,response:s}=await _r({url:n.API_ENDPOINTS.ORGANIZATIONS_EXISTS,method:"GET",skipAuth:!0,skipContentType:!0,signal:e.signal});return r?!s||s.status>=500?"error":"not-found":function(e){const t=e?.data?.exists;return"boolean"!=typeof t?"error":t?"exists":"not-found"}(t)}catch{return"error"}finally{clearTimeout(t)}},exports.clearMessageQueue=nn,exports.configApi=Qr,exports.conversationsReducer=fn,exports.createAdapter=function(e,t){switch(e){case"mtx":return new An(t);case"agui":return new In(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}},exports.createDefaultAdapterConfig=function(e={}){return{getAuthToken:()=>Tr(),getCustomHeaders:()=>n.getCustomHeaders(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>n.API_ENDPOINTS.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>n.API_ENDPOINTS.CONVERSATION_START(e),getDebugUrl:()=>n.API_ENDPOINTS.DEBUG,ensureFreshToken:async()=>{n.isTokenAboutToExpire(n.readTokenExpiresAt())&&await(n.getTokenRefreshHandler()?.())},forceRefreshToken:async()=>Boolean(await(n.getTokenRefreshHandler()?.()))}},exports.createSessionRefresher=function(e){return n.createTokenRefresher({performRefresh:async()=>{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(!r||!s)return n.logger.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(r),has_user_id:Boolean(s)}),null;const{body:a,tokens:o}=await Mn({refresh_token:r,user_id:s});if(a?.success&&a?.data){const t={accessToken:o.accessToken,refreshToken:o.refreshToken,expiresIn:a.data.expiry_time};return n.logger.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==r}),e.dispatch(n.setSession({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return n.logger.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})},exports.dequeueMessage=rn,exports.enqueueMessage=tn,exports.fetchOrganizations=async function(){try{const{data:e}=await _r({url:n.getApiUrl(`${n.AUTH_PATHS.ORGANIZATIONS}?skip=0&limit=100`),skipAuth:!0});if(e?.success&&Array.isArray(e.data?.organizations))return e.data.organizations}catch{}return[]},exports.forgotPasswordApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.formatAmount=Wn,exports.formatResultMessage=Yn,exports.getApiErrorMessage=function(e,t){return gr(e)?fr:function(e){if(!lr(e))return null;if("string"==typeof e.message){try{const t=pr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return pr(e.data)??pr(e.data?.data)}(e)??t??"An unexpected error occurred."},exports.getAuthMode=Qn,exports.getAuthToken=Tr,exports.getCachedLocation=Jn,exports.getCodeEntryErrorMessage=function(e,t){if(!lr(e))return t.generic;if(gr(e))return t.generic;const r=function(e){if("string"!=typeof e)return null;try{return hr(JSON.parse(e))}catch{return null}}(e.message);return r||(hr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))},exports.getErrorGroup=function(e){if(!lr(e))return null;const t=e.data;if(lr(t)){const e=t.data;if(lr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null},exports.getLatestRequestId=()=>"",exports.guestLoginApi=Cn,exports.hasAnyExtraData=Vn,exports.isApiServerError=gr,exports.isEmptyMessage=Bn,exports.loginApi=On,exports.logoutApi=Nn,exports.parseMoyasarCallbackFromUrl=function(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(vs))return null;const r=t.get("status"),n=t.get("id");if(!r||!n)return null;if(!_s.has(r))return null;const s=t.get("conversation_id")||null,a=(t.get("given_id")||null)??n;if("paid"===r||"authorized"===r||"captured"===r){const e=t.get("amount"),r=e?Number.parseInt(e,10):void 0;return{result:{status:"success",provider:"moyasar",paymentId:a,amount:Number.isFinite(r)?r:void 0,currency:t.get("currency")??void 0},conversationId:s}}return{result:{status:"failure",provider:"moyasar",code:r,message:Es(t.get("message")??`Payment ${r}`),paymentId:a},conversationId:s}},exports.profileApi=$r,exports.refreshTokenApi=Mn,exports.resendVerificationApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.resetAllApiState=()=>e=>{Br.forEach(t=>e(t.util.resetApiState()))},exports.resetChatLoggerForTests=function(){gn=null},exports.resetChatState=on,exports.resetPasswordApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(r||!s)throw t??r;return t?.data?.message},exports.serializableCheck=yn,exports.setActiveConversationId=ln,exports.setIsAgentWorking=Jr,exports.setResponseStartTime=en,exports.setStatusText=Zr,exports.shouldDisableMessage=function(e,t,r){if(!r)return!1;if(!Ts(e))return!1;let n=null;for(let e=t.length-1;e>=0;e--){const r=t[e];if("agent"===r.sender&&Ts(r)){n=r;break}}if(!n||n.id!==e.id)return!0;const s=t.findIndex(t=>t.id===e.id);return t.slice(s+1).some(e=>"user"===e.sender)},exports.signupApi=kn,exports.ssoExchangeApi=async function(e,t){const{data:r,error:s,response:a}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(s||!a)throw r??s;return{body:r,tokens:n.extractTokens(a)}},exports.ssoStartApi=async function(e){const{data:t,error:r,response:s}=await _r({url:n.getApiUrl(n.AUTH_PATHS.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(r||!s)throw t??r;return t},exports.store=Sn,exports.upsertConversationTitle=pn,exports.useActiveConversationTitle=function(){return t.useSelector(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})},exports.useAuth=()=>{const{user:e,accessToken:r,tokenExpiresAt:s,isAuthenticated:a,isLoading:o}=t.useSelector(e=>e.auth);return{user:e,accessToken:r,isAuthenticated:a,isLoading:o,tokenInfo:{isExpired:!!s&&n.isTokenExpired(s),isAboutToExpire:!!s&&n.isTokenAboutToExpire(s),expiresAt:s,timeUntilExpiry:s?n.getTimeUntilExpiry(s):0,timeUntilExpiryFormatted:s?n.formatTimeRemaining(n.getTimeUntilExpiry(s)):"0s"}}},exports.useChatCallbacks=()=>r.useContext(Ss),exports.useChatConnection=({conversationId:e,messages:s,setMessages:a,enableTts:o=!1,userLocation:i=null,startSession:u,debugMode:c=!1,onPaymentInit:d,onSignInInit:l,onConversationTitle:p})=>{const{adapter:f}=En(),g=t.useDispatch(),h=t.useStore(),[m,y]=r.useState(""),[S,T]=r.useState(!1),[v,_]=r.useState(!1),E=r.useRef(d);E.current=d;const b=r.useRef(l);b.current=l;const w=r.useRef(p);w.current=p;const A=r.useRef(new xn),R=r.useRef(null),I=r.useRef(null),x=r.useRef(!1),O=r.useRef(0),C=r.useRef(!1),k=r.useRef(null),P=r.useRef(e);P.current=e;const N=r.useRef(null),M=r.useRef(e);r.useEffect(()=>{const t=M.current;M.current=e,null!==t&&t!==e&&g(an())},[e,g]);const D=r.useCallback((e=n.INDICATOR_TIMER_ACTIONS.KEEP)=>{if(g(Zr(null)),g(Jr(!1)),e===n.INDICATOR_TIMER_ACTIONS.FINALIZE){const e=h.getState().chat.responseStartTime;e&&g(n.setLastResponseTime(Date.now()-e)),g(en(null))}else e===n.INDICATOR_TIMER_ACTIONS.CANCEL&&g(en(null))},[g,h]),q=r.useCallback(e=>{g(Jr(e)),T(e),e&&_(!1)},[g]),U=r.useCallback(()=>{const e=h.getState().chat.responseStartTime;return e&&g(n.setLastResponseTime(Date.now()-e)),null!==k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null,C.current=!1,y(""),T(!1),_(!1),D(n.INDICATOR_TIMER_ACTIONS.CANCEL)},600),()=>{null!==k.current&&clearTimeout(k.current)}},[g,h,D]),L=r.useRef({setStatusText:e=>g(Zr(e||null)),setIsAgentWorking:e=>g(Jr(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>E.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),F=r.useCallback(e=>{if(N.current!==P.current)return R.current?.abort(),void I.current?.();if("payment"===e.type&&"payment"in e.data)return void n.handleSharedEvent({kind:"payment",payment:e.data.payment},L.current);if("sign_in"===e.type&&"signIn"in e.data)return void n.handleSharedEvent({kind:"sign_in",signIn:e.data.signIn},L.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&w.current?.(t))}const t=A.current;t.processEvent(e),x.current||(x.current=!0,_(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"error":return"error"in t?{kind:"error",error:t.error}:null;default:return null}}(e);if(r){const e="status_update"===r.kind?{kind:"status_update",statusText:t.getStatusText()}:r;n.handleSharedEvent(e,L.current)}const s=t.toMessages(),o=O.current;a(e=>[...e.slice(0,e.length-o),...s]),O.current=s.length,s.some(e=>Vn(e)||!Bn(e.message))&&g(Jr(!1)),t.isStreamComplete()&&U()},[g,a,U]),Q=r.useCallback(e=>{n.showErrorToast("Stream connection error. Please try again."),U()},[U]),j=r.useCallback(()=>{R.current?.abort(),I.current?.(),R.current=null,I.current=null,N.current=null,A.current.reset(),O.current=0,y(""),T(!1),_(!1),D(n.INDICATOR_TIMER_ACTIONS.CANCEL),g(n.clearLastResponseTime()),g(nn()),C.current=!1},[g,D]),$=r.useCallback((e,t)=>{R.current?.abort(),I.current?.(),A.current.reset(),O.current=0,x.current=!1,N.current=t,P.current=t,R.current=e;const r=e.subscribe({onEvent:F,onError:Q,onComplete:()=>{U()}});I.current=r},[F,Q,U]),H=r.useCallback(async(t="",r=[])=>{C.current=!0;try{let s=e;if(!s){if(!u)return C.current=!1,void n.showErrorToast("Conversation is not ready yet. Please wait a moment.");const e=await u();if(!e)return C.current=!1,void n.showErrorToast("Failed to start conversation. Please try again.");s=e}const i=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),g(Jr(!0)),T(!0),_(!1),g(Zr(null)),g(en(Date.now())),g(n.clearLastResponseTime());const d={id:`user-${n.generateUniqueId()}`,sender:"user",message:i,timestamp:(new Date).toISOString()};a(e=>[...e,d]);const l=n.readDeviceToken(),p=f.streamMessage({conversationId:s,message:i,enableTts:o,debugMode:c,transcriptionIds:r,...l?{body:{client_metadata:{device_token:l}}}:{}});$(p,s)}catch(e){n.logger.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to send conversations message. Please try again."),C.current=!1,D(n.INDICATOR_TIMER_ACTIONS.CANCEL)}},[g,s,e,f,o,a,$,u,c,D]),z=r.useRef(H);z.current=H;const G=r.useCallback(async(e="",t=[])=>{const r=(e??"").trim();if(!r)return;const s=h.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&g(an()),C.current?g(tn({id:n.generateUniqueId(),text:r,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{}})):await H(r,a)},[g,h,H]);r.useEffect(()=>{if(S||C.current)return;const e=h.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>`- ${e.text}`).join("\n"),r=e.flatMap(e=>e.transcriptionIds??[]);g(nn()),z.current(t,r)},[S,g,h]);const K=r.useCallback(async(e,t)=>{C.current=!0,g(Jr(!0)),T(!0),_(!1),g(Zr(null)),g(en(Date.now())),g(n.clearLastResponseTime());const r=void 0!==t?t:i,s={};r&&(s.user_location=r);const a=n.readDeviceToken();a&&(s.device_token=a);const u=Object.keys(s).length>0?{client_metadata:s}:{},c=f.streamInitial({conversationId:e,body:u,enableTts:o});$(c,e)},[g,f,o,i,$]);return r.useEffect(()=>()=>{R.current?.abort(),I.current?.()},[]),{sendMessage:G,startInitialStream:K,setThinkingState:q,abortStream:j,toolCallStatus:m,isProcessThinkingState:S,hasReceivedResponse:v}},exports.useChatHistory=function({activeConversationId:e,onSelectConversation:s,onClearChat:a}){const[o,i]=r.useState([]),u=t.useSelector(e=>e.conversations.titles),[c,d]=r.useState(!0),[l,p]=r.useState(!1),[f,g]=r.useState(!0),[h,m]=r.useState(""),y=r.useRef(0),S=r.useRef(!1),T=r.useRef(f);T.current=f;const v=r.useRef(o);v.current=o;const[_]=wr.useLazyGetConversationHistoryQuery(),E=r.useRef(_);E.current=_;const[b,{isLoading:w}]=wr.useDeleteConversationMutation(),A=r.useCallback(async e=>{const t="append"===e?y.current:0;if("append"===e){if(S.current||!T.current)return;S.current=!0,p(!0)}else"replace"===e&&0===v.current.length&&d(!0);try{const r=await E.current({skip:t,limit:20}).unwrap(),n=r?.conversations??[];"append"===e?(i(e=>{const t=new Set(e.map(e=>e.id));return[...e,...n.filter(e=>!t.has(e.id))]}),y.current+=20):"replace"===e?(i(n),y.current=20):i(e=>function(e,t){if(0===t.length)return e;const r=new Set(e.map(e=>e.id)),n=new Map(t.map(e=>[e.id,e])),s=t.filter(e=>!r.has(e.id));let a=s.length>0;const o=e.map(e=>{const t=n.get(e.id);return t?(r=e).id===(s=t).id&&r.title===s.title&&r.created_at===s.created_at&&r.updated_at===s.updated_at?e:(a=!0,t):e;var r,s});return a?[...s,...o]:e}(e,n)),"silent"!==e&&g(n.length>=20)}catch(e){n.logger.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(S.current=!1,p(!1)):"replace"===e&&d(!1)}},[]);r.useEffect(()=>{A("replace")},[A]);const R=r.useRef(null),I=r.useRef(new Set);r.useEffect(()=>{if(c||!e)return;if(I.current.has(e))return;if(o.some(t=>t.id===e))return void(R.current=null);const t=`${e}:${u[e]??""}`;R.current!==t&&(R.current=t,A("silent"))},[e,o,u,c,A]);const x=r.useCallback(async t=>{const r=e===t,u=r?function(e,t){const r=e.findIndex(e=>e.id===t);return-1===r?null:r+1<e.length?e[r+1].id:r-1>=0?e[r-1].id:null}(h.trim()?o.filter(e=>e?.title?.toLowerCase().includes(h.toLowerCase())):o,t):null,c=await b({conversationId:t});if(c.error)return n.logger.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:t,error_message:JSON.stringify(c.error)}),void n.showErrorToast("Failed to delete the conversation. Please try again.");n.showSuccessToast("Conversation deleted successfully"),I.current.add(t);const d=v.current.some(e=>e.id===t);if(i(e=>e.filter(e=>e.id!==t)),d&&(y.current=Math.max(0,y.current-1)),r)if(u){const e=o.find(e=>e.id===u)??null;s(u,e?.title??null)}else a?.()},[e,o,h,b,s,a]),O=r.useMemo(()=>o.map(e=>u[e.id]?{...e,title:u[e.id]}:e),[o,u]);return{conversations:h.trim()?O.filter(e=>e?.title?.toLowerCase().includes(h.toLowerCase())):O,isLoading:c,isLoadingMore:l,hasMore:f,isDeleting:w,searchQuery:h,setSearchQuery:m,loadConversations:A,deleteConversation:x,isLoadingMoreRef:S}},exports.useChatInput=({onSend:e,disabled:t=!1,transcribedText:n,onTranscribedTextUsed:s,isRecording:a=!1,isTranscribing:o=!1})=>{const[i,u]=r.useState("");r.useEffect(()=>{if(!n)return;let e=!1;return queueMicrotask(()=>{e||(u(e=>0===e.trim().length?n:`${e.trimEnd()} ${n}`),s?.())}),()=>{e=!0}},[n,s]);const c=i.trim().length>0&&!t,d=r.useCallback(()=>{const r=i.trim();r&&!t&&(e(r),u(""))},[i,t,e]),l=a?ns.RECORDING:o?ns.TRANSCRIBING:ns.NORMAL;return r.useMemo(()=>({value:i,setValue:u,send:d,canSend:c,mode:l}),[i,d,c,l])},exports.useChatSettings=()=>{const e=r.useContext(is);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e},exports.useConfiguration=()=>{const e=r.useContext(ys);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},exports.useConfigurationValue=()=>{const{data:e,isLoading:t,error:n}=vn(),s=e?.success?e.data:null,a=r.useMemo(()=>{return(e=s)?{conversations:{...ms.conversations,...e.conversations},voice_agent:{...ms.voice_agent,...e.voice_agent},stt:{...ms.stt,...e.stt},features:e.features??ms.features,backend_version:e.backend_version??ms.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??ms.panel_switcher_enabled,auth_mode_config:{...ms.auth_mode_config,...e.auth_mode_config}}:ms;var e},[s]);return r.useMemo(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},exports.useConnectors=function(){const{themeStyles:e}=n.useBranding(),{data:t,isLoading:s}=Nr(void 0),[a]=Dr(),o=r.useMemo(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:rs(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:o,isLoading:s,disconnect:async function(e){const t=o.find(t=>t.id===e)?.name??"App";"error"in await a(e)?n.showErrorToast(`Failed to disconnect ${t}. Please try again.`):n.showSuccessToast(`${t} disconnected`)}}},exports.useContainerQuery=e=>{const t=r.useRef(null),[n,s]=r.useState(!1);return r.useEffect(()=>{const r=t.current;if(!r)return;const n=new ResizeObserver(t=>{for(const r of t)s(r.contentRect.width>=e)});n.observe(r);const a=r.getBoundingClientRect().width;return s(a>=e),()=>{n.disconnect()}},[e]),{containerRef:t,isDesktop:n}},exports.useConversation=()=>{const e=t.useDispatch(),[s,a]=r.useState(null),[o,i]=r.useState([]),u=r.useRef(s),c=t.useSelector(e=>s?e.conversations.titles[s]??null:null),d=r.useCallback(t=>{s&&t&&e(pn({id:s,title:t}))},[s,e]);r.useEffect(()=>{u.current=s,e(ln(s))},[s,e]);const[l,p]=r.useState(!1),[f,g]=r.useState(0),[h,m]=r.useState(!1),[y,S]=r.useState(!1),T=r.useRef(!1),{protocolType:v}=En(),[_]=Ar(),[E]=kr(),b=r.useCallback(async()=>{try{p(!0);const t=await _({protocol:v,body:{}}).unwrap(),r=t?.id;if(r){a(r);const n=Kn(t?.title);return n&&e(pn({id:r,title:n})),r}return n.showErrorToast(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return n.showErrorToast(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{p(!1)}},[_,v,e]),w=r.useCallback(async(t,r)=>{try{const n=Kn(r);n&&e(pn({id:t,title:n}));const s=await E({conversationId:t,skip:0,limit:$n.MESSAGE_PAGE_SIZE}).unwrap();if(s){a(t);const r=Kn(s.title)??n;r&&e(pn({id:t,title:r}));const o=s.messages??[],u=Array.isArray(o)?Gn(o):[];return i(u),g(o.length),m(o.length>=$n.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(n.logger.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to load conversation. Please try again.")),!1}},[E,e]),A=r.useCallback(async(t=s)=>{if(!t)return null;try{const r=await E({conversationId:t,skip:0,limit:1}).unwrap(),n=Kn(r?.title);return n&&e(pn({id:t,title:n})),n}catch(e){return n.logger.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),null}},[s,E,e]),R=r.useCallback(async()=>{if(T.current||!s||!h)return;const e=s;S(!0),T.current=!0;try{const t=await E({conversationId:s,skip:f,limit:$n.MESSAGE_PAGE_SIZE}).unwrap();if(u.current!==e)return;if(t?.messages&&Array.isArray(t.messages)){const e=Gn(t.messages);g(e=>e+t.messages.length),m(t.messages.length>=$n.MESSAGE_PAGE_SIZE),i(t=>{const r=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!r.has(e.timestamp)),...t]})}}catch(e){n.logger.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to load older messages.")}finally{S(!1),T.current=!1}},[s,f,h,E]),I=r.useCallback(()=>{i([]),a(null),g(0),m(!1)},[]);return{conversationId:s,setConversationId:a,conversationTitle:c,setConversationTitle:d,messages:o,setMessages:i,isLoadingCreateConversation:l,hasMoreMessages:h,isLoadingMoreMessages:y,startSession:b,loadConversation:w,loadConversationTitle:A,loadMoreMessages:R,resetConversation:I}},exports.useCreateConversatonsMutation=Ar,exports.useDeleteAccountMutation=Gr,exports.useDeleteConversationMutation=Pr,exports.useDeleteDocumentMutation=xr,exports.useDeleteToolServerConnectionMutation=Dr,exports.useElapsedSeconds=e=>{const[t,n]=r.useState(()=>null===e?0:Math.floor((Date.now()-e)/1e3));return r.useEffect(()=>{if(null===e)return void n(0);n(Math.floor((Date.now()-e)/1e3));const t=setInterval(()=>{n(Math.floor((Date.now()-e)/1e3))},1e3);return()=>clearInterval(t)},[e]),t},exports.useEventEmitter=function(e,t,s){const a=r.useRef(s);r.useEffect(()=>{a.current=s},[s]),r.useEffect(()=>{const r=n.eventEmitter.on(e,t,e=>{a.current(e)});return()=>{r()}},[e,t])},exports.useExchangeOAuthCodeMutation=Or,exports.useGetBrandingQuery=Lr,exports.useGetConfigQuery=vn,exports.useGetConversationHistoryQuery=Cr,exports.useGetProfileQuery=Hr,exports.useGetToolServersQuery=Nr,exports.useGuestBoot=function({clientType:e}){const{data:n,isLoading:s,refetch:a}=vn(),o=Qn(n,e),i=Boolean(n?.data?.auth_mode_config),[u,c]=r.useState(o);i&&o!==u&&c(o);const d=i?o:u,l=t.useSelector(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:p}=qn(),f=r.useRef(!1),[g,h]=r.useState(!1),[m,y]=r.useState(0),S=r.useRef(0),T=r.useRef(0);r.useEffect(()=>{if(d!==Ln.GUEST_ONLY)return;if(l)return void(f.current=!1);if(s)return;if(f.current)return;const e=Date.now();S.current=e-T.current<1e4?S.current+1:0,T.current=e,S.current>=3?h(!0):(f.current=!0,h(!1),p().then(e=>{e.success||(f.current=!1,h(!0))}))},[d,l,s,p,m]);const v=r.useCallback(()=>{S.current=0,T.current=0,h(!1),a(),y(e=>e+1)},[a]);return{mode:d,isGuestBootPending:s||d===Ln.GUEST_ONLY&&!l&&!g,guestBootFailed:!l&&!s&&void 0===n||d===Ln.GUEST_ONLY&&!l&&g,retryGuestBoot:v}},exports.useGuestLogin=qn,exports.useInfiniteScroll=function({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:s,itemCount:a}){const o=r.useRef(null),i=r.useCallback(r=>{if(o.current&&o.current.disconnect(),!r||!e)return;const a=function(e,t){const r=t?.querySelector("[data-radix-scroll-area-viewport]");if(r)return r;if(t&&t.scrollHeight>t.clientHeight)return t;let n=e.parentElement;for(;n&&n!==document.body;){if(n.scrollHeight>n.clientHeight)return n;n=n.parentElement}return null}(r,n.current);a&&(o.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&s()},{root:a,rootMargin:"0px",threshold:.1}),o.current.observe(r))},[e,t,n,s]);return r.useEffect(()=>{if(!e||t.current)return;const r=n.current;if(!r)return;const a=r.querySelector("[data-radix-scroll-area-viewport]")??r;a.clientHeight>0&&a.scrollHeight<=a.clientHeight&&s()},[e,n,s,t,a]),i},exports.useIsDesktop=()=>es("(min-width: 1024px)"),exports.useLazyGetConversationByIdQuery=kr,exports.useLocationInit=()=>{const[e,t]=r.useState(!1),{getUserLocation:s}=Zn(),a=n.useStorage(),o=r.useRef(!1);return r.useEffect(()=>{if(o.current)return;o.current=!0;let e=null;const r=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await a.getItem(n.STORAGE_KEYS.LOCATION_ENABLED))return void r();const t=await Jn(a);t&&0!==t.latitude&&0!==t.longitude?r():(e=setTimeout(r,5e3),s().finally(r))})(),()=>{null!==e&&clearTimeout(e)}},[s,a]),e},exports.useLogin=function(){const e=r.useCallback(e=>On(e.email,e.password),[]),{run:t,isLoading:n}=Dn(e);return{login:t,isLoading:n}},exports.useLogout=function(){const e=t.useStore();return{logout:r.useCallback(async()=>{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(r&&s)try{await Nn({refresh_token:r,user_id:s})}catch{}else n.logger.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(r),has_user_id:Boolean(s)});e.dispatch(n.clearSession())},[e])}},exports.useMediaQuery=es,exports.useMessageList=({messages:e,voiceStreamingMessages:t=os,voiceActive:s})=>{const a=r.useMemo(()=>{if(0===t.length)return e;const r=new Set(t.map(e=>e.id));return e.filter(e=>!r.has(e.id))},[e,t]),o=r.useMemo(()=>ss(a),[a]),i=as(s),u=r.useRef(e.length),c=r.useCallback(()=>{const t=u.current;return u.current=e.length,((e,t)=>{const r=t.length-1,s=ss(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:r,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:s};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:r,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(n.hasWidgets),lastUserMessageIndex:s}})(t,e)},[e]);return{visibleMessages:a,lastUserMessageIndex:o,indicator:i,classifyArrival:c}},exports.useOAuthPopup=function({signInInit:e,sendMessageRef:t,clearSignInInit:s,sendResumeMessage:a=!0}){const[o]=Or();r.useEffect(()=>{if(!e)return;const r=function(e){try{const t=(new URL(e).searchParams.get("scope")??"").match(/\/auth\/([^./]+)/);if(t?.[1])return t[1].charAt(0).toUpperCase()+t[1].slice(1)}catch{}return"Service"}(e.authorize_url),i=window.open(e.authorize_url,"oauth_popup",`width=500,height=650,left=${Math.round(screen.width/2-250)},top=${Math.round(screen.height/2-325)}`);if(!i)return n.showErrorToast("Please allow popups for this site to sign in to external services."),void s();let u=!1;const c=e=>{u||(u=!0,window.removeEventListener("message",d),clearInterval(l),e?.(),s())},d=async e=>{if(e.origin!==window.location.origin)return;if(u)return;if(e.data?.type===hs)return void c(()=>n.showErrorToast(`Failed to sign in to ${r}. Please try again.`));if(e.data?.type!==gs)return;u=!0,window.removeEventListener("message",d),clearInterval(l);const{code:p,state:f}=e.data;"error"in await o({code:p,state:f})?n.showErrorToast(`Failed to sign in to ${r}. Please try again.`):(n.showSuccessToast(`${r} connected successfully`),a&&t.current?.(`${r} is now signed in, please continue`)),s(),i?.close()},l=setInterval(()=>{i.closed&&c()},500);return window.addEventListener("message",d),()=>{window.removeEventListener("message",d),clearInterval(l),u||i.close()}},[e,t,s,o,a])},exports.usePayment=function({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:r,clearPaymentInit:n,handlePaymentResult:s}=Xn({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=ts({paymentInit:t,onPaymentResult:s,onClearPaymentInit:n});return{paymentInit:t,setPaymentInit:r,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:n}},exports.usePaymentFlow=Xn,exports.usePaymentResultDedup=ts,exports.useProtocol=En,exports.useRefreshToken=function(){const e=t.useStore(),[s,a]=r.useState(!1);return{refresh:r.useCallback(async()=>{a(!0);try{const t=e.getState(),r=t.auth?.refreshToken,s=t.auth?.user?.email;if(!r||!s)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:o}=await Mn({refresh_token:r,user_id:s});return a?.success&&a?.data?(e.dispatch(n.setSession({accessToken:o.accessToken,refreshToken:o.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{a(!1)}},[e]),isLoading:s}},exports.useResolvedChatIndicators=as,exports.useSTTRecording=({onTranscriptionComplete:e,onTranscriptionPopulate:s,ensureConversation:a,autoSendVoice:o=!0}={})=>{const[i,u]=r.useState(!1),[c,d]=r.useState(!1),[l,p]=r.useState(0),f=r.useRef(null),g=r.useRef(null),h=r.useRef(!1),m=r.useRef(!1),y=r.useRef(null),S=t.useDispatch(),[T]=Rr(),v=r.useCallback(async()=>{m.current=!1;const e=()=>{t(),h.current?y.current?.():m.current=!0},t=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e);const r=await ls();if("denied"===r)return t(),void n.showErrorToast(ds);if("prompt"!==r){if(m.current)return t(),void(m.current=!1);try{f.current||(f.current=new cs),await f.current.startRecording(e=>{p(e)}),g.current=Date.now(),h.current=!0,u(!0),m.current&&(m.current=!1,await(y.current?.()))}catch(e){t(),n.logger.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),h.current=!1,n.showErrorToast(ds)}}else{t(),m.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await ls()&&n.showErrorToast(ds)}}},[]),_=r.useCallback(async()=>{try{if(!f.current||!h.current)return;const t=g.current?Date.now()-g.current:0;if(u(!1),p(0),t<500)return f.current?.cleanup(),void(g.current=null);d(!0);const r=await f.current.stopRecording(),i=await(a?.())??null;if(!i)return void n.showErrorToast("Failed to transcribe audio");const c=await T({conversationId:i,audioFile:r}).unwrap();c.success?c.data.text&&(S(sn(c.data.transcription_id)),o&&e?await e(c.data.text):!o&&s&&s(c.data.text)):n.showErrorToast("Transcription failed")}catch(e){n.logger.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),n.showErrorToast("Failed to transcribe audio")}finally{d(!1),h.current=!1,f.current?.cleanup(),g.current=null}},[o,S,a,e,s,T]);return r.useEffect(()=>{y.current=_},[_]),r.useEffect(()=>()=>{f.current?.cleanup()},[]),{isRecording:i,isTranscribing:c,audioLevel:l,startRecording:v,stopRecording:_}},exports.useSignup=function(){const{run:e,isLoading:t}=Dn(kn);return{signup:e,isLoading:t}},exports.useStartToolServerOAuthMutation=Mr,exports.useThinkingMessage=(e={})=>{const{enabled:t=!0}=e,[n,s]=r.useState(jn.INITIAL),[a,o]=r.useState(0),[i,u]=r.useState(!0),c=r.useRef(null),d=r.useRef(null),l=r.useRef(null);return r.useEffect(()=>{if(!t)return s(jn.INITIAL),o(0),void u(!0);s(jn.INITIAL),o(0),u(!0);let e=jn.INITIAL;const r=()=>{c.current=setTimeout(()=>{u(!1),l.current=setTimeout(()=>{o(t=>(t+1)%e.length),u(!0),l.current=null},500),r()},jn.ROTATION_INTERVAL_MS)};return r(),d.current=setTimeout(()=>{e=jn.LATER,c.current&&clearTimeout(c.current),l.current&&clearTimeout(l.current),s(jn.LATER),o(0),u(!1),l.current=setTimeout(()=>{u(!0),l.current=null},500),r()},jn.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),l.current&&clearTimeout(l.current),c.current=null,d.current=null,l.current=null}},[t]),{message:n[a],isVisible:i}},exports.useTokenRefresh=function({refreshSession:e,checkIntervalMs:s=6e4}){const a=t.useStore(),o=t.useSelector(e=>e.auth),i=o?.accessToken??null,u=Boolean(o?.isAuthenticated),c=o?.tokenExpiresAt??null,d=r.useRef(null),l=r.useRef(null),p=r.useCallback(()=>{a.dispatch(n.clearSession())},[a]),f=r.useCallback(async(t=!1)=>{if(t||!(Date.now()-us<3e5))try{await e()?us=Date.now():(n.logger.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),p())}catch(e){n.logger.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),p()}},[e,p]),g=r.useCallback(()=>{u&&(n.isTokenExpired(c)?f(!0):n.isTokenAboutToExpire(c)&&f())},[u,c,f]);return r.useEffect(()=>{i&&n.isTokenExpired(c)&&f(!0)},[]),r.useEffect(()=>{if(u&&i){if(n.isTokenExpired(c))return void f(!0);const e=n.getTimeUntilRefresh(c);return e>0?l.current=setTimeout(()=>{f()},e):n.isTokenAboutToExpire(c)&&f(),d.current=setInterval(()=>{n.isTokenExpired(c)?f(!0):n.isTokenAboutToExpire(c)&&f()},s),()=>{d.current&&clearInterval(d.current),l.current&&clearTimeout(l.current)}}us=0,d.current&&(clearInterval(d.current),d.current=null),l.current&&(clearTimeout(l.current),l.current=null)},[u,i,c,s,f]),{checkNow:g}},exports.useTranscribeAudioMutation=Rr,exports.useTypewriter=function(e,t=28){const[n,s]=r.useState(e),a=r.useRef(e),o=r.useCallback(e=>{a.current=e,s(e)},[]);return r.useEffect(()=>{if(a.current===e)return;const r=function(e,t){const r=Math.min(e.length,t.length);let n=0;for(;n<r&&e[n]===t[n];)n+=1;return n}(a.current,e);o(e.slice(0,r));let n=r;const s=globalThis.setInterval(()=>{n+=1,o(e.slice(0,n)),n>=e.length&&globalThis.clearInterval(s)},t);return()=>globalThis.clearInterval(s)},[e,t,o]),n},exports.useUpdatePasswordMutation=Kr,exports.useUpdateProfileMutation=zr,exports.useUploadDocumentMutation=Ir,exports.useUserLocation=Zn,exports.useVerifyEmail=function(){const{run:e,isLoading:t}=Dn(Pn);return{verify:e,isLoading:t}},exports.verifyEmailApi=Pn;
|