@1interface/chat-core 0.10.0 → 0.11.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.mjs CHANGED
@@ -1 +1 @@
1
- import{nanoid as e,formatProdErrorMessage as t,createSelector as n,createAction as r,createAsyncThunk as a,createSlice as s,prepareAutoBatched as i,isAnyOf as o,isFulfilled as c,isRejectedWithValue as u,combineReducers as d,isPlainObject as l,SHOULD_AUTOBATCH as p,isAllOf as f,isRejected as h,isPending as g,isAction as m,createNextState as y,isAsyncThunkAction as v,configureStore as _}from"@reduxjs/toolkit";import{useStore as S,useSelector as b,useDispatch as w,batch as T,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as A,useMemo as R,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as P,useContext as x}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as Q,getTokenRefreshHandler as F,clearSession as L,setSession as U,readAccessToken as j,API_ENDPOINTS as $,TIMING as z,sessionExpired as K,indicatorReducer as G,sessionReducer as H,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as J,isTokenAboutToExpire as X,readTokenExpiresAt as Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,createTokenRefresher as re,formatTimeRemaining as ae,getTimeUntilExpiry as se,isTokenExpired as ie,INDICATOR_TIMER_ACTIONS as oe,setLastResponseTime as ce,handleSharedEvent as ue,clearLastResponseTime as de,readDeviceToken as le,showSuccessToast as pe,eventEmitter as fe,STORAGE_KEYS as he,useStorage as ge,useBranding as me,hasWidgets as ye,getTimeUntilRefresh as ve,FEATURE_FLAGS as _e,getBaseUrl as Se}from"@1interface/shared-core";import{fetchEventSource as be}from"@microsoft/fetch-event-source";var we=Symbol.for("immer-nothing"),Te=Symbol.for("immer-draftable"),Ee=Symbol.for("immer-state"),Ie="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 Ae(e,...t){if("production"!==process.env.NODE_ENV){const n=Ie[e],r=We(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Re=Object,Oe=Re.getPrototypeOf,ke="constructor",Ce="prototype",Ne="configurable",Pe="enumerable",xe="writable",qe="value",Me=e=>!!e&&!!e[Ee];function De(e){return!!e&&(Le(e)||Ge(e)||!!e[Te]||!!e[ke]?.[Te]||He(e)||Be(e))}var Qe=Re[Ce][ke].toString(),Fe=new WeakMap;function Le(e){if(!e||!Ve(e))return!1;const t=Oe(e);if(null===t||t===Re[Ce])return!0;const n=Re.hasOwnProperty.call(t,ke)&&t[ke];if(n===Object)return!0;if(!We(n))return!1;let r=Fe.get(n);return void 0===r&&(r=Function.toString.call(n),Fe.set(n,r)),r===Qe}function Ue(e,t,n=!0){0===je(e)?(n?Reflect.ownKeys(e):Re.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function je(e){const t=e[Ee];return t?t.type_:Ge(e)?1:He(e)?2:Be(e)?3:0}var $e=(e,t,n=je(e))=>2===n?e.has(t):Re[Ce].hasOwnProperty.call(e,t),ze=(e,t,n=je(e))=>2===n?e.get(t):e[t],Ke=(e,t,n,r=je(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Ge=Array.isArray,He=e=>e instanceof Map,Be=e=>e instanceof Set,Ve=e=>"object"==typeof e,We=e=>"function"==typeof e,Je=e=>"boolean"==typeof e,Xe=e=>e.copy_||e.base_,Ye=e=>e.modified_?e.copy_:e.base_;function Ze(e,t){if(He(e))return new Map(e);if(Be(e))return new Set(e);if(Ge(e))return Array[Ce].slice.call(e);const n=Le(e);if(!0===t||"class_only"===t&&!n){const t=Re.getOwnPropertyDescriptors(e);delete t[Ee];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[xe]&&(s[xe]=!0,s[Ne]=!0),(s.get||s.set)&&(t[a]={[Ne]:!0,[xe]:!0,[Pe]:s[Pe],[qe]:e[a]})}return Re.create(Oe(e),t)}{const t=Oe(e);if(null!==t&&n)return{...e};const r=Re.create(t);return Re.assign(r,e)}}function et(e,t=!1){return nt(e)||Me(e)||!De(e)||(je(e)>1&&Re.defineProperties(e,{set:tt,add:tt,clear:tt,delete:tt}),Re.freeze(e),t&&Ue(e,(e,t)=>{et(t,!0)},!1)),e}var tt={[qe]:function(){Ae(2)}};function nt(e){return null===e||!Ve(e)||Re.isFrozen(e)}var rt="MapSet",at="Patches",st="ArrayMethods",it={};function ot(e){const t=it[e];return t||Ae(0,e),t}var ct,ut=e=>!!it[e],dt=()=>ct;function lt(e,t){t&&(e.patchPlugin_=ot(at),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function pt(e){ft(e),e.drafts_.forEach(gt),e.drafts_=null}function ft(e){e===ct&&(ct=e.parent_)}var ht=e=>ct={drafts_:[],parent_:ct,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ut(rt)?ot(rt):void 0,arrayMethodsPlugin_:ut(st)?ot(st):void 0};function gt(e){const t=e[Ee];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function mt(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Ee].modified_&&(pt(t),Ae(4)),De(e)&&(e=yt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Ee].base_,e,t)}else e=yt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&et(t,n)}(t,e,!0),pt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==we?e:void 0}function yt(e,t){if(nt(t))return t;const n=t[Ee];if(!n)return Tt(t,e.handledSet_,e);if(!_t(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);wt(n,e)}return n.copy_}function vt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var _t=(e,t)=>e.scope_===t,St=[];function bt(e,t,n,r){const a=Xe(e),s=e.type_;if(void 0!==r&&ze(a,r,s)===t)return void Ke(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ue(a,(e,n)=>{if(Me(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const i=e.draftLocations_.get(t)??St;for(const e of i)Ke(a,e,n,s)}function wt(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}vt(e)}}function Tt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Me(e)||t.has(e)||!De(e)||nt(e)||(t.add(e),Ue(e,(r,a)=>{if(Me(a)){const t=a[Ee];if(_t(t,n)){const n=Ye(t);Ke(e,r,n,e.type_),vt(t)}}else De(a)&&Tt(a,t,n)})),e}var Et={get(e,t){if(t===Ee)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const a=Xe(e);if(!$e(a,t,e.type_))return function(e,t,n){const r=Rt(t,n);return r?qe in r?r[qe]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!De(s))return s;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return s;if(s===At(e.base_,t)){kt(e);const n=1===e.type_?+t:t,r=Ct(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in Xe(e),ownKeys:e=>Reflect.ownKeys(Xe(e)),set(e,t,n){const r=Rt(Xe(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=At(Xe(e),t),i=r?.[Ee];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((a=n)===(s=r)?0!==a||1/a==1/s:a!=a&&s!=s)&&(void 0!==n||$e(e.base_,t,e.type_)))return!0;kt(e),Ot(e)}var a,s;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Me(n)){const a=n[Ee];_t(a,r)&&a.callbacks_.push(function(){kt(e);const r=Ye(a);bt(e,n,r,t)})}else De(n)&&e.callbacks_.push(function(){const a=Xe(e);3===e.type_?a.has(n)&&Tt(n,r.handledSet_,r):ze(a,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Tt(ze(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(kt(e),void 0!==At(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),Ot(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Xe(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[xe]:!0,[Ne]:1!==e.type_||"length"!==t,[Pe]:r[Pe],[qe]:n[t]}:r},defineProperty(){Ae(11)},getPrototypeOf:e=>Oe(e.base_),setPrototypeOf(){Ae(12)}},It={};for(let e in Et){let t=Et[e];It[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function At(e,t){const n=e[Ee];return(n?Xe(n):e)[t]}function Rt(e,t){if(!(t in e))return;let n=Oe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Oe(n)}}function Ot(e){e.modified_||(e.modified_=!0,e.parent_&&Ot(e.parent_))}function kt(e){e.copy_||(e.assigned_=new Map,e.copy_=Ze(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Ct(e,t,n,r){const[a,s]=He(t)?ot(rt).proxyMap_(t,n):Be(t)?ot(rt).proxySet_(t,n):function(e,t){const n=Ge(e),r={type_:n?1:0,scope_:t?t.scope_:dt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=r,s=Et;n&&(a=[r],s=It);const{revoke:i,proxy:o}=Proxy.revocable(a,s);return r.draft_=o,r.revoke_=i,[o,r]}(t,n);return(n?.scope_??dt()).drafts_.push(a),s.callbacks_=n?.callbacks_??[],s.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const a=t;if(!a||!_t(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=Ye(a);bt(e,a.draft_??a,s,n),wt(a,r)})}(n,s,r):s.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(s);const{patchPlugin_:t}=e;s.modified_&&t&&t.generatePatches_(s,[],e)}),a}function Nt(e){return Me(e)||Ae(10,e),Pt(e)}function Pt(e){if(!De(e)||nt(e))return e;const t=e[Ee];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Ze(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Ze(e,!0);return Ue(n,(e,t)=>{Ke(n,e,Pt(t))},r),t&&(t.finalized_=!1),n}It.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Ae(13),It.set.call(this,e,t,void 0)},It.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Ae(14),Et.set.call(this,e[0],t,n,e[0])};var xt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(We(e)&&!We(t)){const n=t;t=e;const r=this;return function(e=n,...a){return r.produce(e,e=>t.call(this,e,...a))}}let r;if(We(t)||Ae(6),void 0===n||We(n)||Ae(7),De(e)){const a=ht(this),s=Ct(0,e,void 0);let i=!0;try{r=t(s),i=!1}finally{i?pt(a):ft(a)}return lt(a,n),mt(r,a)}if(!e||!Ve(e)){if(r=t(e),void 0===r&&(r=e),r===we&&(r=void 0),this.autoFreeze_&&et(r,!0),n){const t=[],a=[];ot(at).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}return r}Ae(1,e)},this.produceWithPatches=(e,t)=>{if(We(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Je(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Je(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Je(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){De(e)||Ae(8),Me(e)&&(e=Nt(e));const t=ht(this),n=Ct(0,e,void 0);return n[Ee].isManual_=!0,ft(t),n}finishDraft(e,t){const n=e&&e[Ee];n&&n.isManual_||Ae(9);const{scope_:r}=n;return lt(r,t),mt(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=ot(at).applyPatches_;return Me(e)?r(e,t):this.produce(e,e=>r(e,t))}},qt=xt.produceWithPatches.bind(xt),Mt=xt.applyPatches.bind(xt),Dt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Qt=(e,t,n)=>{if(1===t.length&&t[0]===n){let t=!1;try{const n={};e(n)===n&&(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})}}},Ft=(e,t,n)=>{const{memoize:r,memoizeOptions:a}=t,{inputSelectorResults:s,inputSelectorResultsCopy:i}=e,o=r(()=>({}),...a);if(o.apply(null,s)!==o.apply(null,i)){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:n,firstInputs:s,secondInputs:i,stack:e})}},Lt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Ut=e=>Array.isArray(e)?e:[e];function jt(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].apply(null,t));return n}var $t="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function zt(){return{s:0,v:void 0,o:null,p:null}}function Kt(e,t={}){let n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let a,s=0;function i(){let t=n;const{length:i}=arguments;for(let e=0,n=i;e<n;e++){const n=arguments[e];if("function"==typeof n||"object"==typeof n&&null!==n){let e=t.o;null===e&&(t.o=e=new WeakMap);const r=e.get(n);void 0===r?(t=zt(),e.set(n,t)):t=r}else{let e=t.p;null===e&&(t.p=e=new Map);const r=e.get(n);void 0===r?(t=zt(),e.set(n,t)):t=r}}const o=t;let c;if(1===t.s)c=t.v;else if(c=e.apply(null,arguments),s++,r){const e=a?.deref?.()??a;null!=e&&r(e,c)&&(c=e,0!==s&&s--),a="object"==typeof c&&null!==c||"function"==typeof c?new $t(c):c}return o.s=1,o.v=c,c}return i.clearCache=()=>{n={s:0,v:void 0,o:null,p:null},i.resetResultsCount()},i.resultsCount=()=>s,i.resetResultsCount=()=>{s=0},i}function Gt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,a=0,s={},i=e.pop();"object"==typeof i&&(s=i,i=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(i,`createSelector expects an output function after the inputs, but received: [${typeof i}]`);const o={...n,...s},{memoize:c,memoizeOptions:u=[],argsMemoize:d=Kt,argsMemoizeOptions:l=[],devModeChecks:p={}}=o,f=Ut(u),h=Ut(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 n=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${n}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}(e),m=c(function(){return r++,i.apply(null,arguments)},...f);let y=!0;const v=d(function(){a++;const e=jt(g,arguments);if(t=m.apply(null,e),"production"!==process.env.NODE_ENV){const{identityFunctionCheck:n,inputStabilityCheck:r}=((e,t)=>{const{identityFunctionCheck:n,inputStabilityCheck:r}={...Lt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:Qt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Ft}}})(y,p);if(n.shouldRun&&n.run(i,e,t),r.shouldRun){const t=jt(g,arguments);r.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:c,memoizeOptions:f},arguments)}y&&(y=!1)}return t},...h);return Object.assign(v,{resultFunc:i,memoizedResultFunc:m,dependencies:g,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>t,recomputations:()=>r,resetRecomputations:()=>{r=0},memoize:c,argsMemoize:d})};return Object.assign(r,{withTypes:()=>r}),r}var Ht=Gt(Kt),Bt=Object.assign((e,t=Ht)=>{!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 n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>Bt}),Vt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Vt||{}),Wt="uninitialized",Jt="pending",Xt="fulfilled",Yt="rejected";function Zt(e){return{status:e,isUninitialized:e===Wt,isLoading:e===Jt,isSuccess:e===Xt,isError:e===Yt}}var en=l;function tn(e,t){if(e===t||!(en(e)&&en(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let a=n.length===r.length;const s=Array.isArray(t)?[]:{};for(const r of n)s[r]=tn(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function nn(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),e),[]).flat()}function rn(e){return null!=e}function an(e){return[...e?.values()??[]].filter(rn)}function sn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var on=()=>new Map,cn=e=>{const t=new AbortController;return setTimeout(()=>{const e="signal timed out",n="TimeoutError";t.abort("undefined"!=typeof DOMException?new DOMException(e,n):Object.assign(new Error(e),{name:n}))},e),t.signal},un=(...e)=>{for(const t of e)if(t.aborted)return AbortSignal.abort(t.reason);const t=new AbortController;for(const n of e)n.addEventListener("abort",()=>t.abort(n.reason),{signal:t.signal,once:!0});return t.signal},dn=(...e)=>fetch(...e),ln=e=>e.status>=200&&e.status<=299,pn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function fn(e){if(!l(e))return e;const t={...e};for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}var hn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},gn="__rtkq/",mn="online",yn="offline",vn="focus",_n="focused",Sn="visibilitychange",bn=r(`${gn}${_n}`),wn=r(`${gn}un${_n}`),Tn=r(`${gn}${mn}`),En=r(`${gn}${yn}`),In=!1,An="query",Rn="mutation",On="infinitequery";function kn(e){return e.type===An}function Cn(e){return e.type===On}function Nn(e){return kn(e)||Cn(e)}function Pn(e,t,n,r,a,s){const i="function"==typeof e?e(t,n,r,a):e;return i?nn(i,rn,e=>s(xn(e))):[]}function xn(e){return"string"==typeof e?{type:e}:e}var qn=(e,t)=>e.endpointDefinitions[t],Mn=Symbol("forceQueryFn"),Dn=e=>"function"==typeof e[Mn],Qn=class extends Dt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Fn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Ln(e,t,n,r){const a=await e["~standard"].validate(t);if(a.issues)throw new Qn(a.issues,t,n,r);return a.value}function Un(e){return e}var jn=(e={})=>({...e,[p]:!0});function $n(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],n,r)}function zn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Kn(e,t,n,r){return Pn(n[e.meta.arg.endpointName][t],c(e)?e.payload:void 0,u(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function Gn(e){return Me(e)?Nt(e):e}function Hn(e,t,n){const r=e[t];r&&n(r)}function Bn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Vn(e,t,n){const r=e[Bn(t)];r&&n(r)}var Wn={},Jn=Symbol.for("RTKQ/skipToken"),Xn={status:Wt},Yn=y(Xn,()=>{}),Zn=y(Xn,()=>{}),er=WeakMap?new WeakMap:void 0,tr=({endpointName:e,queryArgs:t})=>{let n="";const r=er?.get(t);if("string"==typeof r)n=r;else{const e=JSON.stringify(t,(e,t)=>(t="bigint"==typeof t?{$bigint:t.toString()}:t,t=l(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t));l(t)&&er?.set(t,e),n=e}return`${e}(${n})`};function nr(...n){return function(r){const a=Kt(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:a,serializeQueryArgs(e){let t=tr;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:tr({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},i={endpointDefinitions:{},batch(e){e()},apiUid:e(),extractRehydrationInfo:a,hasRehydrationInfo:Kt(e=>null!=a(e))},o={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:An}),mutation:e=>({...e,type:Rn}),infiniteQuery:e=>({...e,type:On})});for(const[r,a]of Object.entries(n))if(!0!==e.overrideExisting&&r in i.endpointDefinitions){if("throw"===e.overrideExisting)throw new Error("production"===process.env.NODE_ENV?t(39):`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&Cn(a)){const{infiniteQueryOptions:e}=a,{maxPages:n,getPreviousPageParam:s}=e;if("number"==typeof n){if(n<1)throw new Error("production"===process.env.NODE_ENV?t(40):`maxPages for endpoint '${r}' must be a number greater than 0`);if("function"!=typeof s)throw new Error("production"===process.env.NODE_ENV?t(41):`getPreviousPageParam for endpoint '${r}' must be a function if maxPages is used`)}}i.endpointDefinitions[r]=a;for(const e of c)e.injectEndpoint(r,a)}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,n]of Object.entries(t))"function"==typeof n?n(qn(i,e)):Object.assign(qn(i,e)||{},n);return o}},c=n.map(e=>e.init(o,s,i));return o.injectEndpoints({endpoints:r.endpoints})}}function rr(e,...t){return Object.assign(e,...t)}var ar=({api:e,queryThunk:t,context:n,internalState:r,selectors:{selectQueryEntry:a,selectConfig:s},getRunningQueryThunk:i})=>{const{removeQueryResult:c,unsubscribeQueryResult:u,cacheEntriesUpserted:d}=e.internalActions,l=o(u.match,t.fulfilled,t.rejected,d.match);function p(e){const t=r.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,n){const r=t.getState();for(const s of e){const e=a(r,s);e?.endpointName&&m(s,e.endpointName,t,n)}}function m(e,t,r,s){const o=qn(n,t),u=o?.keepUnusedDataFor??s.keepUnusedDataFor;if(u===1/0)return;const d=Math.max(0,Math.min(u,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(c({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(t,a)=>{const i=a.getState(),o=s(i);if(l(t)){let e;if(d.match(t))e=t.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:n}=u.match(t)?t.payload:t.meta.arg;e=[n]}g(e,a,o)}if(e.util.resetApiState.match(t)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];h(r.runningQueries),h(r.runningMutations)}if(n.hasRehydrationInfo(t)){const{queries:e}=n.extractRehydrationInfo(t);g(Object.keys(e),a,o)}}},sr=new Error("Promise never resolved before cacheEntryRemoved."),ir=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:a,selectors:{selectQueryEntry:s}})=>{const i=v(r),o=v(a),u=c(r,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=e.internalActions;function h(e,t,n){const r=d[e];r?.valueResolved&&(r.valueResolved({data:t,meta:n}),delete r.valueResolved)}function g(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:n}=e.meta,{endpointName:r,originalArgs:a}=t;return[r,a,n]}function y(t,r,a,s,i){const o=qn(n,t),c=o?.onCacheEntryAdded;if(!c)return;const u={},l=new Promise(e=>{u.cacheEntryRemoved=e}),p=Promise.race([new Promise(e=>{u.valueResolved=e}),l.then(()=>{throw sr})]);p.catch(()=>{}),d[a]=u;const f=e.endpoints[t].select(Nn(o)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:i,extra:h,updateCachedData:Nn(o)?n=>s.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==sr)throw e})}return(n,c,v)=>{const _=function(e){return i(e)?e.meta.arg.queryCacheKey:o(e)?e.meta.arg.fixedCacheKey??e.meta.requestId:l.match(e)?e.payload.queryCacheKey:p.match(e)?Bn(e.payload):""}(n);function S(e,t,n,r){const a=s(v,t),i=s(c.getState(),t);!a&&i&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);S(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:a,queryCacheKey:s}=e;S(r,s,n.meta.requestId,a),h(s,t,{})}else if(a.pending.match(n)){if(c.getState()[t].mutations[_]){const[e,t,r]=m(n);y(e,t,_,c,r)}}else if(u(n))h(_,n.payload,n.meta.baseQueryMeta);else if(l.match(n)||p.match(n))g(_);else if(e.util.resetApiState.match(n))for(const e of Object.keys(d))g(e)}},or=({api:e,context:{apiUid:t},reducerPath:n})=>(r,a)=>{e.util.resetApiState.match(r)&&a.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===a.getState()[n]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${n}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===n?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},cr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:a,api:s,assertTagType:i,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=s.internalActions,f=o(c(r),u(r)),g=o(c(a,r),h(a,r));let m=[],y=0;function v(n,r){const a=r.getState(),i=a[e];if(m.push(...n),"delayed"===i.config.invalidationBehavior&&y>0)return;const o=m;if(m=[],0===o.length)return;const c=s.util.selectInvalidatedBy(a,o);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=i.queries[t],n=sn(l.currentSubscriptions,t,on);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==Wt&&r.dispatch(d(e)))}})}return(e,t)=>{(a.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Kn(e,"invalidatesTags",n,i),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(Pn(e.payload,void 0,void 0,void 0,void 0,i),t)}},ur=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:a})=>{const{currentPolls:s,currentSubscriptions:i}=a,o=new Set;let c=null;function u(e,t){o.add(e),c||(c=setTimeout(()=>{for(const e of o)l({queryCacheKey:e},t);o.clear(),c=null},0))}function d({queryCacheKey:t},n){const a=n.getState()[e],o=a.queries[t],c=i.get(t);if(!o||o.status===Wt)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=s.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;s.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!a.config.focused&&l||n.dispatch(r(o)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],a=i.get(t);if(!r||r.status===Wt)return;const{lowestPollingInterval:o}=f(a);if("test"===process.env.NODE_ENV){const e=s.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(o))return void p(t);const c=s.get(t),u=Date.now()+o;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=s.get(e);t?.timeout&&clearTimeout(t.timeout),s.delete(e)}function f(e=new Map){let t=!1,n=Number.POSITIVE_INFINITY;for(const r of e.values())r.pollingInterval&&(n=Math.min(r.pollingInterval,n),t=r.skipPollingIfUnfocused||t);return{lowestPollingInterval:n,skipPollingIfUnfocused:t}}return(e,r)=>{(n.internalActions.updateSubscriptionOptions.match(e)||n.internalActions.unsubscribeQueryResult.match(e))&&u(e.payload.queryCacheKey,r),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&u(e.meta.arg.queryCacheKey,r),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,r),n.util.resetApiState.match(e)&&(function(){for(const e of s.keys())p(e)}(),c&&(clearTimeout(c),c=null),o.clear())}},dr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const a=g(n,r),s=h(n,r),i=c(n,r),o={};return(n,r)=>{if(a(n)){const{requestId:a,arg:{endpointName:s,originalArgs:i}}=n.meta,c=qn(t,s),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),o[a]=t;const d=e.endpoints[s].select(Nn(c)?i:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:Nn(c)?t=>r.dispatch(e.util.updateQueryData(s,i,t)):void 0,queryFulfilled:n};u(i,p)}}else if(i(n)){const{requestId:e,baseQueryMeta:t}=n.meta;o[e]?.resolve({data:n.payload,meta:t}),delete o[e]}else if(s(n)){const{requestId:e,rejectedWithValue:t,baseQueryMeta:r}=n.meta;o[e]?.reject({error:n.payload??n.error,isUnhandledError:!t,meta:r}),delete o[e]}}};var lr=Symbol(),pr=({createSelector:l=n}={})=>({name:lr,init(n,{baseQuery:v,tagTypes:_,reducerPath:S,serializeQueryArgs:b,keepUnusedDataFor:w,refetchOnMountOrArgChange:T,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:A,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Ie.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",n="remove";function r(e){if(!De(e))return e;if(Ge(e))return e.map(r);if(He(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Be(e))return new Set(Array.from(e).map(r));const t=Object.create(Oe(e));for(const n in e)t[n]=r(e[n]);return $e(e,Te)&&(t[Te]=e[Te]),t}function a(e){return Me(e)?r(e):e}var s;it[s=at]||(it[s]={applyPatches_:function(a,s){return s.forEach(s=>{const{path:i,op:o}=s;let c=a;for(let e=0;e<i.length-1;e++){const t=je(c);let n=i[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==ke||Ae(19),We(c)&&n===Ce&&Ae(19),c=ze(c,n),Ve(c)||Ae(18,i.join("/"))}const u=je(c),d=r(s.value),l=i[i.length-1];switch(o){case e:switch(u){case 2:return c.set(l,d);case 3:Ae(16);default:return c[l]=d}case t:switch(u){case 1:return"-"===l?c.push(d):c.splice(l,0,d);case 2:return c.set(l,d);case 3:return c.add(d);default:return c[l]=d}case n:switch(u){case 1:return c.splice(l,1);case 2:return c.delete(l);case 3:return c.delete(s.value);default:return delete c[l]}default:Ae(17,o)}}),a},generatePatches_:function(r,s,i){if(r.scope_.processedForPatches_.has(r))return;r.scope_.processedForPatches_.add(r);const{patches_:o,inversePatches_:c}=i;switch(r.type_){case 0:case 2:return function(r,s,i,o){const{base_:c,copy_:u,type_:d}=r;Ue(r.assigned_,(r,l)=>{const p=ze(c,r,d),f=ze(u,r,d),h=l?$e(c,r)?e:t:n;if(p===f&&h===e)return;const g=s.concat(r);i.push(h===n?{op:h,path:g}:{op:h,path:g,value:a(f)}),o.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:a(p)}:{op:e,path:g,value:a(p)})})}(r,s,o,c);case 1:return function(r,s,i,o){let{base_:c,assigned_:u}=r,d=r.copy_;d.length<c.length&&([c,d]=[d,c],[i,o]=[o,i]);const l=!0===r.allIndicesReassigned_;for(let t=0;t<c.length;t++){const n=d[t],r=c[t];if((l||u?.get(t.toString()))&&n!==r){const c=n?.[Ee];if(c&&c.modified_)continue;const u=s.concat([t]);i.push({op:e,path:u,value:a(n)}),o.push({op:e,path:u,value:a(r)})}}for(let e=c.length;e<d.length;e++){const n=s.concat([e]);i.push({op:t,path:n,value:a(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=s.concat([e]);o.push({op:n,path:t})}}(r,s,o,c);case 3:return function(e,r,a,s){let{base_:i,copy_:o}=e,c=0;i.forEach(e=>{if(!o.has(e)){const i=r.concat([c]);a.push({op:n,path:i,value:e}),s.unshift({op:t,path:i,value:e})}c++}),c=0,o.forEach(e=>{if(!i.has(e)){const i=r.concat([c]);a.push({op:t,path:i,value:e}),s.unshift({op:n,path:i,value:e})}c++})}(r,s,o,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:a,inversePatches_:s}=r;a.push({op:e,path:[],value:n===we?void 0:n}),s.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,a=(r=ze(e,t.key_),Ve(r)?r?.[Ee]:null),s=ze(e,t.key_);if(void 0===s)return null;if(s!==t.draft_&&s!==t.base_&&s!==t.copy_)return null;if(null!=a&&a.base_!==t.base_)return null;const i=3===t.parent_.type_;let o;if(o=i?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(i&&e.size>o||$e(e,o)))return null;n.push(o)}var r;if(t.parent_)return e(t.parent_,n);n.reverse();try{!function(e,t){let n=e;for(let e=0;e<t.length-1;e++)if(n=ze(n,t[e]),!Ve(n)||null===n)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,n)}catch(e){return null}return n}})}();const N=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(_.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(n,{reducerPath:S,endpoints:{},internalActions:{onOnline:Tn,onOffline:En,onFocus:bn,onFocusLost:wn},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>Yn,a=e=>Zn;return{buildQuerySelector:function(e,t){return u(e,t,s)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...Zt(e.status)},{isLoading:r,isError:a,direction:s}=t,i="forward"===s,o="backward"===s;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=$n(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&i,isFetchingPreviousPage:r&&o,isFetchNextPageError:a&&i,isFetchPreviousPageError:a&&o};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Bn(e)??Jn:e,n(t===Jn?a:e=>i(e)?.mutations?.[t]??Zn,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=nn(n,rn,xn);for(const e of s){const t=r.provided.tags[e.type];if(!t)continue;let n=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of n)a.add(e)}return Array.from(a.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return nn(Object.values(o(e)),e=>e?.endpointName===t&&e.status!==Wt,e=>e.originalArgs)},selectApiState:i,selectQueries:o,selectMutations:function(e){return i(e)?.mutations},selectQueryEntry:c,selectConfig:function(e){return i(e)?.config}};function s(e){return{...e,...Zt(e.status)}}function i(e){const n=e[t];if("production"!==process.env.NODE_ENV&&!n){if(i.triggered)return n;i.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return n}function o(e){return i(e)?.queries}function c(e,t){return o(e)?.[t]}function u(t,a,s){return i=>{if(i===Jn)return n(r,s);const o=e({queryArgs:i,endpointDefinition:a,endpointName:t});return n(e=>c(e,o)??Yn,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=zn(e,t,n)}}({serializeQueryArgs:b,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:Q}=P;rr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:F,infiniteQueryThunk:L,mutationThunk:U,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:G}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:s,assertTagType:i,selectors:o,onSchemaFailure:u,catchSchemaFailure:d,skipSchemaValidation:l}){function p(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}function m(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}const y=(e,t)=>e.query&&e[t]?e[t]:Un,v=async(e,{signal:r,abort:a,rejectWithValue:s,fulfillWithValue:i,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:S=l}=g,b=e.type===An;try{let w=Un;const T={signal:r,abort:a,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:b?_(e,f()):void 0,queryCacheKey:b?e.queryCacheKey:void 0},E=b?e[Mn]:void 0;let I;const A=async(t,n,r,a)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const s={queryArg:e.originalArgs,pageParam:n},i=await R(s),o=a?p:m;return{data:{pages:o(t.pages,i.data,r),pageParams:o(t.pageParams,n,r)},meta:i.meta}};async function R(n){let r;const{extraOptions:a,argSchema:s,rawResponseSchema:i,responseSchema:o}=g;if(s&&!Fn(S,"arg")&&(n=await Ln(s,n,"argSchema",{})),E?r=E():g.query?(w=y(g,"transformResponse"),r=await t(g.query(n),T,a)):r=await g.queryFn(n,T,a,e=>t(e,T,a)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=g.query?"`baseQuery`":"`queryFn`";let n;if(r){if("object"!=typeof r)n=`${t} did not return an object.`;else if(r.error&&r.data)n=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===r.error&&void 0===r.data)n=`${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(r))if("error"!==e&&"data"!==e&&"meta"!==e){n=`The object returned by ${t} has the unknown property ${e}.`;break}}else n=`${t} did not return anything.`;n&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${n}\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:`,r)}if(r.error)throw new hn(r.error,r.meta);let{data:c}=r;i&&!Fn(S,"rawResponse")&&(c=await Ln(i,r.data,"rawResponseSchema",r.meta));let u=await w(c,r.meta,n);return o&&!Fn(S,"response")&&(u=await Ln(o,u,"responseSchema",r.meta)),{...r,data:u}}if(b&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const P={pages:[],pageParams:[]},x=o.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!x?P:x;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?zn:$n)(O,q,e.originalArgs);N=await A(q,D,k,M)}else{const{initialPageParam:Q=O.initialPageParam}=e,F=x?.pageParams??[],L=F[0]??Q,U=F.length;if(N=await A(q,L,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<U;j++){const $=$n(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!Fn(S,"meta")&&I.meta&&(I.meta=await Ln(v,I.meta,"metaSchema",I.meta)),i(I.data,jn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof hn){let G=y(g,"transformErrorResponse");const{rawErrorResponseSchema:H,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{H&&!Fn(S,"rawErrorResponse")&&(V=await Ln(H,V,"rawErrorResponseSchema",W)),v&&!Fn(S,"meta")&&(W=await Ln(v,W,"metaSchema",W));let J=await G(V,W,e.originalArgs);return B&&!Fn(S,"errorResponse")&&(J=await Ln(B,J,"errorResponseSchema",W)),s(J,jn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof Qn){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:b?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return s(Z(K,Y),jn({baseQueryMeta:K._bqMeta}))}}catch(ee){K=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".`,K):console.error(K),K}};function _(e,t){const n=o.selectQueryEntry(t,e.queryCacheKey),r=o.selectConfig(t).refetchOnMountOrArgChange,a=n?.fulfilledTimeStamp,s=e.forceRefetch??(e.subscribe&&r);return!!s&&(!0===s||(Number(new Date)-Number(a))/1e3>=s)}const S=()=>a(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return jn({startedTimeStamp:Date.now(),...Cn(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),a=o.selectQueryEntry(r,e.queryCacheKey),s=a?.fulfilledTimeStamp,i=e.originalArgs,c=a?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!Dn(e)&&("pending"===a?.status||!_(e,r)&&(!kn(u)||!u?.forceRefetch?.({currentArg:i,previousArg:c,endpointState:a,state:r}))&&s&&!d))},dispatchConditionRejection:!0}),b=S(),w=S();function T(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:b,mutationThunk:a(`${e}/executeMutation`,v,{getPendingMeta:()=>jn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:w,prefetch:(e,t,n={})=>(r,a)=>{const i=(e=>"force"in e)(n)&&n.force,o=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>s.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=s.endpoints[e].select(t)(a());if(i)r(c());else if(o){const e=u?.fulfilledTimeStamp;if(!e)return void r(c());(Number(new Date)-Number(new Date(e)))/1e3>=o&&r(c())}else r(c(!1))},updateQueryData:(e,t,n,r=!0)=>(a,i)=>{const o=s.endpoints[e].select(t)(i()),c={patches:[],inversePatches:[],undo:()=>a(s.util.patchQueryData(e,t,c.inversePatches,r))};if(o.status===Wt)return c;let u;if("data"in o)if(De(o.data)){const[e,t,r]=qt(o.data,n);c.patches.push(...t),c.inversePatches.push(...r),u=e}else u=n(o.data),c.patches.push({op:"replace",path:[],value:u}),c.inversePatches.push({op:"replace",path:[],value:o.data});return 0===c.patches.length||a(s.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(s.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[Mn]:()=>({data:n})})),patchQueryData:(e,t,a,o)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(s.internalActions.queryResultPatched({queryCacheKey:l,patches:a})),!o)return;const p=s.endpoints[e].select(t)(u()),f=Pn(d.providesTags,p.data,void 0,t,{},i);c(s.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),T(t)),matchFulfilled:f(c(e),T(t)),matchRejected:f(h(e),T(t))}}}}({baseQuery:v,reducerPath:S,context:C,api:n,serializeQueryArgs:b,assertTagType:N,selectors:P,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:H,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:a,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const S=r(`${t}/resetApiState`);function b(e,t,n,r){e[t.queryCacheKey]??={status:Wt,endpointName:t.endpointName},Hn(e,t.queryCacheKey,e=>{e.status=Jt,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,Cn(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function w(e,t,n,r){Hn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:a}=f[t.arg.endpointName];if(e.status=Xt,a)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:s,baseQueryMeta:i,requestId:o}=t;let c=y(e.data,e=>a(e,n,{arg:s.originalArgs,baseQueryMeta:i,fulfilledTimeStamp:r,requestId:o}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?tn(Me(e.data)?(Me(s=e.data)||Ae(15,s),s[Ee].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const T=s({name:`${t}/queries`,initialState:Wn,reducers:{removeQueryResult:{reducer(e,{payload:{queryCacheKey:t}}){delete e[t]},prepare:i()},cacheEntriesUpserted:{reducer(e,t){for(const n of t.payload){const{queryDescription:r,value:a}=n;b(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),w(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},a,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type:An,endpointName:t,originalArgs:e.arg,queryCacheKey:l({queryArgs:n,endpointDefinition:f[t],endpointName:t})},value:r}}),meta:{[p]:!0,requestId:e(),timestamp:Date.now()}})},queryResultPatched:{reducer(e,{payload:{queryCacheKey:t,patches:n}}){Hn(e,t,e=>{e.data=Mt(e.data,n.concat())})},prepare:i()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{b(e,n,Dn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{w(e,t,n,Dn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:a,payload:s})=>{Hn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=Yt,e.error=s??a}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Xt&&r?.status!==Yt||(e[t]=r)})}}),E=s({name:`${t}/mutations`,initialState:Wn,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Bn(t);n in e&&delete e[n]},prepare:i()}},extraReducers(e){e.addCase(a.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:a}})=>{r.track&&(e[Bn(t)]={requestId:n,status:Jt,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Vn(e,n,e=>{e.requestId===n.requestId&&(e.status=Xt,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(a.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Vn(e,r,e=>{e.requestId===r.requestId&&(e.status=Yt,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Xt&&r?.status!==Yt||t===r?.requestId||(e[t]=r)})}}),I=s({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){A(e,n);for(const{type:t,id:a}of r){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:i()}},extraReducers(e){e.addCase(T.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{A(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[a,s]of Object.entries(r)){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];for(const t of s)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(o(c(n),u(n)),(e,t)=>{R(e,[t])}).addMatcher(T.actions.cacheEntriesUpserted.match,(e,t)=>{R(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function A(e,t){const n=Gn(e.keys[t]??[]);for(const r of n){const n=r.type,a=r.id??"__internal_without_id",s=e.tags[n]?.[a];s&&(e.tags[n][a]=Gn(s).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=Kn(e,"providesTags",f,v),{queryCacheKey:n}=e.meta.arg;return{queryCacheKey:n,providedTags:t}});I.caseReducers.updateProvidedBy(e,I.actions.updateProvidedBy(n))}const O=s({name:`${t}/subscriptions`,initialState:Wn,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:Wn,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Mt(e,t.payload),prepare:i()}}}),C=s({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,..._},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&h===t||"conflict"}},extraReducers:e=>{e.addCase(Tn,e=>{e.online=!0}).addCase(En,e=>{e.online=!1}).addCase(bn,e=>{e.focused=!0}).addCase(wn,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:T.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(S.match(t)?void 0:e,t),actions:{...C.actions,...T.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:S}}}({context:C,queryThunk:F,mutationThunk:U,serializeQueryArgs:b,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:T,keepUnusedDataFor:w,reducerPath:S,invalidationBehavior:A}});rr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),rr(n.internalActions,B);const V=new WeakMap,W=e=>sn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:a,api:s,context:i,getInternalState:o}){const c=e=>o(e)?.runningQueries,u=e=>o(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=s.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(s,i)=>{const o=a({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=s(o);f(s);const{requestId:d,abort:p,unwrap:h}=c,g=c.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(g,{arg:c.arg,requestId:d,abort:p,unwrap:h,reset:()=>{s(l({requestId:d,fixedCacheKey:r}))}}),y=u(s);return y.set(d,m),m.then(()=>{y.delete(d)}),r&&(y.set(r,m),m.then(()=>{y.get(r)===m&&y.delete(r)})),m}},getRunningQueryThunk:function(t,n){return r=>{const a=qn(i,t),s=e({queryArgs:n,endpointDefinition:a,endpointName:t});return c(r)?.get(s)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>an(c(e))},getRunningMutationsThunk:function(){return e=>an(u(e))}};function f(e){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const n=e(s.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof n||"string"==typeof n?.type)throw new Error("production"===process.env.NODE_ENV?t(34):`Warning: Middleware for RTK-Query API at reducerPath "${s.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,a){const i=(o,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[Mn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:o,endpointDefinition:a,endpointName:t});let S;const b={...m,type:An,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:o,queryCacheKey:_,[Mn]:g};if(kn(a))S=n(b);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;S=r({...b,direction:e,initialPageParam:t,refetchCachedPages:n})}const w=s.endpoints[t].select(o),T=y(S),E=w(v());f(y);const{requestId:I,abort:A}=T,R=E.requestId!==I,O=c(y)?.get(_),k=()=>w(v()),C=Object.assign(g?T.then(k):R&&!O?Promise.resolve(E):Promise.all([O,T]).then(k),{arg:o,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:A,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(i(o,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!R&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return i}}({queryThunk:F,mutationThunk:U,infiniteQueryThunk:L,api:n,serializeQueryArgs:b,context:C,getInternalState:W});rr(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:ae}=function(e){const{reducerPath:t,api:n,context:a,getInternalState:s}=e,{apiUid:i}=a,o={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[or,ar,cr,ur,ir,dr];return{middleware:r=>{let o=!1;const l=s(r.dispatch),p={...e,internalState:l,refetchQuery:d,isThisApiSliceAction:c,mwApi:r},f=u.map(e=>e(p)),h=(({api:e,queryThunk:t,internalState:n})=>{const r=`${e.reducerPath}/subscriptions`;let a=null,s=null;const{updateSubscriptionOptions:i,unsubscribeQueryResult:o}=e.internalActions,c=()=>n.currentSubscriptions,u={getSubscriptions:c,getSubscriptionCount:e=>{const t=c().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const n=c();return!!n?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(c,l)=>{if(a||(a=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return a={},n.currentSubscriptions.clear(),s=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(c))return[!1,u];const p=((n,r)=>{if(i.match(r)){const{queryCacheKey:e,requestId:t,options:a}=r.payload,s=n.get(e);return s?.has(t)&&s.set(t,a),!0}if(o.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,a=n.get(e);return a&&a.delete(t),!0}if(e.internalActions.removeQueryResult.match(r))return n.delete(r.payload.queryCacheKey),!0;if(t.pending.match(r)){const{meta:{arg:e,requestId:t}}=r,a=sn(n,e.queryCacheKey,on);return e.subscribe&&a.set(t,e.subscriptionOptions??a.get(t)??{}),!0}let a=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:s}}=r;if(e&&t.subscribe){const e=sn(n,t.queryCacheKey,on);e.set(s,t.subscriptionOptions??e.get(s)??{}),a=!0}}return a})(n.currentSubscriptions,c);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof c.type&&c.type===`${e.reducerPath}/getPolling`)return[!1,n.currentPolls];if(p){s||(s=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=qt(a,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),a=t,s=null},500));const i="string"==typeof c.type&&!!c.type.startsWith(r),o=t.rejected.match(c)&&c.meta.condition&&!!c.meta.arg.subscribe;f=!i&&!o}return[f,!1]}})(p),g=(({reducerPath:e,context:t,api:n,refetchQuery:r,internalState:a})=>{const{removeQueryResult:s}=n.internalActions;function i(n,i){const o=n.getState()[e],c=o.queries,u=a.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],a=u.get(e);if(!a||!t)continue;const d=[...a.values()];(d.some(e=>!0===e[i])||d.every(e=>void 0===e[i])&&o.config[i])&&(0===a.size?n.dispatch(s({queryCacheKey:e})):t.status!==Wt&&n.dispatch(r(t)))}})}return(e,t)=>{bn.match(e)&&i(t,"refetchOnFocus"),Tn.match(e)&&i(t,"refetchOnReconnect")}})(p);return e=>s=>{if(!m(s))return e(s);o||(o=!0,r.dispatch(n.internalActions.middlewareRegistered(i)));const u={...r,next:e},d=r.getState(),[l,p]=h(s,u,d);let y;if(y=l?e(s):p,r.getState()[t]&&(g(s,u,d),c(s)||a.hasRehydrationInfo(s)))for(const e of f)e(s,u,d);return y}},actions:o};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:S,context:C,queryThunk:F,mutationThunk:U,infiniteQueryThunk:L,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return rr(n.util,ae),rr(n,{reducer:H,middleware:re}),{name:lr,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};kn(t)&&rr(a,{name:e,select:M(e,t),initiate:J(e,t)},G(F,e)),t.type===Rn&&rr(a,{name:e,select:Q(),initiate:Y(e)},G(U,e)),Cn(t)&&rr(a,{name:e,select:D(e,t),initiate:X(e,t)},G(F,e))}}}});function fr(e){return e.replace(e[0],e[0].toUpperCase())}function hr(e){let t=0;for(const n in e)t++;return t}function gr(e){return"infinitequery"===e.type}function mr(e,...t){return Object.assign(e,...t)}pr();var yr=Symbol();function vr(e){const t=C(e),n=R(()=>tn(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function _r(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Sr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),br=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),wr=(()=>Sr||br?N:k)(),Tr=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Vt.pending}:e;function Er(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Ir=["data","status","isLoading","isSuccess","isError","error"],Ar=Symbol(),Rr=nr(pr(),(({batch:e=T,hooks:n={useDispatch:w,useSelector:b,useStore:S},createSelector:r=Ht,unstable__sideEffectsInRender:a=!1,...s}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const a of e)if(hr(s)>0&&(s[a]&&(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)),n[a]=s[a]),"function"!=typeof n[a])throw new Error("production"===process.env.NODE_ENV?t(36):`When using custom hooks for context, all ${e.length} hooks need to be provided: ${e.join(", ")}.\nHook ${a} was either not provided or not a function.`)}return{name:Ar,init(s,{serializeQueryArgs:i},o){const c=s,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:a,useStore:s},unstable__sideEffectsInRender:i,createSelector:o},serializeQueryArgs:c,context:u}){const d=i?e=>e():k,l=e=>e.current?.unsubscribe?.(),p=u.endpointDefinitions;return{buildQueryHooks:function(a){const s=(e,n={})=>{const[r]=g(a,e,n);return y(r),R(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},i=({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:i=0,skipPollingIfUnfocused:o=!1}={})=>{const{initiate:c}=e.endpoints[a],u=r(),[p,f]=O(yr),h=C(void 0),g=_r({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:i,skipPollingIfUnfocused:o});d(()=>{const e=h.current?.subscriptionOptions;g!==e&&h.current?.updateSubscriptionOptions(g)},[g]);const m=C(g);d(()=>{m.current=g},[g]);const y=I(function(e,t=!1){let r;return n(()=>{l(h),h.current=r=u(c(e,{subscriptionOptions:m.current,forceRefetch:!t})),f(e)}),r},[u,c]),v=I(()=>{h.current?.queryCacheKey&&u(e.internalActions.removeQueryResult({queryCacheKey:h.current?.queryCacheKey}))},[u]);return k(()=>()=>{l(h)},[]),k(()=>{p===yr||h.current||y(p,!0)},[p,y]),R(()=>[y,p,{reset:v}],[y,p,v])},o=m(a,f);return{useQueryState:o,useQuerySubscription:s,useLazyQuerySubscription:i,useLazyQuery(e){const[t,n,{reset:r}]=i(e),a=o(n,{...e,skip:n===yr}),s=R(()=>({lastArg:n}),[n]);return R(()=>[t,{...a,reset:r},s],[t,a,r,s])},useQuery(e,t){const n=s(e,t),r=o(e,{selectFromResult:e===Jn||t?.skip?void 0:Tr,...t}),a=Er(r,...Ir);return A(a),R(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,a={})=>{const[s,i,o,c]=g(e,r,a),u=C(c);d(()=>{u.current=c},[c]);const p=_r(a.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(s),s.current=r=i(o(e,{subscriptionOptions:u.current,direction:t}))}),r},[s,i,o]);y(s);const h=vr(a.skip?Jn:r),m=I(e=>{if(!s.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return s.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[s,p]);return R(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},a=m(e,h);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:s,fetchPreviousPage:i}=r(e,t),o=a(e,{selectFromResult:e===Jn||t?.skip?void 0:Tr,...t}),c=Er(o,...Ir,"hasNextPage","hasPreviousPage");return A(c),R(()=>({...o,fetchNextPage:s,fetchPreviousPage:i,refetch:n}),[o,s,i,n])}}},buildMutationHook:function(t){return({selectFromResult:s,fixedCacheKey:i}={})=>{const{select:c,initiate:u}=e.endpoints[t],d=r(),[l,p]=O();k(()=>()=>{l?.arg.fixedCacheKey||l?.reset()},[l]);const f=I(function(e){const t=d(u(e,{fixedCacheKey:i}));return p(t),t},[d,u,i]),{requestId:h}=l||{},g=R(()=>c({fixedCacheKey:i,requestId:l?.requestId}),[i,l,c]),m=R(()=>s?o([g],s):g,[s,g]),y=a(m,E),v=null==i?l?.arg.originalArgs:void 0,_=I(()=>{n(()=>{l&&p(void 0),i&&d(e.internalActions.removeMutationResult({requestId:h,fixedCacheKey:i}))})},[d,i,l,h]),S=Er(y,...Ir,"endpointName");A(S);const b=R(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return R(()=>[f,b],[f,b])}},usePrefetch:function(t,n){const a=r(),s=_r(n);return I((n,r)=>a(e.util.prefetch(t,n,{...s,...r})),[t,a,s])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==Jn&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,i=(!t||t.isLoading||t.isUninitialized)&&!a&&s,o=e.isSuccess||a&&(s&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:s,isLoading:i,isSuccess:o}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==Jn&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,i=(!t||t.isLoading||t.isUninitialized)&&!a&&s,o=e.isSuccess||s&&a;return{...e,data:r,currentData:e.data,isFetching:s,isLoading:i,isSuccess:o}}function g(n,a,{refetchOnReconnect:s,refetchOnFocus:i,refetchOnMountOrArgChange:o,skip:c=!1,pollingInterval:u=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:h}=e.endpoints[n],g=r(),m=C(void 0);if(!m.current){const n=g(e.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof n||"string"==typeof n?.type))throw new Error("production"===process.env.NODE_ENV?t(37):`Warning: Middleware for RTK-Query API at reducerPath "${e.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);m.current=n}const y=vr(c?Jn:a),v=_r({refetchOnReconnect:s,refetchOnFocus:i,pollingInterval:u,skipPollingIfUnfocused:l}),_=_r(f.initialPageParam),S=_r(f.refetchCachedPages),b=C(void 0);let{queryCacheKey:w,requestId:T}=b.current||{},E=!1;w&&T&&(E=m.current.isRequestSubscribed(w,T));const I=!E&&void 0!==b.current;return d(()=>{I&&(b.current=void 0)},[I]),d(()=>{const e=b.current;if("undefined"!=typeof process&&process,y===Jn)return e?.unsubscribe(),void(b.current=void 0);const t=b.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:o,...gr(p[n])?{initialPageParam:_,refetchCachedPages:S}:{}}));b.current=t}},[g,h,o,y,v,I,_,S,n]),[b,g,h,v]}function m(t,n){return(r,{skip:i=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=vr(i?Jn:r),l=C(void 0),p=R(()=>o([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=R(()=>c?o([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=a(e=>f(e,l.current),E),g=s(),m=p(g.getState(),l.current);return wr(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:s,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:a,createSelector:r},serializeQueryArgs:i,context:o});return mr(c,{usePrefetch:p}),mr(o,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:i}=u(e);mr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:i}),s[`use${fr(e)}Query`]=t,s[`useLazy${fr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);mr(c.endpoints[e],{useMutation:t}),s[`use${fr(e)}Mutation`]=t}else if(gr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);mr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),s[`use${fr(e)}InfiniteQuery`]=t}}}}}})());let Or=0;function kr(e){return null!==e&&"object"==typeof e}function Cr(e){return kr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Nr="Something went wrong. Please try again.";function Pr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function xr(e,t){return Pr(e)?Nr:function(e){if(!kr(e))return null;if("string"==typeof e.message){try{const t=Cr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Cr(e.data)??Cr(e.data?.data)}(e)??t??"An unexpected error occurred."}const qr={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 Mr=null;const Dr=function(e){const{name:t,innerBaseQuery:n,requestInterceptors:r,responseInterceptors:a,defaultOptions:s}=e;return async(e,i,o)=>{let c,u;if("string"==typeof e)c={url:e};else{const{_bridge:t,...n}=e;c=n,u=t}const d={...o,bridge:{...s,...o?.bridge,...u}},l={bridgeName:t,requestId:(p=t,Or+=1,`${p}-${Or}`),startTime:Date.now(),api:i,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of r)t=await e(t,l);return n(t,i,d)};let h=await f(c);for(const e of a)h=await e(h,c,l,f);return h}}({name:"apiBridge",innerBaseQuery:async(e,t,n)=>function({baseUrl:e,prepareHeaders:t=e=>e,fetchFn:n=dn,paramsSerializer:r,isJsonContentType:a=pn,jsonContentType:s="application/json",jsonReplacer:i,timeout:o,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===dn&&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:v,forced:_,type:S}=h;let b,{url:w,headers:T=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:A=u??ln,timeout:R=o,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?un(h.signal,cn(R)):h.signal,...O};T=new Headers(fn(T)),k.headers=await t(T,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:S,extraOptions:g})||T;const C="object"==typeof(N=k.body)&&(l(N)||Array.isArray(N)||"function"==typeof N.toJSON);var N;if(null==k.body||C||"string"==typeof k.body||k.headers.delete("content-type"),!k.headers.has("content-type")&&C&&k.headers.set("content-type",s),C&&a(k.headers)&&(k.body=JSON.stringify(k.body,i)),k.headers.has("accept")||("json"===I?k.headers.set("accept","application/json"):"text"===I&&k.headers.set("accept","text/plain, text/html, */*")),E){const e=~w.indexOf("?")?"&":"?";w+=e+(r?r(E):new URLSearchParams(fn(E)))}w=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const n=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${n}${t=(e=>e.replace(/^\//,""))(t)}`}(e,w);const P=new Request(w,k);let x;b={request:new Request(w,k)};try{x=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:b}}const q=x.clone();let M;b.response=q;let D="";try{let e;if(await Promise.all([p(x,I).then(e=>M=e,t=>e=t),q.text().then(e=>D=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:x.status,data:D,error:String(e)},meta:b}}return A(x,M)?{data:M,meta:b}:{error:{status:x.status,data:M},meta:b}};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)})(e,t,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const n=t.api.getState(),r=n.auth?.accessToken;return r?{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}:e},(e,t)=>{const n=q(),r=t.extraOptions.bridge?.customHeaders,a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;return a||s?{...e,headers:{...e.headers,...n,...r??{}}}:e},(e,t)=>{if(!M()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return D.debug({message:`${t.bridgeName} ${n} ${r}`,api_name:t.api.endpoint,request_id:t.requestId,method:n,url:r}),e}],responseInterceptors:[async(e,t,n,r)=>{if(n.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=n.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!F())return n.api.dispatch(L()),e;try{const e=await async function(){return Mr||(Mr=async function(){const e=F();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{Mr=null}),Mr)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(U({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),r(t)}D.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(a=e.error,s={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},a&&"object"==typeof a&&"status"in a?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,a="number"==typeof r&&r>=400?r:e.status;let s,i="Request failed",o=qr.UNKNOWN;if("data"in e)if(s=e.data,"string"==typeof e.data)i=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;i=Cr(t)??Cr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??i}return!n&&"error"in e&&"string"==typeof e.error&&(i=e.error),401===a?o=qr.UNAUTHORIZED:403===a?o=qr.FORBIDDEN:404===a?o=qr.NOT_FOUND:422===a?o=qr.VALIDATION_ERROR:"FETCH_ERROR"===a?o=qr.NETWORK_ERROR:"TIMEOUT_ERROR"===a?o=qr.TIMEOUT:"PARSING_ERROR"===a?o=qr.PARSE_ERROR:"number"==typeof a&&a>=500&&(o=qr.SERVER_ERROR),"number"==typeof a&&a>=500&&(i=Nr),{status:a,message:i,data:s,code:o,meta:{timestamp:Date.now(),...t}}}(a,s):a instanceof Error?{status:"FETCH_ERROR",message:a.message||"An unexpected error occurred",code:qr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:qr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:qr.UNKNOWN,meta:{timestamp:Date.now(),...s}});var a,s;return{...e,error:{...e.error,...r}}},async(e,t,n)=>{if(!e.error||n.extraOptions.bridge?.skipErrorToast)return e;const{status:r}=e.error;return"FETCH_ERROR"===r?(Q("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(Q("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(Q(Nr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:a}=e.error;if("FETCH_ERROR"!==a&&"TIMEOUT_ERROR"!==a)return e;const s=n.extraOptions.bridge?.retry,i=s?.maxRetries??1,o=s?.backoffMs??1e3,c=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(c>=i)return e;const u=o*Math.pow(2,c);return await new Promise(e=>setTimeout(e,u)),r({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(c+1)}})},async(e,t,n)=>{const r=n.extraOptions.bridge?.skipLogging,a=Date.now()-n.startTime,s=(t.method||"GET").toUpperCase(),i=t.url||"",o=e.meta?.response,c=e.error?e.error.status:o?.status??"OK",u=o?.headers?.get?.("x-request-id")??void 0;return e.error?D.error({message:`${n.bridgeName} ${s} ${i} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:i,status:c,duration:a,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${s} ${i} ${c} ${a}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:i,status:c,duration:a}),e}]});function Qr(){return j()}let Fr=0;async function Lr(e){const{url:t,method:n="GET",body:r,headers:a={},skipAuth:s=!1,skipLogging:i=!1,skipContentType:o=!1,responseHandler:c="json",signal:u,keepalive:d}=e;Fr+=1;const l=`fetch-${Fr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){const e=Qr();e&&(h.Authorization=`Bearer ${e}`)}let g;o||h["Content-Type"]||(h["Content-Type"]="application/json"),h.Accept||(h.Accept="application/json"),g=null==r?void 0:"string"==typeof r||r instanceof FormData||r instanceof Blob||r instanceof ArrayBuffer?r:JSON.stringify(r),M()&&!i&&D.debug({message:`bridgedFetch ${f} ${t}`,api_name:"bridgedFetch",request_id:l,method:f,url:t});try{const e=await fetch(t,{method:n,headers:h,body:g,signal:u,keepalive:d}),r=Date.now()-p;if(!e.ok){let n;try{n=await e.json()}catch{try{n=await e.text()}catch{n=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return i||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},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(M()&&!i){const n=e.headers.get("x-request-id")??void 0;D.debug({message:`bridgedFetch ${f} ${t} ${e.status} ${r}ms`,api_name:"bridgedFetch",request_id:n??l,method:f,url:t,status:e.status,duration:r})}return{data:a,response:e}}catch(e){const n=Date.now()-p;return i||D.error({message:`bridgedFetch ${f} ${t} network error`,api_name:"bridgedFetch",request_id:l,method:f,url:t,status:"FETCH_ERROR",duration:n,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Ur=()=>"",jr=Rr({reducerPath:"chatApi",baseQuery:Dr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${$.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:n})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==n&&{limit:n}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${$.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:a}=await Lr({url:$.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return a?{error:a}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r})=>{const a=new FormData;a.append("file",e),t&&a.append("filename",t),n&&a.append("document_type",n),r&&a.append("conversation_id",r);const{data:s,error:i}=await Lr({url:$.DOCUMENTS(),method:"POST",body:a,skipContentType:!0});return i?{error:i}:{data:s}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await Lr({url:$.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:$.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:$.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:$r,useTranscribeAudioMutation:zr,useUploadDocumentMutation:Kr,useDeleteDocumentMutation:Gr,useExchangeOAuthCodeMutation:Hr,useGetConversationHistoryQuery:Br,useLazyGetConversationByIdQuery:Vr,useDeleteConversationMutation:Wr,useGetToolServersQuery:Jr,useStartToolServerOAuthMutation:Xr,useDeleteToolServerConnectionMutation:Yr}=jr,Zr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},ea=Rr({reducerPath:"brandingApi",baseQuery:Dr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:Zr})})}),{useGetBrandingQuery:ta}=ea,na={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},ra=Rr({reducerPath:"configApi",baseQuery:Dr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:na})})}),{useGetConfigQuery:aa}=ra,sa=Rr({reducerPath:"profileApi",baseQuery:Dr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:$.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:$.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:n}){try{await n,t(sa.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:$.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:$.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null})})}),{useGetProfileQuery:ia,useUpdateProfileMutation:oa,useDeleteAccountMutation:ca,useUpdatePasswordMutation:ua}=sa,da=[jr,ea,ra,sa],la={[jr.reducerPath]:jr.reducer,[ea.reducerPath]:ea.reducer,[ra.reducerPath]:ra.reducer,[sa.reducerPath]:sa.reducer},pa=[jr.middleware,ea.middleware,ra.middleware,sa.middleware],fa=()=>e=>{da.forEach(t=>e(t.util.resetApiState()))},ha={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},ga=s({name:"chat",initialState:ha,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:()=>ha},extraReducers:e=>{e.addMatcher(o(L,K),()=>ha)}}),{setIsAgentWorking:ma,setStatusText:ya,setResponseStartTime:va,enqueueMessage:_a,dequeueMessage:Sa,clearMessageQueue:ba,addPendingTranscriptionId:wa,clearPendingTranscriptionIds:Ta,resetChatState:Ea}=ga.actions,Ia=ga.reducer,Aa={activeConversationId:null,titles:{}},Ra=s({name:"conversations",initialState:Aa,reducers:{setActiveConversationId(e,t){e.activeConversationId=t.payload},upsertConversationTitle(e,t){const{id:n,title:r}=t.payload;n&&r.trim()&&(e.titles[n]=r)}},extraReducers:e=>{e.addMatcher(o(L,K),()=>Aa)}}),{setActiveConversationId:Oa,upsertConversationTitle:ka}=Ra.actions,Ca=Ra.reducer;let Na=null;function Pa(e){Na=e}function xa(){Na=null}const qa=()=>{if(!Na)return{};const e=Na(),t=e.auth.user?.id,n=e.auth.selectedOrgId??void 0,r=e.conversations.activeConversationId??void 0;return{...t?{user_id:t}:{},...n?{org_id:n}:{},...r?{conversation_id:r}:{}}},Ma=d({...la,auth:H,chat:Ia,conversations:Ca,indicator:G}),Da={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"]},Qa=_({reducer:Ma,middleware:e=>e({serializableCheck:Da}).prepend(B.middleware).concat(pa)});var Fa;Fa=Qa.dispatch,function(){const[e,t,n,r]=[bn,wn,Tn,En].map(e=>()=>Fa(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!In&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(s).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const s={[vn]:e,[Sn]:a,[mn]:n,[yn]:r};t(!0),In=!0}}(),V(()=>Qa.getState().auth.accessToken),W(()=>Qa.getState().auth.tokenExpiresAt),Pa(()=>Qa.getState());const La=()=>{const e=aa(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},Ua=P(void 0),ja=()=>{const e=x(Ua);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},$a="mtx",za=5;var Ka=(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))(Ka||{});let Ga=class extends Error{constructor(e){super(),this.reopen=e}};class Ha{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:n,isStreamEnd:r,requestId:a}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a};const s=(n||"").toLowerCase(),{type:i,data:o}=this.mapSSEEvent(s,t);return{type:i,data:o,timestamp:Date.now(),requestId:a}}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 n=new AbortController,r=0,a="",s=!1;const i=[];let o=null,c=!1,u=null;const d=e=>{o?o.onEvent(e):i.push(e)},l=e=>{o?o.onError(e):u=e},p=()=>{c=!0,o&&o.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await be(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new Ga(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(Ka));if("status_update"!==t&&"clear_status"!==t||D.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:n.has(t)}),!t||n.has(t))try{const n=t===Ka.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==Ka.CLEAR_STATUS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const s=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||a||""});d(s),n&&"stream_end"!==s.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a})}catch(e){D.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else D.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ga)throw e;if(r++,r>=5)throw n.abort(),l(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{p()},openWhenHidden:!0})}catch(e){if(e instanceof Ga)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){o=e;for(const t of i)e.onEvent(t);return i.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{o=null}},abort(){n.abort()}}}}class Ba extends Error{constructor(e){super(),this.reopen=e}}class Va{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:n,data:r}=this.mapEventType(t);return{type:n,data:r,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&&J(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,n=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof n?n:""}}}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||{},n=e.name||"custom";return D.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:n}),"widget"===n?{type:"widget",data:{widget:{eventName:n,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const i=[];let o=null,c=!1,u=null;const d=e=>{o?o.onEvent(e):i.push(e)},l=e=>{o?o.onError(e):u=e},p=()=>{c=!0,o&&o.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await be(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new Ba(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{D.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(Ka));if(!t||n.has(t))if(t!==Ka.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void D.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(n&&"object"==typeof n&&0===Object.keys(n).length)return;n.runId&&(a=n.runId);const r=t===Ka.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||a}:{...n,runId:n.runId||a},s=this.normalizeEvent(r);d(s)}catch(e){D.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else d(this.normalizeEvent({type:"RUN_FINISHED",runId:a}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ba)throw e;if(r++,r>=5)throw n.abort(),l(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{p()},openWhenHidden:!0})}catch(e){if(e instanceof Ba)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){o=e;for(const t of i)e.onEvent(t);return i.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{o=null}},abort(){n.abort()}}}}function Wa(e,t){switch(e){case"mtx":return new Ha(t);case"agui":return new Va(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function Ja(e={}){return{getAuthToken:()=>Qr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{X(Y())&&await(F()?.())},forceRefreshToken:async()=>Boolean(await(F()?.()))}}class Xa{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:Z(),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:Z(),text:e})}toMessages(){if(0===this.segments.length){const e=Z();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 n={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":n.message=t.text;break;case"widget":n.widget=[t.content],n.message_type=["widget"]}return n}),n=t[t.length-1];return n.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,n.error=this.error||void 0,n.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 Ya(e,t){const{data:n,error:r,response:a}=await Lr({url:ee(te.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function Za(){const{data:e,error:t,response:n}=await Lr({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function es(e){const{data:t,error:n,response:r}=await Lr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function ts(e,t){await Lr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function ns(e){const{data:t,error:n,response:r}=await Lr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function rs(e){const{data:t,error:n,response:r}=await Lr({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function as(e){const{data:t,error:n,response:r}=await Lr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ss(e){const{data:t,error:n,response:r}=await Lr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function is(e,t){const{data:n,error:r,response:a}=await Lr({url:ee(te.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function os(){try{const{data:e}=await Lr({url:ee(`${te.ORGANIZATIONS}?skip=0&limit=100`),skipAuth:!0});if(e?.success&&Array.isArray(e.data?.organizations))return e.data.organizations}catch{}return[]}async function cs(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Lr({url:$.ORGANIZATIONS_EXISTS,method:"GET",skipAuth:!0,skipContentType:!0,signal:e.signal});return n?!r||r.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)}}function us(e){const t=S(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:a}=await e(...n);return r.success&&r.data?(t.dispatch(U({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{r(!1)}},[t,e]),isLoading:n}}function ds(){const e=I(e=>Ya(e.email,e.password),[]),{run:t,isLoading:n}=us(e);return{login:t,isLoading:n}}function ls(){const{run:e,isLoading:t}=us(Za);return{guestLogin:e,isLoading:t}}function ps(){const{run:e,isLoading:t}=us(es);return{signup:e,isLoading:t}}function fs(){const e=S();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await ts({refresh_token:n,user_id:r})}catch{}else D.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(n),has_user_id:Boolean(r)});e.dispatch(L())},[e])}}function hs(){const e=S(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:s}=await ns({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(U({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function gs(e){return re({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return D.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(n),has_user_id:Boolean(r)}),null;const{body:a,tokens:s}=await ns({refresh_token:n,user_id:r});if(a?.success&&a?.data){const t={accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(U({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return D.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}const ms={WEB:"Web",MOBILE:"Mobile"},ys={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in"},vs=Object.values(ys);function _s(e,t){const n=e?.data?.auth_mode_config?.[t];return vs.includes(n)?n:ys.SIGN_IN_ONLY}const Ss=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:a}=b(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:a,tokenInfo:{isExpired:!!n&&ie(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?se(n):0,timeUntilExpiryFormatted:n?ae(se(n)):"0s"}}},bs={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},ws={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},Ts={MESSAGE_PAGE_SIZE:25},Es=[500,1500,3e3],Is=28,As="New Conversation";function Rs(e){return!e.widget?.length}function Os(e){const t=Z(),n={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&&(n.widget=[e.content],n.message_type=["widget"]):e.content&&"string"==typeof e.content&&(n.message=e.content),n}function ks(e){const t=[];for(const n of e){const e=n.created_at?String(n.created_at):"";if("user"!==n.role)if("system"!==n.role){if("assistant"===n.role){if(n.tool_calls?.length)continue;const e=t[t.length-1];if((!n.type||"text_delta"===n.type)&&"agent"===e?.sender&&Rs(e)){e.message=e.message+(n.content||"");continue}t.push(Os(n));continue}}else n.content&&t.push({id:`system-${Z()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else n.content&&t.push({id:`user-${Z()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e})}return t}function Cs(e){return"string"==typeof e&&e.trim()?e:null}const Ns=()=>{const e=w(),[t,n]=O(null),[r,a]=O([]),s=C(t),i=b(e=>t?e.conversations.titles[t]??null:null),o=I(n=>{t&&n&&e(ka({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(Oa(t))},[t,e]);const[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1),[h,g]=O(!1),m=C(!1),{protocolType:y}=ja(),[v]=$r(),[_]=Vr(),S=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=Cs(t?.title);return a&&e(ka({id:r,title:a})),r}return Q(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return Q(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),T=I(async(t,r)=>{try{const s=Cs(r);s&&e(ka({id:t,title:s}));const i=await _({conversationId:t,skip:0,limit:Ts.MESSAGE_PAGE_SIZE}).unwrap();if(i){n(t);const r=Cs(i.title)??s;r&&e(ka({id:t,title:r}));const o=i.messages??[],c=Array.isArray(o)?ks(o):[];return a(c),l(o.length),f(o.length>=Ts.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(D.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load conversation. Please try again.")),!1}},[_,e]),E=I(async(n=t)=>{if(!n)return null;try{const t=await _({conversationId:n,skip:0,limit:1}).unwrap(),r=Cs(t?.title);return r&&e(ka({id:n,title:r})),r}catch(e){return D.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),A=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:Ts.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=ks(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Ts.MESSAGE_PAGE_SIZE),a(t=>{const n=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!n.has(e.timestamp)),...t]})}}catch(e){D.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),R=I(()=>{a([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:i,setConversationTitle:o,messages:r,setMessages:a,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:S,loadConversation:T,loadConversationTitle:E,loadMoreMessages:A,resetConversation:R}},Ps=e=>null==e||"string"==typeof e&&""===e.trim(),xs=e=>{const t=["widget","error"],n=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 r of t)if(n(e[r]))return!0;return!1},qs=({conversationId:e,messages:t,setMessages:n,enableTts:r=!1,userLocation:a=null,startSession:s,debugMode:i=!1,onPaymentInit:o,onSignInInit:c,onConversationTitle:u})=>{const{adapter:d}=ja(),l=w(),p=S(),[f,h]=O(""),[g,m]=O(!1),[y,v]=O(!1),_=C(o);_.current=o;const b=C(c);b.current=c;const T=C(u);T.current=u;const E=C(new Xa),A=C(null),R=C(null),N=C(!1),P=C(0),x=C(!1),q=C(null),M=C(e);M.current=e;const F=C(null),L=C(e);k(()=>{const t=L.current;L.current=e,null!==t&&t!==e&&l(Ta())},[e,l]);const U=I((e=oe.KEEP)=>{if(l(ya(null)),l(ma(!1)),e===oe.FINALIZE){const e=p.getState().chat.responseStartTime;e&&l(ce(Date.now()-e)),l(va(null))}else e===oe.CANCEL&&l(va(null))},[l,p]),j=I(e=>{l(ma(e)),m(e),e&&v(!1)},[l]),$=I(()=>{const e=p.getState().chat.responseStartTime;return e&&l(ce(Date.now()-e)),null!==q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,x.current=!1,h(""),m(!1),v(!1),U(oe.CANCEL)},600),()=>{null!==q.current&&clearTimeout(q.current)}},[l,p,U]),z=C({setStatusText:e=>l(ya(e||null)),setIsAgentWorking:e=>l(ma(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>_.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),K=I(e=>{if(F.current!==M.current)return A.current?.abort(),void R.current?.();if("payment"===e.type&&"payment"in e.data)return void ue({kind:"payment",payment:e.data.payment},z.current);if("sign_in"===e.type&&"signIn"in e.data)return void ue({kind:"sign_in",signIn:e.data.signIn},z.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&T.current?.(t))}const t=E.current;t.processEvent(e),N.current||(N.current=!0,v(!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;ue(e,z.current)}const a=t.toMessages(),s=P.current;n(e=>[...e.slice(0,e.length-s),...a]),P.current=a.length,a.some(e=>xs(e)||!Ps(e.message))&&l(ma(!1)),t.isStreamComplete()&&$()},[l,n,$]),G=I(e=>{Q("Stream connection error. Please try again."),$()},[$]),H=I(()=>{A.current?.abort(),R.current?.(),A.current=null,R.current=null,F.current=null,E.current.reset(),P.current=0,h(""),m(!1),v(!1),U(oe.CANCEL),l(de()),l(ba()),x.current=!1},[l,U]),B=I((e,t)=>{A.current?.abort(),R.current?.(),E.current.reset(),P.current=0,N.current=!1,F.current=t,M.current=t,A.current=e;const n=e.subscribe({onEvent:K,onError:G,onComplete:()=>{$()}});R.current=n},[K,G,$]),V=I(async(t="",a=[])=>{x.current=!0;try{let o=e;if(!o){if(!s)return x.current=!1,void Q("Conversation is not ready yet. Please wait a moment.");const e=await s();if(!e)return x.current=!1,void Q("Failed to start conversation. Please try again.");o=e}const c=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),l(ma(!0)),m(!0),v(!1),l(ya(null)),l(va(Date.now())),l(de());const u={id:`user-${Z()}`,sender:"user",message:c,timestamp:(new Date).toISOString()};n(e=>[...e,u]);const p=le(),f=d.streamMessage({conversationId:o,message:c,enableTts:r,debugMode:i,transcriptionIds:a,...p?{body:{client_metadata:{device_token:p}}}:{}});B(f,o)}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to send conversations message. Please try again."),x.current=!1,U(oe.CANCEL)}},[l,t,e,d,r,n,B,s,i,U]),W=C(V);W.current=V;const J=I(async(e="",t=[])=>{const n=(e??"").trim();if(!n)return;const r=p.getState().chat.pendingTranscriptionIds,a=r.length?[...r,...t]:t;r.length&&l(Ta()),x.current?l(_a({id:Z(),text:n,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{}})):await V(n,a)},[l,p,V]);k(()=>{if(g||x.current)return;const e=p.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>`- ${e.text}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]);l(ba()),W.current(t,n)},[g,l,p]);const X=I(async(e,t)=>{x.current=!0,l(ma(!0)),m(!0),v(!1),l(ya(null)),l(va(Date.now())),l(de());const n=void 0!==t?t:a,s={};n&&(s.user_location=n);const i=le();i&&(s.device_token=i);const o=Object.keys(s).length>0?{client_metadata:s}:{},c=d.streamInitial({conversationId:e,body:o,enableTts:r});B(c,e)},[l,d,r,a,B]);return k(()=>()=>{A.current?.abort(),R.current?.()},[]),{sendMessage:J,startInitialStream:X,setThinkingState:j,abortStream:H,toolCallStatus:f,isProcessThinkingState:g,hasReceivedResponse:y}};function Ms({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,a]=O([]),s=b(e=>e.conversations.titles),[i,o]=O(!0),[c,u]=O(!1),[d,l]=O(!0),[p,f]=O(""),h=C(0),g=C(!1),m=C(d);m.current=d;const y=C(r);y.current=r;const[v]=jr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:w}]=jr.useDeleteConversationMutation(),T=I(async e=>{const t="append"===e?h.current:0;if("append"===e){if(g.current||!m.current)return;g.current=!0,u(!0)}else"replace"===e&&0===y.current.length&&o(!0);try{const n=await _.current({skip:t,limit:20}).unwrap(),r=n?.conversations??[];"append"===e?(a(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(a(r),h.current=20):a(e=>function(e,t){if(0===t.length)return e;const n=new Set(e.map(e=>e.id)),r=new Map(t.map(e=>[e.id,e])),a=t.filter(e=>!n.has(e.id));let s=a.length>0;const i=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(a=t).id&&n.title===a.title&&n.created_at===a.created_at&&n.updated_at===a.updated_at?e:(s=!0,t):e;var n,a});return s?[...a,...i]:e}(e,r)),"silent"!==e&&l(r.length>=20)}catch(e){D.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(g.current=!1,u(!1)):"replace"===e&&o(!1)}},[]);k(()=>{T("replace")},[T]);const E=C(null),A=C(new Set);k(()=>{if(i||!e)return;if(A.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${s[e]??""}`;E.current!==t&&(E.current=t,T("silent"))},[e,r,s,i,T]);const N=I(async s=>{const i=e===s,o=i?function(e,t){const n=e.findIndex(e=>e.id===t);return-1===n?null:n+1<e.length?e[n+1].id:n-1>=0?e[n-1].id:null}(p.trim()?r.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):r,s):null,c=await S({conversationId:s});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:s,error_message:JSON.stringify(c.error)}),void Q("Failed to delete the conversation. Please try again.");pe("Conversation deleted successfully"),A.current.add(s);const u=y.current.some(e=>e.id===s);if(a(e=>e.filter(e=>e.id!==s)),u&&(h.current=Math.max(0,h.current-1)),i)if(o){const e=r.find(e=>e.id===o)??null;t(o,e?.title??null)}else n?.()},[e,r,p,S,t,n]),P=R(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?P.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):P,isLoading:i,isLoadingMore:c,hasMore:d,isDeleting:w,searchQuery:p,setSearchQuery:f,loadConversations:T,deleteConversation:N,isLoadingMoreRef:g}}function Ds(){return b(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function Qs(e,t){if(null==e||!t)return null;const n=e/100,r=t.toUpperCase();try{return new Intl.NumberFormat("en-US",{style:"currency",currency:r}).format(n)}catch{return`${r} ${n.toFixed(2)}`}}function Fs(e){if("success"===e.status){const t=Qs(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 Ls=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(()=>n(null),[]),a=I(t=>{"stripe"===t.provider?"cancel"===t.status&&Q("Payment cancelled."):"chargebee"===t.provider&&"cancel"===t.status?Q("Payment cancelled."):"failure"===t.status&&t.message&&Q(t.message),e.current?e.current(Fs(t)):D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status}),n(null)},[e]);return{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}};function Us(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=fe.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function js(e){try{const t=await e.getItem(he.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(he.LOCATION_CACHE),null)}catch{return null}}const $s=()=>{const[e,t]=O(!1),[n,r]=O(null),a=ge(),s=I(async()=>{const e=await js(a);if(e)return e;if(!("geolocation"in navigator))return r("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return r("Geolocation requires HTTPS"),null;t(!0),r(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:n,longitude:r}=t.coords;let s="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${n}&lon=${r}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(s=(await e.json()).display_name??"")}catch(e){D.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const i={latitude:n,longitude:r,address:s,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(he.LOCATION_CACHE,JSON.stringify(n))}catch{}}(a,i),i}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:r("Location permission denied");break;case 2:r("Location information unavailable");break;case 3:r("Location request timed out");break;default:r("Failed to retrieve location")}else r("Failed to get location");return null}finally{t(!1)}},[a]);return{getUserLocation:s,isLoading:e,error:n}};function zs({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:a}){const s=C(null),i=I(a=>{if(s.current&&s.current.disconnect(),!a||!e)return;const i=function(e,t){const n=t?.querySelector("[data-radix-scroll-area-viewport]");if(n)return n;if(t&&t.scrollHeight>t.clientHeight)return t;let r=e.parentElement;for(;r&&r!==document.body;){if(r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null}(a,n.current);i&&(s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:i,rootMargin:"0px",threshold:.1}),s.current.observe(a))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const a=n.current;if(!a)return;const s=a.querySelector("[data-radix-scroll-area-viewport]")??a;s.clientHeight>0&&s.scrollHeight<=s.clientHeight&&r()},[e,n,r,t,a]),i}const Ks=e=>{const[t,n]=O(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return k(()=>{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},Gs=()=>Ks("(min-width: 1024px)"),Hs=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const a=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});a.observe(n);const s=n.getBoundingClientRect().width;return r(s>=e),()=>{a.disconnect()}},[e]),{containerRef:t,isDesktop:n}},Bs=()=>{const[e,t]=O(!1),{getUserLocation:n}=$s(),r=ge(),a=C(!1);return k(()=>{if(a.current)return;a.current=!0;let e=null;const s=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(he.LOCATION_ENABLED))return void s();const t=await js(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Vs({paymentInit:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),a=J(e);return{handlePaymentResult:I(e=>{"success"!==e.status&&"failure"!==e.status||a&&r.current.add(a),t?.(e)},[t,a]),handleModalOpenChange:I(s=>{!s&&e&&(!!a&&r.current.has(a)||t?.({status:"cancel",provider:e.provider}),n?.())},[e,a,t,n])}}function Ws(e){const t=e.trim().split(/\s+/);return 1===t.length?e.charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()}function Js(){const{themeStyles:e}=me(),{data:t,isLoading:n}=Jr(void 0),[r]=Yr(),a=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:Ws(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:a,isLoading:n,disconnect:async function(e){const t=a.find(t=>t.id===e)?.name??"App";"error"in await r(e)?Q(`Failed to disconnect ${t}. Please try again.`):pe(`${t} disconnected`)}}}const Xs={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Ys=({onSend:e,disabled:t=!1,transcribedText:n,onTranscribedTextUsed:r,isRecording:a=!1,isTranscribing:s=!1})=>{const[i,o]=O("");k(()=>{if(!n)return;let e=!1;return queueMicrotask(()=>{e||(o(e=>0===e.trim().length?n:`${e.trimEnd()} ${n}`),r?.())}),()=>{e=!0}},[n,r]);const c=i.trim().length>0&&!t,u=I(()=>{const n=i.trim();n&&!t&&(e(n),o(""))},[i,t,e]),d=a?Xs.RECORDING:s?Xs.TRANSCRIBING:Xs.NORMAL;return R(()=>({value:i,setValue:o,send:u,canSend:c,mode:d}),[i,u,c,d])},Zs=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},ei=e=>{const t=b(e=>!!e.voice?.isAgentWorking),n=b(e=>e.voice?.statusText??null),r=b(e=>e.voice?.responseStartTime??null),a=b(e=>e.chat.isAgentWorking),s=b(e=>e.chat.statusText??null),i=b(e=>e.chat.responseStartTime),o=b(e=>e.indicator.lastResponseTime),c=e?t:a,u=e?n:s,d=e?r:i;return R(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:o}),[c,u,d,o])},ti=[],ni=({messages:e,voiceStreamingMessages:t=ti,voiceActive:n})=>{const r=R(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),a=R(()=>Zs(r),[r]),s=ei(n),i=C(e.length),o=I(()=>{const t=i.current;return i.current=e.length,((e,t)=>{const n=t.length-1,r=Zs(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:n,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(ye),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:o}},ri=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(ws.INITIAL),[a,s]=O(0),[i,o]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(ws.INITIAL),s(0),void o(!0);r(ws.INITIAL),s(0),o(!0);let e=ws.INITIAL;const n=()=>{c.current=setTimeout(()=>{o(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),o(!0),d.current=null},500),n()},ws.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=ws.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(ws.LATER),s(0),o(!1),d.current=setTimeout(()=>{o(!0),d.current=null},500),n()},ws.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),u.current&&clearTimeout(u.current),d.current&&clearTimeout(d.current),c.current=null,u.current=null,d.current=null}},[t]),{message:n[a],isVisible:i}},ai=e=>{const[t,n]=O(()=>null===e?0:Math.floor((Date.now()-e)/1e3));return k(()=>{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};function si(e,t=28){const[n,r]=O(e),a=C(e),s=I(e=>{a.current=e,r(e)},[]);return k(()=>{if(a.current===e)return;const n=function(e,t){const n=Math.min(e.length,t.length);let r=0;for(;r<n&&e[r]===t[r];)r+=1;return r}(a.current,e);s(e.slice(0,n));let r=n;const i=globalThis.setInterval(()=>{r+=1,s(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(i)},t);return()=>globalThis.clearInterval(i)},[e,t,s]),n}const ii=P(null),oi=()=>{const e=x(ii);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let ci=0;function ui({refreshSession:e,checkIntervalMs:t=6e4}){const n=S(),r=b(e=>e.auth),a=r?.accessToken??null,s=Boolean(r?.isAuthenticated),i=r?.tokenExpiresAt??null,o=C(null),c=C(null),u=I(()=>{n.dispatch(L())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-ci<3e5))try{await e()?ci=Date.now():(D.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){D.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),u()}},[e,u]),l=I(()=>{s&&(ie(i)?d(!0):X(i)&&d())},[s,i,d]);return k(()=>{a&&ie(i)&&d(!0)},[]),k(()=>{if(s&&a){if(ie(i))return void d(!0);const e=ve(i);return e>0?c.current=setTimeout(()=>{d()},e):X(i)&&d(),o.current=setInterval(()=>{ie(i)?d(!0):X(i)&&d()},t),()=>{o.current&&clearInterval(o.current),c.current&&clearTimeout(c.current)}}ci=0,o.current&&(clearInterval(o.current),o.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[s,a,i,t,d]),{checkNow:l}}function di({clientType:e}){const{data:t,isLoading:n,refetch:r}=La(),a=_s(t,e),s=Boolean(t?.data?.auth_mode_config),[i,o]=O(a);s&&a!==i&&o(a);const c=s?a:i,u=b(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=ls(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==ys.GUEST_ONLY)return;if(u)return void(l.current=!1);if(n)return;if(l.current)return;const e=Date.now();m.current=e-y.current<1e4?m.current+1:0,y.current=e,m.current>=3?f(!0):(l.current=!0,f(!1),d().then(e=>{e.success||(l.current=!1,f(!0))}))},[c,u,n,d,h]);const v=I(()=>{m.current=0,y.current=0,f(!1),r(),g(e=>e+1)},[r]);return{mode:c,isGuestBootPending:n||c===ys.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===ys.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}class li{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",n=t.includes("webm")?"webm":"ogg",r=new Blob(this.audioChunks,{type:t}),a=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(a)},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 pi="Microphone access is required. Please allow microphone permissions in your browser settings.",fi=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},hi=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0}={})=>{const[a,s]=O(!1),[i,o]=O(!1),[c,u]=O(0),d=C(null),l=C(null),p=C(!1),f=C(!1),h=C(null),g=w(),[m]=zr(),y=I(async()=>{f.current=!1;const e=()=>{t(),p.current?h.current?.():f.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 n=await fi();if("denied"===n)return t(),void Q(pi);if("prompt"!==n){if(f.current)return t(),void(f.current=!1);try{d.current||(d.current=new li),await d.current.startRecording(e=>{u(e)}),l.current=Date.now(),p.current=!0,s(!0),f.current&&(f.current=!1,await(h.current?.()))}catch(e){t(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),p.current=!1,Q(pi)}}else{t(),f.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await fi()&&Q(pi)}}},[]),v=I(async()=>{try{if(!d.current||!p.current)return;const a=l.current?Date.now()-l.current:0;if(s(!1),u(0),a<500)return d.current?.cleanup(),void(l.current=null);o(!0);const i=await d.current.stopRecording(),c=await(n?.())??null;if(!c)return void Q("Failed to transcribe audio");const f=await m({conversationId:c,audioFile:i}).unwrap();f.success?f.data.text&&(g(wa(f.data.transcription_id)),r&&e?await e(f.data.text):!r&&t&&t(f.data.text)):Q("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to transcribe audio")}finally{o(!1),p.current=!1,d.current?.cleanup(),l.current=null}},[r,g,n,e,t,m]);return k(()=>{h.current=v},[v]),k(()=>()=>{d.current?.cleanup()},[]),{isRecording:a,isTranscribing:i,audioLevel:c,startRecording:y,stopRecording:v}},gi="OAUTH_SUCCESS",mi="OAUTH_ERROR",yi=gi,vi=mi;function _i({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=Hr();k(()=>{if(!e)return;const s=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 Q("Please allow popups for this site to sign in to external services."),void n();let o=!1;const c=e=>{o||(o=!0,window.removeEventListener("message",u),clearInterval(d),e?.(),n())},u=async e=>{if(e.origin!==window.location.origin)return;if(o)return;if(e.data?.type===vi)return void c(()=>Q(`Failed to sign in to ${s}. Please try again.`));if(e.data?.type!==yi)return;o=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await a({code:l,state:p})?Q(`Failed to sign in to ${s}. Please try again.`):(pe(`${s} connected successfully`),r&&t.current?.(`${s} is now signed in, please continue`)),n(),i?.close()},d=setInterval(()=>{i.closed&&c()},500);return window.addEventListener("message",u),()=>{window.removeEventListener("message",u),clearInterval(d),o||i.close()}},[e,t,n,a,r])}function Si({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}=Ls({sendMessageRef:e}),{handlePaymentResult:s,handleModalOpenChange:i}=Vs({paymentInit:t,onPaymentResult:a,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:i,onResult:s,clearPaymentInit:r}}const bi={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:[_e.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[ms.WEB]:ys.SIGN_IN_ONLY,[ms.MOBILE]:ys.SIGN_IN_ONLY}},wi=P(void 0),Ti=()=>{const{data:e,isLoading:t,error:n}=La(),r=e?.success?e.data:null,a=R(()=>{return(e=r)?{conversations:{...bi.conversations,...e.conversations},voice_agent:{...bi.voice_agent,...e.voice_agent},stt:{...bi.stt,...e.stt},features:e.features??bi.features,backend_version:e.backend_version??bi.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??bi.panel_switcher_enabled,auth_mode_config:{...bi.auth_mode_config,...e.auth_mode_config}}:bi;var e},[r]);return R(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},Ei=()=>{const e=x(wi);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},Ii=P({}),Ai=()=>x(Ii);function Ri(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function Oi(e,t,n){if(!n)return!1;if(!Ri(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&Ri(n)){r=n;break}}if(!r||r.id!==e.id)return!0;const a=t.findIndex(t=>t.id===e.id);return t.slice(a+1).some(e=>"user"===e.sender)}const ki="moyasar_cb";function Ci(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${Se()}/moyasar-callback.html`);return n.searchParams.set(ki,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const Ni=new Set(["paid","authorized","failed","captured"]);function Pi(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(ki))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!Ni.has(n))return null;const a=t.get("conversation_id")||null,s=(t.get("given_id")||null)??r;if("paid"===n||"authorized"===n||"captured"===n){const e=t.get("amount"),n=e?Number.parseInt(e,10):void 0;return{result:{status:"success",provider:"moyasar",paymentId:s,amount:Number.isFinite(n)?n:void 0,currency:t.get("currency")??void 0},conversationId:a}}return{result:{status:"failure",provider:"moyasar",code:n,message:xi(t.get("message")??`Payment ${n}`),paymentId:s},conversationId:a}}function xi(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function qi(e,t){const n="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:n?"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:n?"dark":"light"}}const Mi="stripe";export{ms as AUTH_CLIENT_TYPES,ys as AUTH_MODES,Va as AguiAdapter,li as AudioRecorder,bs as BREAKPOINTS,Xs as CHAT_INPUT_MODES,Es as CONVERSATION_TITLE_REFRESH_DELAYS_MS,Ii as ChatCallbacksContext,ii as ChatSettingsContext,wi as ConfigurationContext,As as DEFAULT_CONVERSATION_TITLE,Mi as DEFAULT_PAYMENT_PROVIDER,$a as DEFAULT_PROTOCOL,qr as ERROR_CODES,Xa as EventAggregator,Nr as GENERIC_SERVER_ERROR_MESSAGE,za as MAX_CONNECTION_RETRIES,ki as MOYASAR_CALLBACK_SENTINEL,mi as OAUTH_ERROR_TYPE,gi as OAUTH_SUCCESS_TYPE,Ts as PAGINATION,Ha as ProprietaryAdapter,Ua as ProtocolContext,Ka as SSEEventType,ws as THINKING_MESSAGES,Is as TYPEWRITER_INTERVAL_MS,Dr as apiBridge,pa as apiMiddleware,la as apiReducers,Pa as bindChatLogger,ea as brandingApi,Lr as bridgedFetch,qi as buildBrandSkin,Ci as buildCallbackUrl,jr as chatApi,Ma as chatCoreRootReducer,qa as chatLoggerContextProvider,Ia as chatReducer,cs as checkOrganizationExistsApi,ba as clearMessageQueue,ra as configApi,Ca as conversationsReducer,Wa as createAdapter,Ja as createDefaultAdapterConfig,gs as createSessionRefresher,Sa as dequeueMessage,_a as enqueueMessage,os as fetchOrganizations,rs as forgotPasswordApi,Qs as formatAmount,Fs as formatResultMessage,xr as getApiErrorMessage,_s as getAuthMode,Qr as getAuthToken,js as getCachedLocation,Ur as getLatestRequestId,Za as guestLoginApi,xs as hasAnyExtraData,Pr as isApiServerError,Ps as isEmptyMessage,Ya as loginApi,ts as logoutApi,Pi as parseMoyasarCallbackFromUrl,sa as profileApi,ns as refreshTokenApi,fa as resetAllApiState,xa as resetChatLoggerForTests,Ea as resetChatState,as as resetPasswordApi,Da as serializableCheck,Oa as setActiveConversationId,ma as setIsAgentWorking,va as setResponseStartTime,ya as setStatusText,Oi as shouldDisableMessage,es as signupApi,is as ssoExchangeApi,ss as ssoStartApi,Qa as store,ka as upsertConversationTitle,Ds as useActiveConversationTitle,Ss as useAuth,Ai as useChatCallbacks,qs as useChatConnection,Ms as useChatHistory,Ys as useChatInput,oi as useChatSettings,Ei as useConfiguration,Ti as useConfigurationValue,Js as useConnectors,Hs as useContainerQuery,Ns as useConversation,$r as useCreateConversatonsMutation,ca as useDeleteAccountMutation,Wr as useDeleteConversationMutation,Gr as useDeleteDocumentMutation,Yr as useDeleteToolServerConnectionMutation,ai as useElapsedSeconds,Us as useEventEmitter,Hr as useExchangeOAuthCodeMutation,ta as useGetBrandingQuery,La as useGetConfigQuery,Br as useGetConversationHistoryQuery,ia as useGetProfileQuery,Jr as useGetToolServersQuery,di as useGuestBoot,ls as useGuestLogin,zs as useInfiniteScroll,Gs as useIsDesktop,Vr as useLazyGetConversationByIdQuery,Bs as useLocationInit,ds as useLogin,fs as useLogout,Ks as useMediaQuery,ni as useMessageList,_i as useOAuthPopup,Si as usePayment,Ls as usePaymentFlow,Vs as usePaymentResultDedup,ja as useProtocol,hs as useRefreshToken,ei as useResolvedChatIndicators,hi as useSTTRecording,ps as useSignup,Xr as useStartToolServerOAuthMutation,ri as useThinkingMessage,ui as useTokenRefresh,zr as useTranscribeAudioMutation,si as useTypewriter,ua as useUpdatePasswordMutation,oa as useUpdateProfileMutation,Kr as useUploadDocumentMutation,$s as useUserLocation};
1
+ import{nanoid as e,formatProdErrorMessage as t,createSelector as n,createAction as r,createAsyncThunk as a,createSlice as s,prepareAutoBatched as o,isAnyOf as i,isFulfilled as c,isRejectedWithValue as u,combineReducers as d,isPlainObject as l,SHOULD_AUTOBATCH as p,isAllOf as f,isRejected as h,isPending as g,isAction as m,createNextState as y,isAsyncThunkAction as v,configureStore as _}from"@reduxjs/toolkit";import{useStore as S,useSelector as b,useDispatch as w,batch as T,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as A,useMemo as R,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as P,useContext as x}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as Q,getTokenRefreshHandler as F,clearSession as L,setSession as U,readAccessToken as j,API_ENDPOINTS as $,TIMING as z,sessionExpired as K,indicatorReducer as G,sessionReducer as H,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as J,isTokenAboutToExpire as X,readTokenExpiresAt as Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,isVerificationRequired as re,AUTH_HEADERS as ae,createTokenRefresher as se,formatTimeRemaining as oe,getTimeUntilExpiry as ie,isTokenExpired as ce,INDICATOR_TIMER_ACTIONS as ue,setLastResponseTime as de,handleSharedEvent as le,clearLastResponseTime as pe,readDeviceToken as fe,showSuccessToast as he,eventEmitter as ge,STORAGE_KEYS as me,useStorage as ye,useBranding as ve,hasWidgets as _e,getTimeUntilRefresh as Se,FEATURE_FLAGS as be,getBaseUrl as we}from"@1interface/shared-core";import{fetchEventSource as Te}from"@microsoft/fetch-event-source";var Ee=Symbol.for("immer-nothing"),Ie=Symbol.for("immer-draftable"),Ae=Symbol.for("immer-state"),Re="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 Oe(e,...t){if("production"!==process.env.NODE_ENV){const n=Re[e],r=Xe(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ke=Object,Ce=ke.getPrototypeOf,Ne="constructor",Pe="prototype",xe="configurable",qe="enumerable",Me="writable",De="value",Qe=e=>!!e&&!!e[Ae];function Fe(e){return!!e&&(je(e)||Be(e)||!!e[Ie]||!!e[Ne]?.[Ie]||Ve(e)||We(e))}var Le=ke[Pe][Ne].toString(),Ue=new WeakMap;function je(e){if(!e||!Je(e))return!1;const t=Ce(e);if(null===t||t===ke[Pe])return!0;const n=ke.hasOwnProperty.call(t,Ne)&&t[Ne];if(n===Object)return!0;if(!Xe(n))return!1;let r=Ue.get(n);return void 0===r&&(r=Function.toString.call(n),Ue.set(n,r)),r===Le}function $e(e,t,n=!0){0===ze(e)?(n?Reflect.ownKeys(e):ke.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function ze(e){const t=e[Ae];return t?t.type_:Be(e)?1:Ve(e)?2:We(e)?3:0}var Ke=(e,t,n=ze(e))=>2===n?e.has(t):ke[Pe].hasOwnProperty.call(e,t),Ge=(e,t,n=ze(e))=>2===n?e.get(t):e[t],He=(e,t,n,r=ze(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Be=Array.isArray,Ve=e=>e instanceof Map,We=e=>e instanceof Set,Je=e=>"object"==typeof e,Xe=e=>"function"==typeof e,Ye=e=>"boolean"==typeof e,Ze=e=>e.copy_||e.base_,et=e=>e.modified_?e.copy_:e.base_;function tt(e,t){if(Ve(e))return new Map(e);if(We(e))return new Set(e);if(Be(e))return Array[Pe].slice.call(e);const n=je(e);if(!0===t||"class_only"===t&&!n){const t=ke.getOwnPropertyDescriptors(e);delete t[Ae];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[Me]&&(s[Me]=!0,s[xe]=!0),(s.get||s.set)&&(t[a]={[xe]:!0,[Me]:!0,[qe]:s[qe],[De]:e[a]})}return ke.create(Ce(e),t)}{const t=Ce(e);if(null!==t&&n)return{...e};const r=ke.create(t);return ke.assign(r,e)}}function nt(e,t=!1){return at(e)||Qe(e)||!Fe(e)||(ze(e)>1&&ke.defineProperties(e,{set:rt,add:rt,clear:rt,delete:rt}),ke.freeze(e),t&&$e(e,(e,t)=>{nt(t,!0)},!1)),e}var rt={[De]:function(){Oe(2)}};function at(e){return null===e||!Je(e)||ke.isFrozen(e)}var st="MapSet",ot="Patches",it="ArrayMethods",ct={};function ut(e){const t=ct[e];return t||Oe(0,e),t}var dt,lt=e=>!!ct[e],pt=()=>dt;function ft(e,t){t&&(e.patchPlugin_=ut(ot),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ht(e){gt(e),e.drafts_.forEach(yt),e.drafts_=null}function gt(e){e===dt&&(dt=e.parent_)}var mt=e=>dt={drafts_:[],parent_:dt,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:lt(st)?ut(st):void 0,arrayMethodsPlugin_:lt(it)?ut(it):void 0};function yt(e){const t=e[Ae];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function vt(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Ae].modified_&&(ht(t),Oe(4)),Fe(e)&&(e=_t(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Ae].base_,e,t)}else e=_t(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&nt(t,n)}(t,e,!0),ht(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ee?e:void 0}function _t(e,t){if(at(t))return t;const n=t[Ae];if(!n)return It(t,e.handledSet_,e);if(!bt(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Et(n,e)}return n.copy_}function St(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var bt=(e,t)=>e.scope_===t,wt=[];function Tt(e,t,n,r){const a=Ze(e),s=e.type_;if(void 0!==r&&Ge(a,r,s)===t)return void He(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;$e(a,(e,n)=>{if(Qe(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??wt;for(const e of o)He(a,e,n,s)}function Et(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}St(e)}}function It(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Qe(e)||t.has(e)||!Fe(e)||at(e)||(t.add(e),$e(e,(r,a)=>{if(Qe(a)){const t=a[Ae];if(bt(t,n)){const n=et(t);He(e,r,n,e.type_),St(t)}}else Fe(a)&&It(a,t,n)})),e}var At={get(e,t){if(t===Ae)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const a=Ze(e);if(!Ke(a,t,e.type_))return function(e,t,n){const r=kt(t,n);return r?De in r?r[De]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!Fe(s))return s;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return s;if(s===Ot(e.base_,t)){Nt(e);const n=1===e.type_?+t:t,r=Pt(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in Ze(e),ownKeys:e=>Reflect.ownKeys(Ze(e)),set(e,t,n){const r=kt(Ze(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Ot(Ze(e),t),o=r?.[Ae];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((a=n)===(s=r)?0!==a||1/a==1/s:a!=a&&s!=s)&&(void 0!==n||Ke(e.base_,t,e.type_)))return!0;Nt(e),Ct(e)}var a,s;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Qe(n)){const a=n[Ae];bt(a,r)&&a.callbacks_.push(function(){Nt(e);const r=et(a);Tt(e,n,r,t)})}else Fe(n)&&e.callbacks_.push(function(){const a=Ze(e);3===e.type_?a.has(n)&&It(n,r.handledSet_,r):Ge(a,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&It(Ge(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Nt(e),void 0!==Ot(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),Ct(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Ze(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Me]:!0,[xe]:1!==e.type_||"length"!==t,[qe]:r[qe],[De]:n[t]}:r},defineProperty(){Oe(11)},getPrototypeOf:e=>Ce(e.base_),setPrototypeOf(){Oe(12)}},Rt={};for(let e in At){let t=At[e];Rt[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Ot(e,t){const n=e[Ae];return(n?Ze(n):e)[t]}function kt(e,t){if(!(t in e))return;let n=Ce(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Ce(n)}}function Ct(e){e.modified_||(e.modified_=!0,e.parent_&&Ct(e.parent_))}function Nt(e){e.copy_||(e.assigned_=new Map,e.copy_=tt(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Pt(e,t,n,r){const[a,s]=Ve(t)?ut(st).proxyMap_(t,n):We(t)?ut(st).proxySet_(t,n):function(e,t){const n=Be(e),r={type_:n?1:0,scope_:t?t.scope_:pt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=r,s=At;n&&(a=[r],s=Rt);const{revoke:o,proxy:i}=Proxy.revocable(a,s);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??pt()).drafts_.push(a),s.callbacks_=n?.callbacks_??[],s.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const a=t;if(!a||!bt(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=et(a);Tt(e,a.draft_??a,s,n),Et(a,r)})}(n,s,r):s.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(s);const{patchPlugin_:t}=e;s.modified_&&t&&t.generatePatches_(s,[],e)}),a}function xt(e){return Qe(e)||Oe(10,e),qt(e)}function qt(e){if(!Fe(e)||at(e))return e;const t=e[Ae];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=tt(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=tt(e,!0);return $e(n,(e,t)=>{He(n,e,qt(t))},r),t&&(t.finalized_=!1),n}Rt.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Oe(13),Rt.set.call(this,e,t,void 0)},Rt.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Oe(14),At.set.call(this,e[0],t,n,e[0])};var Mt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Xe(e)&&!Xe(t)){const n=t;t=e;const r=this;return function(e=n,...a){return r.produce(e,e=>t.call(this,e,...a))}}let r;if(Xe(t)||Oe(6),void 0===n||Xe(n)||Oe(7),Fe(e)){const a=mt(this),s=Pt(0,e,void 0);let o=!0;try{r=t(s),o=!1}finally{o?ht(a):gt(a)}return ft(a,n),vt(r,a)}if(!e||!Je(e)){if(r=t(e),void 0===r&&(r=e),r===Ee&&(r=void 0),this.autoFreeze_&&nt(r,!0),n){const t=[],a=[];ut(ot).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}return r}Oe(1,e)},this.produceWithPatches=(e,t)=>{if(Xe(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ye(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ye(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ye(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Fe(e)||Oe(8),Qe(e)&&(e=xt(e));const t=mt(this),n=Pt(0,e,void 0);return n[Ae].isManual_=!0,gt(t),n}finishDraft(e,t){const n=e&&e[Ae];n&&n.isManual_||Oe(9);const{scope_:r}=n;return ft(r,t),vt(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=ut(ot).applyPatches_;return Qe(e)?r(e,t):this.produce(e,e=>r(e,t))}},Dt=Mt.produceWithPatches.bind(Mt),Qt=Mt.applyPatches.bind(Mt),Ft=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Lt=(e,t,n)=>{if(1===t.length&&t[0]===n){let t=!1;try{const n={};e(n)===n&&(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})}}},Ut=(e,t,n)=>{const{memoize:r,memoizeOptions:a}=t,{inputSelectorResults:s,inputSelectorResultsCopy:o}=e,i=r(()=>({}),...a);if(i.apply(null,s)!==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:n,firstInputs:s,secondInputs:o,stack:e})}},jt={inputStabilityCheck:"once",identityFunctionCheck:"once"},$t=e=>Array.isArray(e)?e:[e];function zt(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].apply(null,t));return n}var Kt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Gt(){return{s:0,v:void 0,o:null,p:null}}function Ht(e,t={}){let n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let a,s=0;function o(){let t=n;const{length:o}=arguments;for(let e=0,n=o;e<n;e++){const n=arguments[e];if("function"==typeof n||"object"==typeof n&&null!==n){let e=t.o;null===e&&(t.o=e=new WeakMap);const r=e.get(n);void 0===r?(t=Gt(),e.set(n,t)):t=r}else{let e=t.p;null===e&&(t.p=e=new Map);const r=e.get(n);void 0===r?(t=Gt(),e.set(n,t)):t=r}}const i=t;let c;if(1===t.s)c=t.v;else if(c=e.apply(null,arguments),s++,r){const e=a?.deref?.()??a;null!=e&&r(e,c)&&(c=e,0!==s&&s--),a="object"==typeof c&&null!==c||"function"==typeof c?new Kt(c):c}return i.s=1,i.v=c,c}return o.clearCache=()=>{n={s:0,v:void 0,o:null,p:null},o.resetResultsCount()},o.resultsCount=()=>s,o.resetResultsCount=()=>{s=0},o}function Bt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,a=0,s={},o=e.pop();"object"==typeof o&&(s=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={...n,...s},{memoize:c,memoizeOptions:u=[],argsMemoize:d=Ht,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=$t(u),h=$t(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 n=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${n}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}(e),m=c(function(){return r++,o.apply(null,arguments)},...f);let y=!0;const v=d(function(){a++;const e=zt(g,arguments);if(t=m.apply(null,e),"production"!==process.env.NODE_ENV){const{identityFunctionCheck:n,inputStabilityCheck:r}=((e,t)=>{const{identityFunctionCheck:n,inputStabilityCheck:r}={...jt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:Lt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Ut}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=zt(g,arguments);r.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:c,memoizeOptions:f},arguments)}y&&(y=!1)}return t},...h);return Object.assign(v,{resultFunc:o,memoizedResultFunc:m,dependencies:g,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>t,recomputations:()=>r,resetRecomputations:()=>{r=0},memoize:c,argsMemoize:d})};return Object.assign(r,{withTypes:()=>r}),r}var Vt=Bt(Ht),Wt=Object.assign((e,t=Vt)=>{!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 n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>Wt}),Jt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Jt||{}),Xt="uninitialized",Yt="pending",Zt="fulfilled",en="rejected";function tn(e){return{status:e,isUninitialized:e===Xt,isLoading:e===Yt,isSuccess:e===Zt,isError:e===en}}var nn=l;function rn(e,t){if(e===t||!(nn(e)&&nn(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let a=n.length===r.length;const s=Array.isArray(t)?[]:{};for(const r of n)s[r]=rn(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function an(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),e),[]).flat()}function sn(e){return null!=e}function on(e){return[...e?.values()??[]].filter(sn)}function cn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var un=()=>new Map,dn=e=>{const t=new AbortController;return setTimeout(()=>{const e="signal timed out",n="TimeoutError";t.abort("undefined"!=typeof DOMException?new DOMException(e,n):Object.assign(new Error(e),{name:n}))},e),t.signal},ln=(...e)=>{for(const t of e)if(t.aborted)return AbortSignal.abort(t.reason);const t=new AbortController;for(const n of e)n.addEventListener("abort",()=>t.abort(n.reason),{signal:t.signal,once:!0});return t.signal},pn=(...e)=>fetch(...e),fn=e=>e.status>=200&&e.status<=299,hn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function gn(e){if(!l(e))return e;const t={...e};for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}var mn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},yn="__rtkq/",vn="online",_n="offline",Sn="focus",bn="focused",wn="visibilitychange",Tn=r(`${yn}${bn}`),En=r(`${yn}un${bn}`),In=r(`${yn}${vn}`),An=r(`${yn}${_n}`),Rn=!1,On="query",kn="mutation",Cn="infinitequery";function Nn(e){return e.type===On}function Pn(e){return e.type===Cn}function xn(e){return Nn(e)||Pn(e)}function qn(e,t,n,r,a,s){const o="function"==typeof e?e(t,n,r,a):e;return o?an(o,sn,e=>s(Mn(e))):[]}function Mn(e){return"string"==typeof e?{type:e}:e}var Dn=(e,t)=>e.endpointDefinitions[t],Qn=Symbol("forceQueryFn"),Fn=e=>"function"==typeof e[Qn],Ln=class extends Ft{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Un=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function jn(e,t,n,r){const a=await e["~standard"].validate(t);if(a.issues)throw new Ln(a.issues,t,n,r);return a.value}function $n(e){return e}var zn=(e={})=>({...e,[p]:!0});function Kn(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],n,r)}function Gn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Hn(e,t,n,r){return qn(n[e.meta.arg.endpointName][t],c(e)?e.payload:void 0,u(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function Bn(e){return Qe(e)?xt(e):e}function Vn(e,t,n){const r=e[t];r&&n(r)}function Wn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Jn(e,t,n){const r=e[Wn(t)];r&&n(r)}var Xn={},Yn=Symbol.for("RTKQ/skipToken"),Zn={status:Xt},er=y(Zn,()=>{}),tr=y(Zn,()=>{}),nr=WeakMap?new WeakMap:void 0,rr=({endpointName:e,queryArgs:t})=>{let n="";const r=nr?.get(t);if("string"==typeof r)n=r;else{const e=JSON.stringify(t,(e,t)=>(t="bigint"==typeof t?{$bigint:t.toString()}:t,t=l(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t));l(t)&&nr?.set(t,e),n=e}return`${e}(${n})`};function ar(...n){return function(r){const a=Ht(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:a,serializeQueryArgs(e){let t=rr;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:rr({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},o={endpointDefinitions:{},batch(e){e()},apiUid:e(),extractRehydrationInfo:a,hasRehydrationInfo:Ht(e=>null!=a(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:On}),mutation:e=>({...e,type:kn}),infiniteQuery:e=>({...e,type:Cn})});for(const[r,a]of Object.entries(n))if(!0!==e.overrideExisting&&r in o.endpointDefinitions){if("throw"===e.overrideExisting)throw new Error("production"===process.env.NODE_ENV?t(39):`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&Pn(a)){const{infiniteQueryOptions:e}=a,{maxPages:n,getPreviousPageParam:s}=e;if("number"==typeof n){if(n<1)throw new Error("production"===process.env.NODE_ENV?t(40):`maxPages for endpoint '${r}' must be a number greater than 0`);if("function"!=typeof s)throw new Error("production"===process.env.NODE_ENV?t(41):`getPreviousPageParam for endpoint '${r}' must be a function if maxPages is used`)}}o.endpointDefinitions[r]=a;for(const e of c)e.injectEndpoint(r,a)}return i},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,n]of Object.entries(t))"function"==typeof n?n(Dn(o,e)):Object.assign(Dn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,s,o));return i.injectEndpoints({endpoints:r.endpoints})}}function sr(e,...t){return Object.assign(e,...t)}var or=({api:e,queryThunk:t,context:n,internalState:r,selectors:{selectQueryEntry:a,selectConfig:s},getRunningQueryThunk:o})=>{const{removeQueryResult:c,unsubscribeQueryResult:u,cacheEntriesUpserted:d}=e.internalActions,l=i(u.match,t.fulfilled,t.rejected,d.match);function p(e){const t=r.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,n){const r=t.getState();for(const s of e){const e=a(r,s);e?.endpointName&&m(s,e.endpointName,t,n)}}function m(e,t,r,s){const i=Dn(n,t),u=i?.keepUnusedDataFor??s.keepUnusedDataFor;if(u===1/0)return;const d=Math.max(0,Math.min(u,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(o(t.endpointName,t.originalArgs));e?.abort()}r.dispatch(c({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(t,a)=>{const o=a.getState(),i=s(o);if(l(t)){let e;if(d.match(t))e=t.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:n}=u.match(t)?t.payload:t.meta.arg;e=[n]}g(e,a,i)}if(e.util.resetApiState.match(t)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];h(r.runningQueries),h(r.runningMutations)}if(n.hasRehydrationInfo(t)){const{queries:e}=n.extractRehydrationInfo(t);g(Object.keys(e),a,i)}}},ir=new Error("Promise never resolved before cacheEntryRemoved."),cr=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:a,selectors:{selectQueryEntry:s}})=>{const o=v(r),i=v(a),u=c(r,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=e.internalActions;function h(e,t,n){const r=d[e];r?.valueResolved&&(r.valueResolved({data:t,meta:n}),delete r.valueResolved)}function g(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:n}=e.meta,{endpointName:r,originalArgs:a}=t;return[r,a,n]}function y(t,r,a,s,o){const i=Dn(n,t),c=i?.onCacheEntryAdded;if(!c)return;const u={},l=new Promise(e=>{u.cacheEntryRemoved=e}),p=Promise.race([new Promise(e=>{u.valueResolved=e}),l.then(()=>{throw ir})]);p.catch(()=>{}),d[a]=u;const f=e.endpoints[t].select(xn(i)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:o,extra:h,updateCachedData:xn(i)?n=>s.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==ir)throw e})}return(n,c,v)=>{const _=function(e){return o(e)?e.meta.arg.queryCacheKey:i(e)?e.meta.arg.fixedCacheKey??e.meta.requestId:l.match(e)?e.payload.queryCacheKey:p.match(e)?Wn(e.payload):""}(n);function S(e,t,n,r){const a=s(v,t),o=s(c.getState(),t);!a&&o&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);S(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:a,queryCacheKey:s}=e;S(r,s,n.meta.requestId,a),h(s,t,{})}else if(a.pending.match(n)){if(c.getState()[t].mutations[_]){const[e,t,r]=m(n);y(e,t,_,c,r)}}else if(u(n))h(_,n.payload,n.meta.baseQueryMeta);else if(l.match(n)||p.match(n))g(_);else if(e.util.resetApiState.match(n))for(const e of Object.keys(d))g(e)}},ur=({api:e,context:{apiUid:t},reducerPath:n})=>(r,a)=>{e.util.resetApiState.match(r)&&a.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===a.getState()[n]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${n}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===n?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},dr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:a,api:s,assertTagType:o,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=s.internalActions,f=i(c(r),u(r)),g=i(c(a,r),h(a,r));let m=[],y=0;function v(n,r){const a=r.getState(),o=a[e];if(m.push(...n),"delayed"===o.config.invalidationBehavior&&y>0)return;const i=m;if(m=[],0===i.length)return;const c=s.util.selectInvalidatedBy(a,i);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=o.queries[t],n=cn(l.currentSubscriptions,t,un);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==Xt&&r.dispatch(d(e)))}})}return(e,t)=>{(a.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Hn(e,"invalidatesTags",n,o),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(qn(e.payload,void 0,void 0,void 0,void 0,o),t)}},lr=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:a})=>{const{currentPolls:s,currentSubscriptions:o}=a,i=new Set;let c=null;function u(e,t){i.add(e),c||(c=setTimeout(()=>{for(const e of i)l({queryCacheKey:e},t);i.clear(),c=null},0))}function d({queryCacheKey:t},n){const a=n.getState()[e],i=a.queries[t],c=o.get(t);if(!i||i.status===Xt)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=s.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;s.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!a.config.focused&&l||n.dispatch(r(i)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],a=o.get(t);if(!r||r.status===Xt)return;const{lowestPollingInterval:i}=f(a);if("test"===process.env.NODE_ENV){const e=s.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const c=s.get(t),u=Date.now()+i;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=s.get(e);t?.timeout&&clearTimeout(t.timeout),s.delete(e)}function f(e=new Map){let t=!1,n=Number.POSITIVE_INFINITY;for(const r of e.values())r.pollingInterval&&(n=Math.min(r.pollingInterval,n),t=r.skipPollingIfUnfocused||t);return{lowestPollingInterval:n,skipPollingIfUnfocused:t}}return(e,r)=>{(n.internalActions.updateSubscriptionOptions.match(e)||n.internalActions.unsubscribeQueryResult.match(e))&&u(e.payload.queryCacheKey,r),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&u(e.meta.arg.queryCacheKey,r),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,r),n.util.resetApiState.match(e)&&(function(){for(const e of s.keys())p(e)}(),c&&(clearTimeout(c),c=null),i.clear())}},pr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const a=g(n,r),s=h(n,r),o=c(n,r),i={};return(n,r)=>{if(a(n)){const{requestId:a,arg:{endpointName:s,originalArgs:o}}=n.meta,c=Dn(t,s),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),i[a]=t;const d=e.endpoints[s].select(xn(c)?o:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:xn(c)?t=>r.dispatch(e.util.updateQueryData(s,o,t)):void 0,queryFulfilled:n};u(o,p)}}else if(o(n)){const{requestId:e,baseQueryMeta:t}=n.meta;i[e]?.resolve({data:n.payload,meta:t}),delete i[e]}else if(s(n)){const{requestId:e,rejectedWithValue:t,baseQueryMeta:r}=n.meta;i[e]?.reject({error:n.payload??n.error,isUnhandledError:!t,meta:r}),delete i[e]}}};var fr=Symbol(),hr=({createSelector:l=n}={})=>({name:fr,init(n,{baseQuery:v,tagTypes:_,reducerPath:S,serializeQueryArgs:b,keepUnusedDataFor:w,refetchOnMountOrArgChange:T,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:A,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Re.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",n="remove";function r(e){if(!Fe(e))return e;if(Be(e))return e.map(r);if(Ve(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(We(e))return new Set(Array.from(e).map(r));const t=Object.create(Ce(e));for(const n in e)t[n]=r(e[n]);return Ke(e,Ie)&&(t[Ie]=e[Ie]),t}function a(e){return Qe(e)?r(e):e}var s;ct[s=ot]||(ct[s]={applyPatches_:function(a,s){return s.forEach(s=>{const{path:o,op:i}=s;let c=a;for(let e=0;e<o.length-1;e++){const t=ze(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==Ne||Oe(19),Xe(c)&&n===Pe&&Oe(19),c=Ge(c,n),Je(c)||Oe(18,o.join("/"))}const u=ze(c),d=r(s.value),l=o[o.length-1];switch(i){case e:switch(u){case 2:return c.set(l,d);case 3:Oe(16);default:return c[l]=d}case t:switch(u){case 1:return"-"===l?c.push(d):c.splice(l,0,d);case 2:return c.set(l,d);case 3:return c.add(d);default:return c[l]=d}case n:switch(u){case 1:return c.splice(l,1);case 2:return c.delete(l);case 3:return c.delete(s.value);default:return delete c[l]}default:Oe(17,i)}}),a},generatePatches_:function(r,s,o){if(r.scope_.processedForPatches_.has(r))return;r.scope_.processedForPatches_.add(r);const{patches_:i,inversePatches_:c}=o;switch(r.type_){case 0:case 2:return function(r,s,o,i){const{base_:c,copy_:u,type_:d}=r;$e(r.assigned_,(r,l)=>{const p=Ge(c,r,d),f=Ge(u,r,d),h=l?Ke(c,r)?e:t:n;if(p===f&&h===e)return;const g=s.concat(r);o.push(h===n?{op:h,path:g}:{op:h,path:g,value:a(f)}),i.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:a(p)}:{op:e,path:g,value:a(p)})})}(r,s,i,c);case 1:return function(r,s,o,i){let{base_:c,assigned_:u}=r,d=r.copy_;d.length<c.length&&([c,d]=[d,c],[o,i]=[i,o]);const l=!0===r.allIndicesReassigned_;for(let t=0;t<c.length;t++){const n=d[t],r=c[t];if((l||u?.get(t.toString()))&&n!==r){const c=n?.[Ae];if(c&&c.modified_)continue;const u=s.concat([t]);o.push({op:e,path:u,value:a(n)}),i.push({op:e,path:u,value:a(r)})}}for(let e=c.length;e<d.length;e++){const n=s.concat([e]);o.push({op:t,path:n,value:a(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=s.concat([e]);i.push({op:n,path:t})}}(r,s,i,c);case 3:return function(e,r,a,s){let{base_:o,copy_:i}=e,c=0;o.forEach(e=>{if(!i.has(e)){const o=r.concat([c]);a.push({op:n,path:o,value:e}),s.unshift({op:t,path:o,value:e})}c++}),c=0,i.forEach(e=>{if(!o.has(e)){const o=r.concat([c]);a.push({op:t,path:o,value:e}),s.unshift({op:n,path:o,value:e})}c++})}(r,s,i,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:a,inversePatches_:s}=r;a.push({op:e,path:[],value:n===Ee?void 0:n}),s.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,a=(r=Ge(e,t.key_),Je(r)?r?.[Ae]:null),s=Ge(e,t.key_);if(void 0===s)return null;if(s!==t.draft_&&s!==t.base_&&s!==t.copy_)return null;if(null!=a&&a.base_!==t.base_)return null;const o=3===t.parent_.type_;let i;if(i=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>i||Ke(e,i)))return null;n.push(i)}var r;if(t.parent_)return e(t.parent_,n);n.reverse();try{!function(e,t){let n=e;for(let e=0;e<t.length-1;e++)if(n=Ge(n,t[e]),!Je(n)||null===n)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,n)}catch(e){return null}return n}})}();const N=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(_.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(n,{reducerPath:S,endpoints:{},internalActions:{onOnline:In,onOffline:An,onFocus:Tn,onFocusLost:En},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>er,a=e=>tr;return{buildQuerySelector:function(e,t){return u(e,t,s)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...tn(e.status)},{isLoading:r,isError:a,direction:s}=t,o="forward"===s,i="backward"===s;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=Kn(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&o,isFetchingPreviousPage:r&&i,isFetchNextPageError:a&&o,isFetchPreviousPageError:a&&i};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Wn(e)??Yn:e,n(t===Yn?a:e=>o(e)?.mutations?.[t]??tr,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=an(n,sn,Mn);for(const e of s){const t=r.provided.tags[e.type];if(!t)continue;let n=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of n)a.add(e)}return Array.from(a.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return an(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==Xt,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:c,selectConfig:function(e){return o(e)?.config}};function s(e){return{...e,...tn(e.status)}}function o(e){const n=e[t];if("production"!==process.env.NODE_ENV&&!n){if(o.triggered)return n;o.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return n}function i(e){return o(e)?.queries}function c(e,t){return i(e)?.[t]}function u(t,a,s){return o=>{if(o===Yn)return n(r,s);const i=e({queryArgs:o,endpointDefinition:a,endpointName:t});return n(e=>c(e,i)??er,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Gn(e,t,n)}}({serializeQueryArgs:b,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:Q}=P;sr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:F,infiniteQueryThunk:L,mutationThunk:U,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:G}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:s,assertTagType:o,selectors:i,onSchemaFailure:u,catchSchemaFailure:d,skipSchemaValidation:l}){function p(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}function m(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}const y=(e,t)=>e.query&&e[t]?e[t]:$n,v=async(e,{signal:r,abort:a,rejectWithValue:s,fulfillWithValue:o,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:S=l}=g,b=e.type===On;try{let w=$n;const T={signal:r,abort:a,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:b?_(e,f()):void 0,queryCacheKey:b?e.queryCacheKey:void 0},E=b?e[Qn]:void 0;let I;const A=async(t,n,r,a)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const s={queryArg:e.originalArgs,pageParam:n},o=await R(s),i=a?p:m;return{data:{pages:i(t.pages,o.data,r),pageParams:i(t.pageParams,n,r)},meta:o.meta}};async function R(n){let r;const{extraOptions:a,argSchema:s,rawResponseSchema:o,responseSchema:i}=g;if(s&&!Un(S,"arg")&&(n=await jn(s,n,"argSchema",{})),E?r=E():g.query?(w=y(g,"transformResponse"),r=await t(g.query(n),T,a)):r=await g.queryFn(n,T,a,e=>t(e,T,a)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=g.query?"`baseQuery`":"`queryFn`";let n;if(r){if("object"!=typeof r)n=`${t} did not return an object.`;else if(r.error&&r.data)n=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===r.error&&void 0===r.data)n=`${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(r))if("error"!==e&&"data"!==e&&"meta"!==e){n=`The object returned by ${t} has the unknown property ${e}.`;break}}else n=`${t} did not return anything.`;n&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${n}\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:`,r)}if(r.error)throw new mn(r.error,r.meta);let{data:c}=r;o&&!Un(S,"rawResponse")&&(c=await jn(o,r.data,"rawResponseSchema",r.meta));let u=await w(c,r.meta,n);return i&&!Un(S,"response")&&(u=await jn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(b&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const P={pages:[],pageParams:[]},x=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!x?P:x;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?Gn:Kn)(O,q,e.originalArgs);N=await A(q,D,k,M)}else{const{initialPageParam:Q=O.initialPageParam}=e,F=x?.pageParams??[],L=F[0]??Q,U=F.length;if(N=await A(q,L,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<U;j++){const $=Kn(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!Un(S,"meta")&&I.meta&&(I.meta=await jn(v,I.meta,"metaSchema",I.meta)),o(I.data,zn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof mn){let G=y(g,"transformErrorResponse");const{rawErrorResponseSchema:H,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{H&&!Un(S,"rawErrorResponse")&&(V=await jn(H,V,"rawErrorResponseSchema",W)),v&&!Un(S,"meta")&&(W=await jn(v,W,"metaSchema",W));let J=await G(V,W,e.originalArgs);return B&&!Un(S,"errorResponse")&&(J=await jn(B,J,"errorResponseSchema",W)),s(J,zn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof Ln){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:b?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return s(Z(K,Y),zn({baseQueryMeta:K._bqMeta}))}}catch(ee){K=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".`,K):console.error(K),K}};function _(e,t){const n=i.selectQueryEntry(t,e.queryCacheKey),r=i.selectConfig(t).refetchOnMountOrArgChange,a=n?.fulfilledTimeStamp,s=e.forceRefetch??(e.subscribe&&r);return!!s&&(!0===s||(Number(new Date)-Number(a))/1e3>=s)}const S=()=>a(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return zn({startedTimeStamp:Date.now(),...Pn(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),a=i.selectQueryEntry(r,e.queryCacheKey),s=a?.fulfilledTimeStamp,o=e.originalArgs,c=a?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!Fn(e)&&("pending"===a?.status||!_(e,r)&&(!Nn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:a,state:r}))&&s&&!d))},dispatchConditionRejection:!0}),b=S(),w=S();function T(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:b,mutationThunk:a(`${e}/executeMutation`,v,{getPendingMeta:()=>zn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:w,prefetch:(e,t,n={})=>(r,a)=>{const o=(e=>"force"in e)(n)&&n.force,i=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>s.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=s.endpoints[e].select(t)(a());if(o)r(c());else if(i){const e=u?.fulfilledTimeStamp;if(!e)return void r(c());(Number(new Date)-Number(new Date(e)))/1e3>=i&&r(c())}else r(c(!1))},updateQueryData:(e,t,n,r=!0)=>(a,o)=>{const i=s.endpoints[e].select(t)(o()),c={patches:[],inversePatches:[],undo:()=>a(s.util.patchQueryData(e,t,c.inversePatches,r))};if(i.status===Xt)return c;let u;if("data"in i)if(Fe(i.data)){const[e,t,r]=Dt(i.data,n);c.patches.push(...t),c.inversePatches.push(...r),u=e}else u=n(i.data),c.patches.push({op:"replace",path:[],value:u}),c.inversePatches.push({op:"replace",path:[],value:i.data});return 0===c.patches.length||a(s.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(s.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[Qn]:()=>({data:n})})),patchQueryData:(e,t,a,i)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(s.internalActions.queryResultPatched({queryCacheKey:l,patches:a})),!i)return;const p=s.endpoints[e].select(t)(u()),f=qn(d.providesTags,p.data,void 0,t,{},o);c(s.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),T(t)),matchFulfilled:f(c(e),T(t)),matchRejected:f(h(e),T(t))}}}}({baseQuery:v,reducerPath:S,context:C,api:n,serializeQueryArgs:b,assertTagType:N,selectors:P,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:H,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:a,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const S=r(`${t}/resetApiState`);function b(e,t,n,r){e[t.queryCacheKey]??={status:Xt,endpointName:t.endpointName},Vn(e,t.queryCacheKey,e=>{e.status=Yt,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,Pn(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function w(e,t,n,r){Vn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:a}=f[t.arg.endpointName];if(e.status=Zt,a)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:s,baseQueryMeta:o,requestId:i}=t;let c=y(e.data,e=>a(e,n,{arg:s.originalArgs,baseQueryMeta:o,fulfilledTimeStamp:r,requestId:i}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?rn(Qe(e.data)?(Qe(s=e.data)||Oe(15,s),s[Ae].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const T=s({name:`${t}/queries`,initialState:Xn,reducers:{removeQueryResult:{reducer(e,{payload:{queryCacheKey:t}}){delete e[t]},prepare:o()},cacheEntriesUpserted:{reducer(e,t){for(const n of t.payload){const{queryDescription:r,value:a}=n;b(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),w(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},a,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type:On,endpointName:t,originalArgs:e.arg,queryCacheKey:l({queryArgs:n,endpointDefinition:f[t],endpointName:t})},value:r}}),meta:{[p]:!0,requestId:e(),timestamp:Date.now()}})},queryResultPatched:{reducer(e,{payload:{queryCacheKey:t,patches:n}}){Vn(e,t,e=>{e.data=Qt(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{b(e,n,Fn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{w(e,t,n,Fn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:a,payload:s})=>{Vn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=en,e.error=s??a}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Zt&&r?.status!==en||(e[t]=r)})}}),E=s({name:`${t}/mutations`,initialState:Xn,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Wn(t);n in e&&delete e[n]},prepare:o()}},extraReducers(e){e.addCase(a.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:a}})=>{r.track&&(e[Wn(t)]={requestId:n,status:Yt,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Jn(e,n,e=>{e.requestId===n.requestId&&(e.status=Zt,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(a.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Jn(e,r,e=>{e.requestId===r.requestId&&(e.status=en,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Zt&&r?.status!==en||t===r?.requestId||(e[t]=r)})}}),I=s({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){A(e,n);for(const{type:t,id:a}of r){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:o()}},extraReducers(e){e.addCase(T.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{A(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[a,s]of Object.entries(r)){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];for(const t of s)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(i(c(n),u(n)),(e,t)=>{R(e,[t])}).addMatcher(T.actions.cacheEntriesUpserted.match,(e,t)=>{R(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function A(e,t){const n=Bn(e.keys[t]??[]);for(const r of n){const n=r.type,a=r.id??"__internal_without_id",s=e.tags[n]?.[a];s&&(e.tags[n][a]=Bn(s).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=Hn(e,"providesTags",f,v),{queryCacheKey:n}=e.meta.arg;return{queryCacheKey:n,providedTags:t}});I.caseReducers.updateProvidedBy(e,I.actions.updateProvidedBy(n))}const O=s({name:`${t}/subscriptions`,initialState:Xn,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:Xn,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Qt(e,t.payload),prepare:o()}}}),C=s({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,..._},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&h===t||"conflict"}},extraReducers:e=>{e.addCase(In,e=>{e.online=!0}).addCase(An,e=>{e.online=!1}).addCase(Tn,e=>{e.focused=!0}).addCase(En,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:T.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(S.match(t)?void 0:e,t),actions:{...C.actions,...T.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:S}}}({context:C,queryThunk:F,mutationThunk:U,serializeQueryArgs:b,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:T,keepUnusedDataFor:w,reducerPath:S,invalidationBehavior:A}});sr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),sr(n.internalActions,B);const V=new WeakMap,W=e=>cn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:a,api:s,context:o,getInternalState:i}){const c=e=>i(e)?.runningQueries,u=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=s.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(s,o)=>{const i=a({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=s(i);f(s);const{requestId:d,abort:p,unwrap:h}=c,g=c.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(g,{arg:c.arg,requestId:d,abort:p,unwrap:h,reset:()=>{s(l({requestId:d,fixedCacheKey:r}))}}),y=u(s);return y.set(d,m),m.then(()=>{y.delete(d)}),r&&(y.set(r,m),m.then(()=>{y.get(r)===m&&y.delete(r)})),m}},getRunningQueryThunk:function(t,n){return r=>{const a=Dn(o,t),s=e({queryArgs:n,endpointDefinition:a,endpointName:t});return c(r)?.get(s)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>on(c(e))},getRunningMutationsThunk:function(){return e=>on(u(e))}};function f(e){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const n=e(s.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof n||"string"==typeof n?.type)throw new Error("production"===process.env.NODE_ENV?t(34):`Warning: Middleware for RTK-Query API at reducerPath "${s.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,a){const o=(i,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[Qn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:a,endpointName:t});let S;const b={...m,type:On,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[Qn]:g};if(Nn(a))S=n(b);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;S=r({...b,direction:e,initialPageParam:t,refetchCachedPages:n})}const w=s.endpoints[t].select(i),T=y(S),E=w(v());f(y);const{requestId:I,abort:A}=T,R=E.requestId!==I,O=c(y)?.get(_),k=()=>w(v()),C=Object.assign(g?T.then(k):R&&!O?Promise.resolve(E):Promise.all([O,T]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:A,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(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!R&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:F,mutationThunk:U,infiniteQueryThunk:L,api:n,serializeQueryArgs:b,context:C,getInternalState:W});sr(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:ae}=function(e){const{reducerPath:t,api:n,context:a,getInternalState:s}=e,{apiUid:o}=a,i={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[ur,or,dr,lr,cr,pr];return{middleware:r=>{let i=!1;const l=s(r.dispatch),p={...e,internalState:l,refetchQuery:d,isThisApiSliceAction:c,mwApi:r},f=u.map(e=>e(p)),h=(({api:e,queryThunk:t,internalState:n})=>{const r=`${e.reducerPath}/subscriptions`;let a=null,s=null;const{updateSubscriptionOptions:o,unsubscribeQueryResult:i}=e.internalActions,c=()=>n.currentSubscriptions,u={getSubscriptions:c,getSubscriptionCount:e=>{const t=c().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const n=c();return!!n?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(c,l)=>{if(a||(a=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return a={},n.currentSubscriptions.clear(),s=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(c))return[!1,u];const p=((n,r)=>{if(o.match(r)){const{queryCacheKey:e,requestId:t,options:a}=r.payload,s=n.get(e);return s?.has(t)&&s.set(t,a),!0}if(i.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,a=n.get(e);return a&&a.delete(t),!0}if(e.internalActions.removeQueryResult.match(r))return n.delete(r.payload.queryCacheKey),!0;if(t.pending.match(r)){const{meta:{arg:e,requestId:t}}=r,a=cn(n,e.queryCacheKey,un);return e.subscribe&&a.set(t,e.subscriptionOptions??a.get(t)??{}),!0}let a=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:s}}=r;if(e&&t.subscribe){const e=cn(n,t.queryCacheKey,un);e.set(s,t.subscriptionOptions??e.get(s)??{}),a=!0}}return a})(n.currentSubscriptions,c);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof c.type&&c.type===`${e.reducerPath}/getPolling`)return[!1,n.currentPolls];if(p){s||(s=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=Dt(a,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),a=t,s=null},500));const o="string"==typeof c.type&&!!c.type.startsWith(r),i=t.rejected.match(c)&&c.meta.condition&&!!c.meta.arg.subscribe;f=!o&&!i}return[f,!1]}})(p),g=(({reducerPath:e,context:t,api:n,refetchQuery:r,internalState:a})=>{const{removeQueryResult:s}=n.internalActions;function o(n,o){const i=n.getState()[e],c=i.queries,u=a.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],a=u.get(e);if(!a||!t)continue;const d=[...a.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===a.size?n.dispatch(s({queryCacheKey:e})):t.status!==Xt&&n.dispatch(r(t)))}})}return(e,t)=>{Tn.match(e)&&o(t,"refetchOnFocus"),In.match(e)&&o(t,"refetchOnReconnect")}})(p);return e=>s=>{if(!m(s))return e(s);i||(i=!0,r.dispatch(n.internalActions.middlewareRegistered(o)));const u={...r,next:e},d=r.getState(),[l,p]=h(s,u,d);let y;if(y=l?e(s):p,r.getState()[t]&&(g(s,u,d),c(s)||a.hasRehydrationInfo(s)))for(const e of f)e(s,u,d);return y}},actions:i};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:S,context:C,queryThunk:F,mutationThunk:U,infiniteQueryThunk:L,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return sr(n.util,ae),sr(n,{reducer:H,middleware:re}),{name:fr,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};Nn(t)&&sr(a,{name:e,select:M(e,t),initiate:J(e,t)},G(F,e)),t.type===kn&&sr(a,{name:e,select:Q(),initiate:Y(e)},G(U,e)),Pn(t)&&sr(a,{name:e,select:D(e,t),initiate:X(e,t)},G(F,e))}}}});function gr(e){return e.replace(e[0],e[0].toUpperCase())}function mr(e){let t=0;for(const n in e)t++;return t}function yr(e){return"infinitequery"===e.type}function vr(e,...t){return Object.assign(e,...t)}hr();var _r=Symbol();function Sr(e){const t=C(e),n=R(()=>rn(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function br(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var wr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Tr=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Er=(()=>wr||Tr?N:k)(),Ir=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Jt.pending}:e;function Ar(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Rr=["data","status","isLoading","isSuccess","isError","error"],Or=Symbol(),kr=ar(hr(),(({batch:e=T,hooks:n={useDispatch:w,useSelector:b,useStore:S},createSelector:r=Vt,unstable__sideEffectsInRender:a=!1,...s}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const a of e)if(mr(s)>0&&(s[a]&&(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)),n[a]=s[a]),"function"!=typeof n[a])throw new Error("production"===process.env.NODE_ENV?t(36):`When using custom hooks for context, all ${e.length} hooks need to be provided: ${e.join(", ")}.\nHook ${a} was either not provided or not a function.`)}return{name:Or,init(s,{serializeQueryArgs:o},i){const c=s,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:a,useStore:s},unstable__sideEffectsInRender:o,createSelector:i},serializeQueryArgs:c,context:u}){const d=o?e=>e():k,l=e=>e.current?.unsubscribe?.(),p=u.endpointDefinitions;return{buildQueryHooks:function(a){const s=(e,n={})=>{const[r]=g(a,e,n);return y(r),R(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},o=({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[a],u=r(),[p,f]=O(_r),h=C(void 0),g=br({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o,skipPollingIfUnfocused:i});d(()=>{const e=h.current?.subscriptionOptions;g!==e&&h.current?.updateSubscriptionOptions(g)},[g]);const m=C(g);d(()=>{m.current=g},[g]);const y=I(function(e,t=!1){let r;return n(()=>{l(h),h.current=r=u(c(e,{subscriptionOptions:m.current,forceRefetch:!t})),f(e)}),r},[u,c]),v=I(()=>{h.current?.queryCacheKey&&u(e.internalActions.removeQueryResult({queryCacheKey:h.current?.queryCacheKey}))},[u]);return k(()=>()=>{l(h)},[]),k(()=>{p===_r||h.current||y(p,!0)},[p,y]),R(()=>[y,p,{reset:v}],[y,p,v])},i=m(a,f);return{useQueryState:i,useQuerySubscription:s,useLazyQuerySubscription:o,useLazyQuery(e){const[t,n,{reset:r}]=o(e),a=i(n,{...e,skip:n===_r}),s=R(()=>({lastArg:n}),[n]);return R(()=>[t,{...a,reset:r},s],[t,a,r,s])},useQuery(e,t){const n=s(e,t),r=i(e,{selectFromResult:e===Yn||t?.skip?void 0:Ir,...t}),a=Ar(r,...Rr);return A(a),R(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,a={})=>{const[s,o,i,c]=g(e,r,a),u=C(c);d(()=>{u.current=c},[c]);const p=br(a.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(s),s.current=r=o(i(e,{subscriptionOptions:u.current,direction:t}))}),r},[s,o,i]);y(s);const h=Sr(a.skip?Yn:r),m=I(e=>{if(!s.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return s.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[s,p]);return R(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},a=m(e,h);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:s,fetchPreviousPage:o}=r(e,t),i=a(e,{selectFromResult:e===Yn||t?.skip?void 0:Ir,...t}),c=Ar(i,...Rr,"hasNextPage","hasPreviousPage");return A(c),R(()=>({...i,fetchNextPage:s,fetchPreviousPage:o,refetch:n}),[i,s,o,n])}}},buildMutationHook:function(t){return({selectFromResult:s,fixedCacheKey:o}={})=>{const{select:c,initiate:u}=e.endpoints[t],d=r(),[l,p]=O();k(()=>()=>{l?.arg.fixedCacheKey||l?.reset()},[l]);const f=I(function(e){const t=d(u(e,{fixedCacheKey:o}));return p(t),t},[d,u,o]),{requestId:h}=l||{},g=R(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=R(()=>s?i([g],s):g,[s,g]),y=a(m,E),v=null==o?l?.arg.originalArgs:void 0,_=I(()=>{n(()=>{l&&p(void 0),o&&d(e.internalActions.removeMutationResult({requestId:h,fixedCacheKey:o}))})},[d,o,l,h]),S=Ar(y,...Rr,"endpointName");A(S);const b=R(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return R(()=>[f,b],[f,b])}},usePrefetch:function(t,n){const a=r(),s=br(n);return I((n,r)=>a(e.util.prefetch(t,n,{...s,...r})),[t,a,s])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==Yn&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||a&&(s&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==Yn&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||s&&a;return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function g(n,a,{refetchOnReconnect:s,refetchOnFocus:o,refetchOnMountOrArgChange:i,skip:c=!1,pollingInterval:u=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:h}=e.endpoints[n],g=r(),m=C(void 0);if(!m.current){const n=g(e.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof n||"string"==typeof n?.type))throw new Error("production"===process.env.NODE_ENV?t(37):`Warning: Middleware for RTK-Query API at reducerPath "${e.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);m.current=n}const y=Sr(c?Yn:a),v=br({refetchOnReconnect:s,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=br(f.initialPageParam),S=br(f.refetchCachedPages),b=C(void 0);let{queryCacheKey:w,requestId:T}=b.current||{},E=!1;w&&T&&(E=m.current.isRequestSubscribed(w,T));const I=!E&&void 0!==b.current;return d(()=>{I&&(b.current=void 0)},[I]),d(()=>{const e=b.current;if("undefined"!=typeof process&&process,y===Yn)return e?.unsubscribe(),void(b.current=void 0);const t=b.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...yr(p[n])?{initialPageParam:_,refetchCachedPages:S}:{}}));b.current=t}},[g,h,i,y,v,I,_,S,n]),[b,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=Sr(o?Yn:r),l=C(void 0),p=R(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=R(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=a(e=>f(e,l.current),E),g=s(),m=p(g.getState(),l.current);return Er(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:s,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:a,createSelector:r},serializeQueryArgs:o,context:i});return vr(c,{usePrefetch:p}),vr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}=u(e);vr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}),s[`use${gr(e)}Query`]=t,s[`useLazy${gr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);vr(c.endpoints[e],{useMutation:t}),s[`use${gr(e)}Mutation`]=t}else if(yr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);vr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),s[`use${gr(e)}InfiniteQuery`]=t}}}}}})());let Cr=0;function Nr(e){return null!==e&&"object"==typeof e}function Pr(e){return Nr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const xr="Something went wrong. Please try again.";function qr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Mr(e,t){return qr(e)?xr:function(e){if(!Nr(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."}function Dr(e){if(!Nr(e))return null;const t=e.data;return Nr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function Qr(e,t){if(!Nr(e))return t.generic;if(qr(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return Dr(JSON.parse(e))}catch{return null}}(e.message);return n||(Dr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function Fr(e){if(!Nr(e))return null;const t=e.data;if(Nr(t)){const e=t.data;if(Nr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const Lr={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 Ur=null;const jr=function(e){const{name:t,innerBaseQuery:n,requestInterceptors:r,responseInterceptors:a,defaultOptions:s}=e;return async(e,o,i)=>{let c,u;if("string"==typeof e)c={url:e};else{const{_bridge:t,...n}=e;c=n,u=t}const d={...i,bridge:{...s,...i?.bridge,...u}},l={bridgeName:t,requestId:(p=t,Cr+=1,`${p}-${Cr}`),startTime:Date.now(),api:o,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of r)t=await e(t,l);return n(t,o,d)};let h=await f(c);for(const e of a)h=await e(h,c,l,f);return h}}({name:"apiBridge",innerBaseQuery:async(e,t,n)=>function({baseUrl:e,prepareHeaders:t=e=>e,fetchFn:n=pn,paramsSerializer:r,isJsonContentType:a=hn,jsonContentType:s="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===pn&&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:v,forced:_,type:S}=h;let b,{url:w,headers:T=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:A=u??fn,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?ln(h.signal,dn(R)):h.signal,...O};T=new Headers(gn(T)),k.headers=await t(T,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:S,extraOptions:g})||T;const C="object"==typeof(N=k.body)&&(l(N)||Array.isArray(N)||"function"==typeof N.toJSON);var N;if(null==k.body||C||"string"==typeof k.body||k.headers.delete("content-type"),!k.headers.has("content-type")&&C&&k.headers.set("content-type",s),C&&a(k.headers)&&(k.body=JSON.stringify(k.body,o)),k.headers.has("accept")||("json"===I?k.headers.set("accept","application/json"):"text"===I&&k.headers.set("accept","text/plain, text/html, */*")),E){const e=~w.indexOf("?")?"&":"?";w+=e+(r?r(E):new URLSearchParams(gn(E)))}w=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const n=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${n}${t=(e=>e.replace(/^\//,""))(t)}`}(e,w);const P=new Request(w,k);let x;b={request:new Request(w,k)};try{x=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:b}}const q=x.clone();let M;b.response=q;let D="";try{let e;if(await Promise.all([p(x,I).then(e=>M=e,t=>e=t),q.text().then(e=>D=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:x.status,data:D,error:String(e)},meta:b}}return A(x,M)?{data:M,meta:b}:{error:{status:x.status,data:M},meta:b}};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)})(e,t,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const n=t.api.getState(),r=n.auth?.accessToken;return r?{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}:e},(e,t)=>{const n=q(),r=t.extraOptions.bridge?.customHeaders,a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;return a||s?{...e,headers:{...e.headers,...n,...r??{}}}:e},(e,t)=>{if(!M()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return D.debug({message:`${t.bridgeName} ${n} ${r}`,api_name:t.api.endpoint,request_id:t.requestId,method:n,url:r}),e}],responseInterceptors:[async(e,t,n,r)=>{if(n.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=n.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!F())return n.api.dispatch(L()),e;try{const e=await async function(){return Ur||(Ur=async function(){const e=F();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{Ur=null}),Ur)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(U({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),r(t)}D.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(a=e.error,s={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},a&&"object"==typeof a&&"status"in a?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,a="number"==typeof r&&r>=400?r:e.status;let s,o="Request failed",i=Lr.UNKNOWN;if("data"in e)if(s=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!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===a?i=Lr.UNAUTHORIZED:403===a?i=Lr.FORBIDDEN:404===a?i=Lr.NOT_FOUND:422===a?i=Lr.VALIDATION_ERROR:"FETCH_ERROR"===a?i=Lr.NETWORK_ERROR:"TIMEOUT_ERROR"===a?i=Lr.TIMEOUT:"PARSING_ERROR"===a?i=Lr.PARSE_ERROR:"number"==typeof a&&a>=500&&(i=Lr.SERVER_ERROR),"number"==typeof a&&a>=500&&(o=xr),{status:a,message:o,data:s,code:i,meta:{timestamp:Date.now(),...t}}}(a,s):a instanceof Error?{status:"FETCH_ERROR",message:a.message||"An unexpected error occurred",code:Lr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:Lr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:Lr.UNKNOWN,meta:{timestamp:Date.now(),...s}});var a,s;return{...e,error:{...e.error,...r}}},async(e,t,n)=>{if(!e.error||n.extraOptions.bridge?.skipErrorToast)return e;const{status:r}=e.error;return"FETCH_ERROR"===r?(Q("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(Q("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(Q(xr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:a}=e.error;if("FETCH_ERROR"!==a&&"TIMEOUT_ERROR"!==a)return e;const s=n.extraOptions.bridge?.retry,o=s?.maxRetries??1,i=s?.backoffMs??1e3,c=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(c>=o)return e;const u=i*Math.pow(2,c);return await new Promise(e=>setTimeout(e,u)),r({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(c+1)}})},async(e,t,n)=>{const r=n.extraOptions.bridge?.skipLogging,a=Date.now()-n.startTime,s=(t.method||"GET").toUpperCase(),o=t.url||"",i=e.meta?.response,c=e.error?e.error.status:i?.status??"OK",u=i?.headers?.get?.("x-request-id")??void 0;return e.error?D.error({message:`${n.bridgeName} ${s} ${o} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${s} ${o} ${c} ${a}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a}),e}]});function $r(){return j()}let zr=0;async function Kr(e){const{url:t,method:n="GET",body:r,headers:a={},skipAuth:s=!1,skipLogging:o=!1,skipContentType:i=!1,responseHandler:c="json",signal:u,keepalive:d}=e;zr+=1;const l=`fetch-${zr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){const e=$r();e&&(h.Authorization=`Bearer ${e}`)}let g;i||h["Content-Type"]||(h["Content-Type"]="application/json"),h.Accept||(h.Accept="application/json"),g=null==r?void 0:"string"==typeof r||r instanceof FormData||r instanceof Blob||r instanceof ArrayBuffer?r:JSON.stringify(r),M()&&!o&&D.debug({message:`bridgedFetch ${f} ${t}`,api_name:"bridgedFetch",request_id:l,method:f,url:t});try{const e=await fetch(t,{method:n,headers:h,body:g,signal:u,keepalive:d}),r=Date.now()-p;if(!e.ok){let n;try{n=await e.json()}catch{try{n=await e.text()}catch{n=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return o||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},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(M()&&!o){const n=e.headers.get("x-request-id")??void 0;D.debug({message:`bridgedFetch ${f} ${t} ${e.status} ${r}ms`,api_name:"bridgedFetch",request_id:n??l,method:f,url:t,status:e.status,duration:r})}return{data:a,response:e}}catch(e){const n=Date.now()-p;return o||D.error({message:`bridgedFetch ${f} ${t} network error`,api_name:"bridgedFetch",request_id:l,method:f,url:t,status:"FETCH_ERROR",duration:n,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Gr=()=>"",Hr=kr({reducerPath:"chatApi",baseQuery:jr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${$.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:n})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==n&&{limit:n}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${$.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:a}=await Kr({url:$.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return a?{error:a}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r})=>{const a=new FormData;a.append("file",e),t&&a.append("filename",t),n&&a.append("document_type",n),r&&a.append("conversation_id",r);const{data:s,error:o}=await Kr({url:$.DOCUMENTS(),method:"POST",body:a,skipContentType:!0});return o?{error:o}:{data:s}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await Kr({url:$.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:$.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:$.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:Br,useTranscribeAudioMutation:Vr,useUploadDocumentMutation:Wr,useDeleteDocumentMutation:Jr,useExchangeOAuthCodeMutation:Xr,useGetConversationHistoryQuery:Yr,useLazyGetConversationByIdQuery:Zr,useDeleteConversationMutation:ea,useGetToolServersQuery:ta,useStartToolServerOAuthMutation:na,useDeleteToolServerConnectionMutation:ra}=Hr,aa={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},sa=kr({reducerPath:"brandingApi",baseQuery:jr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:aa})})}),{useGetBrandingQuery:oa}=sa,ia={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},ca=kr({reducerPath:"configApi",baseQuery:jr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:ia})})}),{useGetConfigQuery:ua}=ca,da=kr({reducerPath:"profileApi",baseQuery:jr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:$.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:$.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:n}){try{await n,t(da.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:$.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:$.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null})})}),{useGetProfileQuery:la,useUpdateProfileMutation:pa,useDeleteAccountMutation:fa,useUpdatePasswordMutation:ha}=da,ga=[Hr,sa,ca,da],ma={[Hr.reducerPath]:Hr.reducer,[sa.reducerPath]:sa.reducer,[ca.reducerPath]:ca.reducer,[da.reducerPath]:da.reducer},ya=[Hr.middleware,sa.middleware,ca.middleware,da.middleware],va=()=>e=>{ga.forEach(t=>e(t.util.resetApiState()))},_a={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Sa=s({name:"chat",initialState:_a,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:()=>_a},extraReducers:e=>{e.addMatcher(i(L,K),()=>_a)}}),{setIsAgentWorking:ba,setStatusText:wa,setResponseStartTime:Ta,enqueueMessage:Ea,dequeueMessage:Ia,clearMessageQueue:Aa,addPendingTranscriptionId:Ra,clearPendingTranscriptionIds:Oa,resetChatState:ka}=Sa.actions,Ca=Sa.reducer,Na={activeConversationId:null,titles:{}},Pa=s({name:"conversations",initialState:Na,reducers:{setActiveConversationId(e,t){e.activeConversationId=t.payload},upsertConversationTitle(e,t){const{id:n,title:r}=t.payload;n&&r.trim()&&(e.titles[n]=r)}},extraReducers:e=>{e.addMatcher(i(L,K),()=>Na)}}),{setActiveConversationId:xa,upsertConversationTitle:qa}=Pa.actions,Ma=Pa.reducer;let Da=null;function Qa(e){Da=e}function Fa(){Da=null}const La=()=>{if(!Da)return{};const e=Da(),t=e.auth.user?.id,n=e.auth.selectedOrgId??void 0,r=e.conversations.activeConversationId??void 0;return{...t?{user_id:t}:{},...n?{org_id:n}:{},...r?{conversation_id:r}:{}}},Ua=d({...ma,auth:H,chat:Ca,conversations:Ma,indicator:G}),ja={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"]},$a=_({reducer:Ua,middleware:e=>e({serializableCheck:ja}).prepend(B.middleware).concat(ya)});var za;za=$a.dispatch,function(){const[e,t,n,r]=[Tn,En,In,An].map(e=>()=>za(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!Rn&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(s).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const s={[Sn]:e,[wn]:a,[vn]:n,[_n]:r};t(!0),Rn=!0}}(),V(()=>$a.getState().auth.accessToken),W(()=>$a.getState().auth.tokenExpiresAt),Qa(()=>$a.getState());const Ka=()=>{const e=ua(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},Ga=P(void 0),Ha=()=>{const e=x(Ga);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},Ba="mtx",Va=5;var Wa=(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))(Wa||{});let Ja=class extends Error{constructor(e){super(),this.reopen=e}};class Xa{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:n,isStreamEnd:r,requestId:a}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a};const s=(n||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(s,t);return{type:o,data:i,timestamp:Date.now(),requestId:a}}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 n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Te(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new Ja(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(Wa));if("status_update"!==t&&"clear_status"!==t||D.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:n.has(t)}),!t||n.has(t))try{const n=t===Wa.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==Wa.CLEAR_STATUS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const s=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||a||""});d(s),n&&"stream_end"!==s.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a})}catch(e){D.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else D.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ja)throw e;if(r++,r>=5)throw n.abort(),l(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{p()},openWhenHidden:!0})}catch(e){if(e instanceof Ja)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){i=e;for(const t of o)e.onEvent(t);return o.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{i=null}},abort(){n.abort()}}}}class Ya extends Error{constructor(e){super(),this.reopen=e}}class Za{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:n,data:r}=this.mapEventType(t);return{type:n,data:r,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&&J(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,n=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof n?n:""}}}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||{},n=e.name||"custom";return D.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:n}),"widget"===n?{type:"widget",data:{widget:{eventName:n,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Te(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new Ya(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{D.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(Wa));if(!t||n.has(t))if(t!==Wa.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void D.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(n&&"object"==typeof n&&0===Object.keys(n).length)return;n.runId&&(a=n.runId);const r=t===Wa.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||a}:{...n,runId:n.runId||a},s=this.normalizeEvent(r);d(s)}catch(e){D.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else d(this.normalizeEvent({type:"RUN_FINISHED",runId:a}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ya)throw e;if(r++,r>=5)throw n.abort(),l(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{p()},openWhenHidden:!0})}catch(e){if(e instanceof Ya)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){i=e;for(const t of o)e.onEvent(t);return o.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{i=null}},abort(){n.abort()}}}}function es(e,t){switch(e){case"mtx":return new Xa(t);case"agui":return new Za(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function ts(e={}){return{getAuthToken:()=>$r(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{X(Y())&&await(F()?.())},forceRefreshToken:async()=>Boolean(await(F()?.()))}}class ns{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:Z(),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:Z(),text:e})}toMessages(){if(0===this.segments.length){const e=Z();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 n={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":n.message=t.text;break;case"widget":n.widget=[t.content],n.message_type=["widget"]}return n}),n=t[t.length-1];return n.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,n.error=this.error||void 0,n.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 rs(e,t){const{data:n,error:r,response:a}=await Kr({url:ee(te.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function as(){const{data:e,error:t,response:n}=await Kr({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function ss(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return re(t?.data)?{body:t}:{body:t,tokens:ne(r)}}async function os(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return r.headers.get(ae.ACCESS_TOKEN)?{body:t,tokens:ne(r)}:{body:t}}async function is(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function cs(e,t){await Kr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function us(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function ds(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ls(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ps(e){const{data:t,error:n,response:r}=await Kr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function fs(e,t){const{data:n,error:r,response:a}=await Kr({url:ee(te.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function hs(){try{const{data:e}=await Kr({url:ee(`${te.ORGANIZATIONS}?skip=0&limit=100`),skipAuth:!0});if(e?.success&&Array.isArray(e.data?.organizations))return e.data.organizations}catch{}return[]}async function gs(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Kr({url:$.ORGANIZATIONS_EXISTS,method:"GET",skipAuth:!0,skipContentType:!0,signal:e.signal});return n?!r||r.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)}}function ms(e){const t=S(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:a}=await e(...n);return r.success&&r.data?(a&&!re(r.data)&&t.dispatch(U({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{r(!1)}},[t,e]),isLoading:n}}function ys(){const e=I(e=>rs(e.email,e.password),[]),{run:t,isLoading:n}=ms(e);return{login:t,isLoading:n}}function vs(){const{run:e,isLoading:t}=ms(as);return{guestLogin:e,isLoading:t}}function _s(){const{run:e,isLoading:t}=ms(ss);return{signup:e,isLoading:t}}function Ss(){const{run:e,isLoading:t}=ms(os);return{verify:e,isLoading:t}}function bs(){const e=S();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await cs({refresh_token:n,user_id:r})}catch{}else D.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(n),has_user_id:Boolean(r)});e.dispatch(L())},[e])}}function ws(){const e=S(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:s}=await us({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(U({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function Ts(e){return se({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return D.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(n),has_user_id:Boolean(r)}),null;const{body:a,tokens:s}=await us({refresh_token:n,user_id:r});if(a?.success&&a?.data){const t={accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(U({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return D.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}const Es={WEB:"Web",MOBILE:"Mobile"},Is={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in"},As=Object.values(Is);function Rs(e,t){const n=e?.data?.auth_mode_config?.[t];return As.includes(n)?n:Is.SIGN_IN_ONLY}const Os=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:a}=b(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:a,tokenInfo:{isExpired:!!n&&ce(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?ie(n):0,timeUntilExpiryFormatted:n?oe(ie(n)):"0s"}}},ks={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},Cs={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},Ns={MESSAGE_PAGE_SIZE:25},Ps=[500,1500,3e3],xs=28,qs="New Conversation";function Ms(e){return!e.widget?.length}function Ds(e){const t=Z(),n={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&&(n.widget=[e.content],n.message_type=["widget"]):e.content&&"string"==typeof e.content&&(n.message=e.content),n}function Qs(e){const t=[];for(const n of e){const e=n.created_at?String(n.created_at):"";if("user"!==n.role)if("system"!==n.role){if("assistant"===n.role){if(n.tool_calls?.length)continue;const e=t[t.length-1];if((!n.type||"text_delta"===n.type)&&"agent"===e?.sender&&Ms(e)){e.message=e.message+(n.content||"");continue}t.push(Ds(n));continue}}else n.content&&t.push({id:`system-${Z()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else n.content&&t.push({id:`user-${Z()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e})}return t}function Fs(e){return"string"==typeof e&&e.trim()?e:null}const Ls=()=>{const e=w(),[t,n]=O(null),[r,a]=O([]),s=C(t),o=b(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(qa({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(xa(t))},[t,e]);const[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1),[h,g]=O(!1),m=C(!1),{protocolType:y}=Ha(),[v]=Br(),[_]=Zr(),S=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=Fs(t?.title);return a&&e(qa({id:r,title:a})),r}return Q(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return Q(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),T=I(async(t,r)=>{try{const s=Fs(r);s&&e(qa({id:t,title:s}));const o=await _({conversationId:t,skip:0,limit:Ns.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=Fs(o.title)??s;r&&e(qa({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?Qs(i):[];return a(c),l(i.length),f(i.length>=Ns.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(D.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load conversation. Please try again.")),!1}},[_,e]),E=I(async(n=t)=>{if(!n)return null;try{const t=await _({conversationId:n,skip:0,limit:1}).unwrap(),r=Fs(t?.title);return r&&e(qa({id:n,title:r})),r}catch(e){return D.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),A=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:Ns.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=Qs(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Ns.MESSAGE_PAGE_SIZE),a(t=>{const n=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!n.has(e.timestamp)),...t]})}}catch(e){D.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),R=I(()=>{a([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:o,setConversationTitle:i,messages:r,setMessages:a,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:S,loadConversation:T,loadConversationTitle:E,loadMoreMessages:A,resetConversation:R}},Us=e=>null==e||"string"==typeof e&&""===e.trim(),js=e=>{const t=["widget","error"],n=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 r of t)if(n(e[r]))return!0;return!1},$s=({conversationId:e,messages:t,setMessages:n,enableTts:r=!1,userLocation:a=null,startSession:s,debugMode:o=!1,onPaymentInit:i,onSignInInit:c,onConversationTitle:u})=>{const{adapter:d}=Ha(),l=w(),p=S(),[f,h]=O(""),[g,m]=O(!1),[y,v]=O(!1),_=C(i);_.current=i;const b=C(c);b.current=c;const T=C(u);T.current=u;const E=C(new ns),A=C(null),R=C(null),N=C(!1),P=C(0),x=C(!1),q=C(null),M=C(e);M.current=e;const F=C(null),L=C(e);k(()=>{const t=L.current;L.current=e,null!==t&&t!==e&&l(Oa())},[e,l]);const U=I((e=ue.KEEP)=>{if(l(wa(null)),l(ba(!1)),e===ue.FINALIZE){const e=p.getState().chat.responseStartTime;e&&l(de(Date.now()-e)),l(Ta(null))}else e===ue.CANCEL&&l(Ta(null))},[l,p]),j=I(e=>{l(ba(e)),m(e),e&&v(!1)},[l]),$=I(()=>{const e=p.getState().chat.responseStartTime;return e&&l(de(Date.now()-e)),null!==q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,x.current=!1,h(""),m(!1),v(!1),U(ue.CANCEL)},600),()=>{null!==q.current&&clearTimeout(q.current)}},[l,p,U]),z=C({setStatusText:e=>l(wa(e||null)),setIsAgentWorking:e=>l(ba(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>_.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),K=I(e=>{if(F.current!==M.current)return A.current?.abort(),void R.current?.();if("payment"===e.type&&"payment"in e.data)return void le({kind:"payment",payment:e.data.payment},z.current);if("sign_in"===e.type&&"signIn"in e.data)return void le({kind:"sign_in",signIn:e.data.signIn},z.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&T.current?.(t))}const t=E.current;t.processEvent(e),N.current||(N.current=!0,v(!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;le(e,z.current)}const a=t.toMessages(),s=P.current;n(e=>[...e.slice(0,e.length-s),...a]),P.current=a.length,a.some(e=>js(e)||!Us(e.message))&&l(ba(!1)),t.isStreamComplete()&&$()},[l,n,$]),G=I(e=>{Q("Stream connection error. Please try again."),$()},[$]),H=I(()=>{A.current?.abort(),R.current?.(),A.current=null,R.current=null,F.current=null,E.current.reset(),P.current=0,h(""),m(!1),v(!1),U(ue.CANCEL),l(pe()),l(Aa()),x.current=!1},[l,U]),B=I((e,t)=>{A.current?.abort(),R.current?.(),E.current.reset(),P.current=0,N.current=!1,F.current=t,M.current=t,A.current=e;const n=e.subscribe({onEvent:K,onError:G,onComplete:()=>{$()}});R.current=n},[K,G,$]),V=I(async(t="",a=[])=>{x.current=!0;try{let i=e;if(!i){if(!s)return x.current=!1,void Q("Conversation is not ready yet. Please wait a moment.");const e=await s();if(!e)return x.current=!1,void Q("Failed to start conversation. Please try again.");i=e}const c=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),l(ba(!0)),m(!0),v(!1),l(wa(null)),l(Ta(Date.now())),l(pe());const u={id:`user-${Z()}`,sender:"user",message:c,timestamp:(new Date).toISOString()};n(e=>[...e,u]);const p=fe(),f=d.streamMessage({conversationId:i,message:c,enableTts:r,debugMode:o,transcriptionIds:a,...p?{body:{client_metadata:{device_token:p}}}:{}});B(f,i)}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to send conversations message. Please try again."),x.current=!1,U(ue.CANCEL)}},[l,t,e,d,r,n,B,s,o,U]),W=C(V);W.current=V;const J=I(async(e="",t=[])=>{const n=(e??"").trim();if(!n)return;const r=p.getState().chat.pendingTranscriptionIds,a=r.length?[...r,...t]:t;r.length&&l(Oa()),x.current?l(Ea({id:Z(),text:n,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{}})):await V(n,a)},[l,p,V]);k(()=>{if(g||x.current)return;const e=p.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>`- ${e.text}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]);l(Aa()),W.current(t,n)},[g,l,p]);const X=I(async(e,t)=>{x.current=!0,l(ba(!0)),m(!0),v(!1),l(wa(null)),l(Ta(Date.now())),l(pe());const n=void 0!==t?t:a,s={};n&&(s.user_location=n);const o=fe();o&&(s.device_token=o);const i=Object.keys(s).length>0?{client_metadata:s}:{},c=d.streamInitial({conversationId:e,body:i,enableTts:r});B(c,e)},[l,d,r,a,B]);return k(()=>()=>{A.current?.abort(),R.current?.()},[]),{sendMessage:J,startInitialStream:X,setThinkingState:j,abortStream:H,toolCallStatus:f,isProcessThinkingState:g,hasReceivedResponse:y}};function zs({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,a]=O([]),s=b(e=>e.conversations.titles),[o,i]=O(!0),[c,u]=O(!1),[d,l]=O(!0),[p,f]=O(""),h=C(0),g=C(!1),m=C(d);m.current=d;const y=C(r);y.current=r;const[v]=Hr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:w}]=Hr.useDeleteConversationMutation(),T=I(async e=>{const t="append"===e?h.current:0;if("append"===e){if(g.current||!m.current)return;g.current=!0,u(!0)}else"replace"===e&&0===y.current.length&&i(!0);try{const n=await _.current({skip:t,limit:20}).unwrap(),r=n?.conversations??[];"append"===e?(a(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(a(r),h.current=20):a(e=>function(e,t){if(0===t.length)return e;const n=new Set(e.map(e=>e.id)),r=new Map(t.map(e=>[e.id,e])),a=t.filter(e=>!n.has(e.id));let s=a.length>0;const o=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(a=t).id&&n.title===a.title&&n.created_at===a.created_at&&n.updated_at===a.updated_at?e:(s=!0,t):e;var n,a});return s?[...a,...o]:e}(e,r)),"silent"!==e&&l(r.length>=20)}catch(e){D.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(g.current=!1,u(!1)):"replace"===e&&i(!1)}},[]);k(()=>{T("replace")},[T]);const E=C(null),A=C(new Set);k(()=>{if(o||!e)return;if(A.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${s[e]??""}`;E.current!==t&&(E.current=t,T("silent"))},[e,r,s,o,T]);const N=I(async s=>{const o=e===s,i=o?function(e,t){const n=e.findIndex(e=>e.id===t);return-1===n?null:n+1<e.length?e[n+1].id:n-1>=0?e[n-1].id:null}(p.trim()?r.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):r,s):null,c=await S({conversationId:s});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:s,error_message:JSON.stringify(c.error)}),void Q("Failed to delete the conversation. Please try again.");he("Conversation deleted successfully"),A.current.add(s);const u=y.current.some(e=>e.id===s);if(a(e=>e.filter(e=>e.id!==s)),u&&(h.current=Math.max(0,h.current-1)),o)if(i){const e=r.find(e=>e.id===i)??null;t(i,e?.title??null)}else n?.()},[e,r,p,S,t,n]),P=R(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?P.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):P,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:w,searchQuery:p,setSearchQuery:f,loadConversations:T,deleteConversation:N,isLoadingMoreRef:g}}function Ks(){return b(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function Gs(e,t){if(null==e||!t)return null;const n=e/100,r=t.toUpperCase();try{return new Intl.NumberFormat("en-US",{style:"currency",currency:r}).format(n)}catch{return`${r} ${n.toFixed(2)}`}}function Hs(e){if("success"===e.status){const t=Gs(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 Bs=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(()=>n(null),[]),a=I(t=>{"stripe"===t.provider?"cancel"===t.status&&Q("Payment cancelled."):"chargebee"===t.provider&&"cancel"===t.status?Q("Payment cancelled."):"failure"===t.status&&t.message&&Q(t.message),e.current?e.current(Hs(t)):D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status}),n(null)},[e]);return{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}};function Vs(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=ge.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function Ws(e){try{const t=await e.getItem(me.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(me.LOCATION_CACHE),null)}catch{return null}}const Js=()=>{const[e,t]=O(!1),[n,r]=O(null),a=ye(),s=I(async()=>{const e=await Ws(a);if(e)return e;if(!("geolocation"in navigator))return r("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return r("Geolocation requires HTTPS"),null;t(!0),r(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:n,longitude:r}=t.coords;let s="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${n}&lon=${r}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(s=(await e.json()).display_name??"")}catch(e){D.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const o={latitude:n,longitude:r,address:s,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(me.LOCATION_CACHE,JSON.stringify(n))}catch{}}(a,o),o}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:r("Location permission denied");break;case 2:r("Location information unavailable");break;case 3:r("Location request timed out");break;default:r("Failed to retrieve location")}else r("Failed to get location");return null}finally{t(!1)}},[a]);return{getUserLocation:s,isLoading:e,error:n}};function Xs({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:a}){const s=C(null),o=I(a=>{if(s.current&&s.current.disconnect(),!a||!e)return;const o=function(e,t){const n=t?.querySelector("[data-radix-scroll-area-viewport]");if(n)return n;if(t&&t.scrollHeight>t.clientHeight)return t;let r=e.parentElement;for(;r&&r!==document.body;){if(r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null}(a,n.current);o&&(s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:o,rootMargin:"0px",threshold:.1}),s.current.observe(a))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const a=n.current;if(!a)return;const s=a.querySelector("[data-radix-scroll-area-viewport]")??a;s.clientHeight>0&&s.scrollHeight<=s.clientHeight&&r()},[e,n,r,t,a]),o}const Ys=e=>{const[t,n]=O(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return k(()=>{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},Zs=()=>Ys("(min-width: 1024px)"),eo=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const a=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});a.observe(n);const s=n.getBoundingClientRect().width;return r(s>=e),()=>{a.disconnect()}},[e]),{containerRef:t,isDesktop:n}},to=()=>{const[e,t]=O(!1),{getUserLocation:n}=Js(),r=ye(),a=C(!1);return k(()=>{if(a.current)return;a.current=!0;let e=null;const s=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(me.LOCATION_ENABLED))return void s();const t=await Ws(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function no({paymentInit:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),a=J(e);return{handlePaymentResult:I(e=>{"success"!==e.status&&"failure"!==e.status||a&&r.current.add(a),t?.(e)},[t,a]),handleModalOpenChange:I(s=>{!s&&e&&(!!a&&r.current.has(a)||t?.({status:"cancel",provider:e.provider}),n?.())},[e,a,t,n])}}function ro(e){const t=e.trim().split(/\s+/);return 1===t.length?e.charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()}function ao(){const{themeStyles:e}=ve(),{data:t,isLoading:n}=ta(void 0),[r]=ra(),a=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:ro(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:a,isLoading:n,disconnect:async function(e){const t=a.find(t=>t.id===e)?.name??"App";"error"in await r(e)?Q(`Failed to disconnect ${t}. Please try again.`):he(`${t} disconnected`)}}}const so={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},oo=({onSend:e,disabled:t=!1,transcribedText:n,onTranscribedTextUsed:r,isRecording:a=!1,isTranscribing:s=!1})=>{const[o,i]=O("");k(()=>{if(!n)return;let e=!1;return queueMicrotask(()=>{e||(i(e=>0===e.trim().length?n:`${e.trimEnd()} ${n}`),r?.())}),()=>{e=!0}},[n,r]);const c=o.trim().length>0&&!t,u=I(()=>{const n=o.trim();n&&!t&&(e(n),i(""))},[o,t,e]),d=a?so.RECORDING:s?so.TRANSCRIBING:so.NORMAL;return R(()=>({value:o,setValue:i,send:u,canSend:c,mode:d}),[o,u,c,d])},io=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},co=e=>{const t=b(e=>!!e.voice?.isAgentWorking),n=b(e=>e.voice?.statusText??null),r=b(e=>e.voice?.responseStartTime??null),a=b(e=>e.chat.isAgentWorking),s=b(e=>e.chat.statusText??null),o=b(e=>e.chat.responseStartTime),i=b(e=>e.indicator.lastResponseTime),c=e?t:a,u=e?n:s,d=e?r:o;return R(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},uo=[],lo=({messages:e,voiceStreamingMessages:t=uo,voiceActive:n})=>{const r=R(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),a=R(()=>io(r),[r]),s=co(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=io(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:n,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(_e),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:i}},po=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(Cs.INITIAL),[a,s]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(Cs.INITIAL),s(0),void i(!0);r(Cs.INITIAL),s(0),i(!0);let e=Cs.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},Cs.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=Cs.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(Cs.LATER),s(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},Cs.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),u.current&&clearTimeout(u.current),d.current&&clearTimeout(d.current),c.current=null,u.current=null,d.current=null}},[t]),{message:n[a],isVisible:o}},fo=e=>{const[t,n]=O(()=>null===e?0:Math.floor((Date.now()-e)/1e3));return k(()=>{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};function ho(e,t=28){const[n,r]=O(e),a=C(e),s=I(e=>{a.current=e,r(e)},[]);return k(()=>{if(a.current===e)return;const n=function(e,t){const n=Math.min(e.length,t.length);let r=0;for(;r<n&&e[r]===t[r];)r+=1;return r}(a.current,e);s(e.slice(0,n));let r=n;const o=globalThis.setInterval(()=>{r+=1,s(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(o)},t);return()=>globalThis.clearInterval(o)},[e,t,s]),n}const go=P(null),mo=()=>{const e=x(go);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let yo=0;function vo({refreshSession:e,checkIntervalMs:t=6e4}){const n=S(),r=b(e=>e.auth),a=r?.accessToken??null,s=Boolean(r?.isAuthenticated),o=r?.tokenExpiresAt??null,i=C(null),c=C(null),u=I(()=>{n.dispatch(L())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-yo<3e5))try{await e()?yo=Date.now():(D.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){D.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),u()}},[e,u]),l=I(()=>{s&&(ce(o)?d(!0):X(o)&&d())},[s,o,d]);return k(()=>{a&&ce(o)&&d(!0)},[]),k(()=>{if(s&&a){if(ce(o))return void d(!0);const e=Se(o);return e>0?c.current=setTimeout(()=>{d()},e):X(o)&&d(),i.current=setInterval(()=>{ce(o)?d(!0):X(o)&&d()},t),()=>{i.current&&clearInterval(i.current),c.current&&clearTimeout(c.current)}}yo=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[s,a,o,t,d]),{checkNow:l}}function _o({clientType:e}){const{data:t,isLoading:n,refetch:r}=Ka(),a=Rs(t,e),s=Boolean(t?.data?.auth_mode_config),[o,i]=O(a);s&&a!==o&&i(a);const c=s?a:o,u=b(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=vs(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Is.GUEST_ONLY)return;if(u)return void(l.current=!1);if(n)return;if(l.current)return;const e=Date.now();m.current=e-y.current<1e4?m.current+1:0,y.current=e,m.current>=3?f(!0):(l.current=!0,f(!1),d().then(e=>{e.success||(l.current=!1,f(!0))}))},[c,u,n,d,h]);const v=I(()=>{m.current=0,y.current=0,f(!1),r(),g(e=>e+1)},[r]);return{mode:c,isGuestBootPending:n||c===Is.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Is.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}class So{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",n=t.includes("webm")?"webm":"ogg",r=new Blob(this.audioChunks,{type:t}),a=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(a)},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 bo="Microphone access is required. Please allow microphone permissions in your browser settings.",wo=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},To=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0}={})=>{const[a,s]=O(!1),[o,i]=O(!1),[c,u]=O(0),d=C(null),l=C(null),p=C(!1),f=C(!1),h=C(null),g=w(),[m]=Vr(),y=I(async()=>{f.current=!1;const e=()=>{t(),p.current?h.current?.():f.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 n=await wo();if("denied"===n)return t(),void Q(bo);if("prompt"!==n){if(f.current)return t(),void(f.current=!1);try{d.current||(d.current=new So),await d.current.startRecording(e=>{u(e)}),l.current=Date.now(),p.current=!0,s(!0),f.current&&(f.current=!1,await(h.current?.()))}catch(e){t(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),p.current=!1,Q(bo)}}else{t(),f.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await wo()&&Q(bo)}}},[]),v=I(async()=>{try{if(!d.current||!p.current)return;const a=l.current?Date.now()-l.current:0;if(s(!1),u(0),a<500)return d.current?.cleanup(),void(l.current=null);i(!0);const o=await d.current.stopRecording(),c=await(n?.())??null;if(!c)return void Q("Failed to transcribe audio");const f=await m({conversationId:c,audioFile:o}).unwrap();f.success?f.data.text&&(g(Ra(f.data.transcription_id)),r&&e?await e(f.data.text):!r&&t&&t(f.data.text)):Q("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to transcribe audio")}finally{i(!1),p.current=!1,d.current?.cleanup(),l.current=null}},[r,g,n,e,t,m]);return k(()=>{h.current=v},[v]),k(()=>()=>{d.current?.cleanup()},[]),{isRecording:a,isTranscribing:o,audioLevel:c,startRecording:y,stopRecording:v}},Eo="OAUTH_SUCCESS",Io="OAUTH_ERROR",Ao=Eo,Ro=Io;function Oo({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=Xr();k(()=>{if(!e)return;const s=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),o=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(!o)return Q("Please allow popups for this site to sign in to external services."),void n();let i=!1;const c=e=>{i||(i=!0,window.removeEventListener("message",u),clearInterval(d),e?.(),n())},u=async e=>{if(e.origin!==window.location.origin)return;if(i)return;if(e.data?.type===Ro)return void c(()=>Q(`Failed to sign in to ${s}. Please try again.`));if(e.data?.type!==Ao)return;i=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await a({code:l,state:p})?Q(`Failed to sign in to ${s}. Please try again.`):(he(`${s} connected successfully`),r&&t.current?.(`${s} is now signed in, please continue`)),n(),o?.close()},d=setInterval(()=>{o.closed&&c()},500);return window.addEventListener("message",u),()=>{window.removeEventListener("message",u),clearInterval(d),i||o.close()}},[e,t,n,a,r])}function ko({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}=Bs({sendMessageRef:e}),{handlePaymentResult:s,handleModalOpenChange:o}=no({paymentInit:t,onPaymentResult:a,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:s,clearPaymentInit:r}}const Co={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:[be.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Es.WEB]:Is.SIGN_IN_ONLY,[Es.MOBILE]:Is.SIGN_IN_ONLY}},No=P(void 0),Po=()=>{const{data:e,isLoading:t,error:n}=Ka(),r=e?.success?e.data:null,a=R(()=>{return(e=r)?{conversations:{...Co.conversations,...e.conversations},voice_agent:{...Co.voice_agent,...e.voice_agent},stt:{...Co.stt,...e.stt},features:e.features??Co.features,backend_version:e.backend_version??Co.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??Co.panel_switcher_enabled,auth_mode_config:{...Co.auth_mode_config,...e.auth_mode_config}}:Co;var e},[r]);return R(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},xo=()=>{const e=x(No);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},qo=P({}),Mo=()=>x(qo);function Do(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function Qo(e,t,n){if(!n)return!1;if(!Do(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&Do(n)){r=n;break}}if(!r||r.id!==e.id)return!0;const a=t.findIndex(t=>t.id===e.id);return t.slice(a+1).some(e=>"user"===e.sender)}const Fo="moyasar_cb";function Lo(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${we()}/moyasar-callback.html`);return n.searchParams.set(Fo,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const Uo=new Set(["paid","authorized","failed","captured"]);function jo(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(Fo))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!Uo.has(n))return null;const a=t.get("conversation_id")||null,s=(t.get("given_id")||null)??r;if("paid"===n||"authorized"===n||"captured"===n){const e=t.get("amount"),n=e?Number.parseInt(e,10):void 0;return{result:{status:"success",provider:"moyasar",paymentId:s,amount:Number.isFinite(n)?n:void 0,currency:t.get("currency")??void 0},conversationId:a}}return{result:{status:"failure",provider:"moyasar",code:n,message:$o(t.get("message")??`Payment ${n}`),paymentId:s},conversationId:a}}function $o(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function zo(e,t){const n="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:n?"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:n?"dark":"light"}}const Ko="stripe";export{Es as AUTH_CLIENT_TYPES,Is as AUTH_MODES,Za as AguiAdapter,So as AudioRecorder,ks as BREAKPOINTS,so as CHAT_INPUT_MODES,Ps as CONVERSATION_TITLE_REFRESH_DELAYS_MS,qo as ChatCallbacksContext,go as ChatSettingsContext,No as ConfigurationContext,qs as DEFAULT_CONVERSATION_TITLE,Ko as DEFAULT_PAYMENT_PROVIDER,Ba as DEFAULT_PROTOCOL,Lr as ERROR_CODES,ns as EventAggregator,xr as GENERIC_SERVER_ERROR_MESSAGE,Va as MAX_CONNECTION_RETRIES,Fo as MOYASAR_CALLBACK_SENTINEL,Io as OAUTH_ERROR_TYPE,Eo as OAUTH_SUCCESS_TYPE,Ns as PAGINATION,Xa as ProprietaryAdapter,Ga as ProtocolContext,Wa as SSEEventType,Cs as THINKING_MESSAGES,xs as TYPEWRITER_INTERVAL_MS,jr as apiBridge,ya as apiMiddleware,ma as apiReducers,Qa as bindChatLogger,sa as brandingApi,Kr as bridgedFetch,zo as buildBrandSkin,Lo as buildCallbackUrl,Hr as chatApi,Ua as chatCoreRootReducer,La as chatLoggerContextProvider,Ca as chatReducer,gs as checkOrganizationExistsApi,Aa as clearMessageQueue,ca as configApi,Ma as conversationsReducer,es as createAdapter,ts as createDefaultAdapterConfig,Ts as createSessionRefresher,Ia as dequeueMessage,Ea as enqueueMessage,hs as fetchOrganizations,ds as forgotPasswordApi,Gs as formatAmount,Hs as formatResultMessage,Mr as getApiErrorMessage,Rs as getAuthMode,$r as getAuthToken,Ws as getCachedLocation,Qr as getCodeEntryErrorMessage,Fr as getErrorGroup,Gr as getLatestRequestId,as as guestLoginApi,js as hasAnyExtraData,qr as isApiServerError,Us as isEmptyMessage,rs as loginApi,cs as logoutApi,jo as parseMoyasarCallbackFromUrl,da as profileApi,us as refreshTokenApi,is as resendVerificationApi,va as resetAllApiState,Fa as resetChatLoggerForTests,ka as resetChatState,ls as resetPasswordApi,ja as serializableCheck,xa as setActiveConversationId,ba as setIsAgentWorking,Ta as setResponseStartTime,wa as setStatusText,Qo as shouldDisableMessage,ss as signupApi,fs as ssoExchangeApi,ps as ssoStartApi,$a as store,qa as upsertConversationTitle,Ks as useActiveConversationTitle,Os as useAuth,Mo as useChatCallbacks,$s as useChatConnection,zs as useChatHistory,oo as useChatInput,mo as useChatSettings,xo as useConfiguration,Po as useConfigurationValue,ao as useConnectors,eo as useContainerQuery,Ls as useConversation,Br as useCreateConversatonsMutation,fa as useDeleteAccountMutation,ea as useDeleteConversationMutation,Jr as useDeleteDocumentMutation,ra as useDeleteToolServerConnectionMutation,fo as useElapsedSeconds,Vs as useEventEmitter,Xr as useExchangeOAuthCodeMutation,oa as useGetBrandingQuery,Ka as useGetConfigQuery,Yr as useGetConversationHistoryQuery,la as useGetProfileQuery,ta as useGetToolServersQuery,_o as useGuestBoot,vs as useGuestLogin,Xs as useInfiniteScroll,Zs as useIsDesktop,Zr as useLazyGetConversationByIdQuery,to as useLocationInit,ys as useLogin,bs as useLogout,Ys as useMediaQuery,lo as useMessageList,Oo as useOAuthPopup,ko as usePayment,Bs as usePaymentFlow,no as usePaymentResultDedup,Ha as useProtocol,ws as useRefreshToken,co as useResolvedChatIndicators,To as useSTTRecording,_s as useSignup,na as useStartToolServerOAuthMutation,po as useThinkingMessage,vo as useTokenRefresh,Vr as useTranscribeAudioMutation,ho as useTypewriter,ha as useUpdatePasswordMutation,pa as useUpdateProfileMutation,Wr as useUploadDocumentMutation,Js as useUserLocation,Ss as useVerifyEmail,os as verifyEmailApi};