@1interface/chat-core 0.20.2 → 0.20.3
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.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{nanoid as e,formatProdErrorMessage as t,createSelector as n,createAction as r,createAsyncThunk as s,createSlice as a,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 T,useSelector as w,useDispatch as S,batch as b,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as R,useMemo as A,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as x,useContext as P}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as L,getTokenRefreshHandler as U,clearSession as Q,setSession as F,readAccessToken as $,API_ENDPOINTS as j,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 Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,isVerificationRequired as re,AUTH_HEADERS as se,createTokenRefresher as ae,INHERITED_AUTH_ERROR_REASONS as oe,isTokenExpired as ie,getStorageRef as ce,STORAGE_KEYS as ue,formatTimeRemaining as de,getTimeUntilExpiry as le,MODEL_CONTEXT_PART_TYPES as pe,INDICATOR_TIMER_ACTIONS as fe,setLastResponseTime as he,handleSharedEvent as ge,clearLastResponseTime as me,readDeviceToken as ye,showSuccessToast as ve,eventEmitter as _e,useStorage as Te,useBranding as we,hasWidgets as Se,getTimeUntilRefresh as be,setTokenRefreshHandler as Ee,FEATURE_FLAGS as Ie,getBaseUrl as Re}from"@1interface/shared-core";import{fetchEventSource as Ae}from"@microsoft/fetch-event-source";var Oe=Symbol.for("immer-nothing"),ke=Symbol.for("immer-draftable"),Ce=Symbol.for("immer-state"),Ne="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 xe(e,...t){if("production"!==process.env.NODE_ENV){const n=Ne[e],r=tt(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 Pe=Object,qe=Pe.getPrototypeOf,Me="constructor",De="prototype",Le="configurable",Ue="enumerable",Qe="writable",Fe="value",$e=e=>!!e&&!!e[Ce];function je(e){return!!e&&(He(e)||Xe(e)||!!e[ke]||!!e[Me]?.[ke]||Ye(e)||Ze(e))}var ze=Pe[De][Me].toString(),Ke=new WeakMap;function He(e){if(!e||!et(e))return!1;const t=qe(e);if(null===t||t===Pe[De])return!0;const n=Pe.hasOwnProperty.call(t,Me)&&t[Me];if(n===Object)return!0;if(!tt(n))return!1;let r=Ke.get(n);return void 0===r&&(r=Function.toString.call(n),Ke.set(n,r)),r===ze}function Ge(e,t,n=!0){0===Be(e)?(n?Reflect.ownKeys(e):Pe.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Be(e){const t=e[Ce];return t?t.type_:Xe(e)?1:Ye(e)?2:Ze(e)?3:0}var Ve=(e,t,n=Be(e))=>2===n?e.has(t):Pe[De].hasOwnProperty.call(e,t),We=(e,t,n=Be(e))=>2===n?e.get(t):e[t],Je=(e,t,n,r=Be(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Xe=Array.isArray,Ye=e=>e instanceof Map,Ze=e=>e instanceof Set,et=e=>"object"==typeof e,tt=e=>"function"==typeof e,nt=e=>"boolean"==typeof e,rt=e=>e.copy_||e.base_,st=e=>e.modified_?e.copy_:e.base_;function at(e,t){if(Ye(e))return new Map(e);if(Ze(e))return new Set(e);if(Xe(e))return Array[De].slice.call(e);const n=He(e);if(!0===t||"class_only"===t&&!n){const t=Pe.getOwnPropertyDescriptors(e);delete t[Ce];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const s=n[r],a=t[s];!1===a[Qe]&&(a[Qe]=!0,a[Le]=!0),(a.get||a.set)&&(t[s]={[Le]:!0,[Qe]:!0,[Ue]:a[Ue],[Fe]:e[s]})}return Pe.create(qe(e),t)}{const t=qe(e);if(null!==t&&n)return{...e};const r=Pe.create(t);return Pe.assign(r,e)}}function ot(e,t=!1){return ct(e)||$e(e)||!je(e)||(Be(e)>1&&Pe.defineProperties(e,{set:it,add:it,clear:it,delete:it}),Pe.freeze(e),t&&Ge(e,(e,t)=>{ot(t,!0)},!1)),e}var it={[Fe]:function(){xe(2)}};function ct(e){return null===e||!et(e)||Pe.isFrozen(e)}var ut="MapSet",dt="Patches",lt="ArrayMethods",pt={};function ft(e){const t=pt[e];return t||xe(0,e),t}var ht,gt=e=>!!pt[e],mt=()=>ht;function yt(e,t){t&&(e.patchPlugin_=ft(dt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function vt(e){_t(e),e.drafts_.forEach(wt),e.drafts_=null}function _t(e){e===ht&&(ht=e.parent_)}var Tt=e=>ht={drafts_:[],parent_:ht,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:gt(ut)?ft(ut):void 0,arrayMethodsPlugin_:gt(lt)?ft(lt):void 0};function wt(e){const t=e[Ce];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function St(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Ce].modified_&&(vt(t),xe(4)),je(e)&&(e=bt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Ce].base_,e,t)}else e=bt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ot(t,n)}(t,e,!0),vt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Oe?e:void 0}function bt(e,t){if(ct(t))return t;const n=t[Ce];if(!n)return kt(t,e.handledSet_,e);if(!It(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);Ot(n,e)}return n.copy_}function Et(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var It=(e,t)=>e.scope_===t,Rt=[];function At(e,t,n,r){const s=rt(e),a=e.type_;if(void 0!==r&&We(s,r,a)===t)return void Je(s,r,n,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ge(s,(e,n)=>{if($e(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??Rt;for(const e of o)Je(s,e,n,a)}function Ot(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)}Et(e)}}function kt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||$e(e)||t.has(e)||!je(e)||ct(e)||(t.add(e),Ge(e,(r,s)=>{if($e(s)){const t=s[Ce];if(It(t,n)){const n=st(t);Je(e,r,n,e.type_),Et(t)}}else je(s)&&kt(s,t,n)})),e}var Ct={get(e,t){if(t===Ce)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 s=rt(e);if(!Ve(s,t,e.type_))return function(e,t,n){const r=Pt(t,n);return r?Fe in r?r[Fe]:r.get?.call(e.draft_):void 0}(e,s,t);const a=s[t];if(e.finalized_||!je(a))return a;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return a;if(a===xt(e.base_,t)){Mt(e);const n=1===e.type_?+t:t,r=Dt(0,a,e,n);return e.copy_[n]=r}return a},has:(e,t)=>t in rt(e),ownKeys:e=>Reflect.ownKeys(rt(e)),set(e,t,n){const r=Pt(rt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=xt(rt(e),t),o=r?.[Ce];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((s=n)===(a=r)?0!==s||1/s==1/a:s!=s&&a!=a)&&(void 0!==n||Ve(e.base_,t,e.type_)))return!0;Mt(e),qt(e)}var s,a;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($e(n)){const s=n[Ce];It(s,r)&&s.callbacks_.push(function(){Mt(e);const r=st(s);At(e,n,r,t)})}else je(n)&&e.callbacks_.push(function(){const s=rt(e);3===e.type_?s.has(n)&&kt(n,r.handledSet_,r):We(s,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&kt(We(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Mt(e),void 0!==xt(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),qt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=rt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Qe]:!0,[Le]:1!==e.type_||"length"!==t,[Ue]:r[Ue],[Fe]:n[t]}:r},defineProperty(){xe(11)},getPrototypeOf:e=>qe(e.base_),setPrototypeOf(){xe(12)}},Nt={};for(let e in Ct){let t=Ct[e];Nt[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function xt(e,t){const n=e[Ce];return(n?rt(n):e)[t]}function Pt(e,t){if(!(t in e))return;let n=qe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=qe(n)}}function qt(e){e.modified_||(e.modified_=!0,e.parent_&&qt(e.parent_))}function Mt(e){e.copy_||(e.assigned_=new Map,e.copy_=at(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Dt(e,t,n,r){const[s,a]=Ye(t)?ft(ut).proxyMap_(t,n):Ze(t)?ft(ut).proxySet_(t,n):function(e,t){const n=Xe(e),r={type_:n?1:0,scope_:t?t.scope_:mt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let s=r,a=Ct;n&&(s=[r],a=Nt);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??mt()).drafts_.push(s),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const s=t;if(!s||!It(s,r))return;r.mapSetPlugin_?.fixSetContents(s);const a=st(s);At(e,s.draft_??s,a,n),Ot(s,r)})}(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),s}function Lt(e){return $e(e)||xe(10,e),Ut(e)}function Ut(e){if(!je(e)||ct(e))return e;const t=e[Ce];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=at(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=at(e,!0);return Ge(n,(e,t)=>{Je(n,e,Ut(t))},r),t&&(t.finalized_=!1),n}Nt.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&xe(13),Nt.set.call(this,e,t,void 0)},Nt.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&xe(14),Ct.set.call(this,e[0],t,n,e[0])};var Qt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(tt(e)&&!tt(t)){const n=t;t=e;const r=this;return function(e=n,...s){return r.produce(e,e=>t.call(this,e,...s))}}let r;if(tt(t)||xe(6),void 0===n||tt(n)||xe(7),je(e)){const s=Tt(this),a=Dt(0,e,void 0);let o=!0;try{r=t(a),o=!1}finally{o?vt(s):_t(s)}return yt(s,n),St(r,s)}if(!e||!et(e)){if(r=t(e),void 0===r&&(r=e),r===Oe&&(r=void 0),this.autoFreeze_&&ot(r,!0),n){const t=[],s=[];ft(dt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:s}),n(t,s)}return r}xe(1,e)},this.produceWithPatches=(e,t)=>{if(tt(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]},nt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),nt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),nt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){je(e)||xe(8),$e(e)&&(e=Lt(e));const t=Tt(this),n=Dt(0,e,void 0);return n[Ce].isManual_=!0,_t(t),n}finishDraft(e,t){const n=e&&e[Ce];n&&n.isManual_||xe(9);const{scope_:r}=n;return yt(r,t),St(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=ft(dt).applyPatches_;return $e(e)?r(e,t):this.produce(e,e=>r(e,t))}},Ft=Qt.produceWithPatches.bind(Qt),$t=Qt.applyPatches.bind(Qt),jt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},zt=(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})}}},Kt=(e,t,n)=>{const{memoize:r,memoizeOptions:s}=t,{inputSelectorResults:a,inputSelectorResultsCopy:o}=e,i=r(()=>({}),...s);if(i.apply(null,a)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:n,firstInputs:a,secondInputs:o,stack:e})}},Ht={inputStabilityCheck:"once",identityFunctionCheck:"once"},Gt=e=>Array.isArray(e)?e:[e];function Bt(e,t){const n=[],{length:r}=e;for(let s=0;s<r;s++)n.push(e[s].apply(null,t));return n}var Vt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Wt(){return{s:0,v:void 0,o:null,p:null}}function Jt(e,t={}){let n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let s,a=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=Wt(),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=Wt(),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),a++,r){const e=s?.deref?.()??s;null!=e&&r(e,c)&&(c=e,0!==a&&a--),s="object"==typeof c&&null!==c||"function"==typeof c?new Vt(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=()=>a,o.resetResultsCount=()=>{a=0},o}function Xt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,s=0,a={},o=e.pop();"object"==typeof o&&(a=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...n,...a},{memoize:c,memoizeOptions:u=[],argsMemoize:d=Jt,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=Gt(u),h=Gt(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(){s++;const e=Bt(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}={...Ht,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:zt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Kt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Bt(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:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>t,recomputations:()=>r,resetRecomputations:()=>{r=0},memoize:c,argsMemoize:d})};return Object.assign(r,{withTypes:()=>r}),r}var Yt=Xt(Jt),Zt=Object.assign((e,t=Yt)=>{!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:()=>Zt}),en=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(en||{}),tn="uninitialized",nn="pending",rn="fulfilled",sn="rejected";function an(e){return{status:e,isUninitialized:e===tn,isLoading:e===nn,isSuccess:e===rn,isError:e===sn}}var on=l;function cn(e,t){if(e===t||!(on(e)&&on(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let s=n.length===r.length;const a=Array.isArray(t)?[]:{};for(const r of n)a[r]=cn(e[r],t[r]),s&&(s=e[r]===a[r]);return s?e:a}function un(e,t,n){return e.reduce((e,r,s)=>(t(r,s)&&e.push(n(r,s)),e),[]).flat()}function dn(e){return null!=e}function ln(e){return[...e?.values()??[]].filter(dn)}function pn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var fn=()=>new Map,hn=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},gn=(...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},mn=(...e)=>fetch(...e),yn=e=>e.status>=200&&e.status<=299,vn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function _n(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 Tn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},wn="__rtkq/",Sn="online",bn="offline",En="focus",In="focused",Rn="visibilitychange",An=r(`${wn}${In}`),On=r(`${wn}un${In}`),kn=r(`${wn}${Sn}`),Cn=r(`${wn}${bn}`),Nn=!1,xn="query",Pn="mutation",qn="infinitequery";function Mn(e){return e.type===xn}function Dn(e){return e.type===qn}function Ln(e){return Mn(e)||Dn(e)}function Un(e,t,n,r,s,a){const o="function"==typeof e?e(t,n,r,s):e;return o?un(o,dn,e=>a(Qn(e))):[]}function Qn(e){return"string"==typeof e?{type:e}:e}var Fn=(e,t)=>e.endpointDefinitions[t],$n=Symbol("forceQueryFn"),jn=e=>"function"==typeof e[$n],zn=class extends jt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Kn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Hn(e,t,n,r){const s=await e["~standard"].validate(t);if(s.issues)throw new zn(s.issues,t,n,r);return s.value}function Gn(e){return e}var Bn=(e={})=>({...e,[p]:!0});function Vn(e,{pages:t,pageParams:n},r){const s=t.length-1;return e.getNextPageParam(t[s],t,n[s],n,r)}function Wn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Jn(e,t,n,r){return Un(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 Xn(e){return $e(e)?Lt(e):e}function Yn(e,t,n){const r=e[t];r&&n(r)}function Zn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function er(e,t,n){const r=e[Zn(t)];r&&n(r)}var tr={},nr=Symbol.for("RTKQ/skipToken"),rr={status:tn},sr=y(rr,()=>{}),ar=y(rr,()=>{}),or=WeakMap?new WeakMap:void 0,ir=({endpointName:e,queryArgs:t})=>{let n="";const r=or?.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)&&or?.set(t,e),n=e}return`${e}(${n})`};function cr(...n){return function(r){const s=Jt(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),a={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:s,serializeQueryArgs(e){let t=ir;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:ir({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},o={endpointDefinitions:{},batch(e){e()},apiUid:e(),extractRehydrationInfo:s,hasRehydrationInfo:Jt(e=>null!=s(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:xn}),mutation:e=>({...e,type:Pn}),infiniteQuery:e=>({...e,type:qn})});for(const[r,s]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&&Dn(s)){const{infiniteQueryOptions:e}=s,{maxPages:n,getPreviousPageParam:a}=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 a)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]=s;for(const e of c)e.injectEndpoint(r,s)}return i},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)a.tagTypes.includes(t)||a.tagTypes.push(t);if(t)for(const[e,n]of Object.entries(t))"function"==typeof n?n(Fn(o,e)):Object.assign(Fn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,a,o));return i.injectEndpoints({endpoints:r.endpoints})}}function ur(e,...t){return Object.assign(e,...t)}var dr=({api:e,queryThunk:t,context:n,internalState:r,selectors:{selectQueryEntry:s,selectConfig:a},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 a of e){const e=s(r,a);e?.endpointName&&m(a,e.endpointName,t,n)}}function m(e,t,r,a){const i=Fn(n,t),u=i?.keepUnusedDataFor??a.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=s(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,s)=>{const o=s.getState(),i=a(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,s,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),s,i)}}},lr=new Error("Promise never resolved before cacheEntryRemoved."),pr=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:s,selectors:{selectQueryEntry:a}})=>{const o=v(r),i=v(s),u=c(r,s),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:s}=t;return[r,s,n]}function y(t,r,s,a,o){const i=Fn(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 lr})]);p.catch(()=>{}),d[s]=u;const f=e.endpoints[t].select(Ln(i)?r:s),h=a.dispatch((e,t,n)=>n),g={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:h,updateCachedData:Ln(i)?n=>a.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==lr)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)?Zn(e.payload):""}(n);function T(e,t,n,r){const s=a(v,t),o=a(c.getState(),t);!s&&o&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);T(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:s,queryCacheKey:a}=e;T(r,a,n.meta.requestId,s),h(a,t,{})}else if(s.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)}},fr=({api:e,context:{apiUid:t},reducerPath:n})=>(r,s)=>{e.util.resetApiState.match(r)&&s.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===s.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!":""}`)},hr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:s,api:a,assertTagType:o,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=a.internalActions,f=i(c(r),u(r)),g=i(c(s,r),h(s,r));let m=[],y=0;function v(n,r){const s=r.getState(),o=s[e];if(m.push(...n),"delayed"===o.config.invalidationBehavior&&y>0)return;const i=m;if(m=[],0===i.length)return;const c=a.util.selectInvalidatedBy(s,i);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=o.queries[t],n=pn(l.currentSubscriptions,t,fn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==tn&&r.dispatch(d(e)))}})}return(e,t)=>{(s.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Jn(e,"invalidatesTags",n,o),t):g(e)?v([],t):a.util.invalidateTags.match(e)&&v(Un(e.payload,void 0,void 0,void 0,void 0,o),t)}},gr=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:s})=>{const{currentPolls:a,currentSubscriptions:o}=s,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 s=n.getState()[e],i=s.queries[t],c=o.get(t);if(!i||i.status===tn)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=a.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;a.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!s.config.focused&&l||n.dispatch(r(i)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],s=o.get(t);if(!r||r.status===tn)return;const{lowestPollingInterval:i}=f(s);if("test"===process.env.NODE_ENV){const e=a.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const c=a.get(t),u=Date.now()+i;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=a.get(e);t?.timeout&&clearTimeout(t.timeout),a.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 a.keys())p(e)}(),c&&(clearTimeout(c),c=null),i.clear())}},mr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const s=g(n,r),a=h(n,r),o=c(n,r),i={};return(n,r)=>{if(s(n)){const{requestId:s,arg:{endpointName:a,originalArgs:o}}=n.meta,c=Fn(t,a),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),i[s]=t;const d=e.endpoints[a].select(Ln(c)?o:s),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:s,extra:l,updateCachedData:Ln(c)?t=>r.dispatch(e.util.updateQueryData(a,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(a(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 yr=Symbol(),vr=({createSelector:l=n}={})=>({name:yr,init(n,{baseQuery:v,tagTypes:_,reducerPath:T,serializeQueryArgs:w,keepUnusedDataFor:S,refetchOnMountOrArgChange:b,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:R,onSchemaFailure:A,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Ne.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(!je(e))return e;if(Xe(e))return e.map(r);if(Ye(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Ze(e))return new Set(Array.from(e).map(r));const t=Object.create(qe(e));for(const n in e)t[n]=r(e[n]);return Ve(e,ke)&&(t[ke]=e[ke]),t}function s(e){return $e(e)?r(e):e}var a;pt[a=dt]||(pt[a]={applyPatches_:function(s,a){return a.forEach(a=>{const{path:o,op:i}=a;let c=s;for(let e=0;e<o.length-1;e++){const t=Be(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==Me||xe(19),tt(c)&&n===De&&xe(19),c=We(c,n),et(c)||xe(18,o.join("/"))}const u=Be(c),d=r(a.value),l=o[o.length-1];switch(i){case e:switch(u){case 2:return c.set(l,d);case 3:xe(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(a.value);default:return delete c[l]}default:xe(17,i)}}),s},generatePatches_:function(r,a,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,a,o,i){const{base_:c,copy_:u,type_:d}=r;Ge(r.assigned_,(r,l)=>{const p=We(c,r,d),f=We(u,r,d),h=l?Ve(c,r)?e:t:n;if(p===f&&h===e)return;const g=a.concat(r);o.push(h===n?{op:h,path:g}:{op:h,path:g,value:s(f)}),i.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:s(p)}:{op:e,path:g,value:s(p)})})}(r,a,i,c);case 1:return function(r,a,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?.[Ce];if(c&&c.modified_)continue;const u=a.concat([t]);o.push({op:e,path:u,value:s(n)}),i.push({op:e,path:u,value:s(r)})}}for(let e=c.length;e<d.length;e++){const n=a.concat([e]);o.push({op:t,path:n,value:s(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=a.concat([e]);i.push({op:n,path:t})}}(r,a,i,c);case 3:return function(e,r,s,a){let{base_:o,copy_:i}=e,c=0;o.forEach(e=>{if(!i.has(e)){const o=r.concat([c]);s.push({op:n,path:o,value:e}),a.unshift({op:t,path:o,value:e})}c++}),c=0,i.forEach(e=>{if(!o.has(e)){const o=r.concat([c]);s.push({op:t,path:o,value:e}),a.unshift({op:n,path:o,value:e})}c++})}(r,a,i,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:s,inversePatches_:a}=r;s.push({op:e,path:[],value:n===Oe?void 0:n}),a.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,s=(r=We(e,t.key_),et(r)?r?.[Ce]:null),a=We(e,t.key_);if(void 0===a)return null;if(a!==t.draft_&&a!==t.base_&&a!==t.copy_)return null;if(null!=s&&s.base_!==t.base_)return null;const o=3===t.parent_.type_;let i;if(i=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>i||Ve(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=We(n,t[e]),!et(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:T,endpoints:{},internalActions:{onOnline:kn,onOffline:Cn,onFocus:An,onFocusLost:On},util:{}});const x=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>sr,s=e=>ar;return{buildQuerySelector:function(e,t){return u(e,t,a)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...an(e.status)},{isLoading:r,isError:s,direction:a}=t,o="forward"===a,i="backward"===a;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=Vn(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&o,isFetchingPreviousPage:r&&i,isFetchNextPageError:s&&o,isFetchPreviousPageError:s&&i};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Zn(e)??nr:e,n(t===nr?s:e=>o(e)?.mutations?.[t]??ar,a)}},selectInvalidatedBy:function(e,n){const r=e[t],s=new Set,a=un(n,dn,Qn);for(const e of a){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)s.add(e)}return Array.from(s.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return un(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==tn,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:c,selectConfig:function(e){return o(e)?.config}};function a(e){return{...e,...an(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,s,a){return o=>{if(o===nr)return n(r,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return n(e=>c(e,i)??sr,a)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Wn(e,t,n)}}({serializeQueryArgs:w,reducerPath:T,createSelector:l}),{selectInvalidatedBy:P,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:L}=x;ur(n.util,{selectInvalidatedBy:P,selectCachedArgsForQuery:q});const{queryThunk:U,infiniteQueryThunk:Q,mutationThunk:F,patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:a,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]:Gn,v=async(e,{signal:r,abort:s,rejectWithValue:a,fulfillWithValue:o,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:T=l}=g,w=e.type===xn;try{let S=Gn;const b={signal:r,abort:s,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:w?_(e,f()):void 0,queryCacheKey:w?e.queryCacheKey:void 0},E=w?e[$n]:void 0;let I;const R=async(t,n,r,s)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const a={queryArg:e.originalArgs,pageParam:n},o=await A(a),i=s?p:m;return{data:{pages:i(t.pages,o.data,r),pageParams:i(t.pageParams,n,r)},meta:o.meta}};async function A(n){let r;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=g;if(a&&!Kn(T,"arg")&&(n=await Hn(a,n,"argSchema",{})),E?r=E():g.query?(S=y(g,"transformResponse"),r=await t(g.query(n),b,s)):r=await g.queryFn(n,b,s,e=>t(e,b,s)),"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 Tn(r.error,r.meta);let{data:c}=r;o&&!Kn(T,"rawResponse")&&(c=await Hn(o,r.data,"rawResponseSchema",r.meta));let u=await S(c,r.meta,n);return i&&!Kn(T,"response")&&(u=await Hn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(w&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const x={pages:[],pageParams:[]},P=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!P?x:P;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?Wn:Vn)(O,q,e.originalArgs);N=await R(q,D,k,M)}else{const{initialPageParam:L=O.initialPageParam}=e,U=P?.pageParams??[],Q=U[0]??L,F=U.length;if(N=await R(q,Q,k),E&&(N={data:N.data.pages[0]}),C)for(let $=1;$<F;$++){const j=Vn(O,N.data,e.originalArgs);N=await R(N.data,j,k)}}I=N}else I=await A(e.originalArgs);return v&&!Kn(T,"meta")&&I.meta&&(I.meta=await Hn(v,I.meta,"metaSchema",I.meta)),o(I.data,Bn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof Tn){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!Kn(T,"rawErrorResponse")&&(V=await Hn(G,V,"rawErrorResponseSchema",W)),v&&!Kn(T,"meta")&&(W=await Hn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!Kn(T,"errorResponse")&&(J=await Hn(B,J,"errorResponseSchema",W)),a(J,Bn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof zn){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:w?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return a(Z(K,Y),Bn({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,s=n?.fulfilledTimeStamp,a=e.forceRefetch??(e.subscribe&&r);return!!a&&(!0===a||(Number(new Date)-Number(s))/1e3>=a)}const T=()=>s(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Bn({startedTimeStamp:Date.now(),...Dn(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),s=i.selectQueryEntry(r,e.queryCacheKey),a=s?.fulfilledTimeStamp,o=e.originalArgs,c=s?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!jn(e)&&("pending"===s?.status||!_(e,r)&&(!Mn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),w=T(),S=T();function b(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:w,mutationThunk:s(`${e}/executeMutation`,v,{getPendingMeta:()=>Bn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:S,prefetch:(e,t,n={})=>(r,s)=>{const o=(e=>"force"in e)(n)&&n.force,i=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>a.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=a.endpoints[e].select(t)(s());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)=>(s,o)=>{const i=a.endpoints[e].select(t)(o()),c={patches:[],inversePatches:[],undo:()=>s(a.util.patchQueryData(e,t,c.inversePatches,r))};if(i.status===tn)return c;let u;if("data"in i)if(je(i.data)){const[e,t,r]=Ft(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||s(a.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(a.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[$n]:()=>({data:n})})),patchQueryData:(e,t,s,i)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(a.internalActions.queryResultPatched({queryCacheKey:l,patches:s})),!i)return;const p=a.endpoints[e].select(t)(u()),f=Un(d.providesTags,p.data,void 0,t,{},o);c(a.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),b(t)),matchFulfilled:f(c(e),b(t)),matchRejected:f(h(e),b(t))}}}}({baseQuery:v,reducerPath:T,context:C,api:n,serializeQueryArgs:w,assertTagType:N,selectors:x,onSchemaFailure:A,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:G,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:s,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const T=r(`${t}/resetApiState`);function w(e,t,n,r){e[t.queryCacheKey]??={status:tn,endpointName:t.endpointName},Yn(e,t.queryCacheKey,e=>{e.status=nn,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,Dn(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function S(e,t,n,r){Yn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:s}=f[t.arg.endpointName];if(e.status=rn,s)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:a,baseQueryMeta:o,requestId:i}=t;let c=y(e.data,e=>s(e,n,{arg:a.originalArgs,baseQueryMeta:o,fulfilledTimeStamp:r,requestId:i}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?cn($e(e.data)?($e(a=e.data)||xe(15,a),a[Ce].base_):e.data,n):n;var a;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const b=a({name:`${t}/queries`,initialState:tr,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:s}=n;w(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),S(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},s,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type:xn,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}}){Yn(e,t,e=>{e.data=$t(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{w(e,n,jn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{S(e,t,n,jn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:s,payload:a})=>{Yn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=sn,e.error=a??s}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==rn&&r?.status!==sn||(e[t]=r)})}}),E=a({name:`${t}/mutations`,initialState:tr,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Zn(t);n in e&&delete e[n]},prepare:o()}},extraReducers(e){e.addCase(s.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:s}})=>{r.track&&(e[Zn(t)]={requestId:n,status:nn,endpointName:r.endpointName,startedTimeStamp:s})}).addCase(s.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&er(e,n,e=>{e.requestId===n.requestId&&(e.status=rn,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(s.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&er(e,r,e=>{e.requestId===r.requestId&&(e.status=sn,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==rn&&r?.status!==sn||t===r?.requestId||(e[t]=r)})}}),I=a({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){R(e,n);for(const{type:t,id:s}of r){const r=(e.tags[t]??={})[s||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:o()}},extraReducers(e){e.addCase(b.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{R(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[s,a]of Object.entries(r)){const r=(e.tags[t]??={})[s||"__internal_without_id"]??=[];for(const t of a)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(i(c(n),u(n)),(e,t)=>{A(e,[t])}).addMatcher(b.actions.cacheEntriesUpserted.match,(e,t)=>{A(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function R(e,t){const n=Xn(e.keys[t]??[]);for(const r of n){const n=r.type,s=r.id??"__internal_without_id",a=e.tags[n]?.[s];a&&(e.tags[n][s]=Xn(a).filter(e=>e!==t))}delete e.keys[t]}function A(e,t){const n=t.map(e=>{const t=Jn(e,"providesTags",f,v),{queryCacheKey:n}=e.meta.arg;return{queryCacheKey:n,providedTags:t}});I.caseReducers.updateProvidedBy(e,I.actions.updateProvidedBy(n))}const O=a({name:`${t}/subscriptions`,initialState:tr,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=a({name:`${t}/internalSubscriptions`,initialState:tr,reducers:{subscriptionsUpdated:{reducer:(e,t)=>$t(e,t.payload),prepare:o()}}}),C=a({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(kn,e=>{e.online=!0}).addCase(Cn,e=>{e.online=!1}).addCase(An,e=>{e.focused=!0}).addCase(On,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:b.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(T.match(t)?void 0:e,t),actions:{...C.actions,...b.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:T}}}({context:C,queryThunk:U,mutationThunk:F,serializeQueryArgs:w,reducerPath:T,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:b,keepUnusedDataFor:S,reducerPath:T,invalidationBehavior:R}});ur(n.util,{patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),ur(n.internalActions,B);const V=new WeakMap,W=e=>pn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:s,api:a,context:o,getInternalState:i}){const c=e=>i(e)?.runningQueries,u=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=a.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(a,o)=>{const i=s({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=a(i);f(a);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:()=>{a(l({requestId:d,fixedCacheKey:r}))}}),y=u(a);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 s=Fn(o,t),a=e({queryArgs:n,endpointDefinition:s,endpointName:t});return c(r)?.get(a)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>ln(c(e))},getRunningMutationsThunk:function(){return e=>ln(u(e))}};function f(e){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const n=e(a.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 "${a.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,s){const o=(i,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[$n]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:s,endpointName:t});let T;const w={...m,type:xn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[$n]:g};if(Mn(s))T=n(w);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;T=r({...w,direction:e,initialPageParam:t,refetchCachedPages:n})}const S=a.endpoints[t].select(i),b=y(T),E=S(v());f(y);const{requestId:I,abort:R}=b,A=E.requestId!==I,O=c(y)?.get(_),k=()=>S(v()),C=Object.assign(g?b.then(k):A&&!O?Promise.resolve(E):Promise.all([O,b]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:R,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!A&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,serializeQueryArgs:w,context:C,getInternalState:W});ur(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:se}=function(e){const{reducerPath:t,api:n,context:s,getInternalState:a}=e,{apiUid:o}=s,i={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[fr,dr,hr,gr,pr,mr];return{middleware:r=>{let i=!1;const l=a(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 s=null,a=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(s||(s=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return s={},n.currentSubscriptions.clear(),a=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:s}=r.payload,a=n.get(e);return a?.has(t)&&a.set(t,s),!0}if(i.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,s=n.get(e);return s&&s.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,s=pn(n,e.queryCacheKey,fn);return e.subscribe&&s.set(t,e.subscriptionOptions??s.get(t)??{}),!0}let s=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:a}}=r;if(e&&t.subscribe){const e=pn(n,t.queryCacheKey,fn);e.set(a,t.subscriptionOptions??e.get(a)??{}),s=!0}}return s})(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){a||(a=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=Ft(s,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),s=t,a=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:s})=>{const{removeQueryResult:a}=n.internalActions;function o(n,o){const i=n.getState()[e],c=i.queries,u=s.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],s=u.get(e);if(!s||!t)continue;const d=[...s.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===s.size?n.dispatch(a({queryCacheKey:e})):t.status!==tn&&n.dispatch(r(t)))}})}return(e,t)=>{An.match(e)&&o(t,"refetchOnFocus"),kn.match(e)&&o(t,"refetchOnReconnect")}})(p);return e=>a=>{if(!m(a))return e(a);i||(i=!0,r.dispatch(n.internalActions.middlewareRegistered(o)));const u={...r,next:e},d=r.getState(),[l,p]=h(a,u,d);let y;if(y=l?e(a):p,r.getState()[t]&&(g(a,u,d),c(a)||s.hasRehydrationInfo(a)))for(const e of f)e(a,u,d);return y}},actions:i};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:T,context:C,queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,assertTagType:N,selectors:x,getRunningQueryThunk:ne,getInternalState:W});return ur(n.util,se),ur(n,{reducer:G,middleware:re}),{name:yr,injectEndpoint(e,t){const r=n,s=r.endpoints[e]??={};Mn(t)&&ur(s,{name:e,select:M(e,t),initiate:J(e,t)},H(U,e)),t.type===Pn&&ur(s,{name:e,select:L(),initiate:Y(e)},H(F,e)),Dn(t)&&ur(s,{name:e,select:D(e,t),initiate:X(e,t)},H(U,e))}}}});function _r(e){return e.replace(e[0],e[0].toUpperCase())}function Tr(e){let t=0;for(const n in e)t++;return t}function wr(e){return"infinitequery"===e.type}function Sr(e,...t){return Object.assign(e,...t)}vr();var br=Symbol();function Er(e){const t=C(e),n=A(()=>cn(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function Ir(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Rr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Ar=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Or=(()=>Rr||Ar?N:k)(),kr=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:en.pending}:e;function Cr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Nr=["data","status","isLoading","isSuccess","isError","error"],xr=Symbol(),Pr=cr(vr(),(({batch:e=b,hooks:n={useDispatch:S,useSelector:w,useStore:T},createSelector:r=Yt,unstable__sideEffectsInRender:s=!1,...a}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const s of e)if(Tr(a)>0&&(a[s]&&(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[s]=a[s]),"function"!=typeof n[s])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 ${s} was either not provided or not a function.`)}return{name:xr,init(a,{serializeQueryArgs:o},i){const c=a,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:s,useStore:a},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(s){const a=(e,n={})=>{const[r]=g(s,e,n);return y(r),A(()=>({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:a,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[s],u=r(),[p,f]=O(br),h=C(void 0),g=Ir({refetchOnReconnect:t,refetchOnFocus:a,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===br||h.current||y(p,!0)},[p,y]),A(()=>[y,p,{reset:v}],[y,p,v])},i=m(s,f);return{useQueryState:i,useQuerySubscription:a,useLazyQuerySubscription:o,useLazyQuery(e){const[t,n,{reset:r}]=o(e),s=i(n,{...e,skip:n===br}),a=A(()=>({lastArg:n}),[n]);return A(()=>[t,{...s,reset:r},a],[t,s,r,a])},useQuery(e,t){const n=a(e,t),r=i(e,{selectFromResult:e===nr||t?.skip?void 0:kr,...t}),s=Cr(r,...Nr);return R(s),A(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,s={})=>{const[a,o,i,c]=g(e,r,s),u=C(c);d(()=>{u.current=c},[c]);const p=Ir(s.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(a),a.current=r=o(i(e,{subscriptionOptions:u.current,direction:t}))}),r},[a,o,i]);y(a);const h=Er(s.skip?nr:r),m=I(e=>{if(!a.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return a.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[a,p]);return A(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},s=m(e,h);return{useInfiniteQueryState:s,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:a,fetchPreviousPage:o}=r(e,t),i=s(e,{selectFromResult:e===nr||t?.skip?void 0:kr,...t}),c=Cr(i,...Nr,"hasNextPage","hasPreviousPage");return R(c),A(()=>({...i,fetchNextPage:a,fetchPreviousPage:o,refetch:n}),[i,a,o,n])}}},buildMutationHook:function(t){return({selectFromResult:a,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=A(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=A(()=>a?i([g],a):g,[a,g]),y=s(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]),T=Cr(y,...Nr,"endpointName");R(T);const w=A(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return A(()=>[f,w],[f,w])}},usePrefetch:function(t,n){const s=r(),a=Ir(n);return I((n,r)=>s(e.util.prefetch(t,n,{...a,...r})),[t,s,a])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==nr&&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 s=void 0!==r,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||s&&(a&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==nr&&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 s=void 0!==r,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||a&&s;return{...e,data:r,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function g(n,s,{refetchOnReconnect:a,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=Er(c?nr:s),v=Ir({refetchOnReconnect:a,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Ir(f.initialPageParam),T=Ir(f.refetchCachedPages),w=C(void 0);let{queryCacheKey:S,requestId:b}=w.current||{},E=!1;S&&b&&(E=m.current.isRequestSubscribed(S,b));const I=!E&&void 0!==w.current;return d(()=>{I&&(w.current=void 0)},[I]),d(()=>{const e=w.current;if("undefined"!=typeof process&&process,y===nr)return e?.unsubscribe(),void(w.current=void 0);const t=w.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...wr(p[n])?{initialPageParam:_,refetchCachedPages:T}:{}}));w.current=t}},[g,h,i,y,v,I,_,T,n]),[w,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=Er(o?nr:r),l=C(void 0),p=A(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=A(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=s(e=>f(e,l.current),E),g=a(),m=p(g.getState(),l.current);return Or(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:a,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:s,createSelector:r},serializeQueryArgs:o,context:i});return Sr(c,{usePrefetch:p}),Sr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}=u(e);Sr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}),a[`use${_r(e)}Query`]=t,a[`useLazy${_r(e)}Query`]=n}if("mutation"===t.type){const t=l(e);Sr(c.endpoints[e],{useMutation:t}),a[`use${_r(e)}Mutation`]=t}else if(wr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);Sr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),a[`use${_r(e)}InfiniteQuery`]=t}}}}}})());let qr=0;function Mr(e){return null!==e&&"object"==typeof e}function Dr(e){return Mr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Lr="Something went wrong. Please try again.";function Ur(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Qr(e,t){return Ur(e)?Lr:function(e){if(!Mr(e))return null;if("string"==typeof e.message){try{const t=Dr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Dr(e.data)??Dr(e.data?.data)}(e)??t??"An unexpected error occurred."}function Fr(e){if(!Mr(e))return null;const t=e.data;return Mr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function $r(e,t){if(!Mr(e))return t.generic;if(Ur(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return Fr(JSON.parse(e))}catch{return null}}(e.message);return n||(Fr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function jr(e){if(!Mr(e))return null;const t=e.data;if(Mr(t)){const e=t.data;if(Mr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const zr={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 Kr=null;const Hr=function(e){const{name:t,innerBaseQuery:n,requestInterceptors:r,responseInterceptors:s,defaultOptions:a}=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:{...a,...i?.bridge,...u}},l={bridgeName:t,requestId:(p=t,qr+=1,`${p}-${qr}`),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 s)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=mn,paramsSerializer:r,isJsonContentType:s=vn,jsonContentType:a="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===mn&&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:T}=h;let w,{url:S,headers:b=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:R=u??yn,timeout:A=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:A?gn(h.signal,hn(A)):h.signal,...O};b=new Headers(_n(b)),k.headers=await t(b,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:T,extraOptions:g})||b;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",a),C&&s(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=~S.indexOf("?")?"&":"?";S+=e+(r?r(E):new URLSearchParams(_n(E)))}S=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,S);const x=new Request(S,k);let P;w={request:new Request(S,k)};try{P=await n(x)}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:w}}const q=P.clone();let M;w.response=q;let D="";try{let e;if(await Promise.all([p(P,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:P.status,data:D,error:String(e)},meta:w}}return R(P,M)?{data:M,meta:w}:{error:{status:P.status,data:M},meta:w}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=s(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,s=Object.keys(n).length>0,a=!!r&&Object.keys(r).length>0;return s||a?{...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 s=n.api.getState();if(!s.auth?.accessToken||!s.auth?.isAuthenticated)return e;if(!U())return n.api.dispatch(Q()),e;try{const e=await async function(){return Kr||(Kr=async function(){const e=U();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{Kr=null}),Kr)}();if(e){const s=n.api.getState().auth?.accessToken;return s!==e.accessToken&&n.api.dispatch(F({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(Q())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(Q())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(s=e.error,a={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},s&&"object"==typeof s&&"status"in s?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,s="number"==typeof r&&r>=400?r:e.status;let a,o="Request failed",i=zr.UNKNOWN;if("data"in e)if(a=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=Dr(t)??Dr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===s?i=zr.UNAUTHORIZED:403===s?i=zr.FORBIDDEN:404===s?i=zr.NOT_FOUND:422===s?i=zr.VALIDATION_ERROR:"FETCH_ERROR"===s?i=zr.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=zr.TIMEOUT:"PARSING_ERROR"===s?i=zr.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=zr.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=Lr),{status:s,message:o,data:a,code:i,meta:{timestamp:Date.now(),...t}}}(s,a):s instanceof Error?{status:"FETCH_ERROR",message:s.message||"An unexpected error occurred",code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}});var s,a;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?(L("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(L("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(L(Lr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:s}=e.error;if("FETCH_ERROR"!==s&&"TIMEOUT_ERROR"!==s)return e;const a=n.extraOptions.bridge?.retry,o=a?.maxRetries??1,i=a?.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,s=Date.now()-n.startTime,a=(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} ${a} ${o} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:a,url:o,status:c,duration:s,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${a} ${o} ${c} ${s}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:a,url:o,status:c,duration:s}),e}]});function Gr(){return $()}let Br=0;async function Vr(e){const{url:t,method:n="GET",body:r,headers:s={},skipAuth:a=!1,skipLogging:o=!1,skipContentType:i=!1,responseHandler:c="json",signal:u,keepalive:d}=e;Br+=1;const l=`fetch-${Br}`,p=Date.now(),f=n.toUpperCase(),h={...s};if(Object.assign(h,q()),!a){const e=Gr();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 s=e.headers.get("x-request-id")??void 0;return o||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:s??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},response:e}}let s;if("blob"===c)s=await e.blob();else if("text"===c)s=await e.text();else{const t=await e.text();s=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:s,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 Wr=3e5;let Jr=0;const Xr=()=>"",Yr=Pr({reducerPath:"chatApi",baseQuery:Hr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${j.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:`${j.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:`${j.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:s}=await Vr({url:j.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return s?{error:s}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r,onUploadProgress:s,onUploadComplete:a})=>{const o=new FormData;o.append("file",e),t&&o.append("filename",t),n&&o.append("document_type",n),r&&o.append("conversation_id",r);const{data:i,error:c}=await async function(e){const{url:t,method:n="POST",body:r,headers:s={},skipAuth:a=!1,skipLogging:o=!1,onUploadProgress:i,onUploadComplete:c,timeoutMs:u=Wr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return M()&&!o&&D.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Vr({url:t,method:n,body:r,headers:s,skipAuth:a,skipLogging:o,skipContentType:!0,signal:d});Jr+=1;const l=`upload-${Jr}`,p=Date.now(),f=n.toUpperCase(),h={Accept:"application/json",...s,...q()};if(!a){const e=Gr();e&&(h.Authorization=`Bearer ${e}`)}return new Promise(e=>{const s=new XMLHttpRequest;let a=!1;const g=t=>{a||(a=!0,d?.removeEventListener("abort",y),e(t))},m=(e,n)=>{const r=Date.now()-p;o||D.error({message:`bridgedUpload ${f} ${t} ${e.toLowerCase()}`,api_name:"bridgedUpload",request_id:l,method:f,url:t,status:e,duration:r,error_message:n}),g({error:{status:e,data:n}})},y=()=>s.abort();s.open(n,t,!0),s.timeout=u;for(const[e,t]of Object.entries(h))s.setRequestHeader(e,t);if(i&&(s.upload.onprogress=e=>i(e.loaded,e.lengthComputable?e.total:0)),c&&(s.upload.onload=()=>c()),s.onload=()=>{const e=Date.now()-p,n=s.getResponseHeader("x-request-id")??l;let r;try{r=s.responseText?JSON.parse(s.responseText):void 0}catch{r=s.responseText}if(s.status<200||s.status>=300)return o||D.error({message:`bridgedUpload ${f} ${t} failed (${s.status})`,api_name:"bridgedUpload",request_id:n,method:f,url:t,status:s.status,duration:e,error_data:r}),void g({error:{status:s.status,data:r}});g({data:r})},s.onerror=()=>m("FETCH_ERROR","Network error"),s.ontimeout=()=>m("TIMEOUT_ERROR","Request timed out"),s.onabort=()=>m("ABORT_ERROR","Upload cancelled"),d){if(d.aborted)return void m("ABORT_ERROR","Upload cancelled");d.addEventListener("abort",y)}s.send(r)})}({url:j.DOCUMENTS(),method:"POST",body:o,onUploadProgress:s,onUploadComplete:a});return c?{error:c}:{data:i}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await Vr({url:j.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:j.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:j.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:j.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:j.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${j.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:Zr,useTranscribeAudioMutation:es,useUploadDocumentMutation:ts,useDeleteDocumentMutation:ns,useExchangeOAuthCodeMutation:rs,useGetConversationHistoryQuery:ss,useLazyGetConversationByIdQuery:as,useDeleteConversationMutation:os,useGetToolServersQuery:is,useStartToolServerOAuthMutation:cs,useDeleteToolServerConnectionMutation:us}=Yr,ds={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},ls=Pr({reducerPath:"brandingApi",baseQuery:Hr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:j.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:ds})})}),{useGetBrandingQuery:ps}=ls,fs={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},hs=Pr({reducerPath:"configApi",baseQuery:Hr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:j.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:fs})})}),{useGetConfigQuery:gs}=hs,ms=Pr({reducerPath:"profileApi",baseQuery:Hr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:j.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:j.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:n}){try{await n,t(ms.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:j.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:j.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null}),resolveIdentity:e.mutation({query:e=>({url:j.PROFILE,method:"GET",headers:{Authorization:`Bearer ${e}`},_bridge:{skipAuth:!0,skipTokenRefresh:!0,skipErrorToast:!0,retry:{maxRetries:0}}}),transformResponse:e=>e?.data?.email?.trim().toLowerCase()||null})})}),{useGetProfileQuery:ys,useUpdateProfileMutation:vs,useDeleteAccountMutation:_s,useUpdatePasswordMutation:Ts}=ms,ws=[Yr,ls,hs,ms],Ss={[Yr.reducerPath]:Yr.reducer,[ls.reducerPath]:ls.reducer,[hs.reducerPath]:hs.reducer,[ms.reducerPath]:ms.reducer},bs=[Yr.middleware,ls.middleware,hs.middleware,ms.middleware],Es=()=>e=>{ws.forEach(t=>e(t.util.resetApiState()))},Is={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Rs=a({name:"chat",initialState:Is,reducers:{setIsAgentWorking(e,t){e.isAgentWorking=t.payload},setStatusText(e,t){e.statusText=t.payload},setResponseStartTime(e,t){e.responseStartTime=t.payload},enqueueMessage(e,t){e.messageQueue.push(t.payload)},dequeueMessage(e){e.messageQueue.shift()},clearMessageQueue(e){e.messageQueue=[]},addPendingTranscriptionId(e,t){e.pendingTranscriptionIds.push(t.payload)},clearPendingTranscriptionIds(e){e.pendingTranscriptionIds=[]},resetChatState:()=>Is},extraReducers:e=>{e.addMatcher(i(Q,K),()=>Is)}}),{setIsAgentWorking:As,setStatusText:Os,setResponseStartTime:ks,enqueueMessage:Cs,dequeueMessage:Ns,clearMessageQueue:xs,addPendingTranscriptionId:Ps,clearPendingTranscriptionIds:qs,resetChatState:Ms}=Rs.actions,Ds=Rs.reducer,Ls={activeConversationId:null,titles:{}},Us=a({name:"conversations",initialState:Ls,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(Q,K),()=>Ls)}}),{setActiveConversationId:Qs,upsertConversationTitle:Fs}=Us.actions,$s=Us.reducer;let js=null;function zs(e){js=e}function Ks(){js=null}const Hs=()=>{if(!js)return{};const e=js(),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}:{}}},Gs=d({...Ss,auth:G,chat:Ds,conversations:$s,indicator:H}),Bs={ignoredPaths:["chatApi.queries","chatApi.mutations","brandingApi.queries","brandingApi.mutations","configApi.queries","configApi.mutations","profileApi.queries","profileApi.mutations"],ignoredActions:["chatApi/executeQuery/fulfilled","chatApi/executeMutation/fulfilled","brandingApi/executeQuery/rejected","brandingApi/executeQuery/fulfilled","configApi/executeQuery/rejected","configApi/executeQuery/fulfilled","profileApi/executeQuery/rejected","profileApi/executeQuery/fulfilled","profileApi/executeMutation/rejected","profileApi/executeMutation/fulfilled"],ignoredActionPaths:["payload.error","error","meta.baseQueryMeta","meta.arg.originalArgs.audioFile","meta.arg.originalArgs.file","meta.arg.originalArgs.onUploadProgress","meta.arg.originalArgs.onUploadComplete"]},Vs=_({reducer:Gs,middleware:e=>e({serializableCheck:Bs}).prepend(B.middleware).concat(bs)});var Ws;Ws=Vs.dispatch,function(){const[e,t,n,r]=[An,On,kn,Cn].map(e=>()=>Ws(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!Nn&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(a).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const a={[En]:e,[Rn]:s,[Sn]:n,[bn]:r};t(!0),Nn=!0}}(),V(()=>Vs.getState().auth.accessToken),W(()=>Vs.getState().auth.tokenExpiresAt),zs(()=>Vs.getState());const Js=()=>{const e=gs(),{isError:t,isFetching:n,refetch:r}=e,s=C(!1);return k(()=>{!t||n||s.current||(s.current=!0,r())},[t,n,r]),e},Xs=x(void 0),Ys=()=>{const e=P(Xs);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},Zs="mtx",ea=5;var ta=(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.REQUEST_DOCUMENTS="request_documents",e.CONVERSATION_TITLE="conversation_title",e.END="end",e))(ta||{});let na=class extends Error{constructor(e){super(),this.reopen=e}};class ra{type="mtx";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.modelContext?.length?{model_context:e.modelContext}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const{parsed:t,eventType:n,isStreamEnd:r,requestId:s}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s};const a=(n||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(a,t);return{type:o,data:i,timestamp:Date.now(),requestId:s}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"request_documents":return{type:"request_documents",data:{requestDocuments:{}}};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,s="",a=!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 Ae(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&&!a){a=!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 na(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(ta));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===ta.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==ta.CLEAR_STATUS&&t!==ta.REQUEST_DOCUMENTS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const a=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||s||""});d(a),n&&"stream_end"!==a.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s})}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 na)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 na)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 sa(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}class aa extends Error{constructor(e){super(),this.reopen=e}}class oa{type="agui";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.modelContext?.length?{model_context:e.modelContext}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const t=e,{type:n,data:r}=this.mapEventType(t);return{type:n,data:r,timestamp:Date.now(),requestId:t.runId||""}}mapEventType(e){switch((e.type||"").toUpperCase()){case"TEXT_MESSAGE_CONTENT":return{type:"text",data:{text:e.delta||""}};case"TEXT_MESSAGE_END":case"RUN_FINISHED":return{type:"stream_end",data:{isEnd:!0}};case"RUN_ERROR":return{type:"error",data:{error:e.error||"Unknown AG-UI run error"}};case"STATE_SNAPSHOT":return this.mapStateSnapshot(e);case"CUSTOM":return this.mapCustomEvent(e);case"PAYMENT":{const t=e?.value?.data??e.payload;return t?.provider&&t?.config&&J(t)&&("chargebee"!==t.provider||t.config?.hosted_page_url)&&("atb"!==t.provider||sa(t.config?.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,s="",a=!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 Ae(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&&!a){a=!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 aa(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=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(ta));if(!t||n.has(t))if(t!==ta.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&&(s=n.runId);const r=t===ta.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||s}:{...n,runId:n.runId||s},a=this.normalizeEvent(r);d(a)}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:s}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof aa)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 aa)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 ia(e,t){switch(e){case"mtx":return new ra(t);case"agui":return new oa(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function ca(e={}){return{getAuthToken:()=>Gr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>j.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>j.CONVERSATION_START(e),getDebugUrl:()=>j.DEBUG,ensureFreshToken:async()=>{X(Y())&&await(U()?.())},forceRefreshToken:async()=>Boolean(await(U()?.()))}}class ua{segments=[];error="";requestId="";statusText="";streamComplete=!1;startTimestamp=null;processEvent(e){null===this.startTimestamp&&(this.startTimestamp=e.timestamp),e.requestId&&(this.requestId=e.requestId);const{data:t}=e;if(!("isEnd"in t))return"error"in t?(this.error=t.error,void("text"in t&&t.text&&this.appendText(t.text))):void("statusText"in t?this.statusText=t.statusText:"payment"in t||("widget"in t?this.segments.push({type:"widget",id:Z(),content:t.widget}):"text"in t&&this.appendText(t.text)));this.streamComplete=!0}appendText(e){const t=this.segments[this.segments.length-1];t&&"text"===t.type?t.text+=e:this.segments.push({type:"text",id:Z(),text:e})}toMessages(){if(0===this.segments.length){const e=Z();return[{id:e,msg_id:e,sender:"agent",message:"",timestamp:(new Date).toISOString(),tookMs:this.startTimestamp?Date.now()-this.startTimestamp:0,error:this.error||void 0,request_id:this.requestId||void 0}]}const e=(new Date).toISOString(),t=this.segments.map(t=>{const n={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":n.message=t.text;break;case"widget":n.widget=[t.content],n.message_type=["widget"]}return n}),n=t[t.length-1];return n.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,n.error=this.error||void 0,n.request_id=this.requestId||void 0,t}getStatusText(){return this.statusText}isStreamComplete(){return this.streamComplete}reset(){this.segments=[],this.error="",this.requestId="",this.statusText="",this.streamComplete=!1,this.startTimestamp=null}}async function da(e,t){const{data:n,error:r,response:s}=await Vr({url:ee(te.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!s)throw n??r;return{body:n,tokens:ne(s)}}async function la(){const{data:e,error:t,response:n}=await Vr({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function pa(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return re(t?.data)?{body:t}:{body:t,tokens:ne(r)}}async function fa(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return r.headers.get(se.ACCESS_TOKEN)?{body:t,tokens:ne(r)}:{body:t}}async function ha(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ga(e,t){await Vr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function ma(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function ya(e){const{data:t,error:n,response:r}=await Vr({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 Vr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function _a(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Ta(e,t){const{data:n,error:r,response:s}=await Vr({url:ee(te.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!s)throw n??r;return{body:n,tokens:ne(s)}}async function wa(){try{const{data:e}=await Vr({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 Sa(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Vr({url:j.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 ba(e){const t=T(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:s}=await e(...n);return r.success&&r.data?(s&&!re(r.data)&&t.dispatch(F({user:r.data.user,accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{r(!1)}},[t,e]),isLoading:n}}function Ea(){const e=I(e=>da(e.email,e.password),[]),{run:t,isLoading:n}=ba(e);return{login:t,isLoading:n}}function Ia(){const{run:e,isLoading:t}=ba(la);return{guestLogin:e,isLoading:t}}function Ra(){const{run:e,isLoading:t}=ba(pa);return{signup:e,isLoading:t}}function Aa(){const{run:e,isLoading:t}=ba(fa);return{verify:e,isLoading:t}}function Oa(){const e=T();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(Q())},[e])}}function ka(){const e=T(),[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:s,tokens:a}=await ma({refresh_token:n,user_id:r});return s?.success&&s?.data?(e.dispatch(F({accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:s.data.expiry_time})),{success:!0,data:s}):{success:!1,error:s}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function Ca(e){return ae({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:s,tokens:a}=await ma({refresh_token:n,user_id:r});if(s?.success&&s?.data){const t={accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:s.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(F({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 Na="1interface_inherit_identity_reload_at",xa="1interface_inherit_identity_unverified",Pa=[250,750],qa=e=>new Promise(t=>setTimeout(t,e)),Ma=e=>"FETCH_ERROR"===e||"TIMEOUT_ERROR"===e||"number"==typeof e&&e>=500,Da="rejected",La="unknown";function Ua(e,t){let n=0,r=null,s=null;const a=()=>e.getState().auth?.accessToken??null,o=async t=>{for(let n=0;;n++){const r=e.dispatch(ms.endpoints.resolveIdentity.initiate(t));try{const e=await r.unwrap();return e?{email:e}:La}catch(e){const t=e?.status;if(401===t)return Da;if(!Ma(t)||n>=Pa.length)return La}finally{r.reset()}await qa(Pa[n])}};let i=null;const c=()=>{const n=a();if(!t.onUserChanged||!n)return;i?.unsubscribe();const r=e.dispatch(ms.endpoints.getProfile.initiate(void 0,{forceRefetch:!0}));i=r,r.unwrap().then(e=>{const t=e?.email?.trim().toLowerCase();t&&a()===n&&null===s&&(s=t)},()=>{})},u=async(e=!1)=>{const n=ce();return e&&await(n?.setItem(xa,"1")),await(n?.setItem(Na,String(Date.now()))),await(n?.removeItem(ue.ACTIVE_CONVERSATION_ID)),t.onUserChanged?.(),await qa(1e4),t.onAuthError?.(oe.TOKEN_REJECTED),null},d=async(i=!1)=>{let l;try{l=await t.getToken()}catch(e){return D.warn({message:"Inherited token request failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),t.onAuthError?.(oe.NO_TOKEN),null}if(null!==r&&l.accessToken===r)return null;const p=e.getState(),f=p.auth?.accessToken??null;if(l.accessToken===f)return ie(p.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(D.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=l.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null):{accessToken:l.accessToken}):(n=0,{accessToken:l.accessToken});n=0,r=null;const h=null!=l.expiresAt?l.expiresAt/1e3:void 0,g=()=>(e.dispatch(F({accessToken:l.accessToken,refreshToken:null,...null!=h?{expiresIn:h}:{}})),{accessToken:l.accessToken,...null!=h?{expiresIn:h}:{}});if(null===f){s=null;const e=g();return c(),e}if(!t.onUserChanged)return g();const m=await o(l.accessToken);if(a()!==f)return i?null:d(!0);if(m===Da)return r=l.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null;if(m===La)return u(!0);if(null===s){const e=await o(f);if(a()!==f)return i?null:d(!0);if(e===Da)return u();if(e===La)return u(!0);s=e.email}return m.email===s?g():await(async()=>{const e=Number(await(ce()?.getItem(Na)));return Number.isFinite(e)&&Date.now()-e<6e4})()?(D.warn({message:"Inherited token belongs to another user; failing closed: switched again within 60 s",api_name:"auth-refresh"}),u(!0)):u()},l=ae({performRefresh:()=>d(),isTransient:()=>!1});return Object.assign(l,{captureBaseline:c})}const Qa={WEB:"Web",MOBILE:"Mobile"},Fa={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},$a=Object.values(Fa);function ja(e,t){const n=e?.data?.auth_mode_config?.[t];return $a.includes(n)?n:Fa.SIGN_IN_ONLY}const za=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:s}=w(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:s,tokenInfo:{isExpired:!!n&&ie(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?le(n):0,timeUntilExpiryFormatted:n?de(le(n)):"0s"}}},Ka={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},Ha={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},Ga={MESSAGE_PAGE_SIZE:25},Ba=[500,1500,3e3],Va=28,Wa="New Conversation",Ja=1e3;function Xa(e){return!e.widget?.length}function Ya(e){const t=Z(),n={id:`agent-${t}`,msg_id:t,sender:"agent",message:"",timestamp:e.created_at?String(e.created_at):""};return"widget"===e.type?e.content&&"object"==typeof e.content&&(n.widget=[e.content],n.message_type=["widget"]):e.content&&"string"==typeof e.content&&(n.message=e.content),n}function Za(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&&Xa(e)){e.message=e.message+(n.content||"");continue}t.push(Ya(n));continue}}else n.content&&t.push({id:`system-${Z()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else(n.content||n.documents?.length)&&t.push({id:`user-${Z()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e,...n.documents?.length?{documents:n.documents}:{}})}return t}function eo(e){return"string"==typeof e&&e.trim()?e:null}const to=()=>{const e=S(),[t,n]=O(null),[r,s]=O([]),a=C(t),o=w(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(Fs({id:t,title:n}))},[t,e]);k(()=>{a.current=t,e(Qs(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}=Ys(),[v]=Zr(),[_]=as(),T=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const s=eo(t?.title);return s&&e(Fs({id:r,title:s})),r}return L(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return L(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),b=I(async(t,r,a)=>{try{const a=eo(r);a&&e(Fs({id:t,title:a}));const o=await _({conversationId:t,skip:0,limit:Ga.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=eo(o.title)??a;r&&e(Fs({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?Za(i):[];return s(c),l(i.length),f(i.length>=Ga.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)}),a?.quiet||L("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=eo(t?.title);return r&&e(Fs({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]),R=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:Ga.MESSAGE_PAGE_SIZE}).unwrap();if(a.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=Za(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Ga.MESSAGE_PAGE_SIZE),s(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)}),L("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),A=I(()=>{s([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:o,setConversationTitle:i,messages:r,setMessages:s,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:T,loadConversation:b,loadConversationTitle:E,loadMoreMessages:R,resetConversation:A}},no=e=>null==e||"string"==typeof e&&""===e.trim(),ro=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},so="user-collapsed";function ao(e,t){const n=[];return e?.length&&n.push({type:pe.DOCUMENTS,document_ids:e.map(e=>e.document_id)}),t&&t.length>Ja?D.warn({message:"modelText exceeds the text-part limit; sending the turn without it",api_name:"chat-send",length:t.length,max_length:Ja}):t&&n.push({type:pe.TEXT,text:t}),n.length?n:void 0}function oo(e,t){return{...Object.keys(e).length?{client_metadata:e}:{},...t?{locale:t}:{}}}const io=({conversationId:e,setMessages:t,enableTts:n=!1,userLocation:r=null,startSession:s,debugMode:a=!1,onPaymentInit:o,onSignInInit:i,onRequestDocuments:c,onConversationTitle:u,initialMessage:d,locale:l})=>{const{adapter:p}=Ys(),f=S(),h=T(),[g,m]=O(""),[y,v]=O(!1),[_,w]=O(!1),b=C(o);b.current=o;const E=C(i);E.current=i;const R=C(c);R.current=c;const A=C(u);A.current=u;const x=C(d),P=C(l);N(()=>{x.current=d,P.current=l},[d,l]);const q=C(new ua),M=C(null),U=C(null),Q=C(!1),F=C(0),$=C(!1),j=C(null),z=C(e);z.current=e;const K=C(null),H=C(e);k(()=>{const t=H.current;H.current=e,null!==t&&t!==e&&f(qs())},[e,f]);const G=I((e=fe.KEEP)=>{if(f(Os(null)),f(As(!1)),e===fe.FINALIZE){const e=h.getState().chat.responseStartTime;e&&f(he(Date.now()-e)),f(ks(null))}else e===fe.CANCEL&&f(ks(null))},[f,h]),B=I(e=>{f(As(e)),v(e),e&&w(!1)},[f]),V=I(()=>{const e=h.getState().chat.responseStartTime;return e&&f(he(Date.now()-e)),null!==j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{j.current=null,$.current=!1,m(""),v(!1),w(!1),G(fe.CANCEL)},600),()=>{null!==j.current&&clearTimeout(j.current)}},[f,h,G]),W=C({setStatusText:e=>f(Os(e||null)),setIsAgentWorking:e=>f(As(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>b.current?.(e),onSignIn:e=>E.current?.(e),onRequestDocuments:e=>R.current?.(e),onError:()=>{}}),J=I(e=>{if(K.current!==z.current)return M.current?.abort(),void U.current?.();if("payment"===e.type&&"payment"in e.data)return void ge({kind:"payment",payment:e.data.payment},W.current);if("sign_in"===e.type&&"signIn"in e.data)return void ge({kind:"sign_in",signIn:e.data.signIn},W.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void ge({kind:"request_documents",requestDocuments:e.data.requestDocuments},W.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&A.current?.(t))}const n=q.current;n.processEvent(e),Q.current||(Q.current=!0,w(!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"request_documents":return"requestDocuments"in t?{kind:"request_documents",requestDocuments:t.requestDocuments}: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:n.getStatusText()}:r;ge(e,W.current)}const s=n.toMessages(),a=F.current;t(e=>[...e.slice(0,e.length-a),...s]),F.current=s.length,s.some(e=>ro(e)||!no(e.message))&&f(As(!1)),n.isStreamComplete()&&V()},[f,t,V]),X=I(e=>{L("Stream connection error. Please try again."),V()},[V]),Y=I(()=>{M.current?.abort(),U.current?.(),M.current=null,U.current=null,K.current=null,q.current.reset(),F.current=0,m(""),v(!1),w(!1),G(fe.CANCEL),f(me()),f(xs()),$.current=!1},[f,G]),ee=I((e,t)=>{M.current?.abort(),U.current?.(),q.current.reset(),F.current=0,Q.current=!1,K.current=t,z.current=t,M.current=e;const n=e.subscribe({onEvent:J,onError:X,onComplete:()=>{V()}});U.current=n},[J,X,V]),te=I(()=>{f(As(!0)),v(!0),w(!1),f(Os(null)),f(ks(Date.now())),f(me())},[f]),ne=I((e,t)=>{te();const r=p.streamMessage({conversationId:e,message:t.message,enableTts:n,debugMode:a,transcriptionIds:t.transcriptionIds??[],...t.modelContext?.length?{modelContext:t.modelContext}:{},body:oo(t.clientMetadata,P.current)});ee(r,e)},[p,n,a,ee,te]),re=I(async(n="",r=[],a={})=>{$.current=!0;try{let o=e;if(!o){if(!s)return $.current=!1,void L("Conversation is not ready yet. Please wait a moment.");const e=await s();if(!e)return $.current=!1,void L("Failed to start conversation. Please try again.");o=e}const i=n.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),t(e=>[...e,{id:`user-${Z()}`,sender:"user",message:i,timestamp:(new Date).toISOString(),...a.messageType?.length?{message_type:a.messageType}:{},...a.documents?.length?{documents:a.documents}:{}}]);const c=ye();ne(o,{message:i,transcriptionIds:r,modelContext:ao(a.documents,a.modelText),clientMetadata:c?{device_token:c}:{}})}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),L("Failed to send conversations message. Please try again."),$.current=!1,G(fe.CANCEL)}},[e,s,t,ne,G]),se=C(re);se.current=re;const ae=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return void(n.modelText&&D.warn({message:"modelText sent without text or documents; dropped",api_name:"chat-send"}));const s=h.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&f(qs()),$.current?f(Cs({id:Z(),text:r,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{},...n.messageType?.length?{messageType:n.messageType}:{},...n.documents?.length?{documents:n.documents}:{},...n.modelText?{modelText:n.modelText}:{}})):await re(r,a,n)},[f,h,re]);k(()=>{if(y||$.current)return;const e=h.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>e.text).filter(e=>e.length>0).map(e=>`- ${e}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]),r=e.flatMap(e=>e.documents??[]),s=e.map(e=>e.modelText).filter(Boolean).join("\n\n"),a={...1===e.length&&e[0].messageType?.length?{messageType:e[0].messageType}:{},...r.length?{documents:r}:{},...s?{modelText:s}:{}};f(xs()),se.current(t,n,a)},[y,f,h]);const oe=I(async(e,t)=>{$.current=!0;const s=void 0!==t?t:r,a={};s&&(a.user_location=s);const o=ye();o&&(a.device_token=o);const i=x.current?.trim()??"",c=i.length>Ja;if(c&&D.warn({message:"initialMessage exceeds the text-part limit; opening with /start instead",api_name:"chat-start",conversation_id:e,length:i.length,max_length:Ja}),i&&!c)return void ne(e,{message:"",modelContext:[{type:pe.TEXT,text:i}],clientMetadata:a});te();const u=p.streamInitial({conversationId:e,body:oo(a,P.current),enableTts:n});ee(u,e)},[p,n,r,ee,ne,te]);return k(()=>()=>{M.current?.abort(),U.current?.()},[]),{sendMessage:ae,startInitialStream:oe,setThinkingState:B,abortStream:Y,toolCallStatus:g,isProcessThinkingState:y,hasReceivedResponse:_}};function co({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,s]=O([]),a=w(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]=Yr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[T,{isLoading:S}]=Yr.useDeleteConversationMutation(),b=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?(s(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(s(r),h.current=20):s(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])),s=t.filter(e=>!n.has(e.id));let a=s.length>0;const o=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(s=t).id&&n.title===s.title&&n.created_at===s.created_at&&n.updated_at===s.updated_at?e:(a=!0,t):e;var n,s});return a?[...s,...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(()=>{b("replace")},[b]);const E=C(null),R=C(new Set);k(()=>{if(o||!e)return;if(R.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${a[e]??""}`;E.current!==t&&(E.current=t,b("silent"))},[e,r,a,o,b]);const N=I(async a=>{const o=e===a,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,a):null,c=await T({conversationId:a});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:a,error_message:JSON.stringify(c.error)}),void L("Failed to delete the conversation. Please try again.");ve("Conversation deleted successfully"),R.current.add(a);const u=y.current.some(e=>e.id===a);if(s(e=>e.filter(e=>e.id!==a)),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,T,t,n]),x=A(()=>r.map(e=>a[e.id]?{...e,title:a[e.id]}:e),[r,a]);return{conversations:p.trim()?x.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):x,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:S,searchQuery:p,setSearchQuery:f,loadConversations:b,deleteConversation:N,isLoadingMoreRef:g}}function uo(){return w(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function lo(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 po(e){if("success"===e.status){const t=lo(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 fo="stripe",ho={SESSION_INVALID:"session_invalid",LOAD_FAILED:"load_failed"},go="Verify the payment.",mo={atb:function(e){if("success"===e.status){const t=lo(e.amount,e.currency);return{text:`The payment${t?` of ${t}`:""} is completed.`,modelText:go}}return"failure"===e.status?e.code===ho.SESSION_INVALID?{text:"The payment session has expired or is no longer valid."}:e.code===ho.LOAD_FAILED?{text:"The payment failed."}:{text:"The payment failed.",modelText:go}:{text:"Payment cancelled.",modelText:go}}};function yo(e){return mo[e.provider]?.(e)??{text:po(e)}}const vo=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(e=>{n(e)},[]),s=I(()=>n(null),[]),a=I(t=>{if("failure"===t.status&&t.message&&"stripe"!==t.provider&&L(t.message),e.current){const{text:n,modelText:r}=yo(t);r?e.current(n,void 0,{modelText:r}):e.current(n)}else D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status});r(null)},[e,r]);return{paymentInit:t,setPaymentInit:r,clearPaymentInit:s,handlePaymentResult:a}};function _o(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=_e.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function To(e){try{const t=await e.getItem(ue.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ue.LOCATION_CACHE),null)}catch{return null}}const wo=()=>{const[e,t]=O(!1),[n,r]=O(null),s=Te(),a=I(async()=>{const e=await To(s);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 a="";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&&(a=(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:a,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(ue.LOCATION_CACHE,JSON.stringify(n))}catch{}}(s,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)}},[s]);return{getUserLocation:a,isLoading:e,error:n}};function So({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:s}){const a=C(null),o=I(s=>{if(a.current&&a.current.disconnect(),!s||!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}(s,n.current);o&&(a.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:o,rootMargin:"0px",threshold:.1}),a.current.observe(s))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const s=n.current;if(!s)return;const a=s.querySelector("[data-radix-scroll-area-viewport]")??s;a.clientHeight>0&&a.scrollHeight<=a.clientHeight&&r()},[e,n,r,t,s]),o}const bo=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},Eo=()=>bo("(min-width: 1024px)"),Io=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const s=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});s.observe(n);const a=n.getBoundingClientRect().width;return r(a>=e),()=>{s.disconnect()}},[e]),{containerRef:t,isDesktop:n}},Ro=()=>{const[e,t]=O(!1),{getUserLocation:n}=wo(),r=Te(),s=C(!1);return k(()=>{if(s.current)return;s.current=!0;let e=null;const a=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(ue.LOCATION_ENABLED))return void a();const t=await To(r);t&&0!==t.latitude&&0!==t.longitude?a():(e=setTimeout(a,5e3),n().finally(a))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Ao({paymentInit:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),s=J(e);return{handlePaymentResult:I(e=>{("success"===e.status||"failure"===e.status)&&s&&r.current.add(s),t?.(e)},[t,s]),handleModalOpenChange:I(a=>{!a&&e&&(!!s&&r.current.has(s)||t?.({status:"cancel",provider:e.provider}),n?.())},[e,s,t,n])}}function Oo(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 ko(){const{themeStyles:e}=we(),{data:t,isLoading:n}=is(void 0),[r]=us(),s=A(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:Oo(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:s,isLoading:n,disconnect:async function(e){const t=s.find(t=>t.id===e)?.name??"App";"error"in await r(e)?L(`Failed to disconnect ${t}. Please try again.`):ve(`${t} disconnected`)}}}const Co={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},No=({onSend:e,disabled:t=!1,hasAttachments:n=!1,transcribedText:r,onTranscribedTextUsed:s,isRecording:a=!1,isTranscribing:o=!1})=>{const[i,c]=O("");k(()=>{if(!r)return;let e=!1;return queueMicrotask(()=>{e||(c(e=>0===e.trim().length?r:`${e.trimEnd()} ${r}`),s?.())}),()=>{e=!0}},[r,s]);const u=(i.trim().length>0||n)&&!t,d=I(()=>{u&&(e(i.trim()),c(""))},[i,u,e]),l=a?Co.RECORDING:o?Co.TRANSCRIBING:Co.NORMAL;return A(()=>({value:i,setValue:c,send:d,canSend:u,mode:l}),[i,d,u,l])},xo=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},Po=e=>{const t=w(e=>!!e.voice?.isAgentWorking),n=w(e=>e.voice?.statusText??null),r=w(e=>e.voice?.responseStartTime??null),s=w(e=>e.chat.isAgentWorking),a=w(e=>e.chat.statusText??null),o=w(e=>e.chat.responseStartTime),i=w(e=>e.indicator.lastResponseTime),c=e?t:s,u=e?n:a,d=e?r:o;return A(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},qo=[],Mo=({messages:e,voiceStreamingMessages:t=qo,voiceActive:n})=>{const r=A(()=>{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]),s=A(()=>xo(r),[r]),a=Po(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=xo(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const s=t.slice(e);return{hasNew:!0,newMessages:s,firstNewIndex:e,lastIndex:n,hasNewUserMessage:s.some(e=>"user"===e.sender),hasNewWidget:s.some(Se),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:s,indicator:a,classifyArrival:i}},Do=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(Ha.INITIAL),[s,a]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(Ha.INITIAL),a(0),void i(!0);r(Ha.INITIAL),a(0),i(!0);let e=Ha.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{a(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},Ha.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=Ha.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(Ha.LATER),a(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},Ha.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[s],isVisible:o}},Lo=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 Uo(e,t=28){const[n,r]=O(e),s=C(e),a=I(e=>{s.current=e,r(e)},[]);return k(()=>{if(s.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}(s.current,e);a(e.slice(0,n));let r=n;const o=globalThis.setInterval(()=>{r+=1,a(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(o)},t);return()=>globalThis.clearInterval(o)},[e,t,a]),n}const Qo=x(null),Fo=()=>{const e=P(Qo);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let $o=0;function jo({refreshSession:e,checkIntervalMs:t=6e4}){const n=T(),r=w(e=>e.auth),s=r?.accessToken??null,a=Boolean(r?.isAuthenticated),o=r?.tokenExpiresAt??null,i=C(null),c=C(null),u=I(()=>{n.dispatch(Q())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-$o<3e5))try{await e()?$o=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(()=>{a&&(ie(o)?d(!0):X(o)&&d())},[a,o,d]);return k(()=>{s&&ie(o)&&d(!0)},[]),k(()=>{if(a&&s){if(ie(o))return void d(!0);const e=be(o);return e>0?c.current=setTimeout(()=>{d()},e):X(o)&&d(),i.current=setInterval(()=>{ie(o)?d(!0):X(o)&&d()},t),()=>{i.current&&clearInterval(i.current),c.current&&clearTimeout(c.current)}}$o=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[a,s,o,t,d]),{checkNow:l}}function zo({clientType:e}){const{data:t,isLoading:n,refetch:r}=Js(),s=ja(t,e),a=Boolean(t?.data?.auth_mode_config),[o,i]=O(s);a&&s!==o&&i(s);const c=a?s:o,u=w(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=Ia(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Fa.GUEST_ONLY)return;if(u)return void(l.current=!1);if(n)return;if(l.current)return;const e=Date.now();m.current=e-y.current<1e4?m.current+1:0,y.current=e,m.current>=3?f(!0):(l.current=!0,f(!1),d().then(e=>{e.success||(l.current=!1,f(!0))}))},[c,u,n,d,h]);const v=I(()=>{m.current=0,y.current=0,f(!1),r(),g(e=>e+1)},[r]);return{mode:c,isGuestBootPending:n||c===Fa.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Fa.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Ko({adapter:e,enabled:t}){const n=T(),r=w(e=>Boolean(e.auth?.isAuthenticated)),s=A(()=>e?Ua(n,e):null,[n,e]);k(()=>{if(t&&s)return Ee(s),()=>Ee(null)},[t,s]);const a=C(!1),[o,i]=O(!1),[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1);k(()=>{if(!t||!e||p)return;const r=ce();(r?r.getItem(xa):Promise.resolve(null)).then(async t=>{t&&(await(r?.removeItem(xa)),n.dispatch(Q()),e.onAuthError?.(oe.TOKEN_REJECTED),u(!0)),f(!0)})},[t,e,n,p]),k(()=>{if(!t||!s||c||!p)return;if(r&&o)return void(a.current=!1);if(a.current)return;a.current=!0;const d=()=>{s().then(e=>{e?i(!0):(a.current=!1,u(!0))})};if(!r||!e)return void d();const l=n.getState().auth?.accessToken;e.getToken().then(e=>e.accessToken===l,()=>!1).then(e=>{if(e)return i(!0),void s.captureBaseline();n.dispatch(Q()),d()})},[t,s,e,n,r,o,c,d,p]);const h=I(()=>{u(!1),l(e=>e+1)},[]),g=t&&!(r&&o)&&!c,m=t&&c,y=t&&r&&o&&!c,v=C({canRecheck:y,adapter:e,refresher:s});k(()=>{v.current={canRecheck:y,adapter:e,refresher:s}},[y,e,s]);const _=C(!1);return{isInheritedBootPending:g,inheritedAuthFailed:m,retryInheritedAuth:h,recheckInheritedAuth:I(()=>{const e=v.current;if(!e.canRecheck||!e.adapter||!e.refresher)return;if(_.current)return;_.current=!0;const{adapter:t,refresher:r}=e,s=n.getState().auth?.accessToken;t.getToken().then(e=>e.accessToken===s?void 0:r(),()=>{}).finally(()=>{_.current=!1})},[n])}}class Ho{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}),s=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(s)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const Go={HOLD:"hold",TAP:"tap"},Bo="Microphone access is required. Please allow microphone permissions in your browser settings.",Vo=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},Wo=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:s=Go.HOLD}={})=>{const[a,o]=O(!1),[i,c]=O(!1),[u,d]=O(0),l=C(null),p=C(null),f=C(!1),h=C(!1),g=C(!1),m=C(null),y=S(),[v]=es(),_=I(async()=>{if(s===Go.TAP){if(f.current||g.current)return;g.current=!0;try{l.current||(l.current=new Ho),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0)}catch(e){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Bo)}finally{g.current=!1}return}h.current=!1;const e=()=>{t(),f.current?m.current?.():h.current=!0},t=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e);const n=await Vo();if("denied"===n)return t(),void L(Bo);if("prompt"!==n){if(h.current)return t(),void(h.current=!1);try{l.current||(l.current=new Ho),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0),h.current&&(h.current=!1,await(m.current?.()))}catch(e){t(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Bo)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await Vo()&&L(Bo)}}},[s]),T=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),w=I(async()=>{try{if(!l.current||!f.current)return;const s=p.current?Date.now()-p.current:0;if(o(!1),d(0),s<500)return l.current?.cleanup(),void(p.current=null);c(!0);const a=await l.current.stopRecording(),i=await(n?.())??null;if(!i)return void L("Failed to transcribe audio");const u=await v({conversationId:i,audioFile:a}).unwrap();u.success?u.data.text&&(y(Ps(u.data.transcription_id)),r&&e?await e(u.data.text):!r&&t&&t(u.data.text)):L("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),L("Failed to transcribe audio")}finally{c(!1),f.current=!1,l.current?.cleanup(),p.current=null}},[r,y,n,e,t,v]);return k(()=>{m.current=w},[w]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:a,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:w,cancelRecording:s===Go.TAP?T:null}},Jo="OAUTH_SUCCESS",Xo="OAUTH_ERROR",Yo=Jo,Zo=Xo;function ei({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[s]=rs();k(()=>{if(!e)return;const a=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 L("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===Zo)return void c(()=>L(`Failed to sign in to ${a}. Please try again.`));if(e.data?.type!==Yo)return;i=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await s({code:l,state:p})?L(`Failed to sign in to ${a}. Please try again.`):(ve(`${a} connected successfully`),r&&t.current?.(`${a} 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,s,r])}function ti({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:s}=vo({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=Ao({paymentInit:t,onPaymentResult:s,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:r}}const ni={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0,show_conversation_history:!0},voice_agent:{enabled:!0,show_customization_modal:!1,assistant_starts_conversation:!0},stt:{enabled:!0},documents:{max_bytes:26214400,max_documents:25,allowed_mime_types:null},features:[Ie.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Qa.WEB]:Fa.SIGN_IN_ONLY,[Qa.MOBILE]:Fa.SIGN_IN_ONLY}},ri=x(void 0),si=()=>{const{data:e,isLoading:t,error:n}=Js(),r=e?.success?e.data:null,s=A(()=>{return(e=r)?{conversations:{...ni.conversations,...e.conversations},voice_agent:{...ni.voice_agent,...e.voice_agent},stt:{...ni.stt,...e.stt},documents:{...ni.documents,...e.documents},features:e.features??ni.features,backend_version:e.backend_version??ni.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??ni.panel_switcher_enabled,auth_mode_config:{...ni.auth_mode_config,...e.auth_mode_config}}:ni;var e},[r]);return A(()=>({clientConfig:s,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[s,t,n])},ai=()=>{const e=P(ri);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},oi=x({}),ii=()=>P(oi);function ci(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function ui(e,t,n){if(!n)return!1;if(!ci(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&ci(n)){r=n;break}}if(!r||r.id!==e.id)return!0;const s=t.findIndex(t=>t.id===e.id);return t.slice(s+1).some(e=>"user"===e.sender)}const di="moyasar_cb";function li(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${Re()}/moyasar-callback.html`);return n.searchParams.set(di,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const pi=new Set(["paid","authorized","failed","captured"]);function fi(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(di))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!pi.has(n))return null;const s=t.get("conversation_id")||null,a=(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:a,amount:Number.isFinite(n)?n:void 0,currency:t.get("currency")??void 0},conversationId:s}}return{result:{status:"failure",provider:"moyasar",code:n,message:hi(t.get("message")??`Payment ${n}`),paymentId:a},conversationId:s}}function hi(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function gi(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,success:e.statusSuccess.solid,successBg:e.statusSuccess.background,warning:e.statusWarning.solid,warningBg:e.statusWarning.background,danger:e.statusDanger.solid,dangerBg:e.statusDanger.background,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"}}export{Qa as AUTH_CLIENT_TYPES,Fa as AUTH_MODES,oa as AguiAdapter,Ho as AudioRecorder,Ka as BREAKPOINTS,Co as CHAT_INPUT_MODES,Ba as CONVERSATION_TITLE_REFRESH_DELAYS_MS,oi as ChatCallbacksContext,Qo as ChatSettingsContext,ri as ConfigurationContext,Wa as DEFAULT_CONVERSATION_TITLE,fo as DEFAULT_PAYMENT_PROVIDER,Zs as DEFAULT_PROTOCOL,zr as ERROR_CODES,ua as EventAggregator,Lr as GENERIC_SERVER_ERROR_MESSAGE,ea as MAX_CONNECTION_RETRIES,Ja as MODEL_CONTEXT_TEXT_MAX_LENGTH,di as MOYASAR_CALLBACK_SENTINEL,Xo as OAUTH_ERROR_TYPE,Jo as OAUTH_SUCCESS_TYPE,Ga as PAGINATION,ho as PAYMENT_FAILURE_CODES,ra as ProprietaryAdapter,Xs as ProtocolContext,ta as SSEEventType,Go as STT_GESTURES,Ha as THINKING_MESSAGES,Va as TYPEWRITER_INTERVAL_MS,so as USER_COLLAPSED_MESSAGE_TYPE,Hr as apiBridge,bs as apiMiddleware,Ss as apiReducers,zs as bindChatLogger,ls as brandingApi,Vr as bridgedFetch,gi as buildBrandSkin,li as buildCallbackUrl,Yr as chatApi,Gs as chatCoreRootReducer,Hs as chatLoggerContextProvider,Ds as chatReducer,Sa as checkOrganizationExistsApi,xs as clearMessageQueue,hs as configApi,$s as conversationsReducer,ia as createAdapter,ca as createDefaultAdapterConfig,Ua as createInheritedSessionRefresher,Ca as createSessionRefresher,Ns as dequeueMessage,Cs as enqueueMessage,wa as fetchOrganizations,ya as forgotPasswordApi,lo as formatAmount,yo as formatPaymentResult,po as formatResultMessage,Qr as getApiErrorMessage,ja as getAuthMode,Gr as getAuthToken,To as getCachedLocation,$r as getCodeEntryErrorMessage,jr as getErrorGroup,Xr as getLatestRequestId,la as guestLoginApi,ro as hasAnyExtraData,Ur as isApiServerError,no as isEmptyMessage,sa as isHttpsUrl,da as loginApi,ga as logoutApi,fi as parseMoyasarCallbackFromUrl,ms as profileApi,ma as refreshTokenApi,ha as resendVerificationApi,Es as resetAllApiState,Ks as resetChatLoggerForTests,Ms as resetChatState,va as resetPasswordApi,Bs as serializableCheck,Qs as setActiveConversationId,As as setIsAgentWorking,ks as setResponseStartTime,Os as setStatusText,ui as shouldDisableMessage,pa as signupApi,Ta as ssoExchangeApi,_a as ssoStartApi,Vs as store,ao as toModelContext,Fs as upsertConversationTitle,uo as useActiveConversationTitle,za as useAuth,ii as useChatCallbacks,io as useChatConnection,co as useChatHistory,No as useChatInput,Fo as useChatSettings,ai as useConfiguration,si as useConfigurationValue,ko as useConnectors,Io as useContainerQuery,to as useConversation,Zr as useCreateConversatonsMutation,_s as useDeleteAccountMutation,os as useDeleteConversationMutation,ns as useDeleteDocumentMutation,us as useDeleteToolServerConnectionMutation,Lo as useElapsedSeconds,_o as useEventEmitter,rs as useExchangeOAuthCodeMutation,ps as useGetBrandingQuery,Js as useGetConfigQuery,ss as useGetConversationHistoryQuery,ys as useGetProfileQuery,is as useGetToolServersQuery,zo as useGuestBoot,Ia as useGuestLogin,So as useInfiniteScroll,Ko as useInheritedAuthBoot,Eo as useIsDesktop,as as useLazyGetConversationByIdQuery,Ro as useLocationInit,Ea as useLogin,Oa as useLogout,bo as useMediaQuery,Mo as useMessageList,ei as useOAuthPopup,ti as usePayment,vo as usePaymentFlow,Ao as usePaymentResultDedup,Ys as useProtocol,ka as useRefreshToken,Po as useResolvedChatIndicators,Wo as useSTTRecording,Ra as useSignup,cs as useStartToolServerOAuthMutation,Do as useThinkingMessage,jo as useTokenRefresh,es as useTranscribeAudioMutation,Uo as useTypewriter,Ts as useUpdatePasswordMutation,vs as useUpdateProfileMutation,ts as useUploadDocumentMutation,wo as useUserLocation,Aa as useVerifyEmail,fa as verifyEmailApi};
|
|
1
|
+
import{nanoid as e,formatProdErrorMessage as t,createSelector as n,createAction as r,createAsyncThunk as s,createSlice as a,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 T,useSelector as w,useDispatch as S,batch as b,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as R,useMemo as A,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as x,useContext as P}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as L,getTokenRefreshHandler as U,clearSession as Q,setSession as F,readAccessToken as $,API_ENDPOINTS as j,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 Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,isVerificationRequired as re,AUTH_HEADERS as se,createTokenRefresher as ae,INHERITED_AUTH_ERROR_REASONS as oe,isTokenExpired as ie,getStorageRef as ce,STORAGE_KEYS as ue,formatTimeRemaining as de,getTimeUntilExpiry as le,MODEL_CONTEXT_PART_TYPES as pe,INDICATOR_TIMER_ACTIONS as fe,setLastResponseTime as he,handleSharedEvent as ge,clearLastResponseTime as me,readDeviceToken as ye,showSuccessToast as ve,eventEmitter as _e,useStorage as Te,useBranding as we,hasWidgets as Se,getTimeUntilRefresh as be,setTokenRefreshHandler as Ee,FEATURE_FLAGS as Ie,getBaseUrl as Re}from"@1interface/shared-core";import{fetchEventSource as Ae}from"@microsoft/fetch-event-source";var Oe=Symbol.for("immer-nothing"),ke=Symbol.for("immer-draftable"),Ce=Symbol.for("immer-state"),Ne="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 xe(e,...t){if("production"!==process.env.NODE_ENV){const n=Ne[e],r=tt(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 Pe=Object,qe=Pe.getPrototypeOf,Me="constructor",De="prototype",Le="configurable",Ue="enumerable",Qe="writable",Fe="value",$e=e=>!!e&&!!e[Ce];function je(e){return!!e&&(He(e)||Xe(e)||!!e[ke]||!!e[Me]?.[ke]||Ye(e)||Ze(e))}var ze=Pe[De][Me].toString(),Ke=new WeakMap;function He(e){if(!e||!et(e))return!1;const t=qe(e);if(null===t||t===Pe[De])return!0;const n=Pe.hasOwnProperty.call(t,Me)&&t[Me];if(n===Object)return!0;if(!tt(n))return!1;let r=Ke.get(n);return void 0===r&&(r=Function.toString.call(n),Ke.set(n,r)),r===ze}function Ge(e,t,n=!0){0===Be(e)?(n?Reflect.ownKeys(e):Pe.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Be(e){const t=e[Ce];return t?t.type_:Xe(e)?1:Ye(e)?2:Ze(e)?3:0}var Ve=(e,t,n=Be(e))=>2===n?e.has(t):Pe[De].hasOwnProperty.call(e,t),We=(e,t,n=Be(e))=>2===n?e.get(t):e[t],Je=(e,t,n,r=Be(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Xe=Array.isArray,Ye=e=>e instanceof Map,Ze=e=>e instanceof Set,et=e=>"object"==typeof e,tt=e=>"function"==typeof e,nt=e=>"boolean"==typeof e,rt=e=>e.copy_||e.base_,st=e=>e.modified_?e.copy_:e.base_;function at(e,t){if(Ye(e))return new Map(e);if(Ze(e))return new Set(e);if(Xe(e))return Array[De].slice.call(e);const n=He(e);if(!0===t||"class_only"===t&&!n){const t=Pe.getOwnPropertyDescriptors(e);delete t[Ce];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const s=n[r],a=t[s];!1===a[Qe]&&(a[Qe]=!0,a[Le]=!0),(a.get||a.set)&&(t[s]={[Le]:!0,[Qe]:!0,[Ue]:a[Ue],[Fe]:e[s]})}return Pe.create(qe(e),t)}{const t=qe(e);if(null!==t&&n)return{...e};const r=Pe.create(t);return Pe.assign(r,e)}}function ot(e,t=!1){return ct(e)||$e(e)||!je(e)||(Be(e)>1&&Pe.defineProperties(e,{set:it,add:it,clear:it,delete:it}),Pe.freeze(e),t&&Ge(e,(e,t)=>{ot(t,!0)},!1)),e}var it={[Fe]:function(){xe(2)}};function ct(e){return null===e||!et(e)||Pe.isFrozen(e)}var ut="MapSet",dt="Patches",lt="ArrayMethods",pt={};function ft(e){const t=pt[e];return t||xe(0,e),t}var ht,gt=e=>!!pt[e],mt=()=>ht;function yt(e,t){t&&(e.patchPlugin_=ft(dt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function vt(e){_t(e),e.drafts_.forEach(wt),e.drafts_=null}function _t(e){e===ht&&(ht=e.parent_)}var Tt=e=>ht={drafts_:[],parent_:ht,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:gt(ut)?ft(ut):void 0,arrayMethodsPlugin_:gt(lt)?ft(lt):void 0};function wt(e){const t=e[Ce];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function St(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Ce].modified_&&(vt(t),xe(4)),je(e)&&(e=bt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Ce].base_,e,t)}else e=bt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ot(t,n)}(t,e,!0),vt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Oe?e:void 0}function bt(e,t){if(ct(t))return t;const n=t[Ce];if(!n)return kt(t,e.handledSet_,e);if(!It(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);Ot(n,e)}return n.copy_}function Et(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var It=(e,t)=>e.scope_===t,Rt=[];function At(e,t,n,r){const s=rt(e),a=e.type_;if(void 0!==r&&We(s,r,a)===t)return void Je(s,r,n,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ge(s,(e,n)=>{if($e(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??Rt;for(const e of o)Je(s,e,n,a)}function Ot(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)}Et(e)}}function kt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||$e(e)||t.has(e)||!je(e)||ct(e)||(t.add(e),Ge(e,(r,s)=>{if($e(s)){const t=s[Ce];if(It(t,n)){const n=st(t);Je(e,r,n,e.type_),Et(t)}}else je(s)&&kt(s,t,n)})),e}var Ct={get(e,t){if(t===Ce)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 s=rt(e);if(!Ve(s,t,e.type_))return function(e,t,n){const r=Pt(t,n);return r?Fe in r?r[Fe]:r.get?.call(e.draft_):void 0}(e,s,t);const a=s[t];if(e.finalized_||!je(a))return a;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return a;if(a===xt(e.base_,t)){Mt(e);const n=1===e.type_?+t:t,r=Dt(0,a,e,n);return e.copy_[n]=r}return a},has:(e,t)=>t in rt(e),ownKeys:e=>Reflect.ownKeys(rt(e)),set(e,t,n){const r=Pt(rt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=xt(rt(e),t),o=r?.[Ce];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((s=n)===(a=r)?0!==s||1/s==1/a:s!=s&&a!=a)&&(void 0!==n||Ve(e.base_,t,e.type_)))return!0;Mt(e),qt(e)}var s,a;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($e(n)){const s=n[Ce];It(s,r)&&s.callbacks_.push(function(){Mt(e);const r=st(s);At(e,n,r,t)})}else je(n)&&e.callbacks_.push(function(){const s=rt(e);3===e.type_?s.has(n)&&kt(n,r.handledSet_,r):We(s,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&kt(We(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Mt(e),void 0!==xt(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),qt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=rt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Qe]:!0,[Le]:1!==e.type_||"length"!==t,[Ue]:r[Ue],[Fe]:n[t]}:r},defineProperty(){xe(11)},getPrototypeOf:e=>qe(e.base_),setPrototypeOf(){xe(12)}},Nt={};for(let e in Ct){let t=Ct[e];Nt[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function xt(e,t){const n=e[Ce];return(n?rt(n):e)[t]}function Pt(e,t){if(!(t in e))return;let n=qe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=qe(n)}}function qt(e){e.modified_||(e.modified_=!0,e.parent_&&qt(e.parent_))}function Mt(e){e.copy_||(e.assigned_=new Map,e.copy_=at(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Dt(e,t,n,r){const[s,a]=Ye(t)?ft(ut).proxyMap_(t,n):Ze(t)?ft(ut).proxySet_(t,n):function(e,t){const n=Xe(e),r={type_:n?1:0,scope_:t?t.scope_:mt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let s=r,a=Ct;n&&(s=[r],a=Nt);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??mt()).drafts_.push(s),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const s=t;if(!s||!It(s,r))return;r.mapSetPlugin_?.fixSetContents(s);const a=st(s);At(e,s.draft_??s,a,n),Ot(s,r)})}(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),s}function Lt(e){return $e(e)||xe(10,e),Ut(e)}function Ut(e){if(!je(e)||ct(e))return e;const t=e[Ce];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=at(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=at(e,!0);return Ge(n,(e,t)=>{Je(n,e,Ut(t))},r),t&&(t.finalized_=!1),n}Nt.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&xe(13),Nt.set.call(this,e,t,void 0)},Nt.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&xe(14),Ct.set.call(this,e[0],t,n,e[0])};var Qt=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(tt(e)&&!tt(t)){const n=t;t=e;const r=this;return function(e=n,...s){return r.produce(e,e=>t.call(this,e,...s))}}let r;if(tt(t)||xe(6),void 0===n||tt(n)||xe(7),je(e)){const s=Tt(this),a=Dt(0,e,void 0);let o=!0;try{r=t(a),o=!1}finally{o?vt(s):_t(s)}return yt(s,n),St(r,s)}if(!e||!et(e)){if(r=t(e),void 0===r&&(r=e),r===Oe&&(r=void 0),this.autoFreeze_&&ot(r,!0),n){const t=[],s=[];ft(dt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:s}),n(t,s)}return r}xe(1,e)},this.produceWithPatches=(e,t)=>{if(tt(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]},nt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),nt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),nt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){je(e)||xe(8),$e(e)&&(e=Lt(e));const t=Tt(this),n=Dt(0,e,void 0);return n[Ce].isManual_=!0,_t(t),n}finishDraft(e,t){const n=e&&e[Ce];n&&n.isManual_||xe(9);const{scope_:r}=n;return yt(r,t),St(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=ft(dt).applyPatches_;return $e(e)?r(e,t):this.produce(e,e=>r(e,t))}},Ft=Qt.produceWithPatches.bind(Qt),$t=Qt.applyPatches.bind(Qt),jt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},zt=(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})}}},Kt=(e,t,n)=>{const{memoize:r,memoizeOptions:s}=t,{inputSelectorResults:a,inputSelectorResultsCopy:o}=e,i=r(()=>({}),...s);if(i.apply(null,a)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:n,firstInputs:a,secondInputs:o,stack:e})}},Ht={inputStabilityCheck:"once",identityFunctionCheck:"once"},Gt=e=>Array.isArray(e)?e:[e];function Bt(e,t){const n=[],{length:r}=e;for(let s=0;s<r;s++)n.push(e[s].apply(null,t));return n}var Vt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Wt(){return{s:0,v:void 0,o:null,p:null}}function Jt(e,t={}){let n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let s,a=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=Wt(),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=Wt(),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),a++,r){const e=s?.deref?.()??s;null!=e&&r(e,c)&&(c=e,0!==a&&a--),s="object"==typeof c&&null!==c||"function"==typeof c?new Vt(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=()=>a,o.resetResultsCount=()=>{a=0},o}function Xt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,s=0,a={},o=e.pop();"object"==typeof o&&(a=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...n,...a},{memoize:c,memoizeOptions:u=[],argsMemoize:d=Jt,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=Gt(u),h=Gt(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(){s++;const e=Bt(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}={...Ht,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:zt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Kt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Bt(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:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>t,recomputations:()=>r,resetRecomputations:()=>{r=0},memoize:c,argsMemoize:d})};return Object.assign(r,{withTypes:()=>r}),r}var Yt=Xt(Jt),Zt=Object.assign((e,t=Yt)=>{!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:()=>Zt}),en=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(en||{}),tn="uninitialized",nn="pending",rn="fulfilled",sn="rejected";function an(e){return{status:e,isUninitialized:e===tn,isLoading:e===nn,isSuccess:e===rn,isError:e===sn}}var on=l;function cn(e,t){if(e===t||!(on(e)&&on(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let s=n.length===r.length;const a=Array.isArray(t)?[]:{};for(const r of n)a[r]=cn(e[r],t[r]),s&&(s=e[r]===a[r]);return s?e:a}function un(e,t,n){return e.reduce((e,r,s)=>(t(r,s)&&e.push(n(r,s)),e),[]).flat()}function dn(e){return null!=e}function ln(e){return[...e?.values()??[]].filter(dn)}function pn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var fn=()=>new Map,hn=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},gn=(...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},mn=(...e)=>fetch(...e),yn=e=>e.status>=200&&e.status<=299,vn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function _n(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 Tn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},wn="__rtkq/",Sn="online",bn="offline",En="focus",In="focused",Rn="visibilitychange",An=r(`${wn}${In}`),On=r(`${wn}un${In}`),kn=r(`${wn}${Sn}`),Cn=r(`${wn}${bn}`),Nn=!1,xn="query",Pn="mutation",qn="infinitequery";function Mn(e){return e.type===xn}function Dn(e){return e.type===qn}function Ln(e){return Mn(e)||Dn(e)}function Un(e,t,n,r,s,a){const o="function"==typeof e?e(t,n,r,s):e;return o?un(o,dn,e=>a(Qn(e))):[]}function Qn(e){return"string"==typeof e?{type:e}:e}var Fn=(e,t)=>e.endpointDefinitions[t],$n=Symbol("forceQueryFn"),jn=e=>"function"==typeof e[$n],zn=class extends jt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Kn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Hn(e,t,n,r){const s=await e["~standard"].validate(t);if(s.issues)throw new zn(s.issues,t,n,r);return s.value}function Gn(e){return e}var Bn=(e={})=>({...e,[p]:!0});function Vn(e,{pages:t,pageParams:n},r){const s=t.length-1;return e.getNextPageParam(t[s],t,n[s],n,r)}function Wn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Jn(e,t,n,r){return Un(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 Xn(e){return $e(e)?Lt(e):e}function Yn(e,t,n){const r=e[t];r&&n(r)}function Zn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function er(e,t,n){const r=e[Zn(t)];r&&n(r)}var tr={},nr=Symbol.for("RTKQ/skipToken"),rr={status:tn},sr=y(rr,()=>{}),ar=y(rr,()=>{}),or=WeakMap?new WeakMap:void 0,ir=({endpointName:e,queryArgs:t})=>{let n="";const r=or?.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)&&or?.set(t,e),n=e}return`${e}(${n})`};function cr(...n){return function(r){const s=Jt(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),a={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:s,serializeQueryArgs(e){let t=ir;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:ir({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},o={endpointDefinitions:{},batch(e){e()},apiUid:e(),extractRehydrationInfo:s,hasRehydrationInfo:Jt(e=>null!=s(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:xn}),mutation:e=>({...e,type:Pn}),infiniteQuery:e=>({...e,type:qn})});for(const[r,s]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&&Dn(s)){const{infiniteQueryOptions:e}=s,{maxPages:n,getPreviousPageParam:a}=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 a)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]=s;for(const e of c)e.injectEndpoint(r,s)}return i},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)a.tagTypes.includes(t)||a.tagTypes.push(t);if(t)for(const[e,n]of Object.entries(t))"function"==typeof n?n(Fn(o,e)):Object.assign(Fn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,a,o));return i.injectEndpoints({endpoints:r.endpoints})}}function ur(e,...t){return Object.assign(e,...t)}var dr=({api:e,queryThunk:t,context:n,internalState:r,selectors:{selectQueryEntry:s,selectConfig:a},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 a of e){const e=s(r,a);e?.endpointName&&m(a,e.endpointName,t,n)}}function m(e,t,r,a){const i=Fn(n,t),u=i?.keepUnusedDataFor??a.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=s(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,s)=>{const o=s.getState(),i=a(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,s,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),s,i)}}},lr=new Error("Promise never resolved before cacheEntryRemoved."),pr=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:s,selectors:{selectQueryEntry:a}})=>{const o=v(r),i=v(s),u=c(r,s),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:s}=t;return[r,s,n]}function y(t,r,s,a,o){const i=Fn(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 lr})]);p.catch(()=>{}),d[s]=u;const f=e.endpoints[t].select(Ln(i)?r:s),h=a.dispatch((e,t,n)=>n),g={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:h,updateCachedData:Ln(i)?n=>a.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==lr)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)?Zn(e.payload):""}(n);function T(e,t,n,r){const s=a(v,t),o=a(c.getState(),t);!s&&o&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);T(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:s,queryCacheKey:a}=e;T(r,a,n.meta.requestId,s),h(a,t,{})}else if(s.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)}},fr=({api:e,context:{apiUid:t},reducerPath:n})=>(r,s)=>{e.util.resetApiState.match(r)&&s.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===s.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!":""}`)},hr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:s,api:a,assertTagType:o,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=a.internalActions,f=i(c(r),u(r)),g=i(c(s,r),h(s,r));let m=[],y=0;function v(n,r){const s=r.getState(),o=s[e];if(m.push(...n),"delayed"===o.config.invalidationBehavior&&y>0)return;const i=m;if(m=[],0===i.length)return;const c=a.util.selectInvalidatedBy(s,i);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=o.queries[t],n=pn(l.currentSubscriptions,t,fn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==tn&&r.dispatch(d(e)))}})}return(e,t)=>{(s.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Jn(e,"invalidatesTags",n,o),t):g(e)?v([],t):a.util.invalidateTags.match(e)&&v(Un(e.payload,void 0,void 0,void 0,void 0,o),t)}},gr=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:s})=>{const{currentPolls:a,currentSubscriptions:o}=s,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 s=n.getState()[e],i=s.queries[t],c=o.get(t);if(!i||i.status===tn)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=a.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;a.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!s.config.focused&&l||n.dispatch(r(i)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],s=o.get(t);if(!r||r.status===tn)return;const{lowestPollingInterval:i}=f(s);if("test"===process.env.NODE_ENV){const e=a.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const c=a.get(t),u=Date.now()+i;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=a.get(e);t?.timeout&&clearTimeout(t.timeout),a.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 a.keys())p(e)}(),c&&(clearTimeout(c),c=null),i.clear())}},mr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const s=g(n,r),a=h(n,r),o=c(n,r),i={};return(n,r)=>{if(s(n)){const{requestId:s,arg:{endpointName:a,originalArgs:o}}=n.meta,c=Fn(t,a),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),i[s]=t;const d=e.endpoints[a].select(Ln(c)?o:s),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:s,extra:l,updateCachedData:Ln(c)?t=>r.dispatch(e.util.updateQueryData(a,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(a(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 yr=Symbol(),vr=({createSelector:l=n}={})=>({name:yr,init(n,{baseQuery:v,tagTypes:_,reducerPath:T,serializeQueryArgs:w,keepUnusedDataFor:S,refetchOnMountOrArgChange:b,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:R,onSchemaFailure:A,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Ne.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(!je(e))return e;if(Xe(e))return e.map(r);if(Ye(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Ze(e))return new Set(Array.from(e).map(r));const t=Object.create(qe(e));for(const n in e)t[n]=r(e[n]);return Ve(e,ke)&&(t[ke]=e[ke]),t}function s(e){return $e(e)?r(e):e}var a;pt[a=dt]||(pt[a]={applyPatches_:function(s,a){return a.forEach(a=>{const{path:o,op:i}=a;let c=s;for(let e=0;e<o.length-1;e++){const t=Be(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==Me||xe(19),tt(c)&&n===De&&xe(19),c=We(c,n),et(c)||xe(18,o.join("/"))}const u=Be(c),d=r(a.value),l=o[o.length-1];switch(i){case e:switch(u){case 2:return c.set(l,d);case 3:xe(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(a.value);default:return delete c[l]}default:xe(17,i)}}),s},generatePatches_:function(r,a,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,a,o,i){const{base_:c,copy_:u,type_:d}=r;Ge(r.assigned_,(r,l)=>{const p=We(c,r,d),f=We(u,r,d),h=l?Ve(c,r)?e:t:n;if(p===f&&h===e)return;const g=a.concat(r);o.push(h===n?{op:h,path:g}:{op:h,path:g,value:s(f)}),i.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:s(p)}:{op:e,path:g,value:s(p)})})}(r,a,i,c);case 1:return function(r,a,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?.[Ce];if(c&&c.modified_)continue;const u=a.concat([t]);o.push({op:e,path:u,value:s(n)}),i.push({op:e,path:u,value:s(r)})}}for(let e=c.length;e<d.length;e++){const n=a.concat([e]);o.push({op:t,path:n,value:s(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=a.concat([e]);i.push({op:n,path:t})}}(r,a,i,c);case 3:return function(e,r,s,a){let{base_:o,copy_:i}=e,c=0;o.forEach(e=>{if(!i.has(e)){const o=r.concat([c]);s.push({op:n,path:o,value:e}),a.unshift({op:t,path:o,value:e})}c++}),c=0,i.forEach(e=>{if(!o.has(e)){const o=r.concat([c]);s.push({op:t,path:o,value:e}),a.unshift({op:n,path:o,value:e})}c++})}(r,a,i,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:s,inversePatches_:a}=r;s.push({op:e,path:[],value:n===Oe?void 0:n}),a.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,s=(r=We(e,t.key_),et(r)?r?.[Ce]:null),a=We(e,t.key_);if(void 0===a)return null;if(a!==t.draft_&&a!==t.base_&&a!==t.copy_)return null;if(null!=s&&s.base_!==t.base_)return null;const o=3===t.parent_.type_;let i;if(i=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>i||Ve(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=We(n,t[e]),!et(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:T,endpoints:{},internalActions:{onOnline:kn,onOffline:Cn,onFocus:An,onFocusLost:On},util:{}});const x=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>sr,s=e=>ar;return{buildQuerySelector:function(e,t){return u(e,t,a)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...an(e.status)},{isLoading:r,isError:s,direction:a}=t,o="forward"===a,i="backward"===a;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=Vn(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&o,isFetchingPreviousPage:r&&i,isFetchNextPageError:s&&o,isFetchPreviousPageError:s&&i};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Zn(e)??nr:e,n(t===nr?s:e=>o(e)?.mutations?.[t]??ar,a)}},selectInvalidatedBy:function(e,n){const r=e[t],s=new Set,a=un(n,dn,Qn);for(const e of a){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)s.add(e)}return Array.from(s.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return un(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==tn,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:c,selectConfig:function(e){return o(e)?.config}};function a(e){return{...e,...an(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,s,a){return o=>{if(o===nr)return n(r,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return n(e=>c(e,i)??sr,a)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Wn(e,t,n)}}({serializeQueryArgs:w,reducerPath:T,createSelector:l}),{selectInvalidatedBy:P,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:L}=x;ur(n.util,{selectInvalidatedBy:P,selectCachedArgsForQuery:q});const{queryThunk:U,infiniteQueryThunk:Q,mutationThunk:F,patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:a,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]:Gn,v=async(e,{signal:r,abort:s,rejectWithValue:a,fulfillWithValue:o,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:T=l}=g,w=e.type===xn;try{let S=Gn;const b={signal:r,abort:s,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:w?_(e,f()):void 0,queryCacheKey:w?e.queryCacheKey:void 0},E=w?e[$n]:void 0;let I;const R=async(t,n,r,s)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const a={queryArg:e.originalArgs,pageParam:n},o=await A(a),i=s?p:m;return{data:{pages:i(t.pages,o.data,r),pageParams:i(t.pageParams,n,r)},meta:o.meta}};async function A(n){let r;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=g;if(a&&!Kn(T,"arg")&&(n=await Hn(a,n,"argSchema",{})),E?r=E():g.query?(S=y(g,"transformResponse"),r=await t(g.query(n),b,s)):r=await g.queryFn(n,b,s,e=>t(e,b,s)),"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 Tn(r.error,r.meta);let{data:c}=r;o&&!Kn(T,"rawResponse")&&(c=await Hn(o,r.data,"rawResponseSchema",r.meta));let u=await S(c,r.meta,n);return i&&!Kn(T,"response")&&(u=await Hn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(w&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const x={pages:[],pageParams:[]},P=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!P?x:P;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?Wn:Vn)(O,q,e.originalArgs);N=await R(q,D,k,M)}else{const{initialPageParam:L=O.initialPageParam}=e,U=P?.pageParams??[],Q=U[0]??L,F=U.length;if(N=await R(q,Q,k),E&&(N={data:N.data.pages[0]}),C)for(let $=1;$<F;$++){const j=Vn(O,N.data,e.originalArgs);N=await R(N.data,j,k)}}I=N}else I=await A(e.originalArgs);return v&&!Kn(T,"meta")&&I.meta&&(I.meta=await Hn(v,I.meta,"metaSchema",I.meta)),o(I.data,Bn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof Tn){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!Kn(T,"rawErrorResponse")&&(V=await Hn(G,V,"rawErrorResponseSchema",W)),v&&!Kn(T,"meta")&&(W=await Hn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!Kn(T,"errorResponse")&&(J=await Hn(B,J,"errorResponseSchema",W)),a(J,Bn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof zn){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:w?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return a(Z(K,Y),Bn({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,s=n?.fulfilledTimeStamp,a=e.forceRefetch??(e.subscribe&&r);return!!a&&(!0===a||(Number(new Date)-Number(s))/1e3>=a)}const T=()=>s(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Bn({startedTimeStamp:Date.now(),...Dn(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),s=i.selectQueryEntry(r,e.queryCacheKey),a=s?.fulfilledTimeStamp,o=e.originalArgs,c=s?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!jn(e)&&("pending"===s?.status||!_(e,r)&&(!Mn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),w=T(),S=T();function b(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:w,mutationThunk:s(`${e}/executeMutation`,v,{getPendingMeta:()=>Bn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:S,prefetch:(e,t,n={})=>(r,s)=>{const o=(e=>"force"in e)(n)&&n.force,i=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>a.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=a.endpoints[e].select(t)(s());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)=>(s,o)=>{const i=a.endpoints[e].select(t)(o()),c={patches:[],inversePatches:[],undo:()=>s(a.util.patchQueryData(e,t,c.inversePatches,r))};if(i.status===tn)return c;let u;if("data"in i)if(je(i.data)){const[e,t,r]=Ft(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||s(a.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(a.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[$n]:()=>({data:n})})),patchQueryData:(e,t,s,i)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(a.internalActions.queryResultPatched({queryCacheKey:l,patches:s})),!i)return;const p=a.endpoints[e].select(t)(u()),f=Un(d.providesTags,p.data,void 0,t,{},o);c(a.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),b(t)),matchFulfilled:f(c(e),b(t)),matchRejected:f(h(e),b(t))}}}}({baseQuery:v,reducerPath:T,context:C,api:n,serializeQueryArgs:w,assertTagType:N,selectors:x,onSchemaFailure:A,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:G,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:s,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const T=r(`${t}/resetApiState`);function w(e,t,n,r){e[t.queryCacheKey]??={status:tn,endpointName:t.endpointName},Yn(e,t.queryCacheKey,e=>{e.status=nn,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,Dn(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function S(e,t,n,r){Yn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:s}=f[t.arg.endpointName];if(e.status=rn,s)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:a,baseQueryMeta:o,requestId:i}=t;let c=y(e.data,e=>s(e,n,{arg:a.originalArgs,baseQueryMeta:o,fulfilledTimeStamp:r,requestId:i}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?cn($e(e.data)?($e(a=e.data)||xe(15,a),a[Ce].base_):e.data,n):n;var a;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const b=a({name:`${t}/queries`,initialState:tr,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:s}=n;w(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),S(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},s,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type:xn,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}}){Yn(e,t,e=>{e.data=$t(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{w(e,n,jn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{S(e,t,n,jn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:s,payload:a})=>{Yn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=sn,e.error=a??s}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==rn&&r?.status!==sn||(e[t]=r)})}}),E=a({name:`${t}/mutations`,initialState:tr,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Zn(t);n in e&&delete e[n]},prepare:o()}},extraReducers(e){e.addCase(s.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:s}})=>{r.track&&(e[Zn(t)]={requestId:n,status:nn,endpointName:r.endpointName,startedTimeStamp:s})}).addCase(s.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&er(e,n,e=>{e.requestId===n.requestId&&(e.status=rn,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(s.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&er(e,r,e=>{e.requestId===r.requestId&&(e.status=sn,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==rn&&r?.status!==sn||t===r?.requestId||(e[t]=r)})}}),I=a({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){R(e,n);for(const{type:t,id:s}of r){const r=(e.tags[t]??={})[s||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:o()}},extraReducers(e){e.addCase(b.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{R(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[s,a]of Object.entries(r)){const r=(e.tags[t]??={})[s||"__internal_without_id"]??=[];for(const t of a)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(i(c(n),u(n)),(e,t)=>{A(e,[t])}).addMatcher(b.actions.cacheEntriesUpserted.match,(e,t)=>{A(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function R(e,t){const n=Xn(e.keys[t]??[]);for(const r of n){const n=r.type,s=r.id??"__internal_without_id",a=e.tags[n]?.[s];a&&(e.tags[n][s]=Xn(a).filter(e=>e!==t))}delete e.keys[t]}function A(e,t){const n=t.map(e=>{const t=Jn(e,"providesTags",f,v),{queryCacheKey:n}=e.meta.arg;return{queryCacheKey:n,providedTags:t}});I.caseReducers.updateProvidedBy(e,I.actions.updateProvidedBy(n))}const O=a({name:`${t}/subscriptions`,initialState:tr,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=a({name:`${t}/internalSubscriptions`,initialState:tr,reducers:{subscriptionsUpdated:{reducer:(e,t)=>$t(e,t.payload),prepare:o()}}}),C=a({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(kn,e=>{e.online=!0}).addCase(Cn,e=>{e.online=!1}).addCase(An,e=>{e.focused=!0}).addCase(On,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:b.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(T.match(t)?void 0:e,t),actions:{...C.actions,...b.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:T}}}({context:C,queryThunk:U,mutationThunk:F,serializeQueryArgs:w,reducerPath:T,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:b,keepUnusedDataFor:S,reducerPath:T,invalidationBehavior:R}});ur(n.util,{patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),ur(n.internalActions,B);const V=new WeakMap,W=e=>pn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:s,api:a,context:o,getInternalState:i}){const c=e=>i(e)?.runningQueries,u=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=a.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(a,o)=>{const i=s({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=a(i);f(a);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:()=>{a(l({requestId:d,fixedCacheKey:r}))}}),y=u(a);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 s=Fn(o,t),a=e({queryArgs:n,endpointDefinition:s,endpointName:t});return c(r)?.get(a)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>ln(c(e))},getRunningMutationsThunk:function(){return e=>ln(u(e))}};function f(e){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const n=e(a.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 "${a.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,s){const o=(i,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[$n]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:s,endpointName:t});let T;const w={...m,type:xn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[$n]:g};if(Mn(s))T=n(w);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;T=r({...w,direction:e,initialPageParam:t,refetchCachedPages:n})}const S=a.endpoints[t].select(i),b=y(T),E=S(v());f(y);const{requestId:I,abort:R}=b,A=E.requestId!==I,O=c(y)?.get(_),k=()=>S(v()),C=Object.assign(g?b.then(k):A&&!O?Promise.resolve(E):Promise.all([O,b]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:R,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!A&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,serializeQueryArgs:w,context:C,getInternalState:W});ur(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:se}=function(e){const{reducerPath:t,api:n,context:s,getInternalState:a}=e,{apiUid:o}=s,i={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[fr,dr,hr,gr,pr,mr];return{middleware:r=>{let i=!1;const l=a(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 s=null,a=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(s||(s=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return s={},n.currentSubscriptions.clear(),a=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:s}=r.payload,a=n.get(e);return a?.has(t)&&a.set(t,s),!0}if(i.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,s=n.get(e);return s&&s.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,s=pn(n,e.queryCacheKey,fn);return e.subscribe&&s.set(t,e.subscriptionOptions??s.get(t)??{}),!0}let s=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:a}}=r;if(e&&t.subscribe){const e=pn(n,t.queryCacheKey,fn);e.set(a,t.subscriptionOptions??e.get(a)??{}),s=!0}}return s})(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){a||(a=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=Ft(s,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),s=t,a=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:s})=>{const{removeQueryResult:a}=n.internalActions;function o(n,o){const i=n.getState()[e],c=i.queries,u=s.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],s=u.get(e);if(!s||!t)continue;const d=[...s.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===s.size?n.dispatch(a({queryCacheKey:e})):t.status!==tn&&n.dispatch(r(t)))}})}return(e,t)=>{An.match(e)&&o(t,"refetchOnFocus"),kn.match(e)&&o(t,"refetchOnReconnect")}})(p);return e=>a=>{if(!m(a))return e(a);i||(i=!0,r.dispatch(n.internalActions.middlewareRegistered(o)));const u={...r,next:e},d=r.getState(),[l,p]=h(a,u,d);let y;if(y=l?e(a):p,r.getState()[t]&&(g(a,u,d),c(a)||s.hasRehydrationInfo(a)))for(const e of f)e(a,u,d);return y}},actions:i};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:T,context:C,queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,assertTagType:N,selectors:x,getRunningQueryThunk:ne,getInternalState:W});return ur(n.util,se),ur(n,{reducer:G,middleware:re}),{name:yr,injectEndpoint(e,t){const r=n,s=r.endpoints[e]??={};Mn(t)&&ur(s,{name:e,select:M(e,t),initiate:J(e,t)},H(U,e)),t.type===Pn&&ur(s,{name:e,select:L(),initiate:Y(e)},H(F,e)),Dn(t)&&ur(s,{name:e,select:D(e,t),initiate:X(e,t)},H(U,e))}}}});function _r(e){return e.replace(e[0],e[0].toUpperCase())}function Tr(e){let t=0;for(const n in e)t++;return t}function wr(e){return"infinitequery"===e.type}function Sr(e,...t){return Object.assign(e,...t)}vr();var br=Symbol();function Er(e){const t=C(e),n=A(()=>cn(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function Ir(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Rr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Ar=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Or=(()=>Rr||Ar?N:k)(),kr=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:en.pending}:e;function Cr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Nr=["data","status","isLoading","isSuccess","isError","error"],xr=Symbol(),Pr=cr(vr(),(({batch:e=b,hooks:n={useDispatch:S,useSelector:w,useStore:T},createSelector:r=Yt,unstable__sideEffectsInRender:s=!1,...a}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const s of e)if(Tr(a)>0&&(a[s]&&(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[s]=a[s]),"function"!=typeof n[s])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 ${s} was either not provided or not a function.`)}return{name:xr,init(a,{serializeQueryArgs:o},i){const c=a,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:s,useStore:a},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(s){const a=(e,n={})=>{const[r]=g(s,e,n);return y(r),A(()=>({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:a,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[s],u=r(),[p,f]=O(br),h=C(void 0),g=Ir({refetchOnReconnect:t,refetchOnFocus:a,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===br||h.current||y(p,!0)},[p,y]),A(()=>[y,p,{reset:v}],[y,p,v])},i=m(s,f);return{useQueryState:i,useQuerySubscription:a,useLazyQuerySubscription:o,useLazyQuery(e){const[t,n,{reset:r}]=o(e),s=i(n,{...e,skip:n===br}),a=A(()=>({lastArg:n}),[n]);return A(()=>[t,{...s,reset:r},a],[t,s,r,a])},useQuery(e,t){const n=a(e,t),r=i(e,{selectFromResult:e===nr||t?.skip?void 0:kr,...t}),s=Cr(r,...Nr);return R(s),A(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,s={})=>{const[a,o,i,c]=g(e,r,s),u=C(c);d(()=>{u.current=c},[c]);const p=Ir(s.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(a),a.current=r=o(i(e,{subscriptionOptions:u.current,direction:t}))}),r},[a,o,i]);y(a);const h=Er(s.skip?nr:r),m=I(e=>{if(!a.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return a.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[a,p]);return A(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},s=m(e,h);return{useInfiniteQueryState:s,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:a,fetchPreviousPage:o}=r(e,t),i=s(e,{selectFromResult:e===nr||t?.skip?void 0:kr,...t}),c=Cr(i,...Nr,"hasNextPage","hasPreviousPage");return R(c),A(()=>({...i,fetchNextPage:a,fetchPreviousPage:o,refetch:n}),[i,a,o,n])}}},buildMutationHook:function(t){return({selectFromResult:a,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=A(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=A(()=>a?i([g],a):g,[a,g]),y=s(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]),T=Cr(y,...Nr,"endpointName");R(T);const w=A(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return A(()=>[f,w],[f,w])}},usePrefetch:function(t,n){const s=r(),a=Ir(n);return I((n,r)=>s(e.util.prefetch(t,n,{...a,...r})),[t,s,a])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==nr&&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 s=void 0!==r,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||s&&(a&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==nr&&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 s=void 0!==r,a=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!s&&a,i=e.isSuccess||a&&s;return{...e,data:r,currentData:e.data,isFetching:a,isLoading:o,isSuccess:i}}function g(n,s,{refetchOnReconnect:a,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=Er(c?nr:s),v=Ir({refetchOnReconnect:a,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Ir(f.initialPageParam),T=Ir(f.refetchCachedPages),w=C(void 0);let{queryCacheKey:S,requestId:b}=w.current||{},E=!1;S&&b&&(E=m.current.isRequestSubscribed(S,b));const I=!E&&void 0!==w.current;return d(()=>{I&&(w.current=void 0)},[I]),d(()=>{const e=w.current;if("undefined"!=typeof process&&process,y===nr)return e?.unsubscribe(),void(w.current=void 0);const t=w.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...wr(p[n])?{initialPageParam:_,refetchCachedPages:T}:{}}));w.current=t}},[g,h,i,y,v,I,_,T,n]),[w,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=Er(o?nr:r),l=C(void 0),p=A(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=A(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=s(e=>f(e,l.current),E),g=a(),m=p(g.getState(),l.current);return Or(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:a,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:s,createSelector:r},serializeQueryArgs:o,context:i});return Sr(c,{usePrefetch:p}),Sr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}=u(e);Sr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}),a[`use${_r(e)}Query`]=t,a[`useLazy${_r(e)}Query`]=n}if("mutation"===t.type){const t=l(e);Sr(c.endpoints[e],{useMutation:t}),a[`use${_r(e)}Mutation`]=t}else if(wr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);Sr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),a[`use${_r(e)}InfiniteQuery`]=t}}}}}})());let qr=0;function Mr(e){return null!==e&&"object"==typeof e}function Dr(e){return Mr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Lr="Something went wrong. Please try again.";function Ur(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Qr(e,t){return Ur(e)?Lr:function(e){if(!Mr(e))return null;if("string"==typeof e.message){try{const t=Dr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Dr(e.data)??Dr(e.data?.data)}(e)??t??"An unexpected error occurred."}function Fr(e){if(!Mr(e))return null;const t=e.data;return Mr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function $r(e,t){if(!Mr(e))return t.generic;if(Ur(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return Fr(JSON.parse(e))}catch{return null}}(e.message);return n||(Fr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function jr(e){if(!Mr(e))return null;const t=e.data;if(Mr(t)){const e=t.data;if(Mr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const zr={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 Kr=null;const Hr=function(e){const{name:t,innerBaseQuery:n,requestInterceptors:r,responseInterceptors:s,defaultOptions:a}=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:{...a,...i?.bridge,...u}},l={bridgeName:t,requestId:(p=t,qr+=1,`${p}-${qr}`),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 s)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=mn,paramsSerializer:r,isJsonContentType:s=vn,jsonContentType:a="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===mn&&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:T}=h;let w,{url:S,headers:b=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:R=u??yn,timeout:A=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:A?gn(h.signal,hn(A)):h.signal,...O};b=new Headers(_n(b)),k.headers=await t(b,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:T,extraOptions:g})||b;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",a),C&&s(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=~S.indexOf("?")?"&":"?";S+=e+(r?r(E):new URLSearchParams(_n(E)))}S=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,S);const x=new Request(S,k);let P;w={request:new Request(S,k)};try{P=await n(x)}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:w}}const q=P.clone();let M;w.response=q;let D="";try{let e;if(await Promise.all([p(P,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:P.status,data:D,error:String(e)},meta:w}}return R(P,M)?{data:M,meta:w}:{error:{status:P.status,data:M},meta:w}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=s(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,s=Object.keys(n).length>0,a=!!r&&Object.keys(r).length>0;return s||a?{...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 s=n.api.getState();if(!s.auth?.accessToken||!s.auth?.isAuthenticated)return e;if(!U())return n.api.dispatch(Q()),e;try{const e=await async function(){return Kr||(Kr=async function(){const e=U();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{Kr=null}),Kr)}();if(e){const s=n.api.getState().auth?.accessToken;return s!==e.accessToken&&n.api.dispatch(F({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(Q())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(Q())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(s=e.error,a={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},s&&"object"==typeof s&&"status"in s?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,s="number"==typeof r&&r>=400?r:e.status;let a,o="Request failed",i=zr.UNKNOWN;if("data"in e)if(a=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=Dr(t)??Dr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===s?i=zr.UNAUTHORIZED:403===s?i=zr.FORBIDDEN:404===s?i=zr.NOT_FOUND:422===s?i=zr.VALIDATION_ERROR:"FETCH_ERROR"===s?i=zr.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=zr.TIMEOUT:"PARSING_ERROR"===s?i=zr.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=zr.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=Lr),{status:s,message:o,data:a,code:i,meta:{timestamp:Date.now(),...t}}}(s,a):s instanceof Error?{status:"FETCH_ERROR",message:s.message||"An unexpected error occurred",code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:zr.UNKNOWN,meta:{timestamp:Date.now(),...a}});var s,a;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?(L("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(L("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(L(Lr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:s}=e.error;if("FETCH_ERROR"!==s&&"TIMEOUT_ERROR"!==s)return e;const a=n.extraOptions.bridge?.retry,o=a?.maxRetries??1,i=a?.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,s=Date.now()-n.startTime,a=(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} ${a} ${o} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:a,url:o,status:c,duration:s,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${a} ${o} ${c} ${s}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:a,url:o,status:c,duration:s}),e}]});function Gr(){return $()}let Br=0;async function Vr(e){const{url:t,method:n="GET",body:r,headers:s={},skipAuth:a=!1,skipLogging:o=!1,skipContentType:i=!1,responseHandler:c="json",signal:u,keepalive:d}=e;Br+=1;const l=`fetch-${Br}`,p=Date.now(),f=n.toUpperCase(),h={...s};if(Object.assign(h,q()),!a){const e=Gr();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 s=e.headers.get("x-request-id")??void 0;return o||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:s??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},response:e}}let s;if("blob"===c)s=await e.blob();else if("text"===c)s=await e.text();else{const t=await e.text();s=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:s,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 Wr=3e5;let Jr=0;const Xr=()=>"",Yr=Pr({reducerPath:"chatApi",baseQuery:Hr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${j.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:`${j.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:`${j.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:s}=await Vr({url:j.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return s?{error:s}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r,onUploadProgress:s,onUploadComplete:a})=>{const o=new FormData;o.append("file",e),t&&o.append("filename",t),n&&o.append("document_type",n),r&&o.append("conversation_id",r);const{data:i,error:c}=await async function(e){const{url:t,method:n="POST",body:r,headers:s={},skipAuth:a=!1,skipLogging:o=!1,onUploadProgress:i,onUploadComplete:c,timeoutMs:u=Wr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return M()&&!o&&D.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Vr({url:t,method:n,body:r,headers:s,skipAuth:a,skipLogging:o,skipContentType:!0,signal:d});Jr+=1;const l=`upload-${Jr}`,p=Date.now(),f=n.toUpperCase(),h={Accept:"application/json",...s,...q()};if(!a){const e=Gr();e&&(h.Authorization=`Bearer ${e}`)}return new Promise(e=>{const s=new XMLHttpRequest;let a=!1;const g=t=>{a||(a=!0,d?.removeEventListener("abort",y),e(t))},m=(e,n)=>{const r=Date.now()-p;o||D.error({message:`bridgedUpload ${f} ${t} ${e.toLowerCase()}`,api_name:"bridgedUpload",request_id:l,method:f,url:t,status:e,duration:r,error_message:n}),g({error:{status:e,data:n}})},y=()=>s.abort();s.open(n,t,!0),s.timeout=u;for(const[e,t]of Object.entries(h))s.setRequestHeader(e,t);if(i&&(s.upload.onprogress=e=>i(e.loaded,e.lengthComputable?e.total:0)),c&&(s.upload.onload=()=>c()),s.onload=()=>{const e=Date.now()-p,n=s.getResponseHeader("x-request-id")??l;let r;try{r=s.responseText?JSON.parse(s.responseText):void 0}catch{r=s.responseText}if(s.status<200||s.status>=300)return o||D.error({message:`bridgedUpload ${f} ${t} failed (${s.status})`,api_name:"bridgedUpload",request_id:n,method:f,url:t,status:s.status,duration:e,error_data:r}),void g({error:{status:s.status,data:r}});g({data:r})},s.onerror=()=>m("FETCH_ERROR","Network error"),s.ontimeout=()=>m("TIMEOUT_ERROR","Request timed out"),s.onabort=()=>m("ABORT_ERROR","Upload cancelled"),d){if(d.aborted)return void m("ABORT_ERROR","Upload cancelled");d.addEventListener("abort",y)}s.send(r)})}({url:j.DOCUMENTS(),method:"POST",body:o,onUploadProgress:s,onUploadComplete:a});return c?{error:c}:{data:i}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await Vr({url:j.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:j.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:j.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:j.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:j.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${j.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:Zr,useTranscribeAudioMutation:es,useUploadDocumentMutation:ts,useDeleteDocumentMutation:ns,useExchangeOAuthCodeMutation:rs,useGetConversationHistoryQuery:ss,useLazyGetConversationByIdQuery:as,useDeleteConversationMutation:os,useGetToolServersQuery:is,useStartToolServerOAuthMutation:cs,useDeleteToolServerConnectionMutation:us}=Yr,ds={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},ls=Pr({reducerPath:"brandingApi",baseQuery:Hr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:j.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:ds})})}),{useGetBrandingQuery:ps}=ls,fs={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},hs=Pr({reducerPath:"configApi",baseQuery:Hr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:j.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:fs})})}),{useGetConfigQuery:gs}=hs,ms=Pr({reducerPath:"profileApi",baseQuery:Hr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:j.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:j.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:n}){try{await n,t(ms.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:j.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:j.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null}),resolveIdentity:e.mutation({query:e=>({url:j.PROFILE,method:"GET",headers:{Authorization:`Bearer ${e}`},_bridge:{skipAuth:!0,skipTokenRefresh:!0,skipErrorToast:!0,retry:{maxRetries:0}}}),transformResponse:e=>e?.data?.email?.trim().toLowerCase()||null})})}),{useGetProfileQuery:ys,useUpdateProfileMutation:vs,useDeleteAccountMutation:_s,useUpdatePasswordMutation:Ts}=ms,ws=[Yr,ls,hs,ms],Ss={[Yr.reducerPath]:Yr.reducer,[ls.reducerPath]:ls.reducer,[hs.reducerPath]:hs.reducer,[ms.reducerPath]:ms.reducer},bs=[Yr.middleware,ls.middleware,hs.middleware,ms.middleware],Es=()=>e=>{ws.forEach(t=>e(t.util.resetApiState()))},Is={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Rs=a({name:"chat",initialState:Is,reducers:{setIsAgentWorking(e,t){e.isAgentWorking=t.payload},setStatusText(e,t){e.statusText=t.payload},setResponseStartTime(e,t){e.responseStartTime=t.payload},enqueueMessage(e,t){e.messageQueue.push(t.payload)},dequeueMessage(e){e.messageQueue.shift()},clearMessageQueue(e){e.messageQueue=[]},addPendingTranscriptionId(e,t){e.pendingTranscriptionIds.push(t.payload)},clearPendingTranscriptionIds(e){e.pendingTranscriptionIds=[]},resetChatState:()=>Is},extraReducers:e=>{e.addMatcher(i(Q,K),()=>Is)}}),{setIsAgentWorking:As,setStatusText:Os,setResponseStartTime:ks,enqueueMessage:Cs,dequeueMessage:Ns,clearMessageQueue:xs,addPendingTranscriptionId:Ps,clearPendingTranscriptionIds:qs,resetChatState:Ms}=Rs.actions,Ds=Rs.reducer,Ls={activeConversationId:null,titles:{}},Us=a({name:"conversations",initialState:Ls,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(Q,K),()=>Ls)}}),{setActiveConversationId:Qs,upsertConversationTitle:Fs}=Us.actions,$s=Us.reducer;let js=null;function zs(e){js=e}function Ks(){js=null}const Hs=()=>{if(!js)return{};const e=js(),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}:{}}},Gs=d({...Ss,auth:G,chat:Ds,conversations:$s,indicator:H}),Bs={ignoredPaths:["chatApi.queries","chatApi.mutations","brandingApi.queries","brandingApi.mutations","configApi.queries","configApi.mutations","profileApi.queries","profileApi.mutations"],ignoredActions:["chatApi/executeQuery/fulfilled","chatApi/executeMutation/fulfilled","brandingApi/executeQuery/rejected","brandingApi/executeQuery/fulfilled","configApi/executeQuery/rejected","configApi/executeQuery/fulfilled","profileApi/executeQuery/rejected","profileApi/executeQuery/fulfilled","profileApi/executeMutation/rejected","profileApi/executeMutation/fulfilled"],ignoredActionPaths:["payload.error","error","meta.baseQueryMeta","meta.arg.originalArgs.audioFile","meta.arg.originalArgs.file","meta.arg.originalArgs.onUploadProgress","meta.arg.originalArgs.onUploadComplete"]},Vs=_({reducer:Gs,middleware:e=>e({serializableCheck:Bs}).prepend(B.middleware).concat(bs)});var Ws;Ws=Vs.dispatch,function(){const[e,t,n,r]=[An,On,kn,Cn].map(e=>()=>Ws(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!Nn&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(a).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const a={[En]:e,[Rn]:s,[Sn]:n,[bn]:r};t(!0),Nn=!0}}(),V(()=>Vs.getState().auth.accessToken),W(()=>Vs.getState().auth.tokenExpiresAt),zs(()=>Vs.getState());const Js=()=>{const e=gs(),{isError:t,isFetching:n,refetch:r}=e,s=C(!1);return k(()=>{!t||n||s.current||(s.current=!0,r())},[t,n,r]),e},Xs=x(void 0),Ys=()=>{const e=P(Xs);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},Zs="mtx",ea=5;var ta=(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.REQUEST_DOCUMENTS="request_documents",e.CONVERSATION_TITLE="conversation_title",e.END="end",e))(ta||{});let na=class extends Error{constructor(e){super(),this.reopen=e}};class ra{type="mtx";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.modelContext?.length?{model_context:e.modelContext}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const{parsed:t,eventType:n,isStreamEnd:r,requestId:s}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s};const a=(n||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(a,t);return{type:o,data:i,timestamp:Date.now(),requestId:s}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"request_documents":return{type:"request_documents",data:{requestDocuments:{}}};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,s="",a=!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 Ae(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&&!a){a=!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 na(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(ta));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===ta.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==ta.CLEAR_STATUS&&t!==ta.REQUEST_DOCUMENTS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const a=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||s||""});d(a),n&&"stream_end"!==a.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:s})}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 na)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 na)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 sa(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}class aa extends Error{constructor(e){super(),this.reopen=e}}class oa{type="agui";config;constructor(e){this.config=e}streamMessage(e){const t=e.debugMode?this.config.getDebugUrl():this.config.getStreamUrl(e.conversationId);return this.createStreamHandle(t,{message:e.message,...e.transcriptionIds?.length?{transcription_ids:e.transcriptionIds}:{},...e.modelContext?.length?{model_context:e.modelContext}:{},...e.body||{}})}streamInitial(e){const t=this.config.getInitialStreamUrl(e.conversationId);return this.createStreamHandle(t,{...e.body||{}})}normalizeEvent(e){const t=e,{type:n,data:r}=this.mapEventType(t);return{type:n,data:r,timestamp:Date.now(),requestId:t.runId||""}}mapEventType(e){switch((e.type||"").toUpperCase()){case"TEXT_MESSAGE_CONTENT":return{type:"text",data:{text:e.delta||""}};case"TEXT_MESSAGE_END":case"RUN_FINISHED":return{type:"stream_end",data:{isEnd:!0}};case"RUN_ERROR":return{type:"error",data:{error:e.error||"Unknown AG-UI run error"}};case"STATE_SNAPSHOT":return this.mapStateSnapshot(e);case"CUSTOM":return this.mapCustomEvent(e);case"PAYMENT":{const t=e?.value?.data??e.payload;return t?.provider&&t?.config&&J(t)&&("chargebee"!==t.provider||t.config?.hosted_page_url)&&("atb"!==t.provider||sa(t.config?.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,s="",a=!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 Ae(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&&!a){a=!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 aa(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=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(ta));if(!t||n.has(t))if(t!==ta.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&&(s=n.runId);const r=t===ta.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||s}:{...n,runId:n.runId||s},a=this.normalizeEvent(r);d(a)}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:s}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof aa)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 aa)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 ia(e,t){switch(e){case"mtx":return new ra(t);case"agui":return new oa(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function ca(e={}){return{getAuthToken:()=>Gr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>j.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>j.CONVERSATION_START(e),getDebugUrl:()=>j.DEBUG,ensureFreshToken:async()=>{X(Y())&&await(U()?.())},forceRefreshToken:async()=>Boolean(await(U()?.()))}}class ua{segments=[];error="";requestId="";statusText="";streamComplete=!1;startTimestamp=null;processEvent(e){null===this.startTimestamp&&(this.startTimestamp=e.timestamp),e.requestId&&(this.requestId=e.requestId);const{data:t}=e;if(!("isEnd"in t))return"error"in t?(this.error=t.error,void("text"in t&&t.text&&this.appendText(t.text))):void("statusText"in t?this.statusText=t.statusText:"payment"in t||("widget"in t?this.segments.push({type:"widget",id:Z(),content:t.widget}):"text"in t&&this.appendText(t.text)));this.streamComplete=!0}appendText(e){const t=this.segments[this.segments.length-1];t&&"text"===t.type?t.text+=e:this.segments.push({type:"text",id:Z(),text:e})}toMessages(){if(0===this.segments.length){const e=Z();return[{id:e,msg_id:e,sender:"agent",message:"",timestamp:(new Date).toISOString(),tookMs:this.startTimestamp?Date.now()-this.startTimestamp:0,error:this.error||void 0,request_id:this.requestId||void 0}]}const e=(new Date).toISOString(),t=this.segments.map(t=>{const n={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":n.message=t.text;break;case"widget":n.widget=[t.content],n.message_type=["widget"]}return n}),n=t[t.length-1];return n.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,n.error=this.error||void 0,n.request_id=this.requestId||void 0,t}getStatusText(){return this.statusText}isStreamComplete(){return this.streamComplete}reset(){this.segments=[],this.error="",this.requestId="",this.statusText="",this.streamComplete=!1,this.startTimestamp=null}}async function da(e,t){const{data:n,error:r,response:s}=await Vr({url:ee(te.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!s)throw n??r;return{body:n,tokens:ne(s)}}async function la(){const{data:e,error:t,response:n}=await Vr({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function pa(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return re(t?.data)?{body:t}:{body:t,tokens:ne(r)}}async function fa(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return r.headers.get(se.ACCESS_TOKEN)?{body:t,tokens:ne(r)}:{body:t}}async function ha(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ga(e,t){await Vr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function ma(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function ya(e){const{data:t,error:n,response:r}=await Vr({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 Vr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function _a(e){const{data:t,error:n,response:r}=await Vr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Ta(e,t){const{data:n,error:r,response:s}=await Vr({url:ee(te.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!s)throw n??r;return{body:n,tokens:ne(s)}}async function wa(){try{const{data:e}=await Vr({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 Sa(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Vr({url:j.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 ba(e){const t=T(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:s}=await e(...n);return r.success&&r.data?(s&&!re(r.data)&&t.dispatch(F({user:r.data.user,accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{r(!1)}},[t,e]),isLoading:n}}function Ea(){const e=I(e=>da(e.email,e.password),[]),{run:t,isLoading:n}=ba(e);return{login:t,isLoading:n}}function Ia(){const{run:e,isLoading:t}=ba(la);return{guestLogin:e,isLoading:t}}function Ra(){const{run:e,isLoading:t}=ba(pa);return{signup:e,isLoading:t}}function Aa(){const{run:e,isLoading:t}=ba(fa);return{verify:e,isLoading:t}}function Oa(){const e=T();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(Q())},[e])}}function ka(){const e=T(),[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:s,tokens:a}=await ma({refresh_token:n,user_id:r});return s?.success&&s?.data?(e.dispatch(F({accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:s.data.expiry_time})),{success:!0,data:s}):{success:!1,error:s}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function Ca(e){return ae({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:s,tokens:a}=await ma({refresh_token:n,user_id:r});if(s?.success&&s?.data){const t={accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:s.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(F({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 Na="1interface_inherit_identity_reloads",xa="1interface_inherit_identity_unverified",Pa=[250,750],qa=e=>new Promise(t=>setTimeout(t,e)),Ma=e=>"FETCH_ERROR"===e||"TIMEOUT_ERROR"===e||"number"==typeof e&&e>=500,Da="rejected",La="unknown";function Ua(e,t){let n=0,r=null,s=null;const a=()=>e.getState().auth?.accessToken??null,o=async t=>{for(let n=0;;n++){const r=e.dispatch(ms.endpoints.resolveIdentity.initiate(t));try{const e=await r.unwrap();return e?{email:e}:La}catch(e){const t=e?.status;if(401===t)return Da;if(!Ma(t)||n>=Pa.length)return La}finally{r.reset()}await qa(Pa[n])}};let i=null;const c=()=>{const n=a();if(!t.onUserChanged||!n)return;i?.unsubscribe();const r=e.dispatch(ms.endpoints.getProfile.initiate(void 0,{forceRefetch:!0}));i=r,r.unwrap().then(e=>{const t=e?.email?.trim().toLowerCase();t&&a()===n&&null===s&&(s=t)},()=>{})},u=async()=>{let e;try{e=JSON.parse(await(ce()?.getItem(Na))??"[]")}catch{e=[]}const t=Date.now();return Array.isArray(e)?e.filter(e=>"number"==typeof e&&t-e<6e4):[]},d=async(e=!1)=>{const n=ce();return e&&await(n?.setItem(xa,"1")),await(n?.setItem(Na,JSON.stringify([...await u(),Date.now()]))),await(n?.removeItem(ue.ACTIVE_CONVERSATION_ID)),t.onUserChanged?.(),await qa(1e4),t.onAuthError?.(oe.TOKEN_REJECTED),null},l=async(i=!1)=>{let p;try{p=await t.getToken()}catch(e){return D.warn({message:"Inherited token request failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),t.onAuthError?.(oe.NO_TOKEN),null}if(null!==r&&p.accessToken===r)return null;const f=e.getState(),h=f.auth?.accessToken??null;if(p.accessToken===h)return ie(f.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(D.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=p.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null):{accessToken:p.accessToken}):(n=0,{accessToken:p.accessToken});n=0,r=null;const g=null!=p.expiresAt?p.expiresAt/1e3:void 0,m=()=>(e.dispatch(F({accessToken:p.accessToken,refreshToken:null,...null!=g?{expiresIn:g}:{}})),{accessToken:p.accessToken,...null!=g?{expiresIn:g}:{}});if(null===h){s=null;const e=m();return c(),e}if(!t.onUserChanged)return m();const y=await o(p.accessToken);if(a()!==h)return i?null:l(!0);if(y===Da)return r=p.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null;if(y===La)return d(!0);if(null===s){const e=await o(h);if(a()!==h)return i?null:l(!0);if(e===Da)return d();if(e===La)return d(!0);s=e.email}return y.email===s?m():(await u()).length>=3?(D.warn({message:"Inherited token belongs to another user; failing closed: too many switches within 60 s",api_name:"auth-refresh"}),d(!0)):d()},p=ae({performRefresh:()=>l(),isTransient:()=>!1});return Object.assign(p,{captureBaseline:c})}const Qa={WEB:"Web",MOBILE:"Mobile"},Fa={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},$a=Object.values(Fa);function ja(e,t){const n=e?.data?.auth_mode_config?.[t];return $a.includes(n)?n:Fa.SIGN_IN_ONLY}const za=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:s}=w(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:s,tokenInfo:{isExpired:!!n&&ie(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?le(n):0,timeUntilExpiryFormatted:n?de(le(n)):"0s"}}},Ka={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},Ha={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},Ga={MESSAGE_PAGE_SIZE:25},Ba=[500,1500,3e3],Va=28,Wa="New Conversation",Ja=1e3;function Xa(e){return!e.widget?.length}function Ya(e){const t=Z(),n={id:`agent-${t}`,msg_id:t,sender:"agent",message:"",timestamp:e.created_at?String(e.created_at):""};return"widget"===e.type?e.content&&"object"==typeof e.content&&(n.widget=[e.content],n.message_type=["widget"]):e.content&&"string"==typeof e.content&&(n.message=e.content),n}function Za(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&&Xa(e)){e.message=e.message+(n.content||"");continue}t.push(Ya(n));continue}}else n.content&&t.push({id:`system-${Z()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else(n.content||n.documents?.length)&&t.push({id:`user-${Z()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e,...n.documents?.length?{documents:n.documents}:{}})}return t}function eo(e){return"string"==typeof e&&e.trim()?e:null}const to=()=>{const e=S(),[t,n]=O(null),[r,s]=O([]),a=C(t),o=w(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(Fs({id:t,title:n}))},[t,e]);k(()=>{a.current=t,e(Qs(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}=Ys(),[v]=Zr(),[_]=as(),T=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const s=eo(t?.title);return s&&e(Fs({id:r,title:s})),r}return L(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return L(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),b=I(async(t,r,a)=>{try{const a=eo(r);a&&e(Fs({id:t,title:a}));const o=await _({conversationId:t,skip:0,limit:Ga.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=eo(o.title)??a;r&&e(Fs({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?Za(i):[];return s(c),l(i.length),f(i.length>=Ga.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)}),a?.quiet||L("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=eo(t?.title);return r&&e(Fs({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]),R=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:Ga.MESSAGE_PAGE_SIZE}).unwrap();if(a.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=Za(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Ga.MESSAGE_PAGE_SIZE),s(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)}),L("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),A=I(()=>{s([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:o,setConversationTitle:i,messages:r,setMessages:s,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:T,loadConversation:b,loadConversationTitle:E,loadMoreMessages:R,resetConversation:A}},no=e=>null==e||"string"==typeof e&&""===e.trim(),ro=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},so="user-collapsed";function ao(e,t){const n=[];return e?.length&&n.push({type:pe.DOCUMENTS,document_ids:e.map(e=>e.document_id)}),t&&t.length>Ja?D.warn({message:"modelText exceeds the text-part limit; sending the turn without it",api_name:"chat-send",length:t.length,max_length:Ja}):t&&n.push({type:pe.TEXT,text:t}),n.length?n:void 0}function oo(e,t){return{...Object.keys(e).length?{client_metadata:e}:{},...t?{locale:t}:{}}}const io=({conversationId:e,setMessages:t,enableTts:n=!1,userLocation:r=null,startSession:s,debugMode:a=!1,onPaymentInit:o,onSignInInit:i,onRequestDocuments:c,onConversationTitle:u,initialMessage:d,locale:l})=>{const{adapter:p}=Ys(),f=S(),h=T(),[g,m]=O(""),[y,v]=O(!1),[_,w]=O(!1),b=C(o);b.current=o;const E=C(i);E.current=i;const R=C(c);R.current=c;const A=C(u);A.current=u;const x=C(d),P=C(l);N(()=>{x.current=d,P.current=l},[d,l]);const q=C(new ua),M=C(null),U=C(null),Q=C(!1),F=C(0),$=C(!1),j=C(null),z=C(e);z.current=e;const K=C(null),H=C(e);k(()=>{const t=H.current;H.current=e,null!==t&&t!==e&&f(qs())},[e,f]);const G=I((e=fe.KEEP)=>{if(f(Os(null)),f(As(!1)),e===fe.FINALIZE){const e=h.getState().chat.responseStartTime;e&&f(he(Date.now()-e)),f(ks(null))}else e===fe.CANCEL&&f(ks(null))},[f,h]),B=I(e=>{f(As(e)),v(e),e&&w(!1)},[f]),V=I(()=>{const e=h.getState().chat.responseStartTime;return e&&f(he(Date.now()-e)),null!==j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{j.current=null,$.current=!1,m(""),v(!1),w(!1),G(fe.CANCEL)},600),()=>{null!==j.current&&clearTimeout(j.current)}},[f,h,G]),W=C({setStatusText:e=>f(Os(e||null)),setIsAgentWorking:e=>f(As(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>b.current?.(e),onSignIn:e=>E.current?.(e),onRequestDocuments:e=>R.current?.(e),onError:()=>{}}),J=I(e=>{if(K.current!==z.current)return M.current?.abort(),void U.current?.();if("payment"===e.type&&"payment"in e.data)return void ge({kind:"payment",payment:e.data.payment},W.current);if("sign_in"===e.type&&"signIn"in e.data)return void ge({kind:"sign_in",signIn:e.data.signIn},W.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void ge({kind:"request_documents",requestDocuments:e.data.requestDocuments},W.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&A.current?.(t))}const n=q.current;n.processEvent(e),Q.current||(Q.current=!0,w(!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"request_documents":return"requestDocuments"in t?{kind:"request_documents",requestDocuments:t.requestDocuments}: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:n.getStatusText()}:r;ge(e,W.current)}const s=n.toMessages(),a=F.current;t(e=>[...e.slice(0,e.length-a),...s]),F.current=s.length,s.some(e=>ro(e)||!no(e.message))&&f(As(!1)),n.isStreamComplete()&&V()},[f,t,V]),X=I(e=>{L("Stream connection error. Please try again."),V()},[V]),Y=I(()=>{M.current?.abort(),U.current?.(),M.current=null,U.current=null,K.current=null,q.current.reset(),F.current=0,m(""),v(!1),w(!1),G(fe.CANCEL),f(me()),f(xs()),$.current=!1},[f,G]),ee=I((e,t)=>{M.current?.abort(),U.current?.(),q.current.reset(),F.current=0,Q.current=!1,K.current=t,z.current=t,M.current=e;const n=e.subscribe({onEvent:J,onError:X,onComplete:()=>{V()}});U.current=n},[J,X,V]),te=I(()=>{f(As(!0)),v(!0),w(!1),f(Os(null)),f(ks(Date.now())),f(me())},[f]),ne=I((e,t)=>{te();const r=p.streamMessage({conversationId:e,message:t.message,enableTts:n,debugMode:a,transcriptionIds:t.transcriptionIds??[],...t.modelContext?.length?{modelContext:t.modelContext}:{},body:oo(t.clientMetadata,P.current)});ee(r,e)},[p,n,a,ee,te]),re=I(async(n="",r=[],a={})=>{$.current=!0;try{let o=e;if(!o){if(!s)return $.current=!1,void L("Conversation is not ready yet. Please wait a moment.");const e=await s();if(!e)return $.current=!1,void L("Failed to start conversation. Please try again.");o=e}const i=n.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),t(e=>[...e,{id:`user-${Z()}`,sender:"user",message:i,timestamp:(new Date).toISOString(),...a.messageType?.length?{message_type:a.messageType}:{},...a.documents?.length?{documents:a.documents}:{}}]);const c=ye();ne(o,{message:i,transcriptionIds:r,modelContext:ao(a.documents,a.modelText),clientMetadata:c?{device_token:c}:{}})}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),L("Failed to send conversations message. Please try again."),$.current=!1,G(fe.CANCEL)}},[e,s,t,ne,G]),se=C(re);se.current=re;const ae=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return void(n.modelText&&D.warn({message:"modelText sent without text or documents; dropped",api_name:"chat-send"}));const s=h.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&f(qs()),$.current?f(Cs({id:Z(),text:r,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{},...n.messageType?.length?{messageType:n.messageType}:{},...n.documents?.length?{documents:n.documents}:{},...n.modelText?{modelText:n.modelText}:{}})):await re(r,a,n)},[f,h,re]);k(()=>{if(y||$.current)return;const e=h.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>e.text).filter(e=>e.length>0).map(e=>`- ${e}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]),r=e.flatMap(e=>e.documents??[]),s=e.map(e=>e.modelText).filter(Boolean).join("\n\n"),a={...1===e.length&&e[0].messageType?.length?{messageType:e[0].messageType}:{},...r.length?{documents:r}:{},...s?{modelText:s}:{}};f(xs()),se.current(t,n,a)},[y,f,h]);const oe=I(async(e,t)=>{$.current=!0;const s=void 0!==t?t:r,a={};s&&(a.user_location=s);const o=ye();o&&(a.device_token=o);const i=x.current?.trim()??"",c=i.length>Ja;if(c&&D.warn({message:"initialMessage exceeds the text-part limit; opening with /start instead",api_name:"chat-start",conversation_id:e,length:i.length,max_length:Ja}),i&&!c)return void ne(e,{message:"",modelContext:[{type:pe.TEXT,text:i}],clientMetadata:a});te();const u=p.streamInitial({conversationId:e,body:oo(a,P.current),enableTts:n});ee(u,e)},[p,n,r,ee,ne,te]);return k(()=>()=>{M.current?.abort(),U.current?.()},[]),{sendMessage:ae,startInitialStream:oe,setThinkingState:B,abortStream:Y,toolCallStatus:g,isProcessThinkingState:y,hasReceivedResponse:_}};function co({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,s]=O([]),a=w(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]=Yr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[T,{isLoading:S}]=Yr.useDeleteConversationMutation(),b=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?(s(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(s(r),h.current=20):s(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])),s=t.filter(e=>!n.has(e.id));let a=s.length>0;const o=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(s=t).id&&n.title===s.title&&n.created_at===s.created_at&&n.updated_at===s.updated_at?e:(a=!0,t):e;var n,s});return a?[...s,...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(()=>{b("replace")},[b]);const E=C(null),R=C(new Set);k(()=>{if(o||!e)return;if(R.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${a[e]??""}`;E.current!==t&&(E.current=t,b("silent"))},[e,r,a,o,b]);const N=I(async a=>{const o=e===a,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,a):null,c=await T({conversationId:a});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:a,error_message:JSON.stringify(c.error)}),void L("Failed to delete the conversation. Please try again.");ve("Conversation deleted successfully"),R.current.add(a);const u=y.current.some(e=>e.id===a);if(s(e=>e.filter(e=>e.id!==a)),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,T,t,n]),x=A(()=>r.map(e=>a[e.id]?{...e,title:a[e.id]}:e),[r,a]);return{conversations:p.trim()?x.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):x,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:S,searchQuery:p,setSearchQuery:f,loadConversations:b,deleteConversation:N,isLoadingMoreRef:g}}function uo(){return w(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function lo(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 po(e){if("success"===e.status){const t=lo(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 fo="stripe",ho={SESSION_INVALID:"session_invalid",LOAD_FAILED:"load_failed"},go="Verify the payment.",mo={atb:function(e){if("success"===e.status){const t=lo(e.amount,e.currency);return{text:`The payment${t?` of ${t}`:""} is completed.`,modelText:go}}return"failure"===e.status?e.code===ho.SESSION_INVALID?{text:"The payment session has expired or is no longer valid."}:e.code===ho.LOAD_FAILED?{text:"The payment failed."}:{text:"The payment failed.",modelText:go}:{text:"Payment cancelled.",modelText:go}}};function yo(e){return mo[e.provider]?.(e)??{text:po(e)}}const vo=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(e=>{n(e)},[]),s=I(()=>n(null),[]),a=I(t=>{if("failure"===t.status&&t.message&&"stripe"!==t.provider&&L(t.message),e.current){const{text:n,modelText:r}=yo(t);r?e.current(n,void 0,{modelText:r}):e.current(n)}else D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status});r(null)},[e,r]);return{paymentInit:t,setPaymentInit:r,clearPaymentInit:s,handlePaymentResult:a}};function _o(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=_e.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function To(e){try{const t=await e.getItem(ue.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ue.LOCATION_CACHE),null)}catch{return null}}const wo=()=>{const[e,t]=O(!1),[n,r]=O(null),s=Te(),a=I(async()=>{const e=await To(s);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 a="";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&&(a=(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:a,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(ue.LOCATION_CACHE,JSON.stringify(n))}catch{}}(s,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)}},[s]);return{getUserLocation:a,isLoading:e,error:n}};function So({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:s}){const a=C(null),o=I(s=>{if(a.current&&a.current.disconnect(),!s||!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}(s,n.current);o&&(a.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:o,rootMargin:"0px",threshold:.1}),a.current.observe(s))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const s=n.current;if(!s)return;const a=s.querySelector("[data-radix-scroll-area-viewport]")??s;a.clientHeight>0&&a.scrollHeight<=a.clientHeight&&r()},[e,n,r,t,s]),o}const bo=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},Eo=()=>bo("(min-width: 1024px)"),Io=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const s=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});s.observe(n);const a=n.getBoundingClientRect().width;return r(a>=e),()=>{s.disconnect()}},[e]),{containerRef:t,isDesktop:n}},Ro=()=>{const[e,t]=O(!1),{getUserLocation:n}=wo(),r=Te(),s=C(!1);return k(()=>{if(s.current)return;s.current=!0;let e=null;const a=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(ue.LOCATION_ENABLED))return void a();const t=await To(r);t&&0!==t.latitude&&0!==t.longitude?a():(e=setTimeout(a,5e3),n().finally(a))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Ao({paymentInit:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),s=J(e);return{handlePaymentResult:I(e=>{("success"===e.status||"failure"===e.status)&&s&&r.current.add(s),t?.(e)},[t,s]),handleModalOpenChange:I(a=>{!a&&e&&(!!s&&r.current.has(s)||t?.({status:"cancel",provider:e.provider}),n?.())},[e,s,t,n])}}function Oo(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 ko(){const{themeStyles:e}=we(),{data:t,isLoading:n}=is(void 0),[r]=us(),s=A(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:Oo(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:s,isLoading:n,disconnect:async function(e){const t=s.find(t=>t.id===e)?.name??"App";"error"in await r(e)?L(`Failed to disconnect ${t}. Please try again.`):ve(`${t} disconnected`)}}}const Co={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},No=({onSend:e,disabled:t=!1,hasAttachments:n=!1,transcribedText:r,onTranscribedTextUsed:s,isRecording:a=!1,isTranscribing:o=!1})=>{const[i,c]=O("");k(()=>{if(!r)return;let e=!1;return queueMicrotask(()=>{e||(c(e=>0===e.trim().length?r:`${e.trimEnd()} ${r}`),s?.())}),()=>{e=!0}},[r,s]);const u=(i.trim().length>0||n)&&!t,d=I(()=>{u&&(e(i.trim()),c(""))},[i,u,e]),l=a?Co.RECORDING:o?Co.TRANSCRIBING:Co.NORMAL;return A(()=>({value:i,setValue:c,send:d,canSend:u,mode:l}),[i,d,u,l])},xo=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},Po=e=>{const t=w(e=>!!e.voice?.isAgentWorking),n=w(e=>e.voice?.statusText??null),r=w(e=>e.voice?.responseStartTime??null),s=w(e=>e.chat.isAgentWorking),a=w(e=>e.chat.statusText??null),o=w(e=>e.chat.responseStartTime),i=w(e=>e.indicator.lastResponseTime),c=e?t:s,u=e?n:a,d=e?r:o;return A(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},qo=[],Mo=({messages:e,voiceStreamingMessages:t=qo,voiceActive:n})=>{const r=A(()=>{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]),s=A(()=>xo(r),[r]),a=Po(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=xo(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const s=t.slice(e);return{hasNew:!0,newMessages:s,firstNewIndex:e,lastIndex:n,hasNewUserMessage:s.some(e=>"user"===e.sender),hasNewWidget:s.some(Se),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:s,indicator:a,classifyArrival:i}},Do=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(Ha.INITIAL),[s,a]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(Ha.INITIAL),a(0),void i(!0);r(Ha.INITIAL),a(0),i(!0);let e=Ha.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{a(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},Ha.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=Ha.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(Ha.LATER),a(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},Ha.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[s],isVisible:o}},Lo=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 Uo(e,t=28){const[n,r]=O(e),s=C(e),a=I(e=>{s.current=e,r(e)},[]);return k(()=>{if(s.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}(s.current,e);a(e.slice(0,n));let r=n;const o=globalThis.setInterval(()=>{r+=1,a(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(o)},t);return()=>globalThis.clearInterval(o)},[e,t,a]),n}const Qo=x(null),Fo=()=>{const e=P(Qo);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let $o=0;function jo({refreshSession:e,checkIntervalMs:t=6e4}){const n=T(),r=w(e=>e.auth),s=r?.accessToken??null,a=Boolean(r?.isAuthenticated),o=r?.tokenExpiresAt??null,i=C(null),c=C(null),u=I(()=>{n.dispatch(Q())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-$o<3e5))try{await e()?$o=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(()=>{a&&(ie(o)?d(!0):X(o)&&d())},[a,o,d]);return k(()=>{s&&ie(o)&&d(!0)},[]),k(()=>{if(a&&s){if(ie(o))return void d(!0);const e=be(o);return e>0?c.current=setTimeout(()=>{d()},e):X(o)&&d(),i.current=setInterval(()=>{ie(o)?d(!0):X(o)&&d()},t),()=>{i.current&&clearInterval(i.current),c.current&&clearTimeout(c.current)}}$o=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[a,s,o,t,d]),{checkNow:l}}function zo({clientType:e}){const{data:t,isLoading:n,refetch:r}=Js(),s=ja(t,e),a=Boolean(t?.data?.auth_mode_config),[o,i]=O(s);a&&s!==o&&i(s);const c=a?s:o,u=w(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=Ia(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Fa.GUEST_ONLY)return;if(u)return void(l.current=!1);if(n)return;if(l.current)return;const e=Date.now();m.current=e-y.current<1e4?m.current+1:0,y.current=e,m.current>=3?f(!0):(l.current=!0,f(!1),d().then(e=>{e.success||(l.current=!1,f(!0))}))},[c,u,n,d,h]);const v=I(()=>{m.current=0,y.current=0,f(!1),r(),g(e=>e+1)},[r]);return{mode:c,isGuestBootPending:n||c===Fa.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Fa.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Ko({adapter:e,enabled:t}){const n=T(),r=w(e=>Boolean(e.auth?.isAuthenticated)),s=A(()=>e?Ua(n,e):null,[n,e]);k(()=>{if(t&&s)return Ee(s),()=>Ee(null)},[t,s]);const a=C(!1),[o,i]=O(!1),[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1);k(()=>{if(!t||!e||p)return;const r=ce();(r?r.getItem(xa):Promise.resolve(null)).then(async t=>{t&&(await(r?.removeItem(xa)),n.dispatch(Q()),e.onAuthError?.(oe.TOKEN_REJECTED),u(!0)),f(!0)})},[t,e,n,p]),k(()=>{if(!t||!s||c||!p)return;if(r&&o)return void(a.current=!1);if(a.current)return;a.current=!0;const d=()=>{s().then(e=>{e?i(!0):(a.current=!1,u(!0))})};if(!r||!e)return void d();const l=n.getState().auth?.accessToken;e.getToken().then(e=>e.accessToken===l,()=>!1).then(e=>{if(e)return i(!0),void s.captureBaseline();n.dispatch(Q()),d()})},[t,s,e,n,r,o,c,d,p]);const h=I(()=>{u(!1),l(e=>e+1)},[]),g=t&&!(r&&o)&&!c,m=t&&c,y=t&&r&&o&&!c,v=C({canRecheck:y,adapter:e,refresher:s});k(()=>{v.current={canRecheck:y,adapter:e,refresher:s}},[y,e,s]);const _=C(!1);return{isInheritedBootPending:g,inheritedAuthFailed:m,retryInheritedAuth:h,recheckInheritedAuth:I(()=>{const e=v.current;if(!e.canRecheck||!e.adapter||!e.refresher)return;if(_.current)return;_.current=!0;const{adapter:t,refresher:r}=e,s=n.getState().auth?.accessToken;t.getToken().then(e=>e.accessToken===s?void 0:r(),()=>{}).finally(()=>{_.current=!1})},[n])}}class Ho{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}),s=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(s)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const Go={HOLD:"hold",TAP:"tap"},Bo="Microphone access is required. Please allow microphone permissions in your browser settings.",Vo=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},Wo=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:s=Go.HOLD}={})=>{const[a,o]=O(!1),[i,c]=O(!1),[u,d]=O(0),l=C(null),p=C(null),f=C(!1),h=C(!1),g=C(!1),m=C(null),y=S(),[v]=es(),_=I(async()=>{if(s===Go.TAP){if(f.current||g.current)return;g.current=!0;try{l.current||(l.current=new Ho),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0)}catch(e){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Bo)}finally{g.current=!1}return}h.current=!1;const e=()=>{t(),f.current?m.current?.():h.current=!0},t=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("pointerup",e)};document.addEventListener("mouseup",e),document.addEventListener("touchend",e),document.addEventListener("pointerup",e);const n=await Vo();if("denied"===n)return t(),void L(Bo);if("prompt"!==n){if(h.current)return t(),void(h.current=!1);try{l.current||(l.current=new Ho),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0),h.current&&(h.current=!1,await(m.current?.()))}catch(e){t(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Bo)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await Vo()&&L(Bo)}}},[s]),T=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),w=I(async()=>{try{if(!l.current||!f.current)return;const s=p.current?Date.now()-p.current:0;if(o(!1),d(0),s<500)return l.current?.cleanup(),void(p.current=null);c(!0);const a=await l.current.stopRecording(),i=await(n?.())??null;if(!i)return void L("Failed to transcribe audio");const u=await v({conversationId:i,audioFile:a}).unwrap();u.success?u.data.text&&(y(Ps(u.data.transcription_id)),r&&e?await e(u.data.text):!r&&t&&t(u.data.text)):L("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),L("Failed to transcribe audio")}finally{c(!1),f.current=!1,l.current?.cleanup(),p.current=null}},[r,y,n,e,t,v]);return k(()=>{m.current=w},[w]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:a,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:w,cancelRecording:s===Go.TAP?T:null}},Jo="OAUTH_SUCCESS",Xo="OAUTH_ERROR",Yo=Jo,Zo=Xo;function ei({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[s]=rs();k(()=>{if(!e)return;const a=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 L("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===Zo)return void c(()=>L(`Failed to sign in to ${a}. Please try again.`));if(e.data?.type!==Yo)return;i=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await s({code:l,state:p})?L(`Failed to sign in to ${a}. Please try again.`):(ve(`${a} connected successfully`),r&&t.current?.(`${a} 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,s,r])}function ti({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:s}=vo({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=Ao({paymentInit:t,onPaymentResult:s,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:r}}const ni={conversations:{disable_old_widgets:!1,allow_conversation_deletion:!0,show_conversation_history:!0},voice_agent:{enabled:!0,show_customization_modal:!1,assistant_starts_conversation:!0},stt:{enabled:!0},documents:{max_bytes:26214400,max_documents:25,allowed_mime_types:null},features:[Ie.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Qa.WEB]:Fa.SIGN_IN_ONLY,[Qa.MOBILE]:Fa.SIGN_IN_ONLY}},ri=x(void 0),si=()=>{const{data:e,isLoading:t,error:n}=Js(),r=e?.success?e.data:null,s=A(()=>{return(e=r)?{conversations:{...ni.conversations,...e.conversations},voice_agent:{...ni.voice_agent,...e.voice_agent},stt:{...ni.stt,...e.stt},documents:{...ni.documents,...e.documents},features:e.features??ni.features,backend_version:e.backend_version??ni.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??ni.panel_switcher_enabled,auth_mode_config:{...ni.auth_mode_config,...e.auth_mode_config}}:ni;var e},[r]);return A(()=>({clientConfig:s,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[s,t,n])},ai=()=>{const e=P(ri);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},oi=x({}),ii=()=>P(oi);function ci(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function ui(e,t,n){if(!n)return!1;if(!ci(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&ci(n)){r=n;break}}if(!r||r.id!==e.id)return!0;const s=t.findIndex(t=>t.id===e.id);return t.slice(s+1).some(e=>"user"===e.sender)}const di="moyasar_cb";function li(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${Re()}/moyasar-callback.html`);return n.searchParams.set(di,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const pi=new Set(["paid","authorized","failed","captured"]);function fi(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(di))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!pi.has(n))return null;const s=t.get("conversation_id")||null,a=(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:a,amount:Number.isFinite(n)?n:void 0,currency:t.get("currency")??void 0},conversationId:s}}return{result:{status:"failure",provider:"moyasar",code:n,message:hi(t.get("message")??`Payment ${n}`),paymentId:a},conversationId:s}}function hi(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function gi(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,success:e.statusSuccess.solid,successBg:e.statusSuccess.background,warning:e.statusWarning.solid,warningBg:e.statusWarning.background,danger:e.statusDanger.solid,dangerBg:e.statusDanger.background,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"}}export{Qa as AUTH_CLIENT_TYPES,Fa as AUTH_MODES,oa as AguiAdapter,Ho as AudioRecorder,Ka as BREAKPOINTS,Co as CHAT_INPUT_MODES,Ba as CONVERSATION_TITLE_REFRESH_DELAYS_MS,oi as ChatCallbacksContext,Qo as ChatSettingsContext,ri as ConfigurationContext,Wa as DEFAULT_CONVERSATION_TITLE,fo as DEFAULT_PAYMENT_PROVIDER,Zs as DEFAULT_PROTOCOL,zr as ERROR_CODES,ua as EventAggregator,Lr as GENERIC_SERVER_ERROR_MESSAGE,ea as MAX_CONNECTION_RETRIES,Ja as MODEL_CONTEXT_TEXT_MAX_LENGTH,di as MOYASAR_CALLBACK_SENTINEL,Xo as OAUTH_ERROR_TYPE,Jo as OAUTH_SUCCESS_TYPE,Ga as PAGINATION,ho as PAYMENT_FAILURE_CODES,ra as ProprietaryAdapter,Xs as ProtocolContext,ta as SSEEventType,Go as STT_GESTURES,Ha as THINKING_MESSAGES,Va as TYPEWRITER_INTERVAL_MS,so as USER_COLLAPSED_MESSAGE_TYPE,Hr as apiBridge,bs as apiMiddleware,Ss as apiReducers,zs as bindChatLogger,ls as brandingApi,Vr as bridgedFetch,gi as buildBrandSkin,li as buildCallbackUrl,Yr as chatApi,Gs as chatCoreRootReducer,Hs as chatLoggerContextProvider,Ds as chatReducer,Sa as checkOrganizationExistsApi,xs as clearMessageQueue,hs as configApi,$s as conversationsReducer,ia as createAdapter,ca as createDefaultAdapterConfig,Ua as createInheritedSessionRefresher,Ca as createSessionRefresher,Ns as dequeueMessage,Cs as enqueueMessage,wa as fetchOrganizations,ya as forgotPasswordApi,lo as formatAmount,yo as formatPaymentResult,po as formatResultMessage,Qr as getApiErrorMessage,ja as getAuthMode,Gr as getAuthToken,To as getCachedLocation,$r as getCodeEntryErrorMessage,jr as getErrorGroup,Xr as getLatestRequestId,la as guestLoginApi,ro as hasAnyExtraData,Ur as isApiServerError,no as isEmptyMessage,sa as isHttpsUrl,da as loginApi,ga as logoutApi,fi as parseMoyasarCallbackFromUrl,ms as profileApi,ma as refreshTokenApi,ha as resendVerificationApi,Es as resetAllApiState,Ks as resetChatLoggerForTests,Ms as resetChatState,va as resetPasswordApi,Bs as serializableCheck,Qs as setActiveConversationId,As as setIsAgentWorking,ks as setResponseStartTime,Os as setStatusText,ui as shouldDisableMessage,pa as signupApi,Ta as ssoExchangeApi,_a as ssoStartApi,Vs as store,ao as toModelContext,Fs as upsertConversationTitle,uo as useActiveConversationTitle,za as useAuth,ii as useChatCallbacks,io as useChatConnection,co as useChatHistory,No as useChatInput,Fo as useChatSettings,ai as useConfiguration,si as useConfigurationValue,ko as useConnectors,Io as useContainerQuery,to as useConversation,Zr as useCreateConversatonsMutation,_s as useDeleteAccountMutation,os as useDeleteConversationMutation,ns as useDeleteDocumentMutation,us as useDeleteToolServerConnectionMutation,Lo as useElapsedSeconds,_o as useEventEmitter,rs as useExchangeOAuthCodeMutation,ps as useGetBrandingQuery,Js as useGetConfigQuery,ss as useGetConversationHistoryQuery,ys as useGetProfileQuery,is as useGetToolServersQuery,zo as useGuestBoot,Ia as useGuestLogin,So as useInfiniteScroll,Ko as useInheritedAuthBoot,Eo as useIsDesktop,as as useLazyGetConversationByIdQuery,Ro as useLocationInit,Ea as useLogin,Oa as useLogout,bo as useMediaQuery,Mo as useMessageList,ei as useOAuthPopup,ti as usePayment,vo as usePaymentFlow,Ao as usePaymentResultDedup,Ys as useProtocol,ka as useRefreshToken,Po as useResolvedChatIndicators,Wo as useSTTRecording,Ra as useSignup,cs as useStartToolServerOAuthMutation,Do as useThinkingMessage,jo as useTokenRefresh,es as useTranscribeAudioMutation,Uo as useTypewriter,Ts as useUpdatePasswordMutation,vs as useUpdateProfileMutation,ts as useUploadDocumentMutation,wo as useUserLocation,Aa as useVerifyEmail,fa as verifyEmailApi};
|