@1interface/chat-core 0.19.0-dev.0 → 0.19.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +82 -120
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
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 S,useSelector as b,useDispatch as T,batch as w,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as A,useMemo as R,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as P,useContext as x}from"react";import{getCustomHeaders as q,isDevMode as D,logger as M,showErrorToast as Q,getTokenRefreshHandler as U,clearSession as L,setSession as F,readAccessToken as $,API_ENDPOINTS as j,TIMING as z,sessionExpired as K,indicatorReducer as G,sessionReducer as H,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as J,isTokenAboutToExpire as X,readTokenExpiresAt as Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,isVerificationRequired as re,AUTH_HEADERS as se,createTokenRefresher as ae,INHERITED_AUTH_ERROR_REASONS as oe,isTokenExpired as ie,formatTimeRemaining as ce,getTimeUntilExpiry as ue,INDICATOR_TIMER_ACTIONS as de,setLastResponseTime as le,handleSharedEvent as pe,clearLastResponseTime as fe,readDeviceToken as he,MODEL_CONTEXT_PART_TYPES as ge,showSuccessToast as me,eventEmitter as ye,STORAGE_KEYS as ve,useStorage as _e,useBranding as Se,hasWidgets as be,getTimeUntilRefresh as Te,setTokenRefreshHandler as we,FEATURE_FLAGS as Ee,getBaseUrl as Ie}from"@1interface/shared-core";import{fetchEventSource as Ae}from"@microsoft/fetch-event-source";var Re=Symbol.for("immer-nothing"),Oe=Symbol.for("immer-draftable"),ke=Symbol.for("immer-state"),Ce="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 Ne(e,...t){if("production"!==process.env.NODE_ENV){const n=Ce[e],r=et(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,xe=Pe.getPrototypeOf,qe="constructor",De="prototype",Me="configurable",Qe="enumerable",Ue="writable",Le="value",Fe=e=>!!e&&!!e[ke];function $e(e){return!!e&&(Ke(e)||Je(e)||!!e[Oe]||!!e[qe]?.[Oe]||Xe(e)||Ye(e))}var je=Pe[De][qe].toString(),ze=new WeakMap;function Ke(e){if(!e||!Ze(e))return!1;const t=xe(e);if(null===t||t===Pe[De])return!0;const n=Pe.hasOwnProperty.call(t,qe)&&t[qe];if(n===Object)return!0;if(!et(n))return!1;let r=ze.get(n);return void 0===r&&(r=Function.toString.call(n),ze.set(n,r)),r===je}function Ge(e,t,n=!0){0===He(e)?(n?Reflect.ownKeys(e):Pe.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function He(e){const t=e[ke];return t?t.type_:Je(e)?1:Xe(e)?2:Ye(e)?3:0}var Be=(e,t,n=He(e))=>2===n?e.has(t):Pe[De].hasOwnProperty.call(e,t),Ve=(e,t,n=He(e))=>2===n?e.get(t):e[t],We=(e,t,n,r=He(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Je=Array.isArray,Xe=e=>e instanceof Map,Ye=e=>e instanceof Set,Ze=e=>"object"==typeof e,et=e=>"function"==typeof e,tt=e=>"boolean"==typeof e,nt=e=>e.copy_||e.base_,rt=e=>e.modified_?e.copy_:e.base_;function st(e,t){if(Xe(e))return new Map(e);if(Ye(e))return new Set(e);if(Je(e))return Array[De].slice.call(e);const n=Ke(e);if(!0===t||"class_only"===t&&!n){const t=Pe.getOwnPropertyDescriptors(e);delete t[ke];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const s=n[r],a=t[s];!1===a[Ue]&&(a[Ue]=!0,a[Me]=!0),(a.get||a.set)&&(t[s]={[Me]:!0,[Ue]:!0,[Qe]:a[Qe],[Le]:e[s]})}return Pe.create(xe(e),t)}{const t=xe(e);if(null!==t&&n)return{...e};const r=Pe.create(t);return Pe.assign(r,e)}}function at(e,t=!1){return it(e)||Fe(e)||!$e(e)||(He(e)>1&&Pe.defineProperties(e,{set:ot,add:ot,clear:ot,delete:ot}),Pe.freeze(e),t&&Ge(e,(e,t)=>{at(t,!0)},!1)),e}var ot={[Le]:function(){Ne(2)}};function it(e){return null===e||!Ze(e)||Pe.isFrozen(e)}var ct="MapSet",ut="Patches",dt="ArrayMethods",lt={};function pt(e){const t=lt[e];return t||Ne(0,e),t}var ft,ht=e=>!!lt[e],gt=()=>ft;function mt(e,t){t&&(e.patchPlugin_=pt(ut),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function yt(e){vt(e),e.drafts_.forEach(St),e.drafts_=null}function vt(e){e===ft&&(ft=e.parent_)}var _t=e=>ft={drafts_:[],parent_:ft,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ht(ct)?pt(ct):void 0,arrayMethodsPlugin_:ht(dt)?pt(dt):void 0};function St(e){const t=e[ke];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function bt(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[ke].modified_&&(yt(t),Ne(4)),$e(e)&&(e=Tt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ke].base_,e,t)}else e=Tt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&at(t,n)}(t,e,!0),yt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Re?e:void 0}function Tt(e,t){if(it(t))return t;const n=t[ke];if(!n)return Ot(t,e.handledSet_,e);if(!Et(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);Rt(n,e)}return n.copy_}function wt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Et=(e,t)=>e.scope_===t,It=[];function At(e,t,n,r){const s=nt(e),a=e.type_;if(void 0!==r&&Ve(s,r,a)===t)return void We(s,r,n,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ge(s,(e,n)=>{if(Fe(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??It;for(const e of o)We(s,e,n,a)}function Rt(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)}wt(e)}}function Ot(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Fe(e)||t.has(e)||!$e(e)||it(e)||(t.add(e),Ge(e,(r,s)=>{if(Fe(s)){const t=s[ke];if(Et(t,n)){const n=rt(t);We(e,r,n,e.type_),wt(t)}}else $e(s)&&Ot(s,t,n)})),e}var kt={get(e,t){if(t===ke)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=nt(e);if(!Be(s,t,e.type_))return function(e,t,n){const r=Pt(t,n);return r?Le in r?r[Le]:r.get?.call(e.draft_):void 0}(e,s,t);const a=s[t];if(e.finalized_||!$e(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===Nt(e.base_,t)){qt(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 nt(e),ownKeys:e=>Reflect.ownKeys(nt(e)),set(e,t,n){const r=Pt(nt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Nt(nt(e),t),o=r?.[ke];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||Be(e.base_,t,e.type_)))return!0;qt(e),xt(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(Fe(n)){const s=n[ke];Et(s,r)&&s.callbacks_.push(function(){qt(e);const r=rt(s);At(e,n,r,t)})}else $e(n)&&e.callbacks_.push(function(){const s=nt(e);3===e.type_?s.has(n)&&Ot(n,r.handledSet_,r):Ve(s,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Ot(Ve(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(qt(e),void 0!==Nt(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),xt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=nt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Ue]:!0,[Me]:1!==e.type_||"length"!==t,[Qe]:r[Qe],[Le]:n[t]}:r},defineProperty(){Ne(11)},getPrototypeOf:e=>xe(e.base_),setPrototypeOf(){Ne(12)}},Ct={};for(let e in kt){let t=kt[e];Ct[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Nt(e,t){const n=e[ke];return(n?nt(n):e)[t]}function Pt(e,t){if(!(t in e))return;let n=xe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=xe(n)}}function xt(e){e.modified_||(e.modified_=!0,e.parent_&&xt(e.parent_))}function qt(e){e.copy_||(e.assigned_=new Map,e.copy_=st(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Dt(e,t,n,r){const[s,a]=Xe(t)?pt(ct).proxyMap_(t,n):Ye(t)?pt(ct).proxySet_(t,n):function(e,t){const n=Je(e),r={type_:n?1:0,scope_:t?t.scope_:gt(),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=kt;n&&(s=[r],a=Ct);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??gt()).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||!Et(s,r))return;r.mapSetPlugin_?.fixSetContents(s);const a=rt(s);At(e,s.draft_??s,a,n),Rt(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 Mt(e){return Fe(e)||Ne(10,e),Qt(e)}function Qt(e){if(!$e(e)||it(e))return e;const t=e[ke];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=st(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=st(e,!0);return Ge(n,(e,t)=>{We(n,e,Qt(t))},r),t&&(t.finalized_=!1),n}Ct.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Ne(13),Ct.set.call(this,e,t,void 0)},Ct.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Ne(14),kt.set.call(this,e[0],t,n,e[0])};var Ut=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(et(e)&&!et(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(et(t)||Ne(6),void 0===n||et(n)||Ne(7),$e(e)){const s=_t(this),a=Dt(0,e,void 0);let o=!0;try{r=t(a),o=!1}finally{o?yt(s):vt(s)}return mt(s,n),bt(r,s)}if(!e||!Ze(e)){if(r=t(e),void 0===r&&(r=e),r===Re&&(r=void 0),this.autoFreeze_&&at(r,!0),n){const t=[],s=[];pt(ut).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:s}),n(t,s)}return r}Ne(1,e)},this.produceWithPatches=(e,t)=>{if(et(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]},tt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),tt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),tt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){$e(e)||Ne(8),Fe(e)&&(e=Mt(e));const t=_t(this),n=Dt(0,e,void 0);return n[ke].isManual_=!0,vt(t),n}finishDraft(e,t){const n=e&&e[ke];n&&n.isManual_||Ne(9);const{scope_:r}=n;return mt(r,t),bt(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=pt(ut).applyPatches_;return Fe(e)?r(e,t):this.produce(e,e=>r(e,t))}},Lt=Ut.produceWithPatches.bind(Ut),Ft=Ut.applyPatches.bind(Ut),$t=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},jt=(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})}}},zt=(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})}},Kt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Gt=e=>Array.isArray(e)?e:[e];function Ht(e,t){const n=[],{length:r}=e;for(let s=0;s<r;s++)n.push(e[s].apply(null,t));return n}var Bt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Vt(){return{s:0,v:void 0,o:null,p:null}}function Wt(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=Vt(),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=Vt(),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 Bt(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 Jt(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=Wt,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=Ht(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}={...Kt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:jt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:zt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Ht(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 Xt=Jt(Wt),Yt=Object.assign((e,t=Xt)=>{!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:()=>Yt}),Zt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Zt||{}),en="uninitialized",tn="pending",nn="fulfilled",rn="rejected";function sn(e){return{status:e,isUninitialized:e===en,isLoading:e===tn,isSuccess:e===nn,isError:e===rn}}var an=l;function on(e,t){if(e===t||!(an(e)&&an(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]=on(e[r],t[r]),s&&(s=e[r]===a[r]);return s?e:a}function cn(e,t,n){return e.reduce((e,r,s)=>(t(r,s)&&e.push(n(r,s)),e),[]).flat()}function un(e){return null!=e}function dn(e){return[...e?.values()??[]].filter(un)}function ln(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var pn=()=>new Map,fn=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},hn=(...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},gn=(...e)=>fetch(...e),mn=e=>e.status>=200&&e.status<=299,yn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function vn(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 _n=class{constructor(e,t=void 0){this.value=e,this.meta=t}},Sn="__rtkq/",bn="online",Tn="offline",wn="focus",En="focused",In="visibilitychange",An=r(`${Sn}${En}`),Rn=r(`${Sn}un${En}`),On=r(`${Sn}${bn}`),kn=r(`${Sn}${Tn}`),Cn=!1,Nn="query",Pn="mutation",xn="infinitequery";function qn(e){return e.type===Nn}function Dn(e){return e.type===xn}function Mn(e){return qn(e)||Dn(e)}function Qn(e,t,n,r,s,a){const o="function"==typeof e?e(t,n,r,s):e;return o?cn(o,un,e=>a(Un(e))):[]}function Un(e){return"string"==typeof e?{type:e}:e}var Ln=(e,t)=>e.endpointDefinitions[t],Fn=Symbol("forceQueryFn"),$n=e=>"function"==typeof e[Fn],jn=class extends $t{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},zn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Kn(e,t,n,r){const s=await e["~standard"].validate(t);if(s.issues)throw new jn(s.issues,t,n,r);return s.value}function Gn(e){return e}var Hn=(e={})=>({...e,[p]:!0});function Bn(e,{pages:t,pageParams:n},r){const s=t.length-1;return e.getNextPageParam(t[s],t,n[s],n,r)}function Vn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Wn(e,t,n,r){return Qn(n[e.meta.arg.endpointName][t],c(e)?e.payload:void 0,u(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function Jn(e){return Fe(e)?Mt(e):e}function Xn(e,t,n){const r=e[t];r&&n(r)}function Yn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Zn(e,t,n){const r=e[Yn(t)];r&&n(r)}var er={},tr=Symbol.for("RTKQ/skipToken"),nr={status:en},rr=y(nr,()=>{}),sr=y(nr,()=>{}),ar=WeakMap?new WeakMap:void 0,or=({endpointName:e,queryArgs:t})=>{let n="";const r=ar?.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)&&ar?.set(t,e),n=e}return`${e}(${n})`};function ir(...n){return function(r){const s=Wt(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=or;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:or({...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:Wt(e=>null!=s(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:Nn}),mutation:e=>({...e,type:Pn}),infiniteQuery:e=>({...e,type:xn})});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(Ln(o,e)):Object.assign(Ln(o,e)||{},n);return i}},c=n.map(e=>e.init(i,a,o));return i.injectEndpoints({endpoints:r.endpoints})}}function cr(e,...t){return Object.assign(e,...t)}var ur=({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=Ln(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)}}},dr=new Error("Promise never resolved before cacheEntryRemoved."),lr=({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=Ln(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 dr})]);p.catch(()=>{}),d[s]=u;const f=e.endpoints[t].select(Mn(i)?r:s),h=a.dispatch((e,t,n)=>n),g={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:h,updateCachedData:Mn(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!==dr)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)?Yn(e.payload):""}(n);function S(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);S(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;S(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)}},pr=({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!":""}`)},fr=({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=ln(l.currentSubscriptions,t,pn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==en&&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(Wn(e,"invalidatesTags",n,o),t):g(e)?v([],t):a.util.invalidateTags.match(e)&&v(Qn(e.payload,void 0,void 0,void 0,void 0,o),t)}},hr=({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===en)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===en)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())}},gr=({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=Ln(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(Mn(c)?o:s),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:s,extra:l,updateCachedData:Mn(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 mr=Symbol(),yr=({createSelector:l=n}={})=>({name:mr,init(n,{baseQuery:v,tagTypes:_,reducerPath:S,serializeQueryArgs:b,keepUnusedDataFor:T,refetchOnMountOrArgChange:w,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:A,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Ce.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(!$e(e))return e;if(Je(e))return e.map(r);if(Xe(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Ye(e))return new Set(Array.from(e).map(r));const t=Object.create(xe(e));for(const n in e)t[n]=r(e[n]);return Be(e,Oe)&&(t[Oe]=e[Oe]),t}function s(e){return Fe(e)?r(e):e}var a;lt[a=ut]||(lt[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=He(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==qe||Ne(19),et(c)&&n===De&&Ne(19),c=Ve(c,n),Ze(c)||Ne(18,o.join("/"))}const u=He(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:Ne(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:Ne(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=Ve(c,r,d),f=Ve(u,r,d),h=l?Be(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?.[ke];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===Re?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=Ve(e,t.key_),Ze(r)?r?.[ke]:null),a=Ve(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||Be(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=Ve(n,t[e]),!Ze(n)||null===n)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,n)}catch(e){return null}return n}})}();const N=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(_.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(n,{reducerPath:S,endpoints:{},internalActions:{onOnline:On,onOffline:kn,onFocus:An,onFocusLost:Rn},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>rr,s=e=>sr;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,...sn(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!=Bn(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?Yn(e)??tr:e,n(t===tr?s:e=>o(e)?.mutations?.[t]??sr,a)}},selectInvalidatedBy:function(e,n){const r=e[t],s=new Set,a=cn(n,un,Un);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 cn(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==en,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,...sn(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===tr)return n(r,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return n(e=>c(e,i)??rr,a)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Vn(e,t,n)}}({serializeQueryArgs:b,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:D,buildInfiniteQuerySelector:M,buildMutationSelector:Q}=P;cr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:U,infiniteQueryThunk:L,mutationThunk:F,patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,buildMatchThunkActions:G}=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:S=l}=g,b=e.type===Nn;try{let T=Gn;const w={signal:r,abort:s,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:b?_(e,f()):void 0,queryCacheKey:b?e.queryCacheKey:void 0},E=b?e[Fn]:void 0;let I;const A=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 R(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 R(n){let r;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=g;if(a&&!zn(S,"arg")&&(n=await Kn(a,n,"argSchema",{})),E?r=E():g.query?(T=y(g,"transformResponse"),r=await t(g.query(n),w,s)):r=await g.queryFn(n,w,s,e=>t(e,w,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 _n(r.error,r.meta);let{data:c}=r;o&&!zn(S,"rawResponse")&&(c=await Kn(o,r.data,"rawResponseSchema",r.meta));let u=await T(c,r.meta,n);return i&&!zn(S,"response")&&(u=await Kn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(b&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const P={pages:[],pageParams:[]},x=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!x?P:x;if("direction"in e&&e.direction&&q.pages.length){const D="backward"===e.direction,M=(D?Vn:Bn)(O,q,e.originalArgs);N=await A(q,M,k,D)}else{const{initialPageParam:Q=O.initialPageParam}=e,U=x?.pageParams??[],L=U[0]??Q,F=U.length;if(N=await A(q,L,k),E&&(N={data:N.data.pages[0]}),C)for(let $=1;$<F;$++){const j=Bn(O,N.data,e.originalArgs);N=await A(N.data,j,k)}}I=N}else I=await R(e.originalArgs);return v&&!zn(S,"meta")&&I.meta&&(I.meta=await Kn(v,I.meta,"metaSchema",I.meta)),o(I.data,Hn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof _n){let G=y(g,"transformErrorResponse");const{rawErrorResponseSchema:H,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{H&&!zn(S,"rawErrorResponse")&&(V=await Kn(H,V,"rawErrorResponseSchema",W)),v&&!zn(S,"meta")&&(W=await Kn(v,W,"metaSchema",W));let J=await G(V,W,e.originalArgs);return B&&!zn(S,"errorResponse")&&(J=await Kn(B,J,"errorResponseSchema",W)),a(J,Hn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof jn){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:b?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return a(Z(K,Y),Hn({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 S=()=>s(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Hn({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!(!$n(e)&&("pending"===s?.status||!_(e,r)&&(!qn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),b=S(),T=S();function w(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:b,mutationThunk:s(`${e}/executeMutation`,v,{getPendingMeta:()=>Hn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:T,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===en)return c;let u;if("data"in i)if($e(i.data)){const[e,t,r]=Lt(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,[Fn]:()=>({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=Qn(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),w(t)),matchFulfilled:f(c(e),w(t)),matchRejected:f(h(e),w(t))}}}}({baseQuery:v,reducerPath:S,context:C,api:n,serializeQueryArgs:b,assertTagType:N,selectors:P,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:H,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:s,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const S=r(`${t}/resetApiState`);function b(e,t,n,r){e[t.queryCacheKey]??={status:en,endpointName:t.endpointName},Xn(e,t.queryCacheKey,e=>{e.status=tn,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 T(e,t,n,r){Xn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:s}=f[t.arg.endpointName];if(e.status=nn,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?on(Fe(e.data)?(Fe(a=e.data)||Ne(15,a),a[ke].base_):e.data,n):n;var a;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const w=a({name:`${t}/queries`,initialState:er,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;b(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),T(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:Nn,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}}){Xn(e,t,e=>{e.data=Ft(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{b(e,n,$n(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{T(e,t,n,$n(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:s,payload:a})=>{Xn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=rn,e.error=a??s}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==nn&&r?.status!==rn||(e[t]=r)})}}),E=a({name:`${t}/mutations`,initialState:er,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Yn(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[Yn(t)]={requestId:n,status:tn,endpointName:r.endpointName,startedTimeStamp:s})}).addCase(s.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Zn(e,n,e=>{e.requestId===n.requestId&&(e.status=nn,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(s.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Zn(e,r,e=>{e.requestId===r.requestId&&(e.status=rn,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==nn&&r?.status!==rn||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){A(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(w.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{A(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[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)=>{R(e,[t])}).addMatcher(w.actions.cacheEntriesUpserted.match,(e,t)=>{R(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function A(e,t){const n=Jn(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]=Jn(a).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=Wn(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:er,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=a({name:`${t}/internalSubscriptions`,initialState:er,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Ft(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(On,e=>{e.online=!0}).addCase(kn,e=>{e.online=!1}).addCase(An,e=>{e.focused=!0}).addCase(Rn,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:w.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(S.match(t)?void 0:e,t),actions:{...C.actions,...w.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:S}}}({context:C,queryThunk:U,mutationThunk:F,serializeQueryArgs:b,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:w,keepUnusedDataFor:T,reducerPath:S,invalidationBehavior:A}});cr(n.util,{patchQueryData:$,updateQueryData:j,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),cr(n.internalActions,B);const V=new WeakMap,W=e=>ln(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=Ln(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=>dn(c(e))},getRunningMutationsThunk:function(){return e=>dn(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,[Fn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:s,endpointName:t});let S;const b={...m,type:Nn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[Fn]:g};if(qn(s))S=n(b);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;S=r({...b,direction:e,initialPageParam:t,refetchCachedPages:n})}const T=a.endpoints[t].select(i),w=y(S),E=T(v());f(y);const{requestId:I,abort:A}=w,R=E.requestId!==I,O=c(y)?.get(_),k=()=>T(v()),C=Object.assign(g?w.then(k):R&&!O?Promise.resolve(E):Promise.all([O,w]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:A,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!R&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:U,mutationThunk:F,infiniteQueryThunk:L,api:n,serializeQueryArgs:b,context:C,getInternalState:W});cr(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=[pr,ur,fr,hr,lr,gr];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=ln(n,e.queryCacheKey,pn);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=ln(n,t.queryCacheKey,pn);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]=Lt(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!==en&&n.dispatch(r(t)))}})}return(e,t)=>{An.match(e)&&o(t,"refetchOnFocus"),On.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:S,context:C,queryThunk:U,mutationThunk:F,infiniteQueryThunk:L,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return cr(n.util,se),cr(n,{reducer:H,middleware:re}),{name:mr,injectEndpoint(e,t){const r=n,s=r.endpoints[e]??={};qn(t)&&cr(s,{name:e,select:D(e,t),initiate:J(e,t)},G(U,e)),t.type===Pn&&cr(s,{name:e,select:Q(),initiate:Y(e)},G(F,e)),Dn(t)&&cr(s,{name:e,select:M(e,t),initiate:X(e,t)},G(U,e))}}}});function vr(e){return e.replace(e[0],e[0].toUpperCase())}function _r(e){let t=0;for(const n in e)t++;return t}function Sr(e){return"infinitequery"===e.type}function br(e,...t){return Object.assign(e,...t)}yr();var Tr=Symbol();function wr(e){const t=C(e),n=R(()=>on(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function Er(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Ir=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Ar=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Rr=(()=>Ir||Ar?N:k)(),Or=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Zt.pending}:e;function kr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Cr=["data","status","isLoading","isSuccess","isError","error"],Nr=Symbol(),Pr=ir(yr(),(({batch:e=w,hooks:n={useDispatch:T,useSelector:b,useStore:S},createSelector:r=Xt,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(_r(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:Nr,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),R(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},o=({refetchOnReconnect:t,refetchOnFocus:a,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[s],u=r(),[p,f]=O(Tr),h=C(void 0),g=Er({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===Tr||h.current||y(p,!0)},[p,y]),R(()=>[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===Tr}),a=R(()=>({lastArg:n}),[n]);return R(()=>[t,{...s,reset:r},a],[t,s,r,a])},useQuery(e,t){const n=a(e,t),r=i(e,{selectFromResult:e===tr||t?.skip?void 0:Or,...t}),s=kr(r,...Cr);return A(s),R(()=>({...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=Er(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=wr(s.skip?tr: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 R(()=>({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===tr||t?.skip?void 0:Or,...t}),c=kr(i,...Cr,"hasNextPage","hasPreviousPage");return A(c),R(()=>({...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=R(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=R(()=>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]),S=kr(y,...Cr,"endpointName");A(S);const b=R(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return R(()=>[f,b],[f,b])}},usePrefetch:function(t,n){const s=r(),a=Er(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!==tr&&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!==tr&&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=wr(c?tr:s),v=Er({refetchOnReconnect:a,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Er(f.initialPageParam),S=Er(f.refetchCachedPages),b=C(void 0);let{queryCacheKey:T,requestId:w}=b.current||{},E=!1;T&&w&&(E=m.current.isRequestSubscribed(T,w));const I=!E&&void 0!==b.current;return d(()=>{I&&(b.current=void 0)},[I]),d(()=>{const e=b.current;if("undefined"!=typeof process&&process,y===tr)return e?.unsubscribe(),void(b.current=void 0);const t=b.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...Sr(p[n])?{initialPageParam:_,refetchCachedPages:S}:{}}));b.current=t}},[g,h,i,y,v,I,_,S,n]),[b,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=wr(o?tr:r),l=C(void 0),p=R(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=R(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=s(e=>f(e,l.current),E),g=a(),m=p(g.getState(),l.current);return Rr(()=>{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 br(c,{usePrefetch:p}),br(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}=u(e);br(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}),a[`use${vr(e)}Query`]=t,a[`useLazy${vr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);br(c.endpoints[e],{useMutation:t}),a[`use${vr(e)}Mutation`]=t}else if(Sr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);br(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),a[`use${vr(e)}InfiniteQuery`]=t}}}}}})());let xr=0;function qr(e){return null!==e&&"object"==typeof e}function Dr(e){return qr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Mr="Something went wrong. Please try again.";function Qr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Ur(e,t){return Qr(e)?Mr:function(e){if(!qr(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 Lr(e){if(!qr(e))return null;const t=e.data;return qr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function Fr(e,t){if(!qr(e))return t.generic;if(Qr(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return Lr(JSON.parse(e))}catch{return null}}(e.message);return n||(Lr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function $r(e){if(!qr(e))return null;const t=e.data;if(qr(t)){const e=t.data;if(qr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const jr={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 zr=null;const Kr=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,xr+=1,`${p}-${xr}`),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=gn,paramsSerializer:r,isJsonContentType:s=yn,jsonContentType:a="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===gn&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(f,h,g)=>{const{getState:m,extra:y,endpoint:v,forced:_,type:S}=h;let b,{url:T,headers:w=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:A=u??mn,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?hn(h.signal,fn(R)):h.signal,...O};w=new Headers(vn(w)),k.headers=await t(w,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:S,extraOptions:g})||w;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=~T.indexOf("?")?"&":"?";T+=e+(r?r(E):new URLSearchParams(vn(E)))}T=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,T);const P=new Request(T,k);let x;b={request:new Request(T,k)};try{x=await n(P)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:b}}const q=x.clone();let D;b.response=q;let M="";try{let e;if(await Promise.all([p(x,I).then(e=>D=e,t=>e=t),q.text().then(e=>M=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:x.status,data:M,error:String(e)},meta:b}}return A(x,D)?{data:D,meta:b}:{error:{status:x.status,data:D},meta:b}};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(!D()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return M.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(L()),e;try{const e=await async function(){return zr||(zr=async function(){const e=U();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{zr=null}),zr)}();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)}M.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}catch{M.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(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=jr.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=jr.UNAUTHORIZED:403===s?i=jr.FORBIDDEN:404===s?i=jr.NOT_FOUND:422===s?i=jr.VALIDATION_ERROR:"FETCH_ERROR"===s?i=jr.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=jr.TIMEOUT:"PARSING_ERROR"===s?i=jr.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=jr.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=Mr),{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:jr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:jr.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:jr.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?(Q("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(Q("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(Q(Mr),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?M.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}):D()&&!r&&M.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 Hr=0;async function Br(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;Hr+=1;const l=`fetch-${Hr}`,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),D()&&!o&&M.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||M.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(D()&&!o){const n=e.headers.get("x-request-id")??void 0;M.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||M.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 Vr=3e5;let Wr=0;const Jr=()=>"",Xr=Pr({reducerPath:"chatApi",baseQuery:Kr,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 Br({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=Vr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return D()&&!o&&M.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Br({url:t,method:n,body:r,headers:s,skipAuth:a,skipLogging:o,skipContentType:!0,signal:d});Wr+=1;const l=`upload-${Wr}`,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||M.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||M.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 Br({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:Yr,useTranscribeAudioMutation:Zr,useUploadDocumentMutation:es,useDeleteDocumentMutation:ts,useExchangeOAuthCodeMutation:ns,useGetConversationHistoryQuery:rs,useLazyGetConversationByIdQuery:ss,useDeleteConversationMutation:as,useGetToolServersQuery:os,useStartToolServerOAuthMutation:is,useDeleteToolServerConnectionMutation:cs}=Xr,us={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},ds=Pr({reducerPath:"brandingApi",baseQuery:Kr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:j.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:us})})}),{useGetBrandingQuery:ls}=ds,ps={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},fs=Pr({reducerPath:"configApi",baseQuery:Kr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:j.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:ps})})}),{useGetConfigQuery:hs}=fs,gs=Pr({reducerPath:"profileApi",baseQuery:Kr,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(gs.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})})}),{useGetProfileQuery:ms,useUpdateProfileMutation:ys,useDeleteAccountMutation:vs,useUpdatePasswordMutation:_s}=gs,Ss="/payment-callback.html",bs="hosted-payment-page-callback",Ts={LOADED:"loaded",DONE:"done"},ws="hosted-payment-page-theme";function Es(e){return{type:ws,colorScheme:e.colorScheme,vars:{"--hpp-page-bg":e.pageBg,"--hpp-card-bg":e.cardBg,"--hpp-card-shadow":e.cardShadow,"--hpp-text":e.text,"--hpp-heading":e.heading,"--hpp-muted":e.muted,"--hpp-divider":e.divider,"--hpp-accent":e.accent,"--hpp-accent-text":e.accentText,"--hpp-success":e.success,"--hpp-success-bg":e.successBg,"--hpp-warning":e.warning,"--hpp-warning-bg":e.warningBg,"--hpp-danger":e.danger,"--hpp-danger-bg":e.dangerBg,"--hpp-radius":`${e.radius}px`,"--hpp-font":e.fontFamily}}}const Is={SUCCEEDED:"succeeded",FAILED:"failed",CANCELED:"canceled"},As=/^[\w.:/-]{1,200}$/,Rs=/^\d{1,12}(\.\d{2})?$/,Os=/^[A-Z]{3}$/;function ks(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}function Cs(e){return!(!e||"object"!=typeof e||e.type!==bs||e.action!==Ts.LOADED&&e.action!==Ts.DONE||"string"!=typeof e.search)}function Ns(e,t){const n=e.get(t)?.trim();return!n||n.length>200?null:n}function Ps(e){const t="string"==typeof e?e.trim().toLowerCase():"";return t===Is.SUCCEEDED||t===Is.FAILED||t===Is.CANCELED?t:null}function xs(e){const t=Ns(e,"amount"),n=Ns(e,"currency");if(t&&n&&Rs.test(t)&&Os.test(n))return{amount:Math.round(100*Number.parseFloat(t)),currency:n}}function qs(e){const t=e.get("message")?.trim();if(t&&!(t.length>300))return t}function Ds(e){if(!e)return null;const t=new URLSearchParams(e),n=function(e){const t=Ns(e,"id");return t&&As.test(t)?t:null}(t),r=function(e){return Ps(Ns(e,"status"))}(t);return n&&r?{paymentId:n,paymentStatus:r,...xs(t),message:qs(t)}:null}function Ms(e,t){return e?.amount&&e.currency?{amount:e.amount,currency:e.currency}:{amount:t.config.amount,currency:t.config.currency}}const Qs={PENDING:"pending",...Is},Us={bridge:{skipErrorToast:!0,retry:{maxRetries:0}}},Ls=Pr({reducerPath:"paymentApi",baseQuery:Kr,keepUnusedDataFor:0,endpoints:e=>({getHostedPaymentStatus:e.query({query:({referenceId:e})=>({url:j.PAYMENT_STATUS(e),method:"GET"}),transformResponse:e=>Ps(e?.data?.status)??Qs.PENDING,extraOptions:Us})})}),{useGetHostedPaymentStatusQuery:Fs}=Ls,$s=[Xr,ds,fs,gs,Ls],js={[Xr.reducerPath]:Xr.reducer,[ds.reducerPath]:ds.reducer,[fs.reducerPath]:fs.reducer,[gs.reducerPath]:gs.reducer,[Ls.reducerPath]:Ls.reducer},zs=[Xr.middleware,ds.middleware,fs.middleware,gs.middleware,Ls.middleware],Ks=()=>e=>{$s.forEach(t=>e(t.util.resetApiState()))},Gs={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Hs=a({name:"chat",initialState:Gs,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:()=>Gs},extraReducers:e=>{e.addMatcher(i(L,K),()=>Gs)}}),{setIsAgentWorking:Bs,setStatusText:Vs,setResponseStartTime:Ws,enqueueMessage:Js,dequeueMessage:Xs,clearMessageQueue:Ys,addPendingTranscriptionId:Zs,clearPendingTranscriptionIds:ea,resetChatState:ta}=Hs.actions,na=Hs.reducer,ra={activeConversationId:null,titles:{}},sa=a({name:"conversations",initialState:ra,reducers:{setActiveConversationId(e,t){e.activeConversationId=t.payload},upsertConversationTitle(e,t){const{id:n,title:r}=t.payload;n&&r.trim()&&(e.titles[n]=r)}},extraReducers:e=>{e.addMatcher(i(L,K),()=>ra)}}),{setActiveConversationId:aa,upsertConversationTitle:oa}=sa.actions,ia=sa.reducer;let ca=null;function ua(e){ca=e}function da(){ca=null}const la=()=>{if(!ca)return{};const e=ca(),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}:{}}},pa=d({...js,auth:H,chat:na,conversations:ia,indicator:G}),fa={ignoredPaths:["chatApi.queries","chatApi.mutations","brandingApi.queries","brandingApi.mutations","configApi.queries","configApi.mutations","profileApi.queries","profileApi.mutations","paymentApi.queries","paymentApi.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","paymentApi/executeQuery/rejected","paymentApi/executeQuery/fulfilled"],ignoredActionPaths:["payload.error","error","meta.baseQueryMeta","meta.arg.originalArgs.audioFile","meta.arg.originalArgs.file","meta.arg.originalArgs.onUploadProgress","meta.arg.originalArgs.onUploadComplete"]},ha=_({reducer:pa,middleware:e=>e({serializableCheck:fa}).prepend(B.middleware).concat(zs)});var ga;ga=ha.dispatch,function(){const[e,t,n,r]=[An,Rn,On,kn].map(e=>()=>ga(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!Cn&&"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={[wn]:e,[In]:s,[bn]:n,[Tn]:r};t(!0),Cn=!0}}(),V(()=>ha.getState().auth.accessToken),W(()=>ha.getState().auth.tokenExpiresAt),ua(()=>ha.getState());const ma=()=>{const e=hs(),{isError:t,isFetching:n,refetch:r}=e,s=C(!1);return k(()=>{!t||n||s.current||(s.current=!0,r())},[t,n,r]),e},ya=P(void 0),va=()=>{const e=x(ya);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},_a="mtx",Sa=5;var ba=(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))(ba||{});let Ta=class extends Error{constructor(e){super(),this.reopen=e}};class wa{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,M.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(M.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new Ta(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(ba));if("status_update"!==t&&"clear_status"!==t||M.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===ba.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==ba.CLEAR_STATUS&&t!==ba.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){M.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else M.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ta)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 Ta)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){i=e;for(const t of o)e.onEvent(t);return o.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{i=null}},abort(){n.abort()}}}}class Ea extends Error{constructor(e){super(),this.reopen=e}}class Ia{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)&&("hosted_payment_page"!==t.provider||ks(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 M.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,M.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(M.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new Ea(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=t)},onmessage:e=>{M.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(ba));if(!t||n.has(t))if(t!==ba.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void M.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===ba.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){M.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 M.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof Ea)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 Ea)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 Aa(e,t){switch(e){case"mtx":return new wa(t);case"agui":return new Ia(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function Ra(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 Oa{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 ka(e,t){const{data:n,error:r,response:s}=await Br({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 Ca(){const{data:e,error:t,response:n}=await Br({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function Na(e){const{data:t,error:n,response:r}=await Br({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 Pa(e){const{data:t,error:n,response:r}=await Br({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 xa(e){const{data:t,error:n,response:r}=await Br({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function qa(e,t){await Br({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Da(e){const{data:t,error:n,response:r}=await Br({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ma(e){const{data:t,error:n,response:r}=await Br({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Qa(e){const{data:t,error:n,response:r}=await Br({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Ua(e){const{data:t,error:n,response:r}=await Br({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function La(e,t){const{data:n,error:r,response:s}=await Br({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 Fa(){try{const{data:e}=await Br({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 $a(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Br({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 ja(e){const t=S(),[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 za(){const e=I(e=>ka(e.email,e.password),[]),{run:t,isLoading:n}=ja(e);return{login:t,isLoading:n}}function Ka(){const{run:e,isLoading:t}=ja(Ca);return{guestLogin:e,isLoading:t}}function Ga(){const{run:e,isLoading:t}=ja(Na);return{signup:e,isLoading:t}}function Ha(){const{run:e,isLoading:t}=ja(Pa);return{verify:e,isLoading:t}}function Ba(){const e=S();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await qa({refresh_token:n,user_id:r})}catch{}else M.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(n),has_user_id:Boolean(r)});e.dispatch(L())},[e])}}function Va(){const e=S(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:s,tokens:a}=await Da({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 Wa(e){return ae({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return M.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 Da({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 M.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 M.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}function Ja(e,t){let n=0,r=null;return ae({performRefresh:async()=>{let s;try{s=await t.getToken()}catch(e){return M.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&&s.accessToken===r)return null;const a=e.getState();if(s.accessToken===(a.auth?.accessToken??null))return ie(a.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(M.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=s.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null):{accessToken:s.accessToken}):(n=0,{accessToken:s.accessToken});n=0,r=null;const o=null!=s.expiresAt?s.expiresAt/1e3:void 0;return e.dispatch(F({accessToken:s.accessToken,refreshToken:null,...null!=o?{expiresIn:o}:{}})),{accessToken:s.accessToken,...null!=o?{expiresIn:o}:{}}},isTransient:()=>!1})}const Xa={WEB:"Web",MOBILE:"Mobile"},Ya={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},Za=Object.values(Ya);function eo(e,t){const n=e?.data?.auth_mode_config?.[t];return Za.includes(n)?n:Ya.SIGN_IN_ONLY}const to=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:s}=b(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?ue(n):0,timeUntilExpiryFormatted:n?ce(ue(n)):"0s"}}},no={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},ro={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},so={MESSAGE_PAGE_SIZE:25},ao=[500,1500,3e3],oo=28,io="New Conversation";function co(e){return!e.widget?.length}function uo(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 lo(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&&co(e)){e.message=e.message+(n.content||"");continue}t.push(uo(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 po(e){return"string"==typeof e&&e.trim()?e:null}const fo=()=>{const e=T(),[t,n]=O(null),[r,s]=O([]),a=C(t),o=b(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(oa({id:t,title:n}))},[t,e]);k(()=>{a.current=t,e(aa(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}=va(),[v]=Yr(),[_]=ss(),S=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const s=po(t?.title);return s&&e(oa({id:r,title:s})),r}return Q(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return Q(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),w=I(async(t,r)=>{try{const a=po(r);a&&e(oa({id:t,title:a}));const o=await _({conversationId:t,skip:0,limit:so.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=po(o.title)??a;r&&e(oa({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?lo(i):[];return s(c),l(i.length),f(i.length>=so.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(M.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load conversation. Please try again.")),!1}},[_,e]),E=I(async(n=t)=>{if(!n)return null;try{const t=await _({conversationId:n,skip:0,limit:1}).unwrap(),r=po(t?.title);return r&&e(oa({id:n,title:r})),r}catch(e){return M.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),A=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:so.MESSAGE_PAGE_SIZE}).unwrap();if(a.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=lo(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=so.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){M.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),R=I(()=>{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:S,loadConversation:w,loadConversationTitle:E,loadMoreMessages:A,resetConversation:R}},ho=e=>null==e||"string"==typeof e&&""===e.trim(),go=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},mo="user-collapsed",yo=({conversationId:e,messages:t,setMessages:n,enableTts:r=!1,userLocation:s=null,startSession:a,debugMode:o=!1,onPaymentInit:i,onSignInInit:c,onRequestDocuments:u,onConversationTitle:d})=>{const{adapter:l}=va(),p=T(),f=S(),[h,g]=O(""),[m,y]=O(!1),[v,_]=O(!1),b=C(i);b.current=i;const w=C(c);w.current=c;const E=C(u);E.current=u;const A=C(d);A.current=d;const R=C(new Oa),N=C(null),P=C(null),x=C(!1),q=C(0),D=C(!1),U=C(null),L=C(e);L.current=e;const F=C(null),$=C(e);k(()=>{const t=$.current;$.current=e,null!==t&&t!==e&&p(ea())},[e,p]);const j=I((e=de.KEEP)=>{if(p(Vs(null)),p(Bs(!1)),e===de.FINALIZE){const e=f.getState().chat.responseStartTime;e&&p(le(Date.now()-e)),p(Ws(null))}else e===de.CANCEL&&p(Ws(null))},[p,f]),z=I(e=>{p(Bs(e)),y(e),e&&_(!1)},[p]),K=I(()=>{const e=f.getState().chat.responseStartTime;return e&&p(le(Date.now()-e)),null!==U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{U.current=null,D.current=!1,g(""),y(!1),_(!1),j(de.CANCEL)},600),()=>{null!==U.current&&clearTimeout(U.current)}},[p,f,j]),G=C({setStatusText:e=>p(Vs(e||null)),setIsAgentWorking:e=>p(Bs(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>b.current?.(e),onSignIn:e=>w.current?.(e),onRequestDocuments:e=>E.current?.(e),onError:()=>{}}),H=I(e=>{if(F.current!==L.current)return N.current?.abort(),void P.current?.();if("payment"===e.type&&"payment"in e.data)return void pe({kind:"payment",payment:e.data.payment},G.current);if("sign_in"===e.type&&"signIn"in e.data)return void pe({kind:"sign_in",signIn:e.data.signIn},G.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void pe({kind:"request_documents",requestDocuments:e.data.requestDocuments},G.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&A.current?.(t))}const t=R.current;t.processEvent(e),x.current||(x.current=!0,_(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"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:t.getStatusText()}:r;pe(e,G.current)}const s=t.toMessages(),a=q.current;n(e=>[...e.slice(0,e.length-a),...s]),q.current=s.length,s.some(e=>go(e)||!ho(e.message))&&p(Bs(!1)),t.isStreamComplete()&&K()},[p,n,K]),B=I(e=>{Q("Stream connection error. Please try again."),K()},[K]),V=I(()=>{N.current?.abort(),P.current?.(),N.current=null,P.current=null,F.current=null,R.current.reset(),q.current=0,g(""),y(!1),_(!1),j(de.CANCEL),p(fe()),p(Ys()),D.current=!1},[p,j]),W=I((e,t)=>{N.current?.abort(),P.current?.(),R.current.reset(),q.current=0,x.current=!1,F.current=t,L.current=t,N.current=e;const n=e.subscribe({onEvent:H,onError:B,onComplete:()=>{K()}});P.current=n},[H,B,K]),J=I(async(t="",s=[],i={})=>{D.current=!0;try{let c=e;if(!c){if(!a)return D.current=!1,void Q("Conversation is not ready yet. Please wait a moment.");const e=await a();if(!e)return D.current=!1,void Q("Failed to start conversation. Please try again.");c=e}const u=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),p(Bs(!0)),y(!0),_(!1),p(Vs(null)),p(Ws(Date.now())),p(fe());const d={id:`user-${Z()}`,sender:"user",message:u,timestamp:(new Date).toISOString(),...i.messageType?.length?{message_type:i.messageType}:{},...i.documents?.length?{documents:i.documents}:{}};n(e=>[...e,d]);const f=he(),h=function(e){if(e?.length)return[{type:ge.DOCUMENTS,document_ids:e.map(e=>e.document_id)}]}(i.documents),g=l.streamMessage({conversationId:c,message:u,enableTts:r,debugMode:o,transcriptionIds:s,...h?{modelContext:h}:{},...f?{body:{client_metadata:{device_token:f}}}:{}});W(g,c)}catch(e){M.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),Q("Failed to send conversations message. Please try again."),D.current=!1,j(de.CANCEL)}},[p,t,e,l,r,n,W,a,o,j]),X=C(J);X.current=J;const Y=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return;const s=f.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&p(ea()),D.current?p(Js({id:Z(),text:r,queuedAt:(new Date).toISOString(),...a.length?{transcriptionIds:a}:{},...n.messageType?.length?{messageType:n.messageType}:{},...n.documents?.length?{documents:n.documents}:{}})):await J(r,a,n)},[p,f,J]);k(()=>{if(m||D.current)return;const e=f.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={...1===e.length&&e[0].messageType?.length?{messageType:e[0].messageType}:{},...r.length?{documents:r}:{}};p(Ys()),X.current(t,n,s)},[m,p,f]);const ee=I(async(e,t)=>{D.current=!0,p(Bs(!0)),y(!0),_(!1),p(Vs(null)),p(Ws(Date.now())),p(fe());const n=void 0!==t?t:s,a={};n&&(a.user_location=n);const o=he();o&&(a.device_token=o);const i=Object.keys(a).length>0?{client_metadata:a}:{},c=l.streamInitial({conversationId:e,body:i,enableTts:r});W(c,e)},[p,l,r,s,W]);return k(()=>()=>{N.current?.abort(),P.current?.()},[]),{sendMessage:Y,startInitialStream:ee,setThinkingState:z,abortStream:V,toolCallStatus:h,isProcessThinkingState:m,hasReceivedResponse:v}};function vo({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,s]=O([]),a=b(e=>e.conversations.titles),[o,i]=O(!0),[c,u]=O(!1),[d,l]=O(!0),[p,f]=O(""),h=C(0),g=C(!1),m=C(d);m.current=d;const y=C(r);y.current=r;const[v]=Xr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:T}]=Xr.useDeleteConversationMutation(),w=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){M.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(()=>{w("replace")},[w]);const E=C(null),A=C(new Set);k(()=>{if(o||!e)return;if(A.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${a[e]??""}`;E.current!==t&&(E.current=t,w("silent"))},[e,r,a,o,w]);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 S({conversationId:a});if(c.error)return M.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:a,error_message:JSON.stringify(c.error)}),void Q("Failed to delete the conversation. Please try again.");me("Conversation deleted successfully"),A.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,S,t,n]),P=R(()=>r.map(e=>a[e.id]?{...e,title:a[e.id]}:e),[r,a]);return{conversations:p.trim()?P.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):P,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:T,searchQuery:p,setSearchQuery:f,loadConversations:w,deleteConversation:N,isLoadingMoreRef:g}}function _o(){return b(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function So(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 bo(e){if("success"===e.status){const t=So(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 To=({sendMessageRef:e})=>{const[t,n]=O(null),r=C(!1),s=I(e=>{e&&(r.current=!1),n(e)},[]),a=I(()=>n(null),[]),o=I(t=>{const n="hosted_payment_page"===t.provider&&"cancel"!==t.status&&void 0!==t.dismissed;n&&r.current?t.dismissed&&s(null):(n&&(r.current=!0),"failure"===t.status&&t.message&&"stripe"!==t.provider&&!n&&Q(t.message),e.current?e.current(bo(t)):M.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:t.status}),n&&!t.dismissed||s(null))},[e,s]);return{paymentInit:t,setPaymentInit:s,clearPaymentInit:a,handlePaymentResult:o}};function wo(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=ye.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function Eo(e){try{const t=await e.getItem(ve.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ve.LOCATION_CACHE),null)}catch{return null}}const Io=()=>{const[e,t]=O(!1),[n,r]=O(null),s=_e(),a=I(async()=>{const e=await Eo(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){M.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(ve.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 Ao({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 Ro=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},Oo=()=>Ro("(min-width: 1024px)"),ko=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}},Co=()=>{const[e,t]=O(!1),{getUserLocation:n}=Io(),r=_e(),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(ve.LOCATION_ENABLED))return void a();const t=await Eo(r);t&&0!==t.latitude&&0!==t.longitude?a():(e=setTimeout(a,5e3),n().finally(a))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function No({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 Po(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 xo(){const{themeStyles:e}=Se(),{data:t,isLoading:n}=os(void 0),[r]=cs(),s=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:Po(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)?Q(`Failed to disconnect ${t}. Please try again.`):me(`${t} disconnected`)}}}const qo={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Do=({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?qo.RECORDING:o?qo.TRANSCRIBING:qo.NORMAL;return R(()=>({value:i,setValue:c,send:d,canSend:u,mode:l}),[i,d,u,l])},Mo=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},Qo=e=>{const t=b(e=>!!e.voice?.isAgentWorking),n=b(e=>e.voice?.statusText??null),r=b(e=>e.voice?.responseStartTime??null),s=b(e=>e.chat.isAgentWorking),a=b(e=>e.chat.statusText??null),o=b(e=>e.chat.responseStartTime),i=b(e=>e.indicator.lastResponseTime),c=e?t:s,u=e?n:a,d=e?r:o;return R(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},Uo=[],Lo=({messages:e,voiceStreamingMessages:t=Uo,voiceActive:n})=>{const r=R(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),s=R(()=>Mo(r),[r]),a=Qo(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=Mo(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(be),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:s,indicator:a,classifyArrival:i}},Fo=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(ro.INITIAL),[s,a]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(ro.INITIAL),a(0),void i(!0);r(ro.INITIAL),a(0),i(!0);let e=ro.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{a(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},ro.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=ro.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(ro.LATER),a(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},ro.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}},$o=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 jo(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 zo=P(null),Ko=()=>{const e=x(zo);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let Go=0;function Ho({refreshSession:e,checkIntervalMs:t=6e4}){const n=S(),r=b(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(L())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-Go<3e5))try{await e()?Go=Date.now():(M.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){M.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=Te(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)}}Go=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 Bo({clientType:e}){const{data:t,isLoading:n,refetch:r}=ma(),s=eo(t,e),a=Boolean(t?.data?.auth_mode_config),[o,i]=O(s);a&&s!==o&&i(s);const c=a?s:o,u=b(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=Ka(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Ya.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===Ya.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Ya.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Vo({adapter:e,enabled:t}){const n=S(),r=b(e=>Boolean(e.auth?.isAuthenticated)),s=R(()=>e?Ja(n,e):null,[n,e]);k(()=>{if(t&&s)return we(s),()=>we(null)},[t,s]);const a=C(!1),[o,i]=O(!1),[c,u]=O(0);k(()=>{t&&s&&(r?a.current=!1:a.current||(a.current=!0,i(!1),s().then(e=>{e||(a.current=!1,i(!0))})))},[t,s,r,c]);const d=I(()=>{i(!1),u(e=>e+1)},[]);return{isInheritedBootPending:t&&!r&&!o,inheritedAuthFailed:t&&o,retryInheritedAuth:d}}class Wo{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 Jo={HOLD:"hold",TAP:"tap"},Xo="Microphone access is required. Please allow microphone permissions in your browser settings.",Yo=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},Zo=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:s=Jo.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=T(),[v]=Zr(),_=I(async()=>{if(s===Jo.TAP){if(f.current||g.current)return;g.current=!0;try{l.current||(l.current=new Wo),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0)}catch(e){M.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,Q(Xo)}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 Yo();if("denied"===n)return t(),void Q(Xo);if("prompt"!==n){if(h.current)return t(),void(h.current=!1);try{l.current||(l.current=new Wo),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(),M.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,Q(Xo)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await Yo()&&Q(Xo)}}},[s]),S=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),b=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 Q("Failed to transcribe audio");const u=await v({conversationId:i,audioFile:a}).unwrap();u.success?u.data.text&&(y(Zs(u.data.transcription_id)),r&&e?await e(u.data.text):!r&&t&&t(u.data.text)):Q("Transcription failed")}catch(e){M.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),Q("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=b},[b]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:a,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:b,cancelRecording:s===Jo.TAP?S:null}},ei="OAUTH_SUCCESS",ti="OAUTH_ERROR",ni=ei,ri=ti;function si({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[s]=ns();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 Q("Please allow popups for this site to sign in to external services."),void n();let i=!1;const c=e=>{i||(i=!0,window.removeEventListener("message",u),clearInterval(d),e?.(),n())},u=async e=>{if(e.origin!==window.location.origin)return;if(i)return;if(e.data?.type===ri)return void c(()=>Q(`Failed to sign in to ${a}. Please try again.`));if(e.data?.type!==ni)return;i=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await s({code:l,state:p})?Q(`Failed to sign in to ${a}. Please try again.`):(me(`${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 ai({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:s}=To({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=No({paymentInit:t,onPaymentResult:s,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:r}}function oi(e){return!0===e.config.poll_for_settlement&&!!e.config.reference_id}const ii=({init:e,enabled:t})=>{const n=e.config.reference_id,[r]=O(()=>Date.now()),s=R(()=>function(e,t){const n=t+9e5;return null==e?n:Math.min(n,1e3*e+6e4)}(e.config.expires_at,r),[e.config.expires_at,r]),[a,o]=O(()=>Date.now()>=s),i=t&&oi(e)&&!!n&&!a,{data:c}=Fs({referenceId:n??""},{skip:!i,pollingInterval:3e3}),u=i&&c&&c!==Qs.PENDING?c:null;return k(()=>{if(!i||u)return;const e=setTimeout(()=>o(!0),Math.max(0,s-Date.now()));return()=>clearTimeout(e)},[i,u,s]),{polling:i&&!u,status:u,timedOut:a}};function ci(e){const t=C(e);return N(()=>{t.current=e}),t}const ui={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:[Ee.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Xa.WEB]:Ya.SIGN_IN_ONLY,[Xa.MOBILE]:Ya.SIGN_IN_ONLY}},di=P(void 0),li=()=>{const{data:e,isLoading:t,error:n}=ma(),r=e?.success?e.data:null,s=R(()=>{return(e=r)?{conversations:{...ui.conversations,...e.conversations},voice_agent:{...ui.voice_agent,...e.voice_agent},stt:{...ui.stt,...e.stt},documents:{...ui.documents,...e.documents},features:e.features??ui.features,backend_version:e.backend_version??ui.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??ui.panel_switcher_enabled,auth_mode_config:{...ui.auth_mode_config,...e.auth_mode_config}}:ui;var e},[r]);return R(()=>({clientConfig:s,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[s,t,n])},pi=()=>{const e=x(di);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},fi=P({}),hi=()=>x(fi);function gi(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function mi(e,t,n){if(!n)return!1;if(!gi(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&gi(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 yi="moyasar_cb";function vi(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${Ie()}/moyasar-callback.html`);return n.searchParams.set(yi,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const _i=new Set(["paid","authorized","failed","captured"]);function Si(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(yi))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!_i.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:bi(t.get("message")??`Payment ${n}`),paymentId:a},conversationId:s}}function bi(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function Ti(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"}}const wi="hosted_payment_page",Ei="The payment was not completed.";function Ii(e){const{status:t,paymentId:n,charge:r,message:s,dismissed:a}=e,o=void 0===a?{}:{dismissed:a};return t===Is.CANCELED?{status:"cancel",provider:wi}:t===Is.SUCCEEDED?{status:"success",provider:wi,paymentId:n,...r,...o}:{status:"failure",provider:wi,code:t,message:s??Ei,paymentId:n,...o}}const Ai="stripe";export{Xa as AUTH_CLIENT_TYPES,Ya as AUTH_MODES,Ia as AguiAdapter,Wo as AudioRecorder,no as BREAKPOINTS,qo as CHAT_INPUT_MODES,ao as CONVERSATION_TITLE_REFRESH_DELAYS_MS,fi as ChatCallbacksContext,zo as ChatSettingsContext,di as ConfigurationContext,io as DEFAULT_CONVERSATION_TITLE,Ai as DEFAULT_PAYMENT_PROVIDER,_a as DEFAULT_PROTOCOL,jr as ERROR_CODES,Oa as EventAggregator,Mr as GENERIC_SERVER_ERROR_MESSAGE,Ei as HOSTED_PAYMENT_DEFAULT_FAILURE_MESSAGE,Ts as HOSTED_PAYMENT_PAGE_CALLBACK_ACTIONS,bs as HOSTED_PAYMENT_PAGE_CALLBACK_MESSAGE_TYPE,Ss as HOSTED_PAYMENT_PAGE_CALLBACK_PATH,Is as HOSTED_PAYMENT_PAGE_STATUSES,ws as HOSTED_PAYMENT_PAGE_THEME_MESSAGE_TYPE,Qs as HOSTED_PAYMENT_SETTLEMENT_STATUSES,Sa as MAX_CONNECTION_RETRIES,yi as MOYASAR_CALLBACK_SENTINEL,ti as OAUTH_ERROR_TYPE,ei as OAUTH_SUCCESS_TYPE,so as PAGINATION,wa as ProprietaryAdapter,ya as ProtocolContext,ba as SSEEventType,Jo as STT_GESTURES,ro as THINKING_MESSAGES,oo as TYPEWRITER_INTERVAL_MS,mo as USER_COLLAPSED_MESSAGE_TYPE,Kr as apiBridge,zs as apiMiddleware,js as apiReducers,ua as bindChatLogger,ds as brandingApi,Br as bridgedFetch,Ti as buildBrandSkin,vi as buildCallbackUrl,Es as buildHostedPaymentPageThemeMessage,Ii as buildHostedPaymentResult,Xr as chatApi,pa as chatCoreRootReducer,la as chatLoggerContextProvider,na as chatReducer,$a as checkOrganizationExistsApi,Ys as clearMessageQueue,fs as configApi,ia as conversationsReducer,Aa as createAdapter,Ra as createDefaultAdapterConfig,Ja as createInheritedSessionRefresher,Wa as createSessionRefresher,Xs as dequeueMessage,Js as enqueueMessage,Fa as fetchOrganizations,Ma as forgotPasswordApi,So as formatAmount,bo as formatResultMessage,Ur as getApiErrorMessage,eo as getAuthMode,Gr as getAuthToken,Eo as getCachedLocation,Fr as getCodeEntryErrorMessage,$r as getErrorGroup,Jr as getLatestRequestId,Ca as guestLoginApi,go as hasAnyExtraData,Qr as isApiServerError,ho as isEmptyMessage,Cs as isHostedPaymentPageCallbackMessage,ks as isHostedPaymentPageUrl,ka as loginApi,qa as logoutApi,Ds as parseHostedPaymentPageCallback,Si as parseMoyasarCallbackFromUrl,gs as profileApi,Ps as readHostedPaymentStatus,Da as refreshTokenApi,xa as resendVerificationApi,Ks as resetAllApiState,da as resetChatLoggerForTests,ta as resetChatState,Qa as resetPasswordApi,Ms as resolveHostedPaymentCharge,fa as serializableCheck,aa as setActiveConversationId,Bs as setIsAgentWorking,Ws as setResponseStartTime,Vs as setStatusText,mi as shouldDisableMessage,oi as shouldPollForSettlement,Na as signupApi,La as ssoExchangeApi,Ua as ssoStartApi,ha as store,oa as upsertConversationTitle,_o as useActiveConversationTitle,to as useAuth,hi as useChatCallbacks,yo as useChatConnection,vo as useChatHistory,Do as useChatInput,Ko as useChatSettings,pi as useConfiguration,li as useConfigurationValue,xo as useConnectors,ko as useContainerQuery,fo as useConversation,Yr as useCreateConversatonsMutation,vs as useDeleteAccountMutation,as as useDeleteConversationMutation,ts as useDeleteDocumentMutation,cs as useDeleteToolServerConnectionMutation,$o as useElapsedSeconds,wo as useEventEmitter,ns as useExchangeOAuthCodeMutation,ls as useGetBrandingQuery,ma as useGetConfigQuery,rs as useGetConversationHistoryQuery,ms as useGetProfileQuery,os as useGetToolServersQuery,Bo as useGuestBoot,Ka as useGuestLogin,ii as useHostedPaymentSettlement,Ao as useInfiniteScroll,Vo as useInheritedAuthBoot,Oo as useIsDesktop,ci as useLatestRef,ss as useLazyGetConversationByIdQuery,Co as useLocationInit,za as useLogin,Ba as useLogout,Ro as useMediaQuery,Lo as useMessageList,si as useOAuthPopup,ai as usePayment,To as usePaymentFlow,No as usePaymentResultDedup,va as useProtocol,Va as useRefreshToken,Qo as useResolvedChatIndicators,Zo as useSTTRecording,Ga as useSignup,is as useStartToolServerOAuthMutation,Fo as useThinkingMessage,Ho as useTokenRefresh,Zr as useTranscribeAudioMutation,jo as useTypewriter,_s as useUpdatePasswordMutation,ys as useUpdateProfileMutation,es as useUploadDocumentMutation,Io as useUserLocation,Ha as useVerifyEmail,Pa 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 S,useSelector as T,useDispatch as b,batch as w,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as A,useMemo as R,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as P,useContext as x}from"react";import{getCustomHeaders as q,isDevMode as D,logger as M,showErrorToast as L,getTokenRefreshHandler as U,clearSession as Q,setSession as F,readAccessToken as j,API_ENDPOINTS as $,TIMING as z,sessionExpired as K,indicatorReducer as H,sessionReducer as G,sessionListenerMiddleware as B,setAccessTokenReader as V,setTokenExpiresAtReader as W,getPaymentId as X,isTokenAboutToExpire as J,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,formatTimeRemaining as ce,getTimeUntilExpiry as ue,MODEL_CONTEXT_PART_TYPES as de,INDICATOR_TIMER_ACTIONS as le,setLastResponseTime as pe,handleSharedEvent as fe,clearLastResponseTime as he,readDeviceToken as ge,showSuccessToast as me,eventEmitter as ye,STORAGE_KEYS as ve,useStorage as _e,useBranding as Se,hasWidgets as Te,getTimeUntilRefresh as be,setTokenRefreshHandler as we,FEATURE_FLAGS as Ee,getBaseUrl as Ie}from"@1interface/shared-core";import{fetchEventSource as Ae}from"@microsoft/fetch-event-source";var Re=Symbol.for("immer-nothing"),Oe=Symbol.for("immer-draftable"),ke=Symbol.for("immer-state"),Ce="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 Ne(e,...t){if("production"!==process.env.NODE_ENV){const n=Ce[e],r=et(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,xe=Pe.getPrototypeOf,qe="constructor",De="prototype",Me="configurable",Le="enumerable",Ue="writable",Qe="value",Fe=e=>!!e&&!!e[ke];function je(e){return!!e&&(Ke(e)||Xe(e)||!!e[Oe]||!!e[qe]?.[Oe]||Je(e)||Ye(e))}var $e=Pe[De][qe].toString(),ze=new WeakMap;function Ke(e){if(!e||!Ze(e))return!1;const t=xe(e);if(null===t||t===Pe[De])return!0;const n=Pe.hasOwnProperty.call(t,qe)&&t[qe];if(n===Object)return!0;if(!et(n))return!1;let r=ze.get(n);return void 0===r&&(r=Function.toString.call(n),ze.set(n,r)),r===$e}function He(e,t,n=!0){0===Ge(e)?(n?Reflect.ownKeys(e):Pe.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ge(e){const t=e[ke];return t?t.type_:Xe(e)?1:Je(e)?2:Ye(e)?3:0}var Be=(e,t,n=Ge(e))=>2===n?e.has(t):Pe[De].hasOwnProperty.call(e,t),Ve=(e,t,n=Ge(e))=>2===n?e.get(t):e[t],We=(e,t,n,r=Ge(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Xe=Array.isArray,Je=e=>e instanceof Map,Ye=e=>e instanceof Set,Ze=e=>"object"==typeof e,et=e=>"function"==typeof e,tt=e=>"boolean"==typeof e,nt=e=>e.copy_||e.base_,rt=e=>e.modified_?e.copy_:e.base_;function st(e,t){if(Je(e))return new Map(e);if(Ye(e))return new Set(e);if(Xe(e))return Array[De].slice.call(e);const n=Ke(e);if(!0===t||"class_only"===t&&!n){const t=Pe.getOwnPropertyDescriptors(e);delete t[ke];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const s=n[r],a=t[s];!1===a[Ue]&&(a[Ue]=!0,a[Me]=!0),(a.get||a.set)&&(t[s]={[Me]:!0,[Ue]:!0,[Le]:a[Le],[Qe]:e[s]})}return Pe.create(xe(e),t)}{const t=xe(e);if(null!==t&&n)return{...e};const r=Pe.create(t);return Pe.assign(r,e)}}function at(e,t=!1){return it(e)||Fe(e)||!je(e)||(Ge(e)>1&&Pe.defineProperties(e,{set:ot,add:ot,clear:ot,delete:ot}),Pe.freeze(e),t&&He(e,(e,t)=>{at(t,!0)},!1)),e}var ot={[Qe]:function(){Ne(2)}};function it(e){return null===e||!Ze(e)||Pe.isFrozen(e)}var ct="MapSet",ut="Patches",dt="ArrayMethods",lt={};function pt(e){const t=lt[e];return t||Ne(0,e),t}var ft,ht=e=>!!lt[e],gt=()=>ft;function mt(e,t){t&&(e.patchPlugin_=pt(ut),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function yt(e){vt(e),e.drafts_.forEach(St),e.drafts_=null}function vt(e){e===ft&&(ft=e.parent_)}var _t=e=>ft={drafts_:[],parent_:ft,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ht(ct)?pt(ct):void 0,arrayMethodsPlugin_:ht(dt)?pt(dt):void 0};function St(e){const t=e[ke];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Tt(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[ke].modified_&&(yt(t),Ne(4)),je(e)&&(e=bt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ke].base_,e,t)}else e=bt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&at(t,n)}(t,e,!0),yt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Re?e:void 0}function bt(e,t){if(it(t))return t;const n=t[ke];if(!n)return Ot(t,e.handledSet_,e);if(!Et(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);Rt(n,e)}return n.copy_}function wt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Et=(e,t)=>e.scope_===t,It=[];function At(e,t,n,r){const s=nt(e),a=e.type_;if(void 0!==r&&Ve(s,r,a)===t)return void We(s,r,n,a);if(!e.draftLocations_){const t=e.draftLocations_=new Map;He(s,(e,n)=>{if(Fe(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??It;for(const e of o)We(s,e,n,a)}function Rt(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)}wt(e)}}function Ot(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Fe(e)||t.has(e)||!je(e)||it(e)||(t.add(e),He(e,(r,s)=>{if(Fe(s)){const t=s[ke];if(Et(t,n)){const n=rt(t);We(e,r,n,e.type_),wt(t)}}else je(s)&&Ot(s,t,n)})),e}var kt={get(e,t){if(t===ke)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=nt(e);if(!Be(s,t,e.type_))return function(e,t,n){const r=Pt(t,n);return r?Qe in r?r[Qe]: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===Nt(e.base_,t)){qt(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 nt(e),ownKeys:e=>Reflect.ownKeys(nt(e)),set(e,t,n){const r=Pt(nt(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Nt(nt(e),t),o=r?.[ke];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||Be(e.base_,t,e.type_)))return!0;qt(e),xt(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(Fe(n)){const s=n[ke];Et(s,r)&&s.callbacks_.push(function(){qt(e);const r=rt(s);At(e,n,r,t)})}else je(n)&&e.callbacks_.push(function(){const s=nt(e);3===e.type_?s.has(n)&&Ot(n,r.handledSet_,r):Ve(s,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Ot(Ve(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(qt(e),void 0!==Nt(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),xt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=nt(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Ue]:!0,[Me]:1!==e.type_||"length"!==t,[Le]:r[Le],[Qe]:n[t]}:r},defineProperty(){Ne(11)},getPrototypeOf:e=>xe(e.base_),setPrototypeOf(){Ne(12)}},Ct={};for(let e in kt){let t=kt[e];Ct[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Nt(e,t){const n=e[ke];return(n?nt(n):e)[t]}function Pt(e,t){if(!(t in e))return;let n=xe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=xe(n)}}function xt(e){e.modified_||(e.modified_=!0,e.parent_&&xt(e.parent_))}function qt(e){e.copy_||(e.assigned_=new Map,e.copy_=st(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Dt(e,t,n,r){const[s,a]=Je(t)?pt(ct).proxyMap_(t,n):Ye(t)?pt(ct).proxySet_(t,n):function(e,t){const n=Xe(e),r={type_:n?1:0,scope_:t?t.scope_:gt(),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=kt;n&&(s=[r],a=Ct);const{revoke:o,proxy:i}=Proxy.revocable(s,a);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??gt()).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||!Et(s,r))return;r.mapSetPlugin_?.fixSetContents(s);const a=rt(s);At(e,s.draft_??s,a,n),Rt(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 Mt(e){return Fe(e)||Ne(10,e),Lt(e)}function Lt(e){if(!je(e)||it(e))return e;const t=e[ke];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=st(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=st(e,!0);return He(n,(e,t)=>{We(n,e,Lt(t))},r),t&&(t.finalized_=!1),n}Ct.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Ne(13),Ct.set.call(this,e,t,void 0)},Ct.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Ne(14),kt.set.call(this,e[0],t,n,e[0])};var Ut=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(et(e)&&!et(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(et(t)||Ne(6),void 0===n||et(n)||Ne(7),je(e)){const s=_t(this),a=Dt(0,e,void 0);let o=!0;try{r=t(a),o=!1}finally{o?yt(s):vt(s)}return mt(s,n),Tt(r,s)}if(!e||!Ze(e)){if(r=t(e),void 0===r&&(r=e),r===Re&&(r=void 0),this.autoFreeze_&&at(r,!0),n){const t=[],s=[];pt(ut).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:s}),n(t,s)}return r}Ne(1,e)},this.produceWithPatches=(e,t)=>{if(et(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]},tt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),tt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),tt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){je(e)||Ne(8),Fe(e)&&(e=Mt(e));const t=_t(this),n=Dt(0,e,void 0);return n[ke].isManual_=!0,vt(t),n}finishDraft(e,t){const n=e&&e[ke];n&&n.isManual_||Ne(9);const{scope_:r}=n;return mt(r,t),Tt(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=pt(ut).applyPatches_;return Fe(e)?r(e,t):this.produce(e,e=>r(e,t))}},Qt=Ut.produceWithPatches.bind(Ut),Ft=Ut.applyPatches.bind(Ut),jt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},$t=(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})}}},zt=(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})}},Kt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Ht=e=>Array.isArray(e)?e:[e];function Gt(e,t){const n=[],{length:r}=e;for(let s=0;s<r;s++)n.push(e[s].apply(null,t));return n}var Bt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Vt(){return{s:0,v:void 0,o:null,p:null}}function Wt(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=Vt(),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=Vt(),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 Bt(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=Wt,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=Ht(u),h=Ht(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=Gt(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}={...Kt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:$t},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:zt}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Gt(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 Jt=Xt(Wt),Yt=Object.assign((e,t=Jt)=>{!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:()=>Yt}),Zt=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(Zt||{}),en="uninitialized",tn="pending",nn="fulfilled",rn="rejected";function sn(e){return{status:e,isUninitialized:e===en,isLoading:e===tn,isSuccess:e===nn,isError:e===rn}}var an=l;function on(e,t){if(e===t||!(an(e)&&an(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]=on(e[r],t[r]),s&&(s=e[r]===a[r]);return s?e:a}function cn(e,t,n){return e.reduce((e,r,s)=>(t(r,s)&&e.push(n(r,s)),e),[]).flat()}function un(e){return null!=e}function dn(e){return[...e?.values()??[]].filter(un)}function ln(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var pn=()=>new Map,fn=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},hn=(...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},gn=(...e)=>fetch(...e),mn=e=>e.status>=200&&e.status<=299,yn=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function vn(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 _n=class{constructor(e,t=void 0){this.value=e,this.meta=t}},Sn="__rtkq/",Tn="online",bn="offline",wn="focus",En="focused",In="visibilitychange",An=r(`${Sn}${En}`),Rn=r(`${Sn}un${En}`),On=r(`${Sn}${Tn}`),kn=r(`${Sn}${bn}`),Cn=!1,Nn="query",Pn="mutation",xn="infinitequery";function qn(e){return e.type===Nn}function Dn(e){return e.type===xn}function Mn(e){return qn(e)||Dn(e)}function Ln(e,t,n,r,s,a){const o="function"==typeof e?e(t,n,r,s):e;return o?cn(o,un,e=>a(Un(e))):[]}function Un(e){return"string"==typeof e?{type:e}:e}var Qn=(e,t)=>e.endpointDefinitions[t],Fn=Symbol("forceQueryFn"),jn=e=>"function"==typeof e[Fn],$n=class extends jt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},zn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Kn(e,t,n,r){const s=await e["~standard"].validate(t);if(s.issues)throw new $n(s.issues,t,n,r);return s.value}function Hn(e){return e}var Gn=(e={})=>({...e,[p]:!0});function Bn(e,{pages:t,pageParams:n},r){const s=t.length-1;return e.getNextPageParam(t[s],t,n[s],n,r)}function Vn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Wn(e,t,n,r){return Ln(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 Fe(e)?Mt(e):e}function Jn(e,t,n){const r=e[t];r&&n(r)}function Yn(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function Zn(e,t,n){const r=e[Yn(t)];r&&n(r)}var er={},tr=Symbol.for("RTKQ/skipToken"),nr={status:en},rr=y(nr,()=>{}),sr=y(nr,()=>{}),ar=WeakMap?new WeakMap:void 0,or=({endpointName:e,queryArgs:t})=>{let n="";const r=ar?.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)&&ar?.set(t,e),n=e}return`${e}(${n})`};function ir(...n){return function(r){const s=Wt(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=or;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:or({...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:Wt(e=>null!=s(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:Nn}),mutation:e=>({...e,type:Pn}),infiniteQuery:e=>({...e,type:xn})});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(Qn(o,e)):Object.assign(Qn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,a,o));return i.injectEndpoints({endpoints:r.endpoints})}}function cr(e,...t){return Object.assign(e,...t)}var ur=({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=Qn(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)}}},dr=new Error("Promise never resolved before cacheEntryRemoved."),lr=({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=Qn(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 dr})]);p.catch(()=>{}),d[s]=u;const f=e.endpoints[t].select(Mn(i)?r:s),h=a.dispatch((e,t,n)=>n),g={...a,getCacheEntry:()=>f(a.getState()),requestId:o,extra:h,updateCachedData:Mn(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!==dr)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)?Yn(e.payload):""}(n);function S(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);S(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;S(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)}},pr=({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!":""}`)},fr=({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=ln(l.currentSubscriptions,t,pn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==en&&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(Wn(e,"invalidatesTags",n,o),t):g(e)?v([],t):a.util.invalidateTags.match(e)&&v(Ln(e.payload,void 0,void 0,void 0,void 0,o),t)}},hr=({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===en)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===en)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())}},gr=({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=Qn(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(Mn(c)?o:s),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:s,extra:l,updateCachedData:Mn(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 mr=Symbol(),yr=({createSelector:l=n}={})=>({name:mr,init(n,{baseQuery:v,tagTypes:_,reducerPath:S,serializeQueryArgs:T,keepUnusedDataFor:b,refetchOnMountOrArgChange:w,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:A,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&Ce.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(Je(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(Ye(e))return new Set(Array.from(e).map(r));const t=Object.create(xe(e));for(const n in e)t[n]=r(e[n]);return Be(e,Oe)&&(t[Oe]=e[Oe]),t}function s(e){return Fe(e)?r(e):e}var a;lt[a=ut]||(lt[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=Ge(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==qe||Ne(19),et(c)&&n===De&&Ne(19),c=Ve(c,n),Ze(c)||Ne(18,o.join("/"))}const u=Ge(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:Ne(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:Ne(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;He(r.assigned_,(r,l)=>{const p=Ve(c,r,d),f=Ve(u,r,d),h=l?Be(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?.[ke];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===Re?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=Ve(e,t.key_),Ze(r)?r?.[ke]:null),a=Ve(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||Be(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=Ve(n,t[e]),!Ze(n)||null===n)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,n)}catch(e){return null}return n}})}();const N=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(_.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(n,{reducerPath:S,endpoints:{},internalActions:{onOnline:On,onOffline:kn,onFocus:An,onFocusLost:Rn},util:{}});const P=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>rr,s=e=>sr;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,...sn(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!=Bn(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?Yn(e)??tr:e,n(t===tr?s:e=>o(e)?.mutations?.[t]??sr,a)}},selectInvalidatedBy:function(e,n){const r=e[t],s=new Set,a=cn(n,un,Un);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 cn(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==en,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,...sn(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===tr)return n(r,a);const i=e({queryArgs:o,endpointDefinition:s,endpointName:t});return n(e=>c(e,i)??rr,a)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Vn(e,t,n)}}({serializeQueryArgs:T,reducerPath:S,createSelector:l}),{selectInvalidatedBy:x,selectCachedArgsForQuery:q,buildQuerySelector:D,buildInfiniteQuerySelector:M,buildMutationSelector:L}=P;cr(n.util,{selectInvalidatedBy:x,selectCachedArgsForQuery:q});const{queryThunk:U,infiniteQueryThunk:Q,mutationThunk:F,patchQueryData:j,updateQueryData:$,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]:Hn,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:S=l}=g,T=e.type===Nn;try{let b=Hn;const w={signal:r,abort:s,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:T?_(e,f()):void 0,queryCacheKey:T?e.queryCacheKey:void 0},E=T?e[Fn]:void 0;let I;const A=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 R(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 R(n){let r;const{extraOptions:s,argSchema:a,rawResponseSchema:o,responseSchema:i}=g;if(a&&!zn(S,"arg")&&(n=await Kn(a,n,"argSchema",{})),E?r=E():g.query?(b=y(g,"transformResponse"),r=await t(g.query(n),w,s)):r=await g.queryFn(n,w,s,e=>t(e,w,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 _n(r.error,r.meta);let{data:c}=r;o&&!zn(S,"rawResponse")&&(c=await Kn(o,r.data,"rawResponseSchema",r.meta));let u=await b(c,r.meta,n);return i&&!zn(S,"response")&&(u=await Kn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(T&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const P={pages:[],pageParams:[]},x=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!x?P:x;if("direction"in e&&e.direction&&q.pages.length){const D="backward"===e.direction,M=(D?Vn:Bn)(O,q,e.originalArgs);N=await A(q,M,k,D)}else{const{initialPageParam:L=O.initialPageParam}=e,U=x?.pageParams??[],Q=U[0]??L,F=U.length;if(N=await A(q,Q,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<F;j++){const $=Bn(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!zn(S,"meta")&&I.meta&&(I.meta=await Kn(v,I.meta,"metaSchema",I.meta)),o(I.data,Gn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof _n){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!zn(S,"rawErrorResponse")&&(V=await Kn(G,V,"rawErrorResponseSchema",W)),v&&!zn(S,"meta")&&(W=await Kn(v,W,"metaSchema",W));let X=await H(V,W,e.originalArgs);return B&&!zn(S,"errorResponse")&&(X=await Kn(B,X,"errorResponseSchema",W)),a(X,Gn({baseQueryMeta:W}))}catch(J){K=J}}try{if(K instanceof $n){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:T?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return a(Z(K,Y),Gn({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 S=()=>s(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Gn({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)&&(!qn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:s,state:r}))&&a&&!d))},dispatchConditionRejection:!0}),T=S(),b=S();function w(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:T,mutationThunk:s(`${e}/executeMutation`,v,{getPendingMeta:()=>Gn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:b,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===en)return c;let u;if("data"in i)if(je(i.data)){const[e,t,r]=Qt(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,[Fn]:()=>({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=Ln(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),w(t)),matchFulfilled:f(c(e),w(t)),matchRejected:f(h(e),w(t))}}}}({baseQuery:v,reducerPath:S,context:C,api:n,serializeQueryArgs:T,assertTagType:N,selectors:P,onSchemaFailure:R,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 S=r(`${t}/resetApiState`);function T(e,t,n,r){e[t.queryCacheKey]??={status:en,endpointName:t.endpointName},Jn(e,t.queryCacheKey,e=>{e.status=tn,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 b(e,t,n,r){Jn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:s}=f[t.arg.endpointName];if(e.status=nn,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?on(Fe(e.data)?(Fe(a=e.data)||Ne(15,a),a[ke].base_):e.data,n):n;var a;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const w=a({name:`${t}/queries`,initialState:er,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;T(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),b(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:Nn,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}}){Jn(e,t,e=>{e.data=Ft(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{T(e,n,jn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{b(e,t,n,jn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:s,payload:a})=>{Jn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=rn,e.error=a??s}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==nn&&r?.status!==rn||(e[t]=r)})}}),E=a({name:`${t}/mutations`,initialState:er,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=Yn(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[Yn(t)]={requestId:n,status:tn,endpointName:r.endpointName,startedTimeStamp:s})}).addCase(s.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&Zn(e,n,e=>{e.requestId===n.requestId&&(e.status=nn,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(s.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&Zn(e,r,e=>{e.requestId===r.requestId&&(e.status=rn,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==nn&&r?.status!==rn||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){A(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(w.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{A(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[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)=>{R(e,[t])}).addMatcher(w.actions.cacheEntriesUpserted.match,(e,t)=>{R(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function A(e,t){const n=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 R(e,t){const n=t.map(e=>{const t=Wn(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:er,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=a({name:`${t}/internalSubscriptions`,initialState:er,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Ft(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(On,e=>{e.online=!0}).addCase(kn,e=>{e.online=!1}).addCase(An,e=>{e.focused=!0}).addCase(Rn,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:w.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(S.match(t)?void 0:e,t),actions:{...C.actions,...w.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:S}}}({context:C,queryThunk:U,mutationThunk:F,serializeQueryArgs:T,reducerPath:S,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:w,keepUnusedDataFor:b,reducerPath:S,invalidationBehavior:A}});cr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),cr(n.internalActions,B);const V=new WeakMap,W=e=>ln(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:X,buildInitiateInfiniteQuery:J,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=Qn(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=>dn(c(e))},getRunningMutationsThunk:function(){return e=>dn(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,[Fn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:s,endpointName:t});let S;const T={...m,type:Nn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[Fn]:g};if(qn(s))S=n(T);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;S=r({...T,direction:e,initialPageParam:t,refetchCachedPages:n})}const b=a.endpoints[t].select(i),w=y(S),E=b(v());f(y);const{requestId:I,abort:A}=w,R=E.requestId!==I,O=c(y)?.get(_),k=()=>b(v()),C=Object.assign(g?w.then(k):R&&!O?Promise.resolve(E):Promise.all([O,w]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:A,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!R&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,serializeQueryArgs:T,context:C,getInternalState:W});cr(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=[pr,ur,fr,hr,lr,gr];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=ln(n,e.queryCacheKey,pn);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=ln(n,t.queryCacheKey,pn);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]=Qt(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!==en&&n.dispatch(r(t)))}})}return(e,t)=>{An.match(e)&&o(t,"refetchOnFocus"),On.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:S,context:C,queryThunk:U,mutationThunk:F,infiniteQueryThunk:Q,api:n,assertTagType:N,selectors:P,getRunningQueryThunk:ne,getInternalState:W});return cr(n.util,se),cr(n,{reducer:G,middleware:re}),{name:mr,injectEndpoint(e,t){const r=n,s=r.endpoints[e]??={};qn(t)&&cr(s,{name:e,select:D(e,t),initiate:X(e,t)},H(U,e)),t.type===Pn&&cr(s,{name:e,select:L(),initiate:Y(e)},H(F,e)),Dn(t)&&cr(s,{name:e,select:M(e,t),initiate:J(e,t)},H(U,e))}}}});function vr(e){return e.replace(e[0],e[0].toUpperCase())}function _r(e){let t=0;for(const n in e)t++;return t}function Sr(e){return"infinitequery"===e.type}function Tr(e,...t){return Object.assign(e,...t)}yr();var br=Symbol();function wr(e){const t=C(e),n=R(()=>on(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function Er(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Ir=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Ar=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Rr=(()=>Ir||Ar?N:k)(),Or=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:Zt.pending}:e;function kr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var Cr=["data","status","isLoading","isSuccess","isError","error"],Nr=Symbol(),Pr=ir(yr(),(({batch:e=w,hooks:n={useDispatch:b,useSelector:T,useStore:S},createSelector:r=Jt,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(_r(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:Nr,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),R(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},o=({refetchOnReconnect:t,refetchOnFocus:a,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[s],u=r(),[p,f]=O(br),h=C(void 0),g=Er({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]),R(()=>[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=R(()=>({lastArg:n}),[n]);return R(()=>[t,{...s,reset:r},a],[t,s,r,a])},useQuery(e,t){const n=a(e,t),r=i(e,{selectFromResult:e===tr||t?.skip?void 0:Or,...t}),s=kr(r,...Cr);return A(s),R(()=>({...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=Er(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=wr(s.skip?tr: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 R(()=>({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===tr||t?.skip?void 0:Or,...t}),c=kr(i,...Cr,"hasNextPage","hasPreviousPage");return A(c),R(()=>({...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=R(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=R(()=>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]),S=kr(y,...Cr,"endpointName");A(S);const T=R(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return R(()=>[f,T],[f,T])}},usePrefetch:function(t,n){const s=r(),a=Er(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!==tr&&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!==tr&&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=wr(c?tr:s),v=Er({refetchOnReconnect:a,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Er(f.initialPageParam),S=Er(f.refetchCachedPages),T=C(void 0);let{queryCacheKey:b,requestId:w}=T.current||{},E=!1;b&&w&&(E=m.current.isRequestSubscribed(b,w));const I=!E&&void 0!==T.current;return d(()=>{I&&(T.current=void 0)},[I]),d(()=>{const e=T.current;if("undefined"!=typeof process&&process,y===tr)return e?.unsubscribe(),void(T.current=void 0);const t=T.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...Sr(p[n])?{initialPageParam:_,refetchCachedPages:S}:{}}));T.current=t}},[g,h,i,y,v,I,_,S,n]),[T,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=wr(o?tr:r),l=C(void 0),p=R(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=R(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=s(e=>f(e,l.current),E),g=a(),m=p(g.getState(),l.current);return Rr(()=>{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 Tr(c,{usePrefetch:p}),Tr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}=u(e);Tr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:s,useQuerySubscription:o}),a[`use${vr(e)}Query`]=t,a[`useLazy${vr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);Tr(c.endpoints[e],{useMutation:t}),a[`use${vr(e)}Mutation`]=t}else if(Sr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);Tr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),a[`use${vr(e)}InfiniteQuery`]=t}}}}}})());let xr=0;function qr(e){return null!==e&&"object"==typeof e}function Dr(e){return qr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Mr="Something went wrong. Please try again.";function Lr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Ur(e,t){return Lr(e)?Mr:function(e){if(!qr(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 Qr(e){if(!qr(e))return null;const t=e.data;return qr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function Fr(e,t){if(!qr(e))return t.generic;if(Lr(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return Qr(JSON.parse(e))}catch{return null}}(e.message);return n||(Qr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function jr(e){if(!qr(e))return null;const t=e.data;if(qr(t)){const e=t.data;if(qr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const $r={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 zr=null;const Kr=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,xr+=1,`${p}-${xr}`),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=gn,paramsSerializer:r,isJsonContentType:s=yn,jsonContentType:a="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===gn&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(f,h,g)=>{const{getState:m,extra:y,endpoint:v,forced:_,type:S}=h;let T,{url:b,headers:w=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:A=u??mn,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?hn(h.signal,fn(R)):h.signal,...O};w=new Headers(vn(w)),k.headers=await t(w,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:S,extraOptions:g})||w;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=~b.indexOf("?")?"&":"?";b+=e+(r?r(E):new URLSearchParams(vn(E)))}b=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,b);const P=new Request(b,k);let x;T={request:new Request(b,k)};try{x=await n(P)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:T}}const q=x.clone();let D;T.response=q;let M="";try{let e;if(await Promise.all([p(x,I).then(e=>D=e,t=>e=t),q.text().then(e=>M=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:x.status,data:M,error:String(e)},meta:T}}return A(x,D)?{data:D,meta:T}:{error:{status:x.status,data:D},meta:T}};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(!D()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return M.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 zr||(zr=async function(){const e=U();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{zr=null}),zr)}();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)}M.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(Q())}catch{M.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=$r.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=$r.UNAUTHORIZED:403===s?i=$r.FORBIDDEN:404===s?i=$r.NOT_FOUND:422===s?i=$r.VALIDATION_ERROR:"FETCH_ERROR"===s?i=$r.NETWORK_ERROR:"TIMEOUT_ERROR"===s?i=$r.TIMEOUT:"PARSING_ERROR"===s?i=$r.PARSE_ERROR:"number"==typeof s&&s>=500&&(i=$r.SERVER_ERROR),"number"==typeof s&&s>=500&&(o=Mr),{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:$r.UNKNOWN,meta:{timestamp:Date.now(),...a}}:"string"==typeof s?{status:"CUSTOM_ERROR",message:s,code:$r.UNKNOWN,meta:{timestamp:Date.now(),...a}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:s,code:$r.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(Mr),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?M.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}):D()&&!r&&M.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 Hr(){return j()}let Gr=0;async function Br(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;Gr+=1;const l=`fetch-${Gr}`,p=Date.now(),f=n.toUpperCase(),h={...s};if(Object.assign(h,q()),!a){const e=Hr();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),D()&&!o&&M.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||M.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(D()&&!o){const n=e.headers.get("x-request-id")??void 0;M.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||M.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 Vr=3e5;let Wr=0;const Xr=()=>"",Jr=Pr({reducerPath:"chatApi",baseQuery:Kr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${$.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:n})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==n&&{limit:n}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${$.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:s}=await Br({url:$.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=Vr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return D()&&!o&&M.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Br({url:t,method:n,body:r,headers:s,skipAuth:a,skipLogging:o,skipContentType:!0,signal:d});Wr+=1;const l=`upload-${Wr}`,p=Date.now(),f=n.toUpperCase(),h={Accept:"application/json",...s,...q()};if(!a){const e=Hr();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||M.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||M.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:$.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 Br({url:$.DOCUMENT(e),method:"DELETE",responseHandler:"text"});return t?{error:t}:{data:{success:!0}}}}),getToolServers:e.query({query:()=>({url:$.TOOL_SERVERS,method:"GET"}),transformResponse:e=>e?.data??{tool_servers:[]},providesTags:["toolServers"]}),startToolServerOAuth:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_START(e),method:"POST"}),transformResponse:e=>e?.data??{authorize_url:""}}),deleteToolServerConnection:e.mutation({query:e=>({url:$.TOOL_SERVER_AUTH_CONNECTION(e),method:"DELETE"}),invalidatesTags:["toolServers"]}),exchangeOAuthCode:e.mutation({query:({code:e,state:t})=>({url:$.TOOL_SERVERS_SIGN_IN_EXCHANGE,method:"POST",body:{code:e,state:t}}),invalidatesTags:["toolServers"]}),deleteConversation:e.mutation({query:({conversationId:e})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"DELETE"}),extraOptions:{bridge:{skipErrorToast:!0}}})})}),{useCreateConversatonsMutation:Yr,useTranscribeAudioMutation:Zr,useUploadDocumentMutation:es,useDeleteDocumentMutation:ts,useExchangeOAuthCodeMutation:ns,useGetConversationHistoryQuery:rs,useLazyGetConversationByIdQuery:ss,useDeleteConversationMutation:as,useGetToolServersQuery:os,useStartToolServerOAuthMutation:is,useDeleteToolServerConnectionMutation:cs}=Jr,us={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},ds=Pr({reducerPath:"brandingApi",baseQuery:Kr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:us})})}),{useGetBrandingQuery:ls}=ds,ps={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},fs=Pr({reducerPath:"configApi",baseQuery:Kr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:ps})})}),{useGetConfigQuery:hs}=fs,gs=Pr({reducerPath:"profileApi",baseQuery:Kr,keepUnusedDataFor:0,tagTypes:["profile"],endpoints:e=>({getProfile:e.query({query:()=>({url:$.PROFILE,method:"GET"}),extraOptions:{bridge:{skipErrorToast:!0}},transformResponse:e=>e?.data??null,providesTags:["profile"]}),updateProfile:e.mutation({query:e=>({url:$.PROFILE,method:"PUT",body:e}),async onQueryStarted(e,{dispatch:t,queryFulfilled:n}){try{await n,t(gs.util.updateQueryData("getProfile",void 0,t=>{t&&(void 0!==e.name&&(t.name=e.name),void 0!==e.phone&&(t.phone=e.phone))}))}catch{}}}),deleteAccount:e.mutation({query:()=>({url:$.AUTH_ME,method:"DELETE"})}),updatePassword:e.mutation({query:e=>({url:$.CHANGE_PASSWORD,method:"PUT",body:e}),extraOptions:{bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},transformResponse:e=>e?.data?.message??null})})}),{useGetProfileQuery:ms,useUpdateProfileMutation:ys,useDeleteAccountMutation:vs,useUpdatePasswordMutation:_s}=gs,Ss=[Jr,ds,fs,gs],Ts={[Jr.reducerPath]:Jr.reducer,[ds.reducerPath]:ds.reducer,[fs.reducerPath]:fs.reducer,[gs.reducerPath]:gs.reducer},bs=[Jr.middleware,ds.middleware,fs.middleware,gs.middleware],ws=()=>e=>{Ss.forEach(t=>e(t.util.resetApiState()))},Es={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Is=a({name:"chat",initialState:Es,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:()=>Es},extraReducers:e=>{e.addMatcher(i(Q,K),()=>Es)}}),{setIsAgentWorking:As,setStatusText:Rs,setResponseStartTime:Os,enqueueMessage:ks,dequeueMessage:Cs,clearMessageQueue:Ns,addPendingTranscriptionId:Ps,clearPendingTranscriptionIds:xs,resetChatState:qs}=Is.actions,Ds=Is.reducer,Ms={activeConversationId:null,titles:{}},Ls=a({name:"conversations",initialState:Ms,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),()=>Ms)}}),{setActiveConversationId:Us,upsertConversationTitle:Qs}=Ls.actions,Fs=Ls.reducer;let js=null;function $s(e){js=e}function zs(){js=null}const Ks=()=>{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}:{}}},Hs=d({...Ts,auth:G,chat:Ds,conversations:Fs,indicator:H}),Gs={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"]},Bs=_({reducer:Hs,middleware:e=>e({serializableCheck:Gs}).prepend(B.middleware).concat(bs)});var Vs;Vs=Bs.dispatch,function(){const[e,t,n,r]=[An,Rn,On,kn].map(e=>()=>Vs(e())),s=()=>{"visible"===window.document.visibilityState?e():t()};if(!Cn&&"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={[wn]:e,[In]:s,[Tn]:n,[bn]:r};t(!0),Cn=!0}}(),V(()=>Bs.getState().auth.accessToken),W(()=>Bs.getState().auth.tokenExpiresAt),$s(()=>Bs.getState());const Ws=()=>{const e=hs(),{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=P(void 0),Js=()=>{const e=x(Xs);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},Ys="mtx",Zs=5;var ea=(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))(ea||{});let ta=class extends Error{constructor(e){super(),this.reopen=e}};class na{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,M.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(M.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new ta(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(ea));if("status_update"!==t&&"clear_status"!==t||M.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===ea.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==ea.CLEAR_STATUS&&t!==ea.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){M.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else M.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof ta)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 ta)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()}}}}const ra="atb-pga",sa={READY:"ready",COMPLETED:"completed",ERROR:"error",REDIRECT:"redirect"},aa=new Set(Object.values(sa));function oa(e){if(!e||"object"!=typeof e)return!1;const t=e;return t.source===ra&&"number"==typeof t.v&&"string"==typeof t.type&&aa.has(t.type)&&(void 0===t.data||"object"==typeof t.data&&null!==t.data)}const ia=/^[\w.:/-]{1,200}$/;function ca(e,t=200){if("string"!=typeof e)return;const n=e.trim();return n&&n.length<=t?n:void 0}function ua(e){const t=e&&"object"==typeof e?e:{};let n=null;const r=ca(t.returnUrl,2048);if(r)try{n=new URL(r).searchParams}catch{n=null}const s=ca(t.checkoutId)??ca(n?.get("checkoutId"));return{status:ca(t.status)??ca(n?.get("status")),...s&&ia.test(s)?{checkoutId:s}:{}}}function da(e){const t=e&&"object"==typeof e?e.url:void 0;return la(t)?t:null}function la(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}function pa(e){try{return new URL(e).origin}catch{return null}}class fa extends Error{constructor(e){super(),this.reopen=e}}class ha{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&&X(t)&&("chargebee"!==t.provider||t.config?.hosted_page_url)&&("atb"!==t.provider||la(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 M.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,M.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(M.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new fa(Boolean(e))}const t=e.headers.get("x-request-id");t&&(s=t)},onmessage:e=>{M.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(ea));if(!t||n.has(t))if(t!==ea.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void M.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===ea.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){M.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 M.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof fa)throw e;if(r++,r>=5)throw n.abort(),l(e instanceof Error?e:new Error(String(e))),e;throw e},onclose:()=>{p()},openWhenHidden:!0})}catch(e){if(e instanceof fa)return e.reopen&&!n.signal.aborted?(n=new AbortController,f()):void(c||p());c||(n.signal.aborted||l(e instanceof Error?e:new Error(String(e))),p())}};return f(),{subscribe(e){i=e;for(const t of o)e.onEvent(t);return o.length=0,u&&(e.onError(u),u=null),c&&e.onComplete(),()=>{i=null}},abort(){n.abort()}}}}function ga(e,t){switch(e){case"mtx":return new na(t);case"agui":return new ha(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function ma(e={}){return{getAuthToken:()=>Hr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{J(Y())&&await(U()?.())},forceRefreshToken:async()=>Boolean(await(U()?.()))}}class ya{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 va(e,t){const{data:n,error:r,response:s}=await Br({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 _a(){const{data:e,error:t,response:n}=await Br({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function Sa(e){const{data:t,error:n,response:r}=await Br({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 Ta(e){const{data:t,error:n,response:r}=await Br({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 ba(e){const{data:t,error:n,response:r}=await Br({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function wa(e,t){await Br({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function Ea(e){const{data:t,error:n,response:r}=await Br({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ia(e){const{data:t,error:n,response:r}=await Br({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Aa(e){const{data:t,error:n,response:r}=await Br({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Ra(e){const{data:t,error:n,response:r}=await Br({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Oa(e,t){const{data:n,error:r,response:s}=await Br({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 ka(){try{const{data:e}=await Br({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 Ca(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Br({url:$.ORGANIZATIONS_EXISTS,method:"GET",skipAuth:!0,skipContentType:!0,signal:e.signal});return n?!r||r.status>=500?"error":"not-found":function(e){const t=e?.data?.exists;return"boolean"!=typeof t?"error":t?"exists":"not-found"}(t)}catch{return"error"}finally{clearTimeout(t)}}function Na(e){const t=S(),[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 Pa(){const e=I(e=>va(e.email,e.password),[]),{run:t,isLoading:n}=Na(e);return{login:t,isLoading:n}}function xa(){const{run:e,isLoading:t}=Na(_a);return{guestLogin:e,isLoading:t}}function qa(){const{run:e,isLoading:t}=Na(Sa);return{signup:e,isLoading:t}}function Da(){const{run:e,isLoading:t}=Na(Ta);return{verify:e,isLoading:t}}function Ma(){const e=S();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await wa({refresh_token:n,user_id:r})}catch{}else M.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 La(){const e=S(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:s,tokens:a}=await Ea({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 Ua(e){return ae({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return M.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 Ea({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 M.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 M.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}function Qa(e,t){let n=0,r=null;return ae({performRefresh:async()=>{let s;try{s=await t.getToken()}catch(e){return M.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&&s.accessToken===r)return null;const a=e.getState();if(s.accessToken===(a.auth?.accessToken??null))return ie(a.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(M.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=s.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null):{accessToken:s.accessToken}):(n=0,{accessToken:s.accessToken});n=0,r=null;const o=null!=s.expiresAt?s.expiresAt/1e3:void 0;return e.dispatch(F({accessToken:s.accessToken,refreshToken:null,...null!=o?{expiresIn:o}:{}})),{accessToken:s.accessToken,...null!=o?{expiresIn:o}:{}}},isTransient:()=>!1})}const Fa={WEB:"Web",MOBILE:"Mobile"},ja={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},$a=Object.values(ja);function za(e,t){const n=e?.data?.auth_mode_config?.[t];return $a.includes(n)?n:ja.SIGN_IN_ONLY}const Ka=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:s}=T(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:s,tokenInfo:{isExpired:!!n&&ie(n),isAboutToExpire:!!n&&J(n),expiresAt:n,timeUntilExpiry:n?ue(n):0,timeUntilExpiryFormatted:n?ce(ue(n)):"0s"}}},Ha={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},Ga={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},Ba={MESSAGE_PAGE_SIZE:25},Va=[500,1500,3e3],Wa=28,Xa="New Conversation";function Ja(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&&Ja(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=b(),[t,n]=O(null),[r,s]=O([]),a=C(t),o=T(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(Qs({id:t,title:n}))},[t,e]);k(()=>{a.current=t,e(Us(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}=Js(),[v]=Yr(),[_]=ss(),S=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(Qs({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]),w=I(async(t,r)=>{try{const a=eo(r);a&&e(Qs({id:t,title:a}));const o=await _({conversationId:t,skip:0,limit:Ba.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=eo(o.title)??a;r&&e(Qs({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?Za(i):[];return s(c),l(i.length),f(i.length>=Ba.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(M.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),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(Qs({id:n,title:r})),r}catch(e){return M.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),A=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:Ba.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>=Ba.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){M.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,_]),R=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:S,loadConversation:w,loadConversationTitle:E,loadMoreMessages:A,resetConversation:R}},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:de.DOCUMENTS,document_ids:e.map(e=>e.document_id)}),t&&n.push({type:de.TEXT,text:t}),n.length?n:void 0}const oo=({conversationId:e,messages:t,setMessages:n,enableTts:r=!1,userLocation:s=null,startSession:a,debugMode:o=!1,onPaymentInit:i,onSignInInit:c,onRequestDocuments:u,onConversationTitle:d})=>{const{adapter:l}=Js(),p=b(),f=S(),[h,g]=O(""),[m,y]=O(!1),[v,_]=O(!1),T=C(i);T.current=i;const w=C(c);w.current=c;const E=C(u);E.current=u;const A=C(d);A.current=d;const R=C(new ya),N=C(null),P=C(null),x=C(!1),q=C(0),D=C(!1),U=C(null),Q=C(e);Q.current=e;const F=C(null),j=C(e);k(()=>{const t=j.current;j.current=e,null!==t&&t!==e&&p(xs())},[e,p]);const $=I((e=le.KEEP)=>{if(p(Rs(null)),p(As(!1)),e===le.FINALIZE){const e=f.getState().chat.responseStartTime;e&&p(pe(Date.now()-e)),p(Os(null))}else e===le.CANCEL&&p(Os(null))},[p,f]),z=I(e=>{p(As(e)),y(e),e&&_(!1)},[p]),K=I(()=>{const e=f.getState().chat.responseStartTime;return e&&p(pe(Date.now()-e)),null!==U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{U.current=null,D.current=!1,g(""),y(!1),_(!1),$(le.CANCEL)},600),()=>{null!==U.current&&clearTimeout(U.current)}},[p,f,$]),H=C({setStatusText:e=>p(Rs(e||null)),setIsAgentWorking:e=>p(As(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>T.current?.(e),onSignIn:e=>w.current?.(e),onRequestDocuments:e=>E.current?.(e),onError:()=>{}}),G=I(e=>{if(F.current!==Q.current)return N.current?.abort(),void P.current?.();if("payment"===e.type&&"payment"in e.data)return void fe({kind:"payment",payment:e.data.payment},H.current);if("sign_in"===e.type&&"signIn"in e.data)return void fe({kind:"sign_in",signIn:e.data.signIn},H.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void fe({kind:"request_documents",requestDocuments:e.data.requestDocuments},H.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&A.current?.(t))}const t=R.current;t.processEvent(e),x.current||(x.current=!0,_(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"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:t.getStatusText()}:r;fe(e,H.current)}const s=t.toMessages(),a=q.current;n(e=>[...e.slice(0,e.length-a),...s]),q.current=s.length,s.some(e=>ro(e)||!no(e.message))&&p(As(!1)),t.isStreamComplete()&&K()},[p,n,K]),B=I(e=>{L("Stream connection error. Please try again."),K()},[K]),V=I(()=>{N.current?.abort(),P.current?.(),N.current=null,P.current=null,F.current=null,R.current.reset(),q.current=0,g(""),y(!1),_(!1),$(le.CANCEL),p(he()),p(Ns()),D.current=!1},[p,$]),W=I((e,t)=>{N.current?.abort(),P.current?.(),R.current.reset(),q.current=0,x.current=!1,F.current=t,Q.current=t,N.current=e;const n=e.subscribe({onEvent:G,onError:B,onComplete:()=>{K()}});P.current=n},[G,B,K]),X=I(async(t="",s=[],i={})=>{D.current=!0;try{let c=e;if(!c){if(!a)return D.current=!1,void L("Conversation is not ready yet. Please wait a moment.");const e=await a();if(!e)return D.current=!1,void L("Failed to start conversation. Please try again.");c=e}const u=t.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),p(As(!0)),y(!0),_(!1),p(Rs(null)),p(Os(Date.now())),p(he());const d={id:`user-${Z()}`,sender:"user",message:u,timestamp:(new Date).toISOString(),...i.messageType?.length?{message_type:i.messageType}:{},...i.documents?.length?{documents:i.documents}:{}};n(e=>[...e,d]);const f=ge(),h=ao(i.documents,i.modelText),g=l.streamMessage({conversationId:c,message:u,enableTts:r,debugMode:o,transcriptionIds:s,...h?{modelContext:h}:{},...f?{body:{client_metadata:{device_token:f}}}:{}});W(g,c)}catch(e){M.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."),D.current=!1,$(le.CANCEL)}},[p,t,e,l,r,n,W,a,o,$]),J=C(X);J.current=X;const Y=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return;const s=f.getState().chat.pendingTranscriptionIds,a=s.length?[...s,...t]:t;s.length&&p(xs()),D.current?p(ks({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 X(r,a,n)},[p,f,X]);k(()=>{if(m||D.current)return;const e=f.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}:{}};p(Ns()),J.current(t,n,a)},[m,p,f]);const ee=I(async(e,t)=>{D.current=!0,p(As(!0)),y(!0),_(!1),p(Rs(null)),p(Os(Date.now())),p(he());const n=void 0!==t?t:s,a={};n&&(a.user_location=n);const o=ge();o&&(a.device_token=o);const i=Object.keys(a).length>0?{client_metadata:a}:{},c=l.streamInitial({conversationId:e,body:i,enableTts:r});W(c,e)},[p,l,r,s,W]);return k(()=>()=>{N.current?.abort(),P.current?.()},[]),{sendMessage:Y,startInitialStream:ee,setThinkingState:z,abortStream:V,toolCallStatus:h,isProcessThinkingState:m,hasReceivedResponse:v}};function io({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,s]=O([]),a=T(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]=Jr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[S,{isLoading:b}]=Jr.useDeleteConversationMutation(),w=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){M.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(()=>{w("replace")},[w]);const E=C(null),A=C(new Set);k(()=>{if(o||!e)return;if(A.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${a[e]??""}`;E.current!==t&&(E.current=t,w("silent"))},[e,r,a,o,w]);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 S({conversationId:a});if(c.error)return M.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.");me("Conversation deleted successfully"),A.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,S,t,n]),P=R(()=>r.map(e=>a[e.id]?{...e,title:a[e.id]}:e),[r,a]);return{conversations:p.trim()?P.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):P,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:b,searchQuery:p,setSearchQuery:f,loadConversations:w,deleteConversation:N,isLoadingMoreRef:g}}function co(){return T(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}function uo(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)}`}}const lo={DEPOSITED:"payment_deposited",DECLINED:"payment_declined"},po={SUCCEEDED:"succeeded",FAILED:"failed"},fo={NOT_COMPLETED:"The payment was not completed.",SESSION_INVALID:"This payment session has expired or is no longer valid. Please start a new payment.",LOAD_FAILED:"The payment page failed to load."},ho={SESSION_INVALID:"session_invalid",LOAD_FAILED:"load_failed"};function go(e){return e?.trim().toLowerCase()===lo.DEPOSITED?po.SUCCEEDED:po.FAILED}function mo({outcome:e,init:t,message:n,checkoutId:r,code:s}){const a=t.payment_id,o=r?{checkoutId:r}:{};return e===po.SUCCEEDED?{status:"success",provider:t.provider,paymentId:a,amount:t.config.amount,currency:t.config.currency,...o}:{status:"failure",provider:t.provider,message:n??fo.NOT_COMPLETED,...s?{code:s}:{},paymentId:a,...o}}function yo(e){if("success"===e.status){const t=uo(e.amount,e.currency),n=t?` of ${t}`:"";return"atb"===e.provider?`The payment${n} is completed.`:`The payment${n} is successfully completed.`}return"failure"===e.status?"atb"===e.provider&&e.code===ho.SESSION_INVALID?"The payment session has expired or is no longer valid.":"The payment failed."+("atb"!==e.provider&&e.paymentId?` The reference ID is ${e.paymentId}.`:""):"Payment cancelled."}function vo(e){if("atb"!==e.provider)return;if("failure"===e.status&&(e.code===ho.SESSION_INVALID||e.code===ho.LOAD_FAILED))return;const t=[];return"cancel"!==e.status&&e.checkoutId&&t.push(`Payment gateway checkout ID: ${e.checkoutId}.`),t.push("Verify the payment."),t.join(" ")}const _o=({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 n=yo(t),r=vo(t);r?e.current(n,void 0,{modelText:r}):e.current(n)}else M.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 So(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=ye.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function To(e){try{const t=await e.getItem(ve.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ve.LOCATION_CACHE),null)}catch{return null}}const bo=()=>{const[e,t]=O(!1),[n,r]=O(null),s=_e(),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){M.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(ve.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 wo({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 Eo=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},Io=()=>Eo("(min-width: 1024px)"),Ao=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}=bo(),r=_e(),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(ve.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 Oo({paymentInit:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),s=X(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 ko(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 Co(){const{themeStyles:e}=Se(),{data:t,isLoading:n}=os(void 0),[r]=cs(),s=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:ko(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.`):me(`${t} disconnected`)}}}const No={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Po=({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?No.RECORDING:o?No.TRANSCRIBING:No.NORMAL;return R(()=>({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},qo=e=>{const t=T(e=>!!e.voice?.isAgentWorking),n=T(e=>e.voice?.statusText??null),r=T(e=>e.voice?.responseStartTime??null),s=T(e=>e.chat.isAgentWorking),a=T(e=>e.chat.statusText??null),o=T(e=>e.chat.responseStartTime),i=T(e=>e.indicator.lastResponseTime),c=e?t:s,u=e?n:a,d=e?r:o;return R(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},Do=[],Mo=({messages:e,voiceStreamingMessages:t=Do,voiceActive:n})=>{const r=R(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),s=R(()=>xo(r),[r]),a=qo(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(Te),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:s,indicator:a,classifyArrival:i}},Lo=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(Ga.INITIAL),[s,a]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(Ga.INITIAL),a(0),void i(!0);r(Ga.INITIAL),a(0),i(!0);let e=Ga.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{a(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},Ga.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=Ga.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(Ga.LATER),a(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},Ga.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}},Uo=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 Qo(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 Fo=P(null),jo=()=>{const e=x(Fo);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let $o=0;function zo({refreshSession:e,checkIntervalMs:t=6e4}){const n=S(),r=T(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():(M.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){M.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):J(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):J(o)&&d(),i.current=setInterval(()=>{ie(o)?d(!0):J(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 Ko({clientType:e}){const{data:t,isLoading:n,refetch:r}=Ws(),s=za(t,e),a=Boolean(t?.data?.auth_mode_config),[o,i]=O(s);a&&s!==o&&i(s);const c=a?s:o,u=T(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=xa(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==ja.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===ja.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===ja.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Ho({adapter:e,enabled:t}){const n=S(),r=T(e=>Boolean(e.auth?.isAuthenticated)),s=R(()=>e?Qa(n,e):null,[n,e]);k(()=>{if(t&&s)return we(s),()=>we(null)},[t,s]);const a=C(!1),[o,i]=O(!1),[c,u]=O(0);k(()=>{t&&s&&(r?a.current=!1:a.current||(a.current=!0,i(!1),s().then(e=>{e||(a.current=!1,i(!0))})))},[t,s,r,c]);const d=I(()=>{i(!1),u(e=>e+1)},[]);return{isInheritedBootPending:t&&!r&&!o,inheritedAuthFailed:t&&o,retryInheritedAuth:d}}class Go{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 Bo={HOLD:"hold",TAP:"tap"},Vo="Microphone access is required. Please allow microphone permissions in your browser settings.",Wo=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},Xo=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:s=Bo.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=b(),[v]=Zr(),_=I(async()=>{if(s===Bo.TAP){if(f.current||g.current)return;g.current=!0;try{l.current||(l.current=new Go),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0)}catch(e){M.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Vo)}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 Wo();if("denied"===n)return t(),void L(Vo);if("prompt"!==n){if(h.current)return t(),void(h.current=!1);try{l.current||(l.current=new Go),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(),M.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,L(Vo)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await Wo()&&L(Vo)}}},[s]),S=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),T=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){M.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=T},[T]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:a,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:T,cancelRecording:s===Bo.TAP?S:null}},Jo="OAUTH_SUCCESS",Yo="OAUTH_ERROR",Zo=Jo,ei=Yo;function ti({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[s]=ns();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===ei)return void c(()=>L(`Failed to sign in to ${a}. Please try again.`));if(e.data?.type!==Zo)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.`):(me(`${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 ni({sendMessageRef:e}){const{paymentInit:t,setPaymentInit:n,clearPaymentInit:r,handlePaymentResult:s}=_o({sendMessageRef:e}),{handlePaymentResult:a,handleModalOpenChange:o}=Oo({paymentInit:t,onPaymentResult:s,onClearPaymentInit:r});return{paymentInit:t,setPaymentInit:n,isOpen:!!t,onOpenChange:o,onResult:a,clearPaymentInit:r}}const ri={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:[Ee.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Fa.WEB]:ja.SIGN_IN_ONLY,[Fa.MOBILE]:ja.SIGN_IN_ONLY}},si=P(void 0),ai=()=>{const{data:e,isLoading:t,error:n}=Ws(),r=e?.success?e.data:null,s=R(()=>{return(e=r)?{conversations:{...ri.conversations,...e.conversations},voice_agent:{...ri.voice_agent,...e.voice_agent},stt:{...ri.stt,...e.stt},documents:{...ri.documents,...e.documents},features:e.features??ri.features,backend_version:e.backend_version??ri.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??ri.panel_switcher_enabled,auth_mode_config:{...ri.auth_mode_config,...e.auth_mode_config}}:ri;var e},[r]);return R(()=>({clientConfig:s,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[s,t,n])},oi=()=>{const e=x(si);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},ii=P({}),ci=()=>x(ii);function ui(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function di(e,t,n){if(!n)return!1;if(!ui(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&ui(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 li="moyasar_cb";function pi(e){const t=new URL(window.location.href),n=new URL(`${t.origin}${Ie()}/moyasar-callback.html`);return n.searchParams.set(li,"1"),e&&n.searchParams.set("given_id",e),n.toString()}const fi=new Set(["paid","authorized","failed","captured"]);function hi(e){if(!e)return null;const t=new URLSearchParams(e);if("1"!==t.get(li))return null;const n=t.get("status"),r=t.get("id");if(!n||!r)return null;if(!fi.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:gi(t.get("message")??`Payment ${n}`),paymentId:a},conversationId:s}}function gi(e){try{const t=decodeURIComponent(e);return t===e?e:t}catch{return e}}function mi(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"}}const yi="stripe";export{ho as ATB_FAILURE_CODES,fo as ATB_FAILURE_MESSAGES,ra as ATB_MESSAGE_SOURCE,sa as ATB_MESSAGE_TYPES,po as ATB_OUTCOMES,lo as ATB_PAYMENT_STATUSES,Fa as AUTH_CLIENT_TYPES,ja as AUTH_MODES,ha as AguiAdapter,Go as AudioRecorder,Ha as BREAKPOINTS,No as CHAT_INPUT_MODES,Va as CONVERSATION_TITLE_REFRESH_DELAYS_MS,ii as ChatCallbacksContext,Fo as ChatSettingsContext,si as ConfigurationContext,Xa as DEFAULT_CONVERSATION_TITLE,yi as DEFAULT_PAYMENT_PROVIDER,Ys as DEFAULT_PROTOCOL,$r as ERROR_CODES,ya as EventAggregator,Mr as GENERIC_SERVER_ERROR_MESSAGE,Zs as MAX_CONNECTION_RETRIES,li as MOYASAR_CALLBACK_SENTINEL,Yo as OAUTH_ERROR_TYPE,Jo as OAUTH_SUCCESS_TYPE,Ba as PAGINATION,na as ProprietaryAdapter,Xs as ProtocolContext,ea as SSEEventType,Bo as STT_GESTURES,Ga as THINKING_MESSAGES,Wa as TYPEWRITER_INTERVAL_MS,so as USER_COLLAPSED_MESSAGE_TYPE,Kr as apiBridge,bs as apiMiddleware,Ts as apiReducers,$s as bindChatLogger,ds as brandingApi,Br as bridgedFetch,mo as buildAtbResult,mi as buildBrandSkin,pi as buildCallbackUrl,Jr as chatApi,Hs as chatCoreRootReducer,Ks as chatLoggerContextProvider,Ds as chatReducer,Ca as checkOrganizationExistsApi,Ns as clearMessageQueue,fs as configApi,Fs as conversationsReducer,ga as createAdapter,ma as createDefaultAdapterConfig,Qa as createInheritedSessionRefresher,Ua as createSessionRefresher,Cs as dequeueMessage,ks as enqueueMessage,ka as fetchOrganizations,Ia as forgotPasswordApi,uo as formatAmount,yo as formatResultMessage,vo as formatResultModelContext,Ur as getApiErrorMessage,za as getAuthMode,Hr as getAuthToken,To as getCachedLocation,Fr as getCodeEntryErrorMessage,jr as getErrorGroup,Xr as getLatestRequestId,_a as guestLoginApi,ro as hasAnyExtraData,Lr as isApiServerError,la as isAtbCheckoutUrl,oa as isAtbMessage,no as isEmptyMessage,va as loginApi,wa as logoutApi,hi as parseMoyasarCallbackFromUrl,gs as profileApi,ua as readAtbCompletion,go as readAtbOutcome,da as readAtbRedirect,Ea as refreshTokenApi,ba as resendVerificationApi,ws as resetAllApiState,zs as resetChatLoggerForTests,qs as resetChatState,Aa as resetPasswordApi,pa as resolveAtbOrigin,Gs as serializableCheck,Us as setActiveConversationId,As as setIsAgentWorking,Os as setResponseStartTime,Rs as setStatusText,di as shouldDisableMessage,Sa as signupApi,Oa as ssoExchangeApi,Ra as ssoStartApi,Bs as store,ao as toModelContext,Qs as upsertConversationTitle,co as useActiveConversationTitle,Ka as useAuth,ci as useChatCallbacks,oo as useChatConnection,io as useChatHistory,Po as useChatInput,jo as useChatSettings,oi as useConfiguration,ai as useConfigurationValue,Co as useConnectors,Ao as useContainerQuery,to as useConversation,Yr as useCreateConversatonsMutation,vs as useDeleteAccountMutation,as as useDeleteConversationMutation,ts as useDeleteDocumentMutation,cs as useDeleteToolServerConnectionMutation,Uo as useElapsedSeconds,So as useEventEmitter,ns as useExchangeOAuthCodeMutation,ls as useGetBrandingQuery,Ws as useGetConfigQuery,rs as useGetConversationHistoryQuery,ms as useGetProfileQuery,os as useGetToolServersQuery,Ko as useGuestBoot,xa as useGuestLogin,wo as useInfiniteScroll,Ho as useInheritedAuthBoot,Io as useIsDesktop,ss as useLazyGetConversationByIdQuery,Ro as useLocationInit,Pa as useLogin,Ma as useLogout,Eo as useMediaQuery,Mo as useMessageList,ti as useOAuthPopup,ni as usePayment,_o as usePaymentFlow,Oo as usePaymentResultDedup,Js as useProtocol,La as useRefreshToken,qo as useResolvedChatIndicators,Xo as useSTTRecording,qa as useSignup,is as useStartToolServerOAuthMutation,Lo as useThinkingMessage,zo as useTokenRefresh,Zr as useTranscribeAudioMutation,Qo as useTypewriter,_s as useUpdatePasswordMutation,ys as useUpdateProfileMutation,es as useUploadDocumentMutation,bo as useUserLocation,Da as useVerifyEmail,Ta as verifyEmailApi};
|