@1interface/chat-core 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +15 -0
- 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 a,createSlice as s,prepareAutoBatched as o,isAnyOf as i,isFulfilled as c,isRejectedWithValue as u,combineReducers as d,isPlainObject as l,SHOULD_AUTOBATCH as p,isAllOf as f,isRejected as h,isPending as g,isAction as m,createNextState as y,isAsyncThunkAction as v,configureStore as _}from"@reduxjs/toolkit";import{useStore as T,useSelector as S,useDispatch as w,batch as b,shallowEqual as E}from"react-redux";import{useCallback as I,useDebugValue as R,useMemo as A,useState as O,useEffect as k,useRef as C,useLayoutEffect as N,createContext as x,useContext as P}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as U,getTokenRefreshHandler as Q,clearSession as L,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,isTokenAboutToExpire as J,readTokenExpiresAt as X,generateUniqueId as Y,getApiUrl as Z,AUTH_PATHS as ee,extractTokens as te,isVerificationRequired as ne,AUTH_HEADERS as re,createTokenRefresher as ae,INHERITED_AUTH_ERROR_REASONS as se,isTokenExpired as oe,getStorageRef as ie,STORAGE_KEYS as ce,formatTimeRemaining as ue,getTimeUntilExpiry as de,MODEL_CONTEXT_PART_TYPES as le,INDICATOR_TIMER_ACTIONS as pe,setLastResponseTime as fe,handleSharedEvent as he,clearLastResponseTime as ge,readDeviceToken as me,showSuccessToast as ye,getPaymentProviderHint as ve,eventEmitter as _e,useStorage as Te,useBranding as Se,hasWidgets as we,getTimeUntilRefresh as be,setTokenRefreshHandler as Ee,FEATURE_FLAGS as Ie}from"@1interface/shared-core";import{fetchEventSource as Re}from"@microsoft/fetch-event-source";var Ae=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 xe=Object,Pe=xe.getPrototypeOf,qe="constructor",Me="prototype",De="configurable",Ue="enumerable",Qe="writable",Le="value",Fe=e=>!!e&&!!e[ke];function je(e){return!!e&&(Ke(e)||Je(e)||!!e[Oe]||!!e[qe]?.[Oe]||Xe(e)||Ye(e))}var $e=xe[Me][qe].toString(),ze=new WeakMap;function Ke(e){if(!e||!Ze(e))return!1;const t=Pe(e);if(null===t||t===xe[Me])return!0;const n=xe.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):xe.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_:Je(e)?1:Xe(e)?2:Ye(e)?3:0}var Be=(e,t,n=Ge(e))=>2===n?e.has(t):xe[Me].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},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 at(e,t){if(Xe(e))return new Map(e);if(Ye(e))return new Set(e);if(Je(e))return Array[Me].slice.call(e);const n=Ke(e);if(!0===t||"class_only"===t&&!n){const t=xe.getOwnPropertyDescriptors(e);delete t[ke];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[Qe]&&(s[Qe]=!0,s[De]=!0),(s.get||s.set)&&(t[a]={[De]:!0,[Qe]:!0,[Ue]:s[Ue],[Le]:e[a]})}return xe.create(Pe(e),t)}{const t=Pe(e);if(null!==t&&n)return{...e};const r=xe.create(t);return xe.assign(r,e)}}function st(e,t=!1){return it(e)||Fe(e)||!je(e)||(Ge(e)>1&&xe.defineProperties(e,{set:ot,add:ot,clear:ot,delete:ot}),xe.freeze(e),t&&He(e,(e,t)=>{st(t,!0)},!1)),e}var ot={[Le]:function(){Ne(2)}};function it(e){return null===e||!Ze(e)||xe.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(Tt),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 Tt(e){const t=e[ke];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function St(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[ke].modified_&&(yt(t),Ne(4)),je(e)&&(e=wt(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ke].base_,e,t)}else e=wt(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&st(t,n)}(t,e,!0),yt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ae?e:void 0}function wt(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);At(n,e)}return n.copy_}function bt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Et=(e,t)=>e.scope_===t,It=[];function Rt(e,t,n,r){const a=nt(e),s=e.type_;if(void 0!==r&&Ve(a,r,s)===t)return void We(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;He(a,(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(a,e,n,s)}function At(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)}bt(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,a)=>{if(Fe(a)){const t=a[ke];if(Et(t,n)){const n=rt(t);We(e,r,n,e.type_),bt(t)}}else je(a)&&Ot(a,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 a=nt(e);if(!Be(a,t,e.type_))return function(e,t,n){const r=xt(t,n);return r?Le in r?r[Le]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!je(s))return s;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return s;if(s===Nt(e.base_,t)){qt(e);const n=1===e.type_?+t:t,r=Mt(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in nt(e),ownKeys:e=>Reflect.ownKeys(nt(e)),set(e,t,n){const r=xt(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(((a=n)===(s=r)?0!==a||1/a==1/s:a!=a&&s!=s)&&(void 0!==n||Be(e.base_,t,e.type_)))return!0;qt(e),Pt(e)}var a,s;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Fe(n)){const a=n[ke];Et(a,r)&&a.callbacks_.push(function(){qt(e);const r=rt(a);Rt(e,n,r,t)})}else je(n)&&e.callbacks_.push(function(){const a=nt(e);3===e.type_?a.has(n)&&Ot(n,r.handledSet_,r):Ve(a,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),Pt(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?{[Qe]:!0,[De]:1!==e.type_||"length"!==t,[Ue]:r[Ue],[Le]:n[t]}:r},defineProperty(){Ne(11)},getPrototypeOf:e=>Pe(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 xt(e,t){if(!(t in e))return;let n=Pe(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Pe(n)}}function Pt(e){e.modified_||(e.modified_=!0,e.parent_&&Pt(e.parent_))}function qt(e){e.copy_||(e.assigned_=new Map,e.copy_=at(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Mt(e,t,n,r){const[a,s]=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 a=r,s=kt;n&&(a=[r],s=Ct);const{revoke:o,proxy:i}=Proxy.revocable(a,s);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??gt()).drafts_.push(a),s.callbacks_=n?.callbacks_??[],s.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const a=t;if(!a||!Et(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=rt(a);Rt(e,a.draft_??a,s,n),At(a,r)})}(n,s,r):s.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(s);const{patchPlugin_:t}=e;s.modified_&&t&&t.generatePatches_(s,[],e)}),a}function Dt(e){return Fe(e)||Ne(10,e),Ut(e)}function Ut(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=at(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=at(e,!0);return He(n,(e,t)=>{We(n,e,Ut(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 Qt=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,...a){return r.produce(e,e=>t.call(this,e,...a))}}let r;if(et(t)||Ne(6),void 0===n||et(n)||Ne(7),je(e)){const a=_t(this),s=Mt(0,e,void 0);let o=!0;try{r=t(s),o=!1}finally{o?yt(a):vt(a)}return mt(a,n),St(r,a)}if(!e||!Ze(e)){if(r=t(e),void 0===r&&(r=e),r===Ae&&(r=void 0),this.autoFreeze_&&st(r,!0),n){const t=[],a=[];pt(ut).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}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=Dt(e));const t=_t(this),n=Mt(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),St(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=pt(ut).applyPatches_;return Fe(e)?r(e,t):this.produce(e,e=>r(e,t))}},Lt=Qt.produceWithPatches.bind(Qt),Ft=Qt.applyPatches.bind(Qt),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:a}=t,{inputSelectorResults:s,inputSelectorResultsCopy:o}=e,i=r(()=>({}),...a);if(i.apply(null,s)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:n,firstInputs:s,secondInputs:o,stack:e})}},Kt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Ht=e=>Array.isArray(e)?e:[e];function Gt(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].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 a,s=0;function o(){let t=n;const{length:o}=arguments;for(let e=0,n=o;e<n;e++){const n=arguments[e];if("function"==typeof n||"object"==typeof n&&null!==n){let e=t.o;null===e&&(t.o=e=new WeakMap);const r=e.get(n);void 0===r?(t=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),s++,r){const e=a?.deref?.()??a;null!=e&&r(e,c)&&(c=e,0!==s&&s--),a="object"==typeof c&&null!==c||"function"==typeof c?new 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=()=>s,o.resetResultsCount=()=>{s=0},o}function Jt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,a=0,s={},o=e.pop();"object"==typeof o&&(s=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...n,...s},{memoize:c,memoizeOptions:u=[],argsMemoize:d=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(){a++;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:()=>a,resetDependencyRecomputations:()=>{a=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 an(e){return{status:e,isUninitialized:e===en,isLoading:e===tn,isSuccess:e===nn,isError:e===rn}}var sn=l;function on(e,t){if(e===t||!(sn(e)&&sn(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let a=n.length===r.length;const s=Array.isArray(t)?[]:{};for(const r of n)s[r]=on(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function cn(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),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}},Tn="__rtkq/",Sn="online",wn="offline",bn="focus",En="focused",In="visibilitychange",Rn=r(`${Tn}${En}`),An=r(`${Tn}un${En}`),On=r(`${Tn}${Sn}`),kn=r(`${Tn}${wn}`),Cn=!1,Nn="query",xn="mutation",Pn="infinitequery";function qn(e){return e.type===Nn}function Mn(e){return e.type===Pn}function Dn(e){return qn(e)||Mn(e)}function Un(e,t,n,r,a,s){const o="function"==typeof e?e(t,n,r,a):e;return o?cn(o,un,e=>s(Qn(e))):[]}function Qn(e){return"string"==typeof e?{type:e}:e}var Ln=(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 a=await e["~standard"].validate(t);if(a.issues)throw new $n(a.issues,t,n,r);return a.value}function Hn(e){return e}var Gn=(e={})=>({...e,[p]:!0});function Bn(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],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 Un(n[e.meta.arg.endpointName][t],c(e)?e.payload:void 0,u(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function Jn(e){return Fe(e)?Dt(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,()=>{}),ar=y(nr,()=>{}),sr=WeakMap?new WeakMap:void 0,or=({endpointName:e,queryArgs:t})=>{let n="";const r=sr?.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)&&sr?.set(t,e),n=e}return`${e}(${n})`};function ir(...n){return function(r){const a=Wt(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:a,serializeQueryArgs(e){let t=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:a,hasRehydrationInfo:Wt(e=>null!=a(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:Nn}),mutation:e=>({...e,type:xn}),infiniteQuery:e=>({...e,type:Pn})});for(const[r,a]of Object.entries(n))if(!0!==e.overrideExisting&&r in o.endpointDefinitions){if("throw"===e.overrideExisting)throw new Error("production"===process.env.NODE_ENV?t(39):`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&Mn(a)){const{infiniteQueryOptions:e}=a,{maxPages:n,getPreviousPageParam:s}=e;if("number"==typeof n){if(n<1)throw new Error("production"===process.env.NODE_ENV?t(40):`maxPages for endpoint '${r}' must be a number greater than 0`);if("function"!=typeof s)throw new Error("production"===process.env.NODE_ENV?t(41):`getPreviousPageParam for endpoint '${r}' must be a function if maxPages is used`)}}o.endpointDefinitions[r]=a;for(const e of c)e.injectEndpoint(r,a)}return i},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)s.tagTypes.includes(t)||s.tagTypes.push(t);if(t)for(const[e,n]of Object.entries(t))"function"==typeof n?n(Ln(o,e)):Object.assign(Ln(o,e)||{},n);return i}},c=n.map(e=>e.init(i,s,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:a,selectConfig:s},getRunningQueryThunk:o})=>{const{removeQueryResult:c,unsubscribeQueryResult:u,cacheEntriesUpserted:d}=e.internalActions,l=i(u.match,t.fulfilled,t.rejected,d.match);function p(e){const t=r.currentSubscriptions.get(e);return!!t&&t.size>0}const f={};function h(e){for(const t of e.values())t?.abort?.()}function g(e,t,n){const r=t.getState();for(const s of e){const e=a(r,s);e?.endpointName&&m(s,e.endpointName,t,n)}}function m(e,t,r,s){const i=Ln(n,t),u=i?.keepUnusedDataFor??s.keepUnusedDataFor;if(u===1/0)return;const d=Math.max(0,Math.min(u,2147482.647));if(!p(e)){const t=f[e];t&&clearTimeout(t),f[e]=setTimeout(()=>{if(!p(e)){const t=a(r.getState(),e);if(t?.endpointName){const e=r.dispatch(o(t.endpointName,t.originalArgs));e?.abort()}r.dispatch(c({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(t,a)=>{const o=a.getState(),i=s(o);if(l(t)){let e;if(d.match(t))e=t.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:n}=u.match(t)?t.payload:t.meta.arg;e=[n]}g(e,a,i)}if(e.util.resetApiState.match(t)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];h(r.runningQueries),h(r.runningMutations)}if(n.hasRehydrationInfo(t)){const{queries:e}=n.extractRehydrationInfo(t);g(Object.keys(e),a,i)}}},dr=new Error("Promise never resolved before cacheEntryRemoved."),lr=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:a,selectors:{selectQueryEntry:s}})=>{const o=v(r),i=v(a),u=c(r,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=e.internalActions;function h(e,t,n){const r=d[e];r?.valueResolved&&(r.valueResolved({data:t,meta:n}),delete r.valueResolved)}function g(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:n}=e.meta,{endpointName:r,originalArgs:a}=t;return[r,a,n]}function y(t,r,a,s,o){const i=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[a]=u;const f=e.endpoints[t].select(Dn(i)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:o,extra:h,updateCachedData:Dn(i)?n=>s.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==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 T(e,t,n,r){const a=s(v,t),o=s(c.getState(),t);!a&&o&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);T(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:a,queryCacheKey:s}=e;T(r,s,n.meta.requestId,a),h(s,t,{})}else if(a.pending.match(n)){if(c.getState()[t].mutations[_]){const[e,t,r]=m(n);y(e,t,_,c,r)}}else if(u(n))h(_,n.payload,n.meta.baseQueryMeta);else if(l.match(n)||p.match(n))g(_);else if(e.util.resetApiState.match(n))for(const e of Object.keys(d))g(e)}},pr=({api:e,context:{apiUid:t},reducerPath:n})=>(r,a)=>{e.util.resetApiState.match(r)&&a.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===a.getState()[n]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${n}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===n?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},fr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:a,api:s,assertTagType:o,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=s.internalActions,f=i(c(r),u(r)),g=i(c(a,r),h(a,r));let m=[],y=0;function v(n,r){const a=r.getState(),o=a[e];if(m.push(...n),"delayed"===o.config.invalidationBehavior&&y>0)return;const i=m;if(m=[],0===i.length)return;const c=s.util.selectInvalidatedBy(a,i);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=o.queries[t],n=ln(l.currentSubscriptions,t,pn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==en&&r.dispatch(d(e)))}})}return(e,t)=>{(a.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Wn(e,"invalidatesTags",n,o),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(Un(e.payload,void 0,void 0,void 0,void 0,o),t)}},hr=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:a})=>{const{currentPolls:s,currentSubscriptions:o}=a,i=new Set;let c=null;function u(e,t){i.add(e),c||(c=setTimeout(()=>{for(const e of i)l({queryCacheKey:e},t);i.clear(),c=null},0))}function d({queryCacheKey:t},n){const a=n.getState()[e],i=a.queries[t],c=o.get(t);if(!i||i.status===en)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=s.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;s.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!a.config.focused&&l||n.dispatch(r(i)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],a=o.get(t);if(!r||r.status===en)return;const{lowestPollingInterval:i}=f(a);if("test"===process.env.NODE_ENV){const e=s.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const c=s.get(t),u=Date.now()+i;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=s.get(e);t?.timeout&&clearTimeout(t.timeout),s.delete(e)}function f(e=new Map){let t=!1,n=Number.POSITIVE_INFINITY;for(const r of e.values())r.pollingInterval&&(n=Math.min(r.pollingInterval,n),t=r.skipPollingIfUnfocused||t);return{lowestPollingInterval:n,skipPollingIfUnfocused:t}}return(e,r)=>{(n.internalActions.updateSubscriptionOptions.match(e)||n.internalActions.unsubscribeQueryResult.match(e))&&u(e.payload.queryCacheKey,r),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&u(e.meta.arg.queryCacheKey,r),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,r),n.util.resetApiState.match(e)&&(function(){for(const e of s.keys())p(e)}(),c&&(clearTimeout(c),c=null),i.clear())}},gr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const a=g(n,r),s=h(n,r),o=c(n,r),i={};return(n,r)=>{if(a(n)){const{requestId:a,arg:{endpointName:s,originalArgs:o}}=n.meta,c=Ln(t,s),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),i[a]=t;const d=e.endpoints[s].select(Dn(c)?o:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:Dn(c)?t=>r.dispatch(e.util.updateQueryData(s,o,t)):void 0,queryFulfilled:n};u(o,p)}}else if(o(n)){const{requestId:e,baseQueryMeta:t}=n.meta;i[e]?.resolve({data:n.payload,meta:t}),delete i[e]}else if(s(n)){const{requestId:e,rejectedWithValue:t,baseQueryMeta:r}=n.meta;i[e]?.reject({error:n.payload??n.error,isUnhandledError:!t,meta:r}),delete i[e]}}};var mr=Symbol(),yr=({createSelector:l=n}={})=>({name:mr,init(n,{baseQuery:v,tagTypes:_,reducerPath:T,serializeQueryArgs:S,keepUnusedDataFor:w,refetchOnMountOrArgChange:b,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:R,onSchemaFailure:A,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(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(Pe(e));for(const n in e)t[n]=r(e[n]);return Be(e,Oe)&&(t[Oe]=e[Oe]),t}function a(e){return Fe(e)?r(e):e}var s;lt[s=ut]||(lt[s]={applyPatches_:function(a,s){return s.forEach(s=>{const{path:o,op:i}=s;let c=a;for(let e=0;e<o.length-1;e++){const t=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===Me&&Ne(19),c=Ve(c,n),Ze(c)||Ne(18,o.join("/"))}const u=Ge(c),d=r(s.value),l=o[o.length-1];switch(i){case e:switch(u){case 2:return c.set(l,d);case 3: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(s.value);default:return delete c[l]}default:Ne(17,i)}}),a},generatePatches_:function(r,s,o){if(r.scope_.processedForPatches_.has(r))return;r.scope_.processedForPatches_.add(r);const{patches_:i,inversePatches_:c}=o;switch(r.type_){case 0:case 2:return function(r,s,o,i){const{base_:c,copy_:u,type_:d}=r;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=s.concat(r);o.push(h===n?{op:h,path:g}:{op:h,path:g,value:a(f)}),i.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:a(p)}:{op:e,path:g,value:a(p)})})}(r,s,i,c);case 1:return function(r,s,o,i){let{base_:c,assigned_:u}=r,d=r.copy_;d.length<c.length&&([c,d]=[d,c],[o,i]=[i,o]);const l=!0===r.allIndicesReassigned_;for(let t=0;t<c.length;t++){const n=d[t],r=c[t];if((l||u?.get(t.toString()))&&n!==r){const c=n?.[ke];if(c&&c.modified_)continue;const u=s.concat([t]);o.push({op:e,path:u,value:a(n)}),i.push({op:e,path:u,value:a(r)})}}for(let e=c.length;e<d.length;e++){const n=s.concat([e]);o.push({op:t,path:n,value:a(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=s.concat([e]);i.push({op:n,path:t})}}(r,s,i,c);case 3:return function(e,r,a,s){let{base_:o,copy_:i}=e,c=0;o.forEach(e=>{if(!i.has(e)){const o=r.concat([c]);a.push({op:n,path:o,value:e}),s.unshift({op:t,path:o,value:e})}c++}),c=0,i.forEach(e=>{if(!o.has(e)){const o=r.concat([c]);a.push({op:t,path:o,value:e}),s.unshift({op:n,path:o,value:e})}c++})}(r,s,i,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:a,inversePatches_:s}=r;a.push({op:e,path:[],value:n===Ae?void 0:n}),s.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,a=(r=Ve(e,t.key_),Ze(r)?r?.[ke]:null),s=Ve(e,t.key_);if(void 0===s)return null;if(s!==t.draft_&&s!==t.base_&&s!==t.copy_)return null;if(null!=a&&a.base_!==t.base_)return null;const o=3===t.parent_.type_;let i;if(i=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>i||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:T,endpoints:{},internalActions:{onOnline:On,onOffline:kn,onFocus:Rn,onFocusLost:An},util:{}});const x=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>rr,a=e=>ar;return{buildQuerySelector:function(e,t){return u(e,t,s)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...an(e.status)},{isLoading:r,isError:a,direction:s}=t,o="forward"===s,i="backward"===s;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=Bn(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&o,isFetchingPreviousPage:r&&i,isFetchNextPageError:a&&o,isFetchPreviousPageError:a&&i};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?Yn(e)??tr:e,n(t===tr?a:e=>o(e)?.mutations?.[t]??ar,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=cn(n,un,Qn);for(const e of s){const t=r.provided.tags[e.type];if(!t)continue;let n=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of n)a.add(e)}return Array.from(a.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return 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 s(e){return{...e,...an(e.status)}}function o(e){const n=e[t];if("production"!==process.env.NODE_ENV&&!n){if(o.triggered)return n;o.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return n}function i(e){return o(e)?.queries}function c(e,t){return i(e)?.[t]}function u(t,a,s){return o=>{if(o===tr)return n(r,s);const i=e({queryArgs:o,endpointDefinition:a,endpointName:t});return n(e=>c(e,i)??rr,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Vn(e,t,n)}}({serializeQueryArgs:S,reducerPath:T,createSelector:l}),{selectInvalidatedBy:P,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:U}=x;cr(n.util,{selectInvalidatedBy:P,selectCachedArgsForQuery:q});const{queryThunk:Q,infiniteQueryThunk:L,mutationThunk:F,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:s,assertTagType:o,selectors:i,onSchemaFailure:u,catchSchemaFailure:d,skipSchemaValidation:l}){function p(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}function m(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}const y=(e,t)=>e.query&&e[t]?e[t]:Hn,v=async(e,{signal:r,abort:a,rejectWithValue:s,fulfillWithValue:o,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:T=l}=g,S=e.type===Nn;try{let w=Hn;const b={signal:r,abort:a,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:S?_(e,f()):void 0,queryCacheKey:S?e.queryCacheKey:void 0},E=S?e[Fn]:void 0;let I;const R=async(t,n,r,a)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const s={queryArg:e.originalArgs,pageParam:n},o=await A(s),i=a?p:m;return{data:{pages:i(t.pages,o.data,r),pageParams:i(t.pageParams,n,r)},meta:o.meta}};async function A(n){let r;const{extraOptions:a,argSchema:s,rawResponseSchema:o,responseSchema:i}=g;if(s&&!zn(T,"arg")&&(n=await Kn(s,n,"argSchema",{})),E?r=E():g.query?(w=y(g,"transformResponse"),r=await t(g.query(n),b,a)):r=await g.queryFn(n,b,a,e=>t(e,b,a)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=g.query?"`baseQuery`":"`queryFn`";let n;if(r){if("object"!=typeof r)n=`${t} did not return an object.`;else if(r.error&&r.data)n=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===r.error&&void 0===r.data)n=`${t} returned an object containing neither a valid \`error\` and \`result\`. At least one of them should not be \`undefined\``;else for(const e of Object.keys(r))if("error"!==e&&"data"!==e&&"meta"!==e){n=`The object returned by ${t} has the unknown property ${e}.`;break}}else n=`${t} did not return anything.`;n&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${n}\n It needs to return an object with either the shape \`{ data: <value> }\` or \`{ error: <value> }\` that may contain an optional \`meta\` property.\n Object returned was:`,r)}if(r.error)throw new _n(r.error,r.meta);let{data:c}=r;o&&!zn(T,"rawResponse")&&(c=await Kn(o,r.data,"rawResponseSchema",r.meta));let u=await w(c,r.meta,n);return i&&!zn(T,"response")&&(u=await Kn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(S&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const x={pages:[],pageParams:[]},P=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!P?x:P;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?Vn:Bn)(O,q,e.originalArgs);N=await R(q,D,k,M)}else{const{initialPageParam:U=O.initialPageParam}=e,Q=P?.pageParams??[],L=Q[0]??U,F=Q.length;if(N=await R(q,L,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 R(N.data,$,k)}}I=N}else I=await A(e.originalArgs);return v&&!zn(T,"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(T,"rawErrorResponse")&&(V=await Kn(G,V,"rawErrorResponseSchema",W)),v&&!zn(T,"meta")&&(W=await Kn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!zn(T,"errorResponse")&&(J=await Kn(B,J,"errorResponseSchema",W)),s(J,Gn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof $n){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:S?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return s(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,a=n?.fulfilledTimeStamp,s=e.forceRefetch??(e.subscribe&&r);return!!s&&(!0===s||(Number(new Date)-Number(a))/1e3>=s)}const T=()=>a(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Gn({startedTimeStamp:Date.now(),...Mn(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),a=i.selectQueryEntry(r,e.queryCacheKey),s=a?.fulfilledTimeStamp,o=e.originalArgs,c=a?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!jn(e)&&("pending"===a?.status||!_(e,r)&&(!qn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:a,state:r}))&&s&&!d))},dispatchConditionRejection:!0}),S=T(),w=T();function b(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:S,mutationThunk:a(`${e}/executeMutation`,v,{getPendingMeta:()=>Gn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:w,prefetch:(e,t,n={})=>(r,a)=>{const o=(e=>"force"in e)(n)&&n.force,i=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>s.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=s.endpoints[e].select(t)(a());if(o)r(c());else if(i){const e=u?.fulfilledTimeStamp;if(!e)return void r(c());(Number(new Date)-Number(new Date(e)))/1e3>=i&&r(c())}else r(c(!1))},updateQueryData:(e,t,n,r=!0)=>(a,o)=>{const i=s.endpoints[e].select(t)(o()),c={patches:[],inversePatches:[],undo:()=>a(s.util.patchQueryData(e,t,c.inversePatches,r))};if(i.status===en)return c;let u;if("data"in i)if(je(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||a(s.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(s.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[Fn]:()=>({data:n})})),patchQueryData:(e,t,a,i)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(s.internalActions.queryResultPatched({queryCacheKey:l,patches:a})),!i)return;const p=s.endpoints[e].select(t)(u()),f=Un(d.providesTags,p.data,void 0,t,{},o);c(s.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),b(t)),matchFulfilled:f(c(e),b(t)),matchRejected:f(h(e),b(t))}}}}({baseQuery:v,reducerPath:T,context:C,api:n,serializeQueryArgs:S,assertTagType:N,selectors:x,onSchemaFailure:A,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:G,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:a,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const T=r(`${t}/resetApiState`);function S(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,Mn(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function w(e,t,n,r){Xn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:a}=f[t.arg.endpointName];if(e.status=nn,a)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:s,baseQueryMeta:o,requestId:i}=t;let c=y(e.data,e=>a(e,n,{arg:s.originalArgs,baseQueryMeta:o,fulfilledTimeStamp:r,requestId:i}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?on(Fe(e.data)?(Fe(s=e.data)||Ne(15,s),s[ke].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const b=s({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:a}=n;S(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),w(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},a,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type: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}})=>{S(e,n,jn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{w(e,t,n,jn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:a,payload:s})=>{Xn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=rn,e.error=s??a}})}).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=s({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(a.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:a}})=>{r.track&&(e[Yn(t)]={requestId:n,status:tn,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.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(a.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=s({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){R(e,n);for(const{type:t,id:a}of r){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:o()}},extraReducers(e){e.addCase(b.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{R(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[a,s]of Object.entries(r)){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];for(const t of s)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(i(c(n),u(n)),(e,t)=>{A(e,[t])}).addMatcher(b.actions.cacheEntriesUpserted.match,(e,t)=>{A(e,t.payload.map(({queryDescription:e,value:t})=>({type:"UNKNOWN",payload:t,meta:{requestStatus:"fulfilled",requestId:"UNKNOWN",arg:e}})))})}});function R(e,t){const n=Jn(e.keys[t]??[]);for(const r of n){const n=r.type,a=r.id??"__internal_without_id",s=e.tags[n]?.[a];s&&(e.tags[n][a]=Jn(s).filter(e=>e!==t))}delete e.keys[t]}function A(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=s({name:`${t}/subscriptions`,initialState:er,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:er,reducers:{subscriptionsUpdated:{reducer:(e,t)=>Ft(e,t.payload),prepare:o()}}}),C=s({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,..._},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&h===t||"conflict"}},extraReducers:e=>{e.addCase(On,e=>{e.online=!0}).addCase(kn,e=>{e.online=!1}).addCase(Rn,e=>{e.focused=!0}).addCase(An,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:b.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(T.match(t)?void 0:e,t),actions:{...C.actions,...b.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:T}}}({context:C,queryThunk:Q,mutationThunk:F,serializeQueryArgs:S,reducerPath:T,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:b,keepUnusedDataFor:w,reducerPath:T,invalidationBehavior:R}});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:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:a,api:s,context:o,getInternalState:i}){const c=e=>i(e)?.runningQueries,u=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=s.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(s,o)=>{const i=a({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=s(i);f(s);const{requestId:d,abort:p,unwrap:h}=c,g=c.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(g,{arg:c.arg,requestId:d,abort:p,unwrap:h,reset:()=>{s(l({requestId:d,fixedCacheKey:r}))}}),y=u(s);return y.set(d,m),m.then(()=>{y.delete(d)}),r&&(y.set(r,m),m.then(()=>{y.get(r)===m&&y.delete(r)})),m}},getRunningQueryThunk:function(t,n){return r=>{const a=Ln(o,t),s=e({queryArgs:n,endpointDefinition:a,endpointName:t});return c(r)?.get(s)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>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(s.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof n||"string"==typeof n?.type)throw new Error("production"===process.env.NODE_ENV?t(34):`Warning: Middleware for RTK-Query API at reducerPath "${s.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,a){const o=(i,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[Fn]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:a,endpointName:t});let T;const S={...m,type:Nn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[Fn]:g};if(qn(a))T=n(S);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;T=r({...S,direction:e,initialPageParam:t,refetchCachedPages:n})}const w=s.endpoints[t].select(i),b=y(T),E=w(v());f(y);const{requestId:I,abort:R}=b,A=E.requestId!==I,O=c(y)?.get(_),k=()=>w(v()),C=Object.assign(g?b.then(k):A&&!O?Promise.resolve(E):Promise.all([O,b]).then(k),{arg:i,requestId:I,subscriptionOptions:h,queryCacheKey:_,abort:R,async unwrap(){const e=await C;if(e.isError)throw e.error;return e.data},refetch:e=>y(o(i,{subscribe:!1,forceRefetch:!0,...e})),unsubscribe(){u&&y(d({queryCacheKey:_,requestId:I}))},updateSubscriptionOptions(e){C.subscriptionOptions=e,y(p({endpointName:t,requestId:I,queryCacheKey:_,options:e}))}});if(!O&&!A&&!g){const e=c(y);e.set(_,C),C.then(()=>{e.delete(_)})}return C};return o}}({queryThunk:Q,mutationThunk:F,infiniteQueryThunk:L,api:n,serializeQueryArgs:S,context:C,getInternalState:W});cr(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:ae}=function(e){const{reducerPath:t,api:n,context:a,getInternalState:s}=e,{apiUid:o}=a,i={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[pr,ur,fr,hr,lr,gr];return{middleware:r=>{let i=!1;const l=s(r.dispatch),p={...e,internalState:l,refetchQuery:d,isThisApiSliceAction:c,mwApi:r},f=u.map(e=>e(p)),h=(({api:e,queryThunk:t,internalState:n})=>{const r=`${e.reducerPath}/subscriptions`;let a=null,s=null;const{updateSubscriptionOptions:o,unsubscribeQueryResult:i}=e.internalActions,c=()=>n.currentSubscriptions,u={getSubscriptions:c,getSubscriptionCount:e=>{const t=c().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const n=c();return!!n?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(c,l)=>{if(a||(a=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return a={},n.currentSubscriptions.clear(),s=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(c))return[!1,u];const p=((n,r)=>{if(o.match(r)){const{queryCacheKey:e,requestId:t,options:a}=r.payload,s=n.get(e);return s?.has(t)&&s.set(t,a),!0}if(i.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,a=n.get(e);return a&&a.delete(t),!0}if(e.internalActions.removeQueryResult.match(r))return n.delete(r.payload.queryCacheKey),!0;if(t.pending.match(r)){const{meta:{arg:e,requestId:t}}=r,a=ln(n,e.queryCacheKey,pn);return e.subscribe&&a.set(t,e.subscriptionOptions??a.get(t)??{}),!0}let a=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:s}}=r;if(e&&t.subscribe){const e=ln(n,t.queryCacheKey,pn);e.set(s,t.subscriptionOptions??e.get(s)??{}),a=!0}}return a})(n.currentSubscriptions,c);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof c.type&&c.type===`${e.reducerPath}/getPolling`)return[!1,n.currentPolls];if(p){s||(s=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=Lt(a,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),a=t,s=null},500));const o="string"==typeof c.type&&!!c.type.startsWith(r),i=t.rejected.match(c)&&c.meta.condition&&!!c.meta.arg.subscribe;f=!o&&!i}return[f,!1]}})(p),g=(({reducerPath:e,context:t,api:n,refetchQuery:r,internalState:a})=>{const{removeQueryResult:s}=n.internalActions;function o(n,o){const i=n.getState()[e],c=i.queries,u=a.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],a=u.get(e);if(!a||!t)continue;const d=[...a.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===a.size?n.dispatch(s({queryCacheKey:e})):t.status!==en&&n.dispatch(r(t)))}})}return(e,t)=>{Rn.match(e)&&o(t,"refetchOnFocus"),On.match(e)&&o(t,"refetchOnReconnect")}})(p);return e=>s=>{if(!m(s))return e(s);i||(i=!0,r.dispatch(n.internalActions.middlewareRegistered(o)));const u={...r,next:e},d=r.getState(),[l,p]=h(s,u,d);let y;if(y=l?e(s):p,r.getState()[t]&&(g(s,u,d),c(s)||a.hasRehydrationInfo(s)))for(const e of f)e(s,u,d);return y}},actions:i};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:T,context:C,queryThunk:Q,mutationThunk:F,infiniteQueryThunk:L,api:n,assertTagType:N,selectors:x,getRunningQueryThunk:ne,getInternalState:W});return cr(n.util,ae),cr(n,{reducer:G,middleware:re}),{name:mr,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};qn(t)&&cr(a,{name:e,select:M(e,t),initiate:J(e,t)},H(Q,e)),t.type===xn&&cr(a,{name:e,select:U(),initiate:Y(e)},H(F,e)),Mn(t)&&cr(a,{name:e,select:D(e,t),initiate:X(e,t)},H(Q,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 Tr(e){return"infinitequery"===e.type}function Sr(e,...t){return Object.assign(e,...t)}yr();var wr=Symbol();function br(e){const t=C(e),n=A(()=>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))(),Rr=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Ar=(()=>Ir||Rr?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(),xr=ir(yr(),(({batch:e=b,hooks:n={useDispatch:w,useSelector:S,useStore:T},createSelector:r=Xt,unstable__sideEffectsInRender:a=!1,...s}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const a of e)if(_r(s)>0&&(s[a]&&(r||(console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`"),r=!0)),n[a]=s[a]),"function"!=typeof n[a])throw new Error("production"===process.env.NODE_ENV?t(36):`When using custom hooks for context, all ${e.length} hooks need to be provided: ${e.join(", ")}.\nHook ${a} was either not provided or not a function.`)}return{name:Nr,init(s,{serializeQueryArgs:o},i){const c=s,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:a,useStore:s},unstable__sideEffectsInRender:o,createSelector:i},serializeQueryArgs:c,context:u}){const d=o?e=>e():k,l=e=>e.current?.unsubscribe?.(),p=u.endpointDefinitions;return{buildQueryHooks:function(a){const s=(e,n={})=>{const[r]=g(a,e,n);return y(r),A(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},o=({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[a],u=r(),[p,f]=O(wr),h=C(void 0),g=Er({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o,skipPollingIfUnfocused:i});d(()=>{const e=h.current?.subscriptionOptions;g!==e&&h.current?.updateSubscriptionOptions(g)},[g]);const m=C(g);d(()=>{m.current=g},[g]);const y=I(function(e,t=!1){let r;return n(()=>{l(h),h.current=r=u(c(e,{subscriptionOptions:m.current,forceRefetch:!t})),f(e)}),r},[u,c]),v=I(()=>{h.current?.queryCacheKey&&u(e.internalActions.removeQueryResult({queryCacheKey:h.current?.queryCacheKey}))},[u]);return k(()=>()=>{l(h)},[]),k(()=>{p===wr||h.current||y(p,!0)},[p,y]),A(()=>[y,p,{reset:v}],[y,p,v])},i=m(a,f);return{useQueryState:i,useQuerySubscription:s,useLazyQuerySubscription:o,useLazyQuery(e){const[t,n,{reset:r}]=o(e),a=i(n,{...e,skip:n===wr}),s=A(()=>({lastArg:n}),[n]);return A(()=>[t,{...a,reset:r},s],[t,a,r,s])},useQuery(e,t){const n=s(e,t),r=i(e,{selectFromResult:e===tr||t?.skip?void 0:Or,...t}),a=kr(r,...Cr);return R(a),A(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,a={})=>{const[s,o,i,c]=g(e,r,a),u=C(c);d(()=>{u.current=c},[c]);const p=Er(a.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(s),s.current=r=o(i(e,{subscriptionOptions:u.current,direction:t}))}),r},[s,o,i]);y(s);const h=br(a.skip?tr:r),m=I(e=>{if(!s.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return s.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[s,p]);return A(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},a=m(e,h);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:s,fetchPreviousPage:o}=r(e,t),i=a(e,{selectFromResult:e===tr||t?.skip?void 0:Or,...t}),c=kr(i,...Cr,"hasNextPage","hasPreviousPage");return R(c),A(()=>({...i,fetchNextPage:s,fetchPreviousPage:o,refetch:n}),[i,s,o,n])}}},buildMutationHook:function(t){return({selectFromResult:s,fixedCacheKey:o}={})=>{const{select:c,initiate:u}=e.endpoints[t],d=r(),[l,p]=O();k(()=>()=>{l?.arg.fixedCacheKey||l?.reset()},[l]);const f=I(function(e){const t=d(u(e,{fixedCacheKey:o}));return p(t),t},[d,u,o]),{requestId:h}=l||{},g=A(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=A(()=>s?i([g],s):g,[s,g]),y=a(m,E),v=null==o?l?.arg.originalArgs:void 0,_=I(()=>{n(()=>{l&&p(void 0),o&&d(e.internalActions.removeMutationResult({requestId:h,fixedCacheKey:o}))})},[d,o,l,h]),T=kr(y,...Cr,"endpointName");R(T);const S=A(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return A(()=>[f,S],[f,S])}},usePrefetch:function(t,n){const a=r(),s=Er(n);return I((n,r)=>a(e.util.prefetch(t,n,{...s,...r})),[t,a,s])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==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 a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||a&&(s&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==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 a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||s&&a;return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function g(n,a,{refetchOnReconnect:s,refetchOnFocus:o,refetchOnMountOrArgChange:i,skip:c=!1,pollingInterval:u=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:h}=e.endpoints[n],g=r(),m=C(void 0);if(!m.current){const n=g(e.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof n||"string"==typeof n?.type))throw new Error("production"===process.env.NODE_ENV?t(37):`Warning: Middleware for RTK-Query API at reducerPath "${e.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);m.current=n}const y=br(c?tr:a),v=Er({refetchOnReconnect:s,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Er(f.initialPageParam),T=Er(f.refetchCachedPages),S=C(void 0);let{queryCacheKey:w,requestId:b}=S.current||{},E=!1;w&&b&&(E=m.current.isRequestSubscribed(w,b));const I=!E&&void 0!==S.current;return d(()=>{I&&(S.current=void 0)},[I]),d(()=>{const e=S.current;if("undefined"!=typeof process&&process,y===tr)return e?.unsubscribe(),void(S.current=void 0);const t=S.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...Tr(p[n])?{initialPageParam:_,refetchCachedPages:T}:{}}));S.current=t}},[g,h,i,y,v,I,_,T,n]),[S,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=br(o?tr:r),l=C(void 0),p=A(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=A(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=a(e=>f(e,l.current),E),g=s(),m=p(g.getState(),l.current);return Ar(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:s,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:a,createSelector:r},serializeQueryArgs:o,context:i});return Sr(c,{usePrefetch:p}),Sr(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}=u(e);Sr(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}),s[`use${vr(e)}Query`]=t,s[`useLazy${vr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);Sr(c.endpoints[e],{useMutation:t}),s[`use${vr(e)}Mutation`]=t}else if(Tr(t)){const{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}=d(e);Sr(c.endpoints[e],{useInfiniteQuery:t,useInfiniteQuerySubscription:n,useInfiniteQueryState:r}),s[`use${vr(e)}InfiniteQuery`]=t}}}}}})());let Pr=0;function qr(e){return null!==e&&"object"==typeof e}function Mr(e){return qr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Dr="Something went wrong. Please try again.";function Ur(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Qr(e,t){return Ur(e)?Dr:function(e){if(!qr(e))return null;if("string"==typeof e.message){try{const t=Mr(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Mr(e.data)??Mr(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(Ur(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 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:a,defaultOptions:s}=e;return async(e,o,i)=>{let c,u;if("string"==typeof e)c={url:e};else{const{_bridge:t,...n}=e;c=n,u=t}const d={...i,bridge:{...s,...i?.bridge,...u}},l={bridgeName:t,requestId:(p=t,Pr+=1,`${p}-${Pr}`),startTime:Date.now(),api:o,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of r)t=await e(t,l);return n(t,o,d)};let h=await f(c);for(const e of a)h=await e(h,c,l,f);return h}}({name:"apiBridge",innerBaseQuery:async(e,t,n)=>function({baseUrl:e,prepareHeaders:t=e=>e,fetchFn:n=gn,paramsSerializer:r,isJsonContentType:a=yn,jsonContentType:s="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:T}=h;let S,{url:w,headers:b=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:R=u??mn,timeout:A=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:A?hn(h.signal,fn(A)):h.signal,...O};b=new Headers(vn(b)),k.headers=await t(b,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:T,extraOptions:g})||b;const C="object"==typeof(N=k.body)&&(l(N)||Array.isArray(N)||"function"==typeof N.toJSON);var N;if(null==k.body||C||"string"==typeof k.body||k.headers.delete("content-type"),!k.headers.has("content-type")&&C&&k.headers.set("content-type",s),C&&a(k.headers)&&(k.body=JSON.stringify(k.body,o)),k.headers.has("accept")||("json"===I?k.headers.set("accept","application/json"):"text"===I&&k.headers.set("accept","text/plain, text/html, */*")),E){const e=~w.indexOf("?")?"&":"?";w+=e+(r?r(E):new URLSearchParams(vn(E)))}w=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const n=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${n}${t=(e=>e.replace(/^\//,""))(t)}`}(e,w);const x=new Request(w,k);let P;S={request:new Request(w,k)};try{P=await n(x)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:S}}const q=P.clone();let M;S.response=q;let D="";try{let e;if(await Promise.all([p(P,I).then(e=>M=e,t=>e=t),q.text().then(e=>D=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:P.status,data:D,error:String(e)},meta:S}}return R(P,M)?{data:M,meta:S}:{error:{status:P.status,data:M},meta:S}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=a(e.headers)?"json":"text"),"json"===t){const t=await e.text();return t.length?JSON.parse(t):null}return e.text()}}({baseUrl:"",prepareHeaders:e=>(e.has("Content-Type")||e.set("Content-Type","application/json"),e.has("Accept")||e.set("Accept","application/json"),e)})(e,t,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const n=t.api.getState(),r=n.auth?.accessToken;return r?{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}:e},(e,t)=>{const n=q(),r=t.extraOptions.bridge?.customHeaders,a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;return a||s?{...e,headers:{...e.headers,...n,...r??{}}}:e},(e,t)=>{if(!M()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return D.debug({message:`${t.bridgeName} ${n} ${r}`,api_name:t.api.endpoint,request_id:t.requestId,method:n,url:r}),e}],responseInterceptors:[async(e,t,n,r)=>{if(n.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=n.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!Q())return n.api.dispatch(L()),e;try{const e=await async function(){return zr||(zr=async function(){const e=Q();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{zr=null}),zr)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(F({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),r(t)}D.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(L())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(a=e.error,s={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},a&&"object"==typeof a&&"status"in a?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,a="number"==typeof r&&r>=400?r:e.status;let s,o="Request failed",i=$r.UNKNOWN;if("data"in e)if(s=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=Mr(t)??Mr(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===a?i=$r.UNAUTHORIZED:403===a?i=$r.FORBIDDEN:404===a?i=$r.NOT_FOUND:422===a?i=$r.VALIDATION_ERROR:"FETCH_ERROR"===a?i=$r.NETWORK_ERROR:"TIMEOUT_ERROR"===a?i=$r.TIMEOUT:"PARSING_ERROR"===a?i=$r.PARSE_ERROR:"number"==typeof a&&a>=500&&(i=$r.SERVER_ERROR),"number"==typeof a&&a>=500&&(o=Dr),{status:a,message:o,data:s,code:i,meta:{timestamp:Date.now(),...t}}}(a,s):a instanceof Error?{status:"FETCH_ERROR",message:a.message||"An unexpected error occurred",code:$r.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:$r.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:$r.UNKNOWN,meta:{timestamp:Date.now(),...s}});var a,s;return{...e,error:{...e.error,...r}}},async(e,t,n)=>{if(!e.error||n.extraOptions.bridge?.skipErrorToast)return e;const{status:r}=e.error;return"FETCH_ERROR"===r?(U("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(U("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(U(Dr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:a}=e.error;if("FETCH_ERROR"!==a&&"TIMEOUT_ERROR"!==a)return e;const s=n.extraOptions.bridge?.retry,o=s?.maxRetries??1,i=s?.backoffMs??1e3,c=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(c>=o)return e;const u=i*Math.pow(2,c);return await new Promise(e=>setTimeout(e,u)),r({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(c+1)}})},async(e,t,n)=>{const r=n.extraOptions.bridge?.skipLogging,a=Date.now()-n.startTime,s=(t.method||"GET").toUpperCase(),o=t.url||"",i=e.meta?.response,c=e.error?e.error.status:i?.status??"OK",u=i?.headers?.get?.("x-request-id")??void 0;return e.error?D.error({message:`${n.bridgeName} ${s} ${o} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${s} ${o} ${c} ${a}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a}),e}]});function Hr(){return j()}let Gr=0;async function Br(e){const{url:t,method:n="GET",body:r,headers:a={},skipAuth:s=!1,skipLogging:o=!1,skipContentType:i=!1,responseHandler:c="json",signal:u,keepalive:d}=e;Gr+=1;const l=`fetch-${Gr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){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),M()&&!o&&D.debug({message:`bridgedFetch ${f} ${t}`,api_name:"bridgedFetch",request_id:l,method:f,url:t});try{const e=await fetch(t,{method:n,headers:h,body:g,signal:u,keepalive:d}),r=Date.now()-p;if(!e.ok){let n;try{n=await e.json()}catch{try{n=await e.text()}catch{n=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return o||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},response:e}}let a;if("blob"===c)a=await e.blob();else if("text"===c)a=await e.text();else{const t=await e.text();a=t?JSON.parse(t):void 0}if(M()&&!o){const n=e.headers.get("x-request-id")??void 0;D.debug({message:`bridgedFetch ${f} ${t} ${e.status} ${r}ms`,api_name:"bridgedFetch",request_id:n??l,method:f,url:t,status:e.status,duration:r})}return{data:a,response:e}}catch(e){const n=Date.now()-p;return o||D.error({message:`bridgedFetch ${f} ${t} network error`,api_name:"bridgedFetch",request_id:l,method:f,url:t,status:"FETCH_ERROR",duration:n,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Vr=3e5;let Wr=0;const Jr=()=>"",Xr=xr({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:a}=await Br({url:$.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return a?{error:a}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r,metadata:a,onUploadProgress:s,onUploadComplete:o})=>{const i=new FormData;i.append("file",e),t&&i.append("filename",t),n&&i.append("document_type",n),r&&i.append("conversation_id",r),a&&i.append("metadata",JSON.stringify(a));const{data:c,error:u}=await async function(e){const{url:t,method:n="POST",body:r,headers:a={},skipAuth:s=!1,skipLogging:o=!1,onUploadProgress:i,onUploadComplete:c,timeoutMs:u=Vr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return M()&&!o&&D.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Br({url:t,method:n,body:r,headers:a,skipAuth:s,skipLogging:o,skipContentType:!0,signal:d});Wr+=1;const l=`upload-${Wr}`,p=Date.now(),f=n.toUpperCase(),h={Accept:"application/json",...a,...q()};if(!s){const e=Hr();e&&(h.Authorization=`Bearer ${e}`)}return new Promise(e=>{const a=new XMLHttpRequest;let s=!1;const g=t=>{s||(s=!0,d?.removeEventListener("abort",y),e(t))},m=(e,n)=>{const r=Date.now()-p;o||D.error({message:`bridgedUpload ${f} ${t} ${e.toLowerCase()}`,api_name:"bridgedUpload",request_id:l,method:f,url:t,status:e,duration:r,error_message:n}),g({error:{status:e,data:n}})},y=()=>a.abort();a.open(n,t,!0),a.timeout=u;for(const[e,t]of Object.entries(h))a.setRequestHeader(e,t);if(i&&(a.upload.onprogress=e=>i(e.loaded,e.lengthComputable?e.total:0)),c&&(a.upload.onload=()=>c()),a.onload=()=>{const e=Date.now()-p,n=a.getResponseHeader("x-request-id")??l;let r;try{r=a.responseText?JSON.parse(a.responseText):void 0}catch{r=a.responseText}if(a.status<200||a.status>=300)return o||D.error({message:`bridgedUpload ${f} ${t} failed (${a.status})`,api_name:"bridgedUpload",request_id:n,method:f,url:t,status:a.status,duration:e,error_data:r}),void g({error:{status:a.status,data:r}});g({data:r})},a.onerror=()=>m("FETCH_ERROR","Network error"),a.ontimeout=()=>m("TIMEOUT_ERROR","Request timed out"),a.onabort=()=>m("ABORT_ERROR","Upload cancelled"),d){if(d.aborted)return void m("ABORT_ERROR","Upload cancelled");d.addEventListener("abort",y)}a.send(r)})}({url:$.DOCUMENTS(),method:"POST",body:i,onUploadProgress:s,onUploadComplete:o});return u?{error:u}:{data:c}}}),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:ea,useDeleteDocumentMutation:ta,useExchangeOAuthCodeMutation:na,useGetConversationHistoryQuery:ra,useLazyGetConversationByIdQuery:aa,useDeleteConversationMutation:sa,useGetToolServersQuery:oa,useStartToolServerOAuthMutation:ia,useDeleteToolServerConnectionMutation:ca}=Xr,ua={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},da=xr({reducerPath:"brandingApi",baseQuery:Kr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:ua})})}),{useGetBrandingQuery:la}=da,pa={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},fa=xr({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:pa})})}),{useGetConfigQuery:ha}=fa,ga=xr({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(ga.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}),resolveIdentity:e.mutation({query:e=>({url:$.PROFILE,method:"GET",headers:{Authorization:`Bearer ${e}`},_bridge:{skipAuth:!0,skipTokenRefresh:!0,skipErrorToast:!0,retry:{maxRetries:0}}}),transformResponse:e=>e?.data?.email?.trim().toLowerCase()||null})})}),{useGetProfileQuery:ma,useUpdateProfileMutation:ya,useDeleteAccountMutation:va,useUpdatePasswordMutation:_a}=ga,Ta=[Xr,da,fa,ga],Sa={[Xr.reducerPath]:Xr.reducer,[da.reducerPath]:da.reducer,[fa.reducerPath]:fa.reducer,[ga.reducerPath]:ga.reducer},wa=[Xr.middleware,da.middleware,fa.middleware,ga.middleware],ba=()=>e=>{Ta.forEach(t=>e(t.util.resetApiState()))},Ea={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Ia=s({name:"chat",initialState:Ea,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:()=>Ea},extraReducers:e=>{e.addMatcher(i(L,K),()=>Ea)}}),{setIsAgentWorking:Ra,setStatusText:Aa,setResponseStartTime:Oa,enqueueMessage:ka,dequeueMessage:Ca,clearMessageQueue:Na,addPendingTranscriptionId:xa,clearPendingTranscriptionIds:Pa,resetChatState:qa}=Ia.actions,Ma=Ia.reducer,Da={activeConversationId:null,titles:{}},Ua=s({name:"conversations",initialState:Da,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),()=>Da)}}),{setActiveConversationId:Qa,upsertConversationTitle:La}=Ua.actions,Fa=Ua.reducer;let ja=null;function $a(e){ja=e}function za(){ja=null}const Ka=()=>{if(!ja)return{};const e=ja(),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}:{}}},Ha=d({...Sa,auth:G,chat:Ma,conversations:Fa,indicator:H}),Ga={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"]},Ba=_({reducer:Ha,middleware:e=>e({serializableCheck:Ga}).prepend(B.middleware).concat(wa)});var Va;Va=Ba.dispatch,function(){const[e,t,n,r]=[Rn,An,On,kn].map(e=>()=>Va(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!Cn&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(s).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const s={[bn]:e,[In]:a,[Sn]:n,[wn]:r};t(!0),Cn=!0}}(),V(()=>Ba.getState().auth.accessToken),W(()=>Ba.getState().auth.tokenExpiresAt),$a(()=>Ba.getState());const Wa=()=>{const e=ha(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},Ja=x(void 0),Xa=()=>{const e=P(Ja);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},Ya="mtx",Za=5;var es=(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))(es||{});let ts=class extends Error{constructor(e){super(),this.reopen=e}};class ns{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:a}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a};const s=(n||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(s,t);return{type:o,data:i,timestamp:Date.now(),requestId:a}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"request_documents":return{type:"request_documents",data:{requestDocuments:{metadata:t.metadata}}};case"conversation_title":return{type:"conversation_title",data:{conversationTitle:t.text||""}};default:return t.token?{type:"text",data:{text:t.token}}:t.text?{type:"text",data:{text:t.text}}:{type:"text",data:{text:""}}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Re(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new ts(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(es));if("status_update"!==t&&"clear_status"!==t||D.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:n.has(t)}),!t||n.has(t))try{const n=t===es.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==es.CLEAR_STATUS&&t!==es.REQUEST_DOCUMENTS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const s=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||a||""});d(s),n&&"stream_end"!==s.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a})}catch(e){D.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else D.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof ts)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 ts)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 rs extends Error{constructor(e){super(),this.reopen=e}}class as{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"object"!=typeof t||null===t||"object"!=typeof t.config||null===t.config?{type:"text",data:{text:""}}:{type:"payment",data:{payment:t}}}case"CONVERSATION_TITLE":{const t=e?.value?.data??e.payload,n=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof n?n:""}}}default:return{type:"text",data:{text:""}}}}mapStateSnapshot(e){return{type:"widget",data:{widget:e.state||e.payload||{}}}}mapCustomEvent(e){const t=e.payload||e?.value?.data||{},n=e.name||"custom";return D.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:n}),"widget"===n?{type:"widget",data:{widget:{eventName:n,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Re(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new rs(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{D.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(es));if(!t||n.has(t))if(t!==es.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void D.error({message:"AG-UI JSON parse error",api_name:"agui-sse",error_message:t instanceof Error?t.message:String(t),raw_data:e.data})}if(n&&"object"==typeof n&&0===Object.keys(n).length)return;n.runId&&(a=n.runId);const r=t===es.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||a}:{...n,runId:n.runId||a},s=this.normalizeEvent(r);d(s)}catch(e){D.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else d(this.normalizeEvent({type:"RUN_FINISHED",runId:a}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof rs)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 rs)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 ss(e,t){switch(e){case"mtx":return new ns(t);case"agui":return new as(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function os(e={}){return{getAuthToken:()=>Hr(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{J(X())&&await(Q()?.())},forceRefreshToken:async()=>Boolean(await(Q()?.()))}}class is{segments=[];error="";requestId="";statusText="";streamComplete=!1;startTimestamp=null;processEvent(e){null===this.startTimestamp&&(this.startTimestamp=e.timestamp),e.requestId&&(this.requestId=e.requestId);const{data:t}=e;if(!("isEnd"in t))return"error"in t?(this.error=t.error,void("text"in t&&t.text&&this.appendText(t.text))):void("statusText"in t?this.statusText=t.statusText:"payment"in t||("widget"in t?this.segments.push({type:"widget",id:Y(),content:t.widget}):"text"in t&&this.appendText(t.text)));this.streamComplete=!0}appendText(e){const t=this.segments[this.segments.length-1];t&&"text"===t.type?t.text+=e:this.segments.push({type:"text",id:Y(),text:e})}toMessages(){if(0===this.segments.length){const e=Y();return[{id:e,msg_id:e,sender:"agent",message:"",timestamp:(new Date).toISOString(),tookMs:this.startTimestamp?Date.now()-this.startTimestamp:0,error:this.error||void 0,request_id:this.requestId||void 0}]}const e=(new Date).toISOString(),t=this.segments.map(t=>{const n={id:t.id,msg_id:t.id,sender:"agent",message:"",timestamp:e};switch(t.type){case"text":n.message=t.text;break;case"widget":n.widget=[t.content],n.message_type=["widget"]}return n}),n=t[t.length-1];return n.tookMs=this.startTimestamp?Date.now()-this.startTimestamp:0,n.error=this.error||void 0,n.request_id=this.requestId||void 0,t}getStatusText(){return this.statusText}isStreamComplete(){return this.streamComplete}reset(){this.segments=[],this.error="",this.requestId="",this.statusText="",this.streamComplete=!1,this.startTimestamp=null}}async function cs(e,t){const{data:n,error:r,response:a}=await Br({url:Z(ee.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:te(a)}}async function us(){const{data:e,error:t,response:n}=await Br({url:Z(ee.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:te(n)}}async function ds(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.SIGNUP),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return ne(t?.data)?{body:t}:{body:t,tokens:te(r)}}async function ls(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return r.headers.get(re.ACCESS_TOKEN)?{body:t,tokens:te(r)}:{body:t}}async function ps(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function fs(e,t){await Br({url:Z(ee.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function hs(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:te(r)}}async function gs(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ms(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function ys(e){const{data:t,error:n,response:r}=await Br({url:Z(ee.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function vs(e,t){const{data:n,error:r,response:a}=await Br({url:Z(ee.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:te(a)}}async function _s(){try{const{data:e}=await Br({url:Z(`${ee.ORGANIZATIONS}?skip=0&limit=100`),skipAuth:!0});if(e?.success&&Array.isArray(e.data?.organizations))return e.data.organizations}catch{}return[]}async function Ts(){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 Ss(e){const t=T(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:a}=await e(...n);return r.success&&r.data?(a&&!ne(r.data)&&t.dispatch(F({user:r.data.user,accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{r(!1)}},[t,e]),isLoading:n}}function ws(){const e=I(e=>cs(e.email,e.password),[]),{run:t,isLoading:n}=Ss(e);return{login:t,isLoading:n}}function bs(){const{run:e,isLoading:t}=Ss(us);return{guestLogin:e,isLoading:t}}function Es(){const{run:e,isLoading:t}=Ss(ds);return{signup:e,isLoading:t}}function Is(){const{run:e,isLoading:t}=Ss(ls);return{verify:e,isLoading:t}}function Rs(){const e=T();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await fs({refresh_token:n,user_id:r})}catch{}else D.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(n),has_user_id:Boolean(r)});e.dispatch(L())},[e])}}function As(){const e=T(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:s}=await hs({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(F({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function Os(e){return ae({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return D.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(n),has_user_id:Boolean(r)}),null;const{body:a,tokens:s}=await hs({refresh_token:n,user_id:r});if(a?.success&&a?.data){const t={accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(F({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return D.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}const ks="1interface_inherit_identity_reloads",Cs="1interface_inherit_identity_unverified",Ns=[250,750],xs=e=>new Promise(t=>setTimeout(t,e)),Ps=e=>"FETCH_ERROR"===e||"TIMEOUT_ERROR"===e||"number"==typeof e&&e>=500,qs="rejected",Ms="unknown";function Ds(e,t){let n=0,r=null,a=null;const s=()=>e.getState().auth?.accessToken??null,o=async t=>{for(let n=0;;n++){const r=e.dispatch(ga.endpoints.resolveIdentity.initiate(t));try{const e=await r.unwrap();return e?{email:e}:Ms}catch(e){const t=e?.status;if(401===t)return qs;if(!Ps(t)||n>=Ns.length)return Ms}finally{r.reset()}await xs(Ns[n])}};let i=null;const c=()=>{const n=s();if(!t.onUserChanged||!n)return;i?.unsubscribe();const r=e.dispatch(ga.endpoints.getProfile.initiate(void 0,{forceRefetch:!0}));i=r,r.unwrap().then(e=>{const t=e?.email?.trim().toLowerCase();t&&s()===n&&null===a&&(a=t)},()=>{})},u=async()=>{let e;try{e=JSON.parse(await(ie()?.getItem(ks))??"[]")}catch{e=[]}const t=Date.now();return Array.isArray(e)?e.filter(e=>"number"==typeof e&&t-e<6e4):[]},d=async(e=!1)=>{const n=ie();return e&&await(n?.setItem(Cs,"1")),await(n?.setItem(ks,JSON.stringify([...await u(),Date.now()]))),await(n?.removeItem(ce.ACTIVE_CONVERSATION_ID)),t.onUserChanged?.(),await xs(1e4),t.onAuthError?.(se.TOKEN_REJECTED),null},l=async(i=!1)=>{let p;try{p=await t.getToken()}catch(e){return D.warn({message:"Inherited token request failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),t.onAuthError?.(se.NO_TOKEN),null}if(null!==r&&p.accessToken===r)return null;const f=e.getState(),h=f.auth?.accessToken??null;if(p.accessToken===h)return oe(f.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(D.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=p.accessToken,t.onAuthError?.(se.TOKEN_REJECTED),null):{accessToken:p.accessToken}):(n=0,{accessToken:p.accessToken});n=0,r=null;const g=null!=p.expiresAt?p.expiresAt/1e3:void 0,m=()=>(e.dispatch(F({accessToken:p.accessToken,refreshToken:null,...null!=g?{expiresIn:g}:{}})),{accessToken:p.accessToken,...null!=g?{expiresIn:g}:{}});if(null===h){a=null;const e=m();return c(),e}if(!t.onUserChanged)return m();const y=await o(p.accessToken);if(s()!==h)return i?null:l(!0);if(y===qs)return r=p.accessToken,t.onAuthError?.(se.TOKEN_REJECTED),null;if(y===Ms)return d(!0);if(null===a){const e=await o(h);if(s()!==h)return i?null:l(!0);if(e===qs)return d();if(e===Ms)return d(!0);a=e.email}return y.email===a?m():(await u()).length>=3?(D.warn({message:"Inherited token belongs to another user; failing closed: too many switches within 60 s",api_name:"auth-refresh"}),d(!0)):d()},p=ae({performRefresh:()=>l(),isTransient:()=>!1});return Object.assign(p,{captureBaseline:c})}const Us={WEB:"Web",MOBILE:"Mobile"},Qs={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},Ls=Object.values(Qs);function Fs(e,t){const n=e?.data?.auth_mode_config?.[t];return Ls.includes(n)?n:Qs.SIGN_IN_ONLY}const js=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:a}=S(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:a,tokenInfo:{isExpired:!!n&&oe(n),isAboutToExpire:!!n&&J(n),expiresAt:n,timeUntilExpiry:n?de(n):0,timeUntilExpiryFormatted:n?ue(de(n)):"0s"}}},$s={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},zs={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},Ks={MESSAGE_PAGE_SIZE:25},Hs=[500,1500,3e3],Gs=28,Bs="New Conversation",Vs=1e3;function Ws(e){return!e.widget?.length}function Js(e){const t=Y(),n={id:`agent-${t}`,msg_id:t,sender:"agent",message:"",timestamp:e.created_at?String(e.created_at):""};return"widget"===e.type?e.content&&"object"==typeof e.content&&(n.widget=[e.content],n.message_type=["widget"]):e.content&&"string"==typeof e.content&&(n.message=e.content),n}function Xs(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&&Ws(e)){e.message=e.message+(n.content||"");continue}t.push(Js(n));continue}}else n.content&&t.push({id:`system-${Y()}`,sender:"system",message:"string"==typeof n.content?n.content:"",timestamp:e});else(n.content||n.documents?.length)&&t.push({id:`user-${Y()}`,sender:"user",message:"string"==typeof n.content?n.content:"",timestamp:e,...n.documents?.length?{documents:n.documents}:{}})}return t}function Ys(e){return"string"==typeof e&&e.trim()?e:null}const Zs=()=>{const e=w(),[t,n]=O(null),[r,a]=O([]),s=C(t),o=S(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(La({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(Qa(t))},[t,e]);const[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1),[h,g]=O(!1),m=C(!1),{protocolType:y}=Xa(),[v]=Yr(),[_]=aa(),T=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=Ys(t?.title);return a&&e(La({id:r,title:a})),r}return U(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return U(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),b=I(async(t,r,s)=>{try{const s=Ys(r);s&&e(La({id:t,title:s}));const o=await _({conversationId:t,skip:0,limit:Ks.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=Ys(o.title)??s;r&&e(La({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?Xs(i):[];return a(c),l(i.length),f(i.length>=Ks.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(D.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),s?.quiet||U("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=Ys(t?.title);return r&&e(La({id:n,title:r})),r}catch(e){return D.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),R=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:Ks.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=Xs(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Ks.MESSAGE_PAGE_SIZE),a(t=>{const n=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!n.has(e.timestamp)),...t]})}}catch(e){D.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),U("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),A=I(()=>{a([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:o,setConversationTitle:i,messages:r,setMessages:a,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:T,loadConversation:b,loadConversationTitle:E,loadMoreMessages:R,resetConversation:A}},eo=e=>null==e||"string"==typeof e&&""===e.trim(),to=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},no="user-collapsed";function ro(e,t){const n=[];return e?.length&&n.push({type:le.DOCUMENTS,document_ids:e.map(e=>e.document_id)}),t&&t.length>Vs?D.warn({message:"modelText exceeds the text-part limit; sending the turn without it",api_name:"chat-send",length:t.length,max_length:Vs}):t&&n.push({type:le.TEXT,text:t}),n.length?n:void 0}function ao(e,t){return{...Object.keys(e).length?{client_metadata:e}:{},...t?{locale:t}:{}}}const so=({conversationId:e,setMessages:t,enableTts:n=!1,userLocation:r=null,startSession:a,debugMode:s=!1,onPaymentInit:o,onSignInInit:i,onRequestDocuments:c,onConversationTitle:u,initialMessage:d,locale:l})=>{const{adapter:p}=Xa(),f=w(),h=T(),[g,m]=O(""),[y,v]=O(!1),[_,S]=O(!1),b=C(o);b.current=o;const E=C(i);E.current=i;const R=C(c);R.current=c;const A=C(u);A.current=u;const x=C(d),P=C(l);N(()=>{x.current=d,P.current=l},[d,l]);const q=C(new is),M=C(null),Q=C(null),L=C(!1),F=C(0),j=C(!1),$=C(null),z=C(e);z.current=e;const K=C(null),H=C(e);k(()=>{const t=H.current;H.current=e,null!==t&&t!==e&&f(Pa())},[e,f]);const G=I((e=pe.KEEP)=>{if(f(Aa(null)),f(Ra(!1)),e===pe.FINALIZE){const e=h.getState().chat.responseStartTime;e&&f(fe(Date.now()-e)),f(Oa(null))}else e===pe.CANCEL&&f(Oa(null))},[f,h]),B=I(e=>{f(Ra(e)),v(e),e&&S(!1)},[f]),V=I(()=>{const e=h.getState().chat.responseStartTime;return e&&f(fe(Date.now()-e)),null!==$.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,j.current=!1,m(""),v(!1),S(!1),G(pe.CANCEL)},600),()=>{null!==$.current&&clearTimeout($.current)}},[f,h,G]),W=C({setStatusText:e=>f(Aa(e||null)),setIsAgentWorking:e=>f(Ra(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>b.current?.(e),onSignIn:e=>E.current?.(e),onRequestDocuments:e=>R.current?.(e),onError:()=>{}}),J=I(e=>{if(K.current!==z.current)return M.current?.abort(),void Q.current?.();if("payment"===e.type&&"payment"in e.data)return void he({kind:"payment",payment:e.data.payment},W.current);if("sign_in"===e.type&&"signIn"in e.data)return void he({kind:"sign_in",signIn:e.data.signIn},W.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void he({kind:"request_documents",requestDocuments:e.data.requestDocuments},W.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&A.current?.(t))}const n=q.current;n.processEvent(e),L.current||(L.current=!0,S(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"request_documents":return"requestDocuments"in t?{kind:"request_documents",requestDocuments:t.requestDocuments}:null;case"error":return"error"in t?{kind:"error",error:t.error}:null;default:return null}}(e);if(r){const e="status_update"===r.kind?{kind:"status_update",statusText:n.getStatusText()}:r;he(e,W.current)}const a=n.toMessages(),s=F.current;t(e=>[...e.slice(0,e.length-s),...a]),F.current=a.length,a.some(e=>to(e)||!eo(e.message))&&f(Ra(!1)),n.isStreamComplete()&&V()},[f,t,V]),X=I(e=>{U("Stream connection error. Please try again."),V()},[V]),Z=I(()=>{M.current?.abort(),Q.current?.(),M.current=null,Q.current=null,K.current=null,q.current.reset(),F.current=0,m(""),v(!1),S(!1),G(pe.CANCEL),f(ge()),f(Na()),j.current=!1},[f,G]),ee=I((e,t)=>{M.current?.abort(),Q.current?.(),q.current.reset(),F.current=0,L.current=!1,K.current=t,z.current=t,M.current=e;const n=e.subscribe({onEvent:J,onError:X,onComplete:()=>{V()}});Q.current=n},[J,X,V]),te=I(()=>{f(Ra(!0)),v(!0),S(!1),f(Aa(null)),f(Oa(Date.now())),f(ge())},[f]),ne=I((e,t)=>{te();const r=p.streamMessage({conversationId:e,message:t.message,enableTts:n,debugMode:s,transcriptionIds:t.transcriptionIds??[],...t.modelContext?.length?{modelContext:t.modelContext}:{},body:ao(t.clientMetadata,P.current)});ee(r,e)},[p,n,s,ee,te]),re=I(async(n="",r=[],s={})=>{j.current=!0;try{let o=e;if(!o){if(!a)return j.current=!1,void U("Conversation is not ready yet. Please wait a moment.");const e=await a();if(!e)return j.current=!1,void U("Failed to start conversation. Please try again.");o=e}const i=n.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),t(e=>[...e,{id:`user-${Y()}`,sender:"user",message:i,timestamp:(new Date).toISOString(),...s.messageType?.length?{message_type:s.messageType}:{},...s.documents?.length?{documents:s.documents}:{}}]);const c=me();ne(o,{message:i,transcriptionIds:r,modelContext:ro(s.documents,s.modelText),clientMetadata:c?{device_token:c}:{}})}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),U("Failed to send conversations message. Please try again."),j.current=!1,G(pe.CANCEL)}},[e,a,t,ne,G]),ae=C(re);ae.current=re;const se=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return void(n.modelText&&D.warn({message:"modelText sent without text or documents; dropped",api_name:"chat-send"}));const a=h.getState().chat.pendingTranscriptionIds,s=a.length?[...a,...t]:t;a.length&&f(Pa()),j.current?f(ka({id:Y(),text:r,queuedAt:(new Date).toISOString(),...s.length?{transcriptionIds:s}:{},...n.messageType?.length?{messageType:n.messageType}:{},...n.documents?.length?{documents:n.documents}:{},...n.modelText?{modelText:n.modelText}:{}})):await re(r,s,n)},[f,h,re]);k(()=>{if(y||j.current)return;const e=h.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>e.text).filter(e=>e.length>0).map(e=>`- ${e}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]),r=e.flatMap(e=>e.documents??[]),a=e.map(e=>e.modelText).filter(Boolean).join("\n\n"),s={...1===e.length&&e[0].messageType?.length?{messageType:e[0].messageType}:{},...r.length?{documents:r}:{},...a?{modelText:a}:{}};f(Na()),ae.current(t,n,s)},[y,f,h]);const oe=I(async(e,t)=>{j.current=!0;const a=void 0!==t?t:r,s={};a&&(s.user_location=a);const o=me();o&&(s.device_token=o);const i=x.current?.trim()??"",c=i.length>Vs;if(c&&D.warn({message:"initialMessage exceeds the text-part limit; opening with /start instead",api_name:"chat-start",conversation_id:e,length:i.length,max_length:Vs}),i&&!c)return void ne(e,{message:"",modelContext:[{type:le.TEXT,text:i}],clientMetadata:s});te();const u=p.streamInitial({conversationId:e,body:ao(s,P.current),enableTts:n});ee(u,e)},[p,n,r,ee,ne,te]);return k(()=>()=>{M.current?.abort(),Q.current?.()},[]),{sendMessage:se,startInitialStream:oe,setThinkingState:B,abortStream:Z,toolCallStatus:g,isProcessThinkingState:y,hasReceivedResponse:_}};function oo({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,a]=O([]),s=S(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[T,{isLoading:w}]=Xr.useDeleteConversationMutation(),b=I(async e=>{const t="append"===e?h.current:0;if("append"===e){if(g.current||!m.current)return;g.current=!0,u(!0)}else"replace"===e&&0===y.current.length&&i(!0);try{const n=await _.current({skip:t,limit:20}).unwrap(),r=n?.conversations??[];"append"===e?(a(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(a(r),h.current=20):a(e=>function(e,t){if(0===t.length)return e;const n=new Set(e.map(e=>e.id)),r=new Map(t.map(e=>[e.id,e])),a=t.filter(e=>!n.has(e.id));let s=a.length>0;const o=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(a=t).id&&n.title===a.title&&n.created_at===a.created_at&&n.updated_at===a.updated_at?e:(s=!0,t):e;var n,a});return s?[...a,...o]:e}(e,r)),"silent"!==e&&l(r.length>=20)}catch(e){D.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(g.current=!1,u(!1)):"replace"===e&&i(!1)}},[]);k(()=>{b("replace")},[b]);const E=C(null),R=C(new Set);k(()=>{if(o||!e)return;if(R.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${s[e]??""}`;E.current!==t&&(E.current=t,b("silent"))},[e,r,s,o,b]);const N=I(async s=>{const o=e===s,i=o?function(e,t){const n=e.findIndex(e=>e.id===t);return-1===n?null:n+1<e.length?e[n+1].id:n-1>=0?e[n-1].id:null}(p.trim()?r.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):r,s):null,c=await T({conversationId:s});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:s,error_message:JSON.stringify(c.error)}),void U("Failed to delete the conversation. Please try again.");ye("Conversation deleted successfully"),R.current.add(s);const u=y.current.some(e=>e.id===s);if(a(e=>e.filter(e=>e.id!==s)),u&&(h.current=Math.max(0,h.current-1)),o)if(i){const e=r.find(e=>e.id===i)??null;t(i,e?.title??null)}else n?.()},[e,r,p,T,t,n]),x=A(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?x.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):x,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:w,searchQuery:p,setSearchQuery:f,loadConversations:b,deleteConversation:N,isLoadingMoreRef:g}}function io(){return S(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}const co=new Map;let uo;function lo(e){co.set(e.type,e)}function po(e){return e?co.get(e):void 0}function fo(e){uo=e}function ho(e){return"string"==typeof e&&e?po(e):po(ve())??po(uo)}function go(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 mo={SUCCESS:"success",FAILURE:"failure",CANCEL:"cancel"};function yo({status:e,amount:t,currency:n,paymentId:r}){if(e===mo.SUCCESS){const e=go(t,n);return`The payment${e?` of ${e}`:""} is successfully completed.`}return e===mo.FAILURE?"The payment failed."+(r?` The reference ID is ${r}.`:""):"Payment cancelled."}function vo({modelText:e}={}){return{status:mo.CANCEL,agentText:yo({status:mo.CANCEL}),...e?{modelText:e}:{}}}const _o=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(e=>{if(!e)return void n(null);const t=ho(e.provider),r=t?.normalize(e)??null;r?n({paymentInit:e,payment:r}):D.warn({message:"Payment event dropped",api_name:"payment-init",provider:e.provider??null,resolved_provider:t?.type??null,reason:t?"invalid payload":"unknown provider"})},[]),a=I(()=>n(null),[]),s=I(t=>{const r=function(e){return"string"==typeof e?.agentText}(t)?t:function(e){const t="failure"===e.status&&e.message&&"stripe"!==e.provider;return{status:e.status,agentText:yo(e),...t?{userMessage:e.message}:{}}}(t);r.userMessage&&r.status!==mo.CANCEL&&U(r.userMessage),e.current?r.modelText?e.current(r.agentText,void 0,{modelText:r.modelText}):e.current(r.agentText):D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:r.status}),n(null)},[e]);return{paymentInit:t?.paymentInit??null,payment:t?.payment??null,setPaymentInit:r,clearPaymentInit:a,handlePaymentResult:s}};function To(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=_e.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function So(e){try{const t=await e.getItem(ce.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ce.LOCATION_CACHE),null)}catch{return null}}const wo=()=>{const[e,t]=O(!1),[n,r]=O(null),a=Te(),s=I(async()=>{const e=await So(a);if(e)return e;if(!("geolocation"in navigator))return r("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return r("Geolocation requires HTTPS"),null;t(!0),r(null);try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=await new Promise((e,t)=>{navigator.geolocation.getCurrentPosition(e,t,{enableHighAccuracy:!1,timeout:8e3,maximumAge:6e5})}),{latitude:n,longitude:r}=t.coords;let s="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${n}&lon=${r}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(s=(await e.json()).display_name??"")}catch(e){D.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const o={latitude:n,longitude:r,address:s,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(ce.LOCATION_CACHE,JSON.stringify(n))}catch{}}(a,o),o}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:r("Location permission denied");break;case 2:r("Location information unavailable");break;case 3:r("Location request timed out");break;default:r("Failed to retrieve location")}else r("Failed to get location");return null}finally{t(!1)}},[a]);return{getUserLocation:s,isLoading:e,error:n}};function bo({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:a}){const s=C(null),o=I(a=>{if(s.current&&s.current.disconnect(),!a||!e)return;const o=function(e,t){const n=t?.querySelector("[data-radix-scroll-area-viewport]");if(n)return n;if(t&&t.scrollHeight>t.clientHeight)return t;let r=e.parentElement;for(;r&&r!==document.body;){if(r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null}(a,n.current);o&&(s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:o,rootMargin:"0px",threshold:.1}),s.current.observe(a))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const a=n.current;if(!a)return;const s=a.querySelector("[data-radix-scroll-area-viewport]")??a;s.clientHeight>0&&s.scrollHeight<=s.clientHeight&&r()},[e,n,r,t,a]),o}const 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)"),Ro=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const a=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});a.observe(n);const s=n.getBoundingClientRect().width;return r(s>=e),()=>{a.disconnect()}},[e]),{containerRef:t,isDesktop:n}},Ao=()=>{const[e,t]=O(!1),{getUserLocation:n}=wo(),r=Te(),a=C(!1);return k(()=>{if(a.current)return;a.current=!0;let e=null;const s=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(ce.LOCATION_ENABLED))return void s();const t=await So(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Oo({payment:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),a=e?.paymentId;return{handlePaymentResult:I(e=>{(e.status===mo.SUCCESS||e.status===mo.FAILURE)&&a&&r.current.add(a),t?.(e)},[t,a]),handleSurfaceOpenChange:I(s=>{if(!s&&e){if(!a||!r.current.has(a)){const n=po(e.provider);t?.(n?.cancelOutcome?.(e)??vo())}n?.()}},[e,a,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}=oa(void 0),[r]=ca(),a=A(()=>(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:a,isLoading:n,disconnect:async function(e){const t=a.find(t=>t.id===e)?.name??"App";"error"in await r(e)?U(`Failed to disconnect ${t}. Please try again.`):ye(`${t} disconnected`)}}}const No={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},xo=({onSend:e,disabled:t=!1,hasAttachments:n=!1,transcribedText:r,onTranscribedTextUsed:a,isRecording:s=!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}`),a?.())}),()=>{e=!0}},[r,a]);const u=(i.trim().length>0||n)&&!t,d=I(()=>{u&&(e(i.trim()),c(""))},[i,u,e]),l=s?No.RECORDING:o?No.TRANSCRIBING:No.NORMAL;return A(()=>({value:i,setValue:c,send:d,canSend:u,mode:l}),[i,d,u,l])},Po=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},qo=e=>{const t=S(e=>!!e.voice?.isAgentWorking),n=S(e=>e.voice?.statusText??null),r=S(e=>e.voice?.responseStartTime??null),a=S(e=>e.chat.isAgentWorking),s=S(e=>e.chat.statusText??null),o=S(e=>e.chat.responseStartTime),i=S(e=>e.indicator.lastResponseTime),c=e?t:a,u=e?n:s,d=e?r:o;return A(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},Mo=[],Do=({messages:e,voiceStreamingMessages:t=Mo,voiceActive:n})=>{const r=A(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),a=A(()=>Po(r),[r]),s=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=Po(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:n,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(we),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:i}},Uo=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(zs.INITIAL),[a,s]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(zs.INITIAL),s(0),void i(!0);r(zs.INITIAL),s(0),i(!0);let e=zs.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},zs.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=zs.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(zs.LATER),s(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},zs.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),u.current&&clearTimeout(u.current),d.current&&clearTimeout(d.current),c.current=null,u.current=null,d.current=null}},[t]),{message:n[a],isVisible:o}},Qo=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 Lo(e,t=28){const[n,r]=O(e),a=C(e),s=I(e=>{a.current=e,r(e)},[]);return k(()=>{if(a.current===e)return;const n=function(e,t){const n=Math.min(e.length,t.length);let r=0;for(;r<n&&e[r]===t[r];)r+=1;return r}(a.current,e);s(e.slice(0,n));let r=n;const o=globalThis.setInterval(()=>{r+=1,s(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(o)},t);return()=>globalThis.clearInterval(o)},[e,t,s]),n}const Fo=x(null),jo=()=>{const e=P(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=T(),r=S(e=>e.auth),a=r?.accessToken??null,s=Boolean(r?.isAuthenticated),o=r?.tokenExpiresAt??null,i=C(null),c=C(null),u=I(()=>{n.dispatch(L())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-$o<3e5))try{await e()?$o=Date.now():(D.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){D.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),u()}},[e,u]),l=I(()=>{s&&(oe(o)?d(!0):J(o)&&d())},[s,o,d]);return k(()=>{a&&oe(o)&&d(!0)},[]),k(()=>{if(s&&a){if(oe(o))return void d(!0);const e=be(o);return e>0?c.current=setTimeout(()=>{d()},e):J(o)&&d(),i.current=setInterval(()=>{oe(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)},[s,a,o,t,d]),{checkNow:l}}function Ko({clientType:e}){const{data:t,isLoading:n,refetch:r}=Wa(),a=Fs(t,e),s=Boolean(t?.data?.auth_mode_config),[o,i]=O(a);s&&a!==o&&i(a);const c=s?a:o,u=S(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=bs(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Qs.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===Qs.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Qs.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Ho({adapter:e,enabled:t}){const n=T(),r=S(e=>Boolean(e.auth?.isAuthenticated)),a=A(()=>e?Ds(n,e):null,[n,e]);k(()=>{if(t&&a)return Ee(a),()=>Ee(null)},[t,a]);const s=C(!1),[o,i]=O(!1),[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1);k(()=>{if(!t||!e||p)return;const r=ie();(r?r.getItem(Cs):Promise.resolve(null)).then(async t=>{t&&(await(r?.removeItem(Cs)),n.dispatch(L()),e.onAuthError?.(se.TOKEN_REJECTED),u(!0)),f(!0)})},[t,e,n,p]),k(()=>{if(!t||!a||c||!p)return;if(r&&o)return void(s.current=!1);if(s.current)return;s.current=!0;const d=()=>{a().then(e=>{e?i(!0):(s.current=!1,u(!0))})};if(!r||!e)return void d();const l=n.getState().auth?.accessToken;e.getToken().then(e=>e.accessToken===l,()=>!1).then(e=>{if(e)return i(!0),void a.captureBaseline();n.dispatch(L()),d()})},[t,a,e,n,r,o,c,d,p]);const h=I(()=>{u(!1),l(e=>e+1)},[]),g=t&&!(r&&o)&&!c,m=t&&c,y=t&&r&&o&&!c,v=C({canRecheck:y,adapter:e,refresher:a});k(()=>{v.current={canRecheck:y,adapter:e,refresher:a}},[y,e,a]);const _=C(!1);return{isInheritedBootPending:g,inheritedAuthFailed:m,retryInheritedAuth:h,recheckInheritedAuth:I(()=>{const e=v.current;if(!e.canRecheck||!e.adapter||!e.refresher)return;if(_.current)return;_.current=!0;const{adapter:t,refresher:r}=e,a=n.getState().auth?.accessToken;t.getToken().then(e=>e.accessToken===a?void 0:r(),()=>{}).finally(()=>{_.current=!1})},[n])}}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}),a=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(a)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const Bo={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"}},Jo=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:a=Bo.HOLD}={})=>{const[s,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=w(),[v]=Zr(),_=I(async()=>{if(a===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){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,U(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 U(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(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,U(Vo)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await Wo()&&U(Vo)}}},[a]),T=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),S=I(async()=>{try{if(!l.current||!f.current)return;const a=p.current?Date.now()-p.current:0;if(o(!1),d(0),a<500)return l.current?.cleanup(),void(p.current=null);c(!0);const s=await l.current.stopRecording(),i=await(n?.())??null;if(!i)return void U("Failed to transcribe audio");const u=await v({conversationId:i,audioFile:s}).unwrap();u.success?u.data.text&&(y(xa(u.data.transcription_id)),r&&e?await e(u.data.text):!r&&t&&t(u.data.text)):U("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),U("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=S},[S]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:s,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:S,cancelRecording:a===Bo.TAP?T:null}},Xo="OAUTH_SUCCESS",Yo="OAUTH_ERROR",Zo=Xo,ei=Yo;function ti({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=na();k(()=>{if(!e)return;const s=function(e){try{const t=(new URL(e).searchParams.get("scope")??"").match(/\/auth\/([^./]+)/);if(t?.[1])return t[1].charAt(0).toUpperCase()+t[1].slice(1)}catch{}return"Service"}(e.authorize_url),o=window.open(e.authorize_url,"oauth_popup",`width=500,height=650,left=${Math.round(screen.width/2-250)},top=${Math.round(screen.height/2-325)}`);if(!o)return U("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(()=>U(`Failed to sign in to ${s}. 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 a({code:l,state:p})?U(`Failed to sign in to ${s}. Please try again.`):(ye(`${s} connected successfully`),r&&t.current?.(`${s} is now signed in, please continue`)),n(),o?.close()},d=setInterval(()=>{o.closed&&c()},500);return window.addEventListener("message",u),()=>{window.removeEventListener("message",u),clearInterval(d),i||o.close()}},[e,t,n,a,r])}function ni({sendMessageRef:e}){const{paymentInit:t,payment:n,setPaymentInit:r,clearPaymentInit:a,handlePaymentResult:s}=_o({sendMessageRef:e}),{handlePaymentResult:o,handleSurfaceOpenChange:i}=Oo({payment:n,onPaymentResult:s,onClearPaymentInit:a});return{paymentInit:t,payment:n,setPaymentInit:r,isOpen:!!t,onOpenChange:i,onResult:o,clearPaymentInit:a}}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:[Ie.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Us.WEB]:Qs.SIGN_IN_ONLY,[Us.MOBILE]:Qs.SIGN_IN_ONLY}},ai=x(void 0),si=()=>{const{data:e,isLoading:t,error:n}=Wa(),r=e?.success?e.data:null,a=A(()=>{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 A(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},oi=()=>{const e=P(ai);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},ii=x({}),ci=()=>P(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 a=t.findIndex(t=>t.id===e.id);return t.slice(a+1).some(e=>"user"===e.sender)}function li(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}function pi(e,t){const n="dark"===t;return{pageBg:e.bgColor,cardBg:e.widgetBg,text:e.primaryText,heading:e.primaryText,muted:e.secondaryText,divider:e.widgetBorderColor,accent:e.statusDiscovery.solid,accentText:e.statusDiscovery.text,focus:e.statusDiscovery.solid,success:e.statusSuccess.solid,successBg:e.statusSuccess.background,warning:e.statusWarning.solid,warningBg:e.statusWarning.background,danger:e.statusDanger.solid,dangerBg:e.statusDanger.background,pillBg:e.inputBgColor,pillBorder:e.inputBorderColor,pillText:e.secondaryText,cardShadow:n?"0 1px 3px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04)":"0 1px 3px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04)",radius:e.borderRadius,fontFamily:e.fontFamily,colorScheme:n?"dark":"light"}}export{Us as AUTH_CLIENT_TYPES,Qs as AUTH_MODES,as as AguiAdapter,Go as AudioRecorder,$s as BREAKPOINTS,No as CHAT_INPUT_MODES,Hs as CONVERSATION_TITLE_REFRESH_DELAYS_MS,ii as ChatCallbacksContext,Fo as ChatSettingsContext,ai as ConfigurationContext,Bs as DEFAULT_CONVERSATION_TITLE,Ya as DEFAULT_PROTOCOL,$r as ERROR_CODES,is as EventAggregator,Dr as GENERIC_SERVER_ERROR_MESSAGE,Za as MAX_CONNECTION_RETRIES,Vs as MODEL_CONTEXT_TEXT_MAX_LENGTH,Yo as OAUTH_ERROR_TYPE,Xo as OAUTH_SUCCESS_TYPE,Ks as PAGINATION,mo as PAYMENT_OUTCOME_STATUSES,ns as ProprietaryAdapter,Ja as ProtocolContext,es as SSEEventType,Bo as STT_GESTURES,zs as THINKING_MESSAGES,Gs as TYPEWRITER_INTERVAL_MS,no as USER_COLLAPSED_MESSAGE_TYPE,Kr as apiBridge,wa as apiMiddleware,Sa as apiReducers,$a as bindChatLogger,da as brandingApi,Br as bridgedFetch,pi as buildBrandSkin,Xr as chatApi,Ha as chatCoreRootReducer,Ka as chatLoggerContextProvider,Ma as chatReducer,Ts as checkOrganizationExistsApi,Na as clearMessageQueue,fa as configApi,Fa as conversationsReducer,ss as createAdapter,os as createDefaultAdapterConfig,Ds as createInheritedSessionRefresher,Os as createSessionRefresher,yo as defaultAgentText,vo as defaultCancelOutcome,Ca as dequeueMessage,ka as enqueueMessage,_s as fetchOrganizations,gs as forgotPasswordApi,go as formatAmount,Qr as getApiErrorMessage,Fs as getAuthMode,Hr as getAuthToken,So as getCachedLocation,Fr as getCodeEntryErrorMessage,jr as getErrorGroup,Jr as getLatestRequestId,po as getPaymentProvider,us as guestLoginApi,to as hasAnyExtraData,Ur as isApiServerError,eo as isEmptyMessage,li as isHttpsUrl,cs as loginApi,fs as logoutApi,ga as profileApi,hs as refreshTokenApi,lo as registerPaymentProvider,ps as resendVerificationApi,ba as resetAllApiState,za as resetChatLoggerForTests,qa as resetChatState,ms as resetPasswordApi,ho as resolvePaymentProvider,Ga as serializableCheck,Qa as setActiveConversationId,fo as setDefaultPaymentProvider,Ra as setIsAgentWorking,Oa as setResponseStartTime,Aa as setStatusText,di as shouldDisableMessage,ds as signupApi,vs as ssoExchangeApi,ys as ssoStartApi,Ba as store,ro as toModelContext,La as upsertConversationTitle,io as useActiveConversationTitle,js as useAuth,ci as useChatCallbacks,so as useChatConnection,oo as useChatHistory,xo as useChatInput,jo as useChatSettings,oi as useConfiguration,si as useConfigurationValue,Co as useConnectors,Ro as useContainerQuery,Zs as useConversation,Yr as useCreateConversatonsMutation,va as useDeleteAccountMutation,sa as useDeleteConversationMutation,ta as useDeleteDocumentMutation,ca as useDeleteToolServerConnectionMutation,Qo as useElapsedSeconds,To as useEventEmitter,na as useExchangeOAuthCodeMutation,la as useGetBrandingQuery,Wa as useGetConfigQuery,ra as useGetConversationHistoryQuery,ma as useGetProfileQuery,oa as useGetToolServersQuery,Ko as useGuestBoot,bs as useGuestLogin,bo as useInfiniteScroll,Ho as useInheritedAuthBoot,Io as useIsDesktop,aa as useLazyGetConversationByIdQuery,Ao as useLocationInit,ws as useLogin,Rs as useLogout,Eo as useMediaQuery,Do as useMessageList,ti as useOAuthPopup,ni as usePayment,_o as usePaymentFlow,Oo as usePaymentResultDedup,Xa as useProtocol,As as useRefreshToken,qo as useResolvedChatIndicators,Jo as useSTTRecording,Es as useSignup,ia as useStartToolServerOAuthMutation,Uo as useThinkingMessage,zo as useTokenRefresh,Zr as useTranscribeAudioMutation,Lo as useTypewriter,_a as useUpdatePasswordMutation,ya as useUpdateProfileMutation,ea as useUploadDocumentMutation,wo as useUserLocation,Is as useVerifyEmail,ls as verifyEmailApi};
|
|
1
|
+
import{nanoid as e,formatProdErrorMessage as t,createSelector as n,createAction as r,createAsyncThunk as a,createSlice as s,prepareAutoBatched as o,isAnyOf as i,isFulfilled as c,isRejectedWithValue as u,combineReducers as d,isPlainObject as l,SHOULD_AUTOBATCH as p,isAllOf as f,isRejected as h,isPending as g,isAction as m,createNextState as y,isAsyncThunkAction as v,configureStore as _}from"@reduxjs/toolkit";import{useStore as T,useSelector as w,useDispatch as S,batch as b,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 x,useContext as P}from"react";import{getCustomHeaders as q,isDevMode as M,logger as D,showErrorToast as U,getTokenRefreshHandler as L,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,ensureFreshToken as J,isTokenAboutToExpire as X,readTokenExpiresAt as Y,generateUniqueId as Z,getApiUrl as ee,AUTH_PATHS as te,extractTokens as ne,isVerificationRequired as re,AUTH_HEADERS as ae,createTokenRefresher as se,INHERITED_AUTH_ERROR_REASONS as oe,isTokenExpired as ie,getStorageRef as ce,STORAGE_KEYS as ue,formatTimeRemaining as de,getTimeUntilExpiry as le,MODEL_CONTEXT_PART_TYPES as pe,INDICATOR_TIMER_ACTIONS as fe,setLastResponseTime as he,handleSharedEvent as ge,clearLastResponseTime as me,readDeviceToken as ye,showSuccessToast as ve,getPaymentProviderHint as _e,eventEmitter as Te,useStorage as we,useBranding as Se,hasWidgets as be,getTimeUntilRefresh as Ee,setTokenRefreshHandler as Ie,FEATURE_FLAGS as Ae,VOICE_TRANSPORTS as Re}from"@1interface/shared-core";import{fetchEventSource as Oe}from"@microsoft/fetch-event-source";var ke=Symbol.for("immer-nothing"),Ce=Symbol.for("immer-draftable"),Ne=Symbol.for("immer-state"),xe="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 Pe(e,...t){if("production"!==process.env.NODE_ENV){const n=xe[e],r=nt(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 qe=Object,Me=qe.getPrototypeOf,De="constructor",Ue="prototype",Le="configurable",Qe="enumerable",Fe="writable",je="value",$e=e=>!!e&&!!e[Ne];function ze(e){return!!e&&(Ge(e)||Ye(e)||!!e[Ce]||!!e[De]?.[Ce]||Ze(e)||et(e))}var Ke=qe[Ue][De].toString(),He=new WeakMap;function Ge(e){if(!e||!tt(e))return!1;const t=Me(e);if(null===t||t===qe[Ue])return!0;const n=qe.hasOwnProperty.call(t,De)&&t[De];if(n===Object)return!0;if(!nt(n))return!1;let r=He.get(n);return void 0===r&&(r=Function.toString.call(n),He.set(n,r)),r===Ke}function Be(e,t,n=!0){0===Ve(e)?(n?Reflect.ownKeys(e):qe.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ve(e){const t=e[Ne];return t?t.type_:Ye(e)?1:Ze(e)?2:et(e)?3:0}var We=(e,t,n=Ve(e))=>2===n?e.has(t):qe[Ue].hasOwnProperty.call(e,t),Je=(e,t,n=Ve(e))=>2===n?e.get(t):e[t],Xe=(e,t,n,r=Ve(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},Ye=Array.isArray,Ze=e=>e instanceof Map,et=e=>e instanceof Set,tt=e=>"object"==typeof e,nt=e=>"function"==typeof e,rt=e=>"boolean"==typeof e,at=e=>e.copy_||e.base_,st=e=>e.modified_?e.copy_:e.base_;function ot(e,t){if(Ze(e))return new Map(e);if(et(e))return new Set(e);if(Ye(e))return Array[Ue].slice.call(e);const n=Ge(e);if(!0===t||"class_only"===t&&!n){const t=qe.getOwnPropertyDescriptors(e);delete t[Ne];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const a=n[r],s=t[a];!1===s[Fe]&&(s[Fe]=!0,s[Le]=!0),(s.get||s.set)&&(t[a]={[Le]:!0,[Fe]:!0,[Qe]:s[Qe],[je]:e[a]})}return qe.create(Me(e),t)}{const t=Me(e);if(null!==t&&n)return{...e};const r=qe.create(t);return qe.assign(r,e)}}function it(e,t=!1){return ut(e)||$e(e)||!ze(e)||(Ve(e)>1&&qe.defineProperties(e,{set:ct,add:ct,clear:ct,delete:ct}),qe.freeze(e),t&&Be(e,(e,t)=>{it(t,!0)},!1)),e}var ct={[je]:function(){Pe(2)}};function ut(e){return null===e||!tt(e)||qe.isFrozen(e)}var dt="MapSet",lt="Patches",pt="ArrayMethods",ft={};function ht(e){const t=ft[e];return t||Pe(0,e),t}var gt,mt=e=>!!ft[e],yt=()=>gt;function vt(e,t){t&&(e.patchPlugin_=ht(lt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function _t(e){Tt(e),e.drafts_.forEach(St),e.drafts_=null}function Tt(e){e===gt&&(gt=e.parent_)}var wt=e=>gt={drafts_:[],parent_:gt,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:mt(dt)?ht(dt):void 0,arrayMethodsPlugin_:mt(pt)?ht(pt):void 0};function St(e){const t=e[Ne];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[Ne].modified_&&(_t(t),Pe(4)),ze(e)&&(e=Et(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Ne].base_,e,t)}else e=Et(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&it(t,n)}(t,e,!0),_t(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==ke?e:void 0}function Et(e,t){if(ut(t))return t;const n=t[Ne];if(!n)return Ct(t,e.handledSet_,e);if(!At(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);kt(n,e)}return n.copy_}function It(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var At=(e,t)=>e.scope_===t,Rt=[];function Ot(e,t,n,r){const a=at(e),s=e.type_;if(void 0!==r&&Je(a,r,s)===t)return void Xe(a,r,n,s);if(!e.draftLocations_){const t=e.draftLocations_=new Map;Be(a,(e,n)=>{if($e(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const o=e.draftLocations_.get(t)??Rt;for(const e of o)Xe(a,e,n,s)}function kt(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)}It(e)}}function Ct(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||$e(e)||t.has(e)||!ze(e)||ut(e)||(t.add(e),Be(e,(r,a)=>{if($e(a)){const t=a[Ne];if(At(t,n)){const n=st(t);Xe(e,r,n,e.type_),It(t)}}else ze(a)&&Ct(a,t,n)})),e}var Nt={get(e,t){if(t===Ne)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const a=at(e);if(!We(a,t,e.type_))return function(e,t,n){const r=qt(t,n);return r?je in r?r[je]:r.get?.call(e.draft_):void 0}(e,a,t);const s=a[t];if(e.finalized_||!ze(s))return s;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return s;if(s===Pt(e.base_,t)){Dt(e);const n=1===e.type_?+t:t,r=Ut(0,s,e,n);return e.copy_[n]=r}return s},has:(e,t)=>t in at(e),ownKeys:e=>Reflect.ownKeys(at(e)),set(e,t,n){const r=qt(at(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Pt(at(e),t),o=r?.[Ne];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((a=n)===(s=r)?0!==a||1/a==1/s:a!=a&&s!=s)&&(void 0!==n||We(e.base_,t,e.type_)))return!0;Dt(e),Mt(e)}var a,s;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if($e(n)){const a=n[Ne];At(a,r)&&a.callbacks_.push(function(){Dt(e);const r=st(a);Ot(e,n,r,t)})}else ze(n)&&e.callbacks_.push(function(){const a=at(e);3===e.type_?a.has(n)&&Ct(n,r.handledSet_,r):Je(a,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Ct(Je(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Dt(e),void 0!==Pt(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),Mt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=at(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Fe]:!0,[Le]:1!==e.type_||"length"!==t,[Qe]:r[Qe],[je]:n[t]}:r},defineProperty(){Pe(11)},getPrototypeOf:e=>Me(e.base_),setPrototypeOf(){Pe(12)}},xt={};for(let e in Nt){let t=Nt[e];xt[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Pt(e,t){const n=e[Ne];return(n?at(n):e)[t]}function qt(e,t){if(!(t in e))return;let n=Me(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Me(n)}}function Mt(e){e.modified_||(e.modified_=!0,e.parent_&&Mt(e.parent_))}function Dt(e){e.copy_||(e.assigned_=new Map,e.copy_=ot(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function Ut(e,t,n,r){const[a,s]=Ze(t)?ht(dt).proxyMap_(t,n):et(t)?ht(dt).proxySet_(t,n):function(e,t){const n=Ye(e),r={type_:n?1:0,scope_:t?t.scope_:yt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=r,s=Nt;n&&(a=[r],s=xt);const{revoke:o,proxy:i}=Proxy.revocable(a,s);return r.draft_=i,r.revoke_=o,[i,r]}(t,n);return(n?.scope_??yt()).drafts_.push(a),s.callbacks_=n?.callbacks_??[],s.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const a=t;if(!a||!At(a,r))return;r.mapSetPlugin_?.fixSetContents(a);const s=st(a);Ot(e,a.draft_??a,s,n),kt(a,r)})}(n,s,r):s.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(s);const{patchPlugin_:t}=e;s.modified_&&t&&t.generatePatches_(s,[],e)}),a}function Lt(e){return $e(e)||Pe(10,e),Qt(e)}function Qt(e){if(!ze(e)||ut(e))return e;const t=e[Ne];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=ot(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=ot(e,!0);return Be(n,(e,t)=>{Xe(n,e,Qt(t))},r),t&&(t.finalized_=!1),n}xt.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Pe(13),xt.set.call(this,e,t,void 0)},xt.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Pe(14),Nt.set.call(this,e[0],t,n,e[0])};var Ft=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(nt(e)&&!nt(t)){const n=t;t=e;const r=this;return function(e=n,...a){return r.produce(e,e=>t.call(this,e,...a))}}let r;if(nt(t)||Pe(6),void 0===n||nt(n)||Pe(7),ze(e)){const a=wt(this),s=Ut(0,e,void 0);let o=!0;try{r=t(s),o=!1}finally{o?_t(a):Tt(a)}return vt(a,n),bt(r,a)}if(!e||!tt(e)){if(r=t(e),void 0===r&&(r=e),r===ke&&(r=void 0),this.autoFreeze_&&it(r,!0),n){const t=[],a=[];ht(lt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:a}),n(t,a)}return r}Pe(1,e)},this.produceWithPatches=(e,t)=>{if(nt(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]},rt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),rt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),rt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ze(e)||Pe(8),$e(e)&&(e=Lt(e));const t=wt(this),n=Ut(0,e,void 0);return n[Ne].isManual_=!0,Tt(t),n}finishDraft(e,t){const n=e&&e[Ne];n&&n.isManual_||Pe(9);const{scope_:r}=n;return vt(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=ht(lt).applyPatches_;return $e(e)?r(e,t):this.produce(e,e=>r(e,t))}},jt=Ft.produceWithPatches.bind(Ft),$t=Ft.applyPatches.bind(Ft),zt=class extends Error{issues;constructor(e){super(e[0].message),this.name="SchemaError",this.issues=e}},Kt=(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})}}},Ht=(e,t,n)=>{const{memoize:r,memoizeOptions:a}=t,{inputSelectorResults:s,inputSelectorResultsCopy:o}=e,i=r(()=>({}),...a);if(i.apply(null,s)!==i.apply(null,o)){let e;try{throw new Error}catch(t){({stack:e}=t)}console.warn("An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",{arguments:n,firstInputs:s,secondInputs:o,stack:e})}},Gt={inputStabilityCheck:"once",identityFunctionCheck:"once"},Bt=e=>Array.isArray(e)?e:[e];function Vt(e,t){const n=[],{length:r}=e;for(let a=0;a<r;a++)n.push(e[a].apply(null,t));return n}var Wt="undefined"!=typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function Jt(){return{s:0,v:void 0,o:null,p:null}}function Xt(e,t={}){let n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let a,s=0;function o(){let t=n;const{length:o}=arguments;for(let e=0,n=o;e<n;e++){const n=arguments[e];if("function"==typeof n||"object"==typeof n&&null!==n){let e=t.o;null===e&&(t.o=e=new WeakMap);const r=e.get(n);void 0===r?(t=Jt(),e.set(n,t)):t=r}else{let e=t.p;null===e&&(t.p=e=new Map);const r=e.get(n);void 0===r?(t=Jt(),e.set(n,t)):t=r}}const i=t;let c;if(1===t.s)c=t.v;else if(c=e.apply(null,arguments),s++,r){const e=a?.deref?.()??a;null!=e&&r(e,c)&&(c=e,0!==s&&s--),a="object"==typeof c&&null!==c||"function"==typeof c?new Wt(c):c}return i.s=1,i.v=c,c}return o.clearCache=()=>{n={s:0,v:void 0,o:null,p:null},o.resetResultsCount()},o.resultsCount=()=>s,o.resetResultsCount=()=>{s=0},o}function Yt(e,...t){const n="function"==typeof e?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t,r=0,a=0,s={},o=e.pop();"object"==typeof o&&(s=o,o=e.pop()),function(e,t="expected a function, instead received "+typeof e){if("function"!=typeof e)throw new TypeError(t)}(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);const i={...n,...s},{memoize:c,memoizeOptions:u=[],argsMemoize:d=Xt,argsMemoizeOptions:l=[],devModeChecks:p={}}=i,f=Bt(u),h=Bt(l),g=function(e){const t=Array.isArray(e[0])?e[0]:e;return function(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(e=>"function"==typeof e)){const n=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${n}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}(e),m=c(function(){return r++,o.apply(null,arguments)},...f);let y=!0;const v=d(function(){a++;const e=Vt(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}={...Gt,...t};return{identityFunctionCheck:{shouldRun:"always"===n||"once"===n&&e,run:Kt},inputStabilityCheck:{shouldRun:"always"===r||"once"===r&&e,run:Ht}}})(y,p);if(n.shouldRun&&n.run(o,e,t),r.shouldRun){const t=Vt(g,arguments);r.run({inputSelectorResults:e,inputSelectorResultsCopy:t},{memoize:c,memoizeOptions:f},arguments)}y&&(y=!1)}return t},...h);return Object.assign(v,{resultFunc:o,memoizedResultFunc:m,dependencies:g,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>t,recomputations:()=>r,resetRecomputations:()=>{r=0},memoize:c,argsMemoize:d})};return Object.assign(r,{withTypes:()=>r}),r}var Zt=Yt(Xt),en=Object.assign((e,t=Zt)=>{!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:()=>en}),tn=(e=>(e.uninitialized="uninitialized",e.pending="pending",e.fulfilled="fulfilled",e.rejected="rejected",e))(tn||{}),nn="uninitialized",rn="pending",an="fulfilled",sn="rejected";function on(e){return{status:e,isUninitialized:e===nn,isLoading:e===rn,isSuccess:e===an,isError:e===sn}}var cn=l;function un(e,t){if(e===t||!(cn(e)&&cn(t)||Array.isArray(e)&&Array.isArray(t)))return t;const n=Object.keys(t),r=Object.keys(e);let a=n.length===r.length;const s=Array.isArray(t)?[]:{};for(const r of n)s[r]=un(e[r],t[r]),a&&(a=e[r]===s[r]);return a?e:s}function dn(e,t,n){return e.reduce((e,r,a)=>(t(r,a)&&e.push(n(r,a)),e),[]).flat()}function ln(e){return null!=e}function pn(e){return[...e?.values()??[]].filter(ln)}function fn(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var hn=()=>new Map,gn=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},mn=(...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},yn=(...e)=>fetch(...e),vn=e=>e.status>=200&&e.status<=299,_n=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function Tn(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 wn=class{constructor(e,t=void 0){this.value=e,this.meta=t}},Sn="__rtkq/",bn="online",En="offline",In="focus",An="focused",Rn="visibilitychange",On=r(`${Sn}${An}`),kn=r(`${Sn}un${An}`),Cn=r(`${Sn}${bn}`),Nn=r(`${Sn}${En}`),xn=!1,Pn="query",qn="mutation",Mn="infinitequery";function Dn(e){return e.type===Pn}function Un(e){return e.type===Mn}function Ln(e){return Dn(e)||Un(e)}function Qn(e,t,n,r,a,s){const o="function"==typeof e?e(t,n,r,a):e;return o?dn(o,ln,e=>s(Fn(e))):[]}function Fn(e){return"string"==typeof e?{type:e}:e}var jn=(e,t)=>e.endpointDefinitions[t],$n=Symbol("forceQueryFn"),zn=e=>"function"==typeof e[$n],Kn=class extends zt{constructor(e,t,n,r){super(e),this.value=t,this.schemaName=n,this._bqMeta=r}},Hn=(e,t)=>Array.isArray(e)?e.includes(t):!!e;async function Gn(e,t,n,r){const a=await e["~standard"].validate(t);if(a.issues)throw new Kn(a.issues,t,n,r);return a.value}function Bn(e){return e}var Vn=(e={})=>({...e,[p]:!0});function Wn(e,{pages:t,pageParams:n},r){const a=t.length-1;return e.getNextPageParam(t[a],t,n[a],n,r)}function Jn(e,{pages:t,pageParams:n},r){return e.getPreviousPageParam?.(t[0],t,n[0],n,r)}function Xn(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 Yn(e){return $e(e)?Lt(e):e}function Zn(e,t,n){const r=e[t];r&&n(r)}function er(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function tr(e,t,n){const r=e[er(t)];r&&n(r)}var nr={},rr=Symbol.for("RTKQ/skipToken"),ar={status:nn},sr=y(ar,()=>{}),or=y(ar,()=>{}),ir=WeakMap?new WeakMap:void 0,cr=({endpointName:e,queryArgs:t})=>{let n="";const r=ir?.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)&&ir?.set(t,e),n=e}return`${e}(${n})`};function ur(...n){return function(r){const a=Xt(e=>r.extractRehydrationInfo?.(e,{reducerPath:r.reducerPath??"api"})),s={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...r,extractRehydrationInfo:a,serializeQueryArgs(e){let t=cr;if("serializeQueryArgs"in e.endpointDefinition){const n=e.endpointDefinition.serializeQueryArgs;t=e=>{const t=n(e);return"string"==typeof t?t:cr({...e,queryArgs:t})}}else r.serializeQueryArgs&&(t=r.serializeQueryArgs);return t(e)},tagTypes:[...r.tagTypes||[]]},o={endpointDefinitions:{},batch(e){e()},apiUid:e(),extractRehydrationInfo:a,hasRehydrationInfo:Xt(e=>null!=a(e))},i={injectEndpoints:function(e){const n=e.endpoints({query:e=>({...e,type:Pn}),mutation:e=>({...e,type:qn}),infiniteQuery:e=>({...e,type:Mn})});for(const[r,a]of Object.entries(n))if(!0!==e.overrideExisting&&r in o.endpointDefinitions){if("throw"===e.overrideExisting)throw new Error("production"===process.env.NODE_ENV?t(39):`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``);"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&console.error(`called \`injectEndpoints\` to override already-existing endpointName ${r} without specifying \`overrideExisting: true\``)}else{if("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&Un(a)){const{infiniteQueryOptions:e}=a,{maxPages:n,getPreviousPageParam:s}=e;if("number"==typeof n){if(n<1)throw new Error("production"===process.env.NODE_ENV?t(40):`maxPages for endpoint '${r}' must be a number greater than 0`);if("function"!=typeof s)throw new Error("production"===process.env.NODE_ENV?t(41):`getPreviousPageParam for endpoint '${r}' must be a function if maxPages is used`)}}o.endpointDefinitions[r]=a;for(const e of c)e.injectEndpoint(r,a)}return i},enhanceEndpoints({addTagTypes:e,endpoints:t}){if(e)for(const t of e)s.tagTypes.includes(t)||s.tagTypes.push(t);if(t)for(const[e,n]of Object.entries(t))"function"==typeof n?n(jn(o,e)):Object.assign(jn(o,e)||{},n);return i}},c=n.map(e=>e.init(i,s,o));return i.injectEndpoints({endpoints:r.endpoints})}}function dr(e,...t){return Object.assign(e,...t)}var lr=({api:e,queryThunk:t,context:n,internalState:r,selectors:{selectQueryEntry:a,selectConfig:s},getRunningQueryThunk:o})=>{const{removeQueryResult:c,unsubscribeQueryResult:u,cacheEntriesUpserted:d}=e.internalActions,l=i(u.match,t.fulfilled,t.rejected,d.match);function p(e){const t=r.currentSubscriptions.get(e);return!!t&&t.size>0}const f={};function h(e){for(const t of e.values())t?.abort?.()}function g(e,t,n){const r=t.getState();for(const s of e){const e=a(r,s);e?.endpointName&&m(s,e.endpointName,t,n)}}function m(e,t,r,s){const i=jn(n,t),u=i?.keepUnusedDataFor??s.keepUnusedDataFor;if(u===1/0)return;const d=Math.max(0,Math.min(u,2147482.647));if(!p(e)){const t=f[e];t&&clearTimeout(t),f[e]=setTimeout(()=>{if(!p(e)){const t=a(r.getState(),e);if(t?.endpointName){const e=r.dispatch(o(t.endpointName,t.originalArgs));e?.abort()}r.dispatch(c({queryCacheKey:e}))}delete f[e]},1e3*d)}}return(t,a)=>{const o=a.getState(),i=s(o);if(l(t)){let e;if(d.match(t))e=t.payload.map(e=>e.queryDescription.queryCacheKey);else{const{queryCacheKey:n}=u.match(t)?t.payload:t.meta.arg;e=[n]}g(e,a,i)}if(e.util.resetApiState.match(t)){for(const[e,t]of Object.entries(f))t&&clearTimeout(t),delete f[e];h(r.runningQueries),h(r.runningMutations)}if(n.hasRehydrationInfo(t)){const{queries:e}=n.extractRehydrationInfo(t);g(Object.keys(e),a,i)}}},pr=new Error("Promise never resolved before cacheEntryRemoved."),fr=({api:e,reducerPath:t,context:n,queryThunk:r,mutationThunk:a,selectors:{selectQueryEntry:s}})=>{const o=v(r),i=v(a),u=c(r,a),d={},{removeQueryResult:l,removeMutationResult:p,cacheEntriesUpserted:f}=e.internalActions;function h(e,t,n){const r=d[e];r?.valueResolved&&(r.valueResolved({data:t,meta:n}),delete r.valueResolved)}function g(e){const t=d[e];t&&(delete d[e],t.cacheEntryRemoved())}function m(e){const{arg:t,requestId:n}=e.meta,{endpointName:r,originalArgs:a}=t;return[r,a,n]}function y(t,r,a,s,o){const i=jn(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 pr})]);p.catch(()=>{}),d[a]=u;const f=e.endpoints[t].select(Ln(i)?r:a),h=s.dispatch((e,t,n)=>n),g={...s,getCacheEntry:()=>f(s.getState()),requestId:o,extra:h,updateCachedData:Ln(i)?n=>s.dispatch(e.util.updateQueryData(t,r,n)):void 0,cacheDataLoaded:p,cacheEntryRemoved:l},m=c(r,g);Promise.resolve(m).catch(e=>{if(e!==pr)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)?er(e.payload):""}(n);function T(e,t,n,r){const a=s(v,t),o=s(c.getState(),t);!a&&o&&y(e,r,t,c,n)}if(r.pending.match(n)){const[e,t,r]=m(n);T(e,_,r,t)}else if(f.match(n))for(const{queryDescription:e,value:t}of n.payload){const{endpointName:r,originalArgs:a,queryCacheKey:s}=e;T(r,s,n.meta.requestId,a),h(s,t,{})}else if(a.pending.match(n)){if(c.getState()[t].mutations[_]){const[e,t,r]=m(n);y(e,t,_,c,r)}}else if(u(n))h(_,n.payload,n.meta.baseQueryMeta);else if(l.match(n)||p.match(n))g(_);else if(e.util.resetApiState.match(n))for(const e of Object.keys(d))g(e)}},hr=({api:e,context:{apiUid:t},reducerPath:n})=>(r,a)=>{e.util.resetApiState.match(r)&&a.dispatch(e.internalActions.middlewareRegistered(t)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV&&e.internalActions.middlewareRegistered.match(r)&&r.payload===t&&"conflict"===a.getState()[n]?.config?.middlewareRegistered&&console.warn(`There is a mismatch between slice and middleware for the reducerPath "${n}".\nYou can only have one api per reducer path, this will lead to crashes in various situations!${"api"===n?"\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!":""}`)},gr=({reducerPath:e,context:t,context:{endpointDefinitions:n},mutationThunk:r,queryThunk:a,api:s,assertTagType:o,refetchQuery:d,internalState:l})=>{const{removeQueryResult:p}=s.internalActions,f=i(c(r),u(r)),g=i(c(a,r),h(a,r));let m=[],y=0;function v(n,r){const a=r.getState(),o=a[e];if(m.push(...n),"delayed"===o.config.invalidationBehavior&&y>0)return;const i=m;if(m=[],0===i.length)return;const c=s.util.selectInvalidatedBy(a,i);t.batch(()=>{const e=Array.from(c.values());for(const{queryCacheKey:t}of e){const e=o.queries[t],n=fn(l.currentSubscriptions,t,hn);e&&(0===n.size?r.dispatch(p({queryCacheKey:t})):e.status!==nn&&r.dispatch(d(e)))}})}return(e,t)=>{(a.pending.match(e)||r.pending.match(e))&&y++,g(e)&&(y=Math.max(0,y-1)),f(e)?v(Xn(e,"invalidatesTags",n,o),t):g(e)?v([],t):s.util.invalidateTags.match(e)&&v(Qn(e.payload,void 0,void 0,void 0,void 0,o),t)}},mr=({reducerPath:e,queryThunk:t,api:n,refetchQuery:r,internalState:a})=>{const{currentPolls:s,currentSubscriptions:o}=a,i=new Set;let c=null;function u(e,t){i.add(e),c||(c=setTimeout(()=>{for(const e of i)l({queryCacheKey:e},t);i.clear(),c=null},0))}function d({queryCacheKey:t},n){const a=n.getState()[e],i=a.queries[t],c=o.get(t);if(!i||i.status===nn)return;const{lowestPollingInterval:u,skipPollingIfUnfocused:l}=f(c);if(!Number.isFinite(u))return;const p=s.get(t);p?.timeout&&(clearTimeout(p.timeout),p.timeout=void 0);const h=Date.now()+u;s.set(t,{nextPollTimestamp:h,pollingInterval:u,timeout:setTimeout(()=>{!a.config.focused&&l||n.dispatch(r(i)),d({queryCacheKey:t},n)},u)})}function l({queryCacheKey:t},n){const r=n.getState()[e].queries[t],a=o.get(t);if(!r||r.status===nn)return;const{lowestPollingInterval:i}=f(a);if("test"===process.env.NODE_ENV){const e=s.pollUpdateCounters??={};e[t]??=0,e[t]++}if(!Number.isFinite(i))return void p(t);const c=s.get(t),u=Date.now()+i;(!c||u<c.nextPollTimestamp)&&d({queryCacheKey:t},n)}function p(e){const t=s.get(e);t?.timeout&&clearTimeout(t.timeout),s.delete(e)}function f(e=new Map){let t=!1,n=Number.POSITIVE_INFINITY;for(const r of e.values())r.pollingInterval&&(n=Math.min(r.pollingInterval,n),t=r.skipPollingIfUnfocused||t);return{lowestPollingInterval:n,skipPollingIfUnfocused:t}}return(e,r)=>{(n.internalActions.updateSubscriptionOptions.match(e)||n.internalActions.unsubscribeQueryResult.match(e))&&u(e.payload.queryCacheKey,r),(t.pending.match(e)||t.rejected.match(e)&&e.meta.condition)&&u(e.meta.arg.queryCacheKey,r),(t.fulfilled.match(e)||t.rejected.match(e)&&!e.meta.condition)&&d(e.meta.arg,r),n.util.resetApiState.match(e)&&(function(){for(const e of s.keys())p(e)}(),c&&(clearTimeout(c),c=null),i.clear())}},yr=({api:e,context:t,queryThunk:n,mutationThunk:r})=>{const a=g(n,r),s=h(n,r),o=c(n,r),i={};return(n,r)=>{if(a(n)){const{requestId:a,arg:{endpointName:s,originalArgs:o}}=n.meta,c=jn(t,s),u=c?.onQueryStarted;if(u){const t={},n=new Promise((e,n)=>{t.resolve=e,t.reject=n});n.catch(()=>{}),i[a]=t;const d=e.endpoints[s].select(Ln(c)?o:a),l=r.dispatch((e,t,n)=>n),p={...r,getCacheEntry:()=>d(r.getState()),requestId:a,extra:l,updateCachedData:Ln(c)?t=>r.dispatch(e.util.updateQueryData(s,o,t)):void 0,queryFulfilled:n};u(o,p)}}else if(o(n)){const{requestId:e,baseQueryMeta:t}=n.meta;i[e]?.resolve({data:n.payload,meta:t}),delete i[e]}else if(s(n)){const{requestId:e,rejectedWithValue:t,baseQueryMeta:r}=n.meta;i[e]?.reject({error:n.payload??n.error,isUnhandledError:!t,meta:r}),delete i[e]}}};var vr=Symbol(),_r=({createSelector:l=n}={})=>({name:vr,init(n,{baseQuery:v,tagTypes:_,reducerPath:T,serializeQueryArgs:w,keepUnusedDataFor:S,refetchOnMountOrArgChange:b,refetchOnFocus:E,refetchOnReconnect:I,invalidationBehavior:A,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k},C){!function(){"production"!==process.env.NODE_ENV&&xe.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(!ze(e))return e;if(Ye(e))return e.map(r);if(Ze(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,r(t)]));if(et(e))return new Set(Array.from(e).map(r));const t=Object.create(Me(e));for(const n in e)t[n]=r(e[n]);return We(e,Ce)&&(t[Ce]=e[Ce]),t}function a(e){return $e(e)?r(e):e}var s;ft[s=lt]||(ft[s]={applyPatches_:function(a,s){return s.forEach(s=>{const{path:o,op:i}=s;let c=a;for(let e=0;e<o.length-1;e++){const t=Ve(c);let n=o[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),0!==t&&1!==t||"__proto__"!==n&&n!==De||Pe(19),nt(c)&&n===Ue&&Pe(19),c=Je(c,n),tt(c)||Pe(18,o.join("/"))}const u=Ve(c),d=r(s.value),l=o[o.length-1];switch(i){case e:switch(u){case 2:return c.set(l,d);case 3:Pe(16);default:return c[l]=d}case t:switch(u){case 1:return"-"===l?c.push(d):c.splice(l,0,d);case 2:return c.set(l,d);case 3:return c.add(d);default:return c[l]=d}case n:switch(u){case 1:return c.splice(l,1);case 2:return c.delete(l);case 3:return c.delete(s.value);default:return delete c[l]}default:Pe(17,i)}}),a},generatePatches_:function(r,s,o){if(r.scope_.processedForPatches_.has(r))return;r.scope_.processedForPatches_.add(r);const{patches_:i,inversePatches_:c}=o;switch(r.type_){case 0:case 2:return function(r,s,o,i){const{base_:c,copy_:u,type_:d}=r;Be(r.assigned_,(r,l)=>{const p=Je(c,r,d),f=Je(u,r,d),h=l?We(c,r)?e:t:n;if(p===f&&h===e)return;const g=s.concat(r);o.push(h===n?{op:h,path:g}:{op:h,path:g,value:a(f)}),i.push(h===t?{op:n,path:g}:h===n?{op:t,path:g,value:a(p)}:{op:e,path:g,value:a(p)})})}(r,s,i,c);case 1:return function(r,s,o,i){let{base_:c,assigned_:u}=r,d=r.copy_;d.length<c.length&&([c,d]=[d,c],[o,i]=[i,o]);const l=!0===r.allIndicesReassigned_;for(let t=0;t<c.length;t++){const n=d[t],r=c[t];if((l||u?.get(t.toString()))&&n!==r){const c=n?.[Ne];if(c&&c.modified_)continue;const u=s.concat([t]);o.push({op:e,path:u,value:a(n)}),i.push({op:e,path:u,value:a(r)})}}for(let e=c.length;e<d.length;e++){const n=s.concat([e]);o.push({op:t,path:n,value:a(d[e])})}for(let e=d.length-1;c.length<=e;--e){const t=s.concat([e]);i.push({op:n,path:t})}}(r,s,i,c);case 3:return function(e,r,a,s){let{base_:o,copy_:i}=e,c=0;o.forEach(e=>{if(!i.has(e)){const o=r.concat([c]);a.push({op:n,path:o,value:e}),s.unshift({op:t,path:o,value:e})}c++}),c=0,i.forEach(e=>{if(!o.has(e)){const o=r.concat([c]);a.push({op:t,path:o,value:e}),s.unshift({op:n,path:o,value:e})}c++})}(r,s,i,c)}},generateReplacementPatches_:function(t,n,r){const{patches_:a,inversePatches_:s}=r;a.push({op:e,path:[],value:n===ke?void 0:n}),s.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){const e=t.parent_.copy_??t.parent_.base_,a=(r=Je(e,t.key_),tt(r)?r?.[Ne]:null),s=Je(e,t.key_);if(void 0===s)return null;if(s!==t.draft_&&s!==t.base_&&s!==t.copy_)return null;if(null!=a&&a.base_!==t.base_)return null;const o=3===t.parent_.type_;let i;if(i=o?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(o&&e.size>i||We(e,i)))return null;n.push(i)}var r;if(t.parent_)return e(t.parent_,n);n.reverse();try{!function(e,t){let n=e;for(let e=0;e<t.length-1;e++)if(n=Je(n,t[e]),!tt(n)||null===n)throw new Error(`Cannot resolve path at '${t.join("/")}'`)}(t.copy_,n)}catch(e){return null}return n}})}();const N=e=>("undefined"!=typeof process&&"development"===process.env.NODE_ENV&&(_.includes(e.type)||console.error(`Tag type '${e.type}' was used, but not specified in \`tagTypes\`!`)),e);Object.assign(n,{reducerPath:T,endpoints:{},internalActions:{onOnline:Cn,onOffline:Nn,onFocus:On,onFocusLost:kn},util:{}});const x=function({serializeQueryArgs:e,reducerPath:t,createSelector:n}){const r=e=>sr,a=e=>or;return{buildQuerySelector:function(e,t){return u(e,t,s)},buildInfiniteQuerySelector:function(e,t){const{infiniteQueryOptions:n}=t;return u(e,t,function(e){const t={...e,...on(e.status)},{isLoading:r,isError:a,direction:s}=t,o="forward"===s,i="backward"===s;return{...t,hasNextPage:(c=n,u=t.data,l=t.originalArgs,!!u&&null!=Wn(c,u,l)),hasPreviousPage:d(n,t.data,t.originalArgs),isFetchingNextPage:r&&o,isFetchingPreviousPage:r&&i,isFetchNextPageError:a&&o,isFetchPreviousPageError:a&&i};var c,u,l})},buildMutationSelector:function(){return e=>{let t;return t="object"==typeof e?er(e)??rr:e,n(t===rr?a:e=>o(e)?.mutations?.[t]??or,s)}},selectInvalidatedBy:function(e,n){const r=e[t],a=new Set,s=dn(n,ln,Fn);for(const e of s){const t=r.provided.tags[e.type];if(!t)continue;let n=(void 0!==e.id?t[e.id]:Object.values(t).flat())??[];for(const e of n)a.add(e)}return Array.from(a.values()).flatMap(e=>{const t=r.queries[e];return t?{queryCacheKey:e,endpointName:t.endpointName,originalArgs:t.originalArgs}:[]})},selectCachedArgsForQuery:function(e,t){return dn(Object.values(i(e)),e=>e?.endpointName===t&&e.status!==nn,e=>e.originalArgs)},selectApiState:o,selectQueries:i,selectMutations:function(e){return o(e)?.mutations},selectQueryEntry:c,selectConfig:function(e){return o(e)?.config}};function s(e){return{...e,...on(e.status)}}function o(e){const n=e[t];if("production"!==process.env.NODE_ENV&&!n){if(o.triggered)return n;o.triggered=!0,console.error(`Error: No data found at \`state.${t}\`. Did you forget to add the reducer to the store?`)}return n}function i(e){return o(e)?.queries}function c(e,t){return i(e)?.[t]}function u(t,a,s){return o=>{if(o===rr)return n(r,s);const i=e({queryArgs:o,endpointDefinition:a,endpointName:t});return n(e=>c(e,i)??sr,s)}}function d(e,t,n){return!(!t||!e.getPreviousPageParam)&&null!=Jn(e,t,n)}}({serializeQueryArgs:w,reducerPath:T,createSelector:l}),{selectInvalidatedBy:P,selectCachedArgsForQuery:q,buildQuerySelector:M,buildInfiniteQuerySelector:D,buildMutationSelector:U}=x;dr(n.util,{selectInvalidatedBy:P,selectCachedArgsForQuery:q});const{queryThunk:L,infiniteQueryThunk:Q,mutationThunk:F,patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,buildMatchThunkActions:H}=function({reducerPath:e,baseQuery:t,context:{endpointDefinitions:n},serializeQueryArgs:r,api:s,assertTagType:o,selectors:i,onSchemaFailure:u,catchSchemaFailure:d,skipSchemaValidation:l}){function p(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}function m(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}const y=(e,t)=>e.query&&e[t]?e[t]:Bn,v=async(e,{signal:r,abort:a,rejectWithValue:s,fulfillWithValue:o,dispatch:c,getState:f,extra:h})=>{const g=n[e.endpointName],{metaSchema:v,skipSchemaValidation:T=l}=g,w=e.type===Pn;try{let S=Bn;const b={signal:r,abort:a,dispatch:c,getState:f,extra:h,endpoint:e.endpointName,type:e.type,forced:w?_(e,f()):void 0,queryCacheKey:w?e.queryCacheKey:void 0},E=w?e[$n]:void 0;let I;const A=async(t,n,r,a)=>{if(null==n&&t.pages.length)return Promise.resolve({data:t});const s={queryArg:e.originalArgs,pageParam:n},o=await R(s),i=a?p:m;return{data:{pages:i(t.pages,o.data,r),pageParams:i(t.pageParams,n,r)},meta:o.meta}};async function R(n){let r;const{extraOptions:a,argSchema:s,rawResponseSchema:o,responseSchema:i}=g;if(s&&!Hn(T,"arg")&&(n=await Gn(s,n,"argSchema",{})),E?r=E():g.query?(S=y(g,"transformResponse"),r=await t(g.query(n),b,a)):r=await g.queryFn(n,b,a,e=>t(e,b,a)),"undefined"!=typeof process&&"development"===process.env.NODE_ENV){const t=g.query?"`baseQuery`":"`queryFn`";let n;if(r){if("object"!=typeof r)n=`${t} did not return an object.`;else if(r.error&&r.data)n=`${t} returned an object containing both \`error\` and \`result\`.`;else if(void 0===r.error&&void 0===r.data)n=`${t} returned an object containing neither a valid \`error\` and \`result\`. At least one of them should not be \`undefined\``;else for(const e of Object.keys(r))if("error"!==e&&"data"!==e&&"meta"!==e){n=`The object returned by ${t} has the unknown property ${e}.`;break}}else n=`${t} did not return anything.`;n&&console.error(`Error encountered handling the endpoint ${e.endpointName}.\n ${n}\n It needs to return an object with either the shape \`{ data: <value> }\` or \`{ error: <value> }\` that may contain an optional \`meta\` property.\n Object returned was:`,r)}if(r.error)throw new wn(r.error,r.meta);let{data:c}=r;o&&!Hn(T,"rawResponse")&&(c=await Gn(o,r.data,"rawResponseSchema",r.meta));let u=await S(c,r.meta,n);return i&&!Hn(T,"response")&&(u=await Gn(i,u,"responseSchema",r.meta)),{...r,data:u}}if(w&&"infiniteQueryOptions"in g){const{infiniteQueryOptions:O}=g,{maxPages:k=1/0}=O,C=e.refetchCachedPages??O.refetchCachedPages??!0;let N;const x={pages:[],pageParams:[]},P=i.selectQueryEntry(f(),e.queryCacheKey)?.data,q=_(e,f())&&!e.direction||!P?x:P;if("direction"in e&&e.direction&&q.pages.length){const M="backward"===e.direction,D=(M?Jn:Wn)(O,q,e.originalArgs);N=await A(q,D,k,M)}else{const{initialPageParam:U=O.initialPageParam}=e,L=P?.pageParams??[],Q=L[0]??U,F=L.length;if(N=await A(q,Q,k),E&&(N={data:N.data.pages[0]}),C)for(let j=1;j<F;j++){const $=Wn(O,N.data,e.originalArgs);N=await A(N.data,$,k)}}I=N}else I=await R(e.originalArgs);return v&&!Hn(T,"meta")&&I.meta&&(I.meta=await Gn(v,I.meta,"metaSchema",I.meta)),o(I.data,Vn({fulfilledTimeStamp:Date.now(),baseQueryMeta:I.meta}))}catch(z){let K=z;if(K instanceof wn){let H=y(g,"transformErrorResponse");const{rawErrorResponseSchema:G,errorResponseSchema:B}=g;let{value:V,meta:W}=K;try{G&&!Hn(T,"rawErrorResponse")&&(V=await Gn(G,V,"rawErrorResponseSchema",W)),v&&!Hn(T,"meta")&&(W=await Gn(v,W,"metaSchema",W));let J=await H(V,W,e.originalArgs);return B&&!Hn(T,"errorResponse")&&(J=await Gn(B,J,"errorResponseSchema",W)),s(J,Vn({baseQueryMeta:W}))}catch(X){K=X}}try{if(K instanceof Kn){const Y={endpoint:e.endpointName,arg:e.originalArgs,type:e.type,queryCacheKey:w?e.queryCacheKey:void 0};g.onSchemaFailure?.(K,Y),u?.(K,Y);const{catchSchemaFailure:Z=d}=g;if(Z)return s(Z(K,Y),Vn({baseQueryMeta:K._bqMeta}))}}catch(ee){K=ee}throw"undefined"!=typeof process&&"production"!==process.env.NODE_ENV?console.error(`An unhandled error occurred processing a request for the endpoint "${e.endpointName}".\nIn the case of an unhandled error, no tags will be "provided" or "invalidated".`,K):console.error(K),K}};function _(e,t){const n=i.selectQueryEntry(t,e.queryCacheKey),r=i.selectConfig(t).refetchOnMountOrArgChange,a=n?.fulfilledTimeStamp,s=e.forceRefetch??(e.subscribe&&r);return!!s&&(!0===s||(Number(new Date)-Number(a))/1e3>=s)}const T=()=>a(`${e}/executeQuery`,v,{getPendingMeta({arg:e}){const t=n[e.endpointName];return Vn({startedTimeStamp:Date.now(),...Un(t)?{direction:e.direction}:{}})},condition(e,{getState:t}){const r=t(),a=i.selectQueryEntry(r,e.queryCacheKey),s=a?.fulfilledTimeStamp,o=e.originalArgs,c=a?.originalArgs,u=n[e.endpointName],d=e.direction;return!(!zn(e)&&("pending"===a?.status||!_(e,r)&&(!Dn(u)||!u?.forceRefetch?.({currentArg:o,previousArg:c,endpointState:a,state:r}))&&s&&!d))},dispatchConditionRejection:!0}),w=T(),S=T();function b(e){return t=>t?.meta?.arg?.endpointName===e}return{queryThunk:w,mutationThunk:a(`${e}/executeMutation`,v,{getPendingMeta:()=>Vn({startedTimeStamp:Date.now()})}),infiniteQueryThunk:S,prefetch:(e,t,n={})=>(r,a)=>{const o=(e=>"force"in e)(n)&&n.force,i=(e=>"ifOlderThan"in e)(n)&&n.ifOlderThan,c=(n=!0)=>s.endpoints[e].initiate(t,{forceRefetch:n,subscribe:!1}),u=s.endpoints[e].select(t)(a());if(o)r(c());else if(i){const e=u?.fulfilledTimeStamp;if(!e)return void r(c());(Number(new Date)-Number(new Date(e)))/1e3>=i&&r(c())}else r(c(!1))},updateQueryData:(e,t,n,r=!0)=>(a,o)=>{const i=s.endpoints[e].select(t)(o()),c={patches:[],inversePatches:[],undo:()=>a(s.util.patchQueryData(e,t,c.inversePatches,r))};if(i.status===nn)return c;let u;if("data"in i)if(ze(i.data)){const[e,t,r]=jt(i.data,n);c.patches.push(...t),c.inversePatches.push(...r),u=e}else u=n(i.data),c.patches.push({op:"replace",path:[],value:u}),c.inversePatches.push({op:"replace",path:[],value:i.data});return 0===c.patches.length||a(s.util.patchQueryData(e,t,c.patches,r)),c},upsertQueryData:(e,t,n)=>r=>r(s.endpoints[e].initiate(t,{subscribe:!1,forceRefetch:!0,[$n]:()=>({data:n})})),patchQueryData:(e,t,a,i)=>(c,u)=>{const d=n[e],l=r({queryArgs:t,endpointDefinition:d,endpointName:e});if(c(s.internalActions.queryResultPatched({queryCacheKey:l,patches:a})),!i)return;const p=s.endpoints[e].select(t)(u()),f=Qn(d.providesTags,p.data,void 0,t,{},o);c(s.internalActions.updateProvidedBy([{queryCacheKey:l,providedTags:f}]))},buildMatchThunkActions:function(e,t){return{matchPending:f(g(e),b(t)),matchFulfilled:f(c(e),b(t)),matchRejected:f(h(e),b(t))}}}}({baseQuery:v,reducerPath:T,context:C,api:n,serializeQueryArgs:w,assertTagType:N,selectors:x,onSchemaFailure:R,catchSchemaFailure:O,skipSchemaValidation:k}),{reducer:G,actions:B}=function({reducerPath:t,queryThunk:n,mutationThunk:a,serializeQueryArgs:l,context:{endpointDefinitions:f,apiUid:h,extractRehydrationInfo:g,hasRehydrationInfo:m},assertTagType:v,config:_}){const T=r(`${t}/resetApiState`);function w(e,t,n,r){e[t.queryCacheKey]??={status:nn,endpointName:t.endpointName},Zn(e,t.queryCacheKey,e=>{e.status=rn,e.requestId=n&&e.requestId?e.requestId:r.requestId,void 0!==t.originalArgs&&(e.originalArgs=t.originalArgs),e.startedTimeStamp=r.startedTimeStamp,Un(f[r.arg.endpointName])&&"direction"in t&&(e.direction=t.direction)})}function S(e,t,n,r){Zn(e,t.arg.queryCacheKey,e=>{if(e.requestId!==t.requestId&&!r)return;const{merge:a}=f[t.arg.endpointName];if(e.status=an,a)if(void 0!==e.data){const{fulfilledTimeStamp:r,arg:s,baseQueryMeta:o,requestId:i}=t;let c=y(e.data,e=>a(e,n,{arg:s.originalArgs,baseQueryMeta:o,fulfilledTimeStamp:r,requestId:i}));e.data=c}else e.data=n;else e.data=f[t.arg.endpointName].structuralSharing??1?un($e(e.data)?($e(s=e.data)||Pe(15,s),s[Ne].base_):e.data,n):n;var s;delete e.error,e.fulfilledTimeStamp=t.fulfilledTimeStamp})}const b=s({name:`${t}/queries`,initialState:nr,reducers:{removeQueryResult:{reducer(e,{payload:{queryCacheKey:t}}){delete e[t]},prepare:o()},cacheEntriesUpserted:{reducer(e,t){for(const n of t.payload){const{queryDescription:r,value:a}=n;w(e,r,!0,{arg:r,requestId:t.meta.requestId,startedTimeStamp:t.meta.timestamp}),S(e,{arg:r,requestId:t.meta.requestId,fulfilledTimeStamp:t.meta.timestamp,baseQueryMeta:{}},a,!0)}},prepare:t=>({payload:t.map(e=>{const{endpointName:t,arg:n,value:r}=e;return{queryDescription:{type:Pn,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}}){Zn(e,t,e=>{e.data=$t(e.data,n.concat())})},prepare:o()}},extraReducers(e){e.addCase(n.pending,(e,{meta:t,meta:{arg:n}})=>{w(e,n,zn(n),t)}).addCase(n.fulfilled,(e,{meta:t,payload:n})=>{S(e,t,n,zn(t.arg))}).addCase(n.rejected,(e,{meta:{condition:t,arg:n,requestId:r},error:a,payload:s})=>{Zn(e,n.queryCacheKey,e=>{if(t);else{if(e.requestId!==r)return;e.status=sn,e.error=s??a}})}).addMatcher(m,(e,t)=>{const{queries:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==an&&r?.status!==sn||(e[t]=r)})}}),E=s({name:`${t}/mutations`,initialState:nr,reducers:{removeMutationResult:{reducer(e,{payload:t}){const n=er(t);n in e&&delete e[n]},prepare:o()}},extraReducers(e){e.addCase(a.pending,(e,{meta:t,meta:{requestId:n,arg:r,startedTimeStamp:a}})=>{r.track&&(e[er(t)]={requestId:n,status:rn,endpointName:r.endpointName,startedTimeStamp:a})}).addCase(a.fulfilled,(e,{payload:t,meta:n})=>{n.arg.track&&tr(e,n,e=>{e.requestId===n.requestId&&(e.status=an,e.data=t,e.fulfilledTimeStamp=n.fulfilledTimeStamp)})}).addCase(a.rejected,(e,{payload:t,error:n,meta:r})=>{r.arg.track&&tr(e,r,e=>{e.requestId===r.requestId&&(e.status=sn,e.error=t??n)})}).addMatcher(m,(e,t)=>{const{mutations:n}=g(t);for(const[t,r]of Object.entries(n))r?.status!==an&&r?.status!==sn||t===r?.requestId||(e[t]=r)})}}),I=s({name:`${t}/invalidation`,initialState:{tags:{},keys:{}},reducers:{updateProvidedBy:{reducer(e,t){for(const{queryCacheKey:n,providedTags:r}of t.payload){A(e,n);for(const{type:t,id:a}of r){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];r.includes(n)||r.push(n)}e.keys[n]=r}},prepare:o()}},extraReducers(e){e.addCase(b.actions.removeQueryResult,(e,{payload:{queryCacheKey:t}})=>{A(e,t)}).addMatcher(m,(e,t)=>{const{provided:n}=g(t);for(const[t,r]of Object.entries(n.tags??{}))for(const[a,s]of Object.entries(r)){const r=(e.tags[t]??={})[a||"__internal_without_id"]??=[];for(const t of s)r.includes(t)||r.push(t),e.keys[t]=n.keys[t]}}).addMatcher(i(c(n),u(n)),(e,t)=>{R(e,[t])}).addMatcher(b.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=Yn(e.keys[t]??[]);for(const r of n){const n=r.type,a=r.id??"__internal_without_id",s=e.tags[n]?.[a];s&&(e.tags[n][a]=Yn(s).filter(e=>e!==t))}delete e.keys[t]}function R(e,t){const n=t.map(e=>{const t=Xn(e,"providesTags",f,v),{queryCacheKey:n}=e.meta.arg;return{queryCacheKey:n,providedTags:t}});I.caseReducers.updateProvidedBy(e,I.actions.updateProvidedBy(n))}const O=s({name:`${t}/subscriptions`,initialState:nr,reducers:{updateSubscriptionOptions(e,t){},unsubscribeQueryResult(e,t){},internal_getRTKQSubscriptions(){}}}),k=s({name:`${t}/internalSubscriptions`,initialState:nr,reducers:{subscriptionsUpdated:{reducer:(e,t)=>$t(e,t.payload),prepare:o()}}}),C=s({name:`${t}/config`,initialState:{online:"undefined"==typeof navigator||void 0===navigator.onLine||navigator.onLine,focused:"undefined"==typeof document||"hidden"!==document.visibilityState,middlewareRegistered:!1,..._},reducers:{middlewareRegistered(e,{payload:t}){e.middlewareRegistered="conflict"!==e.middlewareRegistered&&h===t||"conflict"}},extraReducers:e=>{e.addCase(Cn,e=>{e.online=!0}).addCase(Nn,e=>{e.online=!1}).addCase(On,e=>{e.focused=!0}).addCase(kn,e=>{e.focused=!1}).addMatcher(m,e=>({...e}))}}),N=d({queries:b.reducer,mutations:E.reducer,provided:I.reducer,subscriptions:k.reducer,config:C.reducer});return{reducer:(e,t)=>N(T.match(t)?void 0:e,t),actions:{...C.actions,...b.actions,...O.actions,...k.actions,...E.actions,...I.actions,resetApiState:T}}}({context:C,queryThunk:L,mutationThunk:F,serializeQueryArgs:w,reducerPath:T,assertTagType:N,config:{refetchOnFocus:E,refetchOnReconnect:I,refetchOnMountOrArgChange:b,keepUnusedDataFor:S,reducerPath:T,invalidationBehavior:A}});dr(n.util,{patchQueryData:j,updateQueryData:$,upsertQueryData:z,prefetch:K,resetApiState:B.resetApiState,upsertQueryEntries:B.cacheEntriesUpserted}),dr(n.internalActions,B);const V=new WeakMap,W=e=>fn(V,e,()=>({currentSubscriptions:new Map,currentPolls:new Map,runningQueries:new Map,runningMutations:new Map})),{buildInitiateQuery:J,buildInitiateInfiniteQuery:X,buildInitiateMutation:Y,getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueriesThunk:te,getRunningQueryThunk:ne}=function({serializeQueryArgs:e,queryThunk:n,infiniteQueryThunk:r,mutationThunk:a,api:s,context:o,getInternalState:i}){const c=e=>i(e)?.runningQueries,u=e=>i(e)?.runningMutations,{unsubscribeQueryResult:d,removeMutationResult:l,updateSubscriptionOptions:p}=s.internalActions;return{buildInitiateQuery:function(e,t){return h(e,t)},buildInitiateInfiniteQuery:function(e,t){return h(e,t)},buildInitiateMutation:function(e){return(t,{track:n=!0,fixedCacheKey:r}={})=>(s,o)=>{const i=a({type:"mutation",endpointName:e,originalArgs:t,track:n,fixedCacheKey:r}),c=s(i);f(s);const{requestId:d,abort:p,unwrap:h}=c,g=c.unwrap().then(e=>({data:e})).catch(e=>({error:e})),m=Object.assign(g,{arg:c.arg,requestId:d,abort:p,unwrap:h,reset:()=>{s(l({requestId:d,fixedCacheKey:r}))}}),y=u(s);return y.set(d,m),m.then(()=>{y.delete(d)}),r&&(y.set(r,m),m.then(()=>{y.get(r)===m&&y.delete(r)})),m}},getRunningQueryThunk:function(t,n){return r=>{const a=jn(o,t),s=e({queryArgs:n,endpointDefinition:a,endpointName:t});return c(r)?.get(s)}},getRunningMutationThunk:function(e,t){return e=>u(e)?.get(t)},getRunningQueriesThunk:function(){return e=>pn(c(e))},getRunningMutationsThunk:function(){return e=>pn(u(e))}};function f(e){if("production"!==process.env.NODE_ENV){if(f.triggered)return;const n=e(s.internalActions.internal_getRTKQSubscriptions());if(f.triggered=!0,"object"!=typeof n||"string"==typeof n?.type)throw new Error("production"===process.env.NODE_ENV?t(34):`Warning: Middleware for RTK-Query API at reducerPath "${s.reducerPath}" has not been added to the store.\nYou must add the middleware for RTK-Query to function correctly!`)}}function h(t,a){const o=(i,{subscribe:u=!0,forceRefetch:l,subscriptionOptions:h,[$n]:g,...m}={})=>(y,v)=>{const _=e({queryArgs:i,endpointDefinition:a,endpointName:t});let T;const w={...m,type:Pn,subscribe:u,forceRefetch:l,subscriptionOptions:h,endpointName:t,originalArgs:i,queryCacheKey:_,[$n]:g};if(Dn(a))T=n(w);else{const{direction:e,initialPageParam:t,refetchCachedPages:n}=m;T=r({...w,direction:e,initialPageParam:t,refetchCachedPages:n})}const S=s.endpoints[t].select(i),b=y(T),E=S(v());f(y);const{requestId:I,abort:A}=b,R=E.requestId!==I,O=c(y)?.get(_),k=()=>S(v()),C=Object.assign(g?b.then(k):R&&!O?Promise.resolve(E):Promise.all([O,b]).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:L,mutationThunk:F,infiniteQueryThunk:Q,api:n,serializeQueryArgs:w,context:C,getInternalState:W});dr(n.util,{getRunningMutationThunk:Z,getRunningMutationsThunk:ee,getRunningQueryThunk:ne,getRunningQueriesThunk:te});const{middleware:re,actions:ae}=function(e){const{reducerPath:t,api:n,context:a,getInternalState:s}=e,{apiUid:o}=a,i={invalidateTags:r(`${t}/invalidateTags`)},c=e=>e.type.startsWith(`${t}/`),u=[hr,lr,gr,mr,fr,yr];return{middleware:r=>{let i=!1;const l=s(r.dispatch),p={...e,internalState:l,refetchQuery:d,isThisApiSliceAction:c,mwApi:r},f=u.map(e=>e(p)),h=(({api:e,queryThunk:t,internalState:n})=>{const r=`${e.reducerPath}/subscriptions`;let a=null,s=null;const{updateSubscriptionOptions:o,unsubscribeQueryResult:i}=e.internalActions,c=()=>n.currentSubscriptions,u={getSubscriptions:c,getSubscriptionCount:e=>{const t=c().get(e);return t?.size??0},isRequestSubscribed:(e,t)=>{const n=c();return!!n?.get(e)?.get(t)}};function d(e){return JSON.parse(JSON.stringify(Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)]))))}return(c,l)=>{if(a||(a=d(n.currentSubscriptions)),e.util.resetApiState.match(c))return a={},n.currentSubscriptions.clear(),s=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(c))return[!1,u];const p=((n,r)=>{if(o.match(r)){const{queryCacheKey:e,requestId:t,options:a}=r.payload,s=n.get(e);return s?.has(t)&&s.set(t,a),!0}if(i.match(r)){const{queryCacheKey:e,requestId:t}=r.payload,a=n.get(e);return a&&a.delete(t),!0}if(e.internalActions.removeQueryResult.match(r))return n.delete(r.payload.queryCacheKey),!0;if(t.pending.match(r)){const{meta:{arg:e,requestId:t}}=r,a=fn(n,e.queryCacheKey,hn);return e.subscribe&&a.set(t,e.subscriptionOptions??a.get(t)??{}),!0}let a=!1;if(t.rejected.match(r)){const{meta:{condition:e,arg:t,requestId:s}}=r;if(e&&t.subscribe){const e=fn(n,t.queryCacheKey,hn);e.set(s,t.subscriptionOptions??e.get(s)??{}),a=!0}}return a})(n.currentSubscriptions,c);let f=!0;if("test"===process.env.NODE_ENV&&"string"==typeof c.type&&c.type===`${e.reducerPath}/getPolling`)return[!1,n.currentPolls];if(p){s||(s=setTimeout(()=>{const t=d(n.currentSubscriptions),[,r]=jt(a,()=>t);l.next(e.internalActions.subscriptionsUpdated(r)),a=t,s=null},500));const o="string"==typeof c.type&&!!c.type.startsWith(r),i=t.rejected.match(c)&&c.meta.condition&&!!c.meta.arg.subscribe;f=!o&&!i}return[f,!1]}})(p),g=(({reducerPath:e,context:t,api:n,refetchQuery:r,internalState:a})=>{const{removeQueryResult:s}=n.internalActions;function o(n,o){const i=n.getState()[e],c=i.queries,u=a.currentSubscriptions;t.batch(()=>{for(const e of u.keys()){const t=c[e],a=u.get(e);if(!a||!t)continue;const d=[...a.values()];(d.some(e=>!0===e[o])||d.every(e=>void 0===e[o])&&i.config[o])&&(0===a.size?n.dispatch(s({queryCacheKey:e})):t.status!==nn&&n.dispatch(r(t)))}})}return(e,t)=>{On.match(e)&&o(t,"refetchOnFocus"),Cn.match(e)&&o(t,"refetchOnReconnect")}})(p);return e=>s=>{if(!m(s))return e(s);i||(i=!0,r.dispatch(n.internalActions.middlewareRegistered(o)));const u={...r,next:e},d=r.getState(),[l,p]=h(s,u,d);let y;if(y=l?e(s):p,r.getState()[t]&&(g(s,u,d),c(s)||a.hasRehydrationInfo(s)))for(const e of f)e(s,u,d);return y}},actions:i};function d(t){return e.api.endpoints[t.endpointName].initiate(t.originalArgs,{subscribe:!1,forceRefetch:!0})}}({reducerPath:T,context:C,queryThunk:L,mutationThunk:F,infiniteQueryThunk:Q,api:n,assertTagType:N,selectors:x,getRunningQueryThunk:ne,getInternalState:W});return dr(n.util,ae),dr(n,{reducer:G,middleware:re}),{name:vr,injectEndpoint(e,t){const r=n,a=r.endpoints[e]??={};Dn(t)&&dr(a,{name:e,select:M(e,t),initiate:J(e,t)},H(L,e)),t.type===qn&&dr(a,{name:e,select:U(),initiate:Y(e)},H(F,e)),Un(t)&&dr(a,{name:e,select:D(e,t),initiate:X(e,t)},H(L,e))}}}});function Tr(e){return e.replace(e[0],e[0].toUpperCase())}function wr(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)}_r();var Er=Symbol();function Ir(e){const t=C(e),n=R(()=>un(t.current,e),[e]);return k(()=>{t.current!==n&&(t.current=n)},[n]),n}function Ar(e){const t=C(e);return k(()=>{E(t.current,e)||(t.current=e)},[e]),E(t.current,e)?t.current:e}var Rr=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),Or=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),kr=(()=>Rr||Or?N:k)(),Cr=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:void 0===e.data,status:tn.pending}:e;function Nr(e,...t){const n={};return t.forEach(t=>{n[t]=e[t]}),n}var xr=["data","status","isLoading","isSuccess","isError","error"],Pr=Symbol(),qr=ur(_r(),(({batch:e=b,hooks:n={useDispatch:S,useSelector:w,useStore:T},createSelector:r=Zt,unstable__sideEffectsInRender:a=!1,...s}={})=>{if("production"!==process.env.NODE_ENV){const e=["useDispatch","useSelector","useStore"];let r=!1;for(const a of e)if(wr(s)>0&&(s[a]&&(r||(console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`"),r=!0)),n[a]=s[a]),"function"!=typeof n[a])throw new Error("production"===process.env.NODE_ENV?t(36):`When using custom hooks for context, all ${e.length} hooks need to be provided: ${e.join(", ")}.\nHook ${a} was either not provided or not a function.`)}return{name:Pr,init(s,{serializeQueryArgs:o},i){const c=s,{buildQueryHooks:u,buildInfiniteQueryHooks:d,buildMutationHook:l,usePrefetch:p}=function({api:e,moduleOptions:{batch:n,hooks:{useDispatch:r,useSelector:a,useStore:s},unstable__sideEffectsInRender:o,createSelector:i},serializeQueryArgs:c,context:u}){const d=o?e=>e():k,l=e=>e.current?.unsubscribe?.(),p=u.endpointDefinitions;return{buildQueryHooks:function(a){const s=(e,n={})=>{const[r]=g(a,e,n);return y(r),R(()=>({refetch:()=>function(e){if(!e.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return e.current.refetch()}(r)}),[r])},o=({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o=0,skipPollingIfUnfocused:i=!1}={})=>{const{initiate:c}=e.endpoints[a],u=r(),[p,f]=O(Er),h=C(void 0),g=Ar({refetchOnReconnect:t,refetchOnFocus:s,pollingInterval:o,skipPollingIfUnfocused:i});d(()=>{const e=h.current?.subscriptionOptions;g!==e&&h.current?.updateSubscriptionOptions(g)},[g]);const m=C(g);d(()=>{m.current=g},[g]);const y=I(function(e,t=!1){let r;return n(()=>{l(h),h.current=r=u(c(e,{subscriptionOptions:m.current,forceRefetch:!t})),f(e)}),r},[u,c]),v=I(()=>{h.current?.queryCacheKey&&u(e.internalActions.removeQueryResult({queryCacheKey:h.current?.queryCacheKey}))},[u]);return k(()=>()=>{l(h)},[]),k(()=>{p===Er||h.current||y(p,!0)},[p,y]),R(()=>[y,p,{reset:v}],[y,p,v])},i=m(a,f);return{useQueryState:i,useQuerySubscription:s,useLazyQuerySubscription:o,useLazyQuery(e){const[t,n,{reset:r}]=o(e),a=i(n,{...e,skip:n===Er}),s=R(()=>({lastArg:n}),[n]);return R(()=>[t,{...a,reset:r},s],[t,a,r,s])},useQuery(e,t){const n=s(e,t),r=i(e,{selectFromResult:e===rr||t?.skip?void 0:Cr,...t}),a=Nr(r,...xr);return A(a),R(()=>({...r,...n}),[r,n])}}},buildInfiniteQueryHooks:function(e){const r=(r,a={})=>{const[s,o,i,c]=g(e,r,a),u=C(c);d(()=>{u.current=c},[c]);const p=Ar(a.refetchCachedPages),f=I(function(e,t){let r;return n(()=>{l(s),s.current=r=o(i(e,{subscriptionOptions:u.current,direction:t}))}),r},[s,o,i]);y(s);const h=Ir(a.skip?rr:r),m=I(e=>{if(!s.current)throw new Error("production"===process.env.NODE_ENV?t(38):"Cannot refetch a query that has not been started yet.");return s.current.refetch({refetchCachedPages:e?.refetchCachedPages??p})},[s,p]);return R(()=>({trigger:f,refetch:m,fetchNextPage:()=>f(h,"forward"),fetchPreviousPage:()=>f(h,"backward")}),[m,f,h])},a=m(e,h);return{useInfiniteQueryState:a,useInfiniteQuerySubscription:r,useInfiniteQuery(e,t){const{refetch:n,fetchNextPage:s,fetchPreviousPage:o}=r(e,t),i=a(e,{selectFromResult:e===rr||t?.skip?void 0:Cr,...t}),c=Nr(i,...xr,"hasNextPage","hasPreviousPage");return A(c),R(()=>({...i,fetchNextPage:s,fetchPreviousPage:o,refetch:n}),[i,s,o,n])}}},buildMutationHook:function(t){return({selectFromResult:s,fixedCacheKey:o}={})=>{const{select:c,initiate:u}=e.endpoints[t],d=r(),[l,p]=O();k(()=>()=>{l?.arg.fixedCacheKey||l?.reset()},[l]);const f=I(function(e){const t=d(u(e,{fixedCacheKey:o}));return p(t),t},[d,u,o]),{requestId:h}=l||{},g=R(()=>c({fixedCacheKey:o,requestId:l?.requestId}),[o,l,c]),m=R(()=>s?i([g],s):g,[s,g]),y=a(m,E),v=null==o?l?.arg.originalArgs:void 0,_=I(()=>{n(()=>{l&&p(void 0),o&&d(e.internalActions.removeMutationResult({requestId:h,fixedCacheKey:o}))})},[d,o,l,h]),T=Nr(y,...xr,"endpointName");A(T);const w=R(()=>({...y,originalArgs:v,reset:_}),[y,v,_]);return R(()=>[f,w],[f,w])}},usePrefetch:function(t,n){const a=r(),s=Ar(n);return I((n,r)=>a(e.util.prefetch(t,n,{...s,...r})),[t,a,s])}};function f(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==rr&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||a&&(s&&!t?.isError||e.isUninitialized);return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function h(e,t,n){if(t?.endpointName&&e.isUninitialized){const{endpointName:e}=t,r=p[e];n!==rr&&c({queryArgs:t.originalArgs,endpointDefinition:r,endpointName:e})===c({queryArgs:n,endpointDefinition:r,endpointName:e})&&(t=void 0)}let r=e.isSuccess?e.data:t?.data;void 0===r&&(r=e.data);const a=void 0!==r,s=e.isLoading,o=(!t||t.isLoading||t.isUninitialized)&&!a&&s,i=e.isSuccess||s&&a;return{...e,data:r,currentData:e.data,isFetching:s,isLoading:o,isSuccess:i}}function g(n,a,{refetchOnReconnect:s,refetchOnFocus:o,refetchOnMountOrArgChange:i,skip:c=!1,pollingInterval:u=0,skipPollingIfUnfocused:l=!1,...f}={}){const{initiate:h}=e.endpoints[n],g=r(),m=C(void 0);if(!m.current){const n=g(e.internalActions.internal_getRTKQSubscriptions());if("production"!==process.env.NODE_ENV&&("object"!=typeof n||"string"==typeof n?.type))throw new Error("production"===process.env.NODE_ENV?t(37):`Warning: Middleware for RTK-Query API at reducerPath "${e.reducerPath}" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);m.current=n}const y=Ir(c?rr:a),v=Ar({refetchOnReconnect:s,refetchOnFocus:o,pollingInterval:u,skipPollingIfUnfocused:l}),_=Ar(f.initialPageParam),T=Ar(f.refetchCachedPages),w=C(void 0);let{queryCacheKey:S,requestId:b}=w.current||{},E=!1;S&&b&&(E=m.current.isRequestSubscribed(S,b));const I=!E&&void 0!==w.current;return d(()=>{I&&(w.current=void 0)},[I]),d(()=>{const e=w.current;if("undefined"!=typeof process&&process,y===rr)return e?.unsubscribe(),void(w.current=void 0);const t=w.current?.subscriptionOptions;if(e&&e.arg===y)v!==t&&e.updateSubscriptionOptions(v);else{e?.unsubscribe();const t=g(h(y,{subscriptionOptions:v,forceRefetch:i,...Sr(p[n])?{initialPageParam:_,refetchCachedPages:T}:{}}));w.current=t}},[g,h,i,y,v,I,_,T,n]),[w,g,h,v]}function m(t,n){return(r,{skip:o=!1,selectFromResult:c}={})=>{const{select:u}=e.endpoints[t],d=Ir(o?rr:r),l=C(void 0),p=R(()=>i([u(d),(e,t)=>t,e=>d],n,{memoizeOptions:{resultEqualityCheck:E}}),[u,d]),f=R(()=>c?i([p],c,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,c]),h=a(e=>f(e,l.current),E),g=s(),m=p(g.getState(),l.current);return kr(()=>{l.current=m},[m]),h}}function y(e){k(()=>()=>{l(e),e.current=void 0},[e])}}({api:s,moduleOptions:{batch:e,hooks:n,unstable__sideEffectsInRender:a,createSelector:r},serializeQueryArgs:o,context:i});return br(c,{usePrefetch:p}),br(i,{batch:e}),{injectEndpoint(e,t){if("query"===t.type){const{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}=u(e);br(c.endpoints[e],{useQuery:t,useLazyQuery:n,useLazyQuerySubscription:r,useQueryState:a,useQuerySubscription:o}),s[`use${Tr(e)}Query`]=t,s[`useLazy${Tr(e)}Query`]=n}if("mutation"===t.type){const t=l(e);br(c.endpoints[e],{useMutation:t}),s[`use${Tr(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}),s[`use${Tr(e)}InfiniteQuery`]=t}}}}}})());let Mr=0;function Dr(e){return null!==e&&"object"==typeof e}function Ur(e){return Dr(e)?"string"==typeof e.error_message?e.error_message:"string"==typeof e.message?e.message:null:null}const Lr="Something went wrong. Please try again.";function Qr(e){const t=e?.status;return!("number"==typeof t&&t>=400&&t<500)}function Fr(e,t){return Qr(e)?Lr:function(e){if(!Dr(e))return null;if("string"==typeof e.message){try{const t=Ur(JSON.parse(e.message));if(t)return t}catch{}return e.message}return Ur(e.data)??Ur(e.data?.data)}(e)??t??"An unexpected error occurred."}function jr(e){if(!Dr(e))return null;const t=e.data;return Dr(t)&&"string"==typeof t.error_message?t.error_message:"string"==typeof e.message?e.message:null}function $r(e,t){if(!Dr(e))return t.generic;if(Qr(e))return t.generic;const n=function(e){if("string"!=typeof e)return null;try{return jr(JSON.parse(e))}catch{return null}}(e.message);return n||(jr(e.data)||(401===e.status?t.invalidCode:422===e.status?t.validation:t.generic))}function zr(e){if(!Dr(e))return null;const t=e.data;if(Dr(t)){const e=t.data;if(Dr(e)&&"string"==typeof e.error_group)return e.error_group;if("string"==typeof t.error_group)return t.error_group}return null}const Kr={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 Hr=null;const Gr=function(e){const{name:t,innerBaseQuery:n,requestInterceptors:r,responseInterceptors:a,defaultOptions:s}=e;return async(e,o,i)=>{let c,u;if("string"==typeof e)c={url:e};else{const{_bridge:t,...n}=e;c=n,u=t}const d={...i,bridge:{...s,...i?.bridge,...u}},l={bridgeName:t,requestId:(p=t,Mr+=1,`${p}-${Mr}`),startTime:Date.now(),api:o,extraOptions:d};var p;const f=async e=>{let t=e;for(const e of r)t=await e(t,l);return n(t,o,d)};let h=await f(c);for(const e of a)h=await e(h,c,l,f);return h}}({name:"apiBridge",innerBaseQuery:async(e,t,n)=>function({baseUrl:e,prepareHeaders:t=e=>e,fetchFn:n=yn,paramsSerializer:r,isJsonContentType:a=_n,jsonContentType:s="application/json",jsonReplacer:o,timeout:i,responseHandler:c,validateStatus:u,...d}={}){return"undefined"==typeof fetch&&n===yn&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(f,h,g)=>{const{getState:m,extra:y,endpoint:v,forced:_,type:T}=h;let w,{url:S,headers:b=new Headers(d.headers),params:E,responseHandler:I=c??"json",validateStatus:A=u??vn,timeout:R=i,...O}="string"==typeof f?{url:f}:f,k={...d,signal:R?mn(h.signal,gn(R)):h.signal,...O};b=new Headers(Tn(b)),k.headers=await t(b,{getState:m,arg:f,extra:y,endpoint:v,forced:_,type:T,extraOptions:g})||b;const C="object"==typeof(N=k.body)&&(l(N)||Array.isArray(N)||"function"==typeof N.toJSON);var N;if(null==k.body||C||"string"==typeof k.body||k.headers.delete("content-type"),!k.headers.has("content-type")&&C&&k.headers.set("content-type",s),C&&a(k.headers)&&(k.body=JSON.stringify(k.body,o)),k.headers.has("accept")||("json"===I?k.headers.set("accept","application/json"):"text"===I&&k.headers.set("accept","text/plain, text/html, */*")),E){const e=~S.indexOf("?")?"&":"?";S+=e+(r?r(E):new URLSearchParams(Tn(E)))}S=function(e,t){if(!e)return t;if(!t)return e;if(function(e){return new RegExp("(^|:)//").test(e)}(t))return t;const n=e.endsWith("/")||!t.startsWith("?")?"/":"";return e=(e=>e.replace(/\/$/,""))(e),`${e}${n}${t=(e=>e.replace(/^\//,""))(t)}`}(e,S);const x=new Request(S,k);let P;w={request:new Request(S,k)};try{P=await n(x)}catch(e){return{error:{status:(e instanceof Error||"undefined"!=typeof DOMException&&e instanceof DOMException)&&"TimeoutError"===e.name?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(e)},meta:w}}const q=P.clone();let M;w.response=q;let D="";try{let e;if(await Promise.all([p(P,I).then(e=>M=e,t=>e=t),q.text().then(e=>D=e,()=>{})]),e)throw e}catch(e){return{error:{status:"PARSING_ERROR",originalStatus:P.status,data:D,error:String(e)},meta:w}}return A(P,M)?{data:M,meta:w}:{error:{status:P.status,data:M},meta:w}};async function p(e,t){if("function"==typeof t)return t(e);if("content-type"===t&&(t=a(e.headers)?"json":"text"),"json"===t){const t=await e.text();return t.length?JSON.parse(t):null}return e.text()}}({baseUrl:"",prepareHeaders:e=>(e.has("Content-Type")||e.set("Content-Type","application/json"),e.has("Accept")||e.set("Accept","application/json"),e)})(e,t,n),requestInterceptors:[(e,t)=>{if(t.extraOptions.bridge?.skipAuth)return e;const n=t.api.getState(),r=n.auth?.accessToken;return r?{...e,headers:{...e.headers,Authorization:`Bearer ${r}`}}:e},(e,t)=>{const n=q(),r=t.extraOptions.bridge?.customHeaders,a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;return a||s?{...e,headers:{...e.headers,...n,...r??{}}}:e},(e,t)=>{if(!M()||t.extraOptions.bridge?.skipLogging)return e;const n=(e.method||"GET").toUpperCase(),r=e.url||"";return D.debug({message:`${t.bridgeName} ${n} ${r}`,api_name:t.api.endpoint,request_id:t.requestId,method:n,url:r}),e}],responseInterceptors:[async(e,t,n,r)=>{if(n.extraOptions.bridge?.skipTokenRefresh)return e;if(401!==e.error?.status)return e;const a=n.api.getState();if(!a.auth?.accessToken||!a.auth?.isAuthenticated)return e;if(!L())return n.api.dispatch(Q()),e;try{const e=await async function(){return Hr||(Hr=async function(){const e=L();if(!e)return null;try{return await e()}catch{return null}}().finally(()=>{Hr=null}),Hr)}();if(e){const a=n.api.getState().auth?.accessToken;return a!==e.accessToken&&n.api.dispatch(F({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn})),r(t)}D.error({message:"Session cleared: token refresh failed after 401",api_name:"auth-refresh"}),n.api.dispatch(Q())}catch{D.error({message:"Session cleared: token refresh threw after 401",api_name:"auth-refresh"}),n.api.dispatch(Q())}return e},async(e,t,n)=>{if(!e.error)return e;const r=(a=e.error,s={url:t.url,method:t.method||"GET",timestamp:n.startTime,duration:Date.now()-n.startTime,requestId:n.requestId,bridgeName:n.bridgeName},a&&"object"==typeof a&&"status"in a?function(e,t){const n="PARSING_ERROR"===e.status,r=n?e.originalStatus:void 0,a="number"==typeof r&&r>=400?r:e.status;let s,o="Request failed",i=Kr.UNKNOWN;if("data"in e)if(s=e.data,"string"==typeof e.data)o=e.data;else if(e.data&&"object"==typeof e.data){const t=e.data;o=Ur(t)??Ur(t.data)??("string"==typeof t.error?t.error:void 0)??("string"==typeof t.detail?t.detail:void 0)??o}return!n&&"error"in e&&"string"==typeof e.error&&(o=e.error),401===a?i=Kr.UNAUTHORIZED:403===a?i=Kr.FORBIDDEN:404===a?i=Kr.NOT_FOUND:422===a?i=Kr.VALIDATION_ERROR:"FETCH_ERROR"===a?i=Kr.NETWORK_ERROR:"TIMEOUT_ERROR"===a?i=Kr.TIMEOUT:"PARSING_ERROR"===a?i=Kr.PARSE_ERROR:"number"==typeof a&&a>=500&&(i=Kr.SERVER_ERROR),"number"==typeof a&&a>=500&&(o=Lr),{status:a,message:o,data:s,code:i,meta:{timestamp:Date.now(),...t}}}(a,s):a instanceof Error?{status:"FETCH_ERROR",message:a.message||"An unexpected error occurred",code:Kr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:"string"==typeof a?{status:"CUSTOM_ERROR",message:a,code:Kr.UNKNOWN,meta:{timestamp:Date.now(),...s}}:{status:"CUSTOM_ERROR",message:"An unknown error occurred",data:a,code:Kr.UNKNOWN,meta:{timestamp:Date.now(),...s}});var a,s;return{...e,error:{...e.error,...r}}},async(e,t,n)=>{if(!e.error||n.extraOptions.bridge?.skipErrorToast)return e;const{status:r}=e.error;return"FETCH_ERROR"===r?(U("Network error. Please check your connection."),e):"TIMEOUT_ERROR"===r?(U("Request timed out. Please try again."),e):"number"==typeof r&&r>=500?(U(Lr),e):e},async(e,t,n,r)=>{if(!e.error)return e;const{status:a}=e.error;if("FETCH_ERROR"!==a&&"TIMEOUT_ERROR"!==a)return e;const s=n.extraOptions.bridge?.retry,o=s?.maxRetries??1,i=s?.backoffMs??1e3,c=parseInt(t.headers?.["X-Bridge-Retry-Count"]||"0",10);if(c>=o)return e;const u=i*Math.pow(2,c);return await new Promise(e=>setTimeout(e,u)),r({...t,headers:{...t.headers,"X-Bridge-Retry-Count":String(c+1)}})},async(e,t,n)=>{const r=n.extraOptions.bridge?.skipLogging,a=Date.now()-n.startTime,s=(t.method||"GET").toUpperCase(),o=t.url||"",i=e.meta?.response,c=e.error?e.error.status:i?.status??"OK",u=i?.headers?.get?.("x-request-id")??void 0;return e.error?D.error({message:`${n.bridgeName} ${s} ${o} failed (${c})`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a,error_data:e.error.data}):M()&&!r&&D.debug({message:`${n.bridgeName} ${s} ${o} ${c} ${a}ms`,api_name:n.api.endpoint,request_id:u??n.requestId,method:s,url:o,status:c,duration:a}),e}]});function Br(){return j()}let Vr=0;async function Wr(e){const{url:t,method:n="GET",body:r,headers:a={},skipAuth:s=!1,skipLogging:o=!1,skipContentType:i=!1,responseHandler:c="json",signal:u,keepalive:d}=e;Vr+=1;const l=`fetch-${Vr}`,p=Date.now(),f=n.toUpperCase(),h={...a};if(Object.assign(h,q()),!s){const e=Br();e&&(h.Authorization=`Bearer ${e}`)}let g;i||h["Content-Type"]||(h["Content-Type"]="application/json"),h.Accept||(h.Accept="application/json"),g=null==r?void 0:"string"==typeof r||r instanceof FormData||r instanceof Blob||r instanceof ArrayBuffer?r:JSON.stringify(r),M()&&!o&&D.debug({message:`bridgedFetch ${f} ${t}`,api_name:"bridgedFetch",request_id:l,method:f,url:t});try{const e=await fetch(t,{method:n,headers:h,body:g,signal:u,keepalive:d}),r=Date.now()-p;if(!e.ok){let n;try{n=await e.json()}catch{try{n=await e.text()}catch{n=`HTTP ${e.status}`}}const a=e.headers.get("x-request-id")??void 0;return o||D.error({message:`bridgedFetch ${f} ${t} failed (${e.status})`,api_name:"bridgedFetch",request_id:a??l,method:f,url:t,status:e.status,duration:r,error_data:n}),{error:{status:e.status,data:n},response:e}}let a;if("blob"===c)a=await e.blob();else if("text"===c)a=await e.text();else{const t=await e.text();a=t?JSON.parse(t):void 0}if(M()&&!o){const n=e.headers.get("x-request-id")??void 0;D.debug({message:`bridgedFetch ${f} ${t} ${e.status} ${r}ms`,api_name:"bridgedFetch",request_id:n??l,method:f,url:t,status:e.status,duration:r})}return{data:a,response:e}}catch(e){const n=Date.now()-p;return o||D.error({message:`bridgedFetch ${f} ${t} network error`,api_name:"bridgedFetch",request_id:l,method:f,url:t,status:"FETCH_ERROR",duration:n,error_message:e instanceof Error?e.message:"Network error"}),{error:{status:"FETCH_ERROR",data:e instanceof Error?e.message:"Network error"}}}}const Jr=3e5;let Xr=0;const Yr=()=>"",Zr=qr({reducerPath:"chatApi",baseQuery:Gr,keepUnusedDataFor:0,tagTypes:["chat","toolServers"],endpoints:e=>({getConversationHistory:e.query({query:({skip:e=0,limit:t=20})=>({url:`${$.CONVERSATIONS()}`,method:"GET",params:{skip:e,limit:t}}),transformResponse:e=>e?.data??{conversations:[]},providesTags:["chat"]}),getConversationById:e.query({query:({conversationId:e,skip:t,limit:n})=>({url:`${$.CONVERSATIONS()}/${e}`,method:"GET",params:{...void 0!==t&&{skip:t},...void 0!==n&&{limit:n}}}),transformResponse:e=>e?.data??null,providesTags:["chat"]}),createConversatons:e.mutation({query:e=>({url:`${$.CONVERSATIONS()}`,method:"POST",body:e.body||{}}),transformResponse:e=>e?.data??[],extraOptions:{bridge:{skipErrorToast:!0}}}),transcribeAudio:e.mutation({queryFn:async({conversationId:e,audioFile:t})=>{const n=new FormData;n.append("file",t);const{data:r,error:a}=await Wr({url:$.CONVERSATION_TRANSCRIBE(e),method:"POST",body:n,skipContentType:!0});return a?{error:a}:{data:r}}}),uploadDocument:e.mutation({queryFn:async({file:e,filename:t,documentType:n,conversationId:r,metadata:a,onUploadProgress:s,onUploadComplete:o})=>{const i=new FormData;i.append("file",e),t&&i.append("filename",t),n&&i.append("document_type",n),r&&i.append("conversation_id",r),a&&i.append("metadata",JSON.stringify(a));const{data:c,error:u}=await async function(e){const{url:t,method:n="POST",body:r,headers:a={},skipAuth:s=!1,skipLogging:o=!1,onUploadProgress:i,onUploadComplete:c,timeoutMs:u=Jr,signal:d}=e;if("undefined"==typeof XMLHttpRequest)return M()&&!o&&D.debug({message:"XMLHttpRequest unavailable; uploading without progress",api_name:"bridgedUpload",url:t}),Wr({url:t,method:n,body:r,headers:a,skipAuth:s,skipLogging:o,skipContentType:!0,signal:d});Xr+=1;const l=`upload-${Xr}`,p=Date.now(),f=n.toUpperCase(),h={Accept:"application/json",...a,...q()};if(!s){const e=Br();e&&(h.Authorization=`Bearer ${e}`)}return new Promise(e=>{const a=new XMLHttpRequest;let s=!1;const g=t=>{s||(s=!0,d?.removeEventListener("abort",y),e(t))},m=(e,n)=>{const r=Date.now()-p;o||D.error({message:`bridgedUpload ${f} ${t} ${e.toLowerCase()}`,api_name:"bridgedUpload",request_id:l,method:f,url:t,status:e,duration:r,error_message:n}),g({error:{status:e,data:n}})},y=()=>a.abort();a.open(n,t,!0),a.timeout=u;for(const[e,t]of Object.entries(h))a.setRequestHeader(e,t);if(i&&(a.upload.onprogress=e=>i(e.loaded,e.lengthComputable?e.total:0)),c&&(a.upload.onload=()=>c()),a.onload=()=>{const e=Date.now()-p,n=a.getResponseHeader("x-request-id")??l;let r;try{r=a.responseText?JSON.parse(a.responseText):void 0}catch{r=a.responseText}if(a.status<200||a.status>=300)return o||D.error({message:`bridgedUpload ${f} ${t} failed (${a.status})`,api_name:"bridgedUpload",request_id:n,method:f,url:t,status:a.status,duration:e,error_data:r}),void g({error:{status:a.status,data:r}});g({data:r})},a.onerror=()=>m("FETCH_ERROR","Network error"),a.ontimeout=()=>m("TIMEOUT_ERROR","Request timed out"),a.onabort=()=>m("ABORT_ERROR","Upload cancelled"),d){if(d.aborted)return void m("ABORT_ERROR","Upload cancelled");d.addEventListener("abort",y)}a.send(r)})}({url:$.DOCUMENTS(),method:"POST",body:i,onUploadProgress:s,onUploadComplete:o});return u?{error:u}:{data:c}}}),deleteDocument:e.mutation({queryFn:async e=>{const{error:t}=await Wr({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:ea,useTranscribeAudioMutation:ta,useUploadDocumentMutation:na,useDeleteDocumentMutation:ra,useExchangeOAuthCodeMutation:aa,useGetConversationHistoryQuery:sa,useLazyGetConversationByIdQuery:oa,useDeleteConversationMutation:ia,useGetToolServersQuery:ca,useStartToolServerOAuthMutation:ua,useDeleteToolServerConnectionMutation:da}=Zr,la={bridge:{skipErrorToast:!0,skipTokenRefresh:!0}},pa=qr({reducerPath:"brandingApi",baseQuery:Gr,keepUnusedDataFor:0,endpoints:e=>({getBranding:e.query({query:e=>({url:$.BRANDING,method:"GET",_bridge:{skipAuth:!e}}),extraOptions:la})})}),{useGetBrandingQuery:fa}=pa,ha={bridge:{skipErrorToast:!0,skipTokenRefresh:!0,retry:{maxRetries:0}}},ga=qr({reducerPath:"configApi",baseQuery:Gr,keepUnusedDataFor:1/0,endpoints:e=>({getConfig:e.query({query:()=>({url:$.CONFIG,method:"GET",_bridge:{skipAuth:!0},timeout:z.CONFIG_TIMEOUT_MS}),extraOptions:ha})})}),{useGetConfigQuery:ma}=ga,ya=qr({reducerPath:"profileApi",baseQuery:Gr,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(ya.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}),resolveIdentity:e.mutation({query:e=>({url:$.PROFILE,method:"GET",headers:{Authorization:`Bearer ${e}`},_bridge:{skipAuth:!0,skipTokenRefresh:!0,skipErrorToast:!0,retry:{maxRetries:0}}}),transformResponse:e=>e?.data?.email?.trim().toLowerCase()||null})})}),{useGetProfileQuery:va,useUpdateProfileMutation:_a,useDeleteAccountMutation:Ta,useUpdatePasswordMutation:wa}=ya,Sa=[Zr,pa,ga,ya],ba={[Zr.reducerPath]:Zr.reducer,[pa.reducerPath]:pa.reducer,[ga.reducerPath]:ga.reducer,[ya.reducerPath]:ya.reducer},Ea=[Zr.middleware,pa.middleware,ga.middleware,ya.middleware],Ia=()=>e=>{Sa.forEach(t=>e(t.util.resetApiState()))},Aa={isAgentWorking:!0,statusText:null,responseStartTime:null,messageQueue:[],pendingTranscriptionIds:[]},Ra=s({name:"chat",initialState:Aa,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:()=>Aa},extraReducers:e=>{e.addMatcher(i(Q,K),()=>Aa)}}),{setIsAgentWorking:Oa,setStatusText:ka,setResponseStartTime:Ca,enqueueMessage:Na,dequeueMessage:xa,clearMessageQueue:Pa,addPendingTranscriptionId:qa,clearPendingTranscriptionIds:Ma,resetChatState:Da}=Ra.actions,Ua=Ra.reducer,La={activeConversationId:null,titles:{}},Qa=s({name:"conversations",initialState:La,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),()=>La)}}),{setActiveConversationId:Fa,upsertConversationTitle:ja}=Qa.actions,$a=Qa.reducer;let za=null;function Ka(e){za=e}function Ha(){za=null}const Ga=()=>{if(!za)return{};const e=za(),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}:{}}},Ba=d({...ba,auth:G,chat:Ua,conversations:$a,indicator:H}),Va={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"]},Wa=_({reducer:Ba,middleware:e=>e({serializableCheck:Va}).prepend(B.middleware).concat(Ea)});var Ja;Ja=Wa.dispatch,function(){const[e,t,n,r]=[On,kn,Cn,Nn].map(e=>()=>Ja(e())),a=()=>{"visible"===window.document.visibilityState?e():t()};if(!xn&&"undefined"!=typeof window&&window.addEventListener){let t=function(e){Object.entries(s).forEach(([t,n])=>{e?window.addEventListener(t,n,!1):window.removeEventListener(t,n)})};const s={[In]:e,[Rn]:a,[bn]:n,[En]:r};t(!0),xn=!0}}(),V(()=>Wa.getState().auth.accessToken),W(()=>Wa.getState().auth.tokenExpiresAt),Ka(()=>Wa.getState());const Xa=/filename\*\s*=\s*([\w-]+)'[^']*'([^;\s]+)/i,Ya=/filename\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([^;\s]+))/i;function Za(e){if(!e)return null;const t=Xa.exec(e);if(t&&"utf-8"===t[1].toLowerCase())try{const e=decodeURIComponent(t[2]);if(e)return e}catch{}const n=Ya.exec(e);return(n?n[1]?.replace(/\\(.)/g,"$1")??n[2]:null)||null}function es(e,t){return Wr({url:e,method:"GET",headers:{Accept:"*/*"},skipContentType:!0,responseHandler:"blob",signal:t})}async function ts(e,{conversationId:t,timeoutMs:n=3e5,onAuthExpired:r}={}){const a=$.DOCUMENT_DOWNLOAD(e,t),s=new AbortController,o=setTimeout(()=>s.abort(),n);try{await J();let e=await es(a,s.signal);401===e.error?.status&&(await(L()?.())?e=await es(a,s.signal):r?.());const{data:t,error:n,response:o}=e;if(n||!t)throw new Error(Qr(n)?"":Fr(n,"This file is not available."));return{blob:t,filename:Za(o?.headers.get("content-disposition")??null)}}finally{clearTimeout(o)}}const ns=()=>{const e=ma(),{isError:t,isFetching:n,refetch:r}=e,a=C(!1);return k(()=>{!t||n||a.current||(a.current=!0,r())},[t,n,r]),e},rs=x(void 0),as=()=>{const e=P(rs);if(!e)throw new Error("useProtocol must be used within a ProtocolProvider");return e},ss="mtx",os=5;var is=(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))(is||{});let cs=class extends Error{constructor(e){super(),this.reopen=e}};class us{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:a}=e;if(r)return{type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a};const s=(n||"").toLowerCase(),{type:o,data:i}=this.mapSSEEvent(s,t);return{type:o,data:i,timestamp:Date.now(),requestId:a}}mapSSEEvent(e,t){switch(e){case"text":return{type:"text",data:{text:t.token||""}};case"widget":return{type:"widget",data:{widget:t}};case"status_update":return{type:"status_update",data:{statusText:t.text||""}};case"clear_status":return{type:"status_update",data:{statusText:""}};case"payment":return{type:"payment",data:{payment:t}};case"sign_in":return{type:"sign_in",data:{signIn:{authorize_url:t.authorize_url,state:t.state}}};case"request_documents":return{type:"request_documents",data:{requestDocuments:{metadata:t.metadata}}};case"conversation_title":return{type:"conversation_title",data:{conversationTitle:t.text||""}};default:return t.token?{type:"text",data:{text:t.token}}:t.text?{type:"text",data:{text:t.text}}:{type:"text",data:{text:""}}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Oe(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"MTX SSE rejected with 401 — refreshing token",api_name:"mtx-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"MTX SSE 401 refresh failed — clearing session",api_name:"mtx-sse"}),this.config.onAuthExpired?.()),new cs(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{if("[DONE]"===e.data)return;const t=(e.event||"").toLowerCase(),n=new Set(Object.values(is));if("status_update"!==t&&"clear_status"!==t||D.debug({message:"MTX SSE status event received",api_name:"mtx-sse",sse_event:t,allowed:n.has(t)}),!t||n.has(t))try{const n=t===is.END;let r;try{r=JSON.parse(e.data)}catch{return}if(!n&&t!==is.CLEAR_STATUS&&t!==is.REQUEST_DOCUMENTS&&r&&"object"==typeof r&&0===Object.keys(r).length)return;const s=this.normalizeEvent({parsed:r,eventType:e.event,isStreamEnd:n,requestId:r.request_id||a||""});d(s),n&&"stream_end"!==s.type&&d({type:"stream_end",data:{isEnd:!0},timestamp:Date.now(),requestId:a})}catch(e){D.error({message:"Failed to parse MTX SSE message",api_name:"mtx-sse",error_message:e instanceof Error?e.message:String(e)})}else D.debug({message:"Ignoring unrecognized MTX SSE event type",api_name:"mtx-sse",sse_event:e.event})},onerror:e=>{if(e instanceof cs)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 cs)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 ds extends Error{constructor(e){super(),this.reopen=e}}class ls{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"object"!=typeof t||null===t||"object"!=typeof t.config||null===t.config?{type:"text",data:{text:""}}:{type:"payment",data:{payment:t}}}case"CONVERSATION_TITLE":{const t=e?.value?.data??e.payload,n=t?.text??t?.title;return{type:"conversation_title",data:{conversationTitle:"string"==typeof n?n:""}}}default:return{type:"text",data:{text:""}}}}mapStateSnapshot(e){return{type:"widget",data:{widget:e.state||e.payload||{}}}}mapCustomEvent(e){const t=e.payload||e?.value?.data||{},n=e.name||"custom";return D.debug({message:"AG-UI mapCustomEvent",api_name:"agui-sse",event_name:n}),"widget"===n?{type:"widget",data:{widget:{eventName:n,...e?.value?.data}}}:Object.keys(t).length>0?{type:"widget",data:{widget:{eventName:e.eventName,...t}}}:{type:"text",data:{text:""}}}createStreamHandle(e,t){let n=new AbortController,r=0,a="",s=!1;const o=[];let i=null,c=!1,u=null;const d=e=>{i?i.onEvent(e):o.push(e)},l=e=>{i?i.onError(e):u=e},p=()=>{c=!0,i&&i.onComplete()},f=async()=>{try{await(this.config.ensureFreshToken?.()),await Oe(e,{method:"POST",headers:{"Content-Type":"application/json",...this.config.getAuthToken()?{Authorization:`Bearer ${this.config.getAuthToken()}`}:{},...this.config.getCustomHeaders()},body:JSON.stringify(t),signal:n.signal,onopen:async e=>{if(401===e.status&&!s){s=!0,D.warn({message:"AG-UI SSE rejected with 401 — refreshing token",api_name:"agui-sse"});const e=await(this.config.forceRefreshToken?.());throw e||(D.error({message:"AG-UI SSE 401 refresh failed — clearing session",api_name:"agui-sse"}),this.config.onAuthExpired?.()),new ds(Boolean(e))}const t=e.headers.get("x-request-id");t&&(a=t)},onmessage:e=>{D.debug({message:"AG-UI SSE event",api_name:"agui-sse",sse_event:e.event});const t=(e.event||"").toLowerCase(),n=new Set(Object.values(is));if(!t||n.has(t))if(t!==is.END){if("[DONE]"!==e.data)try{let n;try{n=JSON.parse(e.data)}catch(t){return void D.error({message:"AG-UI JSON parse error",api_name:"agui-sse",error_message:t instanceof Error?t.message:String(t),raw_data:e.data})}if(n&&"object"==typeof n&&0===Object.keys(n).length)return;n.runId&&(a=n.runId);const r=t===is.CONVERSATION_TITLE?{...n,type:"CONVERSATION_TITLE",payload:n,runId:n.runId||a}:{...n,runId:n.runId||a},s=this.normalizeEvent(r);d(s)}catch(e){D.error({message:"Failed to handle AG-UI message",api_name:"agui-sse",error_message:e instanceof Error?e.message:String(e)})}}else d(this.normalizeEvent({type:"RUN_FINISHED",runId:a}));else D.debug({message:"AG-UI ignoring unknown SSE event type",api_name:"agui-sse",sse_event:e.event})},onerror:e=>{if(e instanceof ds)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 ds)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 ps(e,t){switch(e){case"mtx":return new us(t);case"agui":return new ls(t);default:throw new Error(`Unknown protocol type: "${e}". Supported types: mtx, agui`)}}function fs(e={}){return{getAuthToken:()=>Br(),getCustomHeaders:()=>q(),onAuthExpired:e.onAuthExpired,getStreamUrl:e=>$.CONVERSATION_STREAM(e),getInitialStreamUrl:e=>$.CONVERSATION_START(e),getDebugUrl:()=>$.DEBUG,ensureFreshToken:async()=>{X(Y())&&await(L()?.())},forceRefreshToken:async()=>Boolean(await(L()?.()))}}class hs{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 gs(e,t){const{data:n,error:r,response:a}=await Wr({url:ee(te.LOGIN),method:"POST",body:{email:e,password:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function ms(){const{data:e,error:t,response:n}=await Wr({url:ee(te.GUEST),method:"POST",skipAuth:!0});if(t||!n)throw e??t;return{body:e,tokens:ne(n)}}async function ys(e){const{data:t,error:n,response:r}=await Wr({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 vs(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.VERIFY_EMAIL),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return r.headers.get(ae.ACCESS_TOKEN)?{body:t,tokens:ne(r)}:{body:t}}async function _s(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.VERIFY_EMAIL_RESEND),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Ts(e,t){await Wr({url:ee(te.LOGOUT),method:"POST",body:e,keepalive:t?.keepalive})}async function ws(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.REFRESH),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return{body:t,tokens:ne(r)}}async function Ss(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.FORGOT_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function bs(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.RESET_PASSWORD),method:"POST",body:e,skipAuth:!0});if(n||!r)throw t??n;return t?.data?.message}async function Es(e){const{data:t,error:n,response:r}=await Wr({url:ee(te.SSO_START),method:"POST",body:{idp_hint:e},skipAuth:!0});if(n||!r)throw t??n;return t}async function Is(e,t){const{data:n,error:r,response:a}=await Wr({url:ee(te.SSO_EXCHANGE),method:"POST",body:{code:e,state:t},skipAuth:!0});if(r||!a)throw n??r;return{body:n,tokens:ne(a)}}async function As(){try{const{data:e}=await Wr({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 Rs(){const e=new AbortController,t=setTimeout(()=>e.abort(),8e3);try{const{data:t,error:n,response:r}=await Wr({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 Os(e){const t=T(),[n,r]=O(!1);return{run:I(async(...n)=>{r(!0);try{const{body:r,tokens:a}=await e(...n);return r.success&&r.data?(a&&!re(r.data)&&t.dispatch(F({user:r.data.user,accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:r.data.expiry_time})),{success:!0,data:r}):{success:!1,error:r}}catch(e){return{success:!1,error:e}}finally{r(!1)}},[t,e]),isLoading:n}}function ks(){const e=I(e=>gs(e.email,e.password),[]),{run:t,isLoading:n}=Os(e);return{login:t,isLoading:n}}function Cs(){const{run:e,isLoading:t}=Os(ms);return{guestLogin:e,isLoading:t}}function Ns(){const{run:e,isLoading:t}=Os(ys);return{signup:e,isLoading:t}}function xs(){const{run:e,isLoading:t}=Os(vs);return{verify:e,isLoading:t}}function Ps(){const e=T();return{logout:I(async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(n&&r)try{await Ts({refresh_token:n,user_id:r})}catch{}else D.warn({message:"skipping server-side logout revocation — credentials missing",api_name:"auth-logout",has_refresh_token:Boolean(n),has_user_id:Boolean(r)});e.dispatch(Q())},[e])}}function qs(){const e=T(),[t,n]=O(!1);return{refresh:I(async()=>{n(!0);try{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return{success:!1,error:new Error("No refresh token or user available")};const{body:a,tokens:s}=await ws({refresh_token:n,user_id:r});return a?.success&&a?.data?(e.dispatch(F({accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time})),{success:!0,data:a}):{success:!1,error:a}}catch(e){return{success:!1,error:e}}finally{n(!1)}},[e]),isLoading:t}}function Ms(e){return se({performRefresh:async()=>{const t=e.getState(),n=t.auth?.refreshToken,r=t.auth?.user?.email;if(!n||!r)return D.warn({message:"Session refresh skipped: missing stored credentials",api_name:"auth-refresh",has_refresh_token:Boolean(n),has_user_id:Boolean(r)}),null;const{body:a,tokens:s}=await ws({refresh_token:n,user_id:r});if(a?.success&&a?.data){const t={accessToken:s.accessToken,refreshToken:s.refreshToken,expiresIn:a.data.expiry_time};return D.debug({message:"Session token refreshed",api_name:"auth-refresh",refresh_token_rotated:t.refreshToken!==n}),e.dispatch(F({accessToken:t.accessToken,refreshToken:t.refreshToken,expiresIn:t.expiresIn})),t}return D.warn({message:"Session refresh rejected by server",api_name:"auth-refresh"}),null}})}const Ds="1interface_inherit_identity_reloads",Us="1interface_inherit_identity_unverified",Ls=[250,750],Qs=e=>new Promise(t=>setTimeout(t,e)),Fs=e=>"FETCH_ERROR"===e||"TIMEOUT_ERROR"===e||"number"==typeof e&&e>=500,js="rejected",$s="unknown";function zs(e,t){let n=0,r=null,a=null;const s=()=>e.getState().auth?.accessToken??null,o=async t=>{for(let n=0;;n++){const r=e.dispatch(ya.endpoints.resolveIdentity.initiate(t));try{const e=await r.unwrap();return e?{email:e}:$s}catch(e){const t=e?.status;if(401===t)return js;if(!Fs(t)||n>=Ls.length)return $s}finally{r.reset()}await Qs(Ls[n])}};let i=null;const c=()=>{const n=s();if(!t.onUserChanged||!n)return;i?.unsubscribe();const r=e.dispatch(ya.endpoints.getProfile.initiate(void 0,{forceRefetch:!0}));i=r,r.unwrap().then(e=>{const t=e?.email?.trim().toLowerCase();t&&s()===n&&null===a&&(a=t)},()=>{})},u=async()=>{let e;try{e=JSON.parse(await(ce()?.getItem(Ds))??"[]")}catch{e=[]}const t=Date.now();return Array.isArray(e)?e.filter(e=>"number"==typeof e&&t-e<6e4):[]},d=async(e=!1)=>{const n=ce();return e&&await(n?.setItem(Us,"1")),await(n?.setItem(Ds,JSON.stringify([...await u(),Date.now()]))),await(n?.removeItem(ue.ACTIVE_CONVERSATION_ID)),t.onUserChanged?.(),await Qs(1e4),t.onAuthError?.(oe.TOKEN_REJECTED),null},l=async(i=!1)=>{let p;try{p=await t.getToken()}catch(e){return D.warn({message:"Inherited token request failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),t.onAuthError?.(oe.NO_TOKEN),null}if(null!==r&&p.accessToken===r)return null;const f=e.getState(),h=f.auth?.accessToken??null;if(p.accessToken===h)return ie(f.auth?.tokenExpiresAt??null)?(n+=1,n>=2?(D.warn({message:"Inherited token unchanged after refresh; treating as rejected",api_name:"auth-refresh"}),r=p.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null):{accessToken:p.accessToken}):(n=0,{accessToken:p.accessToken});n=0,r=null;const g=null!=p.expiresAt?p.expiresAt/1e3:void 0,m=()=>(e.dispatch(F({accessToken:p.accessToken,refreshToken:null,...null!=g?{expiresIn:g}:{}})),{accessToken:p.accessToken,...null!=g?{expiresIn:g}:{}});if(null===h){a=null;const e=m();return c(),e}if(!t.onUserChanged)return m();const y=await o(p.accessToken);if(s()!==h)return i?null:l(!0);if(y===js)return r=p.accessToken,t.onAuthError?.(oe.TOKEN_REJECTED),null;if(y===$s)return d(!0);if(null===a){const e=await o(h);if(s()!==h)return i?null:l(!0);if(e===js)return d();if(e===$s)return d(!0);a=e.email}return y.email===a?m():(await u()).length>=3?(D.warn({message:"Inherited token belongs to another user; failing closed: too many switches within 60 s",api_name:"auth-refresh"}),d(!0)):d()},p=se({performRefresh:()=>l(),isTransient:()=>!1});return Object.assign(p,{captureBaseline:c})}const Ks={WEB:"Web",MOBILE:"Mobile"},Hs={GUEST_ONLY:"guest_only",SIGN_IN_ONLY:"sign_in_only",GUEST_AND_SIGN_IN:"guest_and_sign_in",INHERIT:"inherit"},Gs=Object.values(Hs);function Bs(e,t){const n=e?.data?.auth_mode_config?.[t];return Gs.includes(n)?n:Hs.SIGN_IN_ONLY}const Vs=()=>{const{user:e,accessToken:t,tokenExpiresAt:n,isAuthenticated:r,isLoading:a}=w(e=>e.auth);return{user:e,accessToken:t,isAuthenticated:r,isLoading:a,tokenInfo:{isExpired:!!n&&ie(n),isAboutToExpire:!!n&&X(n),expiresAt:n,timeUntilExpiry:n?le(n):0,timeUntilExpiryFormatted:n?de(le(n)):"0s"}}},Ws={SM:640,MD:768,LG:1024,XL:1280,XXL:1536},Js={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},Xs={MESSAGE_PAGE_SIZE:25},Ys=[500,1500,3e3],Zs=28,eo="New Conversation",to=1e3;function no(e){return!e.widget?.length}function ro(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 ao(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&&no(e)){e.message=e.message+(n.content||"");continue}t.push(ro(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 so(e){return"string"==typeof e&&e.trim()?e:null}const oo=()=>{const e=S(),[t,n]=O(null),[r,a]=O([]),s=C(t),o=w(e=>t?e.conversations.titles[t]??null:null),i=I(n=>{t&&n&&e(ja({id:t,title:n}))},[t,e]);k(()=>{s.current=t,e(Fa(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}=as(),[v]=ea(),[_]=oa(),T=I(async()=>{try{u(!0);const t=await v({protocol:y,body:{}}).unwrap(),r=t?.id;if(r){n(r);const a=so(t?.title);return a&&e(ja({id:r,title:a})),r}return U(t?.error||"Failed to create conversations. Please try again."),null}catch(e){return U(e?.data?.message||e?.message||"Failed to create conversations. Please try again."),null}finally{u(!1)}},[v,y,e]),b=I(async(t,r,s)=>{try{const s=so(r);s&&e(ja({id:t,title:s}));const o=await _({conversationId:t,skip:0,limit:Xs.MESSAGE_PAGE_SIZE}).unwrap();if(o){n(t);const r=so(o.title)??s;r&&e(ja({id:t,title:r}));const i=o.messages??[],c=Array.isArray(i)?ao(i):[];return a(c),l(i.length),f(i.length>=Xs.MESSAGE_PAGE_SIZE),!0}return!1}catch(e){return"AbortError"===e?.name||"AbortError"===e?.error?.name||"ABORTED"===e?.status||(D.error({message:"Failed to load conversation",api_name:"chat-conversation-load",conversation_id:t,error_message:e instanceof Error?e.message:String(e)}),s?.quiet||U("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=so(t?.title);return r&&e(ja({id:n,title:r})),r}catch(e){return D.error({message:"Failed to refresh conversation title",api_name:"chat-conversation-title-refresh",conversation_id:n,error_message:e instanceof Error?e.message:String(e)}),null}},[t,_,e]),A=I(async()=>{if(m.current||!t||!p)return;const e=t;g(!0),m.current=!0;try{const n=await _({conversationId:t,skip:d,limit:Xs.MESSAGE_PAGE_SIZE}).unwrap();if(s.current!==e)return;if(n?.messages&&Array.isArray(n.messages)){const e=ao(n.messages);l(e=>e+n.messages.length),f(n.messages.length>=Xs.MESSAGE_PAGE_SIZE),a(t=>{const n=new Set(t.map(e=>e.timestamp).filter(Boolean));return[...e.filter(e=>!e.timestamp||!n.has(e.timestamp)),...t]})}}catch(e){D.error({message:"Failed to load more messages",api_name:"chat-conversation-load-more",error_message:e instanceof Error?e.message:String(e)}),U("Failed to load older messages.")}finally{g(!1),m.current=!1}},[t,d,p,_]),R=I(()=>{a([]),n(null),l(0),f(!1)},[]);return{conversationId:t,setConversationId:n,conversationTitle:o,setConversationTitle:i,messages:r,setMessages:a,isLoadingCreateConversation:c,hasMoreMessages:p,isLoadingMoreMessages:h,startSession:T,loadConversation:b,loadConversationTitle:E,loadMoreMessages:A,resetConversation:R}},io=e=>null==e||"string"==typeof e&&""===e.trim(),co=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},uo="user-collapsed";function lo(e,t){const n=[];return e?.length&&n.push({type:pe.DOCUMENTS,document_ids:e.map(e=>e.document_id)}),t&&t.length>to?D.warn({message:"modelText exceeds the text-part limit; sending the turn without it",api_name:"chat-send",length:t.length,max_length:to}):t&&n.push({type:pe.TEXT,text:t}),n.length?n:void 0}function po(e,t){return{...Object.keys(e).length?{client_metadata:e}:{},...t?{locale:t}:{}}}const fo=({conversationId:e,setMessages:t,enableTts:n=!1,userLocation:r=null,startSession:a,debugMode:s=!1,onPaymentInit:o,onSignInInit:i,onRequestDocuments:c,onConversationTitle:u,initialMessage:d,locale:l})=>{const{adapter:p}=as(),f=S(),h=T(),[g,m]=O(""),[y,v]=O(!1),[_,w]=O(!1),b=C(o);b.current=o;const E=C(i);E.current=i;const A=C(c);A.current=c;const R=C(u);R.current=u;const x=C(d),P=C(l);N(()=>{x.current=d,P.current=l},[d,l]);const q=C(new hs),M=C(null),L=C(null),Q=C(!1),F=C(0),j=C(!1),$=C(null),z=C(e);z.current=e;const K=C(null),H=C(e);k(()=>{const t=H.current;H.current=e,null!==t&&t!==e&&f(Ma())},[e,f]);const G=I((e=fe.KEEP)=>{if(f(ka(null)),f(Oa(!1)),e===fe.FINALIZE){const e=h.getState().chat.responseStartTime;e&&f(he(Date.now()-e)),f(Ca(null))}else e===fe.CANCEL&&f(Ca(null))},[f,h]),B=I(e=>{f(Oa(e)),v(e),e&&w(!1)},[f]),V=I(()=>{const e=h.getState().chat.responseStartTime;return e&&f(he(Date.now()-e)),null!==$.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,j.current=!1,m(""),v(!1),w(!1),G(fe.CANCEL)},600),()=>{null!==$.current&&clearTimeout($.current)}},[f,h,G]),W=C({setStatusText:e=>f(ka(e||null)),setIsAgentWorking:e=>f(Oa(e)),appendStreamText:()=>{},pushWidget:()=>{},onPayment:e=>b.current?.(e),onSignIn:e=>E.current?.(e),onRequestDocuments:e=>A.current?.(e),onError:()=>{}}),J=I(e=>{if(K.current!==z.current)return M.current?.abort(),void L.current?.();if("payment"===e.type&&"payment"in e.data)return void ge({kind:"payment",payment:e.data.payment},W.current);if("sign_in"===e.type&&"signIn"in e.data)return void ge({kind:"sign_in",signIn:e.data.signIn},W.current);if("request_documents"===e.type&&"requestDocuments"in e.data)return void ge({kind:"request_documents",requestDocuments:e.data.requestDocuments},W.current);if("conversation_title"===e.type&&"conversationTitle"in e.data){const t=e.data.conversationTitle.trim();return void(t&&R.current?.(t))}const n=q.current;n.processEvent(e),Q.current||(Q.current=!0,w(!0));const r=function(e){const t=e.data;switch(e.type){case"text":return"text"in t?{kind:"text",text:t.text}:null;case"widget":return"widget"in t?{kind:"widget",widget:t.widget}:null;case"status_update":return"statusText"in t?{kind:"status_update",statusText:t.statusText}:null;case"payment":return"payment"in t?{kind:"payment",payment:t.payment}:null;case"sign_in":return"signIn"in t?{kind:"sign_in",signIn:t.signIn}:null;case"request_documents":return"requestDocuments"in t?{kind:"request_documents",requestDocuments:t.requestDocuments}:null;case"error":return"error"in t?{kind:"error",error:t.error}:null;default:return null}}(e);if(r){const e="status_update"===r.kind?{kind:"status_update",statusText:n.getStatusText()}:r;ge(e,W.current)}const a=n.toMessages(),s=F.current;t(e=>[...e.slice(0,e.length-s),...a]),F.current=a.length,a.some(e=>co(e)||!io(e.message))&&f(Oa(!1)),n.isStreamComplete()&&V()},[f,t,V]),X=I(e=>{U("Stream connection error. Please try again."),V()},[V]),Y=I(()=>{M.current?.abort(),L.current?.(),M.current=null,L.current=null,K.current=null,q.current.reset(),F.current=0,m(""),v(!1),w(!1),G(fe.CANCEL),f(me()),f(Pa()),j.current=!1},[f,G]),ee=I((e,t)=>{M.current?.abort(),L.current?.(),q.current.reset(),F.current=0,Q.current=!1,K.current=t,z.current=t,M.current=e;const n=e.subscribe({onEvent:J,onError:X,onComplete:()=>{V()}});L.current=n},[J,X,V]),te=I(()=>{f(Oa(!0)),v(!0),w(!1),f(ka(null)),f(Ca(Date.now())),f(me())},[f]),ne=I((e,t)=>{te();const r=p.streamMessage({conversationId:e,message:t.message,enableTts:n,debugMode:s,transcriptionIds:t.transcriptionIds??[],...t.modelContext?.length?{modelContext:t.modelContext}:{},body:po(t.clientMetadata,P.current)});ee(r,e)},[p,n,s,ee,te]),re=I(async(n="",r=[],s={})=>{j.current=!0;try{let o=e;if(!o){if(!a)return j.current=!1,void U("Conversation is not ready yet. Please wait a moment.");const e=await a();if(!e)return j.current=!1,void U("Failed to start conversation. Please try again.");o=e}const i=n.trim();window.dispatchEvent(new CustomEvent("stopAudioPlayback")),t(e=>[...e,{id:`user-${Z()}`,sender:"user",message:i,timestamp:(new Date).toISOString(),...s.messageType?.length?{message_type:s.messageType}:{},...s.documents?.length?{documents:s.documents}:{}}]);const c=ye();ne(o,{message:i,transcriptionIds:r,modelContext:lo(s.documents,s.modelText),clientMetadata:c?{device_token:c}:{}})}catch(e){D.error({message:"Failed to send message",api_name:"chat-send",error_message:e instanceof Error?e.message:String(e)}),U("Failed to send conversations message. Please try again."),j.current=!1,G(fe.CANCEL)}},[e,a,t,ne,G]),ae=C(re);ae.current=re;const se=I(async(e="",t=[],n={})=>{const r=(e??"").trim();if(!r&&!n.documents?.length)return void(n.modelText&&D.warn({message:"modelText sent without text or documents; dropped",api_name:"chat-send"}));const a=h.getState().chat.pendingTranscriptionIds,s=a.length?[...a,...t]:t;a.length&&f(Ma()),j.current?f(Na({id:Z(),text:r,queuedAt:(new Date).toISOString(),...s.length?{transcriptionIds:s}:{},...n.messageType?.length?{messageType:n.messageType}:{},...n.documents?.length?{documents:n.documents}:{},...n.modelText?{modelText:n.modelText}:{}})):await re(r,s,n)},[f,h,re]);k(()=>{if(y||j.current)return;const e=h.getState().chat.messageQueue;if(0===e.length)return;const t=1===e.length?e[0].text:e.map(e=>e.text).filter(e=>e.length>0).map(e=>`- ${e}`).join("\n"),n=e.flatMap(e=>e.transcriptionIds??[]),r=e.flatMap(e=>e.documents??[]),a=e.map(e=>e.modelText).filter(Boolean).join("\n\n"),s={...1===e.length&&e[0].messageType?.length?{messageType:e[0].messageType}:{},...r.length?{documents:r}:{},...a?{modelText:a}:{}};f(Pa()),ae.current(t,n,s)},[y,f,h]);const oe=I(async(e,t)=>{j.current=!0;const a=void 0!==t?t:r,s={};a&&(s.user_location=a);const o=ye();o&&(s.device_token=o);const i=x.current?.trim()??"",c=i.length>to;if(c&&D.warn({message:"initialMessage exceeds the text-part limit; opening with /start instead",api_name:"chat-start",conversation_id:e,length:i.length,max_length:to}),i&&!c)return void ne(e,{message:"",modelContext:[{type:pe.TEXT,text:i}],clientMetadata:s});te();const u=p.streamInitial({conversationId:e,body:po(s,P.current),enableTts:n});ee(u,e)},[p,n,r,ee,ne,te]);return k(()=>()=>{M.current?.abort(),L.current?.()},[]),{sendMessage:se,startInitialStream:oe,setThinkingState:B,abortStream:Y,toolCallStatus:g,isProcessThinkingState:y,hasReceivedResponse:_}};function ho({activeConversationId:e,onSelectConversation:t,onClearChat:n}){const[r,a]=O([]),s=w(e=>e.conversations.titles),[o,i]=O(!0),[c,u]=O(!1),[d,l]=O(!0),[p,f]=O(""),h=C(0),g=C(!1),m=C(d);m.current=d;const y=C(r);y.current=r;const[v]=Zr.useLazyGetConversationHistoryQuery(),_=C(v);_.current=v;const[T,{isLoading:S}]=Zr.useDeleteConversationMutation(),b=I(async e=>{const t="append"===e?h.current:0;if("append"===e){if(g.current||!m.current)return;g.current=!0,u(!0)}else"replace"===e&&0===y.current.length&&i(!0);try{const n=await _.current({skip:t,limit:20}).unwrap(),r=n?.conversations??[];"append"===e?(a(e=>{const t=new Set(e.map(e=>e.id));return[...e,...r.filter(e=>!t.has(e.id))]}),h.current+=20):"replace"===e?(a(r),h.current=20):a(e=>function(e,t){if(0===t.length)return e;const n=new Set(e.map(e=>e.id)),r=new Map(t.map(e=>[e.id,e])),a=t.filter(e=>!n.has(e.id));let s=a.length>0;const o=e.map(e=>{const t=r.get(e.id);return t?(n=e).id===(a=t).id&&n.title===a.title&&n.created_at===a.created_at&&n.updated_at===a.updated_at?e:(s=!0,t):e;var n,a});return s?[...a,...o]:e}(e,r)),"silent"!==e&&l(r.length>=20)}catch(e){D.error({message:"Failed to load conversations",api_name:"chat-conversation-list",error_message:e instanceof Error?e.message:String(e)})}finally{"append"===e?(g.current=!1,u(!1)):"replace"===e&&i(!1)}},[]);k(()=>{b("replace")},[b]);const E=C(null),A=C(new Set);k(()=>{if(o||!e)return;if(A.current.has(e))return;if(r.some(t=>t.id===e))return void(E.current=null);const t=`${e}:${s[e]??""}`;E.current!==t&&(E.current=t,b("silent"))},[e,r,s,o,b]);const N=I(async s=>{const o=e===s,i=o?function(e,t){const n=e.findIndex(e=>e.id===t);return-1===n?null:n+1<e.length?e[n+1].id:n-1>=0?e[n-1].id:null}(p.trim()?r.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):r,s):null,c=await T({conversationId:s});if(c.error)return D.error({message:"Failed to delete conversation",api_name:"chat-conversation-delete",conversation_id:s,error_message:JSON.stringify(c.error)}),void U("Failed to delete the conversation. Please try again.");ve("Conversation deleted successfully"),A.current.add(s);const u=y.current.some(e=>e.id===s);if(a(e=>e.filter(e=>e.id!==s)),u&&(h.current=Math.max(0,h.current-1)),o)if(i){const e=r.find(e=>e.id===i)??null;t(i,e?.title??null)}else n?.()},[e,r,p,T,t,n]),x=R(()=>r.map(e=>s[e.id]?{...e,title:s[e.id]}:e),[r,s]);return{conversations:p.trim()?x.filter(e=>e?.title?.toLowerCase().includes(p.toLowerCase())):x,isLoading:o,isLoadingMore:c,hasMore:d,isDeleting:S,searchQuery:p,setSearchQuery:f,loadConversations:b,deleteConversation:N,isLoadingMoreRef:g}}function go(){return w(e=>{const t=e.conversations.activeConversationId;return t?e.conversations.titles[t]??null:null})}const mo=new Map;let yo;function vo(e){mo.set(e.type,e)}function _o(e){return e?mo.get(e):void 0}function To(e){yo=e}function wo(e){return"string"==typeof e&&e?_o(e):_o(_e())??_o(yo)}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)}`}}const bo={SUCCESS:"success",FAILURE:"failure",CANCEL:"cancel"};function Eo({status:e,amount:t,currency:n,paymentId:r}){if(e===bo.SUCCESS){const e=So(t,n);return`The payment${e?` of ${e}`:""} is successfully completed.`}return e===bo.FAILURE?"The payment failed."+(r?` The reference ID is ${r}.`:""):"Payment cancelled."}function Io({modelText:e}={}){return{status:bo.CANCEL,agentText:Eo({status:bo.CANCEL}),...e?{modelText:e}:{}}}const Ao=({sendMessageRef:e})=>{const[t,n]=O(null),r=I(e=>{if(!e)return void n(null);const t=wo(e.provider),r=t?.normalize(e)??null;r?n({paymentInit:e,payment:r}):D.warn({message:"Payment event dropped",api_name:"payment-init",provider:e.provider??null,resolved_provider:t?.type??null,reason:t?"invalid payload":"unknown provider"})},[]),a=I(()=>n(null),[]),s=I(t=>{const r=function(e){return"string"==typeof e?.agentText}(t)?t:function(e){const t="failure"===e.status&&e.message&&"stripe"!==e.provider;return{status:e.status,agentText:Eo(e),...t?{userMessage:e.message}:{}}}(t);r.userMessage&&r.status!==bo.CANCEL&&U(r.userMessage),e.current?r.modelText?e.current(r.agentText,void 0,{modelText:r.modelText}):e.current(r.agentText):D.error({message:"Payment result dropped: sendMessageRef is null",api_name:"payment-result-dispatch",status:r.status}),n(null)},[e]);return{paymentInit:t?.paymentInit??null,payment:t?.payment??null,setPaymentInit:r,clearPaymentInit:a,handlePaymentResult:s}};function Ro(e,t,n){const r=C(n);k(()=>{r.current=n},[n]),k(()=>{const n=Te.on(e,t,e=>{r.current(e)});return()=>{n()}},[e,t])}async function Oo(e){try{const t=await e.getItem(ue.LOCATION_CACHE);if(!t)return null;const n=JSON.parse(t);return Date.now()-n.timestamp<36e5?n.location:(await e.removeItem(ue.LOCATION_CACHE),null)}catch{return null}}const ko=()=>{const[e,t]=O(!1),[n,r]=O(null),a=we(),s=I(async()=>{const e=await Oo(a);if(e)return e;if(!("geolocation"in navigator))return r("Geolocation is not supported by this browser"),null;if("https:"!==window.location.protocol&&"localhost"!==window.location.hostname)return r("Geolocation requires HTTPS"),null;t(!0),r(null);try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone,t=await new Promise((e,t)=>{navigator.geolocation.getCurrentPosition(e,t,{enableHighAccuracy:!1,timeout:8e3,maximumAge:6e5})}),{latitude:n,longitude:r}=t.coords;let s="";try{const e=await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${n}&lon=${r}&format=json`,{headers:{"Accept-Language":"en","User-Agent":"1interface-chat/1.0"}});e.ok&&(s=(await e.json()).display_name??"")}catch(e){D.warn({message:"Reverse geocoding failed",api_name:"user-location",error_message:e instanceof Error?e.message:String(e)})}const o={latitude:n,longitude:r,address:s,timezone:e};return await async function(e,t){try{const n={location:t,timestamp:Date.now()};await e.setItem(ue.LOCATION_CACHE,JSON.stringify(n))}catch{}}(a,o),o}catch(e){if(e&&"number"==typeof e.code)switch(e.code){case 1:r("Location permission denied");break;case 2:r("Location information unavailable");break;case 3:r("Location request timed out");break;default:r("Failed to retrieve location")}else r("Failed to get location");return null}finally{t(!1)}},[a]);return{getUserLocation:s,isLoading:e,error:n}};function Co({hasMore:e,isLoadingRef:t,scrollAreaRef:n,onLoadMore:r,itemCount:a}){const s=C(null),o=I(a=>{if(s.current&&s.current.disconnect(),!a||!e)return;const o=function(e,t){const n=t?.querySelector("[data-radix-scroll-area-viewport]");if(n)return n;if(t&&t.scrollHeight>t.clientHeight)return t;let r=e.parentElement;for(;r&&r!==document.body;){if(r.scrollHeight>r.clientHeight)return r;r=r.parentElement}return null}(a,n.current);o&&(s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&!t.current&&r()},{root:o,rootMargin:"0px",threshold:.1}),s.current.observe(a))},[e,t,n,r]);return k(()=>{if(!e||t.current)return;const a=n.current;if(!a)return;const s=a.querySelector("[data-radix-scroll-area-viewport]")??a;s.clientHeight>0&&s.scrollHeight<=s.clientHeight&&r()},[e,n,r,t,a]),o}const No=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},xo=()=>No("(min-width: 1024px)"),Po=e=>{const t=C(null),[n,r]=O(!1);return k(()=>{const n=t.current;if(!n)return;const a=new ResizeObserver(t=>{for(const n of t)r(n.contentRect.width>=e)});a.observe(n);const s=n.getBoundingClientRect().width;return r(s>=e),()=>{a.disconnect()}},[e]),{containerRef:t,isDesktop:n}},qo=()=>{const[e,t]=O(!1),{getUserLocation:n}=ko(),r=we(),a=C(!1);return k(()=>{if(a.current)return;a.current=!0;let e=null;const s=()=>{null!==e&&clearTimeout(e),t(!0)};return(async()=>{if("false"===await r.getItem(ue.LOCATION_ENABLED))return void s();const t=await Oo(r);t&&0!==t.latitude&&0!==t.longitude?s():(e=setTimeout(s,5e3),n().finally(s))})(),()=>{null!==e&&clearTimeout(e)}},[n,r]),e};function Mo({payment:e,onPaymentResult:t,onClearPaymentInit:n}){const r=C(new Set),a=e?.paymentId;return{handlePaymentResult:I(e=>{(e.status===bo.SUCCESS||e.status===bo.FAILURE)&&a&&r.current.add(a),t?.(e)},[t,a]),handleSurfaceOpenChange:I(s=>{if(!s&&e){if(!a||!r.current.has(a)){const n=_o(e.provider);t?.(n?.cancelOutcome?.(e)??Io())}n?.()}},[e,a,t,n])}}function Do(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 Uo(){const{themeStyles:e}=Se(),{data:t,isLoading:n}=ca(void 0),[r]=da(),a=R(()=>(t?.tool_servers??[]).map(t=>({id:t.id,name:t.name,description:t.description??"",initials:Do(t.name),accentTextColor:e.statusPrimary.solid,logoUrl:t.logo_url??void 0,connected:t.connected})),[t?.tool_servers,e.statusPrimary.solid]);return{connectors:a,isLoading:n,disconnect:async function(e){const t=a.find(t=>t.id===e)?.name??"App";"error"in await r(e)?U(`Failed to disconnect ${t}. Please try again.`):ve(`${t} disconnected`)}}}const Lo={NORMAL:"normal",RECORDING:"recording",TRANSCRIBING:"transcribing"},Qo=({onSend:e,disabled:t=!1,hasAttachments:n=!1,transcribedText:r,onTranscribedTextUsed:a,isRecording:s=!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}`),a?.())}),()=>{e=!0}},[r,a]);const u=(i.trim().length>0||n)&&!t,d=I(()=>{u&&(e(i.trim()),c(""))},[i,u,e]),l=s?Lo.RECORDING:o?Lo.TRANSCRIBING:Lo.NORMAL;return R(()=>({value:i,setValue:c,send:d,canSend:u,mode:l}),[i,d,u,l])},Fo=e=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].sender)return t;return-1},jo=e=>{const t=w(e=>!!e.voice?.isAgentWorking),n=w(e=>e.voice?.statusText??null),r=w(e=>e.voice?.responseStartTime??null),a=w(e=>e.chat.isAgentWorking),s=w(e=>e.chat.statusText??null),o=w(e=>e.chat.responseStartTime),i=w(e=>e.indicator.lastResponseTime),c=e?t:a,u=e?n:s,d=e?r:o;return R(()=>({isAgentWorking:c,statusText:u??void 0,responseStartTime:d,lastResponseTime:i}),[c,u,d,i])},$o=[],zo=({messages:e,voiceStreamingMessages:t=$o,voiceActive:n})=>{const r=R(()=>{if(0===t.length)return e;const n=new Set(t.map(e=>e.id));return e.filter(e=>!n.has(e.id))},[e,t]),a=R(()=>Fo(r),[r]),s=jo(n),o=C(e.length),i=I(()=>{const t=o.current;return o.current=e.length,((e,t)=>{const n=t.length-1,r=Fo(t);if(t.length<=e)return{hasNew:!1,newMessages:[],firstNewIndex:e,lastIndex:n,hasNewUserMessage:!1,hasNewWidget:!1,lastUserMessageIndex:r};const a=t.slice(e);return{hasNew:!0,newMessages:a,firstNewIndex:e,lastIndex:n,hasNewUserMessage:a.some(e=>"user"===e.sender),hasNewWidget:a.some(be),lastUserMessageIndex:r}})(t,e)},[e]);return{visibleMessages:r,lastUserMessageIndex:a,indicator:s,classifyArrival:i}},Ko=(e={})=>{const{enabled:t=!0}=e,[n,r]=O(Js.INITIAL),[a,s]=O(0),[o,i]=O(!0),c=C(null),u=C(null),d=C(null);return k(()=>{if(!t)return r(Js.INITIAL),s(0),void i(!0);r(Js.INITIAL),s(0),i(!0);let e=Js.INITIAL;const n=()=>{c.current=setTimeout(()=>{i(!1),d.current=setTimeout(()=>{s(t=>(t+1)%e.length),i(!0),d.current=null},500),n()},Js.ROTATION_INTERVAL_MS)};return n(),u.current=setTimeout(()=>{e=Js.LATER,c.current&&clearTimeout(c.current),d.current&&clearTimeout(d.current),r(Js.LATER),s(0),i(!1),d.current=setTimeout(()=>{i(!0),d.current=null},500),n()},Js.PHASE_SWITCH_MS),()=>{c.current&&clearTimeout(c.current),u.current&&clearTimeout(u.current),d.current&&clearTimeout(d.current),c.current=null,u.current=null,d.current=null}},[t]),{message:n[a],isVisible:o}},Ho=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 Go(e,t=28){const[n,r]=O(e),a=C(e),s=I(e=>{a.current=e,r(e)},[]);return k(()=>{if(a.current===e)return;const n=function(e,t){const n=Math.min(e.length,t.length);let r=0;for(;r<n&&e[r]===t[r];)r+=1;return r}(a.current,e);s(e.slice(0,n));let r=n;const o=globalThis.setInterval(()=>{r+=1,s(e.slice(0,r)),r>=e.length&&globalThis.clearInterval(o)},t);return()=>globalThis.clearInterval(o)},[e,t,s]),n}const Bo=x(null),Vo=()=>{const e=P(Bo);if(!e)throw new Error("useChatSettings must be used within a <SettingsProvider>");return e};let Wo=0;function Jo({refreshSession:e,checkIntervalMs:t=6e4}){const n=T(),r=w(e=>e.auth),a=r?.accessToken??null,s=Boolean(r?.isAuthenticated),o=r?.tokenExpiresAt??null,i=C(null),c=C(null),u=I(()=>{n.dispatch(Q())},[n]),d=I(async(t=!1)=>{if(t||!(Date.now()-Wo<3e5))try{await e()?Wo=Date.now():(D.error({message:"Session cleared: proactive token refresh failed",api_name:"auth-refresh"}),u())}catch(e){D.error({message:"Token refresh failed",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),u()}},[e,u]),l=I(()=>{s&&(ie(o)?d(!0):X(o)&&d())},[s,o,d]);return k(()=>{a&&ie(o)&&d(!0)},[]),k(()=>{if(s&&a){if(ie(o))return void d(!0);const e=Ee(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)}}Wo=0,i.current&&(clearInterval(i.current),i.current=null),c.current&&(clearTimeout(c.current),c.current=null)},[s,a,o,t,d]),{checkNow:l}}function Xo({clientType:e}){const{data:t,isLoading:n,refetch:r}=ns(),a=Bs(t,e),s=Boolean(t?.data?.auth_mode_config),[o,i]=O(a);s&&a!==o&&i(a);const c=s?a:o,u=w(e=>Boolean(e.auth?.isAuthenticated)),{guestLogin:d}=Cs(),l=C(!1),[p,f]=O(!1),[h,g]=O(0),m=C(0),y=C(0);k(()=>{if(c!==Hs.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===Hs.GUEST_ONLY&&!u&&!p,guestBootFailed:!u&&!n&&void 0===t||c===Hs.GUEST_ONLY&&!u&&p,retryGuestBoot:v}}function Yo({adapter:e,enabled:t}){const n=T(),r=w(e=>Boolean(e.auth?.isAuthenticated)),a=R(()=>e?zs(n,e):null,[n,e]);k(()=>{if(t&&a)return Ie(a),()=>Ie(null)},[t,a]);const s=C(!1),[o,i]=O(!1),[c,u]=O(!1),[d,l]=O(0),[p,f]=O(!1);k(()=>{if(!t||!e||p)return;const r=ce();(r?r.getItem(Us):Promise.resolve(null)).then(async t=>{t&&(await(r?.removeItem(Us)),n.dispatch(Q()),e.onAuthError?.(oe.TOKEN_REJECTED),u(!0)),f(!0)})},[t,e,n,p]),k(()=>{if(!t||!a||c||!p)return;if(r&&o)return void(s.current=!1);if(s.current)return;s.current=!0;const d=()=>{a().then(e=>{e?i(!0):(s.current=!1,u(!0))})};if(!r||!e)return void d();const l=n.getState().auth?.accessToken;e.getToken().then(e=>e.accessToken===l,()=>!1).then(e=>{if(e)return i(!0),void a.captureBaseline();n.dispatch(Q()),d()})},[t,a,e,n,r,o,c,d,p]);const h=I(()=>{u(!1),l(e=>e+1)},[]),g=t&&!(r&&o)&&!c,m=t&&c,y=t&&r&&o&&!c,v=C({canRecheck:y,adapter:e,refresher:a});k(()=>{v.current={canRecheck:y,adapter:e,refresher:a}},[y,e,a]);const _=C(!1);return{isInheritedBootPending:g,inheritedAuthFailed:m,retryInheritedAuth:h,recheckInheritedAuth:I(()=>{const e=v.current;if(!e.canRecheck||!e.adapter||!e.refresher)return;if(_.current)return;_.current=!0;const{adapter:t,refresher:r}=e,a=n.getState().auth?.accessToken;t.getToken().then(e=>e.accessToken===a?void 0:r(),()=>{}).finally(()=>{_.current=!1})},[n])}}class Zo{mediaRecorder=null;audioChunks=[];stream=null;audioContext=null;analyser=null;dataArray=null;animationFrameId=null;onAudioLevel;async startRecording(e){try{if(this.onAudioLevel=e,!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)throw new Error("Microphone access requires HTTPS. Please access the app via https:// or localhost.");this.stream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:24e3,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),e&&(this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.audioContext.createMediaStreamSource(this.stream).connect(this.analyser),this.dataArray=new Uint8Array(this.analyser.frequencyBinCount),this.analyzeAudio());const t=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:t}),this.audioChunks=[],this.mediaRecorder.ondataavailable=e=>{e.data.size>0&&this.audioChunks.push(e.data)},this.mediaRecorder.start()}catch(e){throw this.cleanup(),e}}async stopRecording(){return new Promise((e,t)=>{this.mediaRecorder?(this.mediaRecorder.onstop=()=>{const t=this.mediaRecorder?.mimeType||"audio/webm",n=t.includes("webm")?"webm":"ogg",r=new Blob(this.audioChunks,{type:t}),a=new File([r],`audio.${n}`,{type:t});this.cleanup(),e(a)},this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(e=>e.stop())):t(new Error("MediaRecorder not initialized"))})}analyzeAudio(){if(!this.analyser||!this.dataArray)return;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];const t=Math.min(e/this.dataArray.length/128,1);this.onAudioLevel&&this.onAudioLevel(t),this.animationFrameId=requestAnimationFrame(()=>this.analyzeAudio())}getSupportedMimeType(){const e=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(const t of e)if(MediaRecorder.isTypeSupported(t))return t;return"audio/webm"}cleanup(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this.analyser=null,this.dataArray=null,this.mediaRecorder=null,this.audioChunks=[],this.onAudioLevel=void 0}}const ei={HOLD:"hold",TAP:"tap"},ti="Microphone access is required. Please allow microphone permissions in your browser settings.",ni=async()=>{try{return navigator.permissions?.query?(await navigator.permissions.query({name:"microphone"})).state:"unknown"}catch{return"unknown"}},ri=({onTranscriptionComplete:e,onTranscriptionPopulate:t,ensureConversation:n,autoSendVoice:r=!0,gesture:a=ei.HOLD}={})=>{const[s,o]=O(!1),[i,c]=O(!1),[u,d]=O(0),l=C(null),p=C(null),f=C(!1),h=C(!1),g=C(!1),m=C(null),y=S(),[v]=ta(),_=I(async()=>{if(a===ei.TAP){if(f.current||g.current)return;g.current=!0;try{l.current||(l.current=new Zo),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0)}catch(e){D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,U(ti)}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 ni();if("denied"===n)return t(),void U(ti);if("prompt"!==n){if(h.current)return t(),void(h.current=!1);try{l.current||(l.current=new Zo),await l.current.startRecording(e=>{d(e)}),p.current=Date.now(),f.current=!0,o(!0),h.current&&(h.current=!1,await(m.current?.()))}catch(e){t(),D.error({message:"Failed to start STT recording",api_name:"stt-record",error_message:e instanceof Error?e.message:String(e)}),f.current=!1,U(ti)}}else{t(),h.current=!1;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{"denied"===await ni()&&U(ti)}}},[a]),T=I(()=>{f.current&&(l.current?.cleanup(),f.current=!1,p.current=null,o(!1),d(0))},[]),w=I(async()=>{try{if(!l.current||!f.current)return;const a=p.current?Date.now()-p.current:0;if(o(!1),d(0),a<500)return l.current?.cleanup(),void(p.current=null);c(!0);const s=await l.current.stopRecording(),i=await(n?.())??null;if(!i)return void U("Failed to transcribe audio");const u=await v({conversationId:i,audioFile:s}).unwrap();u.success?u.data.text&&(y(qa(u.data.transcription_id)),r&&e?await e(u.data.text):!r&&t&&t(u.data.text)):U("Transcription failed")}catch(e){D.error({message:"STT transcription failed",api_name:"stt-transcribe",error_message:e instanceof Error?e.message:String(e)}),U("Failed to transcribe audio")}finally{c(!1),f.current=!1,l.current?.cleanup(),p.current=null}},[r,y,n,e,t,v]);return k(()=>{m.current=w},[w]),k(()=>()=>{l.current?.cleanup()},[]),{isRecording:s,isTranscribing:i,audioLevel:u,startRecording:_,stopRecording:w,cancelRecording:a===ei.TAP?T:null}},ai="OAUTH_SUCCESS",si="OAUTH_ERROR",oi=ai,ii=si;function ci({signInInit:e,sendMessageRef:t,clearSignInInit:n,sendResumeMessage:r=!0}){const[a]=aa();k(()=>{if(!e)return;const s=function(e){try{const t=(new URL(e).searchParams.get("scope")??"").match(/\/auth\/([^./]+)/);if(t?.[1])return t[1].charAt(0).toUpperCase()+t[1].slice(1)}catch{}return"Service"}(e.authorize_url),o=window.open(e.authorize_url,"oauth_popup",`width=500,height=650,left=${Math.round(screen.width/2-250)},top=${Math.round(screen.height/2-325)}`);if(!o)return U("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===ii)return void c(()=>U(`Failed to sign in to ${s}. Please try again.`));if(e.data?.type!==oi)return;i=!0,window.removeEventListener("message",u),clearInterval(d);const{code:l,state:p}=e.data;"error"in await a({code:l,state:p})?U(`Failed to sign in to ${s}. Please try again.`):(ve(`${s} connected successfully`),r&&t.current?.(`${s} is now signed in, please continue`)),n(),o?.close()},d=setInterval(()=>{o.closed&&c()},500);return window.addEventListener("message",u),()=>{window.removeEventListener("message",u),clearInterval(d),i||o.close()}},[e,t,n,a,r])}function ui({sendMessageRef:e}){const{paymentInit:t,payment:n,setPaymentInit:r,clearPaymentInit:a,handlePaymentResult:s}=Ao({sendMessageRef:e}),{handlePaymentResult:o,handleSurfaceOpenChange:i}=Mo({payment:n,onPaymentResult:s,onClearPaymentInit:a});return{paymentInit:t,payment:n,setPaymentInit:r,isOpen:!!t,onOpenChange:i,onResult:o,clearPaymentInit:a}}const di={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,transport:Re.PIPECAT_WS},stt:{enabled:!0},documents:{max_bytes:26214400,max_documents:25,allowed_mime_types:null},features:[Ae.SSO],backend_version:"",panel_switcher_enabled:!0,auth_mode_config:{[Ks.WEB]:Hs.SIGN_IN_ONLY,[Ks.MOBILE]:Hs.SIGN_IN_ONLY}},li=x(void 0),pi=()=>{const{data:e,isLoading:t,error:n}=ns(),r=e?.success?e.data:null,a=R(()=>{return(e=r)?{conversations:{...di.conversations,...e.conversations},voice_agent:{...di.voice_agent,...e.voice_agent},stt:{...di.stt,...e.stt},documents:{...di.documents,...e.documents},features:e.features??di.features,backend_version:e.backend_version??di.backend_version,panel_switcher_enabled:e.panel_switcher_enabled??di.panel_switcher_enabled,auth_mode_config:{...di.auth_mode_config,...e.auth_mode_config}}:di;var e},[r]);return R(()=>({clientConfig:a,isLoading:t,error:n?new Error("Failed to fetch client configuration"):null}),[a,t,n])},fi=()=>{const e=P(li);if(!e)throw new Error("useConfiguration must be used within a ConfigurationProvider");return e},hi=x({}),gi=()=>P(hi);function mi(e){return Array.isArray(e.message_type)&&e.message_type.includes("widget")}function yi(e,t,n){if(!n)return!1;if(!mi(e))return!1;let r=null;for(let e=t.length-1;e>=0;e--){const n=t[e];if("agent"===n.sender&&mi(n)){r=n;break}}if(!r||r.id!==e.id)return!0;const a=t.findIndex(t=>t.id===e.id);return t.slice(a+1).some(e=>"user"===e.sender)}function vi(e){if("string"!=typeof e)return!1;try{return"https:"===new URL(e).protocol}catch{return!1}}function _i(e,t){const n="dark"===t;return{pageBg:e.bgColor,cardBg:e.widgetBg,text:e.primaryText,heading:e.primaryText,muted:e.secondaryText,divider:e.widgetBorderColor,accent:e.statusDiscovery.solid,accentText:e.statusDiscovery.text,focus:e.statusDiscovery.solid,success:e.statusSuccess.solid,successBg:e.statusSuccess.background,warning:e.statusWarning.solid,warningBg:e.statusWarning.background,danger:e.statusDanger.solid,dangerBg:e.statusDanger.background,pillBg:e.inputBgColor,pillBorder:e.inputBorderColor,pillText:e.secondaryText,cardShadow:n?"0 1px 3px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04)":"0 1px 3px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04)",radius:e.borderRadius,fontFamily:e.fontFamily,colorScheme:n?"dark":"light"}}export{Ks as AUTH_CLIENT_TYPES,Hs as AUTH_MODES,ls as AguiAdapter,Zo as AudioRecorder,Ws as BREAKPOINTS,Lo as CHAT_INPUT_MODES,Ys as CONVERSATION_TITLE_REFRESH_DELAYS_MS,hi as ChatCallbacksContext,Bo as ChatSettingsContext,li as ConfigurationContext,eo as DEFAULT_CONVERSATION_TITLE,ss as DEFAULT_PROTOCOL,Kr as ERROR_CODES,hs as EventAggregator,Lr as GENERIC_SERVER_ERROR_MESSAGE,os as MAX_CONNECTION_RETRIES,to as MODEL_CONTEXT_TEXT_MAX_LENGTH,si as OAUTH_ERROR_TYPE,ai as OAUTH_SUCCESS_TYPE,Xs as PAGINATION,bo as PAYMENT_OUTCOME_STATUSES,us as ProprietaryAdapter,rs as ProtocolContext,is as SSEEventType,ei as STT_GESTURES,Js as THINKING_MESSAGES,Zs as TYPEWRITER_INTERVAL_MS,uo as USER_COLLAPSED_MESSAGE_TYPE,Gr as apiBridge,Ea as apiMiddleware,ba as apiReducers,Ka as bindChatLogger,pa as brandingApi,Wr as bridgedFetch,_i as buildBrandSkin,Zr as chatApi,Ba as chatCoreRootReducer,Ga as chatLoggerContextProvider,Ua as chatReducer,Rs as checkOrganizationExistsApi,Pa as clearMessageQueue,ga as configApi,$a as conversationsReducer,ps as createAdapter,fs as createDefaultAdapterConfig,zs as createInheritedSessionRefresher,Ms as createSessionRefresher,Eo as defaultAgentText,Io as defaultCancelOutcome,xa as dequeueMessage,ts as downloadDocument,Na as enqueueMessage,As as fetchOrganizations,Ss as forgotPasswordApi,So as formatAmount,Fr as getApiErrorMessage,Bs as getAuthMode,Br as getAuthToken,Oo as getCachedLocation,$r as getCodeEntryErrorMessage,zr as getErrorGroup,Yr as getLatestRequestId,_o as getPaymentProvider,ms as guestLoginApi,co as hasAnyExtraData,Qr as isApiServerError,io as isEmptyMessage,vi as isHttpsUrl,gs as loginApi,Ts as logoutApi,ya as profileApi,ws as refreshTokenApi,vo as registerPaymentProvider,_s as resendVerificationApi,Ia as resetAllApiState,Ha as resetChatLoggerForTests,Da as resetChatState,bs as resetPasswordApi,wo as resolvePaymentProvider,Va as serializableCheck,Fa as setActiveConversationId,To as setDefaultPaymentProvider,Oa as setIsAgentWorking,Ca as setResponseStartTime,ka as setStatusText,yi as shouldDisableMessage,ys as signupApi,Is as ssoExchangeApi,Es as ssoStartApi,Wa as store,lo as toModelContext,ja as upsertConversationTitle,go as useActiveConversationTitle,Vs as useAuth,gi as useChatCallbacks,fo as useChatConnection,ho as useChatHistory,Qo as useChatInput,Vo as useChatSettings,fi as useConfiguration,pi as useConfigurationValue,Uo as useConnectors,Po as useContainerQuery,oo as useConversation,ea as useCreateConversatonsMutation,Ta as useDeleteAccountMutation,ia as useDeleteConversationMutation,ra as useDeleteDocumentMutation,da as useDeleteToolServerConnectionMutation,Ho as useElapsedSeconds,Ro as useEventEmitter,aa as useExchangeOAuthCodeMutation,fa as useGetBrandingQuery,ns as useGetConfigQuery,sa as useGetConversationHistoryQuery,va as useGetProfileQuery,ca as useGetToolServersQuery,Xo as useGuestBoot,Cs as useGuestLogin,Co as useInfiniteScroll,Yo as useInheritedAuthBoot,xo as useIsDesktop,oa as useLazyGetConversationByIdQuery,qo as useLocationInit,ks as useLogin,Ps as useLogout,No as useMediaQuery,zo as useMessageList,ci as useOAuthPopup,ui as usePayment,Ao as usePaymentFlow,Mo as usePaymentResultDedup,as as useProtocol,qs as useRefreshToken,jo as useResolvedChatIndicators,ri as useSTTRecording,Ns as useSignup,ua as useStartToolServerOAuthMutation,Ko as useThinkingMessage,Jo as useTokenRefresh,ta as useTranscribeAudioMutation,Go as useTypewriter,wa as useUpdatePasswordMutation,_a as useUpdateProfileMutation,na as useUploadDocumentMutation,ko as useUserLocation,xs as useVerifyEmail,vs as verifyEmailApi};
|