k2-im 0.1.28 → 0.1.30

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.
@@ -1 +1 @@
1
- import {s,xa,na,w,ma,la,ka,ia,ha,ga,fa,da,H,I,G,Fa,d,ta,wa,va,pa,sa,ra as ra$1,qa,B,z,A,y,x,Ea,Da,Ca,Ba,Aa,za,c,b,k,h,ua}from'./chunk-H7AM5DTT.js';export{r as resolveMessageNotificationDecision}from'./chunk-H7AM5DTT.js';import'./chunk-DVQGXZ6S.js';import'./chunk-FQJBDSXT.js';import {ra,oa}from'./chunk-O7GQQMEW.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Jl(e,n,r={}){let o=s(n);try{return ii(e,ai({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function Xl(e){xa(Ie(e).runtime);}var Bn=new WeakMap;function Pe(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function ai(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function ii(e,n){let r=Bn.get(e);if(r!==void 0&&!r.disposed){if(r.context===n)return r.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let o={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!o.disposed){o.disposed=true;for(let c of [...o.storeDisposers])c();o.storeDisposers.clear(),n.runtime.dispose(),Bn.get(e)===o&&Bn.delete(e);}}});return o.installation=s,Bn.set(e,o),s}function Ie(e){let n=Bn.get(e);if(n===void 0||n.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return n.context}function Oe(e,n){let r=Bn.get(e);if(r===void 0||r.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return r.storeDisposers.add(n),()=>r.storeDisposers.delete(n)}function Yl(e){Bn.get(e)?.installation.dispose();}function Pr(e){return `${e.domain}:${e.applicationId}`}function ec(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"group",conversationId:e.conversation.conversationId})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"channel",conversationId:e.conversation.conversationId})})}function nc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Cr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&nc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`applications.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="reload"})}function tc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function rc(e){return defineStore("k2-im-applications",()=>{let n=Ie(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),I=computed(()=>r.value.length),T=computed(()=>{let A=0,x=0,C=0;for(let _ of r.value)_.ref.domain==="contact"?A+=1:_.ref.domain==="group"?x+=1:C+=1;return Object.freeze({contact:A,group:x,channel:C})}),z=false,q=0,D=0,X=0,R=false,g=0,K=new Map;function B(){q+=1,D+=1,X+=1,g+=1,R=false,K.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function $(A){return {client:A,generation:n.getGeneration(),stateEpoch:q}}function ne(A){return !z&&A.client===n.getProductClient()&&A.generation===n.getGeneration()&&A.stateEpoch===q}async function O(){if(z)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let A=++D,x;try{x=$(n.ensureProductClient());}catch(C){let _=Cr(C,"reload");return s.value=_,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:_})}o.value=true,s.value=null;try{let C=await x.client.applications.listPending();return A!==D||!ne(x)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...C]),Object.freeze({ok:!0,operation:"reload"}))}catch(C){if(A!==D||!ne(x))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let _=Cr(C,"reload");return s.value=_,Object.freeze({ok:false,operation:"reload",reason:"failed",error:_})}finally{A===D&&ne(x)&&(o.value=false);}}function w(){if(z||R)return;R=true;let A=q,x=++g;queueMicrotask(()=>{x===g&&(R=false,!(z||A!==q)&&O());});}function Y(A){(A.type==="contact-application:received"||A.type==="channel-join-application:received"||A.type==="application:updated")&&w();}let N=n.subscribeProductEvents(Y);async function ce(A,x){let C=ec(A),_=Pr(C);if(z)return Object.freeze({ok:false,operation:x,reason:"stale",application:C});let V=++X;K.set(_,V),c.value={...c.value,[_]:x};let{[_]:me,...le}=m.value;m.value=le;let H;try{H=$(n.ensureProductClient());}catch(he){let ue=Cr(he,x);m.value={...m.value,[_]:ue};let{[_]:Ce,...ke}=c.value;return c.value=ke,K.delete(_),Object.freeze({ok:false,operation:x,reason:"failed",application:C,error:ue})}let Q=()=>ne(H)&&K.get(_)===V;try{return await H.client.applications[x](C),Q()?(D+=1,o.value=!1,r.value=Object.freeze(r.value.filter(he=>Pr(he.ref)!==_)),Object.freeze({ok:!0,operation:x,application:C})):Object.freeze({ok:!1,operation:x,reason:"stale",application:C})}catch(he){if(!Q())return Object.freeze({ok:false,operation:x,reason:"stale",application:C});let ue=Cr(he,x);return tc(ue)?(D+=1,o.value=false,r.value=Object.freeze(r.value.filter(Ce=>Pr(Ce.ref)!==_)),Object.freeze({ok:false,operation:x,reason:"failed",application:C,error:ue})):(m.value={...m.value,[_]:ue},Object.freeze({ok:false,operation:x,reason:"failed",application:C,error:ue}))}finally{if(Q()){K.delete(_);let{[_]:he,...ue}=c.value;c.value=ue;}}}function re(A){return ce(A,"accept")}function M(A){return ce(A,"ignore")}function E(){z||B();}function b(){z||(z=true,N(),B());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:I,domainCounts:T,reload:O,accept:re,ignore:M,reset:E,dispose:b}})}var ci=new WeakMap,Rr=new WeakMap;function oc(e=Pe()){Ie(e);let n=ci.get(e);n===void 0&&(n=rc(e),ci.set(e,n));let r=n(e);return Rr.get(e)!==r&&(Rr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Rr.get(e)===r&&Rr.delete(e);})),r}function fi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ic(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var ui=Object.freeze({state:"none"});function sc(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_THREAD_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:fi(r)}})}function lc(e){return defineStore("k2-im-thread",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef([]),c=shallowRef(ui),m=shallowRef(null),I=ref(false),T=ref(false),z=ref(false),q=ref(false),D=ref(false),X=shallowRef(null),R=ref(0),g=false,K=0,B=0,$,ne,O,w,Y=[],N=new Map,ce=new Set;function re(){Y.length=0,R.value=0;}let M=n.subscribeEvents(h=>{if(g||h.type!=="message:received"||(h.source??"live")!=="live"||h.message.body.system?.timelineVisibility==="hidden")return;let G=o.value;G===null||h.message.conversationId!==G.conversationId||h.message.conversationType!==G.conversationType||h.message.senderId===n.getCredentials().userId||(Y.push(h.message.id),R.value+=1);});function E(h=null){re(),o.value=h,s.value=[],c.value=ui,m.value=null,I.value=h!==null,T.value=false,z.value=false,q.value=false,D.value=false,X.value=null;}function b(h){if((N.get(h)??0)>0){ce.add(h);return}h.close();}function A(){w?.(),w=void 0;let h=O;O=void 0,h!==void 0&&b(h);}function x(h,G,te){let se=o.value;if(g||O!==h||n.getGeneration()!==te||se===null||G.ref.conversationId!==se.conversationId||G.ref.conversationType!==se.conversationType)return false;let ae=G.messages.filter(Re=>Re.body.system?.timelineVisibility!=="hidden");return ic(s.value,ae)||(s.value=Object.freeze(ae)),c.value=G.entryUnread,m.value=G.draft,I.value=G.loading,T.value=T.value||ae.length>0||!G.loading,z.value=G.stale,q.value=G.hasOlder,D.value=G.hasNewer,X.value=G.error??null,true}async function C(h){let G=n.ensureProductClient();return h.conversationType==="direct"?G.openConversation({conversationType:"direct",conversationId:h.conversationId},{initialPosition:"first-unread",initialLoad:"local-first"}):h.conversationType==="group"?G.openConversation({conversationType:"group",conversationId:h.conversationId},{initialPosition:"first-unread",initialLoad:"local-first"}):G.openConversation({conversationType:"channel",conversationId:h.conversationId},{initialPosition:"first-unread",initialLoad:"local-first"})}async function _(h){try{let G=n.ensureProductClient();if(G.conversations.list().find(se=>se.ref.conversationType===h.conversationType&&se.ref.conversationId===h.conversationId)?.manuallyUnread!==!0)return;await G.conversations.markRead(h);}catch(G){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:h,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:G}}));}}async function V(h){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");B+=1,$=void 0,ne=void 0;let G=fi(h),te=++K,se=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:se,conversation:G}));let ae;try{ae=await C(G);}catch(Re){throw !g&&te===K&&se===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:se,conversation:G,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:sc(Re,"thread.open",G)}})),Re}if(g||te!==K||se!==n.getGeneration()){ae.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:se,conversation:G}));return}return A(),E(G),O=ae,w=ae.subscribe(Re=>x(ae,Re,se)),x(ae,ae.getSnapshot(),se),_(G),r.record("debug","pinia","history","thread-open-complete",()=>({generation:se,conversation:G})),ae}function me(){K+=1;}function le(h){if(g||O===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${h}`);return O}function H(h,G,te){return !g&&B===h&&O===G&&n.getGeneration()===te}async function Q(h,G){if($!==void 0||ne!==void 0)return false;let te=le(h),se=n.getGeneration(),ae=++B;$=ae;try{return await G(te),H(ae,te,se)?(x(te,te.getSnapshot(),se),!0):!1}finally{$===ae&&($=void 0);}}async function he(h,G,te){let se=le(h),ae=n.getGeneration(),Re=++B;$=void 0,ne=Re;try{if(await G(se),!H(Re,se,ae))return !1;let ie=se.getSnapshot();return te(ie)?(x(se,ie,ae),!0):!1}finally{ne===Re&&(ne=void 0);}}function ue(){return he("loadLatest",h=>h.history.loadLatest(),h=>!h.hasNewer)}function Ce(){return Q("loadOlder",h=>h.history.loadOlder())}function ke(){return Q("loadNewer",h=>h.history.loadNewer())}function Se(h){return he("loadAround",G=>G.history.loadAround(h),G=>G.messages.some(te=>te.id===h)).then(G=>G?s.value.some(te=>te.id===h):false)}function je(h){return le("resolveMessage").resolveMessage(h)}function F(h=le("retainHandle")){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");N.set(h,(N.get(h)??0)+1);let G=false;return ()=>{if(G)return;G=true;let te=(N.get(h)??1)-1;if(te>0){N.set(h,te);return}N.delete(h),ce.delete(h)&&h.close();}}function U(){return F()}function fe(){K+=1,B+=1,$=void 0,ne=void 0,A(),E();}function pe(h){let G=o.value;return G===null||G.conversationType!==h.conversationType||G.conversationId!==h.conversationId?false:(B+=1,$=void 0,ne=void 0,A(),E(),true)}function de(){K+=1,B+=1,$=void 0,ne=void 0,w?.(),w=void 0;let h=new Set([...O===void 0?[]:[O],...ce,...N.keys()]);O=void 0,ce.clear(),N.clear();for(let G of h)G.close();E();}function De(){g||(de(),g=true,M());}function k(){return Y.splice(0,Y.length)}return {activeRef:o,messages:s,entryUnread:c,draft:m,loading:I,ready:T,stale:z,hasOlder:q,hasNewer:D,error:X,activeRemoteMessageRevision:R,open:V,invalidatePendingOpen:me,loadLatest:ue,loadOlder:Ce,loadNewer:ke,loadAround:Se,resolveMessage:je,retainHandle:F,retainCurrentHandle:U,close:fe,closeActiveConversation:pe,reset:de,dispose:De,drainActiveRemoteMessageIds:k,getHandle:()=>O}})}var di=new WeakMap,kr=new WeakMap;function Ge(e=Pe()){Ie(e);let n=di.get(e);n===void 0&&(n=lc(e),di.set(e,n));let r=n(e);return kr.get(e)!==r&&(kr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),kr.get(e)===r&&kr.delete(e);})),r}var jr=new WeakMap;function Ao(e){let n=jr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function pt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Er(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function pi(e){return e===null?null:Er({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function xo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function zo(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function dc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Ht(e,n,r){return dc(e)?e:Object.freeze({code:n==="composer.draft"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_COMPOSER_OPERATION_FAILED",category:"state",operation:n,retryable:n==="composer.draft",...r===void 0?{}:{conversation:pt(r)},cause:e})}function Mr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function fc(e){return defineStore("k2-im-composer",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),I=ref(false),T=ref(0),z=shallowRef(null),q=false,D=0,X=0,R=0,g,K=Promise.resolve(),B=Promise.resolve(),$=new Set,ne=new Map,O,w;function Y(){return o.getHandle()}function N(F,U){let fe=o.activeRef;return !q&&Y()===F&&n.getGeneration()===U&&fe!==null&&fe.conversationId===F.ref.conversationId&&fe.conversationType===F.ref.conversationType}function ce(F=Y()){if(F===void 0)return false;let U=n.getGeneration();return g?.handle===F&&g.generation===U||[...$].some(fe=>fe.handle===F&&fe.generation===U)}async function re(F=Y()){if(F===void 0)return;let U=n.getGeneration(),fe=g?.handle===F&&g.generation===U?g:void 0;if(fe===void 0){let k=[...$].filter(h=>h.handle===F&&h.generation===U).map(h=>h.promise);k.length>0?await Promise.all(k):await B;return}g=void 0;let de=K.then(async()=>{xo(fe.input)?await F.draft.clear():await F.draft.save(fe.input);}),De={handle:F,generation:U,promise:de};$.add(De),B=de,K=de.catch(()=>{});try{await de,N(F,U)&&(z.value=null,T.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:pt(F.ref)})));}catch(k){throw N(F,U)&&(g===void 0&&R===fe.version&&(g=fe),z.value=Ht(k,"composer.draft",F.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:pt(F.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:z.value}}))),k}finally{$.delete(De);}}function M(F){let U=Y(),fe=n.getGeneration();if(U===void 0||!N(U,fe))return z.value=Ht(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let pe=Er(F);return R+=1,s.value=xo(pe)?null:pe,g={handle:U,generation:fe,version:R,input:pe},z.value=null,E(),xo(pe)&&re(U).catch(()=>{}),true}async function E(){if(m.value!==null)return;let F=s.value?.replyToMessageId;if(F===void 0){X+=1,c.value=null;return}let U=Y();if(U===void 0){c.value=null;return}let fe=o.messages.find(k=>k.id===F);if(fe!==void 0){X+=1,c.value=fe;return}let pe=n.getGeneration(),de=++X,De=await U.resolveMessage(F).catch(()=>null);de!==X||!N(U,pe)||m.value!==null||s.value?.replyToMessageId!==F||(c.value=De);}function b(F){let U=Y();return U===void 0||!Mr(F,U)?false:(m.value=null,c.value=F,M({...s.value??{text:"",attachments:[]},replyToMessageId:F.id}))}function A(F){if(F!==void 0&&s.value?.replyToMessageId!==F)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:fe,...pe}=U;M({...pe});}function x(F){let U=Y();return U===void 0||!Mr(F,U)?false:(c.value=null,m.value=F,true)}function C(){m.value=null,E();}function _(){X+=1,c.value=null,m.value=null;}function V(F,U){return !q&&n.getGeneration()===F&&D===U}function me(F){return [...ne.values()].some(U=>U.handle===F)}function le(F,U){return F!==null&&zo(pi(F),U)}function H(F,U,fe){!N(F,U)||s.value===null||!zo(s.value,fe)||(R+=1,g?.handle===F&&g.generation===U&&zo(g.input,fe)&&(g=void 0),s.value=null,X+=1,c.value=null);}async function Q(F){let U=[...$].filter(pe=>pe.handle===F.handle&&pe.generation===F.generation).map(pe=>pe.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!N(F.handle,F.generation))return;let fe=await F.handle.draft.get();if(!le(fe,F.input)){O?.token===F.token&&(O=void 0);return}O=F;try{await F.handle.draft.clear(),O?.token===F.token&&(O=void 0);}catch(pe){if(N(F.handle,F.generation)){if(s.value===null&&g===void 0){let de={text:"",attachments:[]};R+=1,g={handle:F.handle,generation:F.generation,version:R,input:de};}z.value=Ht(pe,"composer.draft",F.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:F.generation,conversation:pt(F.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:z.value}}));}}}function he(F){if(!N(F.handle,F.generation)||s.value!==null)return;O=void 0;let U=Er(F.input);R+=1,s.value=U,g={handle:F.handle,generation:F.generation,version:R,input:U},E();}async function ue(F){let U=m.value,fe=U===null?"send":"edit";if(U!==null&&w!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let pe=Y(),de=n.getGeneration();if(pe===void 0||!N(pe,de))return Object.freeze({ok:false,operation:fe,reason:"not-ready"});let De=F.text.trim();if(De==="")return Object.freeze({ok:false,operation:fe,reason:"empty"});let k=D;if(U!==null&&!Mr(U,pe))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let h=Symbol(fe);U!==null&&(w=h),I.value=w!==void 0,z.value=null;let G=o.retainHandle(pe),te;if(U===null){let se=Er(F);te={token:h,handle:pe,generation:de,input:se},ne.set(h,te),H(pe,de,se);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:de,operation:fe,conversation:pt(pe.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!V(de,k)||!N(pe,de))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let se=await pe.messages.sendText(De,{...F.mentions===void 0?{}:{mentions:F.mentions},...F.replyToMessageId===void 0?{}:{replyToMessageId:F.replyToMessageId}});if(!V(de,k)||!N(pe,de))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!se.ok)return te!==void 0&&he(te),z.value=se.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:se.error});if(te!==void 0&&(await Q(te),!V(de,k)||!N(pe,de)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await pe.messages.editText(U.id,De,{...F.mentions===void 0?{}:{mentions:F.mentions}});}catch(se){if(!V(de,k)||!N(pe,de))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ae=Ht(se,"composer.edit",pe.ref);return z.value=ae,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ae})}if(!V(de,k)||!N(pe,de))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&C();}return z.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:de,operation:fe,conversation:pt(pe.ref)})),Object.freeze({ok:!0,operation:fe})}catch(se){if(!V(de,k)||!N(pe,de))return Object.freeze({ok:false,operation:fe,reason:"stale"});te!==void 0&&he(te);let ae=Ht(se,`composer.${fe}`,pe.ref);return z.value=ae,Object.freeze({ok:false,operation:fe,reason:"sdk-rejected",error:ae})}finally{G(),ne.delete(h),w===h&&(w=void 0),I.value=w!==void 0,N(pe,de)&&Ce();}}function Ce(){let F=Y();if(F===void 0)return;let U=O,fe=U!==void 0&&U.handle===F&&U.generation===n.getGeneration()&&le(o.draft,U.input);U!==void 0&&!fe&&(O=void 0),!ce(F)&&!me(F)&&!fe&&(s.value=pi(o.draft)),m.value!==null&&!Mr(m.value,F)&&(m.value=null),E();}function ke(){D+=1,X+=1,R+=1,g=void 0,ne.clear(),O=void 0,K=Promise.resolve(),B=Promise.resolve(),s.value=null,c.value=null,m.value=null,w=void 0,I.value=false,T.value=0,z.value=null;}let Se=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(F,U)=>{if(F.ref!==U?.ref){ke(),F.ref!==null&&Ce();return}Ce();},{immediate:true});function je(){q||(q=true,Se(),ke());}return jr.set(e,Object.freeze({suspendInteraction:_,syncReplyTarget:E,dispose:je})),{input:s,replyTo:c,editingMessage:m,submitting:I,draftCommitVersion:T,error:z,updateDraft:M,flush:re,hasPendingWork:ce,submitText:ue,setReplyTo:b,clearReplyTo:A,setEditing:x,clearEditing:C,reset:ke}})}var vi=new WeakMap,Sr=new WeakMap;function Wn(e=Pe()){Ie(e);let n=vi.get(e);n===void 0&&(n=fc(e),vi.set(e,n));let r=n(e),o=Ao(e);return Sr.get(e)!==r&&(Sr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Sr.get(e)===r&&(Sr.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var wr=new WeakMap;function Lt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Ii(e){return [...e]}function vc(e){return defineStore("k2-im-message-operations",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Wn(e),c=Ao(e),m=shallowRef(null),I=ref(false),T=ref([]),z=ref(null),q=ref(false),D=ref([]),X=shallowRef(null),R=false,g=0,K=0,B=0;function $(){return o.getHandle()}function ne(k,h=$()){let G=o.activeRef;return !R&&h!==void 0&&G!==null&&k.conversationType!=="supergroup"&&G.conversationId===k.conversationId&&G.conversationType===k.conversationType&&h.ref.conversationId===k.conversationId&&h.ref.conversationType===k.conversationType}function O(k){return w(m.value,k)}function w$1(){q.value=false,D.value=[];}function Y(){z.value=null;}function N(){let k=I.value;w$1(),Y(),I.value=false,T.value=[],k&&c.syncReplyTarget();}function ce(k){if(k!==void 0){if(!ne(k))return Object.freeze({ok:false,reason:"not-ready"});if(!Lt(k))return Object.freeze({ok:false,reason:"not-selectable"});if(O(k))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),I.value=true,T.value=k===void 0?[]:[k],Object.freeze({ok:true})}function re(k){return T.value.some(h=>h.id===k)}function M(k){return !I.value||!ne(k)?Object.freeze({ok:false,reason:"not-ready"}):Lt(k)?O(k)?Object.freeze({ok:false,reason:"pinned-protected"}):(re(k.id)?T.value=T.value.filter(h=>h.id!==k.id):T.value=[...T.value,k],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function E(k){let h=$();return k.length===0||!k.every(G=>ne(G,h))?Object.freeze({ok:false,reason:"not-ready"}):(z.value=Ii(k),Object.freeze({ok:true}))}function b(){let k=T.value;if(k.length===0)return Object.freeze({outcome:"empty"});let h=k.filter(ra);return k.some(oa)?(D.value=h,q.value=true,Object.freeze({outcome:"confirmation-required"})):h.length===0?Object.freeze({outcome:"all-skipped"}):(E(h),Object.freeze({outcome:"picker-opened"}))}function A(){let k=Ii(D.value);return w$1(),k.length===0?Object.freeze({outcome:"all-skipped"}):(E(k),Object.freeze({outcome:"picker-opened"}))}async function x(k){let h=z.value,G=$();if(h===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let te=n.getGeneration(),se=++g,ae=await da(n,{handle:G,messages:h,targets:k});return R||se!==g||n.getGeneration()!==te||$()!==G?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((ae.ok||ae.reason!=="stale")&&Y(),ae.ok&&N(),X.value=ae.ok?null:ae.error??null,r.record(ae.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:te,conversation:G===void 0?void 0:{...G.ref},result:ae.ok?{ok:true,sentCount:ae.sentCount,skippedCount:ae.skippedCount}:{ok:false,reason:ae.reason,error:ae.error}})),ae)}function C(k,h,G){X.value=k.ok?null:k.error??null,r.record(k.ok?"debug":"error","pinia","message",`message-${k.operation}-settled`,()=>({generation:n.getGeneration(),conversation:G===void 0?void 0:{...G.ref},messageId:h,result:k.ok?{ok:true}:{ok:false,reason:k.reason,error:k.error}}));}function _(k,h){return h!==void 0&&(R||$()!==h)?Object.freeze({ok:false,operation:k.operation,reason:"stale"}):k}async function V(k){let h=$(),G=_(await fa(n,{handle:h,message:k}),h);return C(G,k.id,h),G}async function me(k){let h=$(),G=_(await ga(n,{handle:h,message:k}),h);return C(G,k.id,h),G}async function le(k){let h=$(),G=_(await ha(n,{handle:h,message:k}),h);return C(G,k.id,h),G}async function H(k){let h=$(),G=_(await ia(n,{handle:h,messageId:k}),h);return C(G,k,h),G}function Q(){let k=o.activeRef;if(!(k?.conversationType!=="group"&&k?.conversationType!=="channel"))return Object.freeze({conversationId:k.conversationId,conversationType:k.conversationType})}function he(k,h,G){let te=Q();return !R&&k===K&&h!==void 0&&$()===h&&te?.conversationId===G.conversationId&&te.conversationType===G.conversationType}function ue(k,h,G){let te=Q();return !R&&k===B&&$()===h&&te?.conversationId===G.conversationId&&te.conversationType===G.conversationType}function Ce(k){if(T.value=T.value.filter(h=>h.id!==k),D.value=D.value.filter(h=>h.id!==k),z.value!==null){let h=z.value.filter(G=>G.id!==k);z.value=h.length===0?null:h;}s.editingMessage?.id===k&&s.clearEditing();}async function ke(k){let h=Q(),G=$();if(h===void 0||!ne(k,G))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let te=++K;B+=1;let se=await ka(n,{conversation:h,message:k});return he(te,G,h)?(se.ok&&se.operation==="pin"?(m.value=se.value,Ce(se.value.messageId),X.value=null):X.value=se.ok?null:se.error??null,se):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Se(){let k=Q(),h=$();if(k===void 0||h===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let G=++K;B+=1;let te=await la(n,k);return he(G,h,k)?(te.ok&&te.operation==="unpin"?(m.value=null,X.value=null):X.value=te.ok?null:te.error??null,te):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function je(){let k=Q();if(k===void 0){m.value=null;return}try{m.value=na(n,k);}catch{m.value=null;}}async function F(){let k=Q(),h=$();if(k===void 0||h===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let G=n.getGeneration(),te=++B;je();let se=await ma(n,k);return n.getGeneration()!==G||!ue(te,h,k)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(se.ok&&se.operation==="sync-pin"?(m.value=se.value,X.value=null):X.value=se.ok?null:se.error??null,se)}function U(k){let h=new Map(k.map(ae=>[ae.id,ae])),G=ae=>ae.flatMap(Re=>{let ie=h.get(Re.id);return ie!==void 0&&Lt(ie)?[ie]:[]});if(T.value=G(T.value),D.value=G(D.value),z.value!==null){let ae=G(z.value);z.value=ae.length===0?null:ae;}let te=s.editingMessage;if(te!==null){let ae=h.get(te.id);(ae===void 0||!Lt(ae))&&s.clearEditing();}let se=s.input?.replyToMessageId;if(se!==void 0){let ae=h.get(se);ae!==void 0&&!Lt(ae)&&s.clearReplyTo(se);}}let fe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(k,h)=>{k.ref!==h?.ref&&(g+=1,K+=1,B+=1,je(),I.value=false,T.value=[],z.value=null,w$1(),X.value=null),U(k.messages);},{immediate:true}),pe=n.subscribeEvents(k=>{if(k.type!=="pinned-message:updated")return;let h=Q();if(!(h===void 0||h.conversationId!==k.conversation.conversationId||h.conversationType!==k.conversation.conversationType)){if(B+=1,k.pinnedMessage===null){m.value=null;return}try{m.value=na(n,h),Ce(k.pinnedMessage.messageId);}catch{}}});function de(){g+=1,K+=1,B+=1,I.value=false,T.value=[],z.value=null,w$1(),X.value=null,je();}function De(){R||(R=true,fe(),pe(),de());}return wr.set(e,Object.freeze({dispose:De})),{activePinnedMessage:m,isMessageMultiSelect:I,selectedMessages:T,forwardPickerMessages:z,forwardTypeConfirmOpen:q,pendingForwardReadyMessages:D,error:X,enterMultiSelect:ce,exitMultiSelect:N,isSelected:re,toggleSelection:M,openForwardPicker:E,closeForwardPicker:Y,prepareForwardFromSelection:b,cancelForwardTypeConfirmation:w$1,confirmForwardTypeConfirmation:A,forward:x,recall:V,deleteLocal:me,deleteForEveryone:le,retry:H,pin:ke,unpin:Se,syncPinned:F,isPinnedMessageProtected:O,reset:de}})}var hi=new WeakMap,Tr=new WeakMap;function Ut(e=Pe()){Ie(e);let n=hi.get(e);n===void 0&&(n=vc(e),hi.set(e,n));let r=n(e),o=wr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Tr.get(e)!==r&&(Tr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Tr.get(e)===r&&(Tr.delete(e),wr.get(e)===o&&wr.delete(e));})),r}var Go=Object.freeze({availability:"unknown",reason:"not-ready"});function yc(e){return defineStore("k2-im-capabilities",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Ut(e),c=shallowRef(null),m=false,I$1,T,z;function q(){T!==void 0&&(clearTimeout(T),T=void 0);}function D(M){q();let E=M.nextEvaluationAt;if(E===void 0)return;let b=Math.max(0,E-Date.now());T=setTimeout(()=>{T=void 0,g();},b);}function X(M){m||(c.value=M,D(M));}function R(M){let E=o.activeRef;return E!==null&&E.conversationType===M.conversationType&&E.conversationId===M.conversationId}function g(M=Date.now()){let E=o.activeRef,b=n.getProductClient();E===null||b===null||X(b.capabilities.get(E,{nowMs:M}));}function K(){I$1?.(),I$1=void 0,q(),c.value=null;let M=o.activeRef,E=n.getProductClient();M===null||E===null||(I$1=E.capabilities.subscribe(M,X));}function B(){K();}function $(){I$1?.(),I$1=void 0,q(),c.value=null;}async function ne(){let M=o.activeRef,E=n.getProductClient();if(M===null||E===null)return;let b=n.getGeneration();try{let A=await E.capabilities.refresh(M);if(m||b!==n.getGeneration()||!R(M))return;X(A);}catch(A){if(m||b!==n.getGeneration()||!R(M))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...M},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:A}})),X(E.capabilities.get(M));}}function O(M){return c.value===null?Go:G(c.value,M)}function w(M){return O(M)}function Y(M){return O(M)}function N(M,E){let b=c.value;return b===null?Go:I(M,{snapshot:b,selfId:n.getCredentials().userId,...E})}function ce(M,E){let b=c.value;return b===null?Go:H(M,{snapshot:b,message:E,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function re(){m||(m=true,z?.(),z=void 0,$());}return z=watch(()=>o.activeRef,K,{deep:true,immediate:true}),{activeSnapshot:c,start:B,reset:$,refresh:ne,conversationAction:O,profileAction:w,memberAction:Y,memberTargetAction:N,messageAction:ce,dispose:re}})}var yi=new WeakMap,xr=new WeakMap;function bc(e=Pe()){Ie(e);let n=yi.get(e);n===void 0&&(n=yc(e),yi.set(e,n));let r=n(e);return xr.get(e)!==r&&(xr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),xr.get(e)===r&&xr.delete(e);})),r}var qt=new WeakMap;function Ci(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Cc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Rc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function bi(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&Rc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:Ci(r)})}function Ri(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Pc(e=Pe()){let n=Ie(e),r=qt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Wn(e),m=Ge(e),I={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function T(z,q){let D=Ci(z),X=q?.signal;if(X?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:D});I.conversation=D;let R=++I.epoch,g=o.getGeneration(),K=()=>!I.disposed&&I.epoch===R&&o.getGeneration()===g;m.invalidatePendingOpen();let B=()=>{K()&&(I.epoch+=1,m.invalidatePendingOpen());};X?.addEventListener("abort",B,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:g,conversation:D})),!Cc(D))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:g,conversation:D})),Object.freeze({ok:!1,reason:"unsupported",conversation:D});let $=m.getHandle();if($!==void 0&&c.hasPendingWork($))try{await c.flush($);}catch(ne){if(!K())return Object.freeze({ok:!1,reason:"stale",conversation:D});let O=bi(ne,"flush",D);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:g,conversation:D,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:O}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:D,error:O})}if(!K())return Object.freeze({ok:!1,reason:"stale",conversation:D});if(m.getHandle()!==void 0&&Ri(m.activeRef,D))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:D});try{if(await m.open(D)===void 0||!K())return Object.freeze({ok:!1,reason:"stale",conversation:D})}catch(ne){if(!K())return Object.freeze({ok:!1,reason:"stale",conversation:D});let O=bi(ne,"open",D);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:g,conversation:D,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:O}})),Object.freeze({ok:!1,reason:"open-failed",conversation:D,error:O})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D})),Object.freeze({ok:!0,status:"opened",conversation:D})}finally{X?.removeEventListener("abort",B);}}return I.coordinator=Object.freeze({activate:T}),qt.set(e,I),Oe(e,()=>{I.disposed=true,I.conversation=null,I.epoch+=1,qt.get(e)===I&&qt.delete(e);}),I.coordinator}function Pi(e,n){let r=qt.get(e);r===void 0||r.disposed||!Ri(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function ki(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Mc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function vt(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&Mc(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Sc(e){return defineStore("k2-im-conversation-list",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=ref([]),s=ref("idle"),c=ref(0),m=shallowRef(null),I=false,T=null,z,q=0;function D(b="idle"){o.value=[],s.value=b,c.value=0,m.value=null;}function X(b,A,x){I||T!==A||n.getGeneration()!==x||(o.value=b.items,s.value=b.state,c.value=b.totalUnread,m.value=b.error??null);}function R(b){if(I)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(T===b||(z?.(),z=void 0,T=b,q+=1,D(),b===null))return;let A=n.getGeneration();z=b.conversations.subscribe(x=>X(x,b,A)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:A}));}function g(){R(n.getProductClient());}function K(){R(null);}function B(b){return !I&&T===b.client&&n.getProductClient()===b.client&&n.getGeneration()===b.generation&&q===b.bindingEpoch}function $(){let b=n.ensureProductClient();return R(b),{client:b,generation:n.getGeneration(),bindingEpoch:q}}async function ne(){if(I)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let b;try{b=$();}catch(A){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:vt(A,"refresh")})}try{return await b.client.conversations.refresh(),B(b)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(A){return B(b)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:vt(A,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function O(b,A,x){let C=ki(A);if(I)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:C});let _;try{_=$();}catch(V){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:C,error:vt(V,b,C)})}try{x(_.client,C);}catch(V){return B(_)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:C,error:vt(V,b,C)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:C})}return B(_)?Object.freeze({ok:true,operation:b,conversation:C}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:C})}async function w(b,A,x){let C=ki(A);if(I)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:C});let _;try{_=$();}catch(V){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:C,error:vt(V,b,C)})}try{return await x(_.client,C),B(_)?Object.freeze({ok:!0,operation:b,conversation:C}):Object.freeze({ok:!1,operation:b,reason:"stale",conversation:C})}catch(V){return B(_)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:C,error:vt(V,b,C)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:C})}}function Y(b,A){return O("set-pinned",b,(x,C)=>x.conversations.setPinned(C,A))}function N(b,A){return w("set-muted",b,(x,C)=>x.conversations.setMuted(C,A))}function ce(b){return w("mark-read",b,(A,x)=>A.conversations.markRead(x))}function re(b){return O("mark-unread",b,(A,x)=>A.conversations.markUnread(x))}function M(b){return O("delete-local",b,(A,x)=>A.conversations.deleteLocal(x))}function E(){I||(z?.(),z=void 0,T=null,D(),I=true);}return {items:o,state:s,totalUnread:c,error:m,start:g,reset:K,refresh:ne,setPinned:Y,setMuted:N,markRead:ce,markUnread:re,deleteLocal:M,dispose:E}})}var Oi=new WeakMap,zr=new WeakMap;function _o(e=Pe()){Ie(e);let n=Oi.get(e);n===void 0&&(n=Sc(e),Oi.set(e,n));let r=n(e);return zr.get(e)!==r&&(zr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),zr.get(e)===r&&zr.delete(e);})),r}var xc=250,zc=2e3;function Si(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Ko(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Si(r)}})}function Ac(e){return defineStore("k2-im-search",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref(""),c=ref([]),m=ref(false),I=ref(false),T=ref("all"),z=ref(""),q=ref(""),D=shallowRef(null),X=false,R=0,g=0,K,B,$,ne;function O(){let H=o.activeRef,Q=o.getHandle();if(!(X||H===null||Q===void 0||!Fo(H,Q.ref)))return {ref:Si(H),handle:Q,generation:n.getGeneration()}}function w(H){return !X&&n.getGeneration()===H.generation&&o.getHandle()===H.handle&&Fo(o.activeRef,H.ref)}function Y(){let H=B;H!==void 0&&(clearTimeout(H.timer),B=void 0,H.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function N(){$!==void 0&&(clearTimeout($),$=void 0);}function ce(H,Q){return Q===R&&(m.value=false),Object.freeze({ok:false,operation:H,reason:"stale"})}function re(H,Q){return H===g&&z.value===Q&&(z.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function M(H,Q,he){switch(he){case "all":return za(n,{conversation:H.ref,keyword:Q});case "text":return Aa(n,{conversation:H.ref,keyword:Q});case "file":return Ba(n,{conversation:H.ref,keyword:Q});case "image":return Ca(n,{conversation:H.ref});case "video":return Da(n,{conversation:H.ref});case "voice":return Ea(n,{conversation:H.ref})}}function E(H,Q){return H!==""?true:Q!=="all"&&Q!=="text"}function b(H){s.value=H,Y();let Q=++R,he=H.trim(),ue=T.value,Ce=E(he,ue);if(K=void 0,c.value=[],I.value=false,D.value=null,!Ce)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ke=O();return ke===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(Se=>{let je=setTimeout(()=>{if(B?.timer===je&&(B=void 0),Q!==R||!w(ke)){Se(ce("search",Q));return}r.record("debug","pinia","history","search-start",()=>({generation:ke.generation,conversation:ke.ref,category:ue})),M(ke,he,ue).then(F=>{if(Q!==R||!w(ke)){Se(ce("search",Q));return}c.value=[...F.results],K=F.nextPageToken,I.value=!F.exhausted,m.value=false,Se(Object.freeze({ok:true,operation:"search"}));}).catch(F=>{if(Q!==R||!w(ke)){Se(ce("search",Q));return}let U=Ko(F,"search.first-page",ke.ref);D.value=U,m.value=false,Se(Object.freeze({ok:false,operation:"search",reason:"failed",error:U}));});},xc);B={timer:je,resolve:Se};}))}function A(H){return T.value=H,(H==="image"||H==="video"||H==="voice")&&(s.value=""),b(s.value)}async function x(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!I.value||K===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let H=O();if(H===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let Q=K,he=++R;m.value=true,D.value=null;try{let ue=await Fa(n,Q);return he!==R||!w(H)?ce("load-more",he):(c.value=[...c.value,...ue.results],K=ue.nextPageToken,I.value=!ue.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ue){if(he!==R||!w(H))return ce("load-more",he);let Ce=Ko(ue,"search.next-page",H.ref);return D.value=Ce,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Ce})}}async function C(H,Q){let he=O();if(he===void 0||!Fo(he.ref,H))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ue=++g;N(),q.value="",z.value=Q,D.value=null;try{return !o.messages.some(ke=>ke.id===Q)&&!await o.loadAround(Q)||(await nextTick(),ue!==g||!w(he))?re(ue,Q):(q.value=Q,Object.freeze({ok:!0,operation:"locate"}))}catch(Ce){if(ue!==g||!w(he))return re(ue,Q);let ke=Ko(Ce,"search.locate",he.ref);return z.value="",D.value=ke,Object.freeze({ok:false,operation:"locate",reason:"failed",error:ke})}}function _(H){if(z.value!==H)return false;z.value="";let Q=g,he=O();return N(),he===void 0||q.value!==H||($=setTimeout(()=>{$=void 0,Q===g&&w(he)&&q.value===H&&(q.value="");},zc)),true}function V(){g+=1,N(),z.value="",q.value="";}function me(H){R+=1,Y(),s.value="",c.value=[],m.value=false,I.value=false,T.value="all",K=void 0,D.value=null,H?.preserveLocation!==true&&V();}function le(){X||(me(),X=true,ne?.(),ne=void 0);}return ne=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>me(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:I,category:T,locatingMessageId:z,highlightMessageId:q,error:D,search:b,setCategory:A,loadMore:x,locate:C,completeLocation:_,clearLocation:V,reset:me,dispose:le}})}var Mi=new WeakMap,Ar=new WeakMap;function Mn(e=Pe()){Ie(e);let n=Mi.get(e);n===void 0&&(n=Ac(e),Mi.set(e,n));let r=n(e);return Ar.get(e)!==r&&(Ar.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Ar.get(e)===r&&Ar.delete(e);})),r}var Gr=new WeakMap;function Ei(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Dc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function _c(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CONVERSATION_DELETE_FAILED",category:r!==null&&Dc(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ei(n)})}function Fc(e=Pe()){let n=Ie(e),r=Gr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=_o(e),m=Ge(e),I=Wn(e),T=Ut(e),z=Mn(e),q={disposed:false};function D(X){let R=Ei(X);if(q.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let g=o.getGeneration(),K=m.activeRef!==null&&m.activeRef.conversationType===R.conversationType&&m.activeRef.conversationId===R.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:g,conversation:R})),!Gc(R))return Object.freeze({ok:false,reason:"unsupported",conversation:R});let B=c.deleteLocal(R);if(!B.ok){if(B.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:R});let O=_c(B.error,R);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:g,conversation:R,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:O}})),Object.freeze({ok:false,reason:"delete-failed",conversation:R,error:O})}if(q.disposed||o.getGeneration()!==g)return Object.freeze({ok:false,reason:"stale",conversation:R});Pi(e,R);let $=m.closeActiveConversation(R),ne=K||$;return ne&&(I.reset(),T.reset(),z.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:g,conversation:R,data:{activeConversationCleared:ne}})),Object.freeze({ok:true,status:"deleted",conversation:R,activeConversationCleared:ne})}return q.coordinator=Object.freeze({deleteLocal:D}),Gr.set(e,q),Oe(e,()=>{q.disposed=true,Gr.get(e)===q&&Gr.delete(e);}),q.coordinator}var ji=30,Hc=15,Nc=20,Lc=4294967295,Ti=new WeakMap;function _r(e){return typeof e=="object"&&e!==null}function bt(e,n){if(typeof e!="string"||e.trim()==="")throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function wi(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Lc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Uc(e,n){if(!_r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=bt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=wi(e.width,"asset.width"),c=wi(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:bt(e.packageId,"asset.packageId"),resourceId:bt(e.resourceId,"asset.resourceId"),url:r,width:s,height:c});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let m=e.resourceId===void 0?void 0:bt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function $t(e,n){let r=Ti.get(e);r===void 0&&(r=new Map,Ti.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function xi(e,n,r,o){let s=$t(e,n),c=++s.revision;for(let I of o)s.kindRevisions[I]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},I=>{s.revision===c&&(s.status="failed",s.error=I);}),{coordinator:s,revision:c,promise:m}}var Fr=new WeakMap;function Vt(){return reactive({loading:false,loaded:false,error:null})}function It(e){return {sticker:e(),gif:e()}}function zi(e){return {sticker:e(),gif:e(),emoji:e()}}function Fn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function qc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ht(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&qc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Ho(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Ai(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function yt(e){return "recordId"in e?e.recordId:void 0}function Vc(e){let n=[];for(let r=0;r<e.length;r+=ji)n.push(e.slice(r,r+ji));return n}function Kr(e){return e==="gif"?Nc:Hc}function Ne(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function No(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ne(o)!==r)].slice(0,Kr(n.kind)))}function $c(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ne(o)!==r)])}function Gi(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ne(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Kr(e)))break}return Object.freeze(o)}function Di(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function qo(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Lo(e,n,r){let o=e.filter(I=>I.kind==="emoji").slice(0,14).map(I=>Object.freeze({kind:"emoji",stableKey:qo(I),token:I.token,resourceId:I.resourceId})),s=n.filter(I=>I.kind==="game"||r.has(I.stableKey)),c=[],m=new Set;for(let I of [...s,...o])if(!m.has(I.stableKey)&&(m.add(I.stableKey),c.push(I),c.length===14))break;return Object.freeze(c)}function Uo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Bc(e){return defineStore("k2-im-expression",()=>{let n=Ie(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),I=ref({}),T=Vt(),z=reactive({}),q=ref({sticker:[],gif:[]}),D=It(Vt),X=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),g=zi(Vt),K=ref({sticker:[],gif:[],emoji:[]}),B=ref([]),$=ref("idle"),ne=ref(""),O=ref([]),w=ref(0),Y=Vt(),N=ref(void 0),ce=computed(()=>Fn(T,m.value.length)),re=computed(()=>{let d=new Set([...Object.keys(z),...Object.keys(I.value)]);return Object.fromEntries([...d].map(p=>{let v=z[p]??{loading:false,loaded:true,error:null};return [p,Fn(v,I.value[p]?.length??0)]}))}),M=computed(()=>({sticker:Fn(D.sticker,q.value.sticker.length),gif:Fn(D.gif,q.value.gif.length)})),E=computed(()=>({sticker:Fn(g.sticker,R.value.sticker.length),gif:Fn(g.gif,R.value.gif.length),emoji:Fn(g.emoji,B.value.length)})),b=computed(()=>Fn(Y,O.value.length)),A=computed(()=>N.value!==void 0),x=false,C=0,_=0,V={},me=It(()=>0),le=zi(()=>0),H=0,Q=0,he=0,ue=0,Ce=0,ke=null,Se=null,je=null,F="emoji",U=new Set,fe=[],pe=null,de=null,De=null,k=null,h=It(()=>new Map),G=It(()=>new Map),te=new Map,se=new Map,ae=It(()=>Promise.resolve());function Re(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:C,accountId:d.userId}}function ie(d){return !x&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===C&&d.accountId===r.getCredentials().userId}function ye(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,p,v){let y=ht(p,d);return v.error=y,Object.freeze({ok:false,operation:d,reason:"failed",error:y})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function io(d){return d.kind==="emoji"?null:d.kind==="sticker"?Object.freeze({kind:"sticker",packageId:d.packageId,resourceId:d.resourceId,url:d.url,width:d.width,height:d.height}):Object.freeze({kind:"gif",...d.resourceId===void 0||d.resourceId===""?{}:{resourceId:d.resourceId},url:d.url,width:d.width,height:d.height})}function yn(){let d=p=>Object.freeze(R.value[p].flatMap(v=>{let y=io(v);return y===null?[]:[Object.freeze({asset:y,pendingSync:h[p].has(Ne(y))})]}).slice(0,Kr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(B.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:te.has(p.stableKey)})))})}function bn(){for(let d of ["sticker","gif","emoji"])g[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(g[d].error=null);}function ln(d,p){let v=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function Zt(d,p,v,y=[p]){let P=o,j=++he,ee=xi(P,d.accountId,v,y);Ce=ee.revision;let oe=ee.promise.then(()=>(ie(d)&&j===he&&bn(),true),Z=>{if(!ie(d)||j!==he)return false;let ve=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return g[p].error=ve,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ve.code,data:Z}})),false});return {...ee,settled:oe}}function Sn(d){return ke!==null&&$e(ke,d)}function Cn(d){if(De!==null)return De;let v=(async()=>{for(;ie(d)&&!Sn(d);){let P=k!==null&&$e(k.context,d)?k:null;if(P!==null){let ee=await P.promise;if(ee.ok||!ie(d)||ee.reason!=="stale")return;continue}let j=await qe();if(j.ok||!ie(d)||j.reason!=="stale")return}})();De=v;let y=()=>{De===v&&(De=null);};return v.then(y,y),v}function cn(d,p,v){if(!ie(d))return Promise.resolve();if(ue+=1,o===void 0||d.accountId==="")return ke=d,Promise.resolve();let y=yn();return Sn(d)?Zt(d,p,y).settled.then(()=>{}):(je=y,F=p,U.add(p),fe.push(v),Cn(d))}function er(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function un(d$1,p){let v=[...d$1.sticker],y=[...d$1.gif],P=[...d$1.emoji],j=new Map(d$1.pendingSticker),ee=new Map(d$1.pendingGif),oe=new Map(d$1.pendingEmoji);for(let Z of p){if(Z.type==="prepend-asset"){(Z.kind==="sticker"?j:ee).set(Ne(Z.asset),Z.asset),Z.kind==="sticker"?v=[...No(v,Z.asset)]:y=[...No(y,Z.asset)];continue}if(Z.type==="prepend-emoji"||Z.type==="prepend-emojis"){let ge=Z.type==="prepend-emoji"?[Z.entry]:Z.entries;for(let ze of ge)ze.kind==="emoji"&&oe.set(ze.stableKey,ze),P=[...d(P,ze)];continue}if(Z.type==="authoritative"){if(Z.kind==="emoji"){for(let ge of Z.items)if(ge.kind==="emoji")for(let[ze,_e]of oe)_e.resourceId===ge.resourceId&&oe.delete(ze);P=[...Lo(Z.items,P,new Set(oe.keys()))];}else {let ge=Z.kind==="sticker"?j:ee;for(let _e of Z.items)_e.kind===Z.kind&&ge.delete(Ne(_e));let ze=Gi(Z.kind,Z.items,ge);Z.kind==="sticker"?v=[...ze]:y=[...ze];}continue}if(Z.type==="delete-assets"){let ge=new Set(Z.identities),ze=Z.kind==="sticker"?j:ee,_e=Ee=>Ee.kind==="emoji"||!ge.has(Ne(Ee))||ze.has(Ne(Ee));Z.kind==="sticker"?v=v.filter(_e):y=y.filter(_e);continue}let ve=new Set(Z.resourceIds);P=P.filter(ge=>ge.kind==="game"||!ve.has(ge.resourceId)||oe.has(ge.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(y),emoji:Object.freeze(P),pendingSticker:j,pendingGif:ee,pendingEmoji:oe}}function rt(d){if(!_r(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(oe,Z)=>{let ve=[],ge=new Map,ze=new Set;for(let _e of Z){if(!_r(_e)||typeof _e.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Ee=Uc(_e.asset,oe),He=Ne(Ee);ze.has(He)||(ze.add(He),ve.length<Kr(oe)&&(ve.push(Ee),_e.pendingSync&&ge.set(He,Ee)));}return {items:Object.freeze(ve),pending:ge}},v=p("sticker",d.sticker),y=p("gif",d.gif),P=[],j=new Map,ee=new Set;for(let oe of d.emoji){if(!_r(oe)||typeof oe.stableKey!="string"||oe.stableKey.trim()===""||oe.kind!=="emoji"&&oe.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let Z=oe.stableKey.trim(),ve,ge=false;if(oe.kind==="game"){if(oe.gameType!=="dice"&&oe.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ve=Uo(oe.gameType),ve.stableKey!==Z)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let ze=bt(oe.token,"emoji.token"),_e=bt(oe.resourceId,"emoji.resourceId");if(typeof oe.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");ge=oe.pendingSync,ve=Object.freeze({kind:"emoji",stableKey:Z,token:ze,resourceId:_e});}ee.has(Z)||(ee.add(Z),P.length<14&&(P.push(ve),ve.kind==="emoji"&&ge&&j.set(Z,ve)));}return {sticker:v.items,gif:y.items,emoji:Object.freeze(P),pendingSticker:v.pending,pendingGif:y.pending,pendingEmoji:j}}function Rn(d){R.value={sticker:d.sticker,gif:d.gif,emoji:[]},K.value={sticker:[],gif:[],emoji:[]},B.value=d.emoji,h.sticker.clear(),h.gif.clear(),te.clear();for(let[p,v]of d.pendingSticker)h.sticker.set(p,v);for(let[p,v]of d.pendingGif)h.gif.set(p,v);for(let[p,v]of d.pendingEmoji)te.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(g[p],{loading:false,loaded:true,error:null});}function Ue(d,p){if(o===void 0||d.accountId==="")return 0;let v=$t(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ae(d){if(o===void 0||d.accountId===""||!Sn(d))return;let p=$t(o,d.accountId);if(p.revision===Ce)return;let v=p.latestSnapshot===null?er():rt(p.latestSnapshot),y=(P,j)=>{let ee=P==="sticker"?v.pendingSticker:v.pendingGif,oe=new Map(R.value[P].flatMap(Z=>Z.kind==="emoji"||Z.kind!==P?[]:[[Ne(Z),Z]]));return Object.freeze(j.map(Z=>{if(Z.kind==="emoji"||Z.kind!==P)return Z;let ve=Ne(Z);if(ee.has(ve))return Z;let ge=yt(oe.get(ve)??Z);return Object.freeze({...Z,...ge===void 0?{}:{recordId:ge}})}))};R.value={sticker:y("sticker",v.sticker),gif:y("gif",v.gif),emoji:R.value.emoji},B.value=v.emoji,h.sticker.clear(),h.gif.clear(),te.clear();for(let[P,j]of v.pendingSticker)h.sticker.set(P,j);for(let[P,j]of v.pendingGif)h.gif.set(P,j);for(let[P,j]of v.pendingEmoji)te.set(P,j);for(let P of ["sticker","gif"]){let j=new Set(R.value[P].flatMap(ee=>yt(ee)===void 0?[]:[yt(ee)]));K.value={...K.value,[P]:Object.freeze(K.value[P].filter(ee=>j.has(ee)))};}Ce=p.revision;}async function dn(d,p,v,y){let P="hydrate-recent";g.emoji.error=null;try{let j=null,ee=0;if(o!==void 0&&d.accountId!==""){j=$t(o,d.accountId);let Ee=j.latestSnapshot;if(!y&&j.status==="failed"&&Ee!==null&&xi(o,d.accountId,Ee,[]),ee=j.revision,await j.tail.catch(()=>{}),p!==Q||!ie(d)||ue!==v||j.revision!==ee)return ye(P);if(!y&&j.status==="failed")return ln(P,g.emoji);j.status==="saved"&&pe!==null&&j.latestSnapshot===pe&&je===de&&(je=null,U.clear(),fe.length=0,pe=null,de=null);}let oe=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Q||!ie(d)||ue!==v||j!==null&&j.revision!==ee)return ye(P);let Z;try{Z=oe===null?er():rt(oe);}catch(Ee){let He=o?.clearInvalid;if(oe!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,oe);}catch(Xe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Xe})}throw Ee}let ve=y?null:je,ge=new Set(U),ze=[...fe],_e=ve===null?Z:un(Z,ze);if(Rn(_e),Ce=ee,y){if(je=null,U.clear(),fe.length=0,pe=null,de=null,j!==null){j.revision+=1;for(let Ee of ["sticker","gif","emoji"])j.kindRevisions[Ee]+=1;j.status="saved",j.latestSnapshot=oe,j.error=null,Ce=j.revision;}return ke=d,bn(),Object.freeze({ok:!0,operation:P})}if(ve!==null&&o!==void 0&&d.accountId!==""){let Ee=yn();pe=Ee,de=ve;let He=Zt(d,F,Ee,[...ge]),Xe=await He.settled;if(p!==Q||!ie(d)||ue!==v||He.coordinator.revision!==He.revision)return ye(P);if(!Xe)return ln(P,g.emoji);je===ve&&(je=null,U.clear(),fe.length=0,pe=null,de=null);}return ke=d,Object.freeze({ok:!0,operation:P})}catch(j){return p!==Q||!ie(d)?ye(P):we(P,j,g.emoji)}}function $e(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function qe(d={}){let p="hydrate-recent";if(x)return Promise.resolve(ye(p));let v;try{v=Re();}catch(ve){let ge=we(p,ve,g.emoji);return !ge.ok&&ge.reason==="failed"&&(Se=ge.error??g.emoji.error),Promise.resolve(ge)}let y=o===void 0||v.accountId===""?null:$t(o,v.accountId);if(!d.force&&Sn(v)&&je===null&&(y===null||(y.status==="idle"||y.status==="saved")&&y.revision===Ce))return Se=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&k!==null&&!k.force&&k.stateRevision===ue&&$e(k.context,v))return k.promise;let P=++Q,j=ue,ee=dn(v,P,j,d.force===true).then(ve=>(ve.ok?Se=null:ve.reason==="failed"&&(Se=ve.error??g.emoji.error),ve)),oe={context:v,stateRevision:j,force:d.force===true,promise:ee};k=oe;let Z=()=>{k===oe&&(k=null);};return ee.then(Z,Z),ee}async function fn(d){let p="load-packs";if(x)return ye(p);let v=++_,y;try{y=Re();}catch(P){return we(p,P,T)}T.loading=true,T.error=null;try{let P=await y.client.expressions.packs.list(d);return v!==_||!ie(y)?ye(p):(c.value=P.version,m.value=Object.freeze([...P.items]),T.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(P){return v!==_||!ie(y)?ye(p):we(p,P,T)}finally{v===_&&ie(y)&&(T.loading=false);}}async function En(d){let p="load-pack-items";if(x)return ye(p);let v=d.trim();if(v===""){let ee=ht(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:ee})}let y=z[v]??=Vt(),P=(V[v]??0)+1;V[v]=P;let j;try{j=Re();}catch(ee){return we(p,ee,y)}y.loading=true,y.error=null;try{let ee=await j.client.expressions.packs.listItems(v);return V[v]!==P||!ie(j)?ye(p):(I.value={...I.value,[v]:Object.freeze([...ee])},y.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(ee){return V[v]!==P||!ie(j)?ye(p):we(p,ee,y)}finally{V[v]===P&&ie(j)&&(y.loading=false);}}async function ot(d){let p="load-favorites";if(x)return ye(p);let v=++me[d],y=D[d],P;try{P=Re();}catch(j){return we(p,j,y)}y.loading=true,y.error=null;try{let j=await P.client.expressions.favorites.list(d);return me[d]!==v||!ie(P)?ye(p):(Nn(d,j),y.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(j){return me[d]!==v||!ie(P)?ye(p):we(p,j,y)}finally{me[d]===v&&ie(P)&&(y.loading=false);}}function Nn(d,p){for(let j of p)G[d].delete(Ne(j));let v=[],y=new Set;for(let j of [...G[d].values(),...p]){let ee=Ne(j);y.has(ee)||(y.add(ee),v.push(Object.freeze({...j})));}q.value={...q.value,[d]:Object.freeze(v)};let P=new Set(p.flatMap(j=>j.recordId===void 0?[]:[j.recordId]));X.value={...X.value,[d]:Object.freeze(X.value[d].filter(j=>P.has(j)))};}async function Ln(d,p,v){let y=D[p];try{let P=await d.client.expressions.favorites.list(p);if(me[p]!==v||!ie(d))return;Nn(p,P),y.loaded=!0;}catch(P){me[p]===v&&ie(d)&&(y.error=ht(P,"load-favorites"));}}function Pn(d,p){let v="set-favorite";if(x)return Promise.resolve(ye(v));let y=Ne(d),P=se.get(y);if(P?.desired===p)return P.promise;let j;try{j=Re();}catch(ve){return Promise.resolve(we(v,ve,D[d.kind]))}let ee=P?.promise.catch(()=>{})??Promise.resolve(),oe=ae[d.kind].catch(()=>{}),Z=Promise.all([ee,oe]).then(async()=>{if(!ie(j))return ye(v);let ve=d.kind,ge=D[ve];ge.error=null;let ze=q.value[ve].find(Ee=>Ne(Ee)===y);if(p&&ze!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&ze?.recordId===void 0){let Ee=Ho({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return ge.error=Ee,Object.freeze({ok:false,operation:v,reason:"failed",error:Ee})}let _e=++me[ve];try{if(p?await j.client.expressions.favorites.add(d):await j.client.expressions.favorites.delete([ze.recordId]),!ie(j))return ye(v);p?(G[ve].set(y,Object.freeze({...d})),q.value={...q.value,[ve]:$c(q.value[ve],d)}):(G[ve].delete(y),q.value={...q.value,[ve]:Object.freeze(q.value[ve].filter(He=>He.recordId!==ze.recordId))});let Ee=++me[ve];return _e=Ee,await Ln(j,ve,Ee),!ie(j)||me[ve]!==Ee?ye(v):Object.freeze({ok:!0,operation:v})}catch(Ee){return !ie(j)||me[ve]!==_e?ye(v):we(v,Ee,ge)}finally{me[ve]===_e&&ie(j)&&(ge.loading=false);}});return se.set(y,{desired:p,promise:Z}),ae[d.kind]=Z.then(()=>{},()=>{}),Z.finally(()=>{se.get(y)?.promise===Z&&se.delete(y);}),Z}async function jn(d){let p=await Pn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Tn(d){return Pn(d,false)}function kn(d,p,v){if(x)return;let y=Ai(p),P=new Set(X.value[d]);v??!P.has(y)?P.add(y):P.delete(y),X.value={...X.value,[d]:Object.freeze([...P])};}function nn(d,p,v){if(Ae(v),d==="emoji"){for(let P of p)if(P.kind==="emoji")for(let[j,ee]of te)ee.resourceId===P.resourceId&&te.delete(j);R.value={...R.value,emoji:Object.freeze([...p])},B.value=Lo(p,B.value,new Set(te.keys()));}else {for(let P of p)P.kind===d&&h[d].delete(Ne(P));R.value={...R.value,[d]:Gi(d,p,h[d])};}let y=new Set(p.flatMap(P=>P.recordId===void 0?[]:[P.recordId]));K.value={...K.value,[d]:Object.freeze(K.value[d].filter(P=>y.has(P)))},g[d].loaded=true,cn(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function tn(d){let p="load-recent";if(x)return ye(p);let v=g[d],y=await qe();if(!y.ok)return y.reason==="stale"?ye(p):(v.error=y.error??g.emoji.error,Object.freeze({...y,operation:p}));let P=++le[d],j;try{j=Re();}catch(ee){return we(p,ee,v)}v.loading=true,v.error=null;try{let ee=Ue(j,d),oe=await j.client.expressions.recent.list(d);return le[d]!==P||!ie(j)?ye(p):Ue(j,d)!==ee?(Ae(j),ye(p)):(nn(d,oe,j),Object.freeze({ok:!0,operation:p}))}catch(ee){return le[d]!==P||!ie(j)?ye(p):we(p,ee,v)}finally{le[d]===P&&ie(j)&&(v.loading=false);}}async function gn(d,p){if(!ie(d))return;let v=++le[p],y=g[p];y.loading=true,y.error=null;try{Ae(d);let P=Ue(d,p),j=await d.client.expressions.recent.list(p);if(le[p]!==v||!ie(d))return;if(Ue(d,p)!==P){Ae(d);return}nn(p,j,d);}catch(P){le[p]===v&&ie(d)&&(y.error=ht(P,"load-recent"));}finally{le[p]===v&&ie(d)&&(y.loading=false);}}function mn(d,p){if(!ie(d))return false;Ae(d),Q+=1;let v=p.kind,y=Object.freeze({...p});return h[v].set(Ne(y),y),R.value={...R.value,[v]:No(R.value[v],y)},g[v].loaded=true,cn(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:y})),true}function pn(d$1,p){if(!ie(d$1))return false;Ae(d$1),Q+=1;let v=Object.freeze(p.map(P=>Object.freeze({...P}))),y=B.value;for(let P of v)te.set(P.stableKey,P),y=d(y,P);return B.value=y,g.emoji.loaded=true,cn(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Be(d,p){return pn(d,[p])}async function We(d,p,v=true){let y="report-recent";if(!ie(d))return ye(y);let P=p.kind,j=++le[P],ee=g[P];ee.error=null;try{if(await d.client.expressions.recent.report(p),le[P]!==j||!ie(d))return ye(y);if(!v)return Object.freeze({ok:!0,operation:y});try{Ae(d);let oe=Ue(d,P),Z=await d.client.expressions.recent.list(P);if(le[P]!==j||!ie(d))return ye(y);if(Ue(d,P)!==oe)return Ae(d),ye(y);nn(P,Z,d);}catch(oe){le[P]===j&&ie(d)&&(ee.error=ht(oe,"load-recent"));}return Object.freeze({ok:!0,operation:y})}catch(oe){return le[P]!==j||!ie(d)?ye(y):we(y,oe,ee)}}async function so(d){let p="report-recent";if(x)return ye(p);let v;try{v=Re();}catch(y){return we(p,y,g[d.kind])}return d.kind==="emoji"?Be(v,Object.freeze({...d,stableKey:qo(d)})):mn(v,d),We(v,d)}function lo(d,p,v){if(x)return;let y=Ai(p),P=new Set(K.value[d]);v??!P.has(y)?P.add(y):P.delete(y),K.value={...K.value,[d]:Object.freeze([...P])};}async function nr(d,p,v){let y=d==="favorites"?"delete-favorites":"delete-recent";if(x)return ye(y);let P=d==="favorites"?X:K,j=d==="favorites"?me:le,ee=d==="favorites"?D:g,oe=v?.selected??P.value[p];if(oe.length===0)return Object.freeze({ok:false,operation:y,reason:"empty"});let Z=ee[p];if(Z.loading)return Object.freeze({ok:false,operation:y,reason:"busy"});let ve=++j[p],ge;try{ge=v?.context??Re();}catch(Te){return we(y,Te,Z)}d==="recent"&&Ae(ge);let ze=d==="recent"?Ue(ge,p):0,_e=new Set(oe),Ee=d==="recent"?R.value[p].filter(Te=>{let Ye=yt(Te);return Ye!==void 0&&_e.has(Ye)}):[];Z.loading=true,Z.error=null;let He=[],Xe=new Set,xn,zn,rn=false;for(let Te of Vc(oe)){if(!ie(ge))return ye(y);if(d==="recent"&&j[p]!==ve){rn=true;break}try{d==="favorites"?await ge.client.expressions.favorites.delete(Te):await ge.client.expressions.recent.delete(Te);for(let Ye of Te)Xe.add(Ye);}catch(Ye){let An=ht(Ye,y);xn??=An,He.push(...Te);}}if(!ie(ge))return ye(y);if(d==="recent"&&j[p]!==ve&&(rn=true),d==="recent"&&Ue(ge,p)!==ze&&(rn=true),d==="favorites"){let Te=p;q.value={...q.value,[Te]:Object.freeze(q.value[Te].filter(Gn=>Gn.recordId===void 0||!Xe.has(Gn.recordId)))};let Ye=new Set(oe),An=X.value[Te].filter(Gn=>!Ye.has(Gn));if(X.value={...X.value,[Te]:Object.freeze([...new Set([...An,...He])])},zn=++me[Te],await Ln(ge,Te,zn),!ie(ge))return ye(y)}else {let Te=p;Ae(ge);let Ye=Ee.filter(xe=>{let on=yt(xe);return on!==void 0&&Xe.has(on)}),An=new Set(Ye.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),Gn=new Set(Ye.filter(xe=>xe.kind!=="emoji").map(Ne));Te==="emoji"&&(B.value=Object.freeze(B.value.filter(xe=>xe.kind==="game"||!An.has(xe.resourceId)||te.has(xe.stableKey)))),R.value={...R.value,[Te]:Object.freeze(R.value[Te].filter(xe=>{let on=yt(xe);return on===void 0||!Xe.has(on)}))};let uo=new Set(oe),vn=rn?K.value[Te].filter(xe=>!Xe.has(xe)):K.value[Te].filter(xe=>!uo.has(xe));if(K.value={...K.value,[Te]:Object.freeze(rn?vn:[...new Set([...vn,...He])])},Te==="emoji"){let xe=R.value.emoji.filter(on=>on.kind==="emoji");B.value=Lo(xe,B.value,new Set(te.keys()));}let In=Object.freeze(Te==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...An])}:{type:"delete-assets",kind:Te,identities:Object.freeze([...Gn])});if(cn(ge,Te,In),rn&&Xe.size>0&&await gn(ge,Te),!ie(ge))return ye(y)}return (d==="recent"?le[p]===ve:me[p]===zn)&&(Z.loaded=true,(xn!==void 0||d==="recent")&&(Z.error=xn??null),Z.loading=false),rn?ye(y):He.length===0?Object.freeze({ok:true,operation:y}):Object.freeze({ok:false,operation:y,reason:Xe.size===0?"failed":"partial",error:xn,failedRecordIds:Object.freeze(He)})}function co(d){let p="delete-favorites";if(x)return Promise.resolve(ye(p));let v=Object.freeze([...X.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let y;try{y=Re();}catch(ee){return Promise.resolve(we(p,ee,D[d]))}let j=ae[d].catch(()=>{}).then(()=>ie(y)?nr("favorites",d,{context:y,selected:v}):ye(p));return ae[d]=j.then(()=>{},()=>{}),j}function tr(d){return nr("recent",d)}function at(d,p){let v=++H;return $.value=d,ne.value=p,O.value=[],w.value=0,N.value=void 0,Y.loading=true,Y.loaded=false,Y.error=null,v}async function it(d,p){let v="load-giphy";if(x)return ye(v);let y={mode:$.value,query:ne.value,items:O.value,totalCount:w.value,nextOffset:N.value,loaded:Y.loaded},P=at(d,p),j=()=>{$.value=y.mode,ne.value=y.query,O.value=y.items,w.value=y.totalCount,N.value=y.nextOffset,Y.loaded=y.loaded;},ee;try{ee=Re();}catch(oe){return j(),Y.loading=false,we(v,oe,Y)}try{let oe=d==="trending"?await ee.client.expressions.giphy.trending():await ee.client.expressions.giphy.search(p);return P!==H||!ie(ee)?ye(v):(O.value=Di(oe.items),w.value=oe.totalCount,N.value=oe.nextOffset,Y.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(oe){return P!==H||!ie(ee)?ye(v):(j(),we(v,oe,Y))}finally{P===H&&ie(ee)&&(Y.loading=false);}}function st(){return it("trending","")}function wn(d){if(x)return Promise.resolve(ye("load-giphy"));let p=d.trim();return p===""?(at("search",""),Y.loading=false,Y.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):it("search",p)}async function rr(){let d="load-more-giphy";if(x)return ye(d);if(Y.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if($.value==="idle"||N.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++H,v=$.value,y=ne.value,P=N.value,j;try{j=Re();}catch(ee){return we(d,ee,Y)}Y.loading=true,Y.error=null;try{let ee=v==="trending"?await j.client.expressions.giphy.trending({offset:P}):await j.client.expressions.giphy.search(y,{offset:P});return p!==H||!ie(j)?ye(d):(O.value=Di([...O.value,...ee.items]),w.value=ee.totalCount,N.value=ee.nextOffset,Y.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ee){return p!==H||!ie(j)?ye(d):we(d,ee,Y)}finally{p===H&&ie(j)&&(Y.loading=false);}}async function or(d){return Tt([d])}async function Tt(d){let p="report-recent";if(x)return ye(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=Re();}catch(j){return we(p,j,g.emoji)}let y=Object.freeze(d.map(j=>Object.freeze({...j,stableKey:qo(j)})));if(!pn(v,y))return ye(p);let P=Object.freeze({ok:true,operation:p});for(let[j,ee]of y.entries())if(P=await We(v,{kind:"emoji",token:ee.token,resourceId:ee.resourceId},j===y.length-1),!P.ok&&P.reason==="stale")return P;return P}function Qe(d,p){We(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function ar(d,p){if(x)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendSticker(p);}catch(P){if(!ie(v))return Ke();throw P}return ie(v)?(y.ok&&mn(v,p)&&Qe(v,p),y):Ke()}async function wt(d,p){if(x)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendGifAsset(p);}catch(P){if(!ie(v))return Ke();throw P}return ie(v)?(y.ok&&mn(v,p)&&Qe(v,p),y):Ke()}async function lt(d$1,p){if(x)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d$1.messages.sendGame(p);}catch(P){if(!ie(v))return Ke();throw P}return ie(v)?(y.ok&&(Ae(v),Q+=1,B.value=d(B.value,Uo(p)),g.emoji.loaded=true,cn(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Uo(p)}))),y):Ke()}function Je(d={}){if(x)return;let p=d.preserveRecentHydrationFailure===true?Se:null;C+=1,_+=1,H+=1,Q+=1,he+=1,ue=0,Ce=0,ke=null,je=null,U.clear(),fe.length=0,pe=null,de=null,De=null,k=null,Se=p,se.clear(),ae=It(()=>Promise.resolve()),c.value="",m.value=[],I.value={},Object.assign(T,{loading:false,loaded:false,error:null});for(let v of Object.keys(z))delete z[v];for(let v of Object.keys(V))V[v]=(V[v]??0)+1;q.value={sticker:[],gif:[]},X.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])me[v]+=1,Object.assign(D[v],{loading:false,loaded:false,error:null});R.value={sticker:[],gif:[],emoji:[]},K.value={sticker:[],gif:[],emoji:[]},B.value=[],h.sticker.clear(),h.gif.clear(),G.sticker.clear(),G.gif.clear(),te.clear();for(let v of ["sticker","gif","emoji"])le[v]+=1,Object.assign(g[v],{loading:false,loaded:false,error:null});p!==null&&(g.emoji.error=p),$.value="idle",ne.value="",O.value=[],w.value=0,N.value=void 0,Object.assign(Y,{loading:false,loaded:false,error:null});}function ir(){x||(Je(),x=true);}return Fr.set(e,Object.freeze({dispose:ir})),{packVersion:c,packs:m,packItemsByPackage:I,packStatus:ce,packItemStatus:re,favorites:q,favoriteStatus:M,favoriteSelection:X,recent:R,recentStatus:E,recentSelection:K,emojiRecent:B,giphyMode:$,giphyQuery:ne,giphyItems:O,giphyTotalCount:w,giphyHasMore:A,giphyStatus:b,hydrateRecent:qe,loadPacks:fn,loadPackItems:En,loadFavorites:ot,addFavorite:jn,setFavorite:Pn,unsetFavorite:Tn,toggleFavoriteSelection:kn,deleteSelectedFavorites:co,loadRecent:tn,reportRecent:so,rememberEmoji:or,rememberEmojis:Tt,toggleRecentSelection:lo,deleteSelectedRecent:tr,loadGiphyTrending:st,searchGiphy:wn,loadMoreGiphy:rr,sendSticker:ar,sendGif:wt,sendGame:lt,reset:Je}})}var _i=new WeakMap,Dr=new WeakMap;function Wc(e=Pe()){Ie(e);let n=_i.get(e);n===void 0&&(n=Bc(e),_i.set(e,n));let r=n(e),o=Fr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Dr.get(e)!==r&&(Dr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Dr.get(e)===r&&(Dr.delete(e),Fr.get(e)===o&&Fr.delete(e));})),r}var Hr=new WeakMap;function Ki(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Nr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Qc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Jc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Xc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:r!==null&&Jc(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ki(n)})}function Yc(e=Pe()){let n=Ie(e),r=Hr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Ge(e),m=Mn(e),I={disposed:false};function T(g){return !I.disposed&&o.getGeneration()===g.generation&&c.getHandle()===g.handle&&Nr(c.activeRef,g.conversation)}function z(){let g=I.activeIntent;g!==void 0&&(I.activeIntent=void 0,g.complete(Object.freeze({status:"stale",conversation:g.conversation})));}async function q(g){if(!T(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:g.generation,conversation:g.conversation}));try{if(!await c.loadLatest()||!T(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:g.generation,conversation:g.conversation})),g.complete(Object.freeze({status:"applied",conversation:g.conversation}));}catch(K){if(!T(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}let B=Xc(K,g.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:g.generation,conversation:g.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:B}})),g.complete(Object.freeze({status:"failed",conversation:g.conversation,error:B}));}}function D(g){let K=I.activeIntent;K===void 0||g.type!=="message:received"||g.source!=="live"||g.message.senderId!==K.selfId||g.message.status==="sent"||!Nr(g.ref,K.conversation)||(I.activeIntent=void 0,q(K));}async function X(g,K){let B=c.getHandle();if(!Qc(g)||I.disposed||!c.hasNewer||B===void 0||!Nr(B.ref,g)||!Nr(c.activeRef,g))return Object.freeze({value:await K(),history:Object.freeze({status:"not-needed"})});z();let $=Ki(g),ne,O=new Promise(Y=>{let N=false;ne=ce=>{N||(N=true,Y(ce));};}),w={token:Symbol("history-return-after-send"),conversation:$,handle:B,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:ne};I.activeIntent=w;try{let Y=await K();return I.activeIntent?.token===w.token&&(I.activeIntent=void 0,w.complete(T(w)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),Object.freeze({value:Y,history:await O})}catch(Y){throw I.activeIntent?.token===w.token&&(I.activeIntent=void 0,w.complete(T(w)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),await O,Y}}let R=o.subscribeProductEvents(D);return I.coordinator=Object.freeze({run:X}),Hr.set(e,I),Oe(e,()=>{I.disposed=true,z(),R(),Hr.get(e)===I&&Hr.delete(e);}),I.coordinator}function Li(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ui(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Li(e.conversation)}})}function nu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function tu(e,n){return nu(e)?Ui(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function ru(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:Li(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Ui(e.error)}})}function qi(e,n){return n===void 0?e:`${e}\0${n}`}function Jn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ou(e){return defineStore("k2-im-media",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),I=false,T=0,z=null,q=-1,D,X=computed(()=>{let C=o.activeRef,_={};for(let V of s.value)V.direction!=="upload"||V.state!=="queued"&&V.state!=="running"||!Jn(C,V.ref)||(_[V.messageId]=V.state==="queued"?0:V.percent);return _}),R=computed(()=>{let C={};for(let _ of s.value)_.direction==="download"&&Jn(o.activeRef,_.ref)&&(C[qi(_.messageId,_.itemIndex)]=_);return C}),g=computed(()=>{let C={};for(let[_,V]of Object.entries(R.value))(V.state==="queued"||V.state==="running")&&(C[_]=V.percent);return C}),K=computed(()=>{let C=o.activeRef,_={};for(let V of s.value)V.direction==="upload"&&V.state==="queued"&&V.phase==="waiting-upload-slot"&&Jn(C,V.ref)&&(_[V.messageId]=true);return _}),B=computed(()=>{let C=o.activeRef,_={};for(let V of s.value)V.direction==="upload"&&V.state==="running"&&V.phase==="finalizing"&&Jn(C,V.ref)&&(_[V.messageId]=true);return _});function $(C,_,V){I||z!==_||q!==V||n.getGeneration()!==V||(s.value=C.map(ru));}function ne(C){let _=n.getGeneration();if(I)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(z===C&&q===_||(T+=1,D?.(),D=void 0,z=C,q=C===null?-1:_,s.value=[],c.value=null,C===null))return;let V=false;D=C.media.subscribe(me=>{V=true,$(me,C,_);}),V||$(C.media.getSnapshot(),C,_),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:_}));}function O(){ne(n.getProductClient());}function w(){ne(null),m.value=null;}async function Y(C,_){let V=n.getProductClient();if(V===null)return Object.freeze({ok:false,operation:C,reason:"not-ready"});if(ne(V),!s.value.some(H=>H.id===_))return Object.freeze({ok:false,operation:C,reason:"not-found"});let me=n.getGeneration(),le=T;c.value=null;try{return await V.media[C](_),I||le!==T||n.getGeneration()!==me||z!==V?Object.freeze({ok:!1,operation:C,reason:"stale"}):Object.freeze({ok:!0,operation:C})}catch(H){if(I||le!==T||n.getGeneration()!==me||z!==V)return Object.freeze({ok:false,operation:C,reason:"stale"});let Q=tu(H,C);return c.value=Q,r.record("error","pinia","media",`media-task-${C}-failed`,()=>({generation:me,data:{taskId:_},error:{message:Q.code,data:Q}})),Object.freeze({ok:false,operation:C,reason:"failed",error:Q})}}function N(C){return Y("cancel",C)}function ce(C){return Y("retry",C)}async function re(C){let _=o.activeRef,V=s.value.find(le=>le.direction==="upload"&&(le.state==="queued"||le.state==="running")&&le.messageId===C&&Jn(_,le.ref));if(V===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let me=await N(V.id);return Jn(o.activeRef,V.ref)?me:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function M(C,_){let V=s.value.find(le=>le.direction==="download"&&(le.state==="queued"||le.state==="running")&&le.messageId===C&&le.itemIndex===_);if(V===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let me=await N(V.id);return Jn(o.activeRef,V.ref)?me:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function E(C){let _=o.activeRef;return C.status!=="failed"||C.failure?.displayCode!=="media.uploadInterrupted"||C.contentType!=="video"&&C.contentType!=="file"||_===null||C.conversationId!==_.conversationId||C.conversationType!==_.conversationType?false:(m.value=Object.freeze({messageId:C.id,conversationId:C.conversationId,conversationType:C.conversationType,kind:C.contentType}),true)}function b(){let C=m.value;return m.value=null,C}function A(){m.value=null;}function x(){I||(T+=1,D?.(),D=void 0,z=null,q=-1,s.value=[],c.value=null,m.value=null,I=true);}return {tasks:s,error:c,uploadProgress:X,downloadTasks:R,downloadProgress:g,uploadWaiting:K,uploadFinalizing:B,replacementRequest:m,start:O,reset:w,cancel:N,retry:ce,cancelUpload:re,cancelDownload:M,requestReplacement:E,takeReplacementRequest:b,clearReplacementRequest:A,dispose:x}})}var Ni=new WeakMap,Lr=new WeakMap;function au(e=Pe()){Ie(e);let n=Ni.get(e);n===void 0&&(n=ou(e),Ni.set(e,n));let r=n(e);return Lr.get(e)!==r&&(Lr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Lr.get(e)===r&&Lr.delete(e);})),r}function Xn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Ur(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function iu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function su(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&iu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Ct(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Rt(e,n){return Ct(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`channel-member-management.${e}`,retryable:false,conversation:n}))}function lu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Vi(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function cu(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):I("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):I(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Vi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:Vi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function uu(e,n,r,o){let s=Xn(r);if(s.conversationId==="")return {ok:false,result:Rt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ct(n,s,"not-ready")};let m=e.getGeneration(),I=cu(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:Ct(n,s,"not-allowed",lu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Pt(e,n,r,o,s){let c=uu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ct(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Ct(n,c.captured.conversation,"stale");let I=su(m,n,c.captured.conversation),T=n==="leave"&&I.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Ct(n,c.captured.conversation,T,I)}}function du(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function $i(e,n,r){let o=Xn(n),s=du(r);return s.length===0?Promise.resolve(Rt("invite-members",o)):Pt(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Bi(e,n,r){let o=Xn(n),s=Ur(r);return s.userId===""?Promise.resolve(Rt("remove-member",o)):Pt(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Wi(e,n,r,o){let s=Xn(n),c=Ur(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Rt(m,s)):Pt(e,m,s,async({client:I})=>(o?await I.channels.addAdmin(s,c.userId):await I.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Qi(e,n,r){return Wi(e,n,r,true)}function Ji(e,n,r){return Wi(e,n,r,false)}function Xi(e,n,r){let o=Xn(n),s=Ur(r);return s.userId===""?Promise.resolve(Rt("transfer-ownership",o)):Pt(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Yi(e,n,r){let o=Xn(n),s=r===void 0?void 0:Ur(r);return s!==void 0&&s.userId===""?Promise.resolve(Rt("leave",o)):Pt(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Zi(e,n){let r=Xn(n);return Pt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Wt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function fu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function mu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&fu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function kt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ot(e,n){return kt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function pu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function vu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):I("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function gu(e,n,r,o){let s=Wt(r);if(s.conversationId==="")return {ok:false,result:Ot(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:kt(n,s,"not-ready")};let m=e.getGeneration(),I=vu(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:kt(n,s,"not-allowed",pu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Kn(e,n,r,o,s){let c=gu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:kt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?kt(n,c.captured.conversation,"failed",mu(m,n,c.captured.conversation)):kt(n,c.captured.conversation,"stale")}}function es(e,n,r){let o=Wt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ot(e,o)}:{ok:true,value:s}}function ns(e,n,r){let o=r.trim();return o===""?Promise.resolve(Ot("update-name",Wt(n))):Kn(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var Iu=100;function ts(e,n,r){let o=r.trim();return o===""||[...o].length>Iu?Promise.resolve(Ot("update-description",Wt(n))):Kn(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function rs(e,n,r){return Kn(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?Ot("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function os(e,n,r){let o=es("set-my-nickname",n,r);return o.ok?Kn(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function as(e,n,r,o,s){let c=r.trim(),m=es("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Ot("set-member-nickname",Wt(n)):m.result);let I=Object.freeze({userId:c,role:o});return Kn(e,"set-member-nickname",n,async({client:T,conversation:z})=>(await T.channels.setMemberNickname(z,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:z,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),I)}function is(e,n,r,o){return Kn(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ss(e,n,r){return Kn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ls(e,n,r){return Kn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function hu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function yu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function bu(e){let n=e.getProductClient();if(n===null)return null;let r=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===r&&e.getProductClient()===n})}function Cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ru(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&Cu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Yn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function qr(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function Zn(e,n,r,o){let s=bu(e);if(s===null)return {ok:false,result:Yn(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:Yn(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:Yn(n,r,"failed",Ru(c,n,r))}:{ok:false,result:Yn(n,r,"stale")}}}function Mt(e,n){let r=hu(n);return r.conversationId===""?{ok:false,result:Yn(e,r,"failed",qr(e,r))}:{ok:true,conversation:r}}async function cs(e,n,r){let o=Mt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Zn(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(I=>Object.freeze({countryCode:I.countryCode,mobile:I.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function us(e,n){let r=Mt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ds(e,n,r){let o=Mt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return Yn("report",s,"failed",qr("report",s));let m=await Zn(e,"report",s,I=>I.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function fs(e,n){let r=Mt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ms(e,n){let r=n.trim();if(r==="")return Yn("search-user",null,"failed",qr("search-user",null));let o=await Zn(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:yu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function ps(e,n){let r=Mt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"resolve-application-target",o,async c=>{let[m,I]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw qr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:I,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function vs(e,n,r){let o=Mt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Zn(e,"request-friendship",s,m=>m.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return c.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:c.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):c.result}function Qt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ku(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Pu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function St(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Jt(e,n){return St(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`group-member-management.${e}`,retryable:false,conversation:n}))}function Ou(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Mu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function Su(e,n,r,o=false){let s=Qt(r);if(s.conversationId==="")return {ok:false,result:Jt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:St(n,s,"not-ready")};let m=e.getGeneration(),I=Mu(c,s,n,o);return I.availability!=="available"?{ok:false,result:St(n,s,"not-allowed",Ou(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Vr(e,n,r,o,s=false){let c=Su(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:St(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return St(n,c.captured.conversation,"stale");let I=ku(m,n,c.captured.conversation),T=n==="leave"&&I.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return St(n,c.captured.conversation,T,I)}}function Eu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function gs(e,n,r){let o=Qt(n),s=Eu(r);return s.length===0?Promise.resolve(Jt("invite-members",o)):Vr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Is(e,n,r){let o=Qt(n),s=r.trim();return s===""?Promise.resolve(Jt("remove-member",o)):Vr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function hs(e,n,r){let o=Qt(n),s=r.trim();return s===""?Promise.resolve(Jt("transfer-ownership",o)):Vr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ys(e,n,r={}){let o=Qt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Jt("leave",o)):Vr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Vo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function ju(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function bs(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&ju(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function en(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Tu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function wu(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function Cs(e,n,r){let o=Vo(r);if(o.conversationId==="")return {ok:false,result:en(n,o,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:o}))};let s=e.getProductClient();if(s===null)return {ok:false,result:en(n,o,"not-ready")};let c=e.getGeneration(),m=wu(s,o,n);return m.availability!=="available"?{ok:false,result:en(n,o,"not-allowed",Tu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function $o(e,n,r,o){let s=Cs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:en(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?en(n,s.captured.conversation,"failed",bs(c,n,s.captured.conversation)):en(n,s.captured.conversation,"stale")}}function Rs(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(en("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return $o(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ps(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(en("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return $o(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ks(e,n,r,o){return $o(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Os(e,n,r){let o=Cs(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?en("update-avatar",s.conversation,"failed",bs(c,"update-avatar",s.conversation)):en("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");let m=c?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...m===void 0||m===""?{}:{avatar:m},stale:!1,projectionUpdated:!1,refreshRequired:m===void 0||m===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):en("update-avatar",s.conversation,"stale")}}function xu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function zu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:xu(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function Ms(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Ss(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function Es(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:zu(n,r.value)}function js(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function Ts(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let I=[];for(let T of c){let z=await s.group.listMembers(T.id,{forceRefresh:false});z!==null&&z.some(q=>q.userId===r)&&I.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:T.id}),name:T.displayName||T.cardDisplayName||T.id,...T.avatarUrl===void 0?{}:{avatar:T.avatarUrl}}));}return Object.freeze(I)}async function ws(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Ms(r.value),stale:r.stale})}async function xs(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Ms(r)}async function zs(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function As(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Gs(e,n){return e.ensureProductClient().directory.search(n)}async function Ds(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Bo(c)}function Bo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function _s(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let I=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(T=>T.userId===c);return I===void 0?null:Object.freeze({userId:I.userId,...I.nickname===void 0?{}:{nickname:I.nickname},displayName:I.displayName,...I.avatar===void 0?{}:{avatar:I.avatar},role:I.role})}async function Wo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Bo(c)}async function Fs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Bo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Qo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Jo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Qo(o)}async function Ks(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Qo(c)}async function Hs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Qo(s)}function Ns(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Du=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),_u=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Ls=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function be(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function J(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function et(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function $r(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Xt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function tt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Fu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ve(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Fu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:be(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:be(r)}})}function Br(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Ku(e){return defineStore("k2-im-profile-directory",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),I=ref("unknown"),T=ref(false),z$1=shallowRef(null),q=shallowRef([]),D=ref(false),X=shallowRef(null),R=shallowRef(null),g=shallowRef(null),K=shallowRef([]),B$1=ref(false),$=ref(false),ne=shallowRef(null),O=shallowRef(null),w=shallowRef(null),Y=ref(false),N=shallowRef(null),ce=reactive({individual:Br(),group:Br(),channel:Br()}),re=ref(""),M=shallowRef(null),E=ref(false),b=shallowRef(null),A$1=shallowRef(null),x$1=shallowRef([]),C=ref(""),_=ref(false),V=ref(false),me=shallowRef(null),le=shallowRef(null),H=shallowRef(null),Q=ref(false),he=shallowRef(null),ue=shallowRef(null),Ce=shallowRef([]),ke=ref(""),Se=ref(false),je=ref(false),F=shallowRef(null),U=false,fe=new Map,pe=0,de={direct:0,group:0,channel:0},De=0,k={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},h={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},G={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},te=new Map,se=0,ae=new Map,Re=new Map,ie=new Set,ye=new Set,we=new Map,Ke=new Map,io=0,yn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},bn=new Map,ln=new Map,Zt=0,Sn=new Set,Cn=new Map,cn=new Map,er=0,un=0,rt=0,Rn=new Map,Ue=new Map,Ae=new Map,dn=new Map,$e=new Map,qe=new Map,fn=new Map,En=ref(0),ot={individual:0,group:0,channel:0},Nn=new Map,Ln=0,Pn,jn,Tn,kn=0,nn,tn,gn,mn=0,pn,Be,We;function so(a){return s.value[a.conversationId]??0}function lo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=y(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?x(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?x(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function nr(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?z(t,n.getChannelMemberProfiles(),a.conversationId,i):A(t,i)}function co(a){return o.value,B(n.getSenderProfileCache(),a)}function tr(a,i){return qa(n,a,i)}function at(a,i){return ra$1(n,a.conversationId,i)}function it(a,i,t){let l=n.getGeneration(),u=fe.get(a.conversationId)??0;return sa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(fe.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function st(a,i){let t=a.conversationId.trim();if(t==="")return;fe.set(t,(fe.get(t)??0)+1);let l={...n.getChannelMemberProfiles()},u=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(u.length===0)delete l[t];else {let f={...l[t]??{}};for(let S of u)delete f[S];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function wn(a,i){let t=a.conversationId.trim();t!==""&&(st(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function rr(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function or(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Tt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function Qe(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function ar(a,i,t={}){let l=$e.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(L=>L.userId)),f=new Map(l),S=i.map(L=>{let W=l.get(L.userId);return W===void 0?L:(t.reconcile===true&&W===L.nickname&&f.delete(L.userId),Object.freeze({...L,nickname:W}))});if(t.reconcile===true)for(let L of f.keys())u.has(L)||f.delete(L);return f.size===0?$e.delete(a):$e.set(a,f),Object.freeze(S)}function wt(a,i){let t=$e.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&$e.delete(a));}function lt(a,i){let t=qe.get(a);return t===void 0||t.size===0?i:Object.freeze(i.map(l=>{let u=t.get(l.userId);return u===void 0?l:Object.freeze({...l,displayName:u.displayName})}))}function Je(a,i){let t=qe.get(a),l=fn.get(a),u=O.value?.conversationId===a?w.value?.ownerId:dn.get(a)?.ownerId;return (t===void 0||t.size===0)&&(l===void 0||l.size===0)&&u===void 0?i:Object.freeze(i.map(f=>{let S=t?.get(f.userId),L=l?.get(f.userId),W=u!==void 0&&f.userId===u;if(S===void 0&&L===void 0&&!W)return f;let{nickname:Me,...sn}=f;return Object.freeze({...sn,...S===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:S.nickname===""?{}:{nickname:S.nickname},displayName:S?.displayName??f.displayName,role:W?"owner":L??f.role})}))}function ir(a,i){let t=qe.get(a);if(t===void 0)return;let l=false;for(let u of i)t.get(u.userId)?.nickname===(u.nickname??"")&&(t.delete(u.userId),l=true);t.size===0&&qe.delete(a),l&&(En.value+=1);}function d(a,i){let t=qe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(a),En.value+=1);}function p(a,i){let t=fn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&fn.delete(a);}}function v(a,i){let t=fn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&fn.delete(a));}function y$1(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?R.value:O.value;return !U&&n.getGeneration()===i&&pe===t&&de[a.conversationType]===l&&J(u,a)}async function P(a,i={}){let t=be(a),l=++pe,u=de.direct,f=n.getGeneration(),S=!J(c.value,t);c.value=t,S&&(m.value=null,I.value="unknown"),T.value=true,z$1.value=null;try{let L=await Ss(n,t,i);return y$1(t,f,l,u)?(m.value=L.profile,I.value=L.relationship,T.value=!1,L.profile===null?Object.freeze({ok:!1,operation:"direct-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"direct-profile"})):Object.freeze({ok:!1,operation:"direct-profile",reason:"stale"})}catch(L){if(!y$1(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let W=Ve(L,"profile.direct",t);return z$1.value=W,T.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:W})}}async function j(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let L=await _t({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!L.ok)return Object.freeze({ok:false,reason:"channel-profile",result:L});if(f=J(O.value,a)?w.value:null,pa({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let S=await P({conversationType:"direct",conversationId:l},{forceRefresh:u});return S.ok?Object.freeze({ok:true,destination:pa({conversation:a,relationship:I.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:S})}async function ee(a){let i=be(a),t=++De,l=n.getGeneration();c.value=i,D.value=true,X.value=null;try{let u=await Ts(n,i.conversationId);return !J(c.value,i)||l!==n.getGeneration()||t!==De?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(q.value=u,D.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!J(c.value,i)||l!==n.getGeneration()||t!==De)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ve(u,"profile.direct-mutual-groups",i);return X.value=f,D.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function oe(a){return k[a]+=1,k[a]}function Z(a,i){return !U&&k[a]===i}async function ve(a,i){let t=be(a),l=oe("set-remark"),u=await cs(n,t,i);if(!Z("set-remark",l)||!J(c.value,t))return et("set-remark",t);if(!u.ok)return u;let f=m.value,S=f!==null&&f.userId===t.conversationId;return S&&(m.value=Object.freeze({...f,...i.name===void 0?{}:{remark:i.name},...i.emails===void 0?{}:{remarkEmails:Object.freeze([...i.emails])},...i.phones===void 0?{}:{remarkPhones:Object.freeze(i.phones.map(L=>Object.freeze({countryCode:L.countryCode,mobile:L.mobile})))}})),Object.freeze({...u,projectionUpdated:S})}async function ge(a){let i=be(a),t=oe("block"),l=await us(n,i);return !Z("block",t)||!J(c.value,i)?et("block",i):l.ok?(I.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a,i){let t=be(a),l=oe("report"),u=await ds(n,t,i);return !Z("report",l)||!J(c.value,t)?et("report",t):u}async function _e(a){let i=be(a),t=oe("delete-friendship"),l=await fs(n,i);return !Z("delete-friendship",t)||!J(c.value,i)?et("delete-friendship",i):l.ok?(I.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function Ee(a){let i=oe("search-user"),t=await ms(n,a);return Z("search-user",i)?t:et("search-user",t.conversation)}async function He(a){let i=be(a),t=oe("resolve-application-target"),l=await ps(n,i);return Z("resolve-application-target",t)?l:et("resolve-application-target",i)}async function Xe(a,i){let t=be(a),l=oe("request-friendship"),u=await vs(n,t,i);return Z("request-friendship",l)?u:et("request-friendship",t)}function xn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function zn(a,i){h[a]+=1;let t=n.getGeneration(),l=de.group,u=xn(i,a,t,l);return ae.set(u,(ae.get(u)??0)+1),Object.freeze({epoch:h[a],generation:t,key:u,resetEpoch:l})}function rn(a,i){let t=ae.get(i.key)??0;t<=1?ae.delete(i.key):ae.set(i.key,t-1),ea(a);}function xt(a,i){return !U&&n.getGeneration()===i.generation&&de.group===i.resetEpoch&&h[a]===i.epoch}function zt(a,i){let t=n.getGeneration(),l=de.group;return i!==void 0?(ae.get(xn(a,i,t,l))??0)>0:Object.keys(h).some(u=>(ae.get(xn(a,u,t,l))??0)>0)}async function Te(a,i){let t=be(a),l=i.trim(),u=zn("update-name",t);try{let f=await Rs(n,t,l);if(!xt("update-name",u)||!J(R.value,t))return $r("update-name",t);if(!f.ok)return f;let S=g.value!==null;return S&&wl(t,l),Object.freeze({...f,projectionUpdated:S})}finally{rn(t,u);}}async function Ye(a,i){let t=be(a),l=zn("update-avatar",t);try{let u=await Os(n,t,i);if(!xt("update-avatar",l)||!J(R.value,t))return $r("update-avatar",t);if(!u.ok)return u;let f=g.value!==null&&u.avatar!==void 0;return f&&xl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{rn(t,l);}}async function An(a,i){let t=be(a),l=i.trim(),u=zn("set-my-nickname",t);try{let f=await Ps(n,t,l);if(!xt("set-my-nickname",u)||!J(R.value,t))return $r("set-my-nickname",t);if(!f.ok)return f;let S=K.value.some(L=>L.userId===f.memberId);return ca(t,f.memberId,l),va(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:S})}finally{rn(t,u);}}async function Gn(a,i,t){let l=be(a),u=i===4?t?.trim():void 0,f=zn("update-verification",l);try{let S=await ks(n,l,i,u);if(!xt("update-verification",f)||!J(R.value,l))return $r("update-verification",l);if(!S.ok)return S;let L=g.value!==null;return L&&zl(l,i,u),Object.freeze({...S,projectionUpdated:L})}finally{rn(l,f);}}function uo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function vn(a,i,t="profile"){let l=n.getGeneration(),u=de.channel,f=uo(i,a,t,l,u),S=++io;return we.set(f,S),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:be(i),epoch:S,generation:l,resetEpoch:u,key:f})}function In(a){let i=Ke.get(a.key)??0;i<=1?Ke.delete(a.key):Ke.set(a.key,i-1),we.get(a.key)===a.epoch&&we.delete(a.key),oa(a.conversation);}function xe(a){return !U&&n.getGeneration()===a.generation&&de.channel===a.resetEpoch&&we.get(a.key)===a.epoch}function on(a,i,t){let l=`${n.getGeneration()}:${de.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of Ke){let S=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(S)&&(t===void 0||u===`${S}${t.trim()}`))return true}return false}function Yo(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function Zs(a,i){let t=be(a);if(an(t))return nt("update-name",t);let l=i.trim(),u=vn("update-name",t);try{let f=await ns(n,t,l);if(!xe(u)||!J(O.value,t))return Hn("update-name",t);if(!f.ok)return f;let S=w.value!==null;return S&&fa(t,l),Object.freeze({...f,projectionUpdated:S})}finally{In(u);}}async function el(a,i){let t=be(a);if(an(t))return nt("update-description",t);let l=i.trim(),u=vn("update-description",t);try{let f=await ts(n,t,l);if(!xe(u)||!J(O.value,t))return Hn("update-description",t);if(!f.ok)return f;let S=w.value!==null;return S&&ma(t,l),Object.freeze({...f,projectionUpdated:S})}finally{In(u);}}async function nl(a,i){let t=be(a);if(an(t))return nt("update-avatar",t);let l=vn("update-avatar",t);try{let u=await rs(n,t,i);if(!xe(l)||!J(O.value,t))return Hn("update-avatar",t);if(!u.ok)return u;let f=w.value!==null;return f&&pa$1(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function tl(a,i){let t=be(a),l=i.trim(),u=vn("set-my-nickname",t,n.getCredentials().userId);try{let f=await os(n,t,l);return !xe(u)||!J(O.value,t)?Hn("set-my-nickname",t):f.ok?(ho(t,f.memberId,l,l),Yo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{In(u);}}async function rl(a,i,t){let l=be(a);if(an(l))return nt("set-member-nickname",l);let u=i.trim(),f=t.trim(),S=Ro(l,u),L=vn("set-member-nickname",l,u);try{let W=await as(n,l,u,S?.role??"unknown",f);return !xe(L)||!J(O.value,l)?Hn("set-member-nickname",l):W.ok?(ho(l,W.memberId,f,f),Yo(l,W.memberId,f),Object.freeze({...W,projectionUpdated:!0})):W}finally{In(L);}}async function ol(a,i,t){let l=be(a);if(an(l))return nt("update-verification",l);let u=i===4?t?.trim():void 0,f=vn("update-verification",l);try{let S=await is(n,l,i,u);if(!xe(f)||!J(O.value,l))return Hn("update-verification",l);if(!S.ok)return S;let L=w.value!==null;return L&&va$1(l,i,u),Object.freeze({...S,projectionUpdated:L})}finally{In(f);}}async function al(a,i){let t=be(a);if(an(t))return nt("set-all-muted",t);let l=vn("set-all-muted",t);try{let u=await ss(n,t,i);if(!xe(l)||!J(O.value,t))return Hn("set-all-muted",t);if(!u.ok)return u;let f=w.value!==null;return f&&Io(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function il(a,i){let t=be(a);if(an(t))return nt("set-member-private-chat-disabled",t);let l=vn("set-member-private-chat-disabled",t);try{let u=await ls(n,t,i);if(!xe(l)||!J(O.value,t))return Hn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=w.value!==null;return f&&Io(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}function sl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function fo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function sr(a,i,t){let l=n.getGeneration(),u=G[a],f=fo(i,a,l,u),S=sl(i,a,t,l,u),L=++se;return te.set(S,L),Re.set(f,(Re.get(f)??0)+1),Object.freeze({actionEpoch:L,actionKey:S,generation:l,resetEpoch:u,writeKey:f})}function lr(a,i){let t=Re.get(i.writeKey)??0;t<=1?Re.delete(i.writeKey):Re.set(i.writeKey,t-1),te.get(i.actionKey)===i.actionEpoch&&te.delete(i.actionKey),ea(a);}function cr(a,i){return !U&&n.getGeneration()===i.generation&&G[a]===i.resetEpoch&&te.get(i.actionKey)===i.actionEpoch}function ur(a,i){let t=n.getGeneration();return i!==void 0?(Re.get(fo(a,i,t,G[i]))??0)>0:Object.keys(G).some(l=>(Re.get(fo(a,l,t,G[l]))??0)>0)}function ll(a,i){let t=i.trim();t!==""&&Ue.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function cl(a,i){if(i===null||i.isInGroup===false)return Ue.delete(a.conversationId),i;let t=Ue.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Zo(a){J(R.value,a)&&ft(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!J(R.value,a)||dr(a);});}function At(a){J(R.value,a)&&Dt(a,{forceRefresh:true});}function ea(a){zt(a)||ur(a)||(ie.delete(a.conversationId)&&At(a),ye.delete(a.conversationId)&&Oo(a));}function dr(a){J(R.value,a)&&ua(n,a.conversationId,K.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function ul(a,i){let t=be(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=sr("invite-members",t,l);try{let f=await gs(n,t,i);if(!cr("invite-members",u))return tt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&J(R.value,t)&&At(t),f;if(!J(R.value,t))return tt("invite-members",t);let S=f.memberIds.some(L=>da(t,L));for(let L of f.memberIds)vo(t,L);return Zo(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{lr(t,u);}}async function dl(a,i){let t=be(a),l=sr("remove-member",t,i.trim());try{let u=await Is(n,t,i);if(!cr("remove-member",l))return tt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&J(R.value,t)&&At(t),u;if(!J(R.value,t))return tt("remove-member",t);let f=K.value.some(S=>S.userId===u.memberId);return po(t,u.memberId),Zo(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{lr(t,l);}}async function fl(a,i){let t=be(a),l=sr("transfer-ownership",t,"group-owner");try{let u=await hs(n,t,i);if(!cr("transfer-ownership",l))return tt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&J(R.value,t)&&At(t),u;if(!J(R.value,t))return tt("transfer-ownership",t);ll(t,u.ownerId);let f=g.value,S=f!==null;return f!==null&&(g.value=Object.freeze({...f,ownerId:u.ownerId})),At(t),Object.freeze({...u,projectionUpdated:S,refreshRequired:!1})}finally{lr(t,l);}}async function ml(a,i={}){let t=be(a),l=sr("leave",t,"membership");try{let u=await ys(n,t,i);if(!u.ok&&!cr("leave",l))return tt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&J(R.value,t)&&await Dt(t,{forceRefresh:!0}),u;go(t),wa(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=J(R.value,t)&&(g.value!==null||K.value.length>0);return J(R.value,t)&&(R.value=null,g.value=null,K.value=[],B$1.value=!1,$.value=!1,ne.value=null),Object.freeze({...u,projectionUpdated:f})}finally{lr(t,l);}}function pl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function na(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ct(a,i,t){let l=n.getGeneration(),u=yn[a],f=pl(i,a,t,l,u),S=na(i,a,l,u),L=++Zt;return bn.set(f,L),ln.set(S,(ln.get(S)??0)+1),Object.freeze({actionEpoch:L,actionKey:f,conversation:be(i),writeKey:S,generation:l,resetEpoch:u})}function ut(a){let i=ln.get(a.writeKey)??0;i<=1?ln.delete(a.writeKey):ln.set(a.writeKey,i-1),bn.get(a.actionKey)===a.actionEpoch&&bn.delete(a.actionKey),oa(a.conversation);}function dt(a,i){return !U&&n.getGeneration()===i.generation&&yn[a]===i.resetEpoch&&bn.get(i.actionKey)===i.actionEpoch}function fr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(yn):[i]).some(u=>(ln.get(na(a,u,t,yn[u]))??0)>0)}function mr(a,i){let t=i.trim();if(t==="")return;let l=Ro(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function vl(a,i){let t=i.trim();t!==""&&dn.set(a.conversationId,{ownerId:t});}function an(a){let i=dn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ta$1(a,i){if(i===null)return dn.delete(a.conversationId),null;let t=dn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(dn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function gl(a){return !J(O.value,a)||w.value===null?false:(w.value=ta$1(a,w.value),true)}function Il(a){J(A$1.value,a)&&ko(a,{preserveExisting:true});}function Gt(a){J(O.value,a)&&_t(a,{forceRefresh:true});}function pr(a){Gt(a),Il(a);}function hl(a,i,t,l){let u=Cn.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(S=>S.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let S of f)u.userIds.add(S);u.affectsMentions||=i,u.resolvesProfiles||=t,Cn.set(a.conversationId,u);}function ra(a,i){let t=Cn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&Cn.delete(a.conversationId);}}function oa(a){if(on(a)||fr(a))return;Sn.delete(a.conversationId)&&ba(a);let i=Cn.get(a.conversationId);if(i===void 0)return;Cn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?wn(a,t):st(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&it(a,t,{forceRefresh:true}),Ir(a);}function yl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function aa(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function bl(a,i){let t=be(a);if(an(t))return Xt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ct("invite-members",t,l);try{let f=await $i(n,t,i);if(!dt("invite-members",u))return hn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!J(O.value,t))return hn("invite-members",t);let S=f.memberIds.some(L=>Co(t,L));for(let L of f.memberIds)bo(t,L);return wn(t,f.memberIds),ra(t,f.memberIds),pr(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{ut(u);}}async function Cl(a,i){let t=be(a);if(an(t))return Xt("remove-member",t);let l=mr(t,i),u=ct("remove-member",t,i.trim());try{let f=await Bi(n,t,l??{userId:i,role:"unknown"});if(!dt("remove-member",u))return hn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!J(O.value,t))return hn("remove-member",t);let S=yl(t,f.memberId),L=x$1.value.some(W=>W.userId===f.memberId)||Ce.value.some(W=>W.userId===f.memberId)||S;return yo(t,f.memberId),wn(t,[f.memberId]),ra(t,[f.memberId]),pr(t),Object.freeze({...f,projectionUpdated:L,refreshRequired:!1})}finally{ut(u);}}async function Rl(a,i,t){let l=be(a),u=mr(l,i),f=t?"add-admin":"remove-admin";if(an(l))return Xt(f,l);let S=ct(f,l,i.trim());try{let L=t?await Qi(n,l,u??{userId:i,role:"unknown"}):await Ji(n,l,u??{userId:i,role:"unknown"});if(!dt(f,S))return hn(f,l);if(!L.ok)return L.outcome!=="stale"&&Gt(l),L;if(!J(O.value,l))return hn(f,l);let W=t?"admin":"member",Me=u?.role!==W;return Un(l,L.memberId,W),pr(l),Object.freeze({...L,projectionUpdated:Me,refreshRequired:!1})}finally{ut(S);}}async function Pl(a,i){let t=be(a);if(an(t))return Xt("transfer-ownership",t);let l=mr(t,i),u=ct("transfer-ownership",t,"channel-owner");try{let f=await Xi(n,t,l??{userId:i,role:"unknown"});if(!dt("transfer-ownership",u))return hn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!J(O.value,t))return hn("transfer-ownership",t);vl(t,f.ownerId);let S=gl(t);return Un(t,f.ownerId,"owner"),Un(t,n.getCredentials().userId,"member"),pr(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{ut(u);}}async function kl(a,i={}){let t=be(a),l=i.newOwnerId===void 0?void 0:mr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=ct("leave",t,"membership");try{let f=await Yi(n,t,l);if(!f.ok&&!dt("leave",u))return hn("leave",t);if(!f.ok)return f;let S=J(O.value,t)&&(w.value!==null||x$1.value.length>0||Ce.value.length>0);return vr(t),dn.delete(t.conversationId),aa(t),J(O.value,t)&&hr(),Object.freeze({...f,projectionUpdated:S})}finally{ut(u);}}async function Ol(a){let i=be(a);if(an(i))return Xt("dismiss",i);let t=ct("dismiss",i,"membership");try{let l=await Zi(n,i);if(!l.ok&&!dt("dismiss",t))return hn("dismiss",i);if(!l.ok)return l;let u=J(O.value,i)&&(w.value!==null||x$1.value.length>0||Ce.value.length>0);return vr(i),dn.delete(i.conversationId),aa(i),J(O.value,i)&&hr(),Object.freeze({...l,projectionUpdated:u})}finally{ut(t);}}async function Dt(a,i={}){let t=be(a),l=++pe,u=de.group,f=n.getGeneration(),S=!J(R.value,t);R.value=t,S&&(g.value=null,un+=1,K.value=[],$.value=false),B$1.value=true,ne.value=null;try{let L=i.forceRefresh===!0?null:await Es(n,t);if(!y$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(L!==null&&(g.value=L),i.restricted===!0)return i.includeMembers===!0&&await ft(t,{restricted:!0,forceRefresh:!0}),y$1(t,f,l,u)?(B$1.value=!1,g.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let W=await js(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!y$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Me=cl(t,W);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Me?.ref.conversationId??null,name:Me?.name??null,isInGroup:Me?.isInGroup??null,verifyWay:Me?.verifyWay??null,memberCount:Me?.memberCount??null,membershipDecision:Me?.isInGroup===!0?"joined":Me?.isInGroup===!1?"not-joined":"unknown"}})),Me===null||Me.isInGroup===!1?(un+=1,K.value=[],$.value=!1,go(t),wa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ft(t,{restricted:!1,forceRefresh:!0}),y$1(t,f,l,u)?(g.value=Me,B$1.value=!1,Object.freeze(Me===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(L){if(!y$1(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let W=Ve(L,"profile.group",t);return i.forceRefresh===true&&(g.value=null,un+=1,K.value=[],$.value=false),ne.value=W,B$1.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:W})}}async function ft(a,i={}){let t=be(a);if(J(R.value,t)||(R.value=t,K.value=[]),J(R.value,t)&&g.value?.ref.conversationId===t.conversationId&&g.value.isInGroup===false)return un+=1,K.value=[],$.value=false,Object.freeze({ok:true,operation:"group-members"});if(K.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++un,u=n.getGeneration();$.value=true;try{let f=i.preserveExisting===!0?null:await ws(n,t);if(U||n.getGeneration()!==u||l!==un||!J(R.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let S=f===null?null:Qe(Rn,t.conversationId,f.items);if(S!==null&&(K.value=ar(t.conversationId,S),dr(t)),i.restricted===!0||i.forceRefresh!==!0&&S!==null&&S.length>0)return $.value=!1,Object.freeze({ok:!0,operation:"group-members"});let L=await xs(n,t);return U||n.getGeneration()!==u||l!==un||!J(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(L!==null&&(K.value=ar(t.conversationId,Qe(Rn,t.conversationId,L),{reconcile:!0}),dr(t)),$.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==un||!J(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let S=Ve(f,"profile.group-members",t);return ne.value=S,$.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:S})}}async function _t(a,i){let t=be(a),l=++pe,u=de.channel,f=n.getGeneration(),S=!J(O.value,t);O.value=t,S&&(w.value=null,Vn(t)),Y.value=true,N.value=null;try{let L=await zs(n,t,i);if(!y$1(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let W=ta$1(t,L);return w.value=W,W!==null&&J(A$1.value,t)&&(x$1.value=Je(t.conversationId,x$1.value)),W===null?(vr(t),Vn()):W.canViewMembers!==!0&&Vn(),Y.value=!1,Object.freeze(W===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(L){if(!y$1(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let W=Ve(L,"profile.channel",t);return i?.forceRefresh===true&&(w.value=null,Vn()),N.value=W,Y.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:W})}}async function Ml(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,S=++er,L=n.getGeneration(),W=de[t.conversationType];cn.set(f,S);let Me=()=>!U&&n.getGeneration()===L&&de[t.conversationType]===W&&cn.get(f)===S&&(t.conversationType==="group"?J(R.value,t):J(O.value,t));try{let sn=t.conversationType==="group"?i.inviteCode===void 0?await u.groups.requestJoin(t):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?await u.channels.requestJoin(t):await u.channels.joinByInviteCode(t,i.inviteCode);return Me()?(sn.outcome==="joined"&&(t.conversationType==="group"?await Dt(t,{forceRefresh:!0}):await _t(t,{forceRefresh:!0})),Me()?Object.freeze({ok:!0,operation:l,outcome:sn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(sn){return Me()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ve(sn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{cn.get(f)===S&&cn.delete(f);}}async function ia(a,i,t){let l=ce[a];if(l.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&l.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&l.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let u=i?Nn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ot[a],S=n.getGeneration();l.loading=true,l.error=null;try{let L=await As(n,a,u);return U||S!==n.getGeneration()||f!==ot[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ns(i?l.items:[],L.items),l.loaded=!0,l.exhausted=L.exhausted,l.loading=!1,L.nextPageToken===void 0?Nn.delete(a):Nn.set(a,L.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(L){if(U||S!==n.getGeneration()||f!==ot[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let W=Ve(L,`directory.${a}`);return l.error=W,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:W})}}function Sl(a,i=false){return ia(a,i,false)}function El(a){return ia(a,false,true)}function sa$1(){Pn!==void 0&&(clearTimeout(Pn),Pn=void 0),jn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),jn=void 0;}async function jl(a,i){let t=n.getGeneration();try{let l=await Gs(n,a);return U||t!==n.getGeneration()||i!==Ln?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(M.value=l,E.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==Ln)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ve(l,"directory.search");return b.value=u,E.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function mo(){Ln+=1,sa$1(),re.value="",M.value=null,E.value=false,b.value=null,Tn=void 0;}function Tl(a,i={}){let t=a.trim();if(t==="")return mo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&jn?.keyword===t)return jn.promise;if(Tn?.keyword===t)return Tn.promise;if(!i.immediate&&re.value===t&&M.value?.keyword===t.toLocaleLowerCase()&&b.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Ln;sa$1(),re.value=t,M.value=null,E.value=true,b.value=null;let u=()=>{let L=jl(t,l);return Tn={keyword:t,promise:L},L.finally(()=>{Tn?.promise===L&&(Tn=void 0);}),L};if(i.immediate)return u();let f,S=new Promise(L=>{f=L;});return jn={keyword:t,promise:S,resolve:f},Pn=setTimeout(()=>{Pn=void 0,jn=void 0,u().then(f);},300),S}function la(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function wl(a,i){!J(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,name:i}));}function xl(a,i){!J(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,avatar:i}));}function zl(a,i,t){if(!J(R.value,a)||g.value===null)return;let{inviteCode:l,...u}=g.value;g.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ca(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=$e.get(a.conversationId)??new Map;f.set(l,u),$e.set(a.conversationId,f),J(R.value,a)&&(K.value=Object.freeze(K.value.map(S=>S.userId===l?Object.freeze({...S,nickname:u}):S)));}function ua$1(a,i){wt(a.conversationId,i);}function po(a,i){let t=i.trim();if(t===""||(wt(a.conversationId,t),rr(Rn,a.conversationId,t),!J(R.value,a)))return;let l=K.value.filter(f=>f.userId!==t),u=l.length!==K.value.length;u&&(K.value=Object.freeze(l),dr(a)),u&&g.value!==null&&g.value.memberCount!==void 0&&(g.value=Object.freeze({...g.value,memberCount:Math.max(0,g.value.memberCount-1)}));}function vo(a,i){wt(a.conversationId,i),or(Rn,a.conversationId,i);}function da(a,i){return Tt(Rn,a.conversationId,i)}function go(a){Rn.delete(a.conversationId),$e.delete(a.conversationId);}function fa(a,i){!J(O.value,a)||w.value===null||(w.value=Object.freeze({...w.value,name:i}));}function ma(a,i){!J(O.value,a)||w.value===null||(w.value=Object.freeze({...w.value,description:i}));}function pa$1(a,i){!J(O.value,a)||w.value===null||(w.value=Object.freeze({...w.value,avatar:i}));}function va$1(a,i,t){if(!J(O.value,a)||w.value===null)return;let{inviteCode:l,...u}=w.value;w.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Io(a,i){if(!J(O.value,a)||w.value===null)return;let t={...w.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};w.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ho(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),S=f||l?.trim()||u,L=qe.get(a.conversationId)??new Map;L.set(u,{nickname:f,displayName:S}),qe.set(a.conversationId,L),En.value+=1,J(A$1.value,a)&&(x$1.value=Je(a.conversationId,x$1.value)),qn(a,u)&&(H.value=Je(a.conversationId,H.value===null?[]:[H.value])[0]??null),J(ue.value,a)&&(Ce.value=Object.freeze(Ce.value.map(W=>W.userId===u?Object.freeze({...W,displayName:S}):W)));}function Un(a,i,t){let l=i.trim();if(l==="")return;let u=fn.get(a.conversationId)??new Map;u.set(l,t),fn.set(a.conversationId,u),J(A$1.value,a)&&(x$1.value=Je(a.conversationId,x$1.value)),qn(a,l)&&(H.value=Je(a.conversationId,H.value===null?[]:[H.value])[0]??null);}function ga(a,i){d(a.conversationId,i);}function Al(a,i){return En.value,qe.get(a.conversationId)?.get(i.trim())?.nickname}function yo(a,i){let t=i.trim();if(t==="")return;let l=J(A$1.value,a),u=J(ue.value,a);if(d(a.conversationId,t),v(a.conversationId,t),rr(Ae,a.conversationId,t),!l&&!u)return;let f=l&&x$1.value.some(L=>L.userId===t),S=u&&Ce.value.some(L=>L.userId===t);l&&(x$1.value=Object.freeze(x$1.value.filter(L=>L.userId!==t))),u&&(Ce.value=Object.freeze(Ce.value.filter(L=>L.userId!==t))),qn(a,t)&&(H.value=null),(f||S)&&J(O.value,a)&&w.value?.memberCount!==void 0&&(w.value=Object.freeze({...w.value,memberCount:Math.max(0,w.value.memberCount-1)}));}function bo(a,i){d(a.conversationId,i),v(a.conversationId,i),or(Ae,a.conversationId,i);}function Co(a,i){return Tt(Ae,a.conversationId,i)}function vr(a){Ae.delete(a.conversationId),fn.delete(a.conversationId),qe.delete(a.conversationId)&&(En.value+=1);}function On(a,i,t){return !U&&n.getGeneration()===i&&kn===t&&J(A$1.value,a)}function qn(a,i,t,l){let u=le.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||rt===l)&&u!==null&&J(u,a)&&u.userId===i}function Ro(a,i){let t=i.trim();if(t!==""){if(J(A$1.value,a)){let l=x$1.value.find(u=>u.userId===t);if(l!==void 0)return l}return qn(a,t)?H.value??void 0:void 0}}async function Gl(a,i,t={forceRefresh:true}){let l=be(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++rt,S=n.getGeneration();le.value=Object.freeze({...l,userId:u}),H.value=null,Q.value=true,he.value=null;try{let L=await _s(n,l,u,{forceRefresh:t.forceRefresh!==!1});return qn(l,u,S,f)?L===null||Co(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(H.value=Je(l.conversationId,[L])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(L){if(!qn(l,u,S,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let W=Ve(L,"profile.channel-member",l);return he.value=W,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:W})}finally{qn(l,u,S,f)&&(Q.value=false);}}async function Po(a,i,t){_.value=true,me.value=null;try{let l=await Fs(n,a,C.value);return On(a,i,t)?(ir(a.conversationId,l.items),p(a.conversationId,l.items),x$1.value=Je(a.conversationId,Qe(Ae,a.conversationId,l.items)),nn=l.nextCursor,V.value=l.exhausted||l.nextCursor===void 0,gn=void 0,_.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!On(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Ve(l,"profile.channel-members.refresh",a);return gn="initial",me.value=u,_.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Ia(a){if(_.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=be(a),t=kn,l=n.getGeneration();_.value=true,me.value=null;try{let u=await Wo(n,i,C.value);return On(i,l,t)?(u!==null&&(x$1.value=Je(i.conversationId,Qe(Ae,i.conversationId,u.items)),nn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0),await Po(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.cache",i);return gn="initial",me.value=f,_.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ha(a){if(_.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(V.value||nn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=be(a),t=kn,l=n.getGeneration();_.value=true,me.value=null;try{let u=await Ds(n,i,{query:C.value,cursor:nn});return On(i,l,t)?(ir(i.conversationId,u.items),p(i.conversationId,u.items),x$1.value=Je(i.conversationId,Qe(Ae,i.conversationId,la(x$1.value,u.items))),nn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0,gn=void 0,_.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.page",i);return gn="more",me.value=f,_.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Vn(a=null){tn!==void 0&&(clearTimeout(tn),tn=void 0),kn+=1,A$1.value=a===null?null:be(a),x$1.value=[],C.value="",_.value=false,V.value=false,me.value=null,nn=void 0,gn=void 0;}function ko(a,i={}){let t=be(a);if(i.preserveExisting===true&&J(A$1.value,t)){tn!==void 0&&(clearTimeout(tn),tn=void 0);let l=++kn,u=n.getGeneration();return me.value=null,Po(t,u,l)}return Vn(t),Ia(t)}function Dl(a){let i=A$1.value;if(i===null)return;C.value=a,kn+=1,x$1.value=[],V.value=false,me.value=null,nn=void 0,_.value=false,tn!==void 0&&clearTimeout(tn);let t=kn,l=n.getGeneration();(async()=>{try{let u=await Wo(n,i,C.value);if(!On(i,l,t))return;u!==null&&(x$1.value=Je(i.conversationId,Qe(Ae,i.conversationId,u.items)),nn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!On(i,l,t))return;me.value=Ve(u,"profile.channel-members.cache",i);}On(i,l,t)&&(tn=setTimeout(()=>{tn=void 0,Po(i,l,t);},300));})();}function _l(){let a=A$1.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ha(a)}function Fl(){let a=A$1.value;return a===null||gn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):gn==="more"?ha(a):Ia(a)}function Dn(a,i,t){return !U&&n.getGeneration()===i&&mn===t&&J(ue.value,a)}async function Ft(a,i={}){if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=be(a),l=mn,u=n.getGeneration();Se.value=true,F.value=null;try{let f=i.useCache===!1?null:await Jo(n,t,ke.value||void 0);if(!Dn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(Ce.value=lt(t.conversationId,Qe(Ae,t.conversationId,f.items)),pn=f.nextPageToken,je.value=f.exhausted||f.nextPageToken===void 0);let S=await Ks(n,t,ke.value||void 0);return Dn(t,u,l)?(Ce.value=lt(t.conversationId,Qe(Ae,t.conversationId,S.items)),pn=S.nextPageToken,je.value=S.exhausted||S.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Dn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let S=Ve(f,"profile.channel-mentions",t);return We="initial",F.value=S,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:S})}}async function ya(){let a=ue.value,i=pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(je.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=mn,l=n.getGeneration();Se.value=true,F.value=null;try{let u=await Hs(n,ke.value,i);return Dn(a,l,t)?(Ce.value=lt(a.conversationId,Qe(Ae,a.conversationId,la(Ce.value,u.items))),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Dn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ve(u,"profile.channel-mentions.page",a);return We="more",F.value=f,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function gr(a=null,i=""){Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,ue.value=a===null?null:be(a),Ce.value=[],ke.value=i,Se.value=false,je.value=false,F.value=null,pn=void 0,We=void 0;}function Kl(a,i=""){return J(ue.value,a)&&ke.value===i?(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,F.value=null,pn=void 0,We=void 0,Ft(a,{useCache:false})):(gr(a,i),Ft(a))}function Hl(a){let i=ue.value;if(i===null)return;gr(i,a);let t=mn,l=n.getGeneration();(async()=>{try{let u=await Jo(n,i,a||void 0);if(!Dn(i,l,t))return;u!==null&&(Ce.value=lt(i.conversationId,Qe(Ae,i.conversationId,u.items)),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Dn(i,l,t))return;F.value=Ve(u,"profile.channel-mentions.cache",i);}Dn(i,l,t)&&(Be=setTimeout(()=>{Be=void 0,Ft(i);},300));})();}function Nl(){let a=ue.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,F.value=null,pn=void 0,je.value=false,We=void 0,Ft(a,{useCache:false}))}function Ll(){let a=ue.value;return a===null||We===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):We==="more"?ya():Ft(a)}function Oo(a){J(R.value,a)&&(at(a,{forceRefresh:true}),ft(a,{forceRefresh:true,preserveExisting:true}));}function Ir(a){J(A$1.value,a)&&ko(a,{preserveExisting:true});}async function ba(a){if(!J(O.value,a))return;(await _t(a,{forceRefresh:true})).ok&&w.value?.canViewMembers===true&&Ir(a);}function Ul(a){if(a.type==="profile:updated"){if(a.profileType==="user")tr(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&P({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let W={conversationType:"group",conversationId:a.id};if(zt(W)||ur(W)){ie.add(W.conversationId);return}J(R.value,W)?Dt(W,{includeMembers:true,forceRefresh:true}):at(W,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let W={conversationType:"channel",conversationId:a.channelId};on(W)||fr(W)?Sn.add(W.conversationId):ba(W);return}if(a.type==="sync:complete"){for(let W of a.conversations)if(W.conversationType==="group"){let Me={conversationType:"group",conversationId:W.conversationId};J(R.value,Me)&&Oo(Me);}else if(W.conversationType==="channel"){let Me={conversationType:"channel",conversationId:W.conversationId};(J(O.value,Me)||J(A$1.value,Me)||J(ue.value,Me))&&(wn(Me),Ir(Me));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Du.has(t)){let W={conversationType:"group",conversationId:i.conversationId},Me=(a.source??"live")==="live",sn=t==="group_member_renamed"&&l.some(_n=>_n.trim()===u)&&zt(W,"set-my-nickname"),Bl=t==="group_member_renamed"&&!sn;if(t==="group_member_renamed"){sn||ta(n,i);for(let _n of l)sn&&_n.trim()===u||ua$1(W,_n);}if(t==="group_member_joined"||t==="group_member_invited")for(let _n of l)vo(W,_n);if(Me&&(t==="group_member_left"||t==="group_member_removed"))for(let _n of l)po(W,_n);if(ur(W)){ye.add(W.conversationId);return}Me&&!sn&&(Bl?J(R.value,W)&&ft(W,{forceRefresh:true,preserveExisting:true}):Oo(W));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!_u.has(t)||!f)return;let S={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(W=>on(S,W.trim()===u?"set-my-nickname":"set-member-nickname",W)))){if(t==="channel_member_renamed")for(let W of l)ga(S,W);if(t==="channel_admin_added"||t==="channel_admin_removed"){let W=t==="channel_admin_added"?"admin":"member";for(let Me of l)Un(S,Me,W);}if(t==="channel_owner_transferred"){for(let Me of l)Un(S,Me,"owner");let W=i.body.system?.operatorId;W!==void 0&&!l.includes(W)&&Un(S,W,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let W of l)bo(S,W);if(t==="channel_member_left"||t==="channel_member_removed")for(let W of l)yo(S,W);if(fr(S)){hl(S,Ls.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Ls.has(t)?wn(S,l):st(S,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&it(S,l,{forceRefresh:true}),Ir(S);}}let ql=n.subscribeProfileChange(()=>{o.value+=1;}),Vl=n.subscribeEvents(Ul);function Ca(){k["set-remark"]+=1,k.block+=1,k.report+=1,k["delete-friendship"]+=1,de.direct+=1,c.value=null,m.value=null,I.value="unknown",T.value=false,z$1.value=null,De+=1,q.value=[],D.value=false,X.value=null;}function Ra(){for(let a of Object.keys(h))h[a]+=1;for(let a of Object.keys(G))G[a]+=1;ae.clear(),Re.clear(),te.clear(),ie.clear(),ye.clear(),de.group+=1,un+=1,R.value=null,g.value=null,K.value=[],B$1.value=false,$.value=false,ne.value=null;}function hr(){for(let a of Object.keys(yn))yn[a]+=1;ln.clear(),bn.clear(),Ke.clear(),we.clear(),Sn.clear(),Cn.clear(),de.channel+=1,O.value=null,w.value=null,Y.value=false,N.value=null,rt+=1,le.value=null,H.value=null,Q.value=false,he.value=null,Vn(),gr();}function Pa(){Ca(),k["search-user"]+=1,k["resolve-application-target"]+=1,k["request-friendship"]+=1,Ra(),hr(),cn.clear();for(let a of ["individual","group","channel"])ot[a]+=1,Object.assign(ce[a],Br());Nn.clear(),mo(),Rn.clear(),Ue.clear(),Ae.clear(),dn.clear(),$e.clear(),fn.clear(),fe.clear(),s.value={},qe.size>0&&(qe.clear(),En.value+=1);}function $l(){U||(Pa(),U=true,ae.clear(),Re.clear(),te.clear(),Ke.clear(),we.clear(),ln.clear(),bn.clear(),ql(),Vl(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:I,directLoading:T,directError:z$1,directMutualGroups:q,directMutualGroupsLoading:D,directMutualGroupsError:X,groupRef:R,groupProfile:g,groupMembers:K,groupLoading:B$1,groupMembersLoading:$,groupError:ne,channelRef:O,channelProfile:w,channelLoading:Y,channelError:N,directories:ce,directorySearchKeyword:re,directorySearchResult:M,directorySearchLoading:E,directorySearchError:b,channelMembersRef:A$1,channelMembers:x$1,channelMemberQuery:C,channelMembersLoading:_,channelMembersExhausted:V,channelMembersError:me,channelMemberDetailRef:le,channelMemberDetail:H,channelMemberDetailLoading:Q,channelMemberDetailError:he,channelMentionsRef:ue,channelMentions:Ce,channelMentionQuery:ke,channelMentionsLoading:Se,channelMentionsExhausted:je,channelMentionsError:F,resolveDisplayName:lo,resolveAvatarUrl:nr,resolvePublicNickname:co,resolveSenderProfile:tr,resolveGroupMemberProfiles:at,resolveChannelMemberProfiles:it,invalidateChannelMemberProfiles:st,invalidateChannelMemberSet:wn,channelMentionRevision:so,loadDirect:P,resolveProfileAccess:j,loadDirectMutualGroups:ee,setDirectContactRemark:ve,blockDirectContact:ge,reportDirectContact:ze,deleteDirectFriendship:_e,searchDirectContact:Ee,resolveDirectContactTarget:He,requestDirectFriendship:Xe,loadGroup:Dt,updateGroupName:Te,updateGroupAvatar:Ye,setMyGroupNickname:An,updateGroupVerification:Gn,isGroupProfileWritePending:zt,inviteGroupMembers:ul,removeGroupMember:dl,transferGroupOwnership:fl,leaveGroup:ml,isGroupMemberManagementPending:ur,ensureGroupMembers:ft,loadChannel:_t,requestMembershipJoin:Ml,updateChannelName:Zs,updateChannelDescription:el,updateChannelAvatar:nl,setMyChannelNickname:tl,setChannelMemberNickname:rl,updateChannelVerification:ol,setChannelAllMuted:al,setChannelMemberPrivateChatDisabled:il,isChannelProfileWritePending:on,inviteChannelMembers:bl,removeChannelMember:Cl,setChannelMemberAdmin:Rl,transferChannelOwnership:Pl,leaveChannel:kl,dismissChannel:Ol,isChannelMemberManagementPending:fr,loadDirectory:Sl,refreshDirectory:El,searchDirectory:Tl,clearDirectorySearch:mo,openChannelMembers:ko,getChannelMember:Ro,loadChannelMember:Gl,setChannelMemberQuery:Dl,loadMoreChannelMembers:_l,retryChannelMembers:Fl,resetChannelMembers:Vn,updateGroupMemberNicknameProjection:ca,clearGroupMemberNicknameProjection:ua$1,removeGroupMemberProjection:po,restoreGroupMemberProjection:vo,isGroupMemberRemovedProjection:da,clearGroupMemberProjections:go,updateChannelNameProjection:fa,updateChannelDescriptionProjection:ma,updateChannelAvatarProjection:pa$1,updateChannelVerificationProjection:va$1,updateChannelManagementProjection:Io,updateChannelMemberDisplayNameProjection:ho,updateChannelMemberRoleProjection:Un,clearChannelMemberDisplayNameProjection:ga,channelMemberNicknameProjection:Al,removeChannelMemberProjection:yo,restoreChannelMemberProjection:bo,isChannelMemberRemovedProjection:Co,clearChannelMemberProjections:vr,openChannelMentions:Kl,setChannelMentionQuery:Hl,loadMoreChannelMentions:ya,refreshChannelMentions:Nl,retryChannelMentions:Ll,resetChannelMentions:gr,resetDirect:Ca,resetGroup:Ra,resetChannel:hr,reset:Pa,dispose:$l}})}var Us=new WeakMap,Wr=new WeakMap;function Hu(e=Pe()){Ie(e);let n=Us.get(e);n===void 0&&(n=Ku(e),Us.set(e,n));let r=n(e);return Wr.get(e)!==r&&(Wr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Wr.get(e)===r&&Wr.delete(e);})),r}var Xr=new WeakMap,Vu=Object.freeze({status:"loading",message:null}),qs=Object.freeze({status:"missing",message:null});function Qr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Xo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function $u(e){return defineStore("k2-im-quoted-message",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef({}),c=new Set,m=new Set,I=0,T=new Map,z=false,q=false,D=false,X=computed(()=>{let E=new Map;for(let b of o.messages)E.set(b.id,b);return E});function R(){I+=1,c.clear(),T.clear(),m=new Set,D=false,s.value={};}let g=watch(()=>Qr(o.activeRef),(E,b)=>{E!==b&&R();},{flush:"sync"}),K=n.subscribeEvents(E=>{z||E.type!=="connection:changed"||E.state!=="authenticated"||ce();});function B(E){let b=E.trim();if(b==="")return qs;let A=X.value.get(b);return A!==void 0?Object.freeze({status:"ready",message:A}):s.value[b]??Vu}function $(E,b){if(E.length===0)return;let A={...s.value},x=false;for(let[C,_]of E)b.get(C)===(T.get(C)??0)&&(A[C]=_,x=true);x&&(s.value=A);}async function ne(E){let b=I,A=new Map(E.map(H=>[H,T.get(H)??0])),x=n.getGeneration(),C=o.getHandle(),_=Qr(o.activeRef);if(C===void 0||Qr(C.ref)!==_)return;let V=()=>!z&&I===b&&n.getGeneration()===x&&o.getHandle()===C&&Qr(o.activeRef)===_,me=[],le=[];try{let H=await Promise.all(E.map(async Q=>({messageId:Q,message:await C.resolveMessage(Q)})));if(!V())return;for(let{messageId:Q,message:he}of H)he===null?le.push(Q):me.push([Q,Object.freeze({status:"ready",message:he})]);}catch(H){if(!V())return;$(E.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:true})]),A),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:x,conversation:{...C.ref},data:{requestedCount:E.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:H}}));return}if($(me,A),le.length!==0)try{let H=await C.messages.fetchByIds(le);if(!V())return;let Q=[];for(let ue of H.messages)Q.push([ue.id,Object.freeze({status:"ready",message:ue})]);for(let ue of H.missingMessageIds)Q.push([ue,qs]);let he=H.failure?.retryable??!0;for(let ue of H.unresolvedMessageIds)Q.push([ue,Object.freeze({status:"failed",message:null,retryable:he})]);$(Q,A),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:x,conversation:{...C.ref},data:{requestedCount:le.length,resolvedCount:H.messages.length,missingCount:H.missingMessageIds.length,unresolvedCount:H.unresolvedMessageIds.length,retryable:H.failure?.retryable}}));}catch(H){if(!V())return;$(le.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:false})]),A),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:x,conversation:{...C.ref},data:{requestedCount:le.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:H}}));}}function O(){let E=[];for(let b of m)X.value.has(b)||c.has(b)||s.value[b]===void 0&&E.push(b);return E}function w(){if(z)return;if(q){D=true;return}let E=O();if(E.length!==0){q=true;for(let b of E)c.add(b);ne(E).catch(b=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:E.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:b}}));}).finally(()=>{for(let b of E)c.delete(b);q=false,D&&(D=false,w());});}}function Y(E){if(z)return;m=new Set(Xo(E));let b=Object.fromEntries(Object.entries(s.value).filter(([A])=>m.has(A)&&!X.value.has(A)));Object.keys(b).length!==Object.keys(s.value).length&&(s.value=b),w();}function N(E){if(z)return;let b=Xo(E).filter(x=>s.value[x]!==void 0);if(b.length===0)return;let A={...s.value};for(let x of b)delete A[x],c.delete(x),T.set(x,(T.get(x)??0)+1);s.value=A,w();}function ce(E){if(z)return;let A=(E===void 0?[...m]:Xo(E)).filter(C=>{let _=s.value[C];return _?.status==="failed"&&_.retryable});if(A.length===0)return;let x={...s.value};for(let C of A)delete x[C],c.delete(C),T.set(C,(T.get(C)??0)+1);s.value=x,w();}function re(){R();}function M(){z||(z=true,g(),K(),R());}return Xr.set(e,Object.freeze({dispose:M})),{lookup:B,prefetch:Y,retry:ce,invalidate:N,reset:re}})}var Vs=new WeakMap,Jr=new WeakMap;function Bu(e=Pe()){Ie(e);let n=Vs.get(e);n===void 0&&(n=$u(e),Vs.set(e,n));let r=n(e),o=Xr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Jr.get(e)!==r&&(Jr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Jr.get(e)===r&&(Jr.delete(e),Xr.get(e)===o&&Xr.delete(e));})),r}var eo=new WeakMap;function Yr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Yu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Zu(e,n){return Yu(e)?Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}):Object.freeze({code:"IM_CHAT_KIT_REACTION_OPERATION_FAILED",category:"state",operation:`reaction.${n}`,retryable:false})}function ed(e){return defineStore("k2-im-reaction",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),c=shallowRef(null),m=false,I=0,T=new Map;function z(){I+=1,T.clear(),s.value=[],c.value=null;}let q=watch(()=>Yr(o.activeRef),(O,w)=>{O!==w&&z();},{flush:"sync"});function D(O,w){let Y=o.activeRef,N=o.getHandle(),ce=Yr(Y);if(m||Y===null||N===void 0||Yr(N.ref)!==ce||!o.messages.some(M=>M.id===O))return Object.freeze({ok:false,operation:w,reason:"not-ready"});if(T.has(O))return Object.freeze({ok:false,operation:w,reason:"busy"});let re=Symbol(O);return T.set(O,re),s.value=Object.freeze([...T.keys()]),{generation:n.getGeneration(),contextEpoch:I,handle:N,conversationKey:ce,token:re}}function X(O){return !m&&O.contextEpoch===I&&O.generation===n.getGeneration()&&o.getHandle()===O.handle&&Yr(o.activeRef)===O.conversationKey}function R(O,w){T.get(O)===w&&(T.delete(O),s.value=Object.freeze([...T.keys()]));}async function g(O,w,Y){let N=D(O,w);if(!("handle"in N))return N;try{let ce=await Y(N.handle);return X(N)?(c.value=null,r.record("debug","pinia","message",`reaction-${w}-settled`,()=>({generation:N.generation,conversation:{...N.handle.ref},messageId:O,result:{ok:!0,action:ce.action}})),Object.freeze({ok:!0,operation:w,change:ce})):Object.freeze({ok:!1,operation:w,reason:"stale"})}catch(ce){if(!X(N))return Object.freeze({ok:false,operation:w,reason:"stale"});let re=Zu(ce,w);return c.value=re,r.record("error","pinia","message",`reaction-${w}-settled`,()=>({generation:N.generation,conversation:{...N.handle.ref},messageId:O,result:{ok:false,reason:"sdk-rejected",error:re}})),Object.freeze({ok:false,operation:w,reason:"sdk-rejected",error:re})}finally{R(O,N.token);}}function K(O,w){return g(O,"toggle",Y=>Y.messages.toggleReaction(O,w))}function B(O,w,Y){return g(O,"set",N=>N.messages.setReaction(O,w,Y))}function $(){z();}function ne(){m||(m=true,q(),z());}return eo.set(e,Object.freeze({dispose:ne})),{operatingMessageIds:s,error:c,toggle:K,set:B,reset:$}})}var $s=new WeakMap,Zr=new WeakMap;function nd(e=Pe()){Ie(e);let n=$s.get(e);n===void 0&&(n=ed(e),$s.set(e,n));let r=n(e),o=eo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Zr.get(e)!==r&&(Zr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Zr.get(e)===r&&(Zr.delete(e),eo.get(e)===o&&eo.delete(e));})),r}function no(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function ad(e){let n=Pe(e),r=Ie(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let re=new Map;for(let M of o.value)M.msgId!==""&&M.collectId!==""&&re.set(M.msgId,M.collectId);return re}),I=false,T=0,z=0,q,D;function X(){T+=1,z+=1,o.value=[],s.value=false,c.value=null;}function R(re){return {client:re,generation:r.getGeneration(),stateEpoch:T}}function g(re){return !I&&re.client===r.getProductClient()&&re.generation===r.getGeneration()&&re.stateEpoch===T}function K(re){return m.value.get(re.trim())??""}function B(re){return K(re)!==""}async function $(){if(I)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let re=++z,M;try{M=R(r.ensureProductClient()),ce(M.client);}catch(E){let b=no(E,"reload");return c.value=b,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:b})}s.value=true,c.value=null;try{let E=await M.client.sessionFavorites.list();return re!==z||!g(M)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=E,Object.freeze({ok:!0,operation:"reload"}))}catch(E){if(re!==z||!g(M))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let b=no(E,"reload");return c.value=b,Object.freeze({ok:false,operation:"reload",reason:"failed",error:b})}finally{re===z&&g(M)&&(s.value=false);}}function ne(){z+=1,s.value=false;}async function O(re){if(I)return Object.freeze({ok:false,operation:"add",reason:"stale"});let M;try{M=R(r.ensureProductClient()),ce(M.client);let E=await M.client.sessionFavorites.addFromMessage(re);return g(M)?(ne(),o.value=Object.freeze([E,...o.value.filter(b=>b.collectId!==E.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:E.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(E){return Object.freeze({ok:false,operation:"add",reason:"failed",error:no(E,"add")})}}async function w(re){if(I)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let M=[...new Set(re.map(E=>E.trim()).filter(E=>E!==""))];if(M.length===0)return Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})});try{let E=R(r.ensureProductClient());if(await E.client.sessionFavorites.delete(M),!g(E))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});ne();let b=new Set(M);return o.value=Object.freeze(o.value.filter(A=>!b.has(A.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:M[0]??""})}catch(E){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:no(E,"delete")})}}async function Y(re){let M=K(re);return M===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):w([M])}function N(){q?.(),q=void 0,D=void 0,X();}function ce(re){if(D===re)return;q?.(),D=re;let M=R(re);q=re.events.subscribe(E=>{D===re&&g(M)&&E.type==="session-favorites:changed"&&$();});}return Oe(n,()=>{I=true,q?.(),q=void 0,D=void 0,X();}),{items:o,loading:s,error:c,collectIdOf:K,isFavorited:B,reload:$,addFromMessage:O,removeByCollectIds:w,removeByMessageId:Y,reset:N}})(n)}function sd(e){return defineStore("k2-im-session",()=>{let n=Ie(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getGeneration()),c=ref("idle"),m=ref(""),I=ref({}),T=false,z=0,q="",D=n.getDiagnostics(),X=n.subscribeEvents(N=>{T||N.type==="connection:changed"&&(o.value=N.state,N.state==="authenticated"&&(c.value="ready"));});function R(N,ce){return !T&&N===z&&n.getGeneration()===ce}function g(N){if(T)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(N);}function K(N){if(T)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let ce=N.session===null?"":`${N.session.userId}\0${N.session.token}`;ce!==q&&(z+=1,q=ce);let re=n.applySession(N.session,N.endpoints,N.deviceToken);return r.value=N.session?.userId??"",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=o.value==="authenticated"?"ready":"idle",m.value="",I.value={},D.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:re.hasToken,didReset:re.didReset}})),re}async function B(N,ce,re){if(T)return {ok:false,errorKey:"lifecycle.disposed"};let M=++z,E=n.getGeneration(),b=Date.now();c.value=N,m.value="",I.value={},D.record("info","pinia",ce==="prepare"?"session":"connection",`${ce}-start`,()=>({generation:E}));let A=await re();return R(M,E)?(s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=A.ok?o.value==="authenticated"?"ready":"idle":"error",m.value=A.errorKey??"",I.value=A.errorParams??{},D.record(A.ok?"info":"error","pinia",ce==="prepare"?"session":"connection",`${ce}-${A.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-b,...A.ok?{}:{error:{message:A.errorKey??`${ce}-failed`,data:A.errorParams}}})),A):(D.record("debug","pinia","session",`${ce}-stale-result-dropped`,()=>({generation:E,durationMs:Date.now()-b})),A)}function $(){return B("preparing","prepare",()=>n.prepare())}function ne(){return B("connecting","connect",()=>n.connect())}function O(){T||(z+=1,n.disconnect(),o.value=n.getConnectionState(),c.value="idle");}async function w(N){if(T)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");z+=1;try{await n.logout(N);}finally{r.value="",q="",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value="idle",m.value="",I.value={};}}function Y(){T||(T=true,z+=1,X(),r.value="",o.value="idle",s.value=n.getGeneration(),c.value="disposed",m.value="",I.value={});}return {accountId:r,connectionState:o,generation:s,phase:c,errorKey:m,errorParams:I,configureHost:g,applySession:K,prepare:$,connect:ne,disconnect:O,logout:w,dispose:Y,getRuntime:()=>n}})}var Ws=new WeakMap,to=new WeakMap;function ld(e=Pe()){Ie(e);let n=Ws.get(e);n===void 0&&(n=sd(e),Ws.set(e,n));let r=n(e);return to.get(e)!==r&&(to.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),to.get(e)===r&&to.delete(e);})),r}function oo(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Ys(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Yt(e,n){return `${Ys(e)}\0${n}`}function jt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Js(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function ud(e){return defineStore("k2-im-thread-paging",()=>{let n=Ie(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Mn(e),c=ref(false),m=ref(false),I=ref(null),T=ref(null),z=false,q="",D="",X=0,R=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:jt(o.messages,"older"),newerBoundary:jt(o.messages,"newer")}),g=(M,E)=>{let b=R();return !z&&E===X&&M.generation===b.generation&&oo(M.ref,b.ref)&&M.ref!==null},K=M=>{(M===void 0||M==="older")&&(q="",I.value=null),(M===void 0||M==="newer")&&(D="",T.value=null);},B=()=>{X+=1,c.value=false,m.value=false,K();},$=async(M,E)=>{let b=R(),A=M==="older"?q:D,x=M==="older"?o.hasOlder:o.hasNewer;if(b.ref===null||!x||(M==="older"?c.value:m.value))return 0;let C=b.ref,_=M==="older"?b.olderBoundary:b.newerBoundary,V=Yt(C,_);if(M==="older"?m.value:c.value)return 0;if(!E&&A!==""&&A===V)return r.record("debug","pinia","history",`thread-paging-${M}-circuit-open`,()=>({conversation:C,data:{boundary:_}})),0;E&&(K(M),r.record("debug","pinia","history",`thread-paging-${M}-retry`,()=>({conversation:C})));let me=new Set(o.messages.map(H=>H.id)),le=++X;M==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${M}-start`,()=>({conversation:C,generation:b.generation,data:{boundary:_,force:E}}));try{let H=M==="older"?await o.loadOlder():await o.loadNewer();if(!g(b,le))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:C,generation:b.generation,data:{side:M}})),0;if(!H)return 0;K(M);let Q=o.messages.reduce((he,ue)=>he+ +!me.has(ue.id),0);return r.record("debug","pinia","history",`thread-paging-${M}-success`,()=>({conversation:C,generation:b.generation,data:{added:Q}})),Q}catch(H){if(!g(b,le))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:C,generation:b.generation,data:{side:M,outcome:"failed"}})),0;throw jt(o.messages,M)===_&&(M==="older"?(q=V,I.value=H):(D=V,T.value=H),r.record("warn","pinia","history",`thread-paging-${M}-failed`,()=>({conversation:C,generation:b.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${M} \u5206\u9875\u5931\u8D25`,data:Js(H)}}))),H}finally{le===X&&(M==="older"?c.value=false:m.value=false);}},ne=(M={})=>$("older",M.force===true),O=(M={})=>$("newer",M.force===true),w=async M=>{if(M!==void 0&&!oo(o.activeRef,M))return false;s.clearLocation(),B();let E=R();if(E.ref===null)return false;let b=E.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:b})),!o.hasNewer)return true;let A;try{A=await o.loadLatest();}catch(x){if(oo(o.activeRef,b)&&n.getGeneration()===E.generation){let C=jt(o.messages,"newer");D=Yt(b,C),T.value=x,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:b,generation:E.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Js(x)}}));}throw x}return !oo(o.activeRef,b)||n.getGeneration()!==E.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:b})),false):(K("newer"),A)},Y=watch(()=>Ys(o.activeRef),()=>B(),{flush:"sync"}),N=watch(()=>`${Yt(o.activeRef,jt(o.messages,"older"))}\0${jt(o.messages,"newer")}`,()=>{let M=R(),E=Yt(M.ref,M.olderBoundary),b=Yt(M.ref,M.newerBoundary);q!==""&&q!==E&&K("older"),D!==""&&D!==b&&K("newer");},{flush:"sync"}),ce=o.$onAction(({name:M})=>{(M==="loadLatest"||M==="loadAround"||M==="open"||M==="close"||M==="reset")&&B();});return {loadingOlder:c,loadingNewer:m,olderError:I,newerError:T,loadOlder:ne,loadNewer:O,retryOlder:()=>ne({force:true}),retryNewer:()=>O({force:true}),jumpToLatest:w,reset:B,dispose:()=>{z||(z=true,Y(),N(),ce(),B());}}})}var Xs=new WeakMap,ao=new WeakMap;function dd(e=Pe()){Ie(e);let n=Xs.get(e);n===void 0&&(n=ud(e),Xs.set(e,n));let r=n(e);return ao.get(e)!==r&&(ao.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),ao.get(e)===r&&ao.delete(e);})),r}function fd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function md(e=Pe()){let n=Ge(e),r=Mn(e);return Object.freeze({async returnToLatest(o){return fd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Pr as applicationKey,Jl as createAndInstallImChatKit,ai as createImChatKitContext,Yl as disposeImChatKit,Xl as ensureImChatKitSelfProfile,Ie as getImChatKitContext,qi as imMediaDownloadKey,ii as installImChatKit,oc as useImApplicationsStore,bc as useImCapabilitiesStore,Wn as useImComposerStore,Pc as useImConversationActivationCoordinator,Fc as useImConversationDeletionCoordinator,_o as useImConversationListStore,Wc as useImExpressionStore,Yc as useImHistoryReturnAfterSendCoordinator,au as useImMediaStore,Ut as useImMessageOperationsStore,Hu as useImProfileDirectoryStore,Bu as useImQuotedMessageStore,nd as useImReactionStore,Mn as useImSearchStore,ad as useImSessionFavoritesStore,ld as useImSessionStore,dd as useImThreadPagingStore,md as useImThreadReturnToLatestCoordinator,Ge as useImThreadStore};
1
+ import {u,za,pa,s,y,oa,na,ma,ka,ja,ia,ha,fa,J,K,I,Ha,d,va,ya,xa,ra,ua,ta as ta$1,sa,D,B,C,A,z,Ga,Fa,Ea,Da,Ca,Ba,c,b,k,h,wa}from'./chunk-VRGWQLDM.js';export{t as resolveMessageNotificationDecision}from'./chunk-VRGWQLDM.js';import'./chunk-MNWNUGIV.js';import'./chunk-GHZUH7RB.js';import {ta,qa}from'./chunk-4KPJTXQN.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Xl(e,n,r={}){let o=u(n);try{return si(e,ii({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function Yl(e){za(he(e).runtime);}var Bn=new WeakMap;function Pe(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function ii(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function si(e,n){let r=Bn.get(e);if(r!==void 0&&!r.disposed){if(r.context===n)return r.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let o={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!o.disposed){o.disposed=true;for(let c of [...o.storeDisposers])c();o.storeDisposers.clear(),n.runtime.dispose(),Bn.get(e)===o&&Bn.delete(e);}}});return o.installation=s,Bn.set(e,o),s}function he(e){let n=Bn.get(e);if(n===void 0||n.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return n.context}function Oe(e,n){let r=Bn.get(e);if(r===void 0||r.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return r.storeDisposers.add(n),()=>r.storeDisposers.delete(n)}function Zl(e){Bn.get(e)?.installation.dispose();}function Pr(e){return `${e.domain}:${e.applicationId}`}function nc(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"group",conversationId:e.conversation.conversationId})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"channel",conversationId:e.conversation.conversationId})})}function tc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Cr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&tc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`applications.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="reload"})}function rc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function oc(e){return defineStore("k2-im-applications",()=>{let n=he(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),I=computed(()=>r.value.length),j=computed(()=>{let y=0,T=0,b=0;for(let w of r.value)w.ref.domain==="contact"?y+=1:w.ref.domain==="group"?T+=1:b+=1;return Object.freeze({contact:y,group:T,channel:b})}),A=false,V=0,D=0,Y=0,C=false,g=0,G=new Map;function J(){V+=1,D+=1,Y+=1,g+=1,C=false,G.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function B(y){return {client:y,generation:n.getGeneration(),stateEpoch:V}}function re(y){return !A&&y.client===n.getProductClient()&&y.generation===n.getGeneration()&&y.stateEpoch===V}async function M(){if(A)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let y=++D,T;try{T=B(n.ensureProductClient());}catch(b){let w=Cr(b,"reload");return s.value=w,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:w})}o.value=true,s.value=null;try{let b=await T.client.applications.listPending();return y!==D||!re(T)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...b]),Object.freeze({ok:!0,operation:"reload"}))}catch(b){if(y!==D||!re(T))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let w=Cr(b,"reload");return s.value=w,Object.freeze({ok:false,operation:"reload",reason:"failed",error:w})}finally{y===D&&re(T)&&(o.value=false);}}function O(){if(A||C)return;C=true;let y=V,T=++g;queueMicrotask(()=>{T===g&&(C=false,!(A||y!==V)&&M());});}function Z(y){(y.type==="contact-application:received"||y.type==="channel-join-application:received"||y.type==="application:updated")&&O();}let q=n.subscribeProductEvents(Z);async function le(y,T){let b=nc(y),w=Pr(b);if(A)return Object.freeze({ok:false,operation:T,reason:"stale",application:b});let $=++Y;G.set(w,$),c.value={...c.value,[w]:T};let{[w]:ce,...fe}=m.value;m.value=fe;let _;try{_=B(n.ensureProductClient());}catch(ye){let ue=Cr(ye,T);m.value={...m.value,[w]:ue};let{[w]:Re,...ke}=c.value;return c.value=ke,G.delete(w),Object.freeze({ok:false,operation:T,reason:"failed",application:b,error:ue})}let Q=()=>re(_)&&G.get(w)===$;try{return await _.client.applications[T](b),Q()?(D+=1,o.value=!1,r.value=Object.freeze(r.value.filter(ye=>Pr(ye.ref)!==w)),Object.freeze({ok:!0,operation:T,application:b})):Object.freeze({ok:!1,operation:T,reason:"stale",application:b})}catch(ye){if(!Q())return Object.freeze({ok:false,operation:T,reason:"stale",application:b});let ue=Cr(ye,T);return rc(ue)?(D+=1,o.value=false,r.value=Object.freeze(r.value.filter(Re=>Pr(Re.ref)!==w)),Object.freeze({ok:false,operation:T,reason:"failed",application:b,error:ue})):(m.value={...m.value,[w]:ue},Object.freeze({ok:false,operation:T,reason:"failed",application:b,error:ue}))}finally{if(Q()){G.delete(w);let{[w]:ye,...ue}=c.value;c.value=ue;}}}function oe(y){return le(y,"accept")}function k(y){return le(y,"ignore")}function z(){A||J();}function K(){A||(A=true,q(),J());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:I,domainCounts:j,reload:M,accept:oe,ignore:k,reset:z,dispose:K}})}var ui=new WeakMap,Rr=new WeakMap;function ac(e=Pe()){he(e);let n=ui.get(e);n===void 0&&(n=oc(e),ui.set(e,n));let r=n(e);return Rr.get(e)!==r&&(Rr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Rr.get(e)===r&&Rr.delete(e);})),r}function mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function sc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var di=Object.freeze({state:"none"});function lc(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_THREAD_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:mi(r)}})}function cc(e){return defineStore("k2-im-thread",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef([]),c=shallowRef(di),m=shallowRef(null),I=ref(false),j=ref(false),A=ref(false),V=ref(false),D=ref(false),Y=shallowRef(null),C=ref(0),g=false,G,J=0,B=0,re,M,O,Z,q=[],le=new Map,oe=new Set;function k(){q.length=0,C.value=0;}let z=n.subscribeEvents(S=>{if(g||S.type!=="message:received"||(S.source??"live")!=="live"||S.message.body.system?.timelineVisibility==="hidden")return;let N=o.value;N===null||S.message.conversationId!==N.conversationId||S.message.conversationType!==N.conversationType||S.message.senderId===n.getCredentials().userId||(q.push(S.message.id),C.value+=1);});function K(S=null){k(),o.value=S,s.value=[],c.value=di,m.value=null,I.value=S!==null,j.value=false,A.value=false,V.value=false,D.value=false,Y.value=null;}function y(S){if((le.get(S)??0)>0){oe.add(S);return}S.close();}function T(){Z?.(),Z=void 0;let S=O;O=void 0,S!==void 0&&y(S);}function b(S,N,ie){let se=o.value;if(g||O!==S||n.getGeneration()!==ie||se===null||N.ref.conversationId!==se.conversationId||N.ref.conversationType!==se.conversationType)return false;let be=N.messages.filter(ne=>ne.body.system?.timelineVisibility!=="hidden");return sc(s.value,be)||(s.value=Object.freeze(be)),c.value=N.entryUnread,m.value=N.draft,I.value=N.loading,j.value=j.value||be.length>0||!N.loading,A.value=N.stale,V.value=N.hasOlder,D.value=N.hasNewer,Y.value=N.error??null,true}async function w(S,N){let ie=n.ensureProductClient();return S.conversationType==="direct"?ie.openConversation({conversationType:"direct",conversationId:S.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:N}):S.conversationType==="group"?ie.openConversation({conversationType:"group",conversationId:S.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:N}):ie.openConversation({conversationType:"channel",conversationId:S.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:N})}async function $(S){try{let N=n.ensureProductClient();if(N.conversations.list().find(se=>se.ref.conversationType===S.conversationType&&se.ref.conversationId===S.conversationId)?.manuallyUnread!==!0)return;await N.conversations.markRead(S);}catch(N){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:S,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:N}}));}}async function ce(S){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");B+=1,re=void 0,M=void 0;let N=mi(S);G?.abort();let ie=new AbortController;G=ie;let se=++J,be=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:be,conversation:N}));let ne;try{ne=await w(N,ie.signal);}catch(de){if(ie.signal.aborted)return;throw !g&&se===J&&be===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:be,conversation:N,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:lc(de,"thread.open",N)}})),de}finally{G===ie&&(G=void 0);}if(g||se!==J||be!==n.getGeneration()){ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:be,conversation:N}));return}return T(),K(N),O=ne,Z=ne.subscribe(de=>b(ne,de,be)),b(ne,ne.getSnapshot(),be),$(N),r.record("debug","pinia","history","thread-open-complete",()=>({generation:be,conversation:N})),ne}function fe(){G?.abort(),G=void 0,J+=1;}function _(S){if(g||O===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${S}`);return O}function Q(S,N,ie){return !g&&B===S&&O===N&&n.getGeneration()===ie}async function ye(S,N){if(re!==void 0||M!==void 0)return false;let ie=_(S),se=n.getGeneration(),be=++B;re=be;try{return await N(ie),Q(be,ie,se)?(b(ie,ie.getSnapshot(),se),!0):!1}finally{re===be&&(re=void 0);}}async function ue(S,N,ie){let se=_(S),be=n.getGeneration(),ne=++B;re=void 0,M=ne;try{if(await N(se),!Q(ne,se,be))return !1;let de=se.getSnapshot();return ie(de)?(b(se,de,be),!0):!1}finally{M===ne&&(M=void 0);}}function Re(){return ue("loadLatest",S=>S.history.loadLatest(),S=>!S.hasNewer)}function ke(){return ye("loadOlder",S=>S.history.loadOlder())}function Se(){return ye("loadNewer",S=>S.history.loadNewer())}function je(S){return ue("loadAround",N=>N.history.loadAround(S),N=>N.messages.some(ie=>ie.id===S)).then(N=>N?s.value.some(ie=>ie.id===S):false)}function F(S){return _("resolveMessage").resolveMessage(S)}function U(S=_("retainHandle")){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");le.set(S,(le.get(S)??0)+1);let N=false;return ()=>{if(N)return;N=true;let ie=(le.get(S)??1)-1;if(ie>0){le.set(S,ie);return}le.delete(S),oe.delete(S)&&S.close();}}function pe(){return U()}function ve(){G?.abort(),G=void 0,J+=1,B+=1,re=void 0,M=void 0,T(),K();}function me(S){let N=o.value;return N===null||N.conversationType!==S.conversationType||N.conversationId!==S.conversationId?false:(B+=1,re=void 0,M=void 0,T(),K(),true)}function Ae(){G?.abort(),G=void 0,J+=1,B+=1,re=void 0,M=void 0,Z?.(),Z=void 0;let S=new Set([...O===void 0?[]:[O],...oe,...le.keys()]);O=void 0,oe.clear(),le.clear();for(let N of S)N.close();K();}function P(){g||(Ae(),g=true,z());}function H(){return q.splice(0,q.length)}return {activeRef:o,messages:s,entryUnread:c,draft:m,loading:I,ready:j,stale:A,hasOlder:V,hasNewer:D,error:Y,activeRemoteMessageRevision:C,open:ce,invalidatePendingOpen:fe,loadLatest:Re,loadOlder:ke,loadNewer:Se,loadAround:je,resolveMessage:F,retainHandle:U,retainCurrentHandle:pe,close:ve,closeActiveConversation:me,reset:Ae,dispose:P,drainActiveRemoteMessageIds:H,getHandle:()=>O}})}var fi=new WeakMap,kr=new WeakMap;function De(e=Pe()){he(e);let n=fi.get(e);n===void 0&&(n=cc(e),fi.set(e,n));let r=n(e);return kr.get(e)!==r&&(kr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),kr.get(e)===r&&kr.delete(e);})),r}var jr=new WeakMap;function Ao(e){let n=jr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function pt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Er(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function vi(e){return e===null?null:Er({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function xo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function zo(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function fc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Ht(e,n,r){return fc(e)?e:Object.freeze({code:n==="composer.draft"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_COMPOSER_OPERATION_FAILED",category:"state",operation:n,retryable:n==="composer.draft",...r===void 0?{}:{conversation:pt(r)},cause:e})}function Mr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function mc(e){return defineStore("k2-im-composer",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),I=ref(false),j=ref(0),A=shallowRef(null),V=false,D=0,Y=0,C=0,g,G=Promise.resolve(),J=Promise.resolve(),B=new Set,re=new Map,M,O;function Z(){return o.getHandle()}function q(F,U){let pe=o.activeRef;return !V&&Z()===F&&n.getGeneration()===U&&pe!==null&&pe.conversationId===F.ref.conversationId&&pe.conversationType===F.ref.conversationType}function le(F=Z()){if(F===void 0)return false;let U=n.getGeneration();return g?.handle===F&&g.generation===U||[...B].some(pe=>pe.handle===F&&pe.generation===U)}async function oe(F=Z()){if(F===void 0)return;let U=n.getGeneration(),pe=g?.handle===F&&g.generation===U?g:void 0;if(pe===void 0){let P=[...B].filter(H=>H.handle===F&&H.generation===U).map(H=>H.promise);P.length>0?await Promise.all(P):await J;return}g=void 0;let me=G.then(async()=>{xo(pe.input)?await F.draft.clear():await F.draft.save(pe.input);}),Ae={handle:F,generation:U,promise:me};B.add(Ae),J=me,G=me.catch(()=>{});try{await me,q(F,U)&&(A.value=null,j.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:pt(F.ref)})));}catch(P){throw q(F,U)&&(g===void 0&&C===pe.version&&(g=pe),A.value=Ht(P,"composer.draft",F.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:pt(F.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:A.value}}))),P}finally{B.delete(Ae);}}function k(F){let U=Z(),pe=n.getGeneration();if(U===void 0||!q(U,pe))return A.value=Ht(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ve=Er(F);return C+=1,s.value=xo(ve)?null:ve,g={handle:U,generation:pe,version:C,input:ve},A.value=null,z(),xo(ve)&&oe(U).catch(()=>{}),true}async function z(){if(m.value!==null)return;let F=s.value?.replyToMessageId;if(F===void 0){Y+=1,c.value=null;return}let U=Z();if(U===void 0){c.value=null;return}let pe=o.messages.find(P=>P.id===F);if(pe!==void 0){Y+=1,c.value=pe;return}let ve=n.getGeneration(),me=++Y,Ae=await U.resolveMessage(F).catch(()=>null);me!==Y||!q(U,ve)||m.value!==null||s.value?.replyToMessageId!==F||(c.value=Ae);}function K(F){let U=Z();return U===void 0||!Mr(F,U)?false:(m.value=null,c.value=F,k({...s.value??{text:"",attachments:[]},replyToMessageId:F.id}))}function y(F){if(F!==void 0&&s.value?.replyToMessageId!==F)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:pe,...ve}=U;k({...ve});}function T(F){let U=Z();return U===void 0||!Mr(F,U)?false:(c.value=null,m.value=F,true)}function b(){m.value=null,z();}function w(){Y+=1,c.value=null,m.value=null;}function $(F,U){return !V&&n.getGeneration()===F&&D===U}function ce(F){return [...re.values()].some(U=>U.handle===F)}function fe(F,U){return F!==null&&zo(vi(F),U)}function _(F,U,pe){!q(F,U)||s.value===null||!zo(s.value,pe)||(C+=1,g?.handle===F&&g.generation===U&&zo(g.input,pe)&&(g=void 0),s.value=null,Y+=1,c.value=null);}async function Q(F){let U=[...B].filter(ve=>ve.handle===F.handle&&ve.generation===F.generation).map(ve=>ve.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!q(F.handle,F.generation))return;let pe=await F.handle.draft.get();if(!fe(pe,F.input)){M?.token===F.token&&(M=void 0);return}M=F;try{await F.handle.draft.clear(),M?.token===F.token&&(M=void 0);}catch(ve){if(q(F.handle,F.generation)){if(s.value===null&&g===void 0){let me={text:"",attachments:[]};C+=1,g={handle:F.handle,generation:F.generation,version:C,input:me};}A.value=Ht(ve,"composer.draft",F.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:F.generation,conversation:pt(F.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:A.value}}));}}}function ye(F){if(!q(F.handle,F.generation)||s.value!==null)return;M=void 0;let U=Er(F.input);C+=1,s.value=U,g={handle:F.handle,generation:F.generation,version:C,input:U},z();}async function ue(F){let U=m.value,pe=U===null?"send":"edit";if(U!==null&&O!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ve=Z(),me=n.getGeneration();if(ve===void 0||!q(ve,me))return Object.freeze({ok:false,operation:pe,reason:"not-ready"});let Ae=F.text.trim();if(Ae==="")return Object.freeze({ok:false,operation:pe,reason:"empty"});let P=D;if(U!==null&&!Mr(U,ve))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let H=Symbol(pe);U!==null&&(O=H),I.value=O!==void 0,A.value=null;let S=o.retainHandle(ve),N;if(U===null){let ie=Er(F);N={token:H,handle:ve,generation:me,input:ie},re.set(H,N),_(ve,me,ie);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:me,operation:pe,conversation:pt(ve.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!$(me,P)||!q(ve,me))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let ie=await ve.messages.sendText(Ae,{...F.mentions===void 0?{}:{mentions:F.mentions},...F.replyToMessageId===void 0?{}:{replyToMessageId:F.replyToMessageId}});if(!$(me,P)||!q(ve,me))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!ie.ok)return N!==void 0&&ye(N),A.value=ie.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:ie.error});if(N!==void 0&&(await Q(N),!$(me,P)||!q(ve,me)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ve.messages.editText(U.id,Ae,{...F.mentions===void 0?{}:{mentions:F.mentions}});}catch(ie){if(!$(me,P)||!q(ve,me))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let se=Ht(ie,"composer.edit",ve.ref);return A.value=se,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:se})}if(!$(me,P)||!q(ve,me))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&b();}return A.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:me,operation:pe,conversation:pt(ve.ref)})),Object.freeze({ok:!0,operation:pe})}catch(ie){if(!$(me,P)||!q(ve,me))return Object.freeze({ok:false,operation:pe,reason:"stale"});N!==void 0&&ye(N);let se=Ht(ie,`composer.${pe}`,ve.ref);return A.value=se,Object.freeze({ok:false,operation:pe,reason:"sdk-rejected",error:se})}finally{S(),re.delete(H),O===H&&(O=void 0),I.value=O!==void 0,q(ve,me)&&Re();}}function Re(){let F=Z();if(F===void 0)return;let U=M,pe=U!==void 0&&U.handle===F&&U.generation===n.getGeneration()&&fe(o.draft,U.input);U!==void 0&&!pe&&(M=void 0),!le(F)&&!ce(F)&&!pe&&(s.value=vi(o.draft)),m.value!==null&&!Mr(m.value,F)&&(m.value=null),z();}function ke(){D+=1,Y+=1,C+=1,g=void 0,re.clear(),M=void 0,G=Promise.resolve(),J=Promise.resolve(),s.value=null,c.value=null,m.value=null,O=void 0,I.value=false,j.value=0,A.value=null;}let Se=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(F,U)=>{if(F.ref!==U?.ref){ke(),F.ref!==null&&Re();return}Re();},{immediate:true});function je(){V||(V=true,Se(),ke());}return jr.set(e,Object.freeze({suspendInteraction:w,syncReplyTarget:z,dispose:je})),{input:s,replyTo:c,editingMessage:m,submitting:I,draftCommitVersion:j,error:A,updateDraft:k,flush:oe,hasPendingWork:le,submitText:ue,setReplyTo:K,clearReplyTo:y,setEditing:T,clearEditing:b,reset:ke}})}var gi=new WeakMap,Sr=new WeakMap;function Wn(e=Pe()){he(e);let n=gi.get(e);n===void 0&&(n=mc(e),gi.set(e,n));let r=n(e),o=Ao(e);return Sr.get(e)!==r&&(Sr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Sr.get(e)===r&&(Sr.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var wr=new WeakMap;function Lt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function hi(e){return [...e]}function gc(e){return defineStore("k2-im-message-operations",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=Wn(e),c=Ao(e),m=shallowRef(null),I=ref(false),j=ref([]),A=ref(null),V=ref(false),D=ref([]),Y=shallowRef(null),C=false,g=0,G=0,J=0;function B(){return o.getHandle()}function re(P,H=B()){let S=o.activeRef;return !C&&H!==void 0&&S!==null&&P.conversationType!=="supergroup"&&S.conversationId===P.conversationId&&S.conversationType===P.conversationType&&H.ref.conversationId===P.conversationId&&H.ref.conversationType===P.conversationType}function M(P){return y(m.value,P)}function O(){V.value=false,D.value=[];}function Z(){A.value=null;}function q(){let P=I.value;O(),Z(),I.value=false,j.value=[],P&&c.syncReplyTarget();}function le(P){if(P!==void 0){if(!re(P))return Object.freeze({ok:false,reason:"not-ready"});if(!Lt(P))return Object.freeze({ok:false,reason:"not-selectable"});if(M(P))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),I.value=true,j.value=P===void 0?[]:[P],Object.freeze({ok:true})}function oe(P){return j.value.some(H=>H.id===P)}function k(P){return !I.value||!re(P)?Object.freeze({ok:false,reason:"not-ready"}):Lt(P)?M(P)?Object.freeze({ok:false,reason:"pinned-protected"}):(oe(P.id)?j.value=j.value.filter(H=>H.id!==P.id):j.value=[...j.value,P],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function z(P){let H=B();return P.length===0||!P.every(S=>re(S,H))?Object.freeze({ok:false,reason:"not-ready"}):(A.value=hi(P),Object.freeze({ok:true}))}function K(){let P=j.value;if(P.length===0)return Object.freeze({outcome:"empty"});let H=P.filter(ta);return P.some(qa)?(D.value=H,V.value=true,Object.freeze({outcome:"confirmation-required"})):H.length===0?Object.freeze({outcome:"all-skipped"}):(z(H),Object.freeze({outcome:"picker-opened"}))}function y$1(){let P=hi(D.value);return O(),P.length===0?Object.freeze({outcome:"all-skipped"}):(z(P),Object.freeze({outcome:"picker-opened"}))}async function T(P){let H=A.value,S=B();if(H===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let N=n.getGeneration(),ie=++g,se=await fa(n,{handle:S,messages:H,targets:P});return C||ie!==g||n.getGeneration()!==N||B()!==S?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((se.ok||se.reason!=="stale")&&Z(),se.ok&&q(),Y.value=se.ok?null:se.error??null,r.record(se.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:N,conversation:S===void 0?void 0:{...S.ref},result:se.ok?{ok:true,sentCount:se.sentCount,skippedCount:se.skippedCount}:{ok:false,reason:se.reason,error:se.error}})),se)}function b(P,H,S){Y.value=P.ok?null:P.error??null,r.record(P.ok?"debug":"error","pinia","message",`message-${P.operation}-settled`,()=>({generation:n.getGeneration(),conversation:S===void 0?void 0:{...S.ref},messageId:H,result:P.ok?{ok:true}:{ok:false,reason:P.reason,error:P.error}}));}function w(P,H){return H!==void 0&&(C||B()!==H)?Object.freeze({ok:false,operation:P.operation,reason:"stale"}):P}async function $(P){let H=B(),S=w(await ha(n,{handle:H,message:P}),H);return b(S,P.id,H),S}async function ce(P){let H=B(),S=w(await ia(n,{handle:H,message:P}),H);return b(S,P.id,H),S}async function fe(P){let H=B(),S=w(await ja(n,{handle:H,message:P}),H);return b(S,P.id,H),S}async function _(P){let H=B(),S=w(await ka(n,{handle:H,messageId:P}),H);return b(S,P,H),S}function Q(){let P=o.activeRef;if(!(P?.conversationType!=="group"&&P?.conversationType!=="channel"))return Object.freeze({conversationId:P.conversationId,conversationType:P.conversationType})}function ye(P,H,S){let N=Q();return !C&&P===G&&H!==void 0&&B()===H&&N?.conversationId===S.conversationId&&N.conversationType===S.conversationType}function ue(P,H,S){let N=Q();return !C&&P===J&&B()===H&&N?.conversationId===S.conversationId&&N.conversationType===S.conversationType}function Re(P){if(j.value=j.value.filter(H=>H.id!==P),D.value=D.value.filter(H=>H.id!==P),A.value!==null){let H=A.value.filter(S=>S.id!==P);A.value=H.length===0?null:H;}s.editingMessage?.id===P&&s.clearEditing();}async function ke(P){let H=Q(),S=B();if(H===void 0||!re(P,S))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let N=++G;J+=1;let ie=await ma(n,{conversation:H,message:P});return ye(N,S,H)?(ie.ok&&ie.operation==="pin"?(m.value=ie.value,Re(ie.value.messageId),Y.value=null):Y.value=ie.ok?null:ie.error??null,ie):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Se(){let P=Q(),H=B();if(P===void 0||H===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let S=++G;J+=1;let N=await na(n,P);return ye(S,H,P)?(N.ok&&N.operation==="unpin"?(m.value=null,Y.value=null):Y.value=N.ok?null:N.error??null,N):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function je(){let P=Q();if(P===void 0){m.value=null;return}try{m.value=pa(n,P);}catch{m.value=null;}}async function F(){let P=Q(),H=B();if(P===void 0||H===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let S=n.getGeneration(),N=++J;je();let ie=await oa(n,P);return n.getGeneration()!==S||!ue(N,H,P)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(ie.ok&&ie.operation==="sync-pin"?(m.value=ie.value,Y.value=null):Y.value=ie.ok?null:ie.error??null,ie)}function U(P){let H=new Map(P.map(se=>[se.id,se])),S=se=>se.flatMap(be=>{let ne=H.get(be.id);return ne!==void 0&&Lt(ne)?[ne]:[]});if(j.value=S(j.value),D.value=S(D.value),A.value!==null){let se=S(A.value);A.value=se.length===0?null:se;}let N=s.editingMessage;if(N!==null){let se=H.get(N.id);(se===void 0||!Lt(se))&&s.clearEditing();}let ie=s.input?.replyToMessageId;if(ie!==void 0){let se=H.get(ie);se!==void 0&&!Lt(se)&&s.clearReplyTo(ie);}}let pe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(P,H)=>{P.ref!==H?.ref&&(g+=1,G+=1,J+=1,je(),I.value=false,j.value=[],A.value=null,O(),Y.value=null),U(P.messages);},{immediate:true}),ve=n.subscribeEvents(P=>{if(P.type!=="pinned-message:updated")return;let H=Q();if(!(H===void 0||H.conversationId!==P.conversation.conversationId||H.conversationType!==P.conversation.conversationType)){if(J+=1,P.pinnedMessage===null){m.value=null;return}try{m.value=pa(n,H),Re(P.pinnedMessage.messageId);}catch{}}});function me(){g+=1,G+=1,J+=1,I.value=false,j.value=[],A.value=null,O(),Y.value=null,je();}function Ae(){C||(C=true,pe(),ve(),me());}return wr.set(e,Object.freeze({dispose:Ae})),{activePinnedMessage:m,isMessageMultiSelect:I,selectedMessages:j,forwardPickerMessages:A,forwardTypeConfirmOpen:V,pendingForwardReadyMessages:D,error:Y,enterMultiSelect:le,exitMultiSelect:q,isSelected:oe,toggleSelection:k,openForwardPicker:z,closeForwardPicker:Z,prepareForwardFromSelection:K,cancelForwardTypeConfirmation:O,confirmForwardTypeConfirmation:y$1,forward:T,recall:$,deleteLocal:ce,deleteForEveryone:fe,retry:_,pin:ke,unpin:Se,syncPinned:F,isPinnedMessageProtected:M,reset:me}})}var yi=new WeakMap,Tr=new WeakMap;function Ut(e=Pe()){he(e);let n=yi.get(e);n===void 0&&(n=gc(e),yi.set(e,n));let r=n(e),o=wr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Tr.get(e)!==r&&(Tr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Tr.get(e)===r&&(Tr.delete(e),wr.get(e)===o&&wr.delete(e));})),r}var Go=Object.freeze({availability:"unknown",reason:"not-ready"});function bc(e){return defineStore("k2-im-capabilities",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=Ut(e),c=shallowRef(null),m=false,I$1,j,A;function V(){j!==void 0&&(clearTimeout(j),j=void 0);}function D(k){V();let z=k.nextEvaluationAt;if(z===void 0)return;let K=Math.max(0,z-Date.now());j=setTimeout(()=>{j=void 0,g();},K);}function Y(k){m||(c.value=k,D(k));}function C(k){let z=o.activeRef;return z!==null&&z.conversationType===k.conversationType&&z.conversationId===k.conversationId}function g(k=Date.now()){let z=o.activeRef,K=n.getProductClient();z===null||K===null||Y(K.capabilities.get(z,{nowMs:k}));}function G(){I$1?.(),I$1=void 0,V(),c.value=null;let k=o.activeRef,z=n.getProductClient();k===null||z===null||(I$1=z.capabilities.subscribe(k,Y));}function J$1(){G();}function B(){I$1?.(),I$1=void 0,V(),c.value=null;}async function re(){let k=o.activeRef,z=n.getProductClient();if(k===null||z===null)return;let K=n.getGeneration();try{let y=await z.capabilities.refresh(k);if(m||K!==n.getGeneration()||!C(k))return;Y(y);}catch(y){if(m||K!==n.getGeneration()||!C(k))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...k},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:y}})),Y(z.capabilities.get(k));}}function M(k){return c.value===null?Go:I(c.value,k)}function O(k){return M(k)}function Z(k){return M(k)}function q(k,z){let K$1=c.value;return K$1===null?Go:K(k,{snapshot:K$1,selfId:n.getCredentials().userId,...z})}function le(k,z){let K=c.value;return K===null?Go:J(k,{snapshot:K,message:z,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function oe(){m||(m=true,A?.(),A=void 0,B());}return A=watch(()=>o.activeRef,G,{deep:true,immediate:true}),{activeSnapshot:c,start:J$1,reset:B,refresh:re,conversationAction:M,profileAction:O,memberAction:Z,memberTargetAction:q,messageAction:le,dispose:oe}})}var bi=new WeakMap,xr=new WeakMap;function Cc(e=Pe()){he(e);let n=bi.get(e);n===void 0&&(n=bc(e),bi.set(e,n));let r=n(e);return xr.get(e)!==r&&(xr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),xr.get(e)===r&&xr.delete(e);})),r}var qt=new WeakMap;function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Pc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ci(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&Pc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:Ri(r)})}function Pi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function kc(e=Pe()){let n=he(e),r=qt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Wn(e),m=De(e),I={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function j(A,V){let D=Ri(A),Y=V?.signal;if(Y?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:D});I.conversation=D;let C=++I.epoch,g=o.getGeneration(),G=()=>!I.disposed&&I.epoch===C&&o.getGeneration()===g;m.invalidatePendingOpen();let J=()=>{G()&&(I.epoch+=1,m.invalidatePendingOpen());};Y?.addEventListener("abort",J,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:g,conversation:D})),!Rc(D))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:g,conversation:D})),Object.freeze({ok:!1,reason:"unsupported",conversation:D});let B=m.getHandle();if(B!==void 0&&c.hasPendingWork(B))try{await c.flush(B);}catch(re){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let M=Ci(re,"flush",D);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:g,conversation:D,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:M}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:D,error:M})}if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});if(m.getHandle()!==void 0&&Pi(m.activeRef,D))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:D});try{if(await m.open(D)===void 0||!G())return Object.freeze({ok:!1,reason:"stale",conversation:D})}catch(re){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let M=Ci(re,"open",D);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:g,conversation:D,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:M}})),Object.freeze({ok:!1,reason:"open-failed",conversation:D,error:M})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D})),Object.freeze({ok:!0,status:"opened",conversation:D})}finally{Y?.removeEventListener("abort",J);}}return I.coordinator=Object.freeze({activate:j}),qt.set(e,I),Oe(e,()=>{I.disposed=true,I.conversation=null,I.epoch+=1,qt.get(e)===I&&qt.delete(e);}),I.coordinator}function ki(e,n){let r=qt.get(e);r===void 0||r.disposed||!Pi(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Oi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ec(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function vt(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&Ec(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function jc(e){return defineStore("k2-im-conversation-list",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),I=shallowRef(null),j=false,A=null,V,D=0;function Y(y="idle"){o.value=[],s$1.value=y,c.value=0,I.value=null;}function C(y,T,b){j||A!==T||n.getGeneration()!==b||(o.value=y.items,s$1.value=y.state,c.value=y.totalUnread,I.value=y.error??null);}function g(y){if(j)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(A===y||(V?.(),V=void 0,A=y,D+=1,Y(),y===null))return;let T=n.getGeneration();V=y.conversations.subscribe(b=>C(b,y,T)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:T}));}function G(){g(n.getProductClient());}function J(){g(null);}function B(y){return !j&&A===y.client&&n.getProductClient()===y.client&&n.getGeneration()===y.generation&&D===y.bindingEpoch}function re(){let y=n.ensureProductClient();return g(y),{client:y,generation:n.getGeneration(),bindingEpoch:D}}async function M(){if(j)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let y;try{y=re();}catch(T){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:vt(T,"refresh")})}try{return await y.client.conversations.refresh(),B(y)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(T){return B(y)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:vt(T,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function O(y,T,b){let w=Oi(T);if(j)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:w});let $;try{$=re();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:w,error:vt(ce,y,w)})}try{b($.client,w);}catch(ce){return B($)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:w,error:vt(ce,y,w)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:w})}return B($)?Object.freeze({ok:true,operation:y,conversation:w}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:w})}async function Z(y,T,b){let w=Oi(T);if(j)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:w});let $;try{$=re();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:w,error:vt(ce,y,w)})}try{return await b($.client,w),B($)?Object.freeze({ok:!0,operation:y,conversation:w}):Object.freeze({ok:!1,operation:y,reason:"stale",conversation:w})}catch(ce){return B($)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:w,error:vt(ce,y,w)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:w})}}function q(y,T){return O("set-pinned",y,(b,w)=>b.conversations.setPinned(w,T))}function le(y,T){return Z("set-muted",y,(b,w)=>b.conversations.setMuted(w,T))}function oe(y){return Z("mark-read",y,(T,b)=>T.conversations.markRead(b))}function k(y){return O("mark-unread",y,(T,b)=>T.conversations.markUnread(b))}function z(y){return O("delete-local",y,(T,b)=>T.conversations.deleteLocal(b))}function K(){j||(V?.(),V=void 0,A=null,Y(),j=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:I,start:G,reset:J,refresh:M,setPinned:q,setMuted:le,markRead:oe,markUnread:k,deleteLocal:z,dispose:K}})}var Mi=new WeakMap,zr=new WeakMap;function _o(e=Pe()){he(e);let n=Mi.get(e);n===void 0&&(n=jc(e),Mi.set(e,n));let r=n(e);return zr.get(e)!==r&&(zr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),zr.get(e)===r&&zr.delete(e);})),r}var Ac=250,Gc=2e3;function Ei(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Ko(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ei(r)}})}function Dc(e){return defineStore("k2-im-search",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref(""),c=ref([]),m=ref(false),I=ref(false),j=ref("all"),A=ref(""),V=ref(""),D=shallowRef(null),Y=false,C=0,g=0,G,J,B,re;function M(){let _=o.activeRef,Q=o.getHandle();if(!(Y||_===null||Q===void 0||!Fo(_,Q.ref)))return {ref:Ei(_),handle:Q,generation:n.getGeneration()}}function O(_){return !Y&&n.getGeneration()===_.generation&&o.getHandle()===_.handle&&Fo(o.activeRef,_.ref)}function Z(){let _=J;_!==void 0&&(clearTimeout(_.timer),J=void 0,_.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function q(){B!==void 0&&(clearTimeout(B),B=void 0);}function le(_,Q){return Q===C&&(m.value=false),Object.freeze({ok:false,operation:_,reason:"stale"})}function oe(_,Q){return _===g&&A.value===Q&&(A.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function k(_,Q,ye){switch(ye){case "all":return Ba(n,{conversation:_.ref,keyword:Q});case "text":return Ca(n,{conversation:_.ref,keyword:Q});case "file":return Da(n,{conversation:_.ref,keyword:Q});case "image":return Ea(n,{conversation:_.ref});case "video":return Fa(n,{conversation:_.ref});case "voice":return Ga(n,{conversation:_.ref})}}function z(_,Q){return _!==""?true:Q!=="all"&&Q!=="text"}function K(_){s.value=_,Z();let Q=++C,ye=_.trim(),ue=j.value,Re=z(ye,ue);if(G=void 0,c.value=[],I.value=false,D.value=null,!Re)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ke=M();return ke===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(Se=>{let je=setTimeout(()=>{if(J?.timer===je&&(J=void 0),Q!==C||!O(ke)){Se(le("search",Q));return}r.record("debug","pinia","history","search-start",()=>({generation:ke.generation,conversation:ke.ref,category:ue})),k(ke,ye,ue).then(F=>{if(Q!==C||!O(ke)){Se(le("search",Q));return}c.value=[...F.results],G=F.nextPageToken,I.value=!F.exhausted,m.value=false,Se(Object.freeze({ok:true,operation:"search"}));}).catch(F=>{if(Q!==C||!O(ke)){Se(le("search",Q));return}let U=Ko(F,"search.first-page",ke.ref);D.value=U,m.value=false,Se(Object.freeze({ok:false,operation:"search",reason:"failed",error:U}));});},Ac);J={timer:je,resolve:Se};}))}function y(_){return j.value=_,(_==="image"||_==="video"||_==="voice")&&(s.value=""),K(s.value)}async function T(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!I.value||G===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let _=M();if(_===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let Q=G,ye=++C;m.value=true,D.value=null;try{let ue=await Ha(n,Q);return ye!==C||!O(_)?le("load-more",ye):(c.value=[...c.value,...ue.results],G=ue.nextPageToken,I.value=!ue.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ue){if(ye!==C||!O(_))return le("load-more",ye);let Re=Ko(ue,"search.next-page",_.ref);return D.value=Re,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Re})}}async function b(_,Q){let ye=M();if(ye===void 0||!Fo(ye.ref,_))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ue=++g;q(),V.value="",A.value=Q,D.value=null;try{return !o.messages.some(ke=>ke.id===Q)&&!await o.loadAround(Q)||(await nextTick(),ue!==g||!O(ye))?oe(ue,Q):(V.value=Q,Object.freeze({ok:!0,operation:"locate"}))}catch(Re){if(ue!==g||!O(ye))return oe(ue,Q);let ke=Ko(Re,"search.locate",ye.ref);return A.value="",D.value=ke,Object.freeze({ok:false,operation:"locate",reason:"failed",error:ke})}}function w(_){if(A.value!==_)return false;A.value="";let Q=g,ye=M();return q(),ye===void 0||V.value!==_||(B=setTimeout(()=>{B=void 0,Q===g&&O(ye)&&V.value===_&&(V.value="");},Gc)),true}function $(){g+=1,q(),A.value="",V.value="";}function ce(_){C+=1,Z(),s.value="",c.value=[],m.value=false,I.value=false,j.value="all",G=void 0,D.value=null,_?.preserveLocation!==true&&$();}function fe(){Y||(ce(),Y=true,re?.(),re=void 0);}return re=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>ce(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:I,category:j,locatingMessageId:A,highlightMessageId:V,error:D,search:K,setCategory:y,loadMore:T,locate:b,completeLocation:w,clearLocation:$,reset:ce,dispose:fe}})}var Si=new WeakMap,Ar=new WeakMap;function Mn(e=Pe()){he(e);let n=Si.get(e);n===void 0&&(n=Dc(e),Si.set(e,n));let r=n(e);return Ar.get(e)!==r&&(Ar.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Ar.get(e)===r&&Ar.delete(e);})),r}var Gr=new WeakMap;function ji(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function _c(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Fc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Kc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CONVERSATION_DELETE_FAILED",category:r!==null&&Fc(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:ji(n)})}function Hc(e=Pe()){let n=he(e),r=Gr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=_o(e),m=De(e),I=Wn(e),j=Ut(e),A=Mn(e),V={disposed:false};function D(Y){let C=ji(Y);if(V.disposed)return Object.freeze({ok:false,reason:"stale",conversation:C});let g=o.getGeneration(),G=m.activeRef!==null&&m.activeRef.conversationType===C.conversationType&&m.activeRef.conversationId===C.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:g,conversation:C})),!_c(C))return Object.freeze({ok:false,reason:"unsupported",conversation:C});let J=c.deleteLocal(C);if(!J.ok){if(J.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:C});let M=Kc(J.error,C);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:g,conversation:C,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:M}})),Object.freeze({ok:false,reason:"delete-failed",conversation:C,error:M})}if(V.disposed||o.getGeneration()!==g)return Object.freeze({ok:false,reason:"stale",conversation:C});ki(e,C);let B=m.closeActiveConversation(C),re=G||B;return re&&(I.reset(),j.reset(),A.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:g,conversation:C,data:{activeConversationCleared:re}})),Object.freeze({ok:true,status:"deleted",conversation:C,activeConversationCleared:re})}return V.coordinator=Object.freeze({deleteLocal:D}),Gr.set(e,V),Oe(e,()=>{V.disposed=true,Gr.get(e)===V&&Gr.delete(e);}),V.coordinator}var Ti=30,Lc=15,Uc=20,qc=4294967295,wi=new WeakMap;function _r(e){return typeof e=="object"&&e!==null}function bt(e,n){if(typeof e!="string"||e.trim()==="")throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function xi(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>qc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Vc(e,n){if(!_r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=bt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=xi(e.width,"asset.width"),c=xi(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:bt(e.packageId,"asset.packageId"),resourceId:bt(e.resourceId,"asset.resourceId"),url:r,width:s,height:c});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let m=e.resourceId===void 0?void 0:bt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function $t(e,n){let r=wi.get(e);r===void 0&&(r=new Map,wi.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function zi(e,n,r,o){let s=$t(e,n),c=++s.revision;for(let I of o)s.kindRevisions[I]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},I=>{s.revision===c&&(s.status="failed",s.error=I);}),{coordinator:s,revision:c,promise:m}}var Fr=new WeakMap;function Vt(){return reactive({loading:false,loaded:false,error:null})}function It(e){return {sticker:e(),gif:e()}}function Ai(e){return {sticker:e(),gif:e(),emoji:e()}}function Fn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ht(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&$c(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Ho(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Gi(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function yt(e){return "recordId"in e?e.recordId:void 0}function Bc(e){let n=[];for(let r=0;r<e.length;r+=Ti)n.push(e.slice(r,r+Ti));return n}function Kr(e){return e==="gif"?Uc:Lc}function Ne(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function No(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ne(o)!==r)].slice(0,Kr(n.kind)))}function Wc(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ne(o)!==r)])}function Di(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ne(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Kr(e)))break}return Object.freeze(o)}function _i(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function qo(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Lo(e,n,r){let o=e.filter(I=>I.kind==="emoji").slice(0,14).map(I=>Object.freeze({kind:"emoji",stableKey:qo(I),token:I.token,resourceId:I.resourceId})),s=n.filter(I=>I.kind==="game"||r.has(I.stableKey)),c=[],m=new Set;for(let I of [...s,...o])if(!m.has(I.stableKey)&&(m.add(I.stableKey),c.push(I),c.length===14))break;return Object.freeze(c)}function Uo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Qc(e){return defineStore("k2-im-expression",()=>{let n=he(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),I=ref({}),j=Vt(),A=reactive({}),V=ref({sticker:[],gif:[]}),D=It(Vt),Y=ref({sticker:[],gif:[]}),C=ref({sticker:[],gif:[],emoji:[]}),g=Ai(Vt),G=ref({sticker:[],gif:[],emoji:[]}),J=ref([]),B=ref("idle"),re=ref(""),M=ref([]),O=ref(0),Z=Vt(),q=ref(void 0),le=computed(()=>Fn(j,m.value.length)),oe=computed(()=>{let d=new Set([...Object.keys(A),...Object.keys(I.value)]);return Object.fromEntries([...d].map(p=>{let v=A[p]??{loading:false,loaded:true,error:null};return [p,Fn(v,I.value[p]?.length??0)]}))}),k=computed(()=>({sticker:Fn(D.sticker,V.value.sticker.length),gif:Fn(D.gif,V.value.gif.length)})),z=computed(()=>({sticker:Fn(g.sticker,C.value.sticker.length),gif:Fn(g.gif,C.value.gif.length),emoji:Fn(g.emoji,J.value.length)})),K=computed(()=>Fn(Z,M.value.length)),y=computed(()=>q.value!==void 0),T=false,b=0,w=0,$={},ce=It(()=>0),fe=Ai(()=>0),_=0,Q=0,ye=0,ue=0,Re=0,ke=null,Se=null,je=null,F="emoji",U=new Set,pe=[],ve=null,me=null,Ae=null,P=null,H=It(()=>new Map),S=It(()=>new Map),N=new Map,ie=new Map,se=It(()=>Promise.resolve());function be(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:b,accountId:d.userId}}function ne(d){return !T&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===b&&d.accountId===r.getCredentials().userId}function de(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,p,v){let h=ht(p,d);return v.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function io(d){return d.kind==="emoji"?null:d.kind==="sticker"?Object.freeze({kind:"sticker",packageId:d.packageId,resourceId:d.resourceId,url:d.url,width:d.width,height:d.height}):Object.freeze({kind:"gif",...d.resourceId===void 0||d.resourceId===""?{}:{resourceId:d.resourceId},url:d.url,width:d.width,height:d.height})}function yn(){let d=p=>Object.freeze(C.value[p].flatMap(v=>{let h=io(v);return h===null?[]:[Object.freeze({asset:h,pendingSync:H[p].has(Ne(h))})]}).slice(0,Kr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(J.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:N.has(p.stableKey)})))})}function bn(){for(let d of ["sticker","gif","emoji"])g[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(g[d].error=null);}function ln(d,p){let v=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function Zt(d,p,v,h=[p]){let R=o,x=++ye,te=zi(R,d.accountId,v,h);Re=te.revision;let ae=te.promise.then(()=>(ne(d)&&x===ye&&bn(),true),ee=>{if(!ne(d)||x!==ye)return false;let ge=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return g[p].error=ge,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ge.code,data:ee}})),false});return {...te,settled:ae}}function Sn(d){return ke!==null&&$e(ke,d)}function Cn(d){if(Ae!==null)return Ae;let v=(async()=>{for(;ne(d)&&!Sn(d);){let R=P!==null&&$e(P.context,d)?P:null;if(R!==null){let te=await R.promise;if(te.ok||!ne(d)||te.reason!=="stale")return;continue}let x=await qe();if(x.ok||!ne(d)||x.reason!=="stale")return}})();Ae=v;let h=()=>{Ae===v&&(Ae=null);};return v.then(h,h),v}function cn(d,p,v){if(!ne(d))return Promise.resolve();if(ue+=1,o===void 0||d.accountId==="")return ke=d,Promise.resolve();let h=yn();return Sn(d)?Zt(d,p,h).settled.then(()=>{}):(je=h,F=p,U.add(p),pe.push(v),Cn(d))}function er(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function un(d$1,p){let v=[...d$1.sticker],h=[...d$1.gif],R=[...d$1.emoji],x=new Map(d$1.pendingSticker),te=new Map(d$1.pendingGif),ae=new Map(d$1.pendingEmoji);for(let ee of p){if(ee.type==="prepend-asset"){(ee.kind==="sticker"?x:te).set(Ne(ee.asset),ee.asset),ee.kind==="sticker"?v=[...No(v,ee.asset)]:h=[...No(h,ee.asset)];continue}if(ee.type==="prepend-emoji"||ee.type==="prepend-emojis"){let Ie=ee.type==="prepend-emoji"?[ee.entry]:ee.entries;for(let ze of Ie)ze.kind==="emoji"&&ae.set(ze.stableKey,ze),R=[...d(R,ze)];continue}if(ee.type==="authoritative"){if(ee.kind==="emoji"){for(let Ie of ee.items)if(Ie.kind==="emoji")for(let[ze,_e]of ae)_e.resourceId===Ie.resourceId&&ae.delete(ze);R=[...Lo(ee.items,R,new Set(ae.keys()))];}else {let Ie=ee.kind==="sticker"?x:te;for(let _e of ee.items)_e.kind===ee.kind&&Ie.delete(Ne(_e));let ze=Di(ee.kind,ee.items,Ie);ee.kind==="sticker"?v=[...ze]:h=[...ze];}continue}if(ee.type==="delete-assets"){let Ie=new Set(ee.identities),ze=ee.kind==="sticker"?x:te,_e=Ee=>Ee.kind==="emoji"||!Ie.has(Ne(Ee))||ze.has(Ne(Ee));ee.kind==="sticker"?v=v.filter(_e):h=h.filter(_e);continue}let ge=new Set(ee.resourceIds);R=R.filter(Ie=>Ie.kind==="game"||!ge.has(Ie.resourceId)||ae.has(Ie.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(h),emoji:Object.freeze(R),pendingSticker:x,pendingGif:te,pendingEmoji:ae}}function rt(d){if(!_r(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(ae,ee)=>{let ge=[],Ie=new Map,ze=new Set;for(let _e of ee){if(!_r(_e)||typeof _e.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Ee=Vc(_e.asset,ae),He=Ne(Ee);ze.has(He)||(ze.add(He),ge.length<Kr(ae)&&(ge.push(Ee),_e.pendingSync&&Ie.set(He,Ee)));}return {items:Object.freeze(ge),pending:Ie}},v=p("sticker",d.sticker),h=p("gif",d.gif),R=[],x=new Map,te=new Set;for(let ae of d.emoji){if(!_r(ae)||typeof ae.stableKey!="string"||ae.stableKey.trim()===""||ae.kind!=="emoji"&&ae.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let ee=ae.stableKey.trim(),ge,Ie=false;if(ae.kind==="game"){if(ae.gameType!=="dice"&&ae.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ge=Uo(ae.gameType),ge.stableKey!==ee)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let ze=bt(ae.token,"emoji.token"),_e=bt(ae.resourceId,"emoji.resourceId");if(typeof ae.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Ie=ae.pendingSync,ge=Object.freeze({kind:"emoji",stableKey:ee,token:ze,resourceId:_e});}te.has(ee)||(te.add(ee),R.length<14&&(R.push(ge),ge.kind==="emoji"&&Ie&&x.set(ee,ge)));}return {sticker:v.items,gif:h.items,emoji:Object.freeze(R),pendingSticker:v.pending,pendingGif:h.pending,pendingEmoji:x}}function Rn(d){C.value={sticker:d.sticker,gif:d.gif,emoji:[]},G.value={sticker:[],gif:[],emoji:[]},J.value=d.emoji,H.sticker.clear(),H.gif.clear(),N.clear();for(let[p,v]of d.pendingSticker)H.sticker.set(p,v);for(let[p,v]of d.pendingGif)H.gif.set(p,v);for(let[p,v]of d.pendingEmoji)N.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(g[p],{loading:false,loaded:true,error:null});}function Ue(d,p){if(o===void 0||d.accountId==="")return 0;let v=$t(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ge(d){if(o===void 0||d.accountId===""||!Sn(d))return;let p=$t(o,d.accountId);if(p.revision===Re)return;let v=p.latestSnapshot===null?er():rt(p.latestSnapshot),h=(R,x)=>{let te=R==="sticker"?v.pendingSticker:v.pendingGif,ae=new Map(C.value[R].flatMap(ee=>ee.kind==="emoji"||ee.kind!==R?[]:[[Ne(ee),ee]]));return Object.freeze(x.map(ee=>{if(ee.kind==="emoji"||ee.kind!==R)return ee;let ge=Ne(ee);if(te.has(ge))return ee;let Ie=yt(ae.get(ge)??ee);return Object.freeze({...ee,...Ie===void 0?{}:{recordId:Ie}})}))};C.value={sticker:h("sticker",v.sticker),gif:h("gif",v.gif),emoji:C.value.emoji},J.value=v.emoji,H.sticker.clear(),H.gif.clear(),N.clear();for(let[R,x]of v.pendingSticker)H.sticker.set(R,x);for(let[R,x]of v.pendingGif)H.gif.set(R,x);for(let[R,x]of v.pendingEmoji)N.set(R,x);for(let R of ["sticker","gif"]){let x=new Set(C.value[R].flatMap(te=>yt(te)===void 0?[]:[yt(te)]));G.value={...G.value,[R]:Object.freeze(G.value[R].filter(te=>x.has(te)))};}Re=p.revision;}async function dn(d,p,v,h){let R="hydrate-recent";g.emoji.error=null;try{let x=null,te=0;if(o!==void 0&&d.accountId!==""){x=$t(o,d.accountId);let Ee=x.latestSnapshot;if(!h&&x.status==="failed"&&Ee!==null&&zi(o,d.accountId,Ee,[]),te=x.revision,await x.tail.catch(()=>{}),p!==Q||!ne(d)||ue!==v||x.revision!==te)return de(R);if(!h&&x.status==="failed")return ln(R,g.emoji);x.status==="saved"&&ve!==null&&x.latestSnapshot===ve&&je===me&&(je=null,U.clear(),pe.length=0,ve=null,me=null);}let ae=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Q||!ne(d)||ue!==v||x!==null&&x.revision!==te)return de(R);let ee;try{ee=ae===null?er():rt(ae);}catch(Ee){let He=o?.clearInvalid;if(ae!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,ae);}catch(Xe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Xe})}throw Ee}let ge=h?null:je,Ie=new Set(U),ze=[...pe],_e=ge===null?ee:un(ee,ze);if(Rn(_e),Re=te,h){if(je=null,U.clear(),pe.length=0,ve=null,me=null,x!==null){x.revision+=1;for(let Ee of ["sticker","gif","emoji"])x.kindRevisions[Ee]+=1;x.status="saved",x.latestSnapshot=ae,x.error=null,Re=x.revision;}return ke=d,bn(),Object.freeze({ok:!0,operation:R})}if(ge!==null&&o!==void 0&&d.accountId!==""){let Ee=yn();ve=Ee,me=ge;let He=Zt(d,F,Ee,[...Ie]),Xe=await He.settled;if(p!==Q||!ne(d)||ue!==v||He.coordinator.revision!==He.revision)return de(R);if(!Xe)return ln(R,g.emoji);je===ge&&(je=null,U.clear(),pe.length=0,ve=null,me=null);}return ke=d,Object.freeze({ok:!0,operation:R})}catch(x){return p!==Q||!ne(d)?de(R):we(R,x,g.emoji)}}function $e(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function qe(d={}){let p="hydrate-recent";if(T)return Promise.resolve(de(p));let v;try{v=be();}catch(ge){let Ie=we(p,ge,g.emoji);return !Ie.ok&&Ie.reason==="failed"&&(Se=Ie.error??g.emoji.error),Promise.resolve(Ie)}let h=o===void 0||v.accountId===""?null:$t(o,v.accountId);if(!d.force&&Sn(v)&&je===null&&(h===null||(h.status==="idle"||h.status==="saved")&&h.revision===Re))return Se=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&P!==null&&!P.force&&P.stateRevision===ue&&$e(P.context,v))return P.promise;let R=++Q,x=ue,te=dn(v,R,x,d.force===true).then(ge=>(ge.ok?Se=null:ge.reason==="failed"&&(Se=ge.error??g.emoji.error),ge)),ae={context:v,stateRevision:x,force:d.force===true,promise:te};P=ae;let ee=()=>{P===ae&&(P=null);};return te.then(ee,ee),te}async function fn(d){let p="load-packs";if(T)return de(p);let v=++w,h;try{h=be();}catch(R){return we(p,R,j)}j.loading=true,j.error=null;try{let R=await h.client.expressions.packs.list(d);return v!==w||!ne(h)?de(p):(c.value=R.version,m.value=Object.freeze([...R.items]),j.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(R){return v!==w||!ne(h)?de(p):we(p,R,j)}finally{v===w&&ne(h)&&(j.loading=false);}}async function En(d){let p="load-pack-items";if(T)return de(p);let v=d.trim();if(v===""){let te=ht(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:te})}let h=A[v]??=Vt(),R=($[v]??0)+1;$[v]=R;let x;try{x=be();}catch(te){return we(p,te,h)}h.loading=true,h.error=null;try{let te=await x.client.expressions.packs.listItems(v);return $[v]!==R||!ne(x)?de(p):(I.value={...I.value,[v]:Object.freeze([...te])},h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(te){return $[v]!==R||!ne(x)?de(p):we(p,te,h)}finally{$[v]===R&&ne(x)&&(h.loading=false);}}async function ot(d){let p="load-favorites";if(T)return de(p);let v=++ce[d],h=D[d],R;try{R=be();}catch(x){return we(p,x,h)}h.loading=true,h.error=null;try{let x=await R.client.expressions.favorites.list(d);return ce[d]!==v||!ne(R)?de(p):(Nn(d,x),h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(x){return ce[d]!==v||!ne(R)?de(p):we(p,x,h)}finally{ce[d]===v&&ne(R)&&(h.loading=false);}}function Nn(d,p){for(let x of p)S[d].delete(Ne(x));let v=[],h=new Set;for(let x of [...S[d].values(),...p]){let te=Ne(x);h.has(te)||(h.add(te),v.push(Object.freeze({...x})));}V.value={...V.value,[d]:Object.freeze(v)};let R=new Set(p.flatMap(x=>x.recordId===void 0?[]:[x.recordId]));Y.value={...Y.value,[d]:Object.freeze(Y.value[d].filter(x=>R.has(x)))};}async function Ln(d,p,v){let h=D[p];try{let R=await d.client.expressions.favorites.list(p);if(ce[p]!==v||!ne(d))return;Nn(p,R),h.loaded=!0;}catch(R){ce[p]===v&&ne(d)&&(h.error=ht(R,"load-favorites"));}}function Pn(d,p){let v="set-favorite";if(T)return Promise.resolve(de(v));let h=Ne(d),R=ie.get(h);if(R?.desired===p)return R.promise;let x;try{x=be();}catch(ge){return Promise.resolve(we(v,ge,D[d.kind]))}let te=R?.promise.catch(()=>{})??Promise.resolve(),ae=se[d.kind].catch(()=>{}),ee=Promise.all([te,ae]).then(async()=>{if(!ne(x))return de(v);let ge=d.kind,Ie=D[ge];Ie.error=null;let ze=V.value[ge].find(Ee=>Ne(Ee)===h);if(p&&ze!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&ze?.recordId===void 0){let Ee=Ho({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Ie.error=Ee,Object.freeze({ok:false,operation:v,reason:"failed",error:Ee})}let _e=++ce[ge];try{if(p?await x.client.expressions.favorites.add(d):await x.client.expressions.favorites.delete([ze.recordId]),!ne(x))return de(v);p?(S[ge].set(h,Object.freeze({...d})),V.value={...V.value,[ge]:Wc(V.value[ge],d)}):(S[ge].delete(h),V.value={...V.value,[ge]:Object.freeze(V.value[ge].filter(He=>He.recordId!==ze.recordId))});let Ee=++ce[ge];return _e=Ee,await Ln(x,ge,Ee),!ne(x)||ce[ge]!==Ee?de(v):Object.freeze({ok:!0,operation:v})}catch(Ee){return !ne(x)||ce[ge]!==_e?de(v):we(v,Ee,Ie)}finally{ce[ge]===_e&&ne(x)&&(Ie.loading=false);}});return ie.set(h,{desired:p,promise:ee}),se[d.kind]=ee.then(()=>{},()=>{}),ee.finally(()=>{ie.get(h)?.promise===ee&&ie.delete(h);}),ee}async function jn(d){let p=await Pn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Tn(d){return Pn(d,false)}function kn(d,p,v){if(T)return;let h=Gi(p),R=new Set(Y.value[d]);v??!R.has(h)?R.add(h):R.delete(h),Y.value={...Y.value,[d]:Object.freeze([...R])};}function nn(d,p,v){if(Ge(v),d==="emoji"){for(let R of p)if(R.kind==="emoji")for(let[x,te]of N)te.resourceId===R.resourceId&&N.delete(x);C.value={...C.value,emoji:Object.freeze([...p])},J.value=Lo(p,J.value,new Set(N.keys()));}else {for(let R of p)R.kind===d&&H[d].delete(Ne(R));C.value={...C.value,[d]:Di(d,p,H[d])};}let h=new Set(p.flatMap(R=>R.recordId===void 0?[]:[R.recordId]));G.value={...G.value,[d]:Object.freeze(G.value[d].filter(R=>h.has(R)))},g[d].loaded=true,cn(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function tn(d){let p="load-recent";if(T)return de(p);let v=g[d],h=await qe();if(!h.ok)return h.reason==="stale"?de(p):(v.error=h.error??g.emoji.error,Object.freeze({...h,operation:p}));let R=++fe[d],x;try{x=be();}catch(te){return we(p,te,v)}v.loading=true,v.error=null;try{let te=Ue(x,d),ae=await x.client.expressions.recent.list(d);return fe[d]!==R||!ne(x)?de(p):Ue(x,d)!==te?(Ge(x),de(p)):(nn(d,ae,x),Object.freeze({ok:!0,operation:p}))}catch(te){return fe[d]!==R||!ne(x)?de(p):we(p,te,v)}finally{fe[d]===R&&ne(x)&&(v.loading=false);}}async function gn(d,p){if(!ne(d))return;let v=++fe[p],h=g[p];h.loading=true,h.error=null;try{Ge(d);let R=Ue(d,p),x=await d.client.expressions.recent.list(p);if(fe[p]!==v||!ne(d))return;if(Ue(d,p)!==R){Ge(d);return}nn(p,x,d);}catch(R){fe[p]===v&&ne(d)&&(h.error=ht(R,"load-recent"));}finally{fe[p]===v&&ne(d)&&(h.loading=false);}}function mn(d,p){if(!ne(d))return false;Ge(d),Q+=1;let v=p.kind,h=Object.freeze({...p});return H[v].set(Ne(h),h),C.value={...C.value,[v]:No(C.value[v],h)},g[v].loaded=true,cn(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:h})),true}function pn(d$1,p){if(!ne(d$1))return false;Ge(d$1),Q+=1;let v=Object.freeze(p.map(R=>Object.freeze({...R}))),h=J.value;for(let R of v)N.set(R.stableKey,R),h=d(h,R);return J.value=h,g.emoji.loaded=true,cn(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Be(d,p){return pn(d,[p])}async function We(d,p,v=true){let h="report-recent";if(!ne(d))return de(h);let R=p.kind,x=++fe[R],te=g[R];te.error=null;try{if(await d.client.expressions.recent.report(p),fe[R]!==x||!ne(d))return de(h);if(!v)return Object.freeze({ok:!0,operation:h});try{Ge(d);let ae=Ue(d,R),ee=await d.client.expressions.recent.list(R);if(fe[R]!==x||!ne(d))return de(h);if(Ue(d,R)!==ae)return Ge(d),de(h);nn(R,ee,d);}catch(ae){fe[R]===x&&ne(d)&&(te.error=ht(ae,"load-recent"));}return Object.freeze({ok:!0,operation:h})}catch(ae){return fe[R]!==x||!ne(d)?de(h):we(h,ae,te)}}async function so(d){let p="report-recent";if(T)return de(p);let v;try{v=be();}catch(h){return we(p,h,g[d.kind])}return d.kind==="emoji"?Be(v,Object.freeze({...d,stableKey:qo(d)})):mn(v,d),We(v,d)}function lo(d,p,v){if(T)return;let h=Gi(p),R=new Set(G.value[d]);v??!R.has(h)?R.add(h):R.delete(h),G.value={...G.value,[d]:Object.freeze([...R])};}async function nr(d,p,v){let h=d==="favorites"?"delete-favorites":"delete-recent";if(T)return de(h);let R=d==="favorites"?Y:G,x=d==="favorites"?ce:fe,te=d==="favorites"?D:g,ae=v?.selected??R.value[p];if(ae.length===0)return Object.freeze({ok:false,operation:h,reason:"empty"});let ee=te[p];if(ee.loading)return Object.freeze({ok:false,operation:h,reason:"busy"});let ge=++x[p],Ie;try{Ie=v?.context??be();}catch(Te){return we(h,Te,ee)}d==="recent"&&Ge(Ie);let ze=d==="recent"?Ue(Ie,p):0,_e=new Set(ae),Ee=d==="recent"?C.value[p].filter(Te=>{let Ye=yt(Te);return Ye!==void 0&&_e.has(Ye)}):[];ee.loading=true,ee.error=null;let He=[],Xe=new Set,xn,zn,rn=false;for(let Te of Bc(ae)){if(!ne(Ie))return de(h);if(d==="recent"&&x[p]!==ge){rn=true;break}try{d==="favorites"?await Ie.client.expressions.favorites.delete(Te):await Ie.client.expressions.recent.delete(Te);for(let Ye of Te)Xe.add(Ye);}catch(Ye){let An=ht(Ye,h);xn??=An,He.push(...Te);}}if(!ne(Ie))return de(h);if(d==="recent"&&x[p]!==ge&&(rn=true),d==="recent"&&Ue(Ie,p)!==ze&&(rn=true),d==="favorites"){let Te=p;V.value={...V.value,[Te]:Object.freeze(V.value[Te].filter(Gn=>Gn.recordId===void 0||!Xe.has(Gn.recordId)))};let Ye=new Set(ae),An=Y.value[Te].filter(Gn=>!Ye.has(Gn));if(Y.value={...Y.value,[Te]:Object.freeze([...new Set([...An,...He])])},zn=++ce[Te],await Ln(Ie,Te,zn),!ne(Ie))return de(h)}else {let Te=p;Ge(Ie);let Ye=Ee.filter(xe=>{let on=yt(xe);return on!==void 0&&Xe.has(on)}),An=new Set(Ye.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),Gn=new Set(Ye.filter(xe=>xe.kind!=="emoji").map(Ne));Te==="emoji"&&(J.value=Object.freeze(J.value.filter(xe=>xe.kind==="game"||!An.has(xe.resourceId)||N.has(xe.stableKey)))),C.value={...C.value,[Te]:Object.freeze(C.value[Te].filter(xe=>{let on=yt(xe);return on===void 0||!Xe.has(on)}))};let uo=new Set(ae),vn=rn?G.value[Te].filter(xe=>!Xe.has(xe)):G.value[Te].filter(xe=>!uo.has(xe));if(G.value={...G.value,[Te]:Object.freeze(rn?vn:[...new Set([...vn,...He])])},Te==="emoji"){let xe=C.value.emoji.filter(on=>on.kind==="emoji");J.value=Lo(xe,J.value,new Set(N.keys()));}let In=Object.freeze(Te==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...An])}:{type:"delete-assets",kind:Te,identities:Object.freeze([...Gn])});if(cn(Ie,Te,In),rn&&Xe.size>0&&await gn(Ie,Te),!ne(Ie))return de(h)}return (d==="recent"?fe[p]===ge:ce[p]===zn)&&(ee.loaded=true,(xn!==void 0||d==="recent")&&(ee.error=xn??null),ee.loading=false),rn?de(h):He.length===0?Object.freeze({ok:true,operation:h}):Object.freeze({ok:false,operation:h,reason:Xe.size===0?"failed":"partial",error:xn,failedRecordIds:Object.freeze(He)})}function co(d){let p="delete-favorites";if(T)return Promise.resolve(de(p));let v=Object.freeze([...Y.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let h;try{h=be();}catch(te){return Promise.resolve(we(p,te,D[d]))}let x=se[d].catch(()=>{}).then(()=>ne(h)?nr("favorites",d,{context:h,selected:v}):de(p));return se[d]=x.then(()=>{},()=>{}),x}function tr(d){return nr("recent",d)}function at(d,p){let v=++_;return B.value=d,re.value=p,M.value=[],O.value=0,q.value=void 0,Z.loading=true,Z.loaded=false,Z.error=null,v}async function it(d,p){let v="load-giphy";if(T)return de(v);let h={mode:B.value,query:re.value,items:M.value,totalCount:O.value,nextOffset:q.value,loaded:Z.loaded},R=at(d,p),x=()=>{B.value=h.mode,re.value=h.query,M.value=h.items,O.value=h.totalCount,q.value=h.nextOffset,Z.loaded=h.loaded;},te;try{te=be();}catch(ae){return x(),Z.loading=false,we(v,ae,Z)}try{let ae=d==="trending"?await te.client.expressions.giphy.trending():await te.client.expressions.giphy.search(p);return R!==_||!ne(te)?de(v):(M.value=_i(ae.items),O.value=ae.totalCount,q.value=ae.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ae){return R!==_||!ne(te)?de(v):(x(),we(v,ae,Z))}finally{R===_&&ne(te)&&(Z.loading=false);}}function st(){return it("trending","")}function wn(d){if(T)return Promise.resolve(de("load-giphy"));let p=d.trim();return p===""?(at("search",""),Z.loading=false,Z.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):it("search",p)}async function rr(){let d="load-more-giphy";if(T)return de(d);if(Z.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(B.value==="idle"||q.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++_,v=B.value,h=re.value,R=q.value,x;try{x=be();}catch(te){return we(d,te,Z)}Z.loading=true,Z.error=null;try{let te=v==="trending"?await x.client.expressions.giphy.trending({offset:R}):await x.client.expressions.giphy.search(h,{offset:R});return p!==_||!ne(x)?de(d):(M.value=_i([...M.value,...te.items]),O.value=te.totalCount,q.value=te.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(te){return p!==_||!ne(x)?de(d):we(d,te,Z)}finally{p===_&&ne(x)&&(Z.loading=false);}}async function or(d){return Tt([d])}async function Tt(d){let p="report-recent";if(T)return de(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=be();}catch(x){return we(p,x,g.emoji)}let h=Object.freeze(d.map(x=>Object.freeze({...x,stableKey:qo(x)})));if(!pn(v,h))return de(p);let R=Object.freeze({ok:true,operation:p});for(let[x,te]of h.entries())if(R=await We(v,{kind:"emoji",token:te.token,resourceId:te.resourceId},x===h.length-1),!R.ok&&R.reason==="stale")return R;return R}function Qe(d,p){We(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function ar(d,p){if(T)return Ke();let v;try{v=be();}catch{return Ke()}let h;try{h=await d.messages.sendSticker(p);}catch(R){if(!ne(v))return Ke();throw R}return ne(v)?(h.ok&&mn(v,p)&&Qe(v,p),h):Ke()}async function wt(d,p){if(T)return Ke();let v;try{v=be();}catch{return Ke()}let h;try{h=await d.messages.sendGifAsset(p);}catch(R){if(!ne(v))return Ke();throw R}return ne(v)?(h.ok&&mn(v,p)&&Qe(v,p),h):Ke()}async function lt(d$1,p){if(T)return Ke();let v;try{v=be();}catch{return Ke()}let h;try{h=await d$1.messages.sendGame(p);}catch(R){if(!ne(v))return Ke();throw R}return ne(v)?(h.ok&&(Ge(v),Q+=1,J.value=d(J.value,Uo(p)),g.emoji.loaded=true,cn(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Uo(p)}))),h):Ke()}function Je(d={}){if(T)return;let p=d.preserveRecentHydrationFailure===true?Se:null;b+=1,w+=1,_+=1,Q+=1,ye+=1,ue=0,Re=0,ke=null,je=null,U.clear(),pe.length=0,ve=null,me=null,Ae=null,P=null,Se=p,ie.clear(),se=It(()=>Promise.resolve()),c.value="",m.value=[],I.value={},Object.assign(j,{loading:false,loaded:false,error:null});for(let v of Object.keys(A))delete A[v];for(let v of Object.keys($))$[v]=($[v]??0)+1;V.value={sticker:[],gif:[]},Y.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])ce[v]+=1,Object.assign(D[v],{loading:false,loaded:false,error:null});C.value={sticker:[],gif:[],emoji:[]},G.value={sticker:[],gif:[],emoji:[]},J.value=[],H.sticker.clear(),H.gif.clear(),S.sticker.clear(),S.gif.clear(),N.clear();for(let v of ["sticker","gif","emoji"])fe[v]+=1,Object.assign(g[v],{loading:false,loaded:false,error:null});p!==null&&(g.emoji.error=p),B.value="idle",re.value="",M.value=[],O.value=0,q.value=void 0,Object.assign(Z,{loading:false,loaded:false,error:null});}function ir(){T||(Je(),T=true);}return Fr.set(e,Object.freeze({dispose:ir})),{packVersion:c,packs:m,packItemsByPackage:I,packStatus:le,packItemStatus:oe,favorites:V,favoriteStatus:k,favoriteSelection:Y,recent:C,recentStatus:z,recentSelection:G,emojiRecent:J,giphyMode:B,giphyQuery:re,giphyItems:M,giphyTotalCount:O,giphyHasMore:y,giphyStatus:K,hydrateRecent:qe,loadPacks:fn,loadPackItems:En,loadFavorites:ot,addFavorite:jn,setFavorite:Pn,unsetFavorite:Tn,toggleFavoriteSelection:kn,deleteSelectedFavorites:co,loadRecent:tn,reportRecent:so,rememberEmoji:or,rememberEmojis:Tt,toggleRecentSelection:lo,deleteSelectedRecent:tr,loadGiphyTrending:st,searchGiphy:wn,loadMoreGiphy:rr,sendSticker:ar,sendGif:wt,sendGame:lt,reset:Je}})}var Fi=new WeakMap,Dr=new WeakMap;function Jc(e=Pe()){he(e);let n=Fi.get(e);n===void 0&&(n=Qc(e),Fi.set(e,n));let r=n(e),o=Fr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Dr.get(e)!==r&&(Dr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Dr.get(e)===r&&(Dr.delete(e),Fr.get(e)===o&&Fr.delete(e));})),r}var Hr=new WeakMap;function Hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Nr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Xc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Yc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Zc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:r!==null&&Yc(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hi(n)})}function eu(e=Pe()){let n=he(e),r=Hr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=De(e),m=Mn(e),I={disposed:false};function j(g){return !I.disposed&&o.getGeneration()===g.generation&&c.getHandle()===g.handle&&Nr(c.activeRef,g.conversation)}function A(){let g=I.activeIntent;g!==void 0&&(I.activeIntent=void 0,g.complete(Object.freeze({status:"stale",conversation:g.conversation})));}async function V(g){if(!j(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:g.generation,conversation:g.conversation}));try{if(!await c.loadLatest()||!j(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:g.generation,conversation:g.conversation})),g.complete(Object.freeze({status:"applied",conversation:g.conversation}));}catch(G){if(!j(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}let J=Zc(G,g.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:g.generation,conversation:g.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:J}})),g.complete(Object.freeze({status:"failed",conversation:g.conversation,error:J}));}}function D(g){let G=I.activeIntent;G===void 0||g.type!=="message:received"||g.source!=="live"||g.message.senderId!==G.selfId||g.message.status==="sent"||!Nr(g.ref,G.conversation)||(I.activeIntent=void 0,V(G));}async function Y(g,G){let J=c.getHandle();if(!Xc(g)||I.disposed||!c.hasNewer||J===void 0||!Nr(J.ref,g)||!Nr(c.activeRef,g))return Object.freeze({value:await G(),history:Object.freeze({status:"not-needed"})});A();let B=Hi(g),re,M=new Promise(Z=>{let q=false;re=le=>{q||(q=true,Z(le));};}),O={token:Symbol("history-return-after-send"),conversation:B,handle:J,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:re};I.activeIntent=O;try{let Z=await G();return I.activeIntent?.token===O.token&&(I.activeIntent=void 0,O.complete(j(O)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),Object.freeze({value:Z,history:await M})}catch(Z){throw I.activeIntent?.token===O.token&&(I.activeIntent=void 0,O.complete(j(O)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),await M,Z}}let C=o.subscribeProductEvents(D);return I.coordinator=Object.freeze({run:Y}),Hr.set(e,I),Oe(e,()=>{I.disposed=true,A(),C(),Hr.get(e)===I&&Hr.delete(e);}),I.coordinator}function Ui(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function qi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Ui(e.conversation)}})}function ru(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ou(e,n){return ru(e)?qi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function au(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:Ui(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:qi(e.error)}})}function Vi(e,n){return n===void 0?e:`${e}\0${n}`}function Jn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function iu(e){return defineStore("k2-im-media",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),I=false,j=0,A=null,V=-1,D,Y=computed(()=>{let b=o.activeRef,w={};for(let $ of s.value)$.direction!=="upload"||$.state!=="queued"&&$.state!=="running"||!Jn(b,$.ref)||(w[$.messageId]=$.state==="queued"?0:$.percent);return w}),C=computed(()=>{let b={};for(let w of s.value)w.direction==="download"&&Jn(o.activeRef,w.ref)&&(b[Vi(w.messageId,w.itemIndex)]=w);return b}),g=computed(()=>{let b={};for(let[w,$]of Object.entries(C.value))($.state==="queued"||$.state==="running")&&(b[w]=$.percent);return b}),G=computed(()=>{let b=o.activeRef,w={};for(let $ of s.value)$.direction==="upload"&&$.state==="queued"&&$.phase==="waiting-upload-slot"&&Jn(b,$.ref)&&(w[$.messageId]=true);return w}),J=computed(()=>{let b=o.activeRef,w={};for(let $ of s.value)$.direction==="upload"&&$.state==="running"&&$.phase==="finalizing"&&Jn(b,$.ref)&&(w[$.messageId]=true);return w});function B(b,w,$){I||A!==w||V!==$||n.getGeneration()!==$||(s.value=b.map(au));}function re(b){let w=n.getGeneration();if(I)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(A===b&&V===w||(j+=1,D?.(),D=void 0,A=b,V=b===null?-1:w,s.value=[],c.value=null,b===null))return;let $=false;D=b.media.subscribe(ce=>{$=true,B(ce,b,w);}),$||B(b.media.getSnapshot(),b,w),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:w}));}function M(){re(n.getProductClient());}function O(){re(null),m.value=null;}async function Z(b,w){let $=n.getProductClient();if($===null)return Object.freeze({ok:false,operation:b,reason:"not-ready"});if(re($),!s.value.some(_=>_.id===w))return Object.freeze({ok:false,operation:b,reason:"not-found"});let ce=n.getGeneration(),fe=j;c.value=null;try{return await $.media[b](w),I||fe!==j||n.getGeneration()!==ce||A!==$?Object.freeze({ok:!1,operation:b,reason:"stale"}):Object.freeze({ok:!0,operation:b})}catch(_){if(I||fe!==j||n.getGeneration()!==ce||A!==$)return Object.freeze({ok:false,operation:b,reason:"stale"});let Q=ou(_,b);return c.value=Q,r.record("error","pinia","media",`media-task-${b}-failed`,()=>({generation:ce,data:{taskId:w},error:{message:Q.code,data:Q}})),Object.freeze({ok:false,operation:b,reason:"failed",error:Q})}}function q(b){return Z("cancel",b)}function le(b){return Z("retry",b)}async function oe(b){let w=o.activeRef,$=s.value.find(fe=>fe.direction==="upload"&&(fe.state==="queued"||fe.state==="running")&&fe.messageId===b&&Jn(w,fe.ref));if($===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let ce=await q($.id);return Jn(o.activeRef,$.ref)?ce:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function k(b,w){let $=s.value.find(fe=>fe.direction==="download"&&(fe.state==="queued"||fe.state==="running")&&fe.messageId===b&&fe.itemIndex===w);if($===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let ce=await q($.id);return Jn(o.activeRef,$.ref)?ce:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function z(b){let w=o.activeRef;return b.status!=="failed"||b.failure?.displayCode!=="media.uploadInterrupted"||b.contentType!=="video"&&b.contentType!=="file"||w===null||b.conversationId!==w.conversationId||b.conversationType!==w.conversationType?false:(m.value=Object.freeze({messageId:b.id,conversationId:b.conversationId,conversationType:b.conversationType,kind:b.contentType}),true)}function K(){let b=m.value;return m.value=null,b}function y(){m.value=null;}function T(){I||(j+=1,D?.(),D=void 0,A=null,V=-1,s.value=[],c.value=null,m.value=null,I=true);}return {tasks:s,error:c,uploadProgress:Y,downloadTasks:C,downloadProgress:g,uploadWaiting:G,uploadFinalizing:J,replacementRequest:m,start:M,reset:O,cancel:q,retry:le,cancelUpload:oe,cancelDownload:k,requestReplacement:z,takeReplacementRequest:K,clearReplacementRequest:y,dispose:T}})}var Li=new WeakMap,Lr=new WeakMap;function su(e=Pe()){he(e);let n=Li.get(e);n===void 0&&(n=iu(e),Li.set(e,n));let r=n(e);return Lr.get(e)!==r&&(Lr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Lr.get(e)===r&&Lr.delete(e);})),r}function Xn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Ur(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function cu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&lu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Ct(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Rt(e,n){return Ct(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`channel-member-management.${e}`,retryable:false,conversation:n}))}function uu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function $i(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function du(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return $i(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:$i(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function fu(e,n,r,o){let s=Xn(r);if(s.conversationId==="")return {ok:false,result:Rt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ct(n,s,"not-ready")};let m=e.getGeneration(),I=du(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:Ct(n,s,"not-allowed",uu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Pt(e,n,r,o,s){let c=fu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ct(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Ct(n,c.captured.conversation,"stale");let I=cu(m,n,c.captured.conversation),j=n==="leave"&&I.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Ct(n,c.captured.conversation,j,I)}}function mu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Bi(e,n,r){let o=Xn(n),s=mu(r);return s.length===0?Promise.resolve(Rt("invite-members",o)):Pt(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Wi(e,n,r){let o=Xn(n),s=Ur(r);return s.userId===""?Promise.resolve(Rt("remove-member",o)):Pt(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Qi(e,n,r,o){let s=Xn(n),c=Ur(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Rt(m,s)):Pt(e,m,s,async({client:I})=>(o?await I.channels.addAdmin(s,c.userId):await I.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Ji(e,n,r){return Qi(e,n,r,true)}function Xi(e,n,r){return Qi(e,n,r,false)}function Yi(e,n,r){let o=Xn(n),s=Ur(r);return s.userId===""?Promise.resolve(Rt("transfer-ownership",o)):Pt(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Zi(e,n,r){let o=Xn(n),s=r===void 0?void 0:Ur(r);return s!==void 0&&s.userId===""?Promise.resolve(Rt("leave",o)):Pt(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function es(e,n){let r=Xn(n);return Pt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Wt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function vu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&pu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function kt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ot(e,n){return kt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function gu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function Iu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function hu(e,n,r,o){let s=Wt(r);if(s.conversationId==="")return {ok:false,result:Ot(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:kt(n,s,"not-ready")};let m=e.getGeneration(),I=Iu(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:kt(n,s,"not-allowed",gu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Kn(e,n,r,o,s){let c=hu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:kt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?kt(n,c.captured.conversation,"failed",vu(m,n,c.captured.conversation)):kt(n,c.captured.conversation,"stale")}}function ns(e,n,r){let o=Wt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ot(e,o)}:{ok:true,value:s}}function ts(e,n,r){let o=r.trim();return o===""?Promise.resolve(Ot("update-name",Wt(n))):Kn(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var yu=100;function rs(e,n,r){let o=r.trim();return o===""||[...o].length>yu?Promise.resolve(Ot("update-description",Wt(n))):Kn(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function os(e,n,r){return Kn(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?Ot("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function as(e,n,r){let o=ns("set-my-nickname",n,r);return o.ok?Kn(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function is(e,n,r,o,s){let c=r.trim(),m=ns("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Ot("set-member-nickname",Wt(n)):m.result);let I=Object.freeze({userId:c,role:o});return Kn(e,"set-member-nickname",n,async({client:j,conversation:A})=>(await j.channels.setMemberNickname(A,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:A,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),I)}function ss(e,n,r,o){return Kn(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ls(e,n,r){return Kn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function cs(e,n,r){return Kn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function bu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Cu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function Ru(e){let n=e.getProductClient();if(n===null)return null;let r=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===r&&e.getProductClient()===n})}function Pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ku(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&Pu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Yn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function qr(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function Zn(e,n,r,o){let s=Ru(e);if(s===null)return {ok:false,result:Yn(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:Yn(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:Yn(n,r,"failed",ku(c,n,r))}:{ok:false,result:Yn(n,r,"stale")}}}function Mt(e,n){let r=bu(n);return r.conversationId===""?{ok:false,result:Yn(e,r,"failed",qr(e,r))}:{ok:true,conversation:r}}async function us(e,n,r){let o=Mt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Zn(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(I=>Object.freeze({countryCode:I.countryCode,mobile:I.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function ds(e,n){let r=Mt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function fs(e,n,r){let o=Mt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return Yn("report",s,"failed",qr("report",s));let m=await Zn(e,"report",s,I=>I.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function ms(e,n){let r=Mt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ps(e,n){let r=n.trim();if(r==="")return Yn("search-user",null,"failed",qr("search-user",null));let o=await Zn(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:Cu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function vs(e,n){let r=Mt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Zn(e,"resolve-application-target",o,async c=>{let[m,I]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw qr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:I,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function gs(e,n,r){let o=Mt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Zn(e,"request-friendship",s,m=>m.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return c.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:c.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):c.result}function Qt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Ou(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function St(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Jt(e,n){return St(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`group-member-management.${e}`,retryable:false,conversation:n}))}function Su(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Eu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function ju(e,n,r,o=false){let s=Qt(r);if(s.conversationId==="")return {ok:false,result:Jt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:St(n,s,"not-ready")};let m=e.getGeneration(),I=Eu(c,s,n,o);return I.availability!=="available"?{ok:false,result:St(n,s,"not-allowed",Su(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Vr(e,n,r,o,s=false){let c=ju(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:St(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return St(n,c.captured.conversation,"stale");let I=Mu(m,n,c.captured.conversation),j=n==="leave"&&I.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return St(n,c.captured.conversation,j,I)}}function Tu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Is(e,n,r){let o=Qt(n),s=Tu(r);return s.length===0?Promise.resolve(Jt("invite-members",o)):Vr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function hs(e,n,r){let o=Qt(n),s=r.trim();return s===""?Promise.resolve(Jt("remove-member",o)):Vr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ys(e,n,r){let o=Qt(n),s=r.trim();return s===""?Promise.resolve(Jt("transfer-ownership",o)):Vr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function bs(e,n,r={}){let o=Qt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Jt("leave",o)):Vr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Vo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function wu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Cs(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&wu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function en(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function xu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function zu(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function Rs(e,n,r){let o=Vo(r);if(o.conversationId==="")return {ok:false,result:en(n,o,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:o}))};let s=e.getProductClient();if(s===null)return {ok:false,result:en(n,o,"not-ready")};let c=e.getGeneration(),m=zu(s,o,n);return m.availability!=="available"?{ok:false,result:en(n,o,"not-allowed",xu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function $o(e,n,r,o){let s=Rs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:en(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?en(n,s.captured.conversation,"failed",Cs(c,n,s.captured.conversation)):en(n,s.captured.conversation,"stale")}}function Ps(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(en("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return $o(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ks(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(en("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return $o(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Os(e,n,r,o){return $o(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ms(e,n,r){let o=Rs(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?en("update-avatar",s.conversation,"failed",Cs(c,"update-avatar",s.conversation)):en("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");let m=c?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...m===void 0||m===""?{}:{avatar:m},stale:!1,projectionUpdated:!1,refreshRequired:m===void 0||m===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):en("update-avatar",s.conversation,"stale")}}function Au(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Au(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function Ss(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Es(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function js(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Gu(n,r.value)}function Ts(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ws(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let I=[];for(let j of c){let A=await s.group.listMembers(j.id,{forceRefresh:false});A!==null&&A.some(V=>V.userId===r)&&I.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:j.id}),name:j.displayName||j.cardDisplayName||j.id,...j.avatarUrl===void 0?{}:{avatar:j.avatarUrl}}));}return Object.freeze(I)}async function xs(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Ss(r.value),stale:r.stale})}async function zs(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Ss(r)}async function As(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function Gs(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Ds(e,n){return e.ensureProductClient().directory.search(n)}async function _s(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Bo(c)}function Bo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function Fs(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let I=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(j=>j.userId===c);return I===void 0?null:Object.freeze({userId:I.userId,...I.nickname===void 0?{}:{nickname:I.nickname},displayName:I.displayName,...I.avatar===void 0?{}:{avatar:I.avatar},role:I.role})}async function Wo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Bo(c)}async function Ks(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Bo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Qo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Jo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Qo(o)}async function Hs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Qo(c)}async function Ns(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Qo(s)}function Ls(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Fu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Ku=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Us=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Ce(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function X(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function et(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function $r(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Xt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function tt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ve(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Hu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Ce(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ce(r)}})}function Br(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Nu(e){return defineStore("k2-im-profile-directory",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),I=ref("unknown"),j=ref(false),A$1=shallowRef(null),V=shallowRef([]),D$1=ref(false),Y=shallowRef(null),C$1=shallowRef(null),g=shallowRef(null),G=shallowRef([]),J=ref(false),B$1=ref(false),re=shallowRef(null),M=shallowRef(null),O=shallowRef(null),Z=ref(false),q=shallowRef(null),le=reactive({individual:Br(),group:Br(),channel:Br()}),oe=ref(""),k=shallowRef(null),z$1=ref(false),K=shallowRef(null),y=shallowRef(null),T=shallowRef([]),b=ref(""),w=ref(false),$=ref(false),ce=shallowRef(null),fe=shallowRef(null),_=shallowRef(null),Q=ref(false),ye=shallowRef(null),ue=shallowRef(null),Re=shallowRef([]),ke=ref(""),Se=ref(false),je=ref(false),F=shallowRef(null),U=false,pe=new Map,ve=0,me={direct:0,group:0,channel:0},Ae=0,P={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},H={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},S={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},N=new Map,ie=0,se=new Map,be=new Map,ne=new Set,de=new Set,we=new Map,Ke=new Map,io=0,yn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},bn=new Map,ln=new Map,Zt=0,Sn=new Set,Cn=new Map,cn=new Map,er=0,un=0,rt=0,Rn=new Map,Ue=new Map,Ge=new Map,dn=new Map,$e=new Map,qe=new Map,fn=new Map,En=ref(0),ot={individual:0,group:0,channel:0},Nn=new Map,Ln=0,Pn,jn,Tn,kn=0,nn,tn,gn,mn=0,pn,Be,We;function so(a){return s.value[a.conversationId]??0}function lo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=A(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?z(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?z(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function nr(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?B(t,n.getChannelMemberProfiles(),a.conversationId,i):C(t,i)}function co(a){return o.value,D(n.getSenderProfileCache(),a)}function tr(a,i){return sa(n,a,i)}function at(a,i){return ta$1(n,a.conversationId,i)}function it(a,i,t){let l=n.getGeneration(),u=pe.get(a.conversationId)??0;return ua(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(pe.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function st(a,i){let t=a.conversationId.trim();if(t==="")return;pe.set(t,(pe.get(t)??0)+1);let l={...n.getChannelMemberProfiles()},u=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(u.length===0)delete l[t];else {let f={...l[t]??{}};for(let E of u)delete f[E];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function wn(a,i){let t=a.conversationId.trim();t!==""&&(st(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function rr(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function or(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Tt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function Qe(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function ar(a,i,t={}){let l=$e.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(L=>L.userId)),f=new Map(l),E=i.map(L=>{let W=l.get(L.userId);return W===void 0?L:(t.reconcile===true&&W===L.nickname&&f.delete(L.userId),Object.freeze({...L,nickname:W}))});if(t.reconcile===true)for(let L of f.keys())u.has(L)||f.delete(L);return f.size===0?$e.delete(a):$e.set(a,f),Object.freeze(E)}function wt(a,i){let t=$e.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&$e.delete(a));}function lt(a,i){let t=qe.get(a);return t===void 0||t.size===0?i:Object.freeze(i.map(l=>{let u=t.get(l.userId);return u===void 0?l:Object.freeze({...l,displayName:u.displayName})}))}function Je(a,i){let t=qe.get(a),l=fn.get(a),u=M.value?.conversationId===a?O.value?.ownerId:dn.get(a)?.ownerId;return (t===void 0||t.size===0)&&(l===void 0||l.size===0)&&u===void 0?i:Object.freeze(i.map(f=>{let E=t?.get(f.userId),L=l?.get(f.userId),W=u!==void 0&&f.userId===u;if(E===void 0&&L===void 0&&!W)return f;let{nickname:Me,...sn}=f;return Object.freeze({...sn,...E===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:E.nickname===""?{}:{nickname:E.nickname},displayName:E?.displayName??f.displayName,role:W?"owner":L??f.role})}))}function ir(a,i){let t=qe.get(a);if(t===void 0)return;let l=false;for(let u of i)t.get(u.userId)?.nickname===(u.nickname??"")&&(t.delete(u.userId),l=true);t.size===0&&qe.delete(a),l&&(En.value+=1);}function d(a,i){let t=qe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(a),En.value+=1);}function p(a,i){let t=fn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&fn.delete(a);}}function v(a,i){let t=fn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&fn.delete(a));}function h(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?C$1.value:M.value;return !U&&n.getGeneration()===i&&ve===t&&me[a.conversationType]===l&&X(u,a)}async function R(a,i={}){let t=Ce(a),l=++ve,u=me.direct,f=n.getGeneration(),E=!X(c.value,t);c.value=t,E&&(m.value=null,I.value="unknown"),j.value=true,A$1.value=null;try{let L=await Es(n,t,i);return h(t,f,l,u)?(m.value=L.profile,I.value=L.relationship,j.value=!1,L.profile===null?Object.freeze({ok:!1,operation:"direct-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"direct-profile"})):Object.freeze({ok:!1,operation:"direct-profile",reason:"stale"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let W=Ve(L,"profile.direct",t);return A$1.value=W,j.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:W})}}async function x(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let L=await _t({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!L.ok)return Object.freeze({ok:false,reason:"channel-profile",result:L});if(f=X(M.value,a)?O.value:null,ra({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let E=await R({conversationType:"direct",conversationId:l},{forceRefresh:u});return E.ok?Object.freeze({ok:true,destination:ra({conversation:a,relationship:I.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:E})}async function te(a){let i=Ce(a),t=++Ae,l=n.getGeneration();c.value=i,D$1.value=true,Y.value=null;try{let u=await ws(n,i.conversationId);return !X(c.value,i)||l!==n.getGeneration()||t!==Ae?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(V.value=u,D$1.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!X(c.value,i)||l!==n.getGeneration()||t!==Ae)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ve(u,"profile.direct-mutual-groups",i);return Y.value=f,D$1.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ae(a){return P[a]+=1,P[a]}function ee(a,i){return !U&&P[a]===i}async function ge(a,i){let t=Ce(a),l=ae("set-remark"),u=await us(n,t,i);if(!ee("set-remark",l)||!X(c.value,t))return et("set-remark",t);if(!u.ok)return u;let f=m.value,E=f!==null&&f.userId===t.conversationId;return E&&(m.value=Object.freeze({...f,...i.name===void 0?{}:{remark:i.name},...i.emails===void 0?{}:{remarkEmails:Object.freeze([...i.emails])},...i.phones===void 0?{}:{remarkPhones:Object.freeze(i.phones.map(L=>Object.freeze({countryCode:L.countryCode,mobile:L.mobile})))}})),Object.freeze({...u,projectionUpdated:E})}async function Ie(a){let i=Ce(a),t=ae("block"),l=await ds(n,i);return !ee("block",t)||!X(c.value,i)?et("block",i):l.ok?(I.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a,i){let t=Ce(a),l=ae("report"),u=await fs(n,t,i);return !ee("report",l)||!X(c.value,t)?et("report",t):u}async function _e(a){let i=Ce(a),t=ae("delete-friendship"),l=await ms(n,i);return !ee("delete-friendship",t)||!X(c.value,i)?et("delete-friendship",i):l.ok?(I.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function Ee(a){let i=ae("search-user"),t=await ps(n,a);return ee("search-user",i)?t:et("search-user",t.conversation)}async function He(a){let i=Ce(a),t=ae("resolve-application-target"),l=await vs(n,i);return ee("resolve-application-target",t)?l:et("resolve-application-target",i)}async function Xe(a,i){let t=Ce(a),l=ae("request-friendship"),u=await gs(n,t,i);return ee("request-friendship",l)?u:et("request-friendship",t)}function xn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function zn(a,i){H[a]+=1;let t=n.getGeneration(),l=me.group,u=xn(i,a,t,l);return se.set(u,(se.get(u)??0)+1),Object.freeze({epoch:H[a],generation:t,key:u,resetEpoch:l})}function rn(a,i){let t=se.get(i.key)??0;t<=1?se.delete(i.key):se.set(i.key,t-1),ea(a);}function xt(a,i){return !U&&n.getGeneration()===i.generation&&me.group===i.resetEpoch&&H[a]===i.epoch}function zt(a,i){let t=n.getGeneration(),l=me.group;return i!==void 0?(se.get(xn(a,i,t,l))??0)>0:Object.keys(H).some(u=>(se.get(xn(a,u,t,l))??0)>0)}async function Te(a,i){let t=Ce(a),l=i.trim(),u=zn("update-name",t);try{let f=await Ps(n,t,l);if(!xt("update-name",u)||!X(C$1.value,t))return $r("update-name",t);if(!f.ok)return f;let E=g.value!==null;return E&&xl(t,l),Object.freeze({...f,projectionUpdated:E})}finally{rn(t,u);}}async function Ye(a,i){let t=Ce(a),l=zn("update-avatar",t);try{let u=await Ms(n,t,i);if(!xt("update-avatar",l)||!X(C$1.value,t))return $r("update-avatar",t);if(!u.ok)return u;let f=g.value!==null&&u.avatar!==void 0;return f&&zl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{rn(t,l);}}async function An(a,i){let t=Ce(a),l=i.trim(),u=zn("set-my-nickname",t);try{let f=await ks(n,t,l);if(!xt("set-my-nickname",u)||!X(C$1.value,t))return $r("set-my-nickname",t);if(!f.ok)return f;let E=G.value.some(L=>L.userId===f.memberId);return ca(t,f.memberId,l),xa(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:E})}finally{rn(t,u);}}async function Gn(a,i,t){let l=Ce(a),u=i===4?t?.trim():void 0,f=zn("update-verification",l);try{let E=await Os(n,l,i,u);if(!xt("update-verification",f)||!X(C$1.value,l))return $r("update-verification",l);if(!E.ok)return E;let L=g.value!==null;return L&&Al(l,i,u),Object.freeze({...E,projectionUpdated:L})}finally{rn(l,f);}}function uo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function vn(a,i,t="profile"){let l=n.getGeneration(),u=me.channel,f=uo(i,a,t,l,u),E=++io;return we.set(f,E),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:Ce(i),epoch:E,generation:l,resetEpoch:u,key:f})}function In(a){let i=Ke.get(a.key)??0;i<=1?Ke.delete(a.key):Ke.set(a.key,i-1),we.get(a.key)===a.epoch&&we.delete(a.key),oa(a.conversation);}function xe(a){return !U&&n.getGeneration()===a.generation&&me.channel===a.resetEpoch&&we.get(a.key)===a.epoch}function on(a,i,t){let l=`${n.getGeneration()}:${me.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of Ke){let E=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(E)&&(t===void 0||u===`${E}${t.trim()}`))return true}return false}function Yo(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function el(a,i){let t=Ce(a);if(an(t))return nt("update-name",t);let l=i.trim(),u=vn("update-name",t);try{let f=await ts(n,t,l);if(!xe(u)||!X(M.value,t))return Hn("update-name",t);if(!f.ok)return f;let E=O.value!==null;return E&&fa(t,l),Object.freeze({...f,projectionUpdated:E})}finally{In(u);}}async function nl(a,i){let t=Ce(a);if(an(t))return nt("update-description",t);let l=i.trim(),u=vn("update-description",t);try{let f=await rs(n,t,l);if(!xe(u)||!X(M.value,t))return Hn("update-description",t);if(!f.ok)return f;let E=O.value!==null;return E&&ma(t,l),Object.freeze({...f,projectionUpdated:E})}finally{In(u);}}async function tl(a,i){let t=Ce(a);if(an(t))return nt("update-avatar",t);let l=vn("update-avatar",t);try{let u=await os(n,t,i);if(!xe(l)||!X(M.value,t))return Hn("update-avatar",t);if(!u.ok)return u;let f=O.value!==null;return f&&pa(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function rl(a,i){let t=Ce(a),l=i.trim(),u=vn("set-my-nickname",t,n.getCredentials().userId);try{let f=await as(n,t,l);return !xe(u)||!X(M.value,t)?Hn("set-my-nickname",t):f.ok?(ho(t,f.memberId,l,l),Yo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{In(u);}}async function ol(a,i,t){let l=Ce(a);if(an(l))return nt("set-member-nickname",l);let u=i.trim(),f=t.trim(),E=Ro(l,u),L=vn("set-member-nickname",l,u);try{let W=await is(n,l,u,E?.role??"unknown",f);return !xe(L)||!X(M.value,l)?Hn("set-member-nickname",l):W.ok?(ho(l,W.memberId,f,f),Yo(l,W.memberId,f),Object.freeze({...W,projectionUpdated:!0})):W}finally{In(L);}}async function al(a,i,t){let l=Ce(a);if(an(l))return nt("update-verification",l);let u=i===4?t?.trim():void 0,f=vn("update-verification",l);try{let E=await ss(n,l,i,u);if(!xe(f)||!X(M.value,l))return Hn("update-verification",l);if(!E.ok)return E;let L=O.value!==null;return L&&va$1(l,i,u),Object.freeze({...E,projectionUpdated:L})}finally{In(f);}}async function il(a,i){let t=Ce(a);if(an(t))return nt("set-all-muted",t);let l=vn("set-all-muted",t);try{let u=await ls(n,t,i);if(!xe(l)||!X(M.value,t))return Hn("set-all-muted",t);if(!u.ok)return u;let f=O.value!==null;return f&&Io(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function sl(a,i){let t=Ce(a);if(an(t))return nt("set-member-private-chat-disabled",t);let l=vn("set-member-private-chat-disabled",t);try{let u=await cs(n,t,i);if(!xe(l)||!X(M.value,t))return Hn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=O.value!==null;return f&&Io(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}function ll(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function fo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function sr(a,i,t){let l=n.getGeneration(),u=S[a],f=fo(i,a,l,u),E=ll(i,a,t,l,u),L=++ie;return N.set(E,L),be.set(f,(be.get(f)??0)+1),Object.freeze({actionEpoch:L,actionKey:E,generation:l,resetEpoch:u,writeKey:f})}function lr(a,i){let t=be.get(i.writeKey)??0;t<=1?be.delete(i.writeKey):be.set(i.writeKey,t-1),N.get(i.actionKey)===i.actionEpoch&&N.delete(i.actionKey),ea(a);}function cr(a,i){return !U&&n.getGeneration()===i.generation&&S[a]===i.resetEpoch&&N.get(i.actionKey)===i.actionEpoch}function ur(a,i){let t=n.getGeneration();return i!==void 0?(be.get(fo(a,i,t,S[i]))??0)>0:Object.keys(S).some(l=>(be.get(fo(a,l,t,S[l]))??0)>0)}function cl(a,i){let t=i.trim();t!==""&&Ue.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ul(a,i){if(i===null||i.isInGroup===false)return Ue.delete(a.conversationId),i;let t=Ue.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Zo(a){X(C$1.value,a)&&ft(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!X(C$1.value,a)||dr(a);});}function At(a){X(C$1.value,a)&&Dt(a,{forceRefresh:true});}function ea(a){zt(a)||ur(a)||(ne.delete(a.conversationId)&&At(a),de.delete(a.conversationId)&&Oo(a));}function dr(a){X(C$1.value,a)&&wa(n,a.conversationId,G.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function dl(a,i){let t=Ce(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=sr("invite-members",t,l);try{let f=await Is(n,t,i);if(!cr("invite-members",u))return tt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&X(C$1.value,t)&&At(t),f;if(!X(C$1.value,t))return tt("invite-members",t);let E=f.memberIds.some(L=>da(t,L));for(let L of f.memberIds)vo(t,L);return Zo(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{lr(t,u);}}async function fl(a,i){let t=Ce(a),l=sr("remove-member",t,i.trim());try{let u=await hs(n,t,i);if(!cr("remove-member",l))return tt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&X(C$1.value,t)&&At(t),u;if(!X(C$1.value,t))return tt("remove-member",t);let f=G.value.some(E=>E.userId===u.memberId);return po(t,u.memberId),Zo(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{lr(t,l);}}async function ml(a,i){let t=Ce(a),l=sr("transfer-ownership",t,"group-owner");try{let u=await ys(n,t,i);if(!cr("transfer-ownership",l))return tt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&X(C$1.value,t)&&At(t),u;if(!X(C$1.value,t))return tt("transfer-ownership",t);cl(t,u.ownerId);let f=g.value,E=f!==null;return f!==null&&(g.value=Object.freeze({...f,ownerId:u.ownerId})),At(t),Object.freeze({...u,projectionUpdated:E,refreshRequired:!1})}finally{lr(t,l);}}async function pl(a,i={}){let t=Ce(a),l=sr("leave",t,"membership");try{let u=await bs(n,t,i);if(!u.ok&&!cr("leave",l))return tt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&X(C$1.value,t)&&await Dt(t,{forceRefresh:!0}),u;go(t),ya(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=X(C$1.value,t)&&(g.value!==null||G.value.length>0);return X(C$1.value,t)&&(C$1.value=null,g.value=null,G.value=[],J.value=!1,B$1.value=!1,re.value=null),Object.freeze({...u,projectionUpdated:f})}finally{lr(t,l);}}function vl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function na(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ct(a,i,t){let l=n.getGeneration(),u=yn[a],f=vl(i,a,t,l,u),E=na(i,a,l,u),L=++Zt;return bn.set(f,L),ln.set(E,(ln.get(E)??0)+1),Object.freeze({actionEpoch:L,actionKey:f,conversation:Ce(i),writeKey:E,generation:l,resetEpoch:u})}function ut(a){let i=ln.get(a.writeKey)??0;i<=1?ln.delete(a.writeKey):ln.set(a.writeKey,i-1),bn.get(a.actionKey)===a.actionEpoch&&bn.delete(a.actionKey),oa(a.conversation);}function dt(a,i){return !U&&n.getGeneration()===i.generation&&yn[a]===i.resetEpoch&&bn.get(i.actionKey)===i.actionEpoch}function fr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(yn):[i]).some(u=>(ln.get(na(a,u,t,yn[u]))??0)>0)}function mr(a,i){let t=i.trim();if(t==="")return;let l=Ro(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function gl(a,i){let t=i.trim();t!==""&&dn.set(a.conversationId,{ownerId:t});}function an(a){let i=dn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ta(a,i){if(i===null)return dn.delete(a.conversationId),null;let t=dn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(dn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function Il(a){return !X(M.value,a)||O.value===null?false:(O.value=ta(a,O.value),true)}function hl(a){X(y.value,a)&&ko(a,{preserveExisting:true});}function Gt(a){X(M.value,a)&&_t(a,{forceRefresh:true});}function pr(a){Gt(a),hl(a);}function yl(a,i,t,l){let u=Cn.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(E=>E.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let E of f)u.userIds.add(E);u.affectsMentions||=i,u.resolvesProfiles||=t,Cn.set(a.conversationId,u);}function ra$1(a,i){let t=Cn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&Cn.delete(a.conversationId);}}function oa(a){if(on(a)||fr(a))return;Sn.delete(a.conversationId)&&ba(a);let i=Cn.get(a.conversationId);if(i===void 0)return;Cn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?wn(a,t):st(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&it(a,t,{forceRefresh:true}),Ir(a);}function bl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function aa(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function Cl(a,i){let t=Ce(a);if(an(t))return Xt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ct("invite-members",t,l);try{let f=await Bi(n,t,i);if(!dt("invite-members",u))return hn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!X(M.value,t))return hn("invite-members",t);let E=f.memberIds.some(L=>Co(t,L));for(let L of f.memberIds)bo(t,L);return wn(t,f.memberIds),ra$1(t,f.memberIds),pr(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{ut(u);}}async function Rl(a,i){let t=Ce(a);if(an(t))return Xt("remove-member",t);let l=mr(t,i),u=ct("remove-member",t,i.trim());try{let f=await Wi(n,t,l??{userId:i,role:"unknown"});if(!dt("remove-member",u))return hn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!X(M.value,t))return hn("remove-member",t);let E=bl(t,f.memberId),L=T.value.some(W=>W.userId===f.memberId)||Re.value.some(W=>W.userId===f.memberId)||E;return yo(t,f.memberId),wn(t,[f.memberId]),ra$1(t,[f.memberId]),pr(t),Object.freeze({...f,projectionUpdated:L,refreshRequired:!1})}finally{ut(u);}}async function Pl(a,i,t){let l=Ce(a),u=mr(l,i),f=t?"add-admin":"remove-admin";if(an(l))return Xt(f,l);let E=ct(f,l,i.trim());try{let L=t?await Ji(n,l,u??{userId:i,role:"unknown"}):await Xi(n,l,u??{userId:i,role:"unknown"});if(!dt(f,E))return hn(f,l);if(!L.ok)return L.outcome!=="stale"&&Gt(l),L;if(!X(M.value,l))return hn(f,l);let W=t?"admin":"member",Me=u?.role!==W;return Un(l,L.memberId,W),pr(l),Object.freeze({...L,projectionUpdated:Me,refreshRequired:!1})}finally{ut(E);}}async function kl(a,i){let t=Ce(a);if(an(t))return Xt("transfer-ownership",t);let l=mr(t,i),u=ct("transfer-ownership",t,"channel-owner");try{let f=await Yi(n,t,l??{userId:i,role:"unknown"});if(!dt("transfer-ownership",u))return hn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Gt(t),f;if(!X(M.value,t))return hn("transfer-ownership",t);gl(t,f.ownerId);let E=Il(t);return Un(t,f.ownerId,"owner"),Un(t,n.getCredentials().userId,"member"),pr(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{ut(u);}}async function Ol(a,i={}){let t=Ce(a),l=i.newOwnerId===void 0?void 0:mr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=ct("leave",t,"membership");try{let f=await Zi(n,t,l);if(!f.ok&&!dt("leave",u))return hn("leave",t);if(!f.ok)return f;let E=X(M.value,t)&&(O.value!==null||T.value.length>0||Re.value.length>0);return vr(t),dn.delete(t.conversationId),aa(t),X(M.value,t)&&hr(),Object.freeze({...f,projectionUpdated:E})}finally{ut(u);}}async function Ml(a){let i=Ce(a);if(an(i))return Xt("dismiss",i);let t=ct("dismiss",i,"membership");try{let l=await es(n,i);if(!l.ok&&!dt("dismiss",t))return hn("dismiss",i);if(!l.ok)return l;let u=X(M.value,i)&&(O.value!==null||T.value.length>0||Re.value.length>0);return vr(i),dn.delete(i.conversationId),aa(i),X(M.value,i)&&hr(),Object.freeze({...l,projectionUpdated:u})}finally{ut(t);}}async function Dt(a,i={}){let t=Ce(a),l=++ve,u=me.group,f=n.getGeneration(),E=!X(C$1.value,t);C$1.value=t,E&&(g.value=null,un+=1,G.value=[],B$1.value=false),J.value=true,re.value=null;try{let L=i.forceRefresh===!0?null:await js(n,t);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(L!==null&&(g.value=L),i.restricted===!0)return i.includeMembers===!0&&await ft(t,{restricted:!0,forceRefresh:!0}),h(t,f,l,u)?(J.value=!1,g.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let W=await Ts(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Me=ul(t,W);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Me?.ref.conversationId??null,name:Me?.name??null,isInGroup:Me?.isInGroup??null,verifyWay:Me?.verifyWay??null,memberCount:Me?.memberCount??null,membershipDecision:Me?.isInGroup===!0?"joined":Me?.isInGroup===!1?"not-joined":"unknown"}})),Me===null||Me.isInGroup===!1?(un+=1,G.value=[],B$1.value=!1,go(t),ya(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ft(t,{restricted:!1,forceRefresh:!0}),h(t,f,l,u)?(g.value=Me,J.value=!1,Object.freeze(Me===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let W=Ve(L,"profile.group",t);return i.forceRefresh===true&&(g.value=null,un+=1,G.value=[],B$1.value=false),re.value=W,J.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:W})}}async function ft(a,i={}){let t=Ce(a);if(X(C$1.value,t)||(C$1.value=t,G.value=[]),X(C$1.value,t)&&g.value?.ref.conversationId===t.conversationId&&g.value.isInGroup===false)return un+=1,G.value=[],B$1.value=false,Object.freeze({ok:true,operation:"group-members"});if(G.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++un,u=n.getGeneration();B$1.value=true;try{let f=i.preserveExisting===!0?null:await xs(n,t);if(U||n.getGeneration()!==u||l!==un||!X(C$1.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let E=f===null?null:Qe(Rn,t.conversationId,f.items);if(E!==null&&(G.value=ar(t.conversationId,E),dr(t)),i.restricted===!0||i.forceRefresh!==!0&&E!==null&&E.length>0)return B$1.value=!1,Object.freeze({ok:!0,operation:"group-members"});let L=await zs(n,t);return U||n.getGeneration()!==u||l!==un||!X(C$1.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(L!==null&&(G.value=ar(t.conversationId,Qe(Rn,t.conversationId,L),{reconcile:!0}),dr(t)),B$1.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==un||!X(C$1.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let E=Ve(f,"profile.group-members",t);return re.value=E,B$1.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:E})}}async function _t(a,i){let t=Ce(a),l=++ve,u=me.channel,f=n.getGeneration(),E=!X(M.value,t);M.value=t,E&&(O.value=null,Vn(t)),Z.value=true,q.value=null;try{let L=await As(n,t,i);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let W=ta(t,L);return O.value=W,W!==null&&X(y.value,t)&&(T.value=Je(t.conversationId,T.value)),W===null?(vr(t),Vn()):W.canViewMembers!==!0&&Vn(),Z.value=!1,Object.freeze(W===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let W=Ve(L,"profile.channel",t);return i?.forceRefresh===true&&(O.value=null,Vn()),q.value=W,Z.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:W})}}async function Sl(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,E=++er,L=n.getGeneration(),W=me[t.conversationType];cn.set(f,E);let Me=()=>!U&&n.getGeneration()===L&&me[t.conversationType]===W&&cn.get(f)===E&&(t.conversationType==="group"?X(C$1.value,t):X(M.value,t));try{let sn=t.conversationType==="group"?i.inviteCode===void 0?await u.groups.requestJoin(t):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?await u.channels.requestJoin(t):await u.channels.joinByInviteCode(t,i.inviteCode);return Me()?(sn.outcome==="joined"&&(t.conversationType==="group"?await Dt(t,{forceRefresh:!0}):await _t(t,{forceRefresh:!0})),Me()?Object.freeze({ok:!0,operation:l,outcome:sn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(sn){return Me()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ve(sn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{cn.get(f)===E&&cn.delete(f);}}async function ia(a,i,t){let l=le[a];if(l.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&l.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&l.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let u=i?Nn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ot[a],E=n.getGeneration();l.loading=true,l.error=null;try{let L=await Gs(n,a,u);return U||E!==n.getGeneration()||f!==ot[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ls(i?l.items:[],L.items),l.loaded=!0,l.exhausted=L.exhausted,l.loading=!1,L.nextPageToken===void 0?Nn.delete(a):Nn.set(a,L.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(L){if(U||E!==n.getGeneration()||f!==ot[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let W=Ve(L,`directory.${a}`);return l.error=W,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:W})}}function El(a,i=false){return ia(a,i,false)}function jl(a){return ia(a,false,true)}function sa$1(){Pn!==void 0&&(clearTimeout(Pn),Pn=void 0),jn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),jn=void 0;}async function Tl(a,i){let t=n.getGeneration();try{let l=await Ds(n,a);return U||t!==n.getGeneration()||i!==Ln?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(k.value=l,z$1.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==Ln)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ve(l,"directory.search");return K.value=u,z$1.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function mo(){Ln+=1,sa$1(),oe.value="",k.value=null,z$1.value=false,K.value=null,Tn=void 0;}function wl(a,i={}){let t=a.trim();if(t==="")return mo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&jn?.keyword===t)return jn.promise;if(Tn?.keyword===t)return Tn.promise;if(!i.immediate&&oe.value===t&&k.value?.keyword===t.toLocaleLowerCase()&&K.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Ln;sa$1(),oe.value=t,k.value=null,z$1.value=true,K.value=null;let u=()=>{let L=Tl(t,l);return Tn={keyword:t,promise:L},L.finally(()=>{Tn?.promise===L&&(Tn=void 0);}),L};if(i.immediate)return u();let f,E=new Promise(L=>{f=L;});return jn={keyword:t,promise:E,resolve:f},Pn=setTimeout(()=>{Pn=void 0,jn=void 0,u().then(f);},300),E}function la(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function xl(a,i){!X(C$1.value,a)||g.value===null||(g.value=Object.freeze({...g.value,name:i}));}function zl(a,i){!X(C$1.value,a)||g.value===null||(g.value=Object.freeze({...g.value,avatar:i}));}function Al(a,i,t){if(!X(C$1.value,a)||g.value===null)return;let{inviteCode:l,...u}=g.value;g.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ca(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=$e.get(a.conversationId)??new Map;f.set(l,u),$e.set(a.conversationId,f),X(C$1.value,a)&&(G.value=Object.freeze(G.value.map(E=>E.userId===l?Object.freeze({...E,nickname:u}):E)));}function ua$1(a,i){wt(a.conversationId,i);}function po(a,i){let t=i.trim();if(t===""||(wt(a.conversationId,t),rr(Rn,a.conversationId,t),!X(C$1.value,a)))return;let l=G.value.filter(f=>f.userId!==t),u=l.length!==G.value.length;u&&(G.value=Object.freeze(l),dr(a)),u&&g.value!==null&&g.value.memberCount!==void 0&&(g.value=Object.freeze({...g.value,memberCount:Math.max(0,g.value.memberCount-1)}));}function vo(a,i){wt(a.conversationId,i),or(Rn,a.conversationId,i);}function da(a,i){return Tt(Rn,a.conversationId,i)}function go(a){Rn.delete(a.conversationId),$e.delete(a.conversationId);}function fa(a,i){!X(M.value,a)||O.value===null||(O.value=Object.freeze({...O.value,name:i}));}function ma(a,i){!X(M.value,a)||O.value===null||(O.value=Object.freeze({...O.value,description:i}));}function pa(a,i){!X(M.value,a)||O.value===null||(O.value=Object.freeze({...O.value,avatar:i}));}function va$1(a,i,t){if(!X(M.value,a)||O.value===null)return;let{inviteCode:l,...u}=O.value;O.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Io(a,i){if(!X(M.value,a)||O.value===null)return;let t={...O.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};O.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ho(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),E=f||l?.trim()||u,L=qe.get(a.conversationId)??new Map;L.set(u,{nickname:f,displayName:E}),qe.set(a.conversationId,L),En.value+=1,X(y.value,a)&&(T.value=Je(a.conversationId,T.value)),qn(a,u)&&(_.value=Je(a.conversationId,_.value===null?[]:[_.value])[0]??null),X(ue.value,a)&&(Re.value=Object.freeze(Re.value.map(W=>W.userId===u?Object.freeze({...W,displayName:E}):W)));}function Un(a,i,t){let l=i.trim();if(l==="")return;let u=fn.get(a.conversationId)??new Map;u.set(l,t),fn.set(a.conversationId,u),X(y.value,a)&&(T.value=Je(a.conversationId,T.value)),qn(a,l)&&(_.value=Je(a.conversationId,_.value===null?[]:[_.value])[0]??null);}function ga(a,i){d(a.conversationId,i);}function Gl(a,i){return En.value,qe.get(a.conversationId)?.get(i.trim())?.nickname}function yo(a,i){let t=i.trim();if(t==="")return;let l=X(y.value,a),u=X(ue.value,a);if(d(a.conversationId,t),v(a.conversationId,t),rr(Ge,a.conversationId,t),!l&&!u)return;let f=l&&T.value.some(L=>L.userId===t),E=u&&Re.value.some(L=>L.userId===t);l&&(T.value=Object.freeze(T.value.filter(L=>L.userId!==t))),u&&(Re.value=Object.freeze(Re.value.filter(L=>L.userId!==t))),qn(a,t)&&(_.value=null),(f||E)&&X(M.value,a)&&O.value?.memberCount!==void 0&&(O.value=Object.freeze({...O.value,memberCount:Math.max(0,O.value.memberCount-1)}));}function bo(a,i){d(a.conversationId,i),v(a.conversationId,i),or(Ge,a.conversationId,i);}function Co(a,i){return Tt(Ge,a.conversationId,i)}function vr(a){Ge.delete(a.conversationId),fn.delete(a.conversationId),qe.delete(a.conversationId)&&(En.value+=1);}function On(a,i,t){return !U&&n.getGeneration()===i&&kn===t&&X(y.value,a)}function qn(a,i,t,l){let u=fe.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||rt===l)&&u!==null&&X(u,a)&&u.userId===i}function Ro(a,i){let t=i.trim();if(t!==""){if(X(y.value,a)){let l=T.value.find(u=>u.userId===t);if(l!==void 0)return l}return qn(a,t)?_.value??void 0:void 0}}async function Dl(a,i,t={forceRefresh:true}){let l=Ce(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++rt,E=n.getGeneration();fe.value=Object.freeze({...l,userId:u}),_.value=null,Q.value=true,ye.value=null;try{let L=await Fs(n,l,u,{forceRefresh:t.forceRefresh!==!1});return qn(l,u,E,f)?L===null||Co(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(_.value=Je(l.conversationId,[L])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(L){if(!qn(l,u,E,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let W=Ve(L,"profile.channel-member",l);return ye.value=W,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:W})}finally{qn(l,u,E,f)&&(Q.value=false);}}async function Po(a,i,t){w.value=true,ce.value=null;try{let l=await Ks(n,a,b.value);return On(a,i,t)?(ir(a.conversationId,l.items),p(a.conversationId,l.items),T.value=Je(a.conversationId,Qe(Ge,a.conversationId,l.items)),nn=l.nextCursor,$.value=l.exhausted||l.nextCursor===void 0,gn=void 0,w.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!On(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Ve(l,"profile.channel-members.refresh",a);return gn="initial",ce.value=u,w.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Ia(a){if(w.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Ce(a),t=kn,l=n.getGeneration();w.value=true,ce.value=null;try{let u=await Wo(n,i,b.value);return On(i,l,t)?(u!==null&&(T.value=Je(i.conversationId,Qe(Ge,i.conversationId,u.items)),nn=u.nextCursor,$.value=u.exhausted||u.nextCursor===void 0),await Po(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.cache",i);return gn="initial",ce.value=f,w.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ha(a){if(w.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if($.value||nn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Ce(a),t=kn,l=n.getGeneration();w.value=true,ce.value=null;try{let u=await _s(n,i,{query:b.value,cursor:nn});return On(i,l,t)?(ir(i.conversationId,u.items),p(i.conversationId,u.items),T.value=Je(i.conversationId,Qe(Ge,i.conversationId,la(T.value,u.items))),nn=u.nextCursor,$.value=u.exhausted||u.nextCursor===void 0,gn=void 0,w.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.page",i);return gn="more",ce.value=f,w.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Vn(a=null){tn!==void 0&&(clearTimeout(tn),tn=void 0),kn+=1,y.value=a===null?null:Ce(a),T.value=[],b.value="",w.value=false,$.value=false,ce.value=null,nn=void 0,gn=void 0;}function ko(a,i={}){let t=Ce(a);if(i.preserveExisting===true&&X(y.value,t)){tn!==void 0&&(clearTimeout(tn),tn=void 0);let l=++kn,u=n.getGeneration();return ce.value=null,Po(t,u,l)}return Vn(t),Ia(t)}function _l(a){let i=y.value;if(i===null)return;b.value=a,kn+=1,T.value=[],$.value=false,ce.value=null,nn=void 0,w.value=false,tn!==void 0&&clearTimeout(tn);let t=kn,l=n.getGeneration();(async()=>{try{let u=await Wo(n,i,b.value);if(!On(i,l,t))return;u!==null&&(T.value=Je(i.conversationId,Qe(Ge,i.conversationId,u.items)),nn=u.nextCursor,$.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!On(i,l,t))return;ce.value=Ve(u,"profile.channel-members.cache",i);}On(i,l,t)&&(tn=setTimeout(()=>{tn=void 0,Po(i,l,t);},300));})();}function Fl(){let a=y.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ha(a)}function Kl(){let a=y.value;return a===null||gn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):gn==="more"?ha(a):Ia(a)}function Dn(a,i,t){return !U&&n.getGeneration()===i&&mn===t&&X(ue.value,a)}async function Ft(a,i={}){if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Ce(a),l=mn,u=n.getGeneration();Se.value=true,F.value=null;try{let f=i.useCache===!1?null:await Jo(n,t,ke.value||void 0);if(!Dn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(Re.value=lt(t.conversationId,Qe(Ge,t.conversationId,f.items)),pn=f.nextPageToken,je.value=f.exhausted||f.nextPageToken===void 0);let E=await Hs(n,t,ke.value||void 0);return Dn(t,u,l)?(Re.value=lt(t.conversationId,Qe(Ge,t.conversationId,E.items)),pn=E.nextPageToken,je.value=E.exhausted||E.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Dn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let E=Ve(f,"profile.channel-mentions",t);return We="initial",F.value=E,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:E})}}async function ya$1(){let a=ue.value,i=pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(je.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=mn,l=n.getGeneration();Se.value=true,F.value=null;try{let u=await Ns(n,ke.value,i);return Dn(a,l,t)?(Re.value=lt(a.conversationId,Qe(Ge,a.conversationId,la(Re.value,u.items))),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Dn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ve(u,"profile.channel-mentions.page",a);return We="more",F.value=f,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function gr(a=null,i=""){Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,ue.value=a===null?null:Ce(a),Re.value=[],ke.value=i,Se.value=false,je.value=false,F.value=null,pn=void 0,We=void 0;}function Hl(a,i=""){return X(ue.value,a)&&ke.value===i?(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,F.value=null,pn=void 0,We=void 0,Ft(a,{useCache:false})):(gr(a,i),Ft(a))}function Nl(a){let i=ue.value;if(i===null)return;gr(i,a);let t=mn,l=n.getGeneration();(async()=>{try{let u=await Jo(n,i,a||void 0);if(!Dn(i,l,t))return;u!==null&&(Re.value=lt(i.conversationId,Qe(Ge,i.conversationId,u.items)),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Dn(i,l,t))return;F.value=Ve(u,"profile.channel-mentions.cache",i);}Dn(i,l,t)&&(Be=setTimeout(()=>{Be=void 0,Ft(i);},300));})();}function Ll(){let a=ue.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,F.value=null,pn=void 0,je.value=false,We=void 0,Ft(a,{useCache:false}))}function Ul(){let a=ue.value;return a===null||We===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):We==="more"?ya$1():Ft(a)}function Oo(a){X(C$1.value,a)&&(at(a,{forceRefresh:true}),ft(a,{forceRefresh:true,preserveExisting:true}));}function Ir(a){X(y.value,a)&&ko(a,{preserveExisting:true});}async function ba(a){if(!X(M.value,a))return;(await _t(a,{forceRefresh:true})).ok&&O.value?.canViewMembers===true&&Ir(a);}function ql(a){if(a.type==="profile:updated"){if(a.profileType==="user")tr(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&R({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let W={conversationType:"group",conversationId:a.id};if(zt(W)||ur(W)){ne.add(W.conversationId);return}X(C$1.value,W)?Dt(W,{includeMembers:true,forceRefresh:true}):at(W,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let W={conversationType:"channel",conversationId:a.channelId};on(W)||fr(W)?Sn.add(W.conversationId):ba(W);return}if(a.type==="sync:complete"){for(let W of a.conversations)if(W.conversationType==="group"){let Me={conversationType:"group",conversationId:W.conversationId};X(C$1.value,Me)&&Oo(Me);}else if(W.conversationType==="channel"){let Me={conversationType:"channel",conversationId:W.conversationId};(X(M.value,Me)||X(y.value,Me)||X(ue.value,Me))&&(wn(Me),Ir(Me));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Fu.has(t)){let W={conversationType:"group",conversationId:i.conversationId},Me=(a.source??"live")==="live",sn=t==="group_member_renamed"&&l.some(_n=>_n.trim()===u)&&zt(W,"set-my-nickname"),Wl=t==="group_member_renamed"&&!sn;if(t==="group_member_renamed"){sn||va(n,i);for(let _n of l)sn&&_n.trim()===u||ua$1(W,_n);}if(t==="group_member_joined"||t==="group_member_invited")for(let _n of l)vo(W,_n);if(Me&&(t==="group_member_left"||t==="group_member_removed"))for(let _n of l)po(W,_n);if(ur(W)){de.add(W.conversationId);return}Me&&!sn&&(Wl?X(C$1.value,W)&&ft(W,{forceRefresh:true,preserveExisting:true}):Oo(W));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Ku.has(t)||!f)return;let E={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(W=>on(E,W.trim()===u?"set-my-nickname":"set-member-nickname",W)))){if(t==="channel_member_renamed")for(let W of l)ga(E,W);if(t==="channel_admin_added"||t==="channel_admin_removed"){let W=t==="channel_admin_added"?"admin":"member";for(let Me of l)Un(E,Me,W);}if(t==="channel_owner_transferred"){for(let Me of l)Un(E,Me,"owner");let W=i.body.system?.operatorId;W!==void 0&&!l.includes(W)&&Un(E,W,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let W of l)bo(E,W);if(t==="channel_member_left"||t==="channel_member_removed")for(let W of l)yo(E,W);if(fr(E)){yl(E,Us.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Us.has(t)?wn(E,l):st(E,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&it(E,l,{forceRefresh:true}),Ir(E);}}let Vl=n.subscribeProfileChange(()=>{o.value+=1;}),$l=n.subscribeEvents(ql);function Ca(){P["set-remark"]+=1,P.block+=1,P.report+=1,P["delete-friendship"]+=1,me.direct+=1,c.value=null,m.value=null,I.value="unknown",j.value=false,A$1.value=null,Ae+=1,V.value=[],D$1.value=false,Y.value=null;}function Ra(){for(let a of Object.keys(H))H[a]+=1;for(let a of Object.keys(S))S[a]+=1;se.clear(),be.clear(),N.clear(),ne.clear(),de.clear(),me.group+=1,un+=1,C$1.value=null,g.value=null,G.value=[],J.value=false,B$1.value=false,re.value=null;}function hr(){for(let a of Object.keys(yn))yn[a]+=1;ln.clear(),bn.clear(),Ke.clear(),we.clear(),Sn.clear(),Cn.clear(),me.channel+=1,M.value=null,O.value=null,Z.value=false,q.value=null,rt+=1,fe.value=null,_.value=null,Q.value=false,ye.value=null,Vn(),gr();}function Pa(){Ca(),P["search-user"]+=1,P["resolve-application-target"]+=1,P["request-friendship"]+=1,Ra(),hr(),cn.clear();for(let a of ["individual","group","channel"])ot[a]+=1,Object.assign(le[a],Br());Nn.clear(),mo(),Rn.clear(),Ue.clear(),Ge.clear(),dn.clear(),$e.clear(),fn.clear(),pe.clear(),s.value={},qe.size>0&&(qe.clear(),En.value+=1);}function Bl(){U||(Pa(),U=true,se.clear(),be.clear(),N.clear(),Ke.clear(),we.clear(),ln.clear(),bn.clear(),Vl(),$l(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:I,directLoading:j,directError:A$1,directMutualGroups:V,directMutualGroupsLoading:D$1,directMutualGroupsError:Y,groupRef:C$1,groupProfile:g,groupMembers:G,groupLoading:J,groupMembersLoading:B$1,groupError:re,channelRef:M,channelProfile:O,channelLoading:Z,channelError:q,directories:le,directorySearchKeyword:oe,directorySearchResult:k,directorySearchLoading:z$1,directorySearchError:K,channelMembersRef:y,channelMembers:T,channelMemberQuery:b,channelMembersLoading:w,channelMembersExhausted:$,channelMembersError:ce,channelMemberDetailRef:fe,channelMemberDetail:_,channelMemberDetailLoading:Q,channelMemberDetailError:ye,channelMentionsRef:ue,channelMentions:Re,channelMentionQuery:ke,channelMentionsLoading:Se,channelMentionsExhausted:je,channelMentionsError:F,resolveDisplayName:lo,resolveAvatarUrl:nr,resolvePublicNickname:co,resolveSenderProfile:tr,resolveGroupMemberProfiles:at,resolveChannelMemberProfiles:it,invalidateChannelMemberProfiles:st,invalidateChannelMemberSet:wn,channelMentionRevision:so,loadDirect:R,resolveProfileAccess:x,loadDirectMutualGroups:te,setDirectContactRemark:ge,blockDirectContact:Ie,reportDirectContact:ze,deleteDirectFriendship:_e,searchDirectContact:Ee,resolveDirectContactTarget:He,requestDirectFriendship:Xe,loadGroup:Dt,updateGroupName:Te,updateGroupAvatar:Ye,setMyGroupNickname:An,updateGroupVerification:Gn,isGroupProfileWritePending:zt,inviteGroupMembers:dl,removeGroupMember:fl,transferGroupOwnership:ml,leaveGroup:pl,isGroupMemberManagementPending:ur,ensureGroupMembers:ft,loadChannel:_t,requestMembershipJoin:Sl,updateChannelName:el,updateChannelDescription:nl,updateChannelAvatar:tl,setMyChannelNickname:rl,setChannelMemberNickname:ol,updateChannelVerification:al,setChannelAllMuted:il,setChannelMemberPrivateChatDisabled:sl,isChannelProfileWritePending:on,inviteChannelMembers:Cl,removeChannelMember:Rl,setChannelMemberAdmin:Pl,transferChannelOwnership:kl,leaveChannel:Ol,dismissChannel:Ml,isChannelMemberManagementPending:fr,loadDirectory:El,refreshDirectory:jl,searchDirectory:wl,clearDirectorySearch:mo,openChannelMembers:ko,getChannelMember:Ro,loadChannelMember:Dl,setChannelMemberQuery:_l,loadMoreChannelMembers:Fl,retryChannelMembers:Kl,resetChannelMembers:Vn,updateGroupMemberNicknameProjection:ca,clearGroupMemberNicknameProjection:ua$1,removeGroupMemberProjection:po,restoreGroupMemberProjection:vo,isGroupMemberRemovedProjection:da,clearGroupMemberProjections:go,updateChannelNameProjection:fa,updateChannelDescriptionProjection:ma,updateChannelAvatarProjection:pa,updateChannelVerificationProjection:va$1,updateChannelManagementProjection:Io,updateChannelMemberDisplayNameProjection:ho,updateChannelMemberRoleProjection:Un,clearChannelMemberDisplayNameProjection:ga,channelMemberNicknameProjection:Gl,removeChannelMemberProjection:yo,restoreChannelMemberProjection:bo,isChannelMemberRemovedProjection:Co,clearChannelMemberProjections:vr,openChannelMentions:Hl,setChannelMentionQuery:Nl,loadMoreChannelMentions:ya$1,refreshChannelMentions:Ll,retryChannelMentions:Ul,resetChannelMentions:gr,resetDirect:Ca,resetGroup:Ra,resetChannel:hr,reset:Pa,dispose:Bl}})}var qs=new WeakMap,Wr=new WeakMap;function Lu(e=Pe()){he(e);let n=qs.get(e);n===void 0&&(n=Nu(e),qs.set(e,n));let r=n(e);return Wr.get(e)!==r&&(Wr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Wr.get(e)===r&&Wr.delete(e);})),r}var Xr=new WeakMap,Bu=Object.freeze({status:"loading",message:null}),Vs=Object.freeze({status:"missing",message:null});function Qr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Xo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function Wu(e){return defineStore("k2-im-quoted-message",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef({}),c=new Set,m=new Set,I=0,j=new Map,A=false,V=false,D=false,Y=computed(()=>{let z=new Map;for(let K of o.messages)z.set(K.id,K);return z});function C(){I+=1,c.clear(),j.clear(),m=new Set,D=false,s.value={};}let g=watch(()=>Qr(o.activeRef),(z,K)=>{z!==K&&C();},{flush:"sync"}),G=n.subscribeEvents(z=>{A||z.type!=="connection:changed"||z.state!=="authenticated"||le();});function J(z){let K=z.trim();if(K==="")return Vs;let y=Y.value.get(K);return y!==void 0?Object.freeze({status:"ready",message:y}):s.value[K]??Bu}function B(z,K){if(z.length===0)return;let y={...s.value},T=false;for(let[b,w]of z)K.get(b)===(j.get(b)??0)&&(y[b]=w,T=true);T&&(s.value=y);}async function re(z){let K=I,y=new Map(z.map(_=>[_,j.get(_)??0])),T=n.getGeneration(),b=o.getHandle(),w=Qr(o.activeRef);if(b===void 0||Qr(b.ref)!==w)return;let $=()=>!A&&I===K&&n.getGeneration()===T&&o.getHandle()===b&&Qr(o.activeRef)===w,ce=[],fe=[];try{let _=await Promise.all(z.map(async Q=>({messageId:Q,message:await b.resolveMessage(Q)})));if(!$())return;for(let{messageId:Q,message:ye}of _)ye===null?fe.push(Q):ce.push([Q,Object.freeze({status:"ready",message:ye})]);}catch(_){if(!$())return;B(z.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:true})]),y),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:T,conversation:{...b.ref},data:{requestedCount:z.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:_}}));return}if(B(ce,y),fe.length!==0)try{let _=await b.messages.fetchByIds(fe);if(!$())return;let Q=[];for(let ue of _.messages)Q.push([ue.id,Object.freeze({status:"ready",message:ue})]);for(let ue of _.missingMessageIds)Q.push([ue,Vs]);let ye=_.failure?.retryable??!0;for(let ue of _.unresolvedMessageIds)Q.push([ue,Object.freeze({status:"failed",message:null,retryable:ye})]);B(Q,y),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:T,conversation:{...b.ref},data:{requestedCount:fe.length,resolvedCount:_.messages.length,missingCount:_.missingMessageIds.length,unresolvedCount:_.unresolvedMessageIds.length,retryable:_.failure?.retryable}}));}catch(_){if(!$())return;B(fe.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:false})]),y),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:T,conversation:{...b.ref},data:{requestedCount:fe.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:_}}));}}function M(){let z=[];for(let K of m)Y.value.has(K)||c.has(K)||s.value[K]===void 0&&z.push(K);return z}function O(){if(A)return;if(V){D=true;return}let z=M();if(z.length!==0){V=true;for(let K of z)c.add(K);re(z).catch(K=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:z.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:K}}));}).finally(()=>{for(let K of z)c.delete(K);V=false,D&&(D=false,O());});}}function Z(z){if(A)return;m=new Set(Xo(z));let K=Object.fromEntries(Object.entries(s.value).filter(([y])=>m.has(y)&&!Y.value.has(y)));Object.keys(K).length!==Object.keys(s.value).length&&(s.value=K),O();}function q(z){if(A)return;let K=Xo(z).filter(T=>s.value[T]!==void 0);if(K.length===0)return;let y={...s.value};for(let T of K)delete y[T],c.delete(T),j.set(T,(j.get(T)??0)+1);s.value=y,O();}function le(z){if(A)return;let y=(z===void 0?[...m]:Xo(z)).filter(b=>{let w=s.value[b];return w?.status==="failed"&&w.retryable});if(y.length===0)return;let T={...s.value};for(let b of y)delete T[b],c.delete(b),j.set(b,(j.get(b)??0)+1);s.value=T,O();}function oe(){C();}function k(){A||(A=true,g(),G(),C());}return Xr.set(e,Object.freeze({dispose:k})),{lookup:J,prefetch:Z,retry:le,invalidate:q,reset:oe}})}var $s=new WeakMap,Jr=new WeakMap;function Qu(e=Pe()){he(e);let n=$s.get(e);n===void 0&&(n=Wu(e),$s.set(e,n));let r=n(e),o=Xr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Jr.get(e)!==r&&(Jr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Jr.get(e)===r&&(Jr.delete(e),Xr.get(e)===o&&Xr.delete(e));})),r}var eo=new WeakMap;function Yr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function ed(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function nd(e,n){return ed(e)?Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}):Object.freeze({code:"IM_CHAT_KIT_REACTION_OPERATION_FAILED",category:"state",operation:`reaction.${n}`,retryable:false})}function td(e){return defineStore("k2-im-reaction",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=false,I=0,j=new Map;function A(){I+=1,j.clear(),s.value=[],c.value=null;}let V=watch(()=>Yr(o.activeRef),(M,O)=>{M!==O&&A();},{flush:"sync"});function D(M,O){let Z=o.activeRef,q=o.getHandle(),le=Yr(Z);if(m||Z===null||q===void 0||Yr(q.ref)!==le||!o.messages.some(k=>k.id===M))return Object.freeze({ok:false,operation:O,reason:"not-ready"});if(j.has(M))return Object.freeze({ok:false,operation:O,reason:"busy"});let oe=Symbol(M);return j.set(M,oe),s.value=Object.freeze([...j.keys()]),{generation:n.getGeneration(),contextEpoch:I,handle:q,conversationKey:le,token:oe}}function Y(M){return !m&&M.contextEpoch===I&&M.generation===n.getGeneration()&&o.getHandle()===M.handle&&Yr(o.activeRef)===M.conversationKey}function C(M,O){j.get(M)===O&&(j.delete(M),s.value=Object.freeze([...j.keys()]));}async function g(M,O,Z){let q=D(M,O);if(!("handle"in q))return q;try{let le=await Z(q.handle);return Y(q)?(c.value=null,r.record("debug","pinia","message",`reaction-${O}-settled`,()=>({generation:q.generation,conversation:{...q.handle.ref},messageId:M,result:{ok:!0,action:le.action}})),Object.freeze({ok:!0,operation:O,change:le})):Object.freeze({ok:!1,operation:O,reason:"stale"})}catch(le){if(!Y(q))return Object.freeze({ok:false,operation:O,reason:"stale"});let oe=nd(le,O);return c.value=oe,r.record("error","pinia","message",`reaction-${O}-settled`,()=>({generation:q.generation,conversation:{...q.handle.ref},messageId:M,result:{ok:false,reason:"sdk-rejected",error:oe}})),Object.freeze({ok:false,operation:O,reason:"sdk-rejected",error:oe})}finally{C(M,q.token);}}function G(M,O){return g(M,"toggle",Z=>Z.messages.toggleReaction(M,O))}function J(M,O,Z){return g(M,"set",q=>q.messages.setReaction(M,O,Z))}function B(){A();}function re(){m||(m=true,V(),A());}return eo.set(e,Object.freeze({dispose:re})),{operatingMessageIds:s,error:c,toggle:G,set:J,reset:B}})}var Bs=new WeakMap,Zr=new WeakMap;function rd(e=Pe()){he(e);let n=Bs.get(e);n===void 0&&(n=td(e),Bs.set(e,n));let r=n(e),o=eo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Zr.get(e)!==r&&(Zr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Zr.get(e)===r&&(Zr.delete(e),eo.get(e)===o&&eo.delete(e));})),r}function no(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function sd(e){let n=Pe(e),r=he(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let oe=new Map;for(let k of o.value)k.msgId!==""&&k.collectId!==""&&oe.set(k.msgId,k.collectId);return oe}),I=false,j=0,A=0,V,D;function Y(){j+=1,A+=1,o.value=[],s.value=false,c.value=null;}function C(oe){return {client:oe,generation:r.getGeneration(),stateEpoch:j}}function g(oe){return !I&&oe.client===r.getProductClient()&&oe.generation===r.getGeneration()&&oe.stateEpoch===j}function G(oe){return m.value.get(oe.trim())??""}function J(oe){return G(oe)!==""}async function B(){if(I)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let oe=++A,k;try{k=C(r.ensureProductClient()),le(k.client);}catch(z){let K=no(z,"reload");return c.value=K,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:K})}s.value=true,c.value=null;try{let z=await k.client.sessionFavorites.list();return oe!==A||!g(k)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=z,Object.freeze({ok:!0,operation:"reload"}))}catch(z){if(oe!==A||!g(k))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let K=no(z,"reload");return c.value=K,Object.freeze({ok:false,operation:"reload",reason:"failed",error:K})}finally{oe===A&&g(k)&&(s.value=false);}}function re(){A+=1,s.value=false;}async function M(oe){if(I)return Object.freeze({ok:false,operation:"add",reason:"stale"});let k;try{k=C(r.ensureProductClient()),le(k.client);let z=await k.client.sessionFavorites.addFromMessage(oe);return g(k)?(re(),o.value=Object.freeze([z,...o.value.filter(K=>K.collectId!==z.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:z.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(z){return Object.freeze({ok:false,operation:"add",reason:"failed",error:no(z,"add")})}}async function O(oe){if(I)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let k=[...new Set(oe.map(z=>z.trim()).filter(z=>z!==""))];if(k.length===0)return Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})});try{let z=C(r.ensureProductClient());if(await z.client.sessionFavorites.delete(k),!g(z))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});re();let K=new Set(k);return o.value=Object.freeze(o.value.filter(y=>!K.has(y.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:k[0]??""})}catch(z){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:no(z,"delete")})}}async function Z(oe){let k=G(oe);return k===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):O([k])}function q(){V?.(),V=void 0,D=void 0,Y();}function le(oe){if(D===oe)return;V?.(),D=oe;let k=C(oe);V=oe.events.subscribe(z=>{D===oe&&g(k)&&z.type==="session-favorites:changed"&&B();});}return Oe(n,()=>{I=true,V?.(),V=void 0,D=void 0,Y();}),{items:o,loading:s,error:c,collectIdOf:G,isFavorited:J,reload:B,addFromMessage:M,removeByCollectIds:O,removeByMessageId:Z,reset:q}})(n)}function cd(e){return defineStore("k2-im-session",()=>{let n=he(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getGeneration()),c=ref("idle"),m=ref(""),I=ref({}),j=false,A=0,V="",D=n.getDiagnostics(),Y=n.subscribeEvents(q=>{if(!j){if(q.type==="session:replaced"){A+=1,c.value="error",o.value=n.getConnectionState(),m.value="lifecycle.connectionOccupied",I.value={};return}q.type==="connection:changed"&&(o.value=q.state,q.state==="authenticated"&&(c.value="ready"));}});function C(q,le){return !j&&q===A&&n.getGeneration()===le}function g(q){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(q);}function G(q){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let le=q.session===null?"":`${q.session.userId}\0${q.session.token}`;le!==V&&(A+=1,V=le);let oe=n.applySession(q.session,q.endpoints,q.deviceToken);return r.value=q.session?.userId??"",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=o.value==="authenticated"?"ready":"idle",m.value="",I.value={},D.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:oe.hasToken,didReset:oe.didReset}})),oe}async function J(q,le,oe){if(j)return {ok:false,errorKey:"lifecycle.disposed"};let k=++A,z=n.getGeneration(),K=Date.now();c.value=q,m.value="",I.value={},D.record("info","pinia",le==="prepare"?"session":"connection",`${le}-start`,()=>({generation:z}));let y=await oe();return C(k,z)?(s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=y.ok?o.value==="authenticated"?"ready":"idle":"error",m.value=y.errorKey??"",I.value=y.errorParams??{},D.record(y.ok?"info":"error","pinia",le==="prepare"?"session":"connection",`${le}-${y.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-K,...y.ok?{}:{error:{message:y.errorKey??`${le}-failed`,data:y.errorParams}}})),y):(D.record("debug","pinia","session",`${le}-stale-result-dropped`,()=>({generation:z,durationMs:Date.now()-K})),y)}function B(){return J("preparing","prepare",()=>n.prepare())}function re(){return J("connecting","connect",()=>n.connect())}function M(){j||(A+=1,n.disconnect(),o.value=n.getConnectionState(),c.value="idle");}async function O(q){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");A+=1;try{await n.logout(q);}finally{r.value="",V="",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value="idle",m.value="",I.value={};}}function Z(){j||(j=true,A+=1,Y(),r.value="",o.value="idle",s.value=n.getGeneration(),c.value="disposed",m.value="",I.value={});}return {accountId:r,connectionState:o,generation:s,phase:c,errorKey:m,errorParams:I,configureHost:g,applySession:G,prepare:B,connect:re,disconnect:M,logout:O,dispose:Z,getRuntime:()=>n}})}var Qs=new WeakMap,to=new WeakMap;function ud(e=Pe()){he(e);let n=Qs.get(e);n===void 0&&(n=cd(e),Qs.set(e,n));let r=n(e);return to.get(e)!==r&&(to.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),to.get(e)===r&&to.delete(e);})),r}function oo(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zs(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Yt(e,n){return `${Zs(e)}\0${n}`}function jt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Xs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function fd(e){return defineStore("k2-im-thread-paging",()=>{let n=he(e).runtime,r=n.getDiagnostics(),o=De(e),s=Mn(e),c=ref(false),m=ref(false),I=ref(null),j=ref(null),A=false,V="",D="",Y=0,C=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:jt(o.messages,"older"),newerBoundary:jt(o.messages,"newer")}),g=(k,z)=>{let K=C();return !A&&z===Y&&k.generation===K.generation&&oo(k.ref,K.ref)&&k.ref!==null},G=k=>{(k===void 0||k==="older")&&(V="",I.value=null),(k===void 0||k==="newer")&&(D="",j.value=null);},J=()=>{Y+=1,c.value=false,m.value=false,G();},B=async(k,z)=>{let K=C(),y=k==="older"?V:D,T=k==="older"?o.hasOlder:o.hasNewer;if(K.ref===null||!T||(k==="older"?c.value:m.value))return 0;let b=K.ref,w=k==="older"?K.olderBoundary:K.newerBoundary,$=Yt(b,w);if(k==="older"?m.value:c.value)return 0;if(!z&&y!==""&&y===$)return r.record("debug","pinia","history",`thread-paging-${k}-circuit-open`,()=>({conversation:b,data:{boundary:w}})),0;z&&(G(k),r.record("debug","pinia","history",`thread-paging-${k}-retry`,()=>({conversation:b})));let ce=new Set(o.messages.map(_=>_.id)),fe=++Y;k==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${k}-start`,()=>({conversation:b,generation:K.generation,data:{boundary:w,force:z}}));try{let _=k==="older"?await o.loadOlder():await o.loadNewer();if(!g(K,fe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:b,generation:K.generation,data:{side:k}})),0;if(!_)return 0;G(k);let Q=o.messages.reduce((ye,ue)=>ye+ +!ce.has(ue.id),0);return r.record("debug","pinia","history",`thread-paging-${k}-success`,()=>({conversation:b,generation:K.generation,data:{added:Q}})),Q}catch(_){if(!g(K,fe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:b,generation:K.generation,data:{side:k,outcome:"failed"}})),0;throw jt(o.messages,k)===w&&(k==="older"?(V=$,I.value=_):(D=$,j.value=_),r.record("warn","pinia","history",`thread-paging-${k}-failed`,()=>({conversation:b,generation:K.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${k} \u5206\u9875\u5931\u8D25`,data:Xs(_)}}))),_}finally{fe===Y&&(k==="older"?c.value=false:m.value=false);}},re=(k={})=>B("older",k.force===true),M=(k={})=>B("newer",k.force===true),O=async k=>{if(k!==void 0&&!oo(o.activeRef,k))return false;s.clearLocation(),J();let z=C();if(z.ref===null)return false;let K=z.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:K})),!o.hasNewer)return true;let y;try{y=await o.loadLatest();}catch(T){if(oo(o.activeRef,K)&&n.getGeneration()===z.generation){let b=jt(o.messages,"newer");D=Yt(K,b),j.value=T,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:K,generation:z.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Xs(T)}}));}throw T}return !oo(o.activeRef,K)||n.getGeneration()!==z.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:K})),false):(G("newer"),y)},Z=watch(()=>Zs(o.activeRef),()=>J(),{flush:"sync"}),q=watch(()=>`${Yt(o.activeRef,jt(o.messages,"older"))}\0${jt(o.messages,"newer")}`,()=>{let k=C(),z=Yt(k.ref,k.olderBoundary),K=Yt(k.ref,k.newerBoundary);V!==""&&V!==z&&G("older"),D!==""&&D!==K&&G("newer");},{flush:"sync"}),le=o.$onAction(({name:k})=>{(k==="loadLatest"||k==="loadAround"||k==="open"||k==="close"||k==="reset")&&J();});return {loadingOlder:c,loadingNewer:m,olderError:I,newerError:j,loadOlder:re,loadNewer:M,retryOlder:()=>re({force:true}),retryNewer:()=>M({force:true}),jumpToLatest:O,reset:J,dispose:()=>{A||(A=true,Z(),q(),le(),J());}}})}var Ys=new WeakMap,ao=new WeakMap;function md(e=Pe()){he(e);let n=Ys.get(e);n===void 0&&(n=fd(e),Ys.set(e,n));let r=n(e);return ao.get(e)!==r&&(ao.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),ao.get(e)===r&&ao.delete(e);})),r}function pd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function vd(e=Pe()){let n=De(e),r=Mn(e);return Object.freeze({async returnToLatest(o){return pd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Pr as applicationKey,Xl as createAndInstallImChatKit,ii as createImChatKitContext,Zl as disposeImChatKit,Yl as ensureImChatKitSelfProfile,he as getImChatKitContext,Vi as imMediaDownloadKey,si as installImChatKit,ac as useImApplicationsStore,Cc as useImCapabilitiesStore,Wn as useImComposerStore,kc as useImConversationActivationCoordinator,Hc as useImConversationDeletionCoordinator,_o as useImConversationListStore,Jc as useImExpressionStore,eu as useImHistoryReturnAfterSendCoordinator,su as useImMediaStore,Ut as useImMessageOperationsStore,Lu as useImProfileDirectoryStore,Qu as useImQuotedMessageStore,rd as useImReactionStore,Mn as useImSearchStore,sd as useImSessionFavoritesStore,ud as useImSessionStore,md as useImThreadPagingStore,vd as useImThreadReturnToLatestCoordinator,De as useImThreadStore};