@1interface/chat-core 0.2.0-pipecat.1 → 0.2.1

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 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 U,setSession as L,readAccessToken as j,API_ENDPOINTS as $,TIMING as z,sessionExpired as K,indicatorReducer as H,sessionReducer as G,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as J,isTokenAboutToExpire as X,readTokenExpiresAt as Z,generateUniqueId as Y,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,createTokenRefresher as re,formatTimeRemaining as ae,getTimeUntilExpiry as se,isTokenExpired as oe,INDICATOR_TIMER_ACTIONS as ie,setLastResponseTime as ce,handleSharedEvent as ue,clearLastResponseTime as de,showSuccessToast as le,eventEmitter as pe,STORAGE_KEYS as fe,useStorage as he,useBranding as ge,hasWidgets as me,getTimeUntilRefresh as ye,getBaseUrl as ve}from"@1interface/shared-core";import{fetchEventSource as _e}from"@microsoft/fetch-event-source";var Se=Symbol.for("immer-nothing"),be=Symbol.for("immer-draftable"),we=Symbol.for("immer-state"),Te="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 Ee(e,...t){if("production"!==process.env.NODE_ENV){const n=Te[e],r=Be(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 Ie=Object,Ae=Ie.getPrototypeOf,Re="constructor",Oe="prototype",ke="configurable",Ce="enumerable",Ne="writable",Pe="value",xe=e=>!!e&&!!e[we];function qe(e){return!!e&&(Qe(e)||ze(e)||!!e[be]||!!e[Re]?.[be]||Ke(e)||He(e))}var Me=Ie[Oe][Re].toString(),De=new WeakMap;function Qe(e){if(!e||!Ge(e))return!1;const t=Ae(e);if(null===t||t===Ie[Oe])return!0;const n=Ie.hasOwnProperty.call(t,Re)&&t[Re];if(n===Object)return!0;if(!Be(n))return!1;let r=De.get(n);return void 0===r&&(r=Function.toString.call(n),De.set(n,r)),r===Me}function Fe(e,t,n=!0){0===Ue(e)?(n?Reflect.ownKeys(e):Ie.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ue(e){const t=e[we];return t?t.type_:ze(e)?1:Ke(e)?2:He(e)?3:0}var Le=(e,t,n=Ue(e))=>2===n?e.has(t):Ie[Oe].hasOwnProperty.call(e,t),je=(e,t,n=Ue(e))=>2===n?e.get(t):e[t],$e=(e,t,n,r=Ue(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},ze=Array.isArray,Ke=e=>e instanceof Map,He=e=>e instanceof Set,Ge=e=>"object"==typeof e,Be=e=>"function"==typeof e,Ve=e=>"boolean"==typeof e,We=e=>e.copy_||e.base_,Je=e=>e.modified_?e.copy_:e.base_;function Xe(e,t){if(Ke(e))return new Map(e);if(He(e))return new Set(e);if(ze(e))return Array[Oe].slice.call(e);const n=Qe(e);if(!0===t||"class_only"===t&&!n){const t=Ie.getOwnPropertyDescriptors(e);delete t[we];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[Ne]&&(s[Ne]=!0,s[ke]=!0),(s.get||s.set)&&(t[a]={[ke]:!0,[Ne]:!0,[Ce]:s[Ce],[Pe]:e[a]})}return Ie.create(Ae(e),t)}{const t=Ae(e);if(null!==t&&n)return{...e};const r=Ie.create(t);return Ie.assign(r,e)}}function Ze(e,t=!1){return et(e)||xe(e)||!qe(e)||(Ue(e)>1&&Ie.defineProperties(e,{set:Ye,add:Ye,clear:Ye,delete:Ye}),Ie.freeze(e),t&&Fe(e,(e,t)=>{Ze(t,!0)},!1)),e}var Ye={[Pe]:function(){Ee(2)}};function et(e){return null===e||!Ge(e)||Ie.isFrozen(e)}var tt="MapSet",nt="Patches",rt="ArrayMethods",at={};function st(e){const t=at[e];return t||Ee(0,e),t}var ot,it=e=>!!at[e],ct=()=>ot;function ut(e,t){t&&(e.patchPlugin_=st(nt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function dt(e){lt(e),e.drafts_.forEach(ft),e.drafts_=null}function lt(e){e===ot&&(ot=e.parent_)}var pt=e=>ot={drafts_:[],parent_:ot,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:it(tt)?st(tt):void 0,arrayMethodsPlugin_:it(rt)?st(rt):void 0};function ft(e){const t=e[we];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function ht(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[we].modified_&&(dt(t),Ee(4)),qe(e)&&(e=gt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[we].base_,e,t)}else e=gt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ze(t,n)}(t,e,!0),dt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Se?e:void 0}function gt(e,t){if(et(t))return t;const n=t[we];if(!n)return bt(t,e.handledSet_,e);if(!yt(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);St(n,e)}return n.copy_}function mt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var yt=(e,t)=>e.scope_===t,vt=[];function _t(e,t,n,r){const a=We(e),s=e.type_;if(void 0!==r&&je(a,r,s)===t)return void $e(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Fe(a,(e,n)=>{if(xe(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??vt;for(const e of o)$e(a,e,n,s)}function St(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)}mt(e)}}function bt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||xe(e)||t.has(e)||!qe(e)||et(e)||(t.add(e),Fe(e,(r,a)=>{if(xe(a)){const t=a[we];if(yt(t,n)){const n=Je(t);$e(e,r,n,e.type_),mt(t)}}else qe(a)&&bt(a,t,n)})),e}var wt={get(e,t){if(t===we)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=We(e);if(!Le(a,t,e.type_))return function(e,t,n){const r=It(t,n);return r?Pe in r?r[Pe]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!qe(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===Et(e.base_,t)){Rt(e);const n=1===e.type_?+t:t,r=Ot(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in We(e),ownKeys:e=>Reflect.ownKeys(We(e)),set(e,t,n){const r=It(We(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Et(We(e),t),o=r?.[we];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||Le(e.base_,t,e.type_)))return!0;Rt(e),At(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(xe(n)){const a=n[we];yt(a,r)&&a.callbacks_.push(function(){Rt(e);const r=Je(a);_t(e,n,r,t)})}else qe(n)&&e.callbacks_.push(function(){const a=We(e);3===e.type_?a.has(n)&&bt(n,r.handledSet_,r):je(a,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&bt(je(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Rt(e),void 0!==Et(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),At(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=We(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Ne]:!0,[ke]:1!==e.type_||"length"!==t,[Ce]:r[Ce],[Pe]:n[t]}:r},defineProperty(){Ee(11)},getPrototypeOf:e=>Ae(e.base_),setPrototypeOf(){Ee(12)}},Tt={};for(let e in wt){let t=wt[e];Tt[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Et(e,t){const n=e[we];return(n?We(n):e)[t]}function It(e,t){if(!(t in e))return;let n=Ae(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Ae(n)}}function At(e){e.modified_||(e.modified_=!0,e.parent_&&At(e.parent_))}function Rt(e){e.copy_||(e.assigned_=new Map,e.copy_=Xe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Ot(e,t,n,r){const[a,s]=Ke(t)?st(tt).proxyMap_(t,n):He(t)?st(tt).proxySet_(t,n):function(e,t){const n=ze(e),r={type_:n?1:0,scope_:t?t.scope_:ct(),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=wt;n&&(a=[r],s=Tt);const{revoke:o,proxy:i}=Proxy.revocable(a,s);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??ct()).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||!yt(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=Je(a);_t(e,a.draft_??a,s,n),St(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 kt(e){return xe(e)||Ee(10,e),Ct(e)}function Ct(e){if(!qe(e)||et(e))return e;const t=e[we];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Xe(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Xe(e,!0);return Fe(n,(e,t)=>{$e(n,e,Ct(t))},r),t&&(t.finalized_=!1),n}Tt.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Ee(13),Tt.set.call(this,e,t,void 0)},Tt.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Ee(14),wt.set.call(this,e[0],t,n,e[0])};var Nt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Be(e)&&!Be(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(Be(t)||Ee(6),void 0===n||Be(n)||Ee(7),qe(e)){const a=pt(this),s=Ot(0,e,void 0);let o=!0;try{r=t(s),o=!1}finally{o?dt(a):lt(a)}return ut(a,n),ht(r,a)}if(!e||!Ge(e)){if(r=t(e),void 0===r&&(r=e),r===Se&&(r=void 0),this.autoFreeze_&&Ze(r,!0),n){const t=[],a=[];st(nt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}return r}Ee(1,e)},this.produceWithPatches=(e,t)=>{if(Be(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]},Ve(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ve(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ve(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){qe(e)||Ee(8),xe(e)&&(e=kt(e));const t=pt(this),n=Ot(0,e,void 0);return n[we].isManual_=!0,lt(t),n}finishDraft(e,t){const n=e&&e[we];n&&n.isManual_||Ee(9);const{scope_:r}=n;return ut(r,t),ht(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=st(nt).applyPatches_;return xe(e)?r(e,t):this.produce(e,e=>r(e,t))}},Pt=Nt.produceWithPatches.bind(Nt),xt=Nt.applyPatches.bind(Nt),qt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Mt=(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})}}},Dt=(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})}},Qt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Ft=e=>Array.isArray(e)?e:[e];function Ut(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].apply(null,t));return n}var Lt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function jt(){return{s:0,v:void 0,o:null,p:null}}function $t(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=jt(),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=jt(),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 Lt(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 zt(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=$t,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=Ft(u),h=Ft(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=Ut(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}={...Qt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:Mt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Dt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Ut(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 Kt=zt($t),Ht=Object.assign((e,t=Kt)=>{!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:()=>Ht}),Gt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Gt||{}),Bt="uninitialized",Vt="pending",Wt="fulfilled",Jt="rejected";function Xt(e){return{status:e,isUninitialized:e===Bt,isLoading:e===Vt,isSuccess:e===Wt,isError:e===Jt}}var Zt=l;function Yt(e,t){if(e===t||!(Zt(e)&&Zt(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]=Yt(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function en(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),e),[]).flat()}function tn(e){return null!=e}function nn(e){return[...e?.values()??[]].filter(tn)}function rn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var an=()=>new Map,sn=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},on=(...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},cn=(...e)=>fetch(...e),un=e=>e.status>=200&&e.status<=299,dn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function ln(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 pn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},fn="__rtkq/",hn="online",gn="offline",mn="focus",yn="focused",vn="visibilitychange",_n=r(`${fn}${yn}`),Sn=r(`${fn}un${yn}`),bn=r(`${fn}${hn}`),wn=r(`${fn}${gn}`),Tn=!1,En="query",In="mutation",An="infinitequery";function Rn(e){return e.type===En}function On(e){return e.type===An}function kn(e){return Rn(e)||On(e)}function Cn(e,t,n,r,a,s){const o="function"==typeof e?e(t,n,r,a):e;return o?en(o,tn,e=>s(Nn(e))):[]}function Nn(e){return"string"==typeof e?{type:e}:e}var Pn=(e,t)=>e.endpointDefinitions[t],xn=Symbol("forceQueryFn"),qn=e=>"function"==typeof e[xn],Mn=class extends qt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Dn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Qn(e,t,n,r){const a=await e["~standard"].validate(t);if(a.issues)throw new Mn(a.issues,t,n,r);return a.value}function Fn(e){return e}var Un=(e={})=>({...e,[p]:!0});function Ln(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],n,r)}function jn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function $n(e,t,n,r){return Cn(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 zn(e){return xe(e)?kt(e):e}function Kn(e,t,n){const r=e[t];r&&n(r)}function Hn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Gn(e,t,n){const r=e[Hn(t)];r&&n(r)}var Bn={},Vn=Symbol.for("RTKQ/skipToken"),Wn={status:Bt},Jn=y(Wn,()=>{}),Xn=y(Wn,()=>{}),Zn=WeakMap?new WeakMap:void 0,Yn=({endpointName:e,queryArgs:t})=>{let n="";const r=Zn?.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)&&Zn?.set(t,e),n=e}return`${e}(${n})`};function er(...n){return function(r){const a=$t(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=Yn;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:Yn({...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:$t(e=>null!=a(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:En}),mutation:e=>({...e,type:In}),infiniteQuery:e=>({...e,type:An})});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&&On(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(Pn(o,e)):Object.assign(Pn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,s,o));return i.injectEndpoints({endpoints:r.endpoints})}}function tr(e,...t){return Object.assign(e,...t)}var nr=({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=Pn(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)}}},rr=new Error("Promise never resolved before cacheEntryRemoved."),ar=({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=Pn(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 rr})]);p.catch(()=>{}),d[a]=u;const f=e.endpoints[t].select(kn(i)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:o,extra:h,updateCachedData:kn(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!==rr)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)?Hn(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)}},sr=({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!":""}`)},or=({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=rn(l.currentSubscriptions,t,an);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==Bt&&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($n(e,"invalidatesTags",n,o),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(Cn(e.payload,void 0,void 0,void 0,void 0,o),t)}},ir=({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===Bt)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===Bt)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())}},cr=({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=Pn(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(kn(c)?o:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:kn(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 ur=Symbol(),dr=({createSelector:l=n}={})=>({name:ur,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&&Te.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(!qe(e))return e;if(ze(e))return e.map(r);if(Ke(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(He(e))return new Set(Array.from(e).map(r));const t=Object.create(Ae(e));for(const n in e)t[n]=r(e[n]);return Le(e,be)&&(t[be]=e[be]),t}function a(e){return xe(e)?r(e):e}var s;at[s=nt]||(at[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=Ue(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==Re||Ee(19),Be(c)&&n===Oe&&Ee(19),c=je(c,n),Ge(c)||Ee(18,o.join("/"))}const u=Ue(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:Ee(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:Ee(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;Fe(r.assigned_,(r,l)=>{const p=je(c,r,d),f=je(u,r,d),h=l?Le(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?.[we];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===Se?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=je(e,t.key_),Ge(r)?r?.[we]:null),s=je(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||Le(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=je(n,t[e]),!Ge(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:bn,onOffline:wn,onFocus:_n,onFocusLost:Sn},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>Jn,a=e=>Xn;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,...Xt(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!=Ln(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?Hn(e)??Vn:e,n(t===Vn?a:e=>o(e)?.mutations?.[t]??Xn,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=en(n,tn,Nn);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 en(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==Bt,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,...Xt(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===Vn)return n(r,s);const i=e({queryArgs:o,endpointDefinition:a,endpointName:t});return n(e=>c(e,i)??Jn,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=jn(e,t,n)}}({serializeQueryArgs:b,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:Q}=P;tr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:F,infiniteQueryThunk:U,mutationThunk:L,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=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]:Fn,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===En;try{let w=Fn;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[xn]: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&&!Dn(S,"arg")&&(n=await Qn(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 pn(r.error,r.meta);let{data:c}=r;o&&!Dn(S,"rawResponse")&&(c=await Qn(o,r.data,"rawResponseSchema",r.meta));let u=await w(c,r.meta,n);return i&&!Dn(S,"response")&&(u=await Qn(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?jn:Ln)(O,q,e.originalArgs);N=await A(q,D,k,M)}else{const{initialPageParam:Q=O.initialPageParam}=e,F=x?.pageParams??[],U=F[0]??Q,L=F.length;if(N=await A(q,U,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<L;j++){const $=Ln(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!Dn(S,"meta")&&I.meta&&(I.meta=await Qn(v,I.meta,"metaSchema",I.meta)),o(I.data,Un({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof pn){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!Dn(S,"rawErrorResponse")&&(V=await Qn(G,V,"rawErrorResponseSchema",W)),v&&!Dn(S,"meta")&&(W=await Qn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!Dn(S,"errorResponse")&&(J=await Qn(B,J,"errorResponseSchema",W)),s(J,Un({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof Mn){const Z={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:b?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Z),u?.(K,Z);const{catchSchemaFailure:Y=d}=g;if(Y)return s(Y(K,Z),Un({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 Un({startedTimeStamp:Date.now(),...On(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!(!qn(e)&&("pending"===a?.status||!_(e,r)&&(!Rn(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:()=>Un({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===Bt)return c;let u;if("data"in i)if(qe(i.data)){const[e,t,r]=Pt(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,[xn]:()=>({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=Cn(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:G,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:Bt,endpointName:t.endpointName},Kn(e,t.queryCacheKey,e=>{e.status=Vt,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,On(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function w(e,t,n,r){Kn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:a}=f[t.arg.endpointName];if(e.status=Wt,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?Yt(xe(e.data)?(xe(s=e.data)||Ee(15,s),s[we].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const T=s({name:`${t}/queries`,initialState:Bn,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:En,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}}){Kn(e,t,e=>{e.data=xt(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{b(e,n,qn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{w(e,t,n,qn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:a,payload:s})=>{Kn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=Jt,e.error=s??a}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Wt&&r?.status!==Jt||(e[t]=r)})}}),E=s({name:`${t}/mutations`,initialState:Bn,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Hn(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[Hn(t)]={requestId:n,status:Vt,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Gn(e,n,e=>{e.requestId===n.requestId&&(e.status=Wt,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(a.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Gn(e,r,e=>{e.requestId===r.requestId&&(e.status=Jt,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Wt&&r?.status!==Jt||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=zn(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]=zn(s).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=$n(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:Bn,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:Bn,reducers:{subscriptionsUpdated:{reducer:(e,t)=>xt(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(bn,e=>{e.online=!0}).addCase(wn,e=>{e.online=!1}).addCase(_n,e=>{e.focused=!0}).addCase(Sn,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:L,serializeQueryArgs:b,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:T,keepUnusedDataFor:w,reducerPath:S,invalidationBehavior:A}});tr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),tr(n.internalActions,B);const V=new WeakMap,W=e=>rn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Z,getRunningMutationThunk:Y,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=Pn(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=>nn(c(e))},getRunningMutationsThunk:function(){return e=>nn(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,[xn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:a,endpointName:t});let S;const b={...m,type:En,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[xn]:g};if(Rn(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:L,infiniteQueryThunk:U,api:n,serializeQueryArgs:b,context:C,getInternalState:W});tr(n.util,{getRunningMutationThunk:Y,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=[sr,nr,or,ir,ar,cr];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=rn(n,e.queryCacheKey,an);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=rn(n,t.queryCacheKey,an);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]=Pt(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!==Bt&&n.dispatch(r(t)))}})}return(e,t)=>{_n.match(e)&&o(t,"refetchOnFocus"),bn.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:L,infiniteQueryThunk:U,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return tr(n.util,ae),tr(n,{reducer:G,middleware:re}),{name:ur,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};Rn(t)&&tr(a,{name:e,select:M(e,t),initiate:J(e,t)},H(F,e)),t.type===In&&tr(a,{name:e,select:Q(),initiate:Z(e)},H(L,e)),On(t)&&tr(a,{name:e,select:D(e,t),initiate:X(e,t)},H(F,e))}}}});function lr(e){return e.replace(e[0],e[0].toUpperCase())}function pr(e){let t=0;for(const n in e)t++;return t}function fr(e){return"infinitequery"===e.type}function hr(e,...t){return Object.assign(e,...t)}dr();var gr=Symbol();function mr(e){const t=C(e),n=R(()=>Yt(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function yr(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var vr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),_r=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Sr=(()=>vr||_r?N:k)(),br=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Gt.pending}:e;function wr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Tr=["data","status","isLoading","isSuccess","isError","error"],Er=Symbol(),Ir=er(dr(),(({batch:e=T,hooks:n={useDispatch:w,useSelector:b,useStore:S},createSelector:r=Kt,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(pr(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:Er,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(gr),h=C(void 0),g=yr({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===gr||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===gr}),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===Vn||t?.skip?void 0:br,...t}),a=wr(r,...Tr);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=yr(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=mr(a.skip?Vn: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===Vn||t?.skip?void 0:br,...t}),c=wr(i,...Tr,"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=wr(y,...Tr,"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=yr(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!==Vn&&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!==Vn&&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=mr(c?Vn:a),v=yr({refetchOnReconnect:s,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=yr(f.initialPageParam),S=yr(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===Vn)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,...fr(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=mr(o?Vn: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 Sr(()=>{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 hr(c,{usePrefetch:p}),hr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}=u(e);hr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}),s[`use${lr(e)}Query`]=t,s[`useLazy${lr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);hr(c.endpoints[e],{useMutation:t}),s[`use${lr(e)}Mutation`]=t}else if(fr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);hr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),s[`use${lr(e)}InfiniteQuery`]=t}}}}}})());let Ar=0;function Rr(e){return null!==e&&"object"==typeof e}function Or(e){return Rr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const kr="Something went wrong. Please try again.";function Cr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Nr(e,t){return Cr(e)?kr:function(e){if(!Rr(e))return null;if("string"==typeof e.message){try{const t=Or(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Or(e.data)??Or(e.data?.data)}(e)??t??"An unexpected error occurred."}const Pr={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 xr=null;const qr=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,Ar+=1,`${p}-${Ar}`),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=cn,paramsSerializer:r,isJsonContentType:a=dn,jsonContentType:s="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===cn&&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??un,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?on(h.signal,sn(R)):h.signal,...O};T=new Headers(ln(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(ln(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(U()),e;try{const e=await async function(){return xr||(xr=async function(){const e=F();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{xr=null}),xr)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(L({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(U())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(U())}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=Pr.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=t.message||t.error||t.detail||o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===a?i=Pr.UNAUTHORIZED:403===a?i=Pr.FORBIDDEN:404===a?i=Pr.NOT_FOUND:422===a?i=Pr.VALIDATION_ERROR:"FETCH_ERROR"===a?i=Pr.NETWORK_ERROR:"TIMEOUT_ERROR"===a?i=Pr.TIMEOUT:"PARSING_ERROR"===a?i=Pr.PARSE_ERROR:"number"==typeof a&&a>=500&&(i=Pr.SERVER_ERROR),"number"==typeof a&&a>=500&&(o=kr),{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:Pr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:Pr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:Pr.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(kr),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 Mr(){return j()}let Dr=0;async function Qr(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;Dr+=1;const l=`fetch-${Dr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){const e=Mr();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 Fr=()=>"",Ur=Ir({reducerPath:"chatApi",baseQuery:qr,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({audioFile:e})=>{const t=new FormData;t.append("file",e);const{data:n,error:r}=await Qr({url:$.TRANSCRIBE,method:"POST",body:t,skipContentType:!0});return r?{error:r}:{data:n}}}),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:Lr,useTranscribeAudioMutation:jr,useExchangeOAuthCodeMutation:$r,useGetConversationHistoryQuery:zr,useLazyGetConversationByIdQuery:Kr,useDeleteConversationMutation:Hr,useGetToolServersQuery:Gr,useStartToolServerOAuthMutation:Br,useDeleteToolServerConnectionMutation:Vr}=Ur,Wr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},Jr=Ir({reducerPath:"brandingApi",baseQuery:qr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:Wr})})}),{useGetBrandingQuery:Xr}=Jr,Zr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},Yr=Ir({reducerPath:"configApi",baseQuery:qr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:Zr})})}),{useGetConfigQuery:ea}=Yr,ta=Ir({reducerPath:"profileApi",baseQuery:qr,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(ta.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"})})})}),{useGetProfileQuery:na,useUpdateProfileMutation:ra,useDeleteAccountMutation:aa}=ta,sa={[Ur.reducerPath]:Ur.reducer,[Jr.reducerPath]:Jr.reducer,[Yr.reducerPath]:Yr.reducer,[ta.reducerPath]:ta.reducer},oa=[Ur.middleware,Jr.middleware,Yr.middleware,ta.middleware],ia={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[]},ca=s({name:"chat",initialState:ia,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=[]},resetChatState:()=>ia},extraReducers:e=>{e.addMatcher(i(U,K),()=>ia)}}),{setIsAgentWorking:ua,setStatusText:da,setResponseStartTime:la,enqueueMessage:pa,dequeueMessage:fa,clearMessageQueue:ha,resetChatState:ga}=ca.actions,ma=ca.reducer,ya={activeConversationId:null,titles:{}},va=s({name:"conversations",initialState:ya,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(U,K),()=>ya)}}),{setActiveConversationId:_a,upsertConversationTitle:Sa}=va.actions,ba=va.reducer;let wa=null;function Ta(e){wa=e}function Ea(){wa=null}const Ia=()=>{if(!wa)return{};const e=wa(),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}:{}}},Aa=d({...sa,auth:G,chat:ma,conversations:ba,indicator:H}),Ra={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"]},Oa=_({reducer:Aa,middleware:e=>e({serializableCheck:Ra}).prepend(B.middleware).concat(oa)});var ka;ka=Oa.dispatch,function(){const[e,t,n,r]=[_n,Sn,bn,wn].map(e=>()=>ka(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!Tn&&"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={[mn]:e,[vn]:a,[hn]:n,[gn]:r};t(!0),Tn=!0}}(),V(()=>Oa.getState().auth.accessToken),W(()=>Oa.getState().auth.tokenExpiresAt),Ta(()=>Oa.getState());const Ca=()=>{const e=ea(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},Na=P(void 0),Pa=()=>{const e=x(Na);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},xa="mtx",qa=5;var Ma=(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))(Ma||{});let Da=class extends Error{constructor(e){super(),this.reopen=e}};class Qa{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})}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 _e(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 Da(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(Ma));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===Ma.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==Ma.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 Da)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 Da)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 Fa extends Error{constructor(e){super(),this.reopen=e}}class Ua{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})}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 _e(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 Fa(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(Ma));if(!t||n.has(t))if(t!==Ma.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===Ma.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 Fa)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 Fa)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 La(e,t){switch(e){case"mtx":return new Qa(t);case"agui":return new Ua(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function ja(e={}){return{getAuthToken:()=>Mr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{X(Z())&&await(F()?.())},forceRefreshToken:async()=>Boolean(await(F()?.()))}}class $a{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:Y(),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:Y(),text:e})}toMessages(){if(0===this.segments.length){const e=Y();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 za(e,t){const{data:n,error:r,response:a}=await Qr({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 Ka(e){const{data:t,error:n,response:r}=await Qr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ha(e,t){await Qr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Ga(e){const{data:t,error:n,response:r}=await Qr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ba(e){const{data:t,error:n,response:r}=await Qr({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Va(e){const{data:t,error:n,response:r}=await Qr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Wa(e){const{data:t,error:n,response:r}=await Qr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Ja(e,t){const{data:n,error:r,response:a}=await Qr({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 Xa(){try{const{data:e}=await Qr({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 Za(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Qr({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 Ya(){const e=S(),[t,n]=O(!1);return{login:I(async t=>{n(!0);try{const{body:n,tokens:r}=await za(t.email,t.password);return n.success&&n.data?(e.dispatch(L({user:n.data.user,accessToken:r.accessToken,refreshToken:r.refreshToken,expiresIn:n.data.expiry_time})),{success:!0,data:n}):{success:!1,error:n}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function es(){const e=S(),[t,n]=O(!1);return{signup:I(async t=>{n(!0);try{const{body:n,tokens:r}=await Ka(t);return n.success&&n.data?(e.dispatch(L({user:n.data.user,accessToken:r.accessToken,refreshToken:r.refreshToken,expiresIn:n.data.expiry_time})),{success:!0,data:n}):{success:!1,error:n}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function ts(){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 Ha({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(U())},[e])}}function ns(){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 Ga({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(L({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 rs(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 Ga({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(L({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 as=()=>{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&&oe(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?se(n):0,timeUntilExpiryFormatted:n?ae(se(n)):"0s"}}},ss={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},os={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:3e3,PHASE_SWITCH_MS:2500},is={MESSAGE_PAGE_SIZE:25},cs=[500,1500,3e3],us=28,ds="New Conversation";function ls(e){return!e.widget?.length}function ps(e){const t=Y(),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 fs(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&&ls(e)){e.message=e.message+(n.content||"");continue}t.push(ps(n));continue}}else n.content&&t.push({id:`system-${Y()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else n.content&&t.push({id:`user-${Y()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e})}return t}function hs(e){return"string"==typeof e&&e.trim()?e:null}const gs=()=>{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(Sa({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(_a(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}=Pa(),[v]=Lr(),[_]=Kr(),S=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=hs(t?.title);return a&&e(Sa({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=hs(r);s&&e(Sa({id:t,title:s}));const o=await _({conversationId:t,skip:0,limit:is.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=hs(o.title)??s;r&&e(Sa({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?fs(i):[];return a(c),l(i.length),f(i.length>=is.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=hs(t?.title);return r&&e(Sa({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:is.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=fs(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=is.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}},ms=e=>null==e||"string"==typeof e&&""===e.trim(),ys=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},vs=({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}=Pa(),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 $a),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),U=I((e=ie.KEEP)=>{if(l(da(null)),l(ua(!1)),e===ie.FINALIZE){const e=p.getState().chat.responseStartTime;e&&l(ce(Date.now()-e)),l(la(null))}else e===ie.CANCEL&&l(la(null))},[l,p]),L=I(e=>{l(ua(e)),m(e),e&&v(!1)},[l]),j=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(ie.CANCEL)},600),()=>{null!==q.current&&clearTimeout(q.current)}},[l,p,U]),$=C({setStatusText:e=>l(da(e||null)),setIsAgentWorking:e=>l(ua(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>_.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),z=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},$.current);if("sign_in"===e.type&&"signIn"in e.data)return void ue({kind:"sign_in",signIn:e.data.signIn},$.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,$.current)}const a=t.toMessages(),s=P.current;n(e=>[...e.slice(0,e.length-s),...a]),P.current=a.length,a.some(e=>ys(e)||!ms(e.message))&&l(ua(!1)),t.isStreamComplete()&&j()},[l,n,j]),K=I(e=>{Q("Stream connection error. Please try again."),j()},[j]),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(ie.CANCEL),l(de()),l(ha()),x.current=!1},[l,U]),G=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:z,onError:K,onComplete:()=>{j()}});R.current=n},[z,K,j]),B=I(async(t="")=>{x.current=!0;try{let a=e;if(!a){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.");a=e}const i=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),l(ua(!0)),m(!0),v(!1),l(da(null)),l(la(Date.now())),l(de());const c={id:`user-${Y()}`,sender:"user",message:i,timestamp:(new Date).toISOString()};n(e=>[...e,c]);const u=d.streamMessage({conversationId:a,message:i,enableTts:r,debugMode:o});G(u,a)}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(ie.CANCEL)}},[l,t,e,d,r,n,G,s,o,U]),V=C(B);V.current=B;const W=I(async(e="")=>{const t=(e??"").trim();t&&(x.current?l(pa({id:Y(),text:t,queuedAt:(new Date).toISOString()})):await B(t))},[l,B]);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");l(ha()),V.current(t)},[g,l,p]);const J=I(async(e,t)=>{x.current=!0,l(ua(!0)),m(!0),v(!1),l(da(null)),l(la(Date.now())),l(de());const n=void 0!==t?t:a,s=d.streamInitial({conversationId:e,body:n?{client_metadata:{user_location:n}}:{},enableTts:r});G(s,e)},[l,d,r,a,G]);return k(()=>()=>{A.current?.abort(),R.current?.()},[]),{sendMessage:W,startInitialStream:J,setThinkingState:L,abortStream:H,toolCallStatus:f,isProcessThinkingState:g,hasReceivedResponse:y}};function _s({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]=Ur.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:w}]=Ur.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);k(()=>{!o&&e&&E.current!==e&&(r.some(t=>t.id===e)||(E.current=e,T("silent")))},[e,r,o,T]);const A=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.");le("Conversation deleted successfully"),E.current=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]),N=R(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?N.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):N,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:w,searchQuery:p,setSearchQuery:f,loadConversations:T,deleteConversation:A,isLoadingMoreRef:g}}function Ss(){return b(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function bs(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 ws(e){if("success"===e.status){const t=bs(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 Ts=({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(ws(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 Es(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=pe.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function Is(e){try{const t=await e.getItem(fe.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(fe.LOCATION_CACHE),null)}catch{return null}}const As=()=>{const[e,t]=O(!1),[n,r]=O(null),a=he(),s=I(async()=>{const e=await Is(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(fe.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 Rs({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 Os=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},ks=()=>Os("(min-width: 1024px)"),Cs=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}},Ns=()=>{const[e,t]=O(!1),{getUserLocation:n}=As(),r=he(),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(fe.LOCATION_ENABLED))return void s();const t=await Is(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Ps({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 xs(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 qs(){const{themeStyles:e}=ge(),{data:t,isLoading:n}=Gr(void 0),[r]=Vr(),a=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:xs(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.`):le(`${t} disconnected`)}}}const Ms={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Ds=({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?Ms.RECORDING:s?Ms.TRANSCRIBING:Ms.NORMAL;return R(()=>({value:o,setValue:i,send:u,canSend:c,mode:d}),[o,u,c,d])},Qs=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},Fs=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])},Us=[],Ls=({messages:e,voiceStreamingMessages:t=Us,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(()=>Qs(r),[r]),s=Fs(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=Qs(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(me),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:i}},js=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(os.INITIAL),[a,s]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(os.INITIAL),s(0),void i(!0);r(os.INITIAL),s(0),i(!0);let e=os.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},os.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=os.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(os.LATER),s(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},os.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}},$s=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 zs(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 Ks=P(null),Hs=()=>{const e=x(Ks);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let Gs=0;function Bs({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(U())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-Gs<3e5))try{await e()?Gs=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&&(oe(o)?d(!0):X(o)&&d())},[s,o,d]);return k(()=>{a&&oe(o)&&d(!0)},[]),k(()=>{if(s&&a){if(oe(o))return void d(!0);const e=ye(o);return e>0?c.current=setTimeout(()=>{d()},e):X(o)&&d(),i.current=setInterval(()=>{oe(o)?d(!0):X(o)&&d()},t),()=>{i.current&&clearInterval(i.current),c.current&&clearTimeout(c.current)}}Gs=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[s,a,o,t,d]),{checkNow:l}}class Vs{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 Ws=({onTranscriptionComplete:e,onTranscriptionPopulate:t,autoSendVoice:n=!0}={})=>{const[r,a]=O(!1),[s,o]=O(!1),[i,c]=O(0),u=C(null),d=C(null),l=C(!1),p=C(null),[f]=jr(),h=I(async()=>{try{u.current||(u.current=new Vs),d.current=Date.now();const e=()=>{p.current?.(),document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e),await u.current.startRecording(e=>{c(e)}),l.current=!0,a(!0)}catch(e){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),l.current=!1,Q("Microphone access is required. Please allow microphone permissions in your browser settings.")}},[]),g=I(async()=>{try{if(!u.current||!l.current)return;const r=d.current?Date.now()-d.current:0;if(a(!1),c(0),r<500)return u.current?.cleanup(),void(d.current=null);o(!0);const s=await u.current.stopRecording(),i=await f({audioFile:s}).unwrap();i.success?i.data.text&&(n&&e?await e(i.data.text):!n&&t&&t(i.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),l.current=!1,u.current?.cleanup(),d.current=null}},[n,e,t,f]);return k(()=>{p.current=g},[g]),k(()=>()=>{u.current?.cleanup()},[]),{isRecording:r,isTranscribing:s,audioLevel:i,startRecording:h,stopRecording:g}},Js="OAUTH_SUCCESS",Xs="OAUTH_ERROR",Zs=Js,Ys=Xs;function eo({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=$r();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===Ys)return void c(()=>Q(`Failed to sign in to ${s}. Please try again.`));if(e.data?.type!==Zs)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.`):(le(`${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 to({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}=Ts({sendMessageRef:e}),{handlePaymentResult:s,handleModalOpenChange:o}=Ps({paymentInit:t,onPaymentResult:a,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:s,clearPaymentInit:r}}const no={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0},voice_agent:{enabled:!1,show_customization_modal:!1,assistant_starts_conversation:!1},features:[]},ro=P(void 0),ao=()=>{const{data:e,isLoading:t,error:n}=Ca(),r=e?.success?e.data:null,a=R(()=>{return(e=r)?{conversations:{...no.conversations,...e.conversations},voice_agent:{...no.voice_agent,...e.voice_agent},features:e.features??no.features}:no;var e},[r]);return R(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},so=()=>{const e=x(ro);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},oo=P({}),io=()=>x(oo);function co(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function uo(e,t,n){if(!n)return!1;if(!co(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&co(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 lo="moyasar_cb";function po(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${ve()}/moyasar-callback.html`);return n.searchParams.set(lo,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const fo=new Set(["paid","authorized","failed","captured"]);function ho(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(lo))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!fo.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:go(t.get("message")??`Payment ${n}`),paymentId:s},conversationId:a}}function go(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function mo(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 yo="stripe";export{Ua as AguiAdapter,Vs as AudioRecorder,ss as BREAKPOINTS,Ms as CHAT_INPUT_MODES,cs as CONVERSATION_TITLE_REFRESH_DELAYS_MS,oo as ChatCallbacksContext,Ks as ChatSettingsContext,ro as ConfigurationContext,ds as DEFAULT_CONVERSATION_TITLE,yo as DEFAULT_PAYMENT_PROVIDER,xa as DEFAULT_PROTOCOL,Pr as ERROR_CODES,$a as EventAggregator,kr as GENERIC_SERVER_ERROR_MESSAGE,qa as MAX_CONNECTION_RETRIES,lo as MOYASAR_CALLBACK_SENTINEL,Xs as OAUTH_ERROR_TYPE,Js as OAUTH_SUCCESS_TYPE,is as PAGINATION,Qa as ProprietaryAdapter,Na as ProtocolContext,Ma as SSEEventType,os as THINKING_MESSAGES,us as TYPEWRITER_INTERVAL_MS,qr as apiBridge,oa as apiMiddleware,sa as apiReducers,Ta as bindChatLogger,Jr as brandingApi,Qr as bridgedFetch,mo as buildBrandSkin,po as buildCallbackUrl,Ur as chatApi,Aa as chatCoreRootReducer,Ia as chatLoggerContextProvider,ma as chatReducer,Za as checkOrganizationExistsApi,ha as clearMessageQueue,Yr as configApi,ba as conversationsReducer,La as createAdapter,ja as createDefaultAdapterConfig,rs as createSessionRefresher,fa as dequeueMessage,pa as enqueueMessage,Xa as fetchOrganizations,Ba as forgotPasswordApi,bs as formatAmount,ws as formatResultMessage,Nr as getApiErrorMessage,Mr as getAuthToken,Is as getCachedLocation,Fr as getLatestRequestId,ys as hasAnyExtraData,Cr as isApiServerError,ms as isEmptyMessage,za as loginApi,Ha as logoutApi,ho as parseMoyasarCallbackFromUrl,ta as profileApi,Ga as refreshTokenApi,Ea as resetChatLoggerForTests,ga as resetChatState,Va as resetPasswordApi,Ra as serializableCheck,_a as setActiveConversationId,ua as setIsAgentWorking,la as setResponseStartTime,da as setStatusText,uo as shouldDisableMessage,Ka as signupApi,Ja as ssoExchangeApi,Wa as ssoStartApi,Oa as store,Sa as upsertConversationTitle,Ss as useActiveConversationTitle,as as useAuth,io as useChatCallbacks,vs as useChatConnection,_s as useChatHistory,Ds as useChatInput,Hs as useChatSettings,so as useConfiguration,ao as useConfigurationValue,qs as useConnectors,Cs as useContainerQuery,gs as useConversation,Lr as useCreateConversatonsMutation,aa as useDeleteAccountMutation,Hr as useDeleteConversationMutation,Vr as useDeleteToolServerConnectionMutation,$s as useElapsedSeconds,Es as useEventEmitter,$r as useExchangeOAuthCodeMutation,Xr as useGetBrandingQuery,Ca as useGetConfigQuery,zr as useGetConversationHistoryQuery,na as useGetProfileQuery,Gr as useGetToolServersQuery,Rs as useInfiniteScroll,ks as useIsDesktop,Kr as useLazyGetConversationByIdQuery,Ns as useLocationInit,Ya as useLogin,ts as useLogout,Os as useMediaQuery,Ls as useMessageList,eo as useOAuthPopup,to as usePayment,Ts as usePaymentFlow,Ps as usePaymentResultDedup,Pa as useProtocol,ns as useRefreshToken,Fs as useResolvedChatIndicators,Ws as useSTTRecording,es as useSignup,Br as useStartToolServerOAuthMutation,js as useThinkingMessage,Bs as useTokenRefresh,jr as useTranscribeAudioMutation,zs as useTypewriter,ra as useUpdateProfileMutation,As 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 U,setSession as L,readAccessToken as j,API_ENDPOINTS as $,TIMING as z,sessionExpired as K,indicatorReducer as H,sessionReducer as G,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as J,isTokenAboutToExpire as X,readTokenExpiresAt as Z,generateUniqueId as Y,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,createTokenRefresher as re,formatTimeRemaining as ae,getTimeUntilExpiry as se,isTokenExpired as oe,INDICATOR_TIMER_ACTIONS as ie,setLastResponseTime as ce,handleSharedEvent as ue,clearLastResponseTime as de,showSuccessToast as le,eventEmitter as pe,STORAGE_KEYS as fe,useStorage as he,useBranding as ge,hasWidgets as me,getTimeUntilRefresh as ye,FEATURE_FLAGS as ve,getBaseUrl as _e}from"@1interface/shared-core";import{fetchEventSource as Se}from"@microsoft/fetch-event-source";var be=Symbol.for("immer-nothing"),we=Symbol.for("immer-draftable"),Te=Symbol.for("immer-state"),Ee="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 Ie(e,...t){if("production"!==process.env.NODE_ENV){const n=Ee[e],r=Ve(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 Ae=Object,Re=Ae.getPrototypeOf,Oe="constructor",ke="prototype",Ce="configurable",Ne="enumerable",Pe="writable",xe="value",qe=e=>!!e&&!!e[Te];function Me(e){return!!e&&(Fe(e)||Ke(e)||!!e[we]||!!e[Oe]?.[we]||He(e)||Ge(e))}var De=Ae[ke][Oe].toString(),Qe=new WeakMap;function Fe(e){if(!e||!Be(e))return!1;const t=Re(e);if(null===t||t===Ae[ke])return!0;const n=Ae.hasOwnProperty.call(t,Oe)&&t[Oe];if(n===Object)return!0;if(!Ve(n))return!1;let r=Qe.get(n);return void 0===r&&(r=Function.toString.call(n),Qe.set(n,r)),r===De}function Ue(e,t,n=!0){0===Le(e)?(n?Reflect.ownKeys(e):Ae.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Le(e){const t=e[Te];return t?t.type_:Ke(e)?1:He(e)?2:Ge(e)?3:0}var je=(e,t,n=Le(e))=>2===n?e.has(t):Ae[ke].hasOwnProperty.call(e,t),$e=(e,t,n=Le(e))=>2===n?e.get(t):e[t],ze=(e,t,n,r=Le(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Ke=Array.isArray,He=e=>e instanceof Map,Ge=e=>e instanceof Set,Be=e=>"object"==typeof e,Ve=e=>"function"==typeof e,We=e=>"boolean"==typeof e,Je=e=>e.copy_||e.base_,Xe=e=>e.modified_?e.copy_:e.base_;function Ze(e,t){if(He(e))return new Map(e);if(Ge(e))return new Set(e);if(Ke(e))return Array[ke].slice.call(e);const n=Fe(e);if(!0===t||"class_only"===t&&!n){const t=Ae.getOwnPropertyDescriptors(e);delete t[Te];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[Pe]&&(s[Pe]=!0,s[Ce]=!0),(s.get||s.set)&&(t[a]={[Ce]:!0,[Pe]:!0,[Ne]:s[Ne],[xe]:e[a]})}return Ae.create(Re(e),t)}{const t=Re(e);if(null!==t&&n)return{...e};const r=Ae.create(t);return Ae.assign(r,e)}}function Ye(e,t=!1){return tt(e)||qe(e)||!Me(e)||(Le(e)>1&&Ae.defineProperties(e,{set:et,add:et,clear:et,delete:et}),Ae.freeze(e),t&&Ue(e,(e,t)=>{Ye(t,!0)},!1)),e}var et={[xe]:function(){Ie(2)}};function tt(e){return null===e||!Be(e)||Ae.isFrozen(e)}var nt="MapSet",rt="Patches",at="ArrayMethods",st={};function ot(e){const t=st[e];return t||Ie(0,e),t}var it,ct=e=>!!st[e],ut=()=>it;function dt(e,t){t&&(e.patchPlugin_=ot(rt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function lt(e){pt(e),e.drafts_.forEach(ht),e.drafts_=null}function pt(e){e===it&&(it=e.parent_)}var ft=e=>it={drafts_:[],parent_:it,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ct(nt)?ot(nt):void 0,arrayMethodsPlugin_:ct(at)?ot(at):void 0};function ht(e){const t=e[Te];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function gt(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Te].modified_&&(lt(t),Ie(4)),Me(e)&&(e=mt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Te].base_,e,t)}else e=mt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ye(t,n)}(t,e,!0),lt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==be?e:void 0}function mt(e,t){if(tt(t))return t;const n=t[Te];if(!n)return wt(t,e.handledSet_,e);if(!vt(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);bt(n,e)}return n.copy_}function yt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var vt=(e,t)=>e.scope_===t,_t=[];function St(e,t,n,r){const a=Je(e),s=e.type_;if(void 0!==r&&$e(a,r,s)===t)return void ze(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ue(a,(e,n)=>{if(qe(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??_t;for(const e of o)ze(a,e,n,s)}function bt(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)}yt(e)}}function wt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||qe(e)||t.has(e)||!Me(e)||tt(e)||(t.add(e),Ue(e,(r,a)=>{if(qe(a)){const t=a[Te];if(vt(t,n)){const n=Xe(t);ze(e,r,n,e.type_),yt(t)}}else Me(a)&&wt(a,t,n)})),e}var Tt={get(e,t){if(t===Te)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=Je(e);if(!je(a,t,e.type_))return function(e,t,n){const r=At(t,n);return r?xe in r?r[xe]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!Me(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===It(e.base_,t)){Ot(e);const n=1===e.type_?+t:t,r=kt(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in Je(e),ownKeys:e=>Reflect.ownKeys(Je(e)),set(e,t,n){const r=At(Je(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=It(Je(e),t),o=r?.[Te];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||je(e.base_,t,e.type_)))return!0;Ot(e),Rt(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[Te];vt(a,r)&&a.callbacks_.push(function(){Ot(e);const r=Xe(a);St(e,n,r,t)})}else Me(n)&&e.callbacks_.push(function(){const a=Je(e);3===e.type_?a.has(n)&&wt(n,r.handledSet_,r):$e(a,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&wt($e(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Ot(e),void 0!==It(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),Rt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Je(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Pe]:!0,[Ce]:1!==e.type_||"length"!==t,[Ne]:r[Ne],[xe]:n[t]}:r},defineProperty(){Ie(11)},getPrototypeOf:e=>Re(e.base_),setPrototypeOf(){Ie(12)}},Et={};for(let e in Tt){let t=Tt[e];Et[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function It(e,t){const n=e[Te];return(n?Je(n):e)[t]}function At(e,t){if(!(t in e))return;let n=Re(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Re(n)}}function Rt(e){e.modified_||(e.modified_=!0,e.parent_&&Rt(e.parent_))}function Ot(e){e.copy_||(e.assigned_=new Map,e.copy_=Ze(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function kt(e,t,n,r){const[a,s]=He(t)?ot(nt).proxyMap_(t,n):Ge(t)?ot(nt).proxySet_(t,n):function(e,t){const n=Ke(e),r={type_:n?1:0,scope_:t?t.scope_:ut(),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=Tt;n&&(a=[r],s=Et);const{revoke:o,proxy:i}=Proxy.revocable(a,s);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??ut()).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||!vt(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=Xe(a);St(e,a.draft_??a,s,n),bt(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 Ct(e){return qe(e)||Ie(10,e),Nt(e)}function Nt(e){if(!Me(e)||tt(e))return e;const t=e[Te];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)=>{ze(n,e,Nt(t))},r),t&&(t.finalized_=!1),n}Et.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Ie(13),Et.set.call(this,e,t,void 0)},Et.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Ie(14),Tt.set.call(this,e[0],t,n,e[0])};var Pt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Ve(e)&&!Ve(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(Ve(t)||Ie(6),void 0===n||Ve(n)||Ie(7),Me(e)){const a=ft(this),s=kt(0,e,void 0);let o=!0;try{r=t(s),o=!1}finally{o?lt(a):pt(a)}return dt(a,n),gt(r,a)}if(!e||!Be(e)){if(r=t(e),void 0===r&&(r=e),r===be&&(r=void 0),this.autoFreeze_&&Ye(r,!0),n){const t=[],a=[];ot(rt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}return r}Ie(1,e)},this.produceWithPatches=(e,t)=>{if(Ve(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]},We(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),We(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),We(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Me(e)||Ie(8),qe(e)&&(e=Ct(e));const t=ft(this),n=kt(0,e,void 0);return n[Te].isManual_=!0,pt(t),n}finishDraft(e,t){const n=e&&e[Te];n&&n.isManual_||Ie(9);const{scope_:r}=n;return dt(r,t),gt(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(rt).applyPatches_;return qe(e)?r(e,t):this.produce(e,e=>r(e,t))}},xt=Pt.produceWithPatches.bind(Pt),qt=Pt.applyPatches.bind(Pt),Mt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Dt=(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})}}},Qt=(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})}},Ft={inputStabilityCheck:"once",identityFunctionCheck:"once"},Ut=e=>Array.isArray(e)?e:[e];function Lt(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].apply(null,t));return n}var jt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function $t(){return{s:0,v:void 0,o:null,p:null}}function zt(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=$t(),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=$t(),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 jt(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 Kt(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=zt,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,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++,o.apply(null,arguments)},...f);let y=!0;const v=d(function(){a++;const e=Lt(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}={...Ft,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:Dt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Qt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Lt(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 Ht=Kt(zt),Gt=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:()=>Gt}),Bt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Bt||{}),Vt="uninitialized",Wt="pending",Jt="fulfilled",Xt="rejected";function Zt(e){return{status:e,isUninitialized:e===Vt,isLoading:e===Wt,isSuccess:e===Jt,isError:e===Xt}}var Yt=l;function en(e,t){if(e===t||!(Yt(e)&&Yt(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]=en(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function tn(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),e),[]).flat()}function nn(e){return null!=e}function rn(e){return[...e?.values()??[]].filter(nn)}function an(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var sn=()=>new Map,on=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},cn=(...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},un=(...e)=>fetch(...e),dn=e=>e.status>=200&&e.status<=299,ln=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function pn(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 fn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},hn="__rtkq/",gn="online",mn="offline",yn="focus",vn="focused",_n="visibilitychange",Sn=r(`${hn}${vn}`),bn=r(`${hn}un${vn}`),wn=r(`${hn}${gn}`),Tn=r(`${hn}${mn}`),En=!1,In="query",An="mutation",Rn="infinitequery";function On(e){return e.type===In}function kn(e){return e.type===Rn}function Cn(e){return On(e)||kn(e)}function Nn(e,t,n,r,a,s){const o="function"==typeof e?e(t,n,r,a):e;return o?tn(o,nn,e=>s(Pn(e))):[]}function Pn(e){return"string"==typeof e?{type:e}:e}var xn=(e,t)=>e.endpointDefinitions[t],qn=Symbol("forceQueryFn"),Mn=e=>"function"==typeof e[qn],Dn=class extends Mt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Qn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Fn(e,t,n,r){const a=await e["~standard"].validate(t);if(a.issues)throw new Dn(a.issues,t,n,r);return a.value}function Un(e){return e}var Ln=(e={})=>({...e,[p]:!0});function jn(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],n,r)}function $n(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function zn(e,t,n,r){return Nn(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 Kn(e){return qe(e)?Ct(e):e}function Hn(e,t,n){const r=e[t];r&&n(r)}function Gn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Bn(e,t,n){const r=e[Gn(t)];r&&n(r)}var Vn={},Wn=Symbol.for("RTKQ/skipToken"),Jn={status:Vt},Xn=y(Jn,()=>{}),Zn=y(Jn,()=>{}),Yn=WeakMap?new WeakMap:void 0,er=({endpointName:e,queryArgs:t})=>{let n="";const r=Yn?.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)&&Yn?.set(t,e),n=e}return`${e}(${n})`};function tr(...n){return function(r){const a=zt(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=er;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:er({...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:zt(e=>null!=a(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:In}),mutation:e=>({...e,type:An}),infiniteQuery:e=>({...e,type:Rn})});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&&kn(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(xn(o,e)):Object.assign(xn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,s,o));return i.injectEndpoints({endpoints:r.endpoints})}}function nr(e,...t){return Object.assign(e,...t)}var rr=({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=xn(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)}}},ar=new Error("Promise never resolved before cacheEntryRemoved."),sr=({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=xn(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 ar})]);p.catch(()=>{}),d[a]=u;const f=e.endpoints[t].select(Cn(i)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:o,extra:h,updateCachedData:Cn(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!==ar)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)?Gn(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)}},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!":""}`)},ir=({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=an(l.currentSubscriptions,t,sn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==Vt&&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(zn(e,"invalidatesTags",n,o),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(Nn(e.payload,void 0,void 0,void 0,void 0,o),t)}},cr=({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===Vt)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===Vt)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())}},ur=({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=xn(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(Cn(c)?o:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:Cn(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 dr=Symbol(),lr=({createSelector:l=n}={})=>({name:dr,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&&Ee.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(!Me(e))return e;if(Ke(e))return e.map(r);if(He(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Ge(e))return new Set(Array.from(e).map(r));const t=Object.create(Re(e));for(const n in e)t[n]=r(e[n]);return je(e,we)&&(t[we]=e[we]),t}function a(e){return qe(e)?r(e):e}var s;st[s=rt]||(st[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=Le(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==Oe||Ie(19),Ve(c)&&n===ke&&Ie(19),c=$e(c,n),Be(c)||Ie(18,o.join("/"))}const u=Le(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:Ie(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:Ie(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;Ue(r.assigned_,(r,l)=>{const p=$e(c,r,d),f=$e(u,r,d),h=l?je(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?.[Te];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===be?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=$e(e,t.key_),Be(r)?r?.[Te]:null),s=$e(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||je(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=$e(n,t[e]),!Be(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:wn,onOffline:Tn,onFocus:Sn,onFocusLost:bn},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>Xn,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,o="forward"===s,i="backward"===s;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=jn(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?Gn(e)??Wn:e,n(t===Wn?a:e=>o(e)?.mutations?.[t]??Zn,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=tn(n,nn,Pn);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 tn(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==Vt,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,...Zt(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===Wn)return n(r,s);const i=e({queryArgs:o,endpointDefinition:a,endpointName:t});return n(e=>c(e,i)??Xn,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=$n(e,t,n)}}({serializeQueryArgs:b,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:Q}=P;nr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:F,infiniteQueryThunk:U,mutationThunk:L,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=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]:Un,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===In;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[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&&!Qn(S,"arg")&&(n=await Fn(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 fn(r.error,r.meta);let{data:c}=r;o&&!Qn(S,"rawResponse")&&(c=await Fn(o,r.data,"rawResponseSchema",r.meta));let u=await w(c,r.meta,n);return i&&!Qn(S,"response")&&(u=await Fn(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?$n:jn)(O,q,e.originalArgs);N=await A(q,D,k,M)}else{const{initialPageParam:Q=O.initialPageParam}=e,F=x?.pageParams??[],U=F[0]??Q,L=F.length;if(N=await A(q,U,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<L;j++){const $=jn(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!Qn(S,"meta")&&I.meta&&(I.meta=await Fn(v,I.meta,"metaSchema",I.meta)),o(I.data,Ln({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof fn){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!Qn(S,"rawErrorResponse")&&(V=await Fn(G,V,"rawErrorResponseSchema",W)),v&&!Qn(S,"meta")&&(W=await Fn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!Qn(S,"errorResponse")&&(J=await Fn(B,J,"errorResponseSchema",W)),s(J,Ln({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof Dn){const Z={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:b?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Z),u?.(K,Z);const{catchSchemaFailure:Y=d}=g;if(Y)return s(Y(K,Z),Ln({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 Ln({startedTimeStamp:Date.now(),...kn(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!(!Mn(e)&&("pending"===a?.status||!_(e,r)&&(!On(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:()=>Ln({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===Vt)return c;let u;if("data"in i)if(Me(i.data)){const[e,t,r]=xt(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=Nn(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:G,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:Vt,endpointName:t.endpointName},Hn(e,t.queryCacheKey,e=>{e.status=Wt,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,kn(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=Jt,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?en(qe(e.data)?(qe(s=e.data)||Ie(15,s),s[Te].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const T=s({name:`${t}/queries`,initialState:Vn,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:In,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=qt(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{b(e,n,Mn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{w(e,t,n,Mn(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=Xt,e.error=s??a}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Jt&&r?.status!==Xt||(e[t]=r)})}}),E=s({name:`${t}/mutations`,initialState:Vn,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Gn(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[Gn(t)]={requestId:n,status:Wt,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Bn(e,n,e=>{e.requestId===n.requestId&&(e.status=Jt,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(a.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Bn(e,r,e=>{e.requestId===r.requestId&&(e.status=Xt,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==Jt&&r?.status!==Xt||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=Kn(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]=Kn(s).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=zn(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:Vn,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:Vn,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(wn,e=>{e.online=!0}).addCase(Tn,e=>{e.online=!1}).addCase(Sn,e=>{e.focused=!0}).addCase(bn,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:L,serializeQueryArgs:b,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:T,keepUnusedDataFor:w,reducerPath:S,invalidationBehavior:A}});nr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),nr(n.internalActions,B);const V=new WeakMap,W=e=>an(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Z,getRunningMutationThunk:Y,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=xn(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=>rn(c(e))},getRunningMutationsThunk:function(){return e=>rn(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:In,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[qn]:g};if(On(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:L,infiniteQueryThunk:U,api:n,serializeQueryArgs:b,context:C,getInternalState:W});nr(n.util,{getRunningMutationThunk:Y,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=[or,rr,ir,cr,sr,ur];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=an(n,e.queryCacheKey,sn);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=an(n,t.queryCacheKey,sn);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]=xt(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!==Vt&&n.dispatch(r(t)))}})}return(e,t)=>{Sn.match(e)&&o(t,"refetchOnFocus"),wn.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:L,infiniteQueryThunk:U,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return nr(n.util,ae),nr(n,{reducer:G,middleware:re}),{name:dr,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};On(t)&&nr(a,{name:e,select:M(e,t),initiate:J(e,t)},H(F,e)),t.type===An&&nr(a,{name:e,select:Q(),initiate:Z(e)},H(L,e)),kn(t)&&nr(a,{name:e,select:D(e,t),initiate:X(e,t)},H(F,e))}}}});function pr(e){return e.replace(e[0],e[0].toUpperCase())}function fr(e){let t=0;for(const n in e)t++;return t}function hr(e){return"infinitequery"===e.type}function gr(e,...t){return Object.assign(e,...t)}lr();var mr=Symbol();function yr(e){const t=C(e),n=R(()=>en(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function vr(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var _r=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Sr=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),br=(()=>_r||Sr?N:k)(),wr=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Bt.pending}:e;function Tr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Er=["data","status","isLoading","isSuccess","isError","error"],Ir=Symbol(),Ar=tr(lr(),(({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(fr(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:Ir,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(mr),h=C(void 0),g=vr({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===mr||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===mr}),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===Wn||t?.skip?void 0:wr,...t}),a=Tr(r,...Er);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=vr(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=yr(a.skip?Wn: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===Wn||t?.skip?void 0:wr,...t}),c=Tr(i,...Er,"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=Tr(y,...Er,"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=vr(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!==Wn&&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!==Wn&&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=yr(c?Wn:a),v=vr({refetchOnReconnect:s,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=vr(f.initialPageParam),S=vr(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===Wn)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,...hr(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=yr(o?Wn: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 br(()=>{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 gr(c,{usePrefetch:p}),gr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}=u(e);gr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}),s[`use${pr(e)}Query`]=t,s[`useLazy${pr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);gr(c.endpoints[e],{useMutation:t}),s[`use${pr(e)}Mutation`]=t}else if(hr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);gr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),s[`use${pr(e)}InfiniteQuery`]=t}}}}}})());let Rr=0;function Or(e){return null!==e&&"object"==typeof e}function kr(e){return Or(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Cr="Something went wrong. Please try again.";function Nr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Pr(e,t){return Nr(e)?Cr:function(e){if(!Or(e))return null;if("string"==typeof e.message){try{const t=kr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return kr(e.data)??kr(e.data?.data)}(e)??t??"An unexpected error occurred."}const xr={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 qr=null;const Mr=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,Rr+=1,`${p}-${Rr}`),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=un,paramsSerializer:r,isJsonContentType:a=ln,jsonContentType:s="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===un&&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??dn,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?cn(h.signal,on(R)):h.signal,...O};T=new Headers(pn(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(pn(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(U()),e;try{const e=await async function(){return qr||(qr=async function(){const e=F();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{qr=null}),qr)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(L({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(U())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(U())}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=xr.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=t.message||t.error||t.detail||o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===a?i=xr.UNAUTHORIZED:403===a?i=xr.FORBIDDEN:404===a?i=xr.NOT_FOUND:422===a?i=xr.VALIDATION_ERROR:"FETCH_ERROR"===a?i=xr.NETWORK_ERROR:"TIMEOUT_ERROR"===a?i=xr.TIMEOUT:"PARSING_ERROR"===a?i=xr.PARSE_ERROR:"number"==typeof a&&a>=500&&(i=xr.SERVER_ERROR),"number"==typeof a&&a>=500&&(o=Cr),{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:xr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:xr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:xr.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(Cr),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 Dr(){return j()}let Qr=0;async function Fr(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;Qr+=1;const l=`fetch-${Qr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){const e=Dr();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 Ur=()=>"",Lr=Ar({reducerPath:"chatApi",baseQuery:Mr,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({audioFile:e})=>{const t=new FormData;t.append("file",e);const{data:n,error:r}=await Fr({url:$.TRANSCRIBE,method:"POST",body:t,skipContentType:!0});return r?{error:r}:{data:n}}}),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:jr,useTranscribeAudioMutation:$r,useExchangeOAuthCodeMutation:zr,useGetConversationHistoryQuery:Kr,useLazyGetConversationByIdQuery:Hr,useDeleteConversationMutation:Gr,useGetToolServersQuery:Br,useStartToolServerOAuthMutation:Vr,useDeleteToolServerConnectionMutation:Wr}=Lr,Jr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},Xr=Ar({reducerPath:"brandingApi",baseQuery:Mr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:Jr})})}),{useGetBrandingQuery:Zr}=Xr,Yr={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},ea=Ar({reducerPath:"configApi",baseQuery:Mr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:Yr})})}),{useGetConfigQuery:ta}=ea,na=Ar({reducerPath:"profileApi",baseQuery:Mr,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(na.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"})})})}),{useGetProfileQuery:ra,useUpdateProfileMutation:aa,useDeleteAccountMutation:sa}=na,oa={[Lr.reducerPath]:Lr.reducer,[Xr.reducerPath]:Xr.reducer,[ea.reducerPath]:ea.reducer,[na.reducerPath]:na.reducer},ia=[Lr.middleware,Xr.middleware,ea.middleware,na.middleware],ca={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[]},ua=s({name:"chat",initialState:ca,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=[]},resetChatState:()=>ca},extraReducers:e=>{e.addMatcher(i(U,K),()=>ca)}}),{setIsAgentWorking:da,setStatusText:la,setResponseStartTime:pa,enqueueMessage:fa,dequeueMessage:ha,clearMessageQueue:ga,resetChatState:ma}=ua.actions,ya=ua.reducer,va={activeConversationId:null,titles:{}},_a=s({name:"conversations",initialState:va,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(U,K),()=>va)}}),{setActiveConversationId:Sa,upsertConversationTitle:ba}=_a.actions,wa=_a.reducer;let Ta=null;function Ea(e){Ta=e}function Ia(){Ta=null}const Aa=()=>{if(!Ta)return{};const e=Ta(),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}:{}}},Ra=d({...oa,auth:G,chat:ya,conversations:wa,indicator:H}),Oa={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"]},ka=_({reducer:Ra,middleware:e=>e({serializableCheck:Oa}).prepend(B.middleware).concat(ia)});var Ca;Ca=ka.dispatch,function(){const[e,t,n,r]=[Sn,bn,wn,Tn].map(e=>()=>Ca(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!En&&"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={[yn]:e,[_n]:a,[gn]:n,[mn]:r};t(!0),En=!0}}(),V(()=>ka.getState().auth.accessToken),W(()=>ka.getState().auth.tokenExpiresAt),Ea(()=>ka.getState());const Na=()=>{const e=ta(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},Pa=P(void 0),xa=()=>{const e=x(Pa);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},qa="mtx",Ma=5;var Da=(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))(Da||{});let Qa=class extends Error{constructor(e){super(),this.reopen=e}};class Fa{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})}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 Se(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 Qa(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(Da));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===Da.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==Da.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 Qa)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 Qa)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 Ua extends Error{constructor(e){super(),this.reopen=e}}class La{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})}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 Se(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 Ua(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(Da));if(!t||n.has(t))if(t!==Da.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===Da.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 Ua)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 Ua)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 ja(e,t){switch(e){case"mtx":return new Fa(t);case"agui":return new La(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function $a(e={}){return{getAuthToken:()=>Dr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{X(Z())&&await(F()?.())},forceRefreshToken:async()=>Boolean(await(F()?.()))}}class za{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:Y(),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:Y(),text:e})}toMessages(){if(0===this.segments.length){const e=Y();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 Ka(e,t){const{data:n,error:r,response:a}=await Fr({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 Ha(e){const{data:t,error:n,response:r}=await Fr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ga(e,t){await Fr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Ba(e){const{data:t,error:n,response:r}=await Fr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Va(e){const{data:t,error:n,response:r}=await Fr({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Wa(e){const{data:t,error:n,response:r}=await Fr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Ja(e){const{data:t,error:n,response:r}=await Fr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Xa(e,t){const{data:n,error:r,response:a}=await Fr({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 Za(){try{const{data:e}=await Fr({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 Ya(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Fr({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 es(){const e=S(),[t,n]=O(!1);return{login:I(async t=>{n(!0);try{const{body:n,tokens:r}=await Ka(t.email,t.password);return n.success&&n.data?(e.dispatch(L({user:n.data.user,accessToken:r.accessToken,refreshToken:r.refreshToken,expiresIn:n.data.expiry_time})),{success:!0,data:n}):{success:!1,error:n}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function ts(){const e=S(),[t,n]=O(!1);return{signup:I(async t=>{n(!0);try{const{body:n,tokens:r}=await Ha(t);return n.success&&n.data?(e.dispatch(L({user:n.data.user,accessToken:r.accessToken,refreshToken:r.refreshToken,expiresIn:n.data.expiry_time})),{success:!0,data:n}):{success:!1,error:n}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function ns(){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 Ga({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(U())},[e])}}function rs(){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 Ba({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(L({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 as(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 Ba({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(L({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 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&&oe(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?se(n):0,timeUntilExpiryFormatted:n?ae(se(n)):"0s"}}},os={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},is={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},cs={MESSAGE_PAGE_SIZE:25},us=[500,1500,3e3],ds=28,ls="New Conversation";function ps(e){return!e.widget?.length}function fs(e){const t=Y(),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 hs(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&&ps(e)){e.message=e.message+(n.content||"");continue}t.push(fs(n));continue}}else n.content&&t.push({id:`system-${Y()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else n.content&&t.push({id:`user-${Y()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e})}return t}function gs(e){return"string"==typeof e&&e.trim()?e:null}const ms=()=>{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(ba({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(Sa(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}=xa(),[v]=jr(),[_]=Hr(),S=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=gs(t?.title);return a&&e(ba({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=gs(r);s&&e(ba({id:t,title:s}));const o=await _({conversationId:t,skip:0,limit:cs.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=gs(o.title)??s;r&&e(ba({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?hs(i):[];return a(c),l(i.length),f(i.length>=cs.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=gs(t?.title);return r&&e(ba({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:cs.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=hs(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=cs.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}},ys=e=>null==e||"string"==typeof e&&""===e.trim(),vs=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}=xa(),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 za),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),U=I((e=ie.KEEP)=>{if(l(la(null)),l(da(!1)),e===ie.FINALIZE){const e=p.getState().chat.responseStartTime;e&&l(ce(Date.now()-e)),l(pa(null))}else e===ie.CANCEL&&l(pa(null))},[l,p]),L=I(e=>{l(da(e)),m(e),e&&v(!1)},[l]),j=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(ie.CANCEL)},600),()=>{null!==q.current&&clearTimeout(q.current)}},[l,p,U]),$=C({setStatusText:e=>l(la(e||null)),setIsAgentWorking:e=>l(da(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>_.current?.(e),onSignIn:e=>b.current?.(e),onError:()=>{}}),z=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},$.current);if("sign_in"===e.type&&"signIn"in e.data)return void ue({kind:"sign_in",signIn:e.data.signIn},$.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,$.current)}const a=t.toMessages(),s=P.current;n(e=>[...e.slice(0,e.length-s),...a]),P.current=a.length,a.some(e=>vs(e)||!ys(e.message))&&l(da(!1)),t.isStreamComplete()&&j()},[l,n,j]),K=I(e=>{Q("Stream connection error. Please try again."),j()},[j]),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(ie.CANCEL),l(de()),l(ga()),x.current=!1},[l,U]),G=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:z,onError:K,onComplete:()=>{j()}});R.current=n},[z,K,j]),B=I(async(t="")=>{x.current=!0;try{let a=e;if(!a){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.");a=e}const i=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),l(da(!0)),m(!0),v(!1),l(la(null)),l(pa(Date.now())),l(de());const c={id:`user-${Y()}`,sender:"user",message:i,timestamp:(new Date).toISOString()};n(e=>[...e,c]);const u=d.streamMessage({conversationId:a,message:i,enableTts:r,debugMode:o});G(u,a)}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(ie.CANCEL)}},[l,t,e,d,r,n,G,s,o,U]),V=C(B);V.current=B;const W=I(async(e="")=>{const t=(e??"").trim();t&&(x.current?l(fa({id:Y(),text:t,queuedAt:(new Date).toISOString()})):await B(t))},[l,B]);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");l(ga()),V.current(t)},[g,l,p]);const J=I(async(e,t)=>{x.current=!0,l(da(!0)),m(!0),v(!1),l(la(null)),l(pa(Date.now())),l(de());const n=void 0!==t?t:a,s=d.streamInitial({conversationId:e,body:n?{client_metadata:{user_location:n}}:{},enableTts:r});G(s,e)},[l,d,r,a,G]);return k(()=>()=>{A.current?.abort(),R.current?.()},[]),{sendMessage:W,startInitialStream:J,setThinkingState:L,abortStream:H,toolCallStatus:f,isProcessThinkingState:g,hasReceivedResponse:y}};function Ss({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]=Lr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:w}]=Lr.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);k(()=>{!o&&e&&E.current!==e&&(r.some(t=>t.id===e)||(E.current=e,T("silent")))},[e,r,o,T]);const A=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.");le("Conversation deleted successfully"),E.current=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]),N=R(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?N.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):N,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:w,searchQuery:p,setSearchQuery:f,loadConversations:T,deleteConversation:A,isLoadingMoreRef:g}}function bs(){return b(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function ws(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 Ts(e){if("success"===e.status){const t=ws(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 Es=({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(Ts(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 Is(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=pe.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function As(e){try{const t=await e.getItem(fe.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(fe.LOCATION_CACHE),null)}catch{return null}}const Rs=()=>{const[e,t]=O(!1),[n,r]=O(null),a=he(),s=I(async()=>{const e=await As(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(fe.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 Os({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 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},Cs=()=>ks("(min-width: 1024px)"),Ns=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}},Ps=()=>{const[e,t]=O(!1),{getUserLocation:n}=Rs(),r=he(),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(fe.LOCATION_ENABLED))return void s();const t=await As(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function xs({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 qs(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 Ms(){const{themeStyles:e}=ge(),{data:t,isLoading:n}=Br(void 0),[r]=Wr(),a=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:qs(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.`):le(`${t} disconnected`)}}}const Ds={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Qs=({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?Ds.RECORDING:s?Ds.TRANSCRIBING:Ds.NORMAL;return R(()=>({value:o,setValue:i,send:u,canSend:c,mode:d}),[o,u,c,d])},Fs=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},Us=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])},Ls=[],js=({messages:e,voiceStreamingMessages:t=Ls,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(()=>Fs(r),[r]),s=Us(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=Fs(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(me),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:i}},$s=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(is.INITIAL),[a,s]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(is.INITIAL),s(0),void i(!0);r(is.INITIAL),s(0),i(!0);let e=is.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},is.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=is.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(is.LATER),s(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},is.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}},zs=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 Ks(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 Hs=P(null),Gs=()=>{const e=x(Hs);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let Bs=0;function Vs({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(U())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-Bs<3e5))try{await e()?Bs=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&&(oe(o)?d(!0):X(o)&&d())},[s,o,d]);return k(()=>{a&&oe(o)&&d(!0)},[]),k(()=>{if(s&&a){if(oe(o))return void d(!0);const e=ye(o);return e>0?c.current=setTimeout(()=>{d()},e):X(o)&&d(),i.current=setInterval(()=>{oe(o)?d(!0):X(o)&&d()},t),()=>{i.current&&clearInterval(i.current),c.current&&clearTimeout(c.current)}}Bs=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[s,a,o,t,d]),{checkNow:l}}class Ws{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 Js=({onTranscriptionComplete:e,onTranscriptionPopulate:t,autoSendVoice:n=!0}={})=>{const[r,a]=O(!1),[s,o]=O(!1),[i,c]=O(0),u=C(null),d=C(null),l=C(!1),p=C(null),[f]=$r(),h=I(async()=>{try{u.current||(u.current=new Ws),d.current=Date.now();const e=()=>{p.current?.(),document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e),await u.current.startRecording(e=>{c(e)}),l.current=!0,a(!0)}catch(e){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),l.current=!1,Q("Microphone access is required. Please allow microphone permissions in your browser settings.")}},[]),g=I(async()=>{try{if(!u.current||!l.current)return;const r=d.current?Date.now()-d.current:0;if(a(!1),c(0),r<500)return u.current?.cleanup(),void(d.current=null);o(!0);const s=await u.current.stopRecording(),i=await f({audioFile:s}).unwrap();i.success?i.data.text&&(n&&e?await e(i.data.text):!n&&t&&t(i.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),l.current=!1,u.current?.cleanup(),d.current=null}},[n,e,t,f]);return k(()=>{p.current=g},[g]),k(()=>()=>{u.current?.cleanup()},[]),{isRecording:r,isTranscribing:s,audioLevel:i,startRecording:h,stopRecording:g}},Xs="OAUTH_SUCCESS",Zs="OAUTH_ERROR",Ys=Xs,eo=Zs;function to({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=zr();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===eo)return void c(()=>Q(`Failed to sign in to ${s}. Please try again.`));if(e.data?.type!==Ys)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.`):(le(`${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 no({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:a}=Es({sendMessageRef:e}),{handlePaymentResult:s,handleModalOpenChange:o}=xs({paymentInit:t,onPaymentResult:a,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:s,clearPaymentInit:r}}const ro={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0},voice_agent:{enabled:!0,show_customization_modal:!1,assistant_starts_conversation:!0},features:[ve.SSO]},ao=P(void 0),so=()=>{const{data:e,isLoading:t,error:n}=Na(),r=e?.success?e.data:null,a=R(()=>{return(e=r)?{conversations:{...ro.conversations,...e.conversations},voice_agent:{...ro.voice_agent,...e.voice_agent},features:e.features??ro.features}:ro;var e},[r]);return R(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},oo=()=>{const e=x(ao);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},io=P({}),co=()=>x(io);function uo(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function lo(e,t,n){if(!n)return!1;if(!uo(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&uo(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 po="moyasar_cb";function fo(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${_e()}/moyasar-callback.html`);return n.searchParams.set(po,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const ho=new Set(["paid","authorized","failed","captured"]);function go(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(po))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!ho.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:mo(t.get("message")??`Payment ${n}`),paymentId:s},conversationId:a}}function mo(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function yo(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 vo="stripe";export{La as AguiAdapter,Ws as AudioRecorder,os as BREAKPOINTS,Ds as CHAT_INPUT_MODES,us as CONVERSATION_TITLE_REFRESH_DELAYS_MS,io as ChatCallbacksContext,Hs as ChatSettingsContext,ao as ConfigurationContext,ls as DEFAULT_CONVERSATION_TITLE,vo as DEFAULT_PAYMENT_PROVIDER,qa as DEFAULT_PROTOCOL,xr as ERROR_CODES,za as EventAggregator,Cr as GENERIC_SERVER_ERROR_MESSAGE,Ma as MAX_CONNECTION_RETRIES,po as MOYASAR_CALLBACK_SENTINEL,Zs as OAUTH_ERROR_TYPE,Xs as OAUTH_SUCCESS_TYPE,cs as PAGINATION,Fa as ProprietaryAdapter,Pa as ProtocolContext,Da as SSEEventType,is as THINKING_MESSAGES,ds as TYPEWRITER_INTERVAL_MS,Mr as apiBridge,ia as apiMiddleware,oa as apiReducers,Ea as bindChatLogger,Xr as brandingApi,Fr as bridgedFetch,yo as buildBrandSkin,fo as buildCallbackUrl,Lr as chatApi,Ra as chatCoreRootReducer,Aa as chatLoggerContextProvider,ya as chatReducer,Ya as checkOrganizationExistsApi,ga as clearMessageQueue,ea as configApi,wa as conversationsReducer,ja as createAdapter,$a as createDefaultAdapterConfig,as as createSessionRefresher,ha as dequeueMessage,fa as enqueueMessage,Za as fetchOrganizations,Va as forgotPasswordApi,ws as formatAmount,Ts as formatResultMessage,Pr as getApiErrorMessage,Dr as getAuthToken,As as getCachedLocation,Ur as getLatestRequestId,vs as hasAnyExtraData,Nr as isApiServerError,ys as isEmptyMessage,Ka as loginApi,Ga as logoutApi,go as parseMoyasarCallbackFromUrl,na as profileApi,Ba as refreshTokenApi,Ia as resetChatLoggerForTests,ma as resetChatState,Wa as resetPasswordApi,Oa as serializableCheck,Sa as setActiveConversationId,da as setIsAgentWorking,pa as setResponseStartTime,la as setStatusText,lo as shouldDisableMessage,Ha as signupApi,Xa as ssoExchangeApi,Ja as ssoStartApi,ka as store,ba as upsertConversationTitle,bs as useActiveConversationTitle,ss as useAuth,co as useChatCallbacks,_s as useChatConnection,Ss as useChatHistory,Qs as useChatInput,Gs as useChatSettings,oo as useConfiguration,so as useConfigurationValue,Ms as useConnectors,Ns as useContainerQuery,ms as useConversation,jr as useCreateConversatonsMutation,sa as useDeleteAccountMutation,Gr as useDeleteConversationMutation,Wr as useDeleteToolServerConnectionMutation,zs as useElapsedSeconds,Is as useEventEmitter,zr as useExchangeOAuthCodeMutation,Zr as useGetBrandingQuery,Na as useGetConfigQuery,Kr as useGetConversationHistoryQuery,ra as useGetProfileQuery,Br as useGetToolServersQuery,Os as useInfiniteScroll,Cs as useIsDesktop,Hr as useLazyGetConversationByIdQuery,Ps as useLocationInit,es as useLogin,ns as useLogout,ks as useMediaQuery,js as useMessageList,to as useOAuthPopup,no as usePayment,Es as usePaymentFlow,xs as usePaymentResultDedup,xa as useProtocol,rs as useRefreshToken,Us as useResolvedChatIndicators,Js as useSTTRecording,ts as useSignup,Vr as useStartToolServerOAuthMutation,$s as useThinkingMessage,Vs as useTokenRefresh,$r as useTranscribeAudioMutation,Ks as useTypewriter,aa as useUpdateProfileMutation,Rs as useUserLocation};