k2-im 0.1.46 → 0.1.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-M4QPM7FW.js +2 -0
- package/dist/{chunk-KPQGF42Z.js → chunk-QZEZUDJQ.js} +1 -1
- package/dist/{chunk-XFFQNPCY.js → chunk-TIIRB2JK.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-YISLBQ34.js +0 -2
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {u,Ba,ra as ra$1,s,y,qa,pa,oa as oa$1,ma,la,ka,ja,ha,L,M,K,xa,Aa as Aa$1,za,ta as ta$1,wa,va,ua,F,D,E,C,A,Ja,d,ya,B,z,Ia,Ha,Ga,Fa,Ea,Da as Da$1,c,b,k,h}from'./chunk-XFFQNPCY.js';export{t as resolveMessageNotificationDecision}from'./chunk-XFFQNPCY.js';import'./chunk-YISLBQ34.js';import'./chunk-R3MSZLO6.js';import {Da,Aa}from'./chunk-7PCBQBZL.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function uc(e,n,r={}){let o=u(n);try{return Ii(e,gi({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function dc(e){Ba(Re(e).runtime);}var Zn=new WeakMap;function Ee(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 gi(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function Ii(e,n){let r=Zn.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(),Zn.get(e)===o&&Zn.delete(e);}}});return o.installation=s,Zn.set(e,o),s}function Re(e){let n=Zn.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 we(e,n){let r=Zn.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 fc(e){Zn.get(e)?.installation.dispose();}function Sr(e){return `${e.domain}:${e.applicationId}`}function pc(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 vc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mr(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&&vc(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 gc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Ic(e){return defineStore("k2-im-applications",()=>{let n=Re(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),E=computed(()=>{let b=0,T=0,F=0;for(let Y of r.value)Y.ref.domain==="contact"?b+=1:Y.ref.domain==="group"?T+=1:F+=1;return Object.freeze({contact:b,group:T,channel:F})}),S=false,A=0,w=0,H=0,R=false,I=0,_=new Map;function J(){A+=1,w+=1,H+=1,I+=1,R=false,_.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function q(b){return {client:b,generation:n.getGeneration(),stateEpoch:A}}function D(b){return !S&&b.client===n.getProductClient()&&b.generation===n.getGeneration()&&b.stateEpoch===A}async function O(){if(S)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let b=++w,T;try{T=q(n.ensureProductClient());}catch(F){let Y=Mr(F,"reload");return s.value=Y,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Y})}o.value=true,s.value=null;try{let F=await T.client.applications.listPending();return b!==w||!D(T)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...F]),Object.freeze({ok:!0,operation:"reload"}))}catch(F){if(b!==w||!D(T))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Y=Mr(F,"reload");return s.value=Y,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Y})}finally{b===w&&D(T)&&(o.value=false);}}function k(){if(S||R)return;R=true;let b=A,T=++I;queueMicrotask(()=>{T===I&&(R=false,!(S||b!==A)&&O());});}function Q(b){(b.type==="contact-application:received"||b.type==="channel-join-application:received"||b.type==="application:updated")&&k();}let Z=n.subscribeProductEvents(Q);async function me(b,T){let F=pc(b),Y=Sr(F);if(S)return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let fe=++H;_.set(Y,fe),c.value={...c.value,[Y]:T};let{[Y]:be,...Pe}=m.value;m.value=Pe;let se;try{se=q(n.ensureProductClient());}catch(ce){let de=Mr(ce,T);m.value={...m.value,[Y]:de};let{[Y]:ke,...je}=c.value;return c.value=je,_.delete(Y),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de})}let V=()=>D(se)&&_.get(Y)===fe;try{return await se.client.applications[T](F),V()?(w+=1,o.value=!1,r.value=Object.freeze(r.value.filter(ce=>Sr(ce.ref)!==Y)),Object.freeze({ok:!0,operation:T,application:F})):Object.freeze({ok:!1,operation:T,reason:"stale",application:F})}catch(ce){if(!V())return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let de=Mr(ce,T);return gc(de)?(w+=1,o.value=false,r.value=Object.freeze(r.value.filter(ke=>Sr(ke.ref)!==Y)),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de})):(m.value={...m.value,[Y]:de},Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de}))}finally{if(V()){_.delete(Y);let{[Y]:ce,...de}=c.value;c.value=de;}}}function N(b){return me(b,"accept")}function P(b){return me(b,"ignore")}function j(){S||J();}function $(){S||(S=true,Z(),J());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:E,reload:O,accept:N,ignore:P,reset:j,dispose:$}})}var bi=new WeakMap,Or=new WeakMap;function hc(e=Ee()){Re(e);let n=bi.get(e);n===void 0&&(n=Ic(e),bi.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}function Pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var Ci=Object.freeze({state:"none"});function Cc(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:Pi(r)}})}function Rc(e){return defineStore("k2-im-thread",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(Ci),g=shallowRef(),E=shallowRef(null),S=ref(false),A=ref(false),w=ref(false),H=ref(false),R=ref(false),I=shallowRef(null),_=ref(0),J=false,q,D=0,O=0,k,Q,Z,me,N,P=[],j=new Map,$=new Set,b=new WeakSet,T=new WeakMap;function F(){P.length=0,_.value=0;}let Y=n.subscribeEvents(U=>{if(J||U.type!=="message:received"||(U.source??"live")!=="live")return;let ne=o.value;ne===null||U.message.conversationId!==ne.conversationId||U.message.conversationType!==ne.conversationType||U.message.senderId===n.getCredentials().userId||!se(U.message)||(P.push(U.message.id),_.value+=1);});function fe(U=null){F(),o.value=U,s.value=null,c.value=[],m.value=Ci,g.value=void 0,E.value=null,S.value=U!==null,A.value=false,w.value=false,H.value=false,R.value=false,I.value=null;}function be(U){if((j.get(U)??0)>0){$.add(U);return}U.close();}function Pe(){N?.(),N=void 0,me?.(),me=void 0;let U=Z;Z=void 0,U!==void 0&&be(U);}function se(U){if(U.body.system?.timelineVisibility==="hidden")return false;if(U.conversationType!=="channel"||U.deletedForEveryone===void 0)return true;let ne=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:U.conversationId});return ne.conversationType==="channel"&&ne.ref.conversationType==="channel"&&ne.ref.conversationId===U.conversationId&&(ne.value.role==="owner"||ne.value.role==="admin")}function V(U,ne,Me){let De=o.value;if(J||Z!==U||n.getGeneration()!==Me||De===null||ne.ref.conversationId!==De.conversationId||ne.ref.conversationType!==De.conversationType)return false;let xe=ne.messages.filter(se);if(bc(c.value,xe)||(c.value=Object.freeze(xe)),m.value=ne.entryUnread,g.value=ne.entryUnreadNavigation,ne.entryUnread.state==="located"){let Ne=ne.entryUnread.firstMessageId,Be=ne.messages.findIndex(Ze=>Ze.id===Ne);if(Be>=0&&!xe.some(Ze=>Ze.id===Ne)){let Ze=ne.messages.slice(Be+1).find(se);m.value=Object.freeze(Ze===void 0?{state:"unavailable"}:{...ne.entryUnread,firstMessageId:Ze.id});}}return s.value=ne.display??null,E.value=ne.draft,S.value=ne.loading,A.value=A.value||xe.length>0||!ne.loading,w.value=ne.stale,H.value=ne.hasOlder,R.value=ne.hasNewer,I.value=ne.error??null,true}async function ce(U,ne){let Me=n.ensureProductClient();return U.conversationType==="direct"?Me.openConversation({conversationType:"direct",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne}):U.conversationType==="group"?Me.openConversation({conversationType:"group",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne}):U.conversationType==="robot"?Me.openConversation({conversationType:"robot",conversationId:U.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:ne}):Me.openConversation({conversationType:"channel",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne})}async function de(U){try{let ne=n.ensureProductClient();if(ne.conversations.list().find(De=>De.ref.conversationType===U.conversationType&&De.ref.conversationId===U.conversationId)?.manuallyUnread!==!0)return;await ne.conversations.markRead(U);}catch(ne){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:U,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:ne}}));}}async function ke(U){if(J)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");O+=1,k=void 0,Q=void 0;let ne=Pi(U);q?.abort();let Me=new AbortController;q=Me;let De=++D,xe=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:xe,conversation:ne}));let Ne;try{Ne=await ce(ne,Me.signal);}catch(Be){if(Me.signal.aborted)return;throw !J&&De===D&&xe===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:xe,conversation:ne,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Cc(Be,"thread.open",ne)}})),Be}finally{q===Me&&(q=void 0);}if(J||De!==D||xe!==n.getGeneration()){Ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:xe,conversation:ne}));return}return y(),Pe(),fe(ne),Z=Ne,me=Ne.subscribe(Be=>V(Ne,Be,xe)),V(Ne,Ne.getSnapshot(),xe),ne.conversationType==="channel"&&(N=n.ensureProductClient().capabilities.subscribe(ne,()=>{!J&&Z===Ne&&n.getGeneration()===xe&&V(Ne,Ne.getSnapshot(),xe);})),de(ne),r.record("debug","pinia","history","thread-open-complete",()=>({generation:xe,conversation:ne})),Ne}function je(){q?.abort(),q=void 0,D+=1;}function Oe(U){if(J||Z===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${U}`);return Z}function Te(U,ne,Me){return !J&&O===U&&Z===ne&&n.getGeneration()===Me}async function K(U,ne){if(k!==void 0||Q!==void 0)return false;let Me=Oe(U),De=n.getGeneration(),xe=++O;k=xe;try{return await ne(Me),Te(xe,Me,De)?(V(Me,Me.getSnapshot(),De),!0):!1}finally{k===xe&&(k=void 0);}}async function L(U,ne,Me){let De=Oe(U),xe=n.getGeneration(),Ne=++O;k=void 0,Q=Ne;try{if(await ne(De),!Te(Ne,De,xe))return !1;let Be=De.getSnapshot();return Me(Be)?(V(De,Be,xe),!0):!1}finally{Q===Ne&&(Q=void 0);}}function pe(U){return U?.skipIfLatest===true&&A.value&&!S.value&&!w.value&&I.value===null&&!R.value&&Q===void 0&&k===void 0?Promise.resolve(true):L("loadLatest",ne=>ne.history.loadLatest(),ne=>!ne.hasNewer)}function ge(U){let ne=false;return L("loadEntryUnread",async Me=>{ne=await Me.history.loadEntryUnread(U);},Me=>ne&&Me.entryUnread.state==="located")}function ve(U){let ne=T.get(U);if(ne!==void 0)return ne;let Me=U.markConversationRead().finally(()=>{T.get(U)===Me&&T.delete(U);});return T.set(U,Me),Me}function G(){let U=Oe("markConversationRead");return b.add(U),ve(U)}function p(U){return Oe("markVisibleMessages").markVisibleMessages(U)}function y(){let U=Z;if(U===void 0||!b.has(U))return;let ne=re(U),Me=n.getGeneration(),De=T.get(U);(De===void 0?ve(U):De.catch(()=>{}).then(()=>ve(U))).catch(Ne=>{Me===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:U.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ne}}));}).finally(ne);}function W(){y(),Ge();}function X(){return K("loadOlder",U=>U.history.loadOlder())}function ie(){return K("loadNewer",U=>U.history.loadNewer())}function ue(U){return L("loadAround",ne=>ne.history.loadAround(U),ne=>ne.messages.some(Me=>Me.id===U)).then(ne=>ne?c.value.some(Me=>Me.id===U):false)}function Ie(U){return Oe("resolveMessage").resolveMessage(U)}function re(U=Oe("retainHandle")){if(J)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");j.set(U,(j.get(U)??0)+1);let ne=false;return ()=>{if(ne)return;ne=true;let Me=(j.get(U)??1)-1;if(Me>0){j.set(U,Me);return}j.delete(U),$.delete(U)&&U.close();}}function he(){return re()}function Ge(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,Pe(),fe();}function qe(U){let ne=o.value;return ne===null||ne.conversationType!==U.conversationType||ne.conversationId!==U.conversationId?false:(O+=1,k=void 0,Q=void 0,Pe(),fe(),true)}function ut(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,me?.(),me=void 0,N?.(),N=void 0;let U=new Set([...Z===void 0?[]:[Z],...$,...j.keys()]);Z=void 0,$.clear(),j.clear();for(let ne of U)ne.close();fe();}function gn(){J||(ut(),J=true,Y());}function In(){return P.splice(0,P.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:E,loading:S,ready:A,stale:w,hasOlder:H,hasNewer:R,error:I,activeRemoteMessageRevision:_,open:ke,invalidatePendingOpen:je,loadLatest:pe,loadEntryUnread:ge,markConversationRead:G,markVisibleMessages:p,leave:W,loadOlder:X,loadNewer:ie,loadAround:ue,resolveMessage:Ie,retainHandle:re,retainCurrentHandle:he,close:Ge,closeActiveConversation:qe,reset:ut,dispose:gn,drainActiveRemoteMessageIds:In,getHandle:()=>Z}})}var Ri=new WeakMap,Tr=new WeakMap;function Le(e=Ee()){Re(e);let n=Ri.get(e);n===void 0&&(n=Rc(e),Ri.set(e,n));let r=n(e);return Tr.get(e)!==r&&(Tr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Tr.get(e)===r&&Tr.delete(e);})),r}var Ar=new WeakMap;function _o(e){let n=Ar.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function Ct(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function xr(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 Mi(e){return e===null?null:xr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function Go(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Do(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 Mc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Bt(e,n,r){return Mc(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:Ct(r)},cause:e})}function jr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function Oc(e){return defineStore("k2-im-composer",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),E=ref(0),S=shallowRef(null),A=false,w=0,H=0,R=0,I,_=Promise.resolve(),J=Promise.resolve(),q=new Set,D=new Map,O,k;function Q(){return o.getHandle()}function Z(K,L){let pe=o.activeRef;return !A&&Q()===K&&n.getGeneration()===L&&pe!==null&&pe.conversationId===K.ref.conversationId&&pe.conversationType===K.ref.conversationType}function me(K=Q()){if(K===void 0)return false;let L=n.getGeneration();return I?.handle===K&&I.generation===L||[...q].some(pe=>pe.handle===K&&pe.generation===L)}async function N(K=Q()){if(K===void 0)return;let L=n.getGeneration(),pe=I?.handle===K&&I.generation===L?I:void 0;if(pe===void 0){let p=[...q].filter(y=>y.handle===K&&y.generation===L).map(y=>y.promise);p.length>0?await Promise.all(p):await J;return}I=void 0;let ve=_.then(async()=>{Go(pe.input)?await K.draft.clear():await K.draft.save(pe.input);}),G={handle:K,generation:L,promise:ve};q.add(G),J=ve,_=ve.catch(()=>{});try{await ve,Z(K,L)&&(S.value=null,E.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:L,conversation:Ct(K.ref)})));}catch(p){throw Z(K,L)&&(I===void 0&&R===pe.version&&(I=pe),S.value=Bt(p,"composer.draft",K.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:L,conversation:Ct(K.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:S.value}}))),p}finally{q.delete(G);}}function P(K){let L=Q(),pe=n.getGeneration();if(L===void 0||!Z(L,pe))return S.value=Bt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ge=xr(K);return R+=1,s.value=Go(ge)?null:ge,I={handle:L,generation:pe,version:R,input:ge},S.value=null,j(),Go(ge)&&N(L).catch(()=>{}),true}async function j(){if(m.value!==null)return;let K=s.value?.replyToMessageId;if(K===void 0){H+=1,c.value=null;return}let L=Q();if(L===void 0){c.value=null;return}let pe=o.messages.find(p=>p.id===K);if(pe!==void 0){H+=1,c.value=pe;return}let ge=n.getGeneration(),ve=++H,G=await L.resolveMessage(K).catch(()=>null);ve!==H||!Z(L,ge)||m.value!==null||s.value?.replyToMessageId!==K||(c.value=G);}function $(K){let L=Q();return L===void 0||!jr(K,L)?false:(m.value=null,c.value=K,P({...s.value??{text:"",attachments:[]},replyToMessageId:K.id}))}function b(K){if(K!==void 0&&s.value?.replyToMessageId!==K)return;c.value=null;let L=s.value;if(L===null)return;let{replyToMessageId:pe,...ge}=L;P({...ge});}function T(K){let L=Q();return L===void 0||!jr(K,L)?false:(c.value=null,m.value=K,true)}function F(){m.value=null,j();}function Y(){H+=1,c.value=null,m.value=null;}function fe(K,L){return !A&&n.getGeneration()===K&&w===L}function be(K){return [...D.values()].some(L=>L.handle===K)}function Pe(K,L){return K!==null&&Do(Mi(K),L)}function se(K,L,pe){!Z(K,L)||s.value===null||!Do(s.value,pe)||(R+=1,I?.handle===K&&I.generation===L&&Do(I.input,pe)&&(I=void 0),s.value=null,H+=1,c.value=null);}async function V(K){let L=[...q].filter(ge=>ge.handle===K.handle&&ge.generation===K.generation).map(ge=>ge.promise.catch(()=>{}));if(L.length>0&&await Promise.all(L),!Z(K.handle,K.generation))return;let pe=await K.handle.draft.get();if(!Pe(pe,K.input)){O?.token===K.token&&(O=void 0);return}O=K;try{await K.handle.draft.clear(),O?.token===K.token&&(O=void 0);}catch(ge){if(Z(K.handle,K.generation)){if(s.value===null&&I===void 0){let ve={text:"",attachments:[]};R+=1,I={handle:K.handle,generation:K.generation,version:R,input:ve};}S.value=Bt(ge,"composer.draft",K.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:K.generation,conversation:Ct(K.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:S.value}}));}}}function ce(K){if(!Z(K.handle,K.generation)||s.value!==null)return;O=void 0;let L=xr(K.input);R+=1,s.value=L,I={handle:K.handle,generation:K.generation,version:R,input:L},j();}async function de(K){let L=m.value,pe=L===null?"send":"edit";if(L!==null&&k!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ge=Q(),ve=n.getGeneration();if(ge===void 0||!Z(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"not-ready"});let G=K.text.trim();if(G==="")return Object.freeze({ok:false,operation:pe,reason:"empty"});let p=w;if(L!==null&&!jr(L,ge))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let y=Symbol(pe);L!==null&&(k=y),g.value=k!==void 0,S.value=null;let W=o.retainHandle(ge),X;if(L===null){let ie=xr(K);X={token:y,handle:ge,generation:ve,input:ie},D.set(y,X),se(ge,ve,ie);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:ve,operation:pe,conversation:Ct(ge.ref),...L===null?{}:{messageId:L.id}}));try{if(L===null){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let ie=await ge.messages.sendText(G,{...K.mentions===void 0?{}:{mentions:K.mentions},...K.replyToMessageId===void 0?{}:{replyToMessageId:K.replyToMessageId}});if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!ie.ok)return X!==void 0&&ce(X),S.value=ie.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:ie.error});if(X!==void 0&&(await V(X),!fe(ve,p)||!Z(ge,ve)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ge.messages.editText(L.id,G,{...K.mentions===void 0?{}:{mentions:K.mentions}});}catch(ie){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ue=Bt(ie,"composer.edit",ge.ref);return S.value=ue,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ue})}if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===L&&F();}return S.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:ve,operation:pe,conversation:Ct(ge.ref)})),Object.freeze({ok:!0,operation:pe})}catch(ie){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"stale"});X!==void 0&&ce(X);let ue=Bt(ie,`composer.${pe}`,ge.ref);return S.value=ue,Object.freeze({ok:false,operation:pe,reason:"sdk-rejected",error:ue})}finally{W(),D.delete(y),k===y&&(k=void 0),g.value=k!==void 0,Z(ge,ve)&&ke();}}function ke(){let K=Q();if(K===void 0)return;let L=O,pe=L!==void 0&&L.handle===K&&L.generation===n.getGeneration()&&Pe(o.draft,L.input);L!==void 0&&!pe&&(O=void 0),!me(K)&&!be(K)&&!pe&&(s.value=Mi(o.draft)),m.value!==null&&!jr(m.value,K)&&(m.value=null),j();}function je(){w+=1,H+=1,R+=1,I=void 0,D.clear(),O=void 0,_=Promise.resolve(),J=Promise.resolve(),s.value=null,c.value=null,m.value=null,k=void 0,g.value=false,E.value=0,S.value=null;}let Oe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(K,L)=>{if(K.ref!==L?.ref){je(),K.ref!==null&&ke();return}ke();},{immediate:true});function Te(){A||(A=true,Oe(),je());}return Ar.set(e,Object.freeze({suspendInteraction:Y,syncReplyTarget:j,dispose:Te})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:E,error:S,updateDraft:P,flush:N,hasPendingWork:me,submitText:de,setReplyTo:$,clearReplyTo:b,setEditing:T,clearEditing:F,reset:je}})}var Oi=new WeakMap,wr=new WeakMap;function nt(e=Ee()){Re(e);let n=Oi.get(e);n===void 0&&(n=Oc(e),Oi.set(e,n));let r=n(e),o=_o(e);return wr.get(e)!==r&&(wr.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),Ar.get(e)===o&&Ar.delete(e));})),r}var Gr=new WeakMap;function Wt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Ti(e){return [...e]}function Ec(e){return defineStore("k2-im-message-operations",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=nt(e),c=_o(e),m=shallowRef(null),g=ref(false),E=ref([]),S=ref(null),A=ref(false),w=ref([]),H=shallowRef(null),R=false,I=0,_=0,J=0;function q(){return o.getHandle()}function D(p,y=q()){let W=o.activeRef;return !R&&y!==void 0&&W!==null&&p.conversationType!=="supergroup"&&W.conversationId===p.conversationId&&W.conversationType===p.conversationType&&y.ref.conversationId===p.conversationId&&y.ref.conversationType===p.conversationType}function O(p){return y(m.value,p)}function k(){A.value=false,w.value=[];}function Q(){S.value=null;}function Z(){let p=g.value;k(),Q(),g.value=false,E.value=[],p&&c.syncReplyTarget();}function me(p){if(p!==void 0){if(!D(p))return Object.freeze({ok:false,reason:"not-ready"});if(!Wt(p))return Object.freeze({ok:false,reason:"not-selectable"});if(O(p))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,E.value=p===void 0?[]:[p],Object.freeze({ok:true})}function N(p){return E.value.some(y=>y.id===p)}function P(p){return !g.value||!D(p)?Object.freeze({ok:false,reason:"not-ready"}):Wt(p)?O(p)?Object.freeze({ok:false,reason:"pinned-protected"}):(N(p.id)?E.value=E.value.filter(y=>y.id!==p.id):E.value=[...E.value,p],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function j(p){let y=q();return p.length===0||!p.every(W=>D(W,y))?Object.freeze({ok:false,reason:"not-ready"}):(S.value=Ti(p),Object.freeze({ok:true}))}function $(){let p=E.value;if(p.length===0)return Object.freeze({outcome:"empty"});let y=p.filter(Da);return p.some(Aa)?(w.value=y,A.value=true,Object.freeze({outcome:"confirmation-required"})):y.length===0?Object.freeze({outcome:"all-skipped"}):(j(y),Object.freeze({outcome:"picker-opened"}))}function b(){let p=Ti(w.value);return k(),p.length===0?Object.freeze({outcome:"all-skipped"}):(j(p),Object.freeze({outcome:"picker-opened"}))}async function T(p){let y=S.value,W=q();if(y===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let X=n.getGeneration(),ie=++I,ue=await ha(n,{handle:W,messages:y,targets:p});return R||ie!==I||n.getGeneration()!==X||q()!==W?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((ue.ok||ue.reason!=="stale")&&Q(),ue.ok&&Z(),H.value=ue.ok?null:ue.error??null,r.record(ue.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:X,conversation:W===void 0?void 0:{...W.ref},result:ue.ok?{ok:true,sentCount:ue.sentCount,skippedCount:ue.skippedCount}:{ok:false,reason:ue.reason,error:ue.error}})),ue)}function F(p,y,W){H.value=p.ok?null:p.error??null,r.record(p.ok?"debug":"error","pinia","message",`message-${p.operation}-settled`,()=>({generation:n.getGeneration(),conversation:W===void 0?void 0:{...W.ref},messageId:y,result:p.ok?{ok:true}:{ok:false,reason:p.reason,error:p.error}}));}function Y(p,y){return y!==void 0&&(R||q()!==y)?Object.freeze({ok:false,operation:p.operation,reason:"stale"}):p}async function fe(p){let y=q(),W=Y(await ja(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function be(p){let y=q(),W=Y(await ka(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function Pe(p){let y=q(),W=Y(await la(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function se(p,y){let W=q(),X=Y(await ma(n,{handle:W,messageId:p,options:y}),W);return F(X,p,W),X}function V(){let p=o.activeRef;if(!(p?.conversationType!=="group"&&p?.conversationType!=="channel"))return Object.freeze({conversationId:p.conversationId,conversationType:p.conversationType})}function ce(p,y,W){let X=V();return !R&&p===_&&y!==void 0&&q()===y&&X?.conversationId===W.conversationId&&X.conversationType===W.conversationType}function de(p,y,W){let X=V();return !R&&p===J&&q()===y&&X?.conversationId===W.conversationId&&X.conversationType===W.conversationType}function ke(p){if(E.value=E.value.filter(y=>y.id!==p),w.value=w.value.filter(y=>y.id!==p),S.value!==null){let y=S.value.filter(W=>W.id!==p);S.value=y.length===0?null:y;}s.editingMessage?.id===p&&s.clearEditing();}async function je(p){let y=V(),W=q();if(y===void 0||!D(p,W))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let X=++_;J+=1;let ie=await oa$1(n,{conversation:y,message:p});return ce(X,W,y)?(ie.ok&&ie.operation==="pin"?(m.value=ie.value,ke(ie.value.messageId),H.value=null):H.value=ie.ok?null:ie.error??null,ie):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Oe(){let p=V(),y=q();if(p===void 0||y===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let W=++_;J+=1;let X=await pa(n,p);return ce(W,y,p)?(X.ok&&X.operation==="unpin"?(m.value=null,H.value=null):H.value=X.ok?null:X.error??null,X):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Te(){let p=V();if(p===void 0){m.value=null;return}try{m.value=ra$1(n,p);}catch{m.value=null;}}async function K(){let p=V(),y=q();if(p===void 0||y===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let W=n.getGeneration(),X=++J;Te();let ie=await qa(n,p);return n.getGeneration()!==W||!de(X,y,p)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(ie.ok&&ie.operation==="sync-pin"?(m.value=ie.value,H.value=null):H.value=ie.ok?null:ie.error??null,ie)}function L(p){let y=new Map(p.map(ue=>[ue.id,ue])),W=ue=>ue.flatMap(Ie=>{let re=y.get(Ie.id);return re!==void 0&&Wt(re)?[re]:[]});if(E.value=W(E.value),w.value=W(w.value),S.value!==null){let ue=W(S.value);S.value=ue.length===0?null:ue;}let X=s.editingMessage;if(X!==null){let ue=y.get(X.id);(ue===void 0||!Wt(ue))&&s.clearEditing();}let ie=s.input?.replyToMessageId;if(ie!==void 0){let ue=y.get(ie);ue!==void 0&&!Wt(ue)&&s.clearReplyTo(ie);}}let pe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(p,y)=>{p.ref!==y?.ref&&(I+=1,_+=1,J+=1,Te(),g.value=false,E.value=[],S.value=null,k(),H.value=null),L(p.messages);},{immediate:true}),ge=n.subscribeEvents(p=>{if(p.type!=="pinned-message:updated")return;let y=V();if(!(y===void 0||y.conversationId!==p.conversation.conversationId||y.conversationType!==p.conversation.conversationType)){if(J+=1,p.pinnedMessage===null){m.value=null;return}try{m.value=ra$1(n,y),ke(p.pinnedMessage.messageId);}catch{}}});function ve(){I+=1,_+=1,J+=1,g.value=false,E.value=[],S.value=null,k(),H.value=null,Te();}function G(){R||(R=true,pe(),ge(),ve());}return Gr.set(e,Object.freeze({dispose:G})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:E,forwardPickerMessages:S,forwardTypeConfirmOpen:A,pendingForwardReadyMessages:w,error:H,enterMultiSelect:me,exitMultiSelect:Z,isSelected:N,toggleSelection:P,openForwardPicker:j,closeForwardPicker:Q,prepareForwardFromSelection:$,cancelForwardTypeConfirmation:k,confirmForwardTypeConfirmation:b,forward:T,recall:fe,deleteLocal:be,deleteForEveryone:Pe,retry:se,pin:je,unpin:Oe,syncPinned:K,isPinnedMessageProtected:O,reset:ve}})}var Ei=new WeakMap,zr=new WeakMap;function Qt(e=Ee()){Re(e);let n=Ei.get(e);n===void 0&&(n=Ec(e),Ei.set(e,n));let r=n(e),o=Gr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return zr.get(e)!==r&&(zr.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),zr.get(e)===r&&(zr.delete(e),Gr.get(e)===o&&Gr.delete(e));})),r}var Fo=Object.freeze({availability:"unknown",reason:"not-ready"});function Ac(e){return defineStore("k2-im-capabilities",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=Qt(e),c=shallowRef(null),m=false,g,E,S;function A(){E!==void 0&&(clearTimeout(E),E=void 0);}function w(P){A();let j=P.nextEvaluationAt;if(j===void 0)return;let $=Math.max(0,j-Date.now());E=setTimeout(()=>{E=void 0,I();},$);}function H(P){m||(c.value=P,w(P));}function R(P){let j=o.activeRef;return j!==null&&j.conversationType===P.conversationType&&j.conversationId===P.conversationId}function I(P=Date.now()){let j=o.activeRef,$=n.getProductClient();j===null||$===null||H($.capabilities.get(j,{nowMs:P}));}function _(){g?.(),g=void 0,A(),c.value=null;let P=o.activeRef,j=n.getProductClient();P===null||j===null||(g=j.capabilities.subscribe(P,H));}function J(){_();}function q(){g?.(),g=void 0,A(),c.value=null;}async function D(){let P=o.activeRef,j=n.getProductClient();if(P===null||j===null)return;let $=n.getGeneration();try{let b=await j.capabilities.refresh(P);if(m||$!==n.getGeneration()||!R(P))return;H(b);}catch(b){if(m||$!==n.getGeneration()||!R(P))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...P},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:b}})),H(j.capabilities.get(P));}}function O(P){return c.value===null?Fo:K(c.value,P)}function k(P){return O(P)}function Q(P){return O(P)}function Z(P,j){let $=c.value;return $===null?Fo:M(P,{snapshot:$,selfId:n.getCredentials().userId,...j})}function me(P,j){let $=c.value;return $===null?Fo:L(P,{snapshot:$,message:j,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function N(){m||(m=true,S?.(),S=void 0,q());}return S=watch(()=>o.activeRef,_,{deep:true,immediate:true}),{activeSnapshot:c,start:J,reset:q,refresh:D,conversationAction:O,profileAction:k,memberAction:Q,memberTargetAction:Z,messageAction:me,dispose:N}})}var ji=new WeakMap,Dr=new WeakMap;function zc(e=Ee()){Re(e);let n=ji.get(e);n===void 0&&(n=Ac(e),ji.set(e,n));let r=n(e);return Dr.get(e)!==r&&(Dr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Dr.get(e)===r&&Dr.delete(e);})),r}var Jt=new WeakMap;function xi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Dc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function wi(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&&Dc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:xi(r)})}function Ai(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function _c(e=Ee()){let n=Re(e),r=Jt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=nt(e),m=Le(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function E(S,A){let w=xi(S),H=A?.signal;if(H?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:w});g.conversation=w;let R=++g.epoch,I=o.getGeneration(),_=()=>!g.disposed&&g.epoch===R&&o.getGeneration()===I;m.invalidatePendingOpen();let J=()=>{_()&&(g.epoch+=1,m.invalidatePendingOpen());};H?.addEventListener("abort",J,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:I,conversation:w})),!Gc(w))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:I,conversation:w})),Object.freeze({ok:!1,reason:"unsupported",conversation:w});let q=m.getHandle();if(q!==void 0&&c.hasPendingWork(q))try{await c.flush(q);}catch(D){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});let O=wi(D,"flush",w);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:I,conversation:w,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:O}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:w,error:O})}if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});if(m.getHandle()!==void 0&&Ai(m.activeRef,w))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:w,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:w});try{if(await m.open(w)===void 0||!_())return Object.freeze({ok:!1,reason:"stale",conversation:w})}catch(D){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});let O=wi(D,"open",w);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:I,conversation:w,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:w,error:O})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:w})),Object.freeze({ok:!0,status:"opened",conversation:w})}finally{H?.removeEventListener("abort",J);}}return g.coordinator=Object.freeze({activate:E}),Jt.set(e,g),we(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Jt.get(e)===g&&Jt.delete(e);}),g.coordinator}function zi(e,n){let r=Jt.get(e);r===void 0||r.disposed||!Ai(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Gi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Hc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Rt(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&&Hc(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 Lc(e){return defineStore("k2-im-conversation-list",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),E=false,S=null,A,w=0;function H(b="idle"){o.value=[],s$1.value=b,c.value=0,g.value=null;}function R(b,T,F){E||S!==T||n.getGeneration()!==F||(o.value=b.items,s$1.value=b.state,c.value=b.totalUnread,g.value=b.error??null);}function I(b){if(E)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(S===b||(A?.(),A=void 0,S=b,w+=1,H(),b===null))return;let T=n.getGeneration();A=b.conversations.subscribe(F=>R(F,b,T)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:T}));}function _(){I(n.getProductClient());}function J(){I(null);}function q(b){return !E&&S===b.client&&n.getProductClient()===b.client&&n.getGeneration()===b.generation&&w===b.bindingEpoch}function D(){let b=n.ensureProductClient();return I(b),{client:b,generation:n.getGeneration(),bindingEpoch:w}}async function O(){if(E)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let b;try{b=D();}catch(T){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Rt(T,"refresh")})}try{return await b.client.conversations.refresh(),q(b)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(T){return q(b)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Rt(T,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function k(b,T,F){let Y=Gi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y});let fe;try{fe=D();}catch(be){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)})}try{F(fe.client,Y);}catch(be){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}return q(fe)?Object.freeze({ok:true,operation:b,conversation:Y}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}async function Q(b,T,F){let Y=Gi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y});let fe;try{fe=D();}catch(be){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)})}try{return await F(fe.client,Y),q(fe)?Object.freeze({ok:!0,operation:b,conversation:Y}):Object.freeze({ok:!1,operation:b,reason:"stale",conversation:Y})}catch(be){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}}function Z(b,T){return k("set-pinned",b,(F,Y)=>F.conversations.setPinned(Y,T))}function me(b,T){return Q("set-muted",b,(F,Y)=>F.conversations.setMuted(Y,T))}function N(b){return Q("mark-read",b,(T,F)=>T.conversations.markRead(F))}function P(b){return k("mark-unread",b,(T,F)=>T.conversations.markUnread(F))}function j(b){return k("delete-local",b,(T,F)=>T.conversations.deleteLocal(F))}function $(){E||(A?.(),A=void 0,S=null,H(),E=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:_,reset:J,refresh:O,setPinned:Z,setMuted:me,markRead:N,markUnread:P,deleteLocal:j,dispose:$}})}var Di=new WeakMap,_r=new WeakMap;function No(e=Ee()){Re(e);let n=Di.get(e);n===void 0&&(n=Lc(e),Di.set(e,n));let r=n(e);return _r.get(e)!==r&&(_r.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),_r.get(e)===r&&_r.delete(e);})),r}function tt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Fr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Uc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function qc(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&&Uc(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Pt(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 kt(e,n){return Pt(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 Vc(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 Bc(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"}):M("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"}):M(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 $c(e,n,r,o){let s=tt(r);if(s.conversationId==="")return {ok:false,result:kt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Pt(n,s,"not-ready")};let m=e.getGeneration(),g=Bc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",Vc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Mt(e,n,r,o,s){let c=$c(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Pt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Pt(n,c.captured.conversation,"stale");let g=qc(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Pt(n,c.captured.conversation,E,g)}}function Wc(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Fi(e,n,r){let o=tt(n),s=Wc(r);return s.length===0?Promise.resolve(kt("invite-members",o)):Mt(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 Ki(e,n,r){let o=tt(n),s=Fr(r);return s.userId===""?Promise.resolve(kt("remove-member",o)):Mt(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 Ni(e,n,r,o){let s=tt(n),c=Fr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(kt(m,s)):Mt(e,m,s,async({client:g})=>(o?await g.channels.addAdmin(s,c.userId):await g.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 Hi(e,n,r){return Ni(e,n,r,true)}function Li(e,n,r){return Ni(e,n,r,false)}function Ui(e,n,r){let o=tt(n),s=Fr(r);return s.userId===""?Promise.resolve(kt("transfer-ownership",o)):Mt(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 qi(e,n,r){let o=tt(n),s=r===void 0?void 0:Fr(r);return s!==void 0&&s.userId===""?Promise.resolve(kt("leave",o)):Mt(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 Vi(e,n){let r=tt(n);return Mt(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 Xt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Qc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Jc(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&&Qc(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Ot(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 St(e,n){return Ot(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function Xc(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 Yc(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"}):M("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 Zc(e,n,r,o){let s=Xt(r);if(s.conversationId==="")return {ok:false,result:St(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ot(n,s,"not-ready")};let m=e.getGeneration(),g=Yc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Ot(n,s,"not-allowed",Xc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Un(e,n,r,o,s){let c=Zc(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ot(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Ot(n,c.captured.conversation,"failed",Jc(m,n,c.captured.conversation)):Ot(n,c.captured.conversation,"stale")}}function Bi(e,n,r){let o=Xt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:St(e,o)}:{ok:true,value:s}}function $i(e,n,r){let o=r.trim();return o===""?Promise.resolve(St("update-name",Xt(n))):Un(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 eu=100;function Wi(e,n,r){let o=r.trim();return o===""||[...o].length>eu?Promise.resolve(St("update-description",Xt(n))):Un(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 Qi(e,n,r){return Un(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?St("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Ji(e,n,r){let o=Bi("set-my-nickname",n,r);return o.ok?Un(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 Xi(e,n,r,o,s){let c=r.trim(),m=Bi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?St("set-member-nickname",Xt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Un(e,"set-member-nickname",n,async({client:E,conversation:S})=>(await E.channels.setMemberNickname(S,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:S,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function Yi(e,n,r,o){return Un(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 Zi(e,n,r){return Un(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 es(e,n,r){return Un(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 nu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function tu(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 ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function au(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&&ou(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function rt(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 Kr(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 ot(e,n,r,o){let s=ru(e);if(s===null)return {ok:false,result:rt(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:rt(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:rt(n,r,"failed",au(c,n,r))}:{ok:false,result:rt(n,r,"stale")}}}function Tt(e,n){let r=nu(n);return r.conversationId===""?{ok:false,result:rt(e,r,"failed",Kr(e,r))}:{ok:true,conversation:r}}async function ns(e,n,r){let o=Tt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await ot(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(g=>Object.freeze({countryCode:g.countryCode,mobile:g.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 ts(e,n){let r=Tt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(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 rs(e,n,r){let o=Tt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return rt("report",s,"failed",Kr("report",s));let m=await ot(e,"report",s,g=>g.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 os(e,n){let r=Tt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(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 as(e,n){let r=n.trim();if(r==="")return rt("search-user",null,"failed",Kr("search-user",null));let o=await ot(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:tu(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 is(e,n){let r=Tt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(e,"resolve-application-target",o,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Kr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...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 ss(e,n,r){let o=Tt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await ot(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 Yt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}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_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&iu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Et(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 Zt(e,n){return Et(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 lu(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 cu(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 uu(e,n,r,o=false){let s=Yt(r);if(s.conversationId==="")return {ok:false,result:Zt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Et(n,s,"not-ready")};let m=e.getGeneration(),g=cu(c,s,n,o);return g.availability!=="available"?{ok:false,result:Et(n,s,"not-allowed",lu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Nr(e,n,r,o,s=false){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:Et(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Et(n,c.captured.conversation,"stale");let g=su(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Et(n,c.captured.conversation,E,g)}}function du(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ls(e,n,r){let o=Yt(n),s=du(r);return s.length===0?Promise.resolve(Zt("invite-members",o)):Nr(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 cs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("remove-member",o)):Nr(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 us(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("transfer-ownership",o)):Nr(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 ds(e,n,r={}){let o=Yt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Zt("leave",o)):Nr(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 Ho(e){return Object.freeze({conversationType:"group",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 fs(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&&fu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function cn(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 mu(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 pu(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 ms(e,n,r){let o=Ho(r);if(o.conversationId==="")return {ok:false,result:cn(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:cn(n,o,"not-ready")};let c=e.getGeneration(),m=pu(s,o,n);return m.availability!=="available"?{ok:false,result:cn(n,o,"not-allowed",mu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Lo(e,n,r,o){let s=ms(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:cn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?cn(n,s.captured.conversation,"failed",fs(c,n,s.captured.conversation)):cn(n,s.captured.conversation,"stale")}}function ps(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(cn("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 Lo(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 vs(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(cn("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 Lo(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 gs(e,n,r,o){return Lo(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 Is(e,n,r){let o=ms(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()?cn("update-avatar",s.conversation,"failed",fs(c,"update-avatar",s.conversation)):cn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return cn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return cn("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}):cn("update-avatar",s.conversation,"stale")}}function vu(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:vu(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 hs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function ys(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 bs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:gu(n,r.value)}function Cs(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function Rs(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 g=[];for(let E of c){let S=await s.group.listMembers(E.id,{forceRefresh:false});S!==null&&S.some(A=>A.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:E.id}),name:E.displayName||E.cardDisplayName||E.id,...E.avatarUrl===void 0?{}:{avatar:E.avatarUrl}}));}return Object.freeze(g)}async function Ps(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:hs(r.value),stale:r.stale})}async function ks(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:hs(r)}async function Ms(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 Os(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 Ss(e,n){return e.ensureProductClient().directory.search(n)}async function Ts(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 Uo(c)}function Uo(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 Es(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 g=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(E=>E.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function qo(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:Uo(c)}async function js(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 Uo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Vo(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 Bo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Vo(o)}async function ws(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Vo(c)}async function xs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Vo(s)}function As(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 yu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),bu=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"]),zs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Se(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function te(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function at(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Mn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function er(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function st(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Je(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Cu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Se(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Se(r)}})}function Lr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Ru(e){return defineStore("k2-im-profile-directory",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),E$1=ref(false),S=shallowRef(null),A$1=shallowRef([]),w=ref(false),H=shallowRef(null),R=shallowRef(null),I=shallowRef(null),_=shallowRef([]),J=ref(false),q=ref(false),D$1=shallowRef(null),O=shallowRef(null),k=shallowRef(null),Q=ref(false),Z=shallowRef(null),me=reactive({individual:Lr(),group:Lr(),channel:Lr()}),N=ref(""),P=shallowRef(null),j=ref(false),$=shallowRef(null),b=shallowRef(null),T=shallowRef([]),F$1=ref(""),Y=ref(false),fe=ref(false),be=shallowRef(null),Pe=shallowRef(null),se=shallowRef(null),V=ref(false),ce=shallowRef(null),de=shallowRef(null),ke=shallowRef([]),je=ref(""),Oe=ref(false),Te=ref(false),K=shallowRef(null),L=false,pe=new Map,ge=0,ve={direct:0,group:0,channel:0},G=0,p={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},y={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},W={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},X=new Map,ie=0,ue=new Map,Ie=new Map,re=new Set,he=new Set,Ge=new Map,qe=new Map,ut=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,U=new Map,ne=0,Me=new Set,De=new Map,xe=new Map,Ne=0,Be=0,Ze=0,On=new Map,Xe=new Map,He=new Map,hn=new Map,en=new Map,Ye=new Map,yn=new Map,An=ref(0),dt={individual:0,group:0,channel:0},$n=new Map,Wn=0,Sn,zn,Gn,Tn=0,dn,fn,Pn,bn=0,Cn,nn,tn;function co(a){return s.value[a.conversationId]??0}function uo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=C(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?A(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?A(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function or(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function fo(a){return o.value,F(n.getSenderProfileCache(),a)}function ar(a,i){return ua(n,a,i)}function ft(a,i){return va(n,a.conversationId,i)}function mt(a,i,t){let l=n.getGeneration(),u=pe.get(a.conversationId)??0;return wa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!L&&n.getGeneration()===l&&(pe.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function pt(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 x of u)delete f[x];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function Dn(a,i){let t=a.conversationId.trim();t!==""&&(pt(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function ir(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 sr(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Dt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function rn(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function lr(a,i,t={}){let l=en.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(B=>B.userId)),f=new Map(l),x=i.map(B=>{let ee=l.get(B.userId);return ee===void 0?B:(t.reconcile===true&&ee===B.nickname&&f.delete(B.userId),Object.freeze({...B,nickname:ee}))});if(t.reconcile===true)for(let B of f.keys())u.has(B)||f.delete(B);return f.size===0?en.delete(a):en.set(a,f),Object.freeze(x)}function _t(a,i){let t=en.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&en.delete(a));}function vt(a,i){let t=Ye.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 on(a,i){let t=Ye.get(a),l=yn.get(a),u=O.value?.conversationId===a?k.value?.ownerId:hn.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 x=t?.get(f.userId),B=l?.get(f.userId),ee=u!==void 0&&f.userId===u;if(x===void 0&&B===void 0&&!ee)return f;let{nickname:Ae,...jn}=f;return Object.freeze({...jn,...x===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:x.nickname===""?{}:{nickname:x.nickname},displayName:x?.displayName??f.displayName,role:ee?"owner":B??f.role})}))}function cr(a,i){let t=Ye.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&&Ye.delete(a),l&&(An.value+=1);}function d(a,i){let t=Ye.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Ye.delete(a),An.value+=1);}function v(a,i){let t=yn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&yn.delete(a);}}function h(a,i){let t=yn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&yn.delete(a));}function C$1(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?R.value:O.value;return !L&&n.getGeneration()===i&&ge===t&&ve[a.conversationType]===l&&te(u,a)}async function M(a,i={}){let t=Se(a),l=++ge,u=ve.direct,f=n.getGeneration(),x=!te(c.value,t);c.value=t,x&&(m.value=null,g.value="unknown"),E$1.value=true,S.value=null;try{let B=await ys(n,t,i);return C$1(t,f,l,u)?(m.value=B.profile,g.value=B.relationship,E$1.value=!1,B.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(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let ee=Je(B,"profile.direct",t);return S.value=ee,E$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:ee})}}async function z(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 B=await Ut({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!B.ok)return Object.freeze({ok:false,reason:"channel-profile",result:B});if(f=te(O.value,a)?k.value:null,ta$1({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let x=await M({conversationType:"direct",conversationId:l},{forceRefresh:u});return x.ok?Object.freeze({ok:true,destination:ta$1({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:x})}async function ae(a){let i=Se(a),t=++G,l=n.getGeneration();c.value=i,w.value=true,H.value=null;try{let u=await Rs(n,i.conversationId);return !te(c.value,i)||l!==n.getGeneration()||t!==G?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(A$1.value=u,w.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!te(c.value,i)||l!==n.getGeneration()||t!==G)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Je(u,"profile.direct-mutual-groups",i);return H.value=f,w.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function le(a){return p[a]+=1,p[a]}function oe(a,i){return !L&&p[a]===i}async function ye(a,i){let t=Se(a),l=le("set-remark"),u=await ns(n,t,i);if(!oe("set-remark",l)||!te(c.value,t))return at("set-remark",t);if(!u.ok)return u;let f=m.value,x=f!==null&&f.userId===t.conversationId;return x&&(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(B=>Object.freeze({countryCode:B.countryCode,mobile:B.mobile})))}})),Object.freeze({...u,projectionUpdated:x})}async function Ce(a){let i=Se(a),t=le("block"),l=await ts(n,i);return !oe("block",t)||!te(c.value,i)?at("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function Ke(a,i){let t=Se(a),l=le("report"),u=await rs(n,t,i);return !oe("report",l)||!te(c.value,t)?at("report",t):u}async function Ue(a){let i=Se(a),t=le("delete-friendship"),l=await os(n,i);return !oe("delete-friendship",t)||!te(c.value,i)?at("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a){let i=le("search-user"),t=await as(n,a);return oe("search-user",i)?t:at("search-user",t.conversation)}async function $e(a){let i=Se(a),t=le("resolve-application-target"),l=await is(n,i);return oe("resolve-application-target",t)?l:at("resolve-application-target",i)}async function an(a,i){let t=Se(a),l=le("request-friendship"),u=await ss(n,t,i);return oe("request-friendship",l)?u:at("request-friendship",t)}function _n(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function Fn(a,i){y[a]+=1;let t=n.getGeneration(),l=ve.group,u=_n(i,a,t,l);return ue.set(u,(ue.get(u)??0)+1),Object.freeze({epoch:y[a],generation:t,key:u,resetEpoch:l})}function mn(a,i){let t=ue.get(i.key)??0;t<=1?ue.delete(i.key):ue.set(i.key,t-1),ua$1(a);}function Ft(a,i){return !L&&n.getGeneration()===i.generation&&ve.group===i.resetEpoch&&y[a]===i.epoch}function Kt(a,i){let t=n.getGeneration(),l=ve.group;return i!==void 0?(ue.get(_n(a,i,t,l))??0)>0:Object.keys(y).some(u=>(ue.get(_n(a,u,t,l))??0)>0)}async function _e(a,i){let t=Se(a),l=i.trim(),u=Fn("update-name",t);try{let f=await ps(n,t,l);if(!Ft("update-name",u)||!te(R.value,t))return Hr("update-name",t);if(!f.ok)return f;let x=I.value!==null;return x&&Vl(t,l),Object.freeze({...f,projectionUpdated:x})}finally{mn(t,u);}}async function sn(a,i){let t=Se(a),l=Fn("update-avatar",t);try{let u=await Is(n,t,i);if(!Ft("update-avatar",l)||!te(R.value,t))return Hr("update-avatar",t);if(!u.ok)return u;let f=I.value!==null&&u.avatar!==void 0;return f&&Bl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{mn(t,l);}}async function Kn(a,i){let t=Se(a),l=i.trim(),u=Fn("set-my-nickname",t);try{let f=await vs(n,t,l);if(!Ft("set-my-nickname",u)||!te(R.value,t))return Hr("set-my-nickname",t);if(!f.ok)return f;let x=_.value.some(B=>B.userId===f.memberId);return ya$1(t,f.memberId,l),za(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:x})}finally{mn(t,u);}}async function Nn(a,i,t){let l=Se(a),u=i===4?t?.trim():void 0,f=Fn("update-verification",l);try{let x=await gs(n,l,i,u);if(!Ft("update-verification",f)||!te(R.value,l))return Hr("update-verification",l);if(!x.ok)return x;let B=I.value!==null;return B&&$l(l,i,u),Object.freeze({...x,projectionUpdated:B})}finally{mn(l,f);}}function mo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function Rn(a,i,t="profile"){let l=n.getGeneration(),u=ve.channel,f=mo(i,a,t,l,u),x=++ut;return Ge.set(f,x),qe.set(f,(qe.get(f)??0)+1),Object.freeze({conversation:Se(i),epoch:x,generation:l,resetEpoch:u,key:f})}function kn(a){let i=qe.get(a.key)??0;i<=1?qe.delete(a.key):qe.set(a.key,i-1),Ge.get(a.key)===a.epoch&&Ge.delete(a.key),pa(a.conversation);}function Fe(a){return !L&&n.getGeneration()===a.generation&&ve.channel===a.resetEpoch&&Ge.get(a.key)===a.epoch}function pn(a,i,t){let l=`${n.getGeneration()}:${ve.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of qe){let x=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(x)&&(t===void 0||u===`${x}${t.trim()}`))return true}return false}function la(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 ml(a,i){let t=Se(a);if(vn(t))return it("update-name",t);let l=i.trim(),u=Rn("update-name",t);try{let f=await $i(n,t,l);if(!Fe(u)||!te(O.value,t))return qn("update-name",t);if(!f.ok)return f;let x=k.value!==null;return x&&Ra(t,l),Object.freeze({...f,projectionUpdated:x})}finally{kn(u);}}async function pl(a,i){let t=Se(a);if(vn(t))return it("update-description",t);let l=i.trim(),u=Rn("update-description",t);try{let f=await Wi(n,t,l);if(!Fe(u)||!te(O.value,t))return qn("update-description",t);if(!f.ok)return f;let x=k.value!==null;return x&&Pa(t,l),Object.freeze({...f,projectionUpdated:x})}finally{kn(u);}}async function vl(a,i){let t=Se(a);if(vn(t))return it("update-avatar",t);let l=Rn("update-avatar",t);try{let u=await Qi(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("update-avatar",t);if(!u.ok)return u;let f=k.value!==null;return f&&ka(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function gl(a,i){let t=Se(a),l=i.trim(),u=Rn("set-my-nickname",t,n.getCredentials().userId);try{let f=await Ji(n,t,l);return !Fe(u)||!te(O.value,t)?qn("set-my-nickname",t):f.ok?(bo(t,f.memberId,l,l),la(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{kn(u);}}async function Il(a,i,t){let l=Se(a);if(vn(l))return it("set-member-nickname",l);let u=i.trim(),f=t.trim(),x=ko(l,u),B=Rn("set-member-nickname",l,u);try{let ee=await Xi(n,l,u,x?.role??"unknown",f);return !Fe(B)||!te(O.value,l)?qn("set-member-nickname",l):ee.ok?(bo(l,ee.memberId,f,f),la(l,ee.memberId,f),Object.freeze({...ee,projectionUpdated:!0})):ee}finally{kn(B);}}async function hl(a,i,t){let l=Se(a);if(vn(l))return it("update-verification",l);let u=i===4?t?.trim():void 0,f=Rn("update-verification",l);try{let x=await Yi(n,l,i,u);if(!Fe(f)||!te(O.value,l))return qn("update-verification",l);if(!x.ok)return x;let B=k.value!==null;return B&&Ma(l,i,u),Object.freeze({...x,projectionUpdated:B})}finally{kn(f);}}async function yl(a,i){let t=Se(a);if(vn(t))return it("set-all-muted",t);let l=Rn("set-all-muted",t);try{let u=await Zi(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("set-all-muted",t);if(!u.ok)return u;let f=k.value!==null;return f&&yo(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function bl(a,i){let t=Se(a);if(vn(t))return it("set-member-private-chat-disabled",t);let l=Rn("set-member-private-chat-disabled",t);try{let u=await es(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=k.value!==null;return f&&yo(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}function Cl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function po(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ur(a,i,t){let l=n.getGeneration(),u=W[a],f=po(i,a,l,u),x=Cl(i,a,t,l,u),B=++ie;return X.set(x,B),Ie.set(f,(Ie.get(f)??0)+1),Object.freeze({actionEpoch:B,actionKey:x,generation:l,resetEpoch:u,writeKey:f})}function dr(a,i){let t=Ie.get(i.writeKey)??0;t<=1?Ie.delete(i.writeKey):Ie.set(i.writeKey,t-1),X.get(i.actionKey)===i.actionEpoch&&X.delete(i.actionKey),ua$1(a);}function fr(a,i){return !L&&n.getGeneration()===i.generation&&W[a]===i.resetEpoch&&X.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return i!==void 0?(Ie.get(po(a,i,t,W[i]))??0)>0:Object.keys(W).some(l=>(Ie.get(po(a,l,t,W[l]))??0)>0)}function Rl(a,i){let t=i.trim();t!==""&&Xe.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function Pl(a,i){if(i===null||i.isInGroup===false)return Xe.delete(a.conversationId),i;let t=Xe.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Xe.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ca(a){te(R.value,a)&&yt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!te(R.value,a)||pr(a);});}function Nt(a){te(R.value,a)&&Lt(a,{forceRefresh:true});}function ua$1(a){Kt(a)||mr(a)||(re.delete(a.conversationId)&&Nt(a),he.delete(a.conversationId)&&So(a));}function pr(a){te(R.value,a)&&ya(n,a.conversationId,_.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function kl(a,i){let t=Se(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ur("invite-members",t,l);try{let f=await ls(n,t,i);if(!fr("invite-members",u))return st("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&te(R.value,t)&&Nt(t),f;if(!te(R.value,t))return st("invite-members",t);let x=f.memberIds.some(B=>Ca(t,B));for(let B of f.memberIds)Io(t,B);return ca(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{dr(t,u);}}async function Ml(a,i){let t=Se(a),l=ur("remove-member",t,i.trim());try{let u=await cs(n,t,i);if(!fr("remove-member",l))return st("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&te(R.value,t)&&Nt(t),u;if(!te(R.value,t))return st("remove-member",t);let f=_.value.some(x=>x.userId===u.memberId);return go(t,u.memberId),ca(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{dr(t,l);}}async function Ol(a,i){let t=Se(a),l=ur("transfer-ownership",t,"group-owner");try{let u=await us(n,t,i);if(!fr("transfer-ownership",l))return st("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&te(R.value,t)&&Nt(t),u;if(!te(R.value,t))return st("transfer-ownership",t);Rl(t,u.ownerId);let f=I.value,x=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:u.ownerId})),Nt(t),Object.freeze({...u,projectionUpdated:x,refreshRequired:!1})}finally{dr(t,l);}}async function Sl(a,i={}){let t=Se(a),l=ur("leave",t,"membership");try{let u=await ds(n,t,i);if(!u.ok&&!fr("leave",l))return st("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&te(R.value,t)&&await Lt(t,{forceRefresh:!0}),u;ho(t),Aa$1(n,t.conversationId,{clearCachedNames:!0}),Xe.delete(t.conversationId);let f=te(R.value,t)&&(I.value!==null||_.value.length>0);return te(R.value,t)&&(R.value=null,I.value=null,_.value=[],J.value=!1,q.value=!1,D$1.value=null),Object.freeze({...u,projectionUpdated:f})}finally{dr(t,l);}}function Tl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function da(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function gt(a,i,t){let l=n.getGeneration(),u=gn[a],f=Tl(i,a,t,l,u),x=da(i,a,l,u),B=++ne;return In.set(f,B),U.set(x,(U.get(x)??0)+1),Object.freeze({actionEpoch:B,actionKey:f,conversation:Se(i),writeKey:x,generation:l,resetEpoch:u})}function It(a){let i=U.get(a.writeKey)??0;i<=1?U.delete(a.writeKey):U.set(a.writeKey,i-1),In.get(a.actionKey)===a.actionEpoch&&In.delete(a.actionKey),pa(a.conversation);}function ht(a,i){return !L&&n.getGeneration()===i.generation&&gn[a]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function vr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(u=>(U.get(da(a,u,t,gn[u]))??0)>0)}function gr(a,i){let t=i.trim();if(t==="")return;let l=ko(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function El(a,i){let t=i.trim();t!==""&&hn.set(a.conversationId,{ownerId:t});}function vn(a){let i=hn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function fa(a,i){if(i===null)return hn.delete(a.conversationId),null;let t=hn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(hn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function jl(a){return !te(O.value,a)||k.value===null?false:(k.value=fa(a,k.value),true)}function wl(a){te(b.value,a)&&Oo(a,{preserveExisting:true});}function Ht(a){te(O.value,a)&&Ut(a,{forceRefresh:true});}function Ir(a){Ht(a),wl(a);}function xl(a,i,t,l){let u=De.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(x=>x.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let x of f)u.userIds.add(x);u.affectsMentions||=i,u.resolvesProfiles||=t,De.set(a.conversationId,u);}function ma(a,i){let t=De.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&De.delete(a.conversationId);}}function pa(a){if(pn(a)||vr(a))return;Me.delete(a.conversationId)&&ja(a);let i=De.get(a.conversationId);if(i===void 0)return;De.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Dn(a,t):pt(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&mt(a,t,{forceRefresh:true}),br(a);}function Al(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 va$1(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 zl(a,i){let t=Se(a);if(vn(t))return er("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=gt("invite-members",t,l);try{let f=await Fi(n,t,i);if(!ht("invite-members",u))return Mn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("invite-members",t);let x=f.memberIds.some(B=>Po(t,B));for(let B of f.memberIds)Ro(t,B);return Dn(t,f.memberIds),ma(t,f.memberIds),Ir(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{It(u);}}async function Gl(a,i){let t=Se(a);if(vn(t))return er("remove-member",t);let l=gr(t,i),u=gt("remove-member",t,i.trim());try{let f=await Ki(n,t,l??{userId:i,role:"unknown"});if(!ht("remove-member",u))return Mn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("remove-member",t);let x=Al(t,f.memberId),B=T.value.some(ee=>ee.userId===f.memberId)||ke.value.some(ee=>ee.userId===f.memberId)||x;return Co(t,f.memberId),Dn(t,[f.memberId]),ma(t,[f.memberId]),Ir(t),Object.freeze({...f,projectionUpdated:B,refreshRequired:!1})}finally{It(u);}}async function Dl(a,i,t){let l=Se(a),u=gr(l,i),f=t?"add-admin":"remove-admin";if(vn(l))return er(f,l);let x=gt(f,l,i.trim());try{let B=t?await Hi(n,l,u??{userId:i,role:"unknown"}):await Li(n,l,u??{userId:i,role:"unknown"});if(!ht(f,x))return Mn(f,l);if(!B.ok)return B.outcome!=="stale"&&Ht(l),B;if(!te(O.value,l))return Mn(f,l);let ee=t?"admin":"member",Ae=u?.role!==ee;return Qn(l,B.memberId,ee),Ir(l),Object.freeze({...B,projectionUpdated:Ae,refreshRequired:!1})}finally{It(x);}}async function _l(a,i){let t=Se(a);if(vn(t))return er("transfer-ownership",t);let l=gr(t,i),u=gt("transfer-ownership",t,"channel-owner");try{let f=await Ui(n,t,l??{userId:i,role:"unknown"});if(!ht("transfer-ownership",u))return Mn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("transfer-ownership",t);El(t,f.ownerId);let x=jl(t);return Qn(t,f.ownerId,"owner"),Qn(t,n.getCredentials().userId,"member"),Ir(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{It(u);}}async function Fl(a,i={}){let t=Se(a),l=i.newOwnerId===void 0?void 0:gr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=gt("leave",t,"membership");try{let f=await qi(n,t,l);if(!f.ok&&!ht("leave",u))return Mn("leave",t);if(!f.ok)return f;let x=te(O.value,t)&&(k.value!==null||T.value.length>0||ke.value.length>0);return hr(t),hn.delete(t.conversationId),va$1(t),te(O.value,t)&&Cr(),Object.freeze({...f,projectionUpdated:x})}finally{It(u);}}async function Kl(a){let i=Se(a);if(vn(i))return er("dismiss",i);let t=gt("dismiss",i,"membership");try{let l=await Vi(n,i);if(!l.ok&&!ht("dismiss",t))return Mn("dismiss",i);if(!l.ok)return l;let u=te(O.value,i)&&(k.value!==null||T.value.length>0||ke.value.length>0);return hr(i),hn.delete(i.conversationId),va$1(i),te(O.value,i)&&Cr(),Object.freeze({...l,projectionUpdated:u})}finally{It(t);}}async function Lt(a,i={}){let t=Se(a),l=++ge,u=ve.group,f=n.getGeneration(),x=!te(R.value,t);R.value=t,x&&(I.value=null,Be+=1,_.value=[],q.value=false),J.value=true,D$1.value=null;try{let B=i.forceRefresh===!0?null:await bs(n,t);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(B!==null&&(I.value=B),i.restricted===!0)return i.includeMembers===!0&&await yt(t,{restricted:!0,forceRefresh:!0}),C$1(t,f,l,u)?(J.value=!1,I.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 ee=await Cs(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Ae=Pl(t,ee);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ae?.ref.conversationId??null,name:Ae?.name??null,isInGroup:Ae?.isInGroup??null,verifyWay:Ae?.verifyWay??null,memberCount:Ae?.memberCount??null,membershipDecision:Ae?.isInGroup===!0?"joined":Ae?.isInGroup===!1?"not-joined":"unknown"}})),Ae===null||Ae.isInGroup===!1?(Be+=1,_.value=[],q.value=!1,ho(t),Aa$1(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await yt(t,{restricted:!1,forceRefresh:!0}),C$1(t,f,l,u)?(I.value=Ae,J.value=!1,Object.freeze(Ae===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let ee=Je(B,"profile.group",t);return i.forceRefresh===true&&(I.value=null,Be+=1,_.value=[],q.value=false),D$1.value=ee,J.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:ee})}}async function yt(a,i={}){let t=Se(a);if(te(R.value,t)||(R.value=t,_.value=[]),te(R.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return Be+=1,_.value=[],q.value=false,Object.freeze({ok:true,operation:"group-members"});if(_.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++Be,u=n.getGeneration();q.value=true;try{let f=i.preserveExisting===!0?null:await Ps(n,t);if(L||n.getGeneration()!==u||l!==Be||!te(R.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let x=f===null?null:rn(On,t.conversationId,f.items);if(x!==null&&(_.value=lr(t.conversationId,x),pr(t)),i.restricted===!0||i.forceRefresh!==!0&&x!==null&&x.length>0)return q.value=!1,Object.freeze({ok:!0,operation:"group-members"});let B=await ks(n,t);return L||n.getGeneration()!==u||l!==Be||!te(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(B!==null&&(_.value=lr(t.conversationId,rn(On,t.conversationId,B),{reconcile:!0}),pr(t)),q.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(L||n.getGeneration()!==u||l!==Be||!te(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let x=Je(f,"profile.group-members",t);return D$1.value=x,q.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:x})}}async function Ut(a,i){let t=Se(a),l=++ge,u=ve.channel,f=n.getGeneration(),x=!te(O.value,t);O.value=t,x&&(k.value=null,Xn(t)),Q.value=true,Z.value=null;try{let B=await Ms(n,t,i);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let ee=fa(t,B);return k.value=ee,ee!==null&&te(b.value,t)&&(T.value=on(t.conversationId,T.value)),ee===null?(hr(t),Xn()):ee.canViewMembers!==!0&&Xn(),Q.value=!1,Object.freeze(ee===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let ee=Je(B,"profile.channel",t);return i?.forceRefresh===true&&(k.value=null,Xn()),Z.value=ee,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:ee})}}async function Nl(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}`,x=++Ne,B=n.getGeneration(),ee=ve[t.conversationType],Ae=t.conversationType==="group"?R.value:O.value,jn=Ae!==null&&te(Ae,t);xe.set(f,x);let To=()=>{let Ln=t.conversationType==="group"?R.value:O.value;return Ae===null?Ln===null:Ln!==null&&te(Ln,Ae)},ln=()=>!L&&n.getGeneration()===B&&ve[t.conversationType]===ee&&xe.get(f)===x&&To();try{let Ln=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);if(!ln())return Object.freeze({ok:!1,operation:l,reason:"stale"});if(Ln.outcome==="joined")if(jn)t.conversationType==="group"?await Lt(t,{forceRefresh:!0}):await Ut(t,{forceRefresh:!0});else try{t.conversationType==="group"?await u.groups.getProfile(t,{forceRefresh:!0}):await u.channels.getProfile(t,{forceRefresh:!0});}catch(sc){ln()&&r.record("error","pinia","profile","membership-join-profile-refresh-failed",()=>({conversation:t,data:{error:Je(sc,l,t)}}));}return ln()?Object.freeze({ok:!0,operation:l,outcome:Ln.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(Ln){return ln()?Object.freeze({ok:false,operation:l,reason:"failed",error:Je(Ln,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{xe.get(f)===x&&xe.delete(f);}}async function ga(a,i,t){let l=me[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?$n.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++dt[a],x=n.getGeneration();l.loading=true,l.error=null;try{let B=await Os(n,a,u);return L||x!==n.getGeneration()||f!==dt[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=As(i?l.items:[],B.items),l.loaded=!0,l.exhausted=B.exhausted,l.loading=!1,B.nextPageToken===void 0?$n.delete(a):$n.set(a,B.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(B){if(L||x!==n.getGeneration()||f!==dt[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let ee=Je(B,`directory.${a}`);return l.error=ee,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:ee})}}function Hl(a,i=false){return ga(a,i,false)}function Ll(a){return ga(a,false,true)}function Ia(){Sn!==void 0&&(clearTimeout(Sn),Sn=void 0),zn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),zn=void 0;}async function Ul(a,i){let t=n.getGeneration();try{let l=await Ss(n,a);return L||t!==n.getGeneration()||i!==Wn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(P.value=l,j.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(L||t!==n.getGeneration()||i!==Wn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Je(l,"directory.search");return $.value=u,j.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function vo(){Wn+=1,Ia(),N.value="",P.value=null,j.value=false,$.value=null,Gn=void 0;}function ql(a,i={}){let t=a.trim();if(t==="")return vo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&zn?.keyword===t)return zn.promise;if(Gn?.keyword===t)return Gn.promise;if(!i.immediate&&N.value===t&&P.value?.keyword===t.toLocaleLowerCase()&&$.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Wn;Ia(),N.value=t,P.value=null,j.value=true,$.value=null;let u=()=>{let B=Ul(t,l);return Gn={keyword:t,promise:B},B.finally(()=>{Gn?.promise===B&&(Gn=void 0);}),B};if(i.immediate)return u();let f,x=new Promise(B=>{f=B;});return zn={keyword:t,promise:x,resolve:f},Sn=setTimeout(()=>{Sn=void 0,zn=void 0,u().then(f);},300),x}function ha(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 Vl(a,i){!te(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Bl(a,i){!te(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function $l(a,i,t){if(!te(R.value,a)||I.value===null)return;let{inviteCode:l,...u}=I.value;I.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ya$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=en.get(a.conversationId)??new Map;f.set(l,u),en.set(a.conversationId,f),te(R.value,a)&&(_.value=Object.freeze(_.value.map(x=>x.userId===l?Object.freeze({...x,nickname:u}):x)));}function ba(a,i){_t(a.conversationId,i);}function go(a,i){let t=i.trim();if(t===""||(_t(a.conversationId,t),ir(On,a.conversationId,t),!te(R.value,a)))return;let l=_.value.filter(f=>f.userId!==t),u=l.length!==_.value.length;u&&(_.value=Object.freeze(l),pr(a)),u&&I.value!==null&&I.value.memberCount!==void 0&&(I.value=Object.freeze({...I.value,memberCount:Math.max(0,I.value.memberCount-1)}));}function Io(a,i){_t(a.conversationId,i),sr(On,a.conversationId,i);}function Ca(a,i){return Dt(On,a.conversationId,i)}function ho(a){On.delete(a.conversationId),en.delete(a.conversationId);}function Ra(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,name:i}));}function Pa(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,description:i}));}function ka(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,avatar:i}));}function Ma(a,i,t){if(!te(O.value,a)||k.value===null)return;let{inviteCode:l,...u}=k.value;k.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function yo(a,i){if(!te(O.value,a)||k.value===null)return;let t={...k.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};k.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function bo(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),x=f||l?.trim()||u,B=Ye.get(a.conversationId)??new Map;B.set(u,{nickname:f,displayName:x}),Ye.set(a.conversationId,B),An.value+=1,te(b.value,a)&&(T.value=on(a.conversationId,T.value)),Jn(a,u)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null),te(de.value,a)&&(ke.value=Object.freeze(ke.value.map(ee=>ee.userId===u?Object.freeze({...ee,displayName:x}):ee)));}function Qn(a,i,t){let l=i.trim();if(l==="")return;let u=yn.get(a.conversationId)??new Map;u.set(l,t),yn.set(a.conversationId,u),te(b.value,a)&&(T.value=on(a.conversationId,T.value)),Jn(a,l)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null);}function Oa(a,i){d(a.conversationId,i);}function Wl(a,i){return An.value,Ye.get(a.conversationId)?.get(i.trim())?.nickname}function Co(a,i){let t=i.trim();if(t==="")return;let l=te(b.value,a),u=te(de.value,a);if(d(a.conversationId,t),h(a.conversationId,t),ir(He,a.conversationId,t),!l&&!u)return;let f=l&&T.value.some(B=>B.userId===t),x=u&&ke.value.some(B=>B.userId===t);l&&(T.value=Object.freeze(T.value.filter(B=>B.userId!==t))),u&&(ke.value=Object.freeze(ke.value.filter(B=>B.userId!==t))),Jn(a,t)&&(se.value=null),(f||x)&&te(O.value,a)&&k.value?.memberCount!==void 0&&(k.value=Object.freeze({...k.value,memberCount:Math.max(0,k.value.memberCount-1)}));}function Ro(a,i){d(a.conversationId,i),h(a.conversationId,i),sr(He,a.conversationId,i);}function Po(a,i){return Dt(He,a.conversationId,i)}function hr(a){He.delete(a.conversationId),yn.delete(a.conversationId),Ye.delete(a.conversationId)&&(An.value+=1);}function En(a,i,t){return !L&&n.getGeneration()===i&&Tn===t&&te(b.value,a)}function Jn(a,i,t,l){let u=Pe.value;return !L&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ze===l)&&u!==null&&te(u,a)&&u.userId===i}function ko(a,i){let t=i.trim();if(t!==""){if(te(b.value,a)){let l=T.value.find(u=>u.userId===t);if(l!==void 0)return l}return Jn(a,t)?se.value??void 0:void 0}}async function Ql(a,i,t={forceRefresh:true}){let l=Se(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ze,x=n.getGeneration();Pe.value=Object.freeze({...l,userId:u}),se.value=null,V.value=true,ce.value=null;try{let B=await Es(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Jn(l,u,x,f)?B===null||Po(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(se.value=on(l.conversationId,[B])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(B){if(!Jn(l,u,x,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let ee=Je(B,"profile.channel-member",l);return ce.value=ee,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:ee})}finally{Jn(l,u,x,f)&&(V.value=false);}}async function Mo(a,i,t){Y.value=true,be.value=null;try{let l=await js(n,a,F$1.value);return En(a,i,t)?(cr(a.conversationId,l.items),v(a.conversationId,l.items),T.value=on(a.conversationId,rn(He,a.conversationId,l.items)),dn=l.nextCursor,fe.value=l.exhausted||l.nextCursor===void 0,Pn=void 0,Y.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!En(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Je(l,"profile.channel-members.refresh",a);return Pn="initial",be.value=u,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Sa(a){if(Y.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Se(a),t=Tn,l=n.getGeneration();Y.value=true,be.value=null;try{let u=await qo(n,i,F$1.value);return En(i,l,t)?(u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0),await Mo(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!En(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Je(u,"profile.channel-members.cache",i);return Pn="initial",be.value=f,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Ta(a){if(Y.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(fe.value||dn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Se(a),t=Tn,l=n.getGeneration();Y.value=true,be.value=null;try{let u=await Ts(n,i,{query:F$1.value,cursor:dn});return En(i,l,t)?(cr(i.conversationId,u.items),v(i.conversationId,u.items),T.value=on(i.conversationId,rn(He,i.conversationId,ha(T.value,u.items))),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0,Pn=void 0,Y.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!En(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Je(u,"profile.channel-members.page",i);return Pn="more",be.value=f,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Xn(a=null){fn!==void 0&&(clearTimeout(fn),fn=void 0),Tn+=1,b.value=a===null?null:Se(a),T.value=[],F$1.value="",Y.value=false,fe.value=false,be.value=null,dn=void 0,Pn=void 0;}function Oo(a,i={}){let t=Se(a);if(i.preserveExisting===true&&te(b.value,t)){fn!==void 0&&(clearTimeout(fn),fn=void 0);let l=++Tn,u=n.getGeneration();return be.value=null,Mo(t,u,l)}return Xn(t),Sa(t)}function Jl(a){let i=b.value;if(i===null)return;F$1.value=a,Tn+=1,T.value=[],fe.value=false,be.value=null,dn=void 0,Y.value=false,fn!==void 0&&clearTimeout(fn);let t=Tn,l=n.getGeneration();(async()=>{try{let u=await qo(n,i,F$1.value);if(!En(i,l,t))return;u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!En(i,l,t))return;be.value=Je(u,"profile.channel-members.cache",i);}En(i,l,t)&&(fn=setTimeout(()=>{fn=void 0,Mo(i,l,t);},300));})();}function Xl(){let a=b.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Ta(a)}function Yl(){let a=b.value;return a===null||Pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Pn==="more"?Ta(a):Sa(a)}function Hn(a,i,t){return !L&&n.getGeneration()===i&&bn===t&&te(de.value,a)}async function qt(a,i={}){if(Oe.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Se(a),l=bn,u=n.getGeneration();Oe.value=true,K.value=null;try{let f=i.useCache===!1?null:await Bo(n,t,je.value||void 0);if(!Hn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ke.value=vt(t.conversationId,rn(He,t.conversationId,f.items)),Cn=f.nextPageToken,Te.value=f.exhausted||f.nextPageToken===void 0);let x=await ws(n,t,je.value||void 0);return Hn(t,u,l)?(ke.value=vt(t.conversationId,rn(He,t.conversationId,x.items)),Cn=x.nextPageToken,Te.value=x.exhausted||x.nextPageToken===void 0,tn=void 0,Oe.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Hn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let x=Je(f,"profile.channel-mentions",t);return tn="initial",K.value=x,Oe.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:x})}}async function Ea(){let a=de.value,i=Cn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Oe.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Te.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=bn,l=n.getGeneration();Oe.value=true,K.value=null;try{let u=await xs(n,je.value,i);return Hn(a,l,t)?(ke.value=vt(a.conversationId,rn(He,a.conversationId,ha(ke.value,u.items))),Cn=u.nextPageToken,Te.value=u.exhausted||u.nextPageToken===void 0,tn=void 0,Oe.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Hn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Je(u,"profile.channel-mentions.page",a);return tn="more",K.value=f,Oe.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function yr(a=null,i=""){nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,de.value=a===null?null:Se(a),ke.value=[],je.value=i,Oe.value=false,Te.value=false,K.value=null,Cn=void 0,tn=void 0;}function Zl(a,i=""){return te(de.value,a)&&je.value===i?(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,Oe.value=false,K.value=null,Cn=void 0,tn=void 0,qt(a,{useCache:false})):(yr(a,i),qt(a))}function ec(a){let i=de.value;if(i===null)return;yr(i,a);let t=bn,l=n.getGeneration();(async()=>{try{let u=await Bo(n,i,a||void 0);if(!Hn(i,l,t))return;u!==null&&(ke.value=vt(i.conversationId,rn(He,i.conversationId,u.items)),Cn=u.nextPageToken,Te.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Hn(i,l,t))return;K.value=Je(u,"profile.channel-mentions.cache",i);}Hn(i,l,t)&&(nn=setTimeout(()=>{nn=void 0,qt(i);},300));})();}function nc(){let a=de.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,Oe.value=false,K.value=null,Cn=void 0,Te.value=false,tn=void 0,qt(a,{useCache:false}))}function tc(){let a=de.value;return a===null||tn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):tn==="more"?Ea():qt(a)}function So(a){te(R.value,a)&&(ft(a,{forceRefresh:true}),yt(a,{forceRefresh:true,preserveExisting:true}));}function br(a){te(b.value,a)&&Oo(a,{preserveExisting:true});}async function ja(a){if(!te(O.value,a))return;(await Ut(a,{forceRefresh:true})).ok&&k.value?.canViewMembers===true&&br(a);}function rc(a){if(a.type==="profile:updated"){if(a.profileType==="user")ar(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&M({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let ee={conversationType:"group",conversationId:a.id};if(Kt(ee)||mr(ee)){re.add(ee.conversationId);return}te(R.value,ee)?Lt(ee,{includeMembers:true,forceRefresh:true}):ft(ee,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let ee={conversationType:"channel",conversationId:a.channelId};pn(ee)||vr(ee)?Me.add(ee.conversationId):ja(ee);return}if(a.type==="sync:complete"){for(let ee of a.conversations)if(ee.conversationType==="group"){let Ae={conversationType:"group",conversationId:ee.conversationId};te(R.value,Ae)&&So(Ae);}else if(ee.conversationType==="channel"){let Ae={conversationType:"channel",conversationId:ee.conversationId};(te(O.value,Ae)||te(b.value,Ae)||te(de.value,Ae))&&(Dn(Ae),br(Ae));}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"&&yu.has(t)){let ee={conversationType:"group",conversationId:i.conversationId},Ae=(a.source??"live")==="live",jn=t==="group_member_renamed"&&l.some(ln=>ln.trim()===u)&&Kt(ee,"set-my-nickname"),To=t==="group_member_renamed"&&!jn;if(t==="group_member_renamed"){jn||xa(n,i);for(let ln of l)jn&&ln.trim()===u||ba(ee,ln);}if(t==="group_member_joined"||t==="group_member_invited")for(let ln of l)Io(ee,ln);if(Ae&&(t==="group_member_left"||t==="group_member_removed"))for(let ln of l)go(ee,ln);if(mr(ee)){he.add(ee.conversationId);return}Ae&&!jn&&(To?te(R.value,ee)&&yt(ee,{forceRefresh:true,preserveExisting:true}):So(ee));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!bu.has(t)||!f)return;let x={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(ee=>pn(x,ee.trim()===u?"set-my-nickname":"set-member-nickname",ee)))){if(t==="channel_member_renamed")for(let ee of l)Oa(x,ee);if(t==="channel_admin_added"||t==="channel_admin_removed"){let ee=t==="channel_admin_added"?"admin":"member";for(let Ae of l)Qn(x,Ae,ee);}if(t==="channel_owner_transferred"){for(let Ae of l)Qn(x,Ae,"owner");let ee=i.body.system?.operatorId;ee!==void 0&&!l.includes(ee)&&Qn(x,ee,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let ee of l)Ro(x,ee);if(t==="channel_member_left"||t==="channel_member_removed")for(let ee of l)Co(x,ee);if(vr(x)){xl(x,zs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}zs.has(t)?Dn(x,l):pt(x,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&mt(x,l,{forceRefresh:true}),br(x);}}let oc=n.subscribeProfileChange(()=>{o.value+=1;}),ac=n.subscribeEvents(rc);function wa$1(){p["set-remark"]+=1,p.block+=1,p.report+=1,p["delete-friendship"]+=1,ve.direct+=1,c.value=null,m.value=null,g.value="unknown",E$1.value=false,S.value=null,G+=1,A$1.value=[],w.value=false,H.value=null;}function xa$1(){for(let a of Object.keys(y))y[a]+=1;for(let a of Object.keys(W))W[a]+=1;ue.clear(),Ie.clear(),X.clear(),re.clear(),he.clear(),ve.group+=1,Be+=1,R.value=null,I.value=null,_.value=[],J.value=false,q.value=false,D$1.value=null;}function Cr(){for(let a of Object.keys(gn))gn[a]+=1;U.clear(),In.clear(),qe.clear(),Ge.clear(),Me.clear(),De.clear(),ve.channel+=1,O.value=null,k.value=null,Q.value=false,Z.value=null,Ze+=1,Pe.value=null,se.value=null,V.value=false,ce.value=null,Xn(),yr();}function Aa(){wa$1(),p["search-user"]+=1,p["resolve-application-target"]+=1,p["request-friendship"]+=1,xa$1(),Cr(),xe.clear();for(let a of ["individual","group","channel"])dt[a]+=1,Object.assign(me[a],Lr());$n.clear(),vo(),On.clear(),Xe.clear(),He.clear(),hn.clear(),en.clear(),yn.clear(),pe.clear(),s.value={},Ye.size>0&&(Ye.clear(),An.value+=1);}function ic(){L||(Aa(),L=true,ue.clear(),Ie.clear(),X.clear(),qe.clear(),Ge.clear(),U.clear(),In.clear(),oc(),ac(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:E$1,directError:S,directMutualGroups:A$1,directMutualGroupsLoading:w,directMutualGroupsError:H,groupRef:R,groupProfile:I,groupMembers:_,groupLoading:J,groupMembersLoading:q,groupError:D$1,channelRef:O,channelProfile:k,channelLoading:Q,channelError:Z,directories:me,directorySearchKeyword:N,directorySearchResult:P,directorySearchLoading:j,directorySearchError:$,channelMembersRef:b,channelMembers:T,channelMemberQuery:F$1,channelMembersLoading:Y,channelMembersExhausted:fe,channelMembersError:be,channelMemberDetailRef:Pe,channelMemberDetail:se,channelMemberDetailLoading:V,channelMemberDetailError:ce,channelMentionsRef:de,channelMentions:ke,channelMentionQuery:je,channelMentionsLoading:Oe,channelMentionsExhausted:Te,channelMentionsError:K,resolveDisplayName:uo,resolveAvatarUrl:or,resolvePublicNickname:fo,resolveSenderProfile:ar,resolveGroupMemberProfiles:ft,resolveChannelMemberProfiles:mt,invalidateChannelMemberProfiles:pt,invalidateChannelMemberSet:Dn,channelMentionRevision:co,loadDirect:M,resolveProfileAccess:z,loadDirectMutualGroups:ae,setDirectContactRemark:ye,blockDirectContact:Ce,reportDirectContact:Ke,deleteDirectFriendship:Ue,searchDirectContact:ze,resolveDirectContactTarget:$e,requestDirectFriendship:an,loadGroup:Lt,updateGroupName:_e,updateGroupAvatar:sn,setMyGroupNickname:Kn,updateGroupVerification:Nn,isGroupProfileWritePending:Kt,inviteGroupMembers:kl,removeGroupMember:Ml,transferGroupOwnership:Ol,leaveGroup:Sl,isGroupMemberManagementPending:mr,ensureGroupMembers:yt,loadChannel:Ut,requestMembershipJoin:Nl,updateChannelName:ml,updateChannelDescription:pl,updateChannelAvatar:vl,setMyChannelNickname:gl,setChannelMemberNickname:Il,updateChannelVerification:hl,setChannelAllMuted:yl,setChannelMemberPrivateChatDisabled:bl,isChannelProfileWritePending:pn,inviteChannelMembers:zl,removeChannelMember:Gl,setChannelMemberAdmin:Dl,transferChannelOwnership:_l,leaveChannel:Fl,dismissChannel:Kl,isChannelMemberManagementPending:vr,loadDirectory:Hl,refreshDirectory:Ll,searchDirectory:ql,clearDirectorySearch:vo,openChannelMembers:Oo,getChannelMember:ko,loadChannelMember:Ql,setChannelMemberQuery:Jl,loadMoreChannelMembers:Xl,retryChannelMembers:Yl,resetChannelMembers:Xn,updateGroupMemberNicknameProjection:ya$1,clearGroupMemberNicknameProjection:ba,removeGroupMemberProjection:go,restoreGroupMemberProjection:Io,isGroupMemberRemovedProjection:Ca,clearGroupMemberProjections:ho,updateChannelNameProjection:Ra,updateChannelDescriptionProjection:Pa,updateChannelAvatarProjection:ka,updateChannelVerificationProjection:Ma,updateChannelManagementProjection:yo,updateChannelMemberDisplayNameProjection:bo,updateChannelMemberRoleProjection:Qn,clearChannelMemberDisplayNameProjection:Oa,channelMemberNicknameProjection:Wl,removeChannelMemberProjection:Co,restoreChannelMemberProjection:Ro,isChannelMemberRemovedProjection:Po,clearChannelMemberProjections:hr,openChannelMentions:Zl,setChannelMentionQuery:ec,loadMoreChannelMentions:Ea,refreshChannelMentions:nc,retryChannelMentions:tc,resetChannelMentions:yr,resetDirect:wa$1,resetGroup:xa$1,resetChannel:Cr,reset:Aa,dispose:ic}})}var Gs=new WeakMap,Ur=new WeakMap;function $o(e=Ee()){Re(e);let n=Gs.get(e);n===void 0&&(n=Ru(e),Gs.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function Ds(e,n,r){let o=ref({}),s=0,c=()=>false,m,g=shallowRef([]),E$1=[],S=0;function A(){for(;S<4&&E$1.length>0;){let D=E$1.shift();S+=1,D.run().then(D.resolve,D.reject).finally(()=>{S-=1,A();});}}function w(D){return new Promise((O,k)=>{E$1.push({run:D,resolve:O,reject:k}),A();})}function H(){s+=1,o.value={},g.value=[],c=()=>false;for(let D of E$1.splice(0))D.resolve();}function R(D$1){let O={name:"",avatarUrl:""};if(!c()||r.activeRef?.conversationType!==D$1.ref.conversationType||r.activeRef.conversationId!==D$1.ref.conversationId)return {...O,status:"unavailable"};m?.profileRevision;let k=n.getSenderProfileCache();if(D$1.senderId===n.getCredentials().userId)return {...O,status:"self",avatarUrl:E(k,D$1.senderId)};if(D$1.senderId==="system")return {...O,status:"system"};if(D$1.ref.conversationType==="robot"){let me=r.display,N=D$1.senderId===D$1.ref.conversationId&&me?.title!==D$1.ref.conversationId?me?.title.trim()??"":"";return {name:N,avatarUrl:N===""?"":me?.avatar??"",status:N===""?"unavailable":"ready"}}let Q=D$1.ref.conversationType==="channel"?B(k,n.getChannelMemberProfiles(),D$1.ref.conversationId,D$1.senderId):z(k,n.getGroupMemberNames(),D$1.ref.conversationType==="group"?D$1.ref.conversationId:"",D$1.senderId),Z=D$1.ref.conversationType==="channel"?D(k,n.getChannelMemberProfiles(),D$1.ref.conversationId,D$1.senderId):E(k,D$1.senderId);return {name:Q,avatarUrl:Z,status:Q===""?o.value[D$1.senderId]??"unavailable":"ready"}}async function I(D,O,k=false){if(!O()||D.length===0)return;c=O,k||(g.value=D);let Q=s,Z=()=>Q===s&&O(),me=D[0].ref;if(me.conversationType==="robot")return;m??=$o(e);let N=m,P=D.flatMap(b=>[b.senderId,...b.previewParts.flatMap(T=>T.kind==="rich-text"?T.mention?.atUserIds??[]:[])]),j=[...new Set(P)].filter(b=>b!==""&&b!=="system"&&b!==n.getCredentials().userId&&o.value[b]!=="loading"&&(k||o.value[b]===void 0));if(j.length===0)return;for(let b of j)o.value[b]="loading";let $=Promise.allSettled([Promise.resolve().then(()=>Z()?me.conversationType==="group"?N.resolveGroupMemberProfiles({conversationType:"group",conversationId:me.conversationId},{forceRefresh:k}):me.conversationType==="channel"?N.resolveChannelMemberProfiles({conversationType:"channel",conversationId:me.conversationId},j,{forceRefresh:k,isCurrent:Z}):true:false)]).then(([b])=>b.status==="fulfilled"&&b.value);await Promise.all(j.map(b=>w(async()=>{if(!Z())return;let[T,F]=await Promise.allSettled([$,Promise.resolve().then(()=>N.resolveSenderProfile(b,{forceRefresh:k}))]);if(!Z())return;let Y=T.status==="rejected"||T.value===false||F.status==="rejected"||F.value===false;o.value[b]=Y?"failed":"unavailable";})));}function _(){return g.value.flatMap(D=>{if(D.ref.conversationType==="robot")return [];let O=D.previewParts.flatMap(k=>k.kind==="rich-text"?(k.mention?.atUserIds??[]).filter(Q=>!k.mention?.atUsersName?.[Q]?.trim()):[]);return [D.senderId,...O].map(k=>({...D,senderId:k,previewParts:[]})).filter(k=>["failed","unavailable"].includes(R(k).status))})}let J=computed(()=>_().length>0);async function q(){await I(_(),c,true);}return {senderFor:R,prepare:I,reset:H,hasRetryableSenderProfiles:J,retrySenderProfiles:q}}var ju=250,wu=2e3;function Fs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Wo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Qo(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:Fs(r)}})}function xu(e){return defineStore("k2-im-search",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=Ds(e,n,o),c=ref(""),m=ref([]),g=ref(false),E=ref(false),S=ref("all"),A=ref(""),w=ref(""),H=shallowRef(null),R=false,I=0,_=0,J,q,D,O;function k(){let V=o.activeRef,ce=o.getHandle();if(!(R||V===null||ce===void 0||!Wo(V,ce.ref)))return {ref:Fs(V),handle:ce,generation:n.getGeneration()}}function Q(V){return !R&&n.getGeneration()===V.generation&&o.getHandle()===V.handle&&Wo(o.activeRef,V.ref)}function Z(){let V=q;V!==void 0&&(clearTimeout(V.timer),q=void 0,V.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function me(){D!==void 0&&(clearTimeout(D),D=void 0);}function N(V,ce){return ce===I&&(g.value=false),Object.freeze({ok:false,operation:V,reason:"stale"})}function P(V,ce){return V===_&&A.value===ce&&(A.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function j(V,ce,de){switch(de){case "all":return Da$1(n,{conversation:V.ref,keyword:ce});case "text":return Ea(n,{conversation:V.ref,keyword:ce});case "file":return Fa(n,{conversation:V.ref,keyword:ce});case "image":return Ga(n,{conversation:V.ref});case "video":return Ha(n,{conversation:V.ref});case "voice":return Ia(n,{conversation:V.ref})}}function $(V,ce){return V!==""?true:ce!=="all"&&ce!=="text"}function b(V){c.value=V,Z();let ce=++I,de=V.trim(),ke=S.value,je=$(de,ke);if(J=void 0,m.value=[],s.reset(),E.value=false,H.value=null,!je)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Oe=k();return Oe===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(Te=>{let K=setTimeout(()=>{if(q?.timer===K&&(q=void 0),ce!==I||!Q(Oe)){Te(N("search",ce));return}r.record("debug","pinia","history","search-start",()=>({generation:Oe.generation,conversation:Oe.ref,category:ke})),j(Oe,de,ke).then(L=>{if(ce!==I||!Q(Oe)){Te(N("search",ce));return}m.value=[...L.results],s.prepare(m.value,()=>Q(Oe)),J=L.nextPageToken,E.value=!L.exhausted,g.value=false,Te(Object.freeze({ok:true,operation:"search"}));}).catch(L=>{if(ce!==I||!Q(Oe)){Te(N("search",ce));return}let pe=Qo(L,"search.first-page",Oe.ref);H.value=pe,g.value=false,Te(Object.freeze({ok:false,operation:"search",reason:"failed",error:pe}));});},ju);q={timer:K,resolve:Te};}))}function T(V){return S.value=V,(V==="image"||V==="video"||V==="voice")&&(c.value=""),b(c.value)}async function F(){if(g.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!E.value||J===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let V=k();if(V===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let ce=J,de=++I;g.value=true,H.value=null;try{let ke=await Ja(n,ce);return de!==I||!Q(V)?N("load-more",de):(m.value=[...m.value,...ke.results],s.prepare(m.value,()=>Q(V)),J=ke.nextPageToken,E.value=!ke.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ke){if(de!==I||!Q(V))return N("load-more",de);let je=Qo(ke,"search.next-page",V.ref);return H.value=je,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:je})}}async function Y(V,ce){let de=k();if(de===void 0||!Wo(de.ref,V))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ke=A.value!=="",je=++_;me(),w.value="",A.value=ce,H.value=null;try{return (!o.messages.some(Te=>Te.id===ce)||ke)&&!await o.loadAround(ce)||(await nextTick(),je!==_||!Q(de))?P(je,ce):(w.value=ce,Object.freeze({ok:!0,operation:"locate"}))}catch(Oe){if(je!==_||!Q(de))return P(je,ce);let Te=Qo(Oe,"search.locate",de.ref);return A.value="",H.value=Te,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Te})}}function fe(V){if(A.value!==V)return false;A.value="";let ce=_,de=k();return me(),de===void 0||w.value!==V||(D=setTimeout(()=>{D=void 0,ce===_&&Q(de)&&w.value===V&&(w.value="");},wu)),true}function be(){_+=1,me(),A.value="",w.value="";}function Pe(V){I+=1,Z(),c.value="",m.value=[],s.reset(),g.value=false,E.value=false,S.value="all",J=void 0,H.value=null,V?.preserveLocation!==true&&be();}function se(){R||(Pe(),R=true,O?.(),O=void 0);}return O=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>Pe(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:E,category:S,locatingMessageId:A,highlightMessageId:w,error:H,search:b,setCategory:T,loadMore:F,locate:Y,completeLocation:fe,clearLocation:be,reset:Pe,dispose:se}})}var _s=new WeakMap,qr=new WeakMap;function wn(e=Ee()){Re(e);let n=_s.get(e);n===void 0&&(n=xu(e),_s.set(e,n));let r=n(e);return qr.get(e)!==r&&(qr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),qr.get(e)===r&&qr.delete(e);})),r}var Vr=new WeakMap;function Ks(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Au(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function zu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Gu(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&&zu(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ks(n)})}function Du(e=Ee()){let n=Re(e),r=Vr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=No(e),m=Le(e),g=nt(e),E=Qt(e),S=wn(e),A={disposed:false};function w(H){let R=Ks(H);if(A.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let I=o.getGeneration(),_=m.activeRef!==null&&m.activeRef.conversationType===R.conversationType&&m.activeRef.conversationId===R.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:R})),!Au(R))return Object.freeze({ok:false,reason:"unsupported",conversation:R});let J=c.deleteLocal(R);if(!J.ok){if(J.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:R});let O=Gu(J.error,R);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:I,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(A.disposed||o.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:R});zi(e,R);let q=m.closeActiveConversation(R),D=_||q;return D&&(g.reset(),E.reset(),S.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:R,data:{activeConversationCleared:D}})),Object.freeze({ok:true,status:"deleted",conversation:R,activeConversationCleared:D})}return A.coordinator=Object.freeze({deleteLocal:w}),Vr.set(e,A),we(e,()=>{A.disposed=true,Vr.get(e)===A&&Vr.delete(e);}),A.coordinator}var Ns=30,Fu=15,Ku=20,Nu=4294967295,Hs=new WeakMap;function $r(e){return typeof e=="object"&&e!==null}function zt(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 Ls(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Nu)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Hu(e,n){if(!$r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=zt(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=Ls(e.width,"asset.width"),c=Ls(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:zt(e.packageId,"asset.packageId"),resourceId:zt(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:zt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function tr(e,n){let r=Hs.get(e);r===void 0&&(r=new Map,Hs.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 Us(e,n,r,o){let s=tr(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=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);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Wr=new WeakMap;function nr(){return reactive({loading:false,loaded:false,error:null})}function wt(e){return {sticker:e(),gif:e()}}function qs(e){return {sticker:e(),gif:e(),emoji:e()}}function Vn(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 Lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function xt(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&&Lu(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 Jo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Vs(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function At(e){return "recordId"in e?e.recordId:void 0}function Uu(e){let n=[];for(let r=0;r<e.length;r+=Ns)n.push(e.slice(r,r+Ns));return n}function Qr(e){return e==="gif"?Ku:Fu}function We(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function Xo(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:We(o)!==r)].slice(0,Qr(n.kind)))}function qu(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>We(o)!==r)])}function Bs(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=We(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Qr(e)))break}return Object.freeze(o)}function $s(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function ea(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 Yo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:ea(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Zo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Vu(e){return defineStore("k2-im-expression",()=>{let n=Re(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),E=nr(),S=reactive({}),A=ref({sticker:[],gif:[]}),w=wt(nr),H=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),I=qs(nr),_=ref({sticker:[],gif:[],emoji:[]}),J=ref([]),q=ref("idle"),D=ref(""),O=ref([]),k=ref(0),Q=nr(),Z=ref(void 0),me=computed(()=>Vn(E,m.value.length)),N=computed(()=>{let d=new Set([...Object.keys(S),...Object.keys(g.value)]);return Object.fromEntries([...d].map(v=>{let h=S[v]??{loading:false,loaded:true,error:null};return [v,Vn(h,g.value[v]?.length??0)]}))}),P=computed(()=>({sticker:Vn(w.sticker,A.value.sticker.length),gif:Vn(w.gif,A.value.gif.length)})),j=computed(()=>({sticker:Vn(I.sticker,R.value.sticker.length),gif:Vn(I.gif,R.value.gif.length),emoji:Vn(I.emoji,J.value.length)})),$=computed(()=>Vn(Q,O.value.length)),b=computed(()=>Z.value!==void 0),T=false,F=0,Y=0,fe={},be=wt(()=>0),Pe=qs(()=>0),se=0,V=0,ce=0,de=0,ke=0,je=null,Oe=null,Te=null,K="emoji",L=new Set,pe=[],ge=null,ve=null,G=null,p=null,y=wt(()=>new Map),W=wt(()=>new Map),X=new Map,ie=new Map,ue=wt(()=>Promise.resolve());function Ie(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:F,accountId:d.userId}}function re(d){return !T&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===F&&d.accountId===r.getCredentials().userId}function he(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function Ge(d,v,h){let C=xt(v,d);return h.error=C,Object.freeze({ok:false,operation:d,reason:"failed",error:C})}function qe(){return Object.freeze({ok:false,reason:"stale"})}function ut(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 gn(){let d=v=>Object.freeze(R.value[v].flatMap(h=>{let C=ut(h);return C===null?[]:[Object.freeze({asset:C,pendingSync:y[v].has(We(C))})]}).slice(0,Qr(v)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(J.value.map(v=>v.kind==="game"?Object.freeze({...v}):Object.freeze({...v,pendingSync:X.has(v.stableKey)})))})}function In(){for(let d of ["sticker","gif","emoji"])I[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(I[d].error=null);}function U(d,v){let h=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return v.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function ne(d,v,h,C=[v]){let M=o,z=++ce,ae=Us(M,d.accountId,h,C);ke=ae.revision;let le=ae.promise.then(()=>(re(d)&&z===ce&&In(),true),oe=>{if(!re(d)||z!==ce)return false;let ye=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[v].error=ye,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ye.code,data:oe}})),false});return {...ae,settled:le}}function Me(d){return je!==null&&en(je,d)}function De(d){if(G!==null)return G;let h=(async()=>{for(;re(d)&&!Me(d);){let M=p!==null&&en(p.context,d)?p:null;if(M!==null){let ae=await M.promise;if(ae.ok||!re(d)||ae.reason!=="stale")return;continue}let z=await Ye();if(z.ok||!re(d)||z.reason!=="stale")return}})();G=h;let C=()=>{G===h&&(G=null);};return h.then(C,C),h}function xe(d,v,h){if(!re(d))return Promise.resolve();if(de+=1,o===void 0||d.accountId==="")return je=d,Promise.resolve();let C=gn();return Me(d)?ne(d,v,C).settled.then(()=>{}):(Te=C,K=v,L.add(v),pe.push(h),De(d))}function Ne(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function Be(d$1,v){let h=[...d$1.sticker],C=[...d$1.gif],M=[...d$1.emoji],z=new Map(d$1.pendingSticker),ae=new Map(d$1.pendingGif),le=new Map(d$1.pendingEmoji);for(let oe of v){if(oe.type==="prepend-asset"){(oe.kind==="sticker"?z:ae).set(We(oe.asset),oe.asset),oe.kind==="sticker"?h=[...Xo(h,oe.asset)]:C=[...Xo(C,oe.asset)];continue}if(oe.type==="prepend-emoji"||oe.type==="prepend-emojis"){let Ce=oe.type==="prepend-emoji"?[oe.entry]:oe.entries;for(let Ke of Ce)Ke.kind==="emoji"&&le.set(Ke.stableKey,Ke),M=[...d(M,Ke)];continue}if(oe.type==="authoritative"){if(oe.kind==="emoji"){for(let Ce of oe.items)if(Ce.kind==="emoji")for(let[Ke,Ue]of le)Ue.resourceId===Ce.resourceId&&le.delete(Ke);M=[...Yo(oe.items,M,new Set(le.keys()))];}else {let Ce=oe.kind==="sticker"?z:ae;for(let Ue of oe.items)Ue.kind===oe.kind&&Ce.delete(We(Ue));let Ke=Bs(oe.kind,oe.items,Ce);oe.kind==="sticker"?h=[...Ke]:C=[...Ke];}continue}if(oe.type==="delete-assets"){let Ce=new Set(oe.identities),Ke=oe.kind==="sticker"?z:ae,Ue=ze=>ze.kind==="emoji"||!Ce.has(We(ze))||Ke.has(We(ze));oe.kind==="sticker"?h=h.filter(Ue):C=C.filter(Ue);continue}let ye=new Set(oe.resourceIds);M=M.filter(Ce=>Ce.kind==="game"||!ye.has(Ce.resourceId)||le.has(Ce.stableKey));}return {sticker:Object.freeze(h),gif:Object.freeze(C),emoji:Object.freeze(M),pendingSticker:z,pendingGif:ae,pendingEmoji:le}}function Ze(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 v=(le,oe)=>{let ye=[],Ce=new Map,Ke=new Set;for(let Ue of oe){if(!$r(Ue)||typeof Ue.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let ze=Hu(Ue.asset,le),$e=We(ze);Ke.has($e)||(Ke.add($e),ye.length<Qr(le)&&(ye.push(ze),Ue.pendingSync&&Ce.set($e,ze)));}return {items:Object.freeze(ye),pending:Ce}},h=v("sticker",d.sticker),C=v("gif",d.gif),M=[],z=new Map,ae=new Set;for(let le of d.emoji){if(!$r(le)||typeof le.stableKey!="string"||le.stableKey.trim()===""||le.kind!=="emoji"&&le.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let oe=le.stableKey.trim(),ye,Ce=false;if(le.kind==="game"){if(le.gameType!=="dice"&&le.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ye=Zo(le.gameType),ye.stableKey!==oe)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Ke=zt(le.token,"emoji.token"),Ue=zt(le.resourceId,"emoji.resourceId");if(typeof le.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Ce=le.pendingSync,ye=Object.freeze({kind:"emoji",stableKey:oe,token:Ke,resourceId:Ue});}ae.has(oe)||(ae.add(oe),M.length<14&&(M.push(ye),ye.kind==="emoji"&&Ce&&z.set(oe,ye)));}return {sticker:h.items,gif:C.items,emoji:Object.freeze(M),pendingSticker:h.pending,pendingGif:C.pending,pendingEmoji:z}}function On(d){R.value={sticker:d.sticker,gif:d.gif,emoji:[]},_.value={sticker:[],gif:[],emoji:[]},J.value=d.emoji,y.sticker.clear(),y.gif.clear(),X.clear();for(let[v,h]of d.pendingSticker)y.sticker.set(v,h);for(let[v,h]of d.pendingGif)y.gif.set(v,h);for(let[v,h]of d.pendingEmoji)X.set(v,h);for(let v of ["sticker","gif","emoji"])Object.assign(I[v],{loading:false,loaded:true,error:null});}function Xe(d,v){if(o===void 0||d.accountId==="")return 0;let h=tr(o,d.accountId);return v===void 0?h.revision:h.kindRevisions[v]}function He(d){if(o===void 0||d.accountId===""||!Me(d))return;let v=tr(o,d.accountId);if(v.revision===ke)return;let h=v.latestSnapshot===null?Ne():Ze(v.latestSnapshot),C=(M,z)=>{let ae=M==="sticker"?h.pendingSticker:h.pendingGif,le=new Map(R.value[M].flatMap(oe=>oe.kind==="emoji"||oe.kind!==M?[]:[[We(oe),oe]]));return Object.freeze(z.map(oe=>{if(oe.kind==="emoji"||oe.kind!==M)return oe;let ye=We(oe);if(ae.has(ye))return oe;let Ce=At(le.get(ye)??oe);return Object.freeze({...oe,...Ce===void 0?{}:{recordId:Ce}})}))};R.value={sticker:C("sticker",h.sticker),gif:C("gif",h.gif),emoji:R.value.emoji},J.value=h.emoji,y.sticker.clear(),y.gif.clear(),X.clear();for(let[M,z]of h.pendingSticker)y.sticker.set(M,z);for(let[M,z]of h.pendingGif)y.gif.set(M,z);for(let[M,z]of h.pendingEmoji)X.set(M,z);for(let M of ["sticker","gif"]){let z=new Set(R.value[M].flatMap(ae=>At(ae)===void 0?[]:[At(ae)]));_.value={..._.value,[M]:Object.freeze(_.value[M].filter(ae=>z.has(ae)))};}ke=v.revision;}async function hn(d,v,h,C){let M="hydrate-recent";I.emoji.error=null;try{let z=null,ae=0;if(o!==void 0&&d.accountId!==""){z=tr(o,d.accountId);let ze=z.latestSnapshot;if(!C&&z.status==="failed"&&ze!==null&&Us(o,d.accountId,ze,[]),ae=z.revision,await z.tail.catch(()=>{}),v!==V||!re(d)||de!==h||z.revision!==ae)return he(M);if(!C&&z.status==="failed")return U(M,I.emoji);z.status==="saved"&&ge!==null&&z.latestSnapshot===ge&&Te===ve&&(Te=null,L.clear(),pe.length=0,ge=null,ve=null);}let le=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(v!==V||!re(d)||de!==h||z!==null&&z.revision!==ae)return he(M);let oe;try{oe=le===null?Ne():Ze(le);}catch(ze){let $e=o?.clearInvalid;if(le!==null&&d.accountId!==""&&$e!==void 0)try{await $e(d.accountId,le);}catch(an){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:an})}throw ze}let ye=C?null:Te,Ce=new Set(L),Ke=[...pe],Ue=ye===null?oe:Be(oe,Ke);if(On(Ue),ke=ae,C){if(Te=null,L.clear(),pe.length=0,ge=null,ve=null,z!==null){z.revision+=1;for(let ze of ["sticker","gif","emoji"])z.kindRevisions[ze]+=1;z.status="saved",z.latestSnapshot=le,z.error=null,ke=z.revision;}return je=d,In(),Object.freeze({ok:!0,operation:M})}if(ye!==null&&o!==void 0&&d.accountId!==""){let ze=gn();ge=ze,ve=ye;let $e=ne(d,K,ze,[...Ce]),an=await $e.settled;if(v!==V||!re(d)||de!==h||$e.coordinator.revision!==$e.revision)return he(M);if(!an)return U(M,I.emoji);Te===ye&&(Te=null,L.clear(),pe.length=0,ge=null,ve=null);}return je=d,Object.freeze({ok:!0,operation:M})}catch(z){return v!==V||!re(d)?he(M):Ge(M,z,I.emoji)}}function en(d,v){return d.client===v.client&&d.generation===v.generation&&d.stateEpoch===v.stateEpoch&&d.accountId===v.accountId}function Ye(d={}){let v="hydrate-recent";if(T)return Promise.resolve(he(v));let h;try{h=Ie();}catch(ye){let Ce=Ge(v,ye,I.emoji);return !Ce.ok&&Ce.reason==="failed"&&(Oe=Ce.error??I.emoji.error),Promise.resolve(Ce)}let C=o===void 0||h.accountId===""?null:tr(o,h.accountId);if(!d.force&&Me(h)&&Te===null&&(C===null||(C.status==="idle"||C.status==="saved")&&C.revision===ke))return Oe=null,Promise.resolve(Object.freeze({ok:true,operation:v}));if(!d.force&&p!==null&&!p.force&&p.stateRevision===de&&en(p.context,h))return p.promise;let M=++V,z=de,ae=hn(h,M,z,d.force===true).then(ye=>(ye.ok?Oe=null:ye.reason==="failed"&&(Oe=ye.error??I.emoji.error),ye)),le={context:h,stateRevision:z,force:d.force===true,promise:ae};p=le;let oe=()=>{p===le&&(p=null);};return ae.then(oe,oe),ae}async function yn(d){let v="load-packs";if(T)return he(v);let h=++Y,C;try{C=Ie();}catch(M){return Ge(v,M,E)}E.loading=true,E.error=null;try{let M=await C.client.expressions.packs.list(d);return h!==Y||!re(C)?he(v):(c.value=M.version,m.value=Object.freeze([...M.items]),E.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(M){return h!==Y||!re(C)?he(v):Ge(v,M,E)}finally{h===Y&&re(C)&&(E.loading=false);}}async function An(d){let v="load-pack-items";if(T)return he(v);let h=d.trim();if(h===""){let ae=xt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),v);return Object.freeze({ok:false,operation:v,reason:"failed",error:ae})}let C=S[h]??=nr(),M=(fe[h]??0)+1;fe[h]=M;let z;try{z=Ie();}catch(ae){return Ge(v,ae,C)}C.loading=true,C.error=null;try{let ae=await z.client.expressions.packs.listItems(h);return fe[h]!==M||!re(z)?he(v):(g.value={...g.value,[h]:Object.freeze([...ae])},C.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ae){return fe[h]!==M||!re(z)?he(v):Ge(v,ae,C)}finally{fe[h]===M&&re(z)&&(C.loading=false);}}async function dt(d){let v="load-favorites";if(T)return he(v);let h=++be[d],C=w[d],M;try{M=Ie();}catch(z){return Ge(v,z,C)}C.loading=true,C.error=null;try{let z=await M.client.expressions.favorites.list(d);return be[d]!==h||!re(M)?he(v):($n(d,z),C.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(z){return be[d]!==h||!re(M)?he(v):Ge(v,z,C)}finally{be[d]===h&&re(M)&&(C.loading=false);}}function $n(d,v){for(let z of v)W[d].delete(We(z));let h=[],C=new Set;for(let z of [...W[d].values(),...v]){let ae=We(z);C.has(ae)||(C.add(ae),h.push(Object.freeze({...z})));}A.value={...A.value,[d]:Object.freeze(h)};let M=new Set(v.flatMap(z=>z.recordId===void 0?[]:[z.recordId]));H.value={...H.value,[d]:Object.freeze(H.value[d].filter(z=>M.has(z)))};}async function Wn(d,v,h){let C=w[v];try{let M=await d.client.expressions.favorites.list(v);if(be[v]!==h||!re(d))return;$n(v,M),C.loaded=!0;}catch(M){be[v]===h&&re(d)&&(C.error=xt(M,"load-favorites"));}}function Sn(d,v){let h="set-favorite";if(T)return Promise.resolve(he(h));let C=We(d),M=ie.get(C);if(M?.desired===v)return M.promise;let z;try{z=Ie();}catch(ye){return Promise.resolve(Ge(h,ye,w[d.kind]))}let ae=M?.promise.catch(()=>{})??Promise.resolve(),le=ue[d.kind].catch(()=>{}),oe=Promise.all([ae,le]).then(async()=>{if(!re(z))return he(h);let ye=d.kind,Ce=w[ye];Ce.error=null;let Ke=A.value[ye].find(ze=>We(ze)===C);if(v&&Ke!==void 0)return Object.freeze({ok:true,operation:h});if(!v&&Ke?.recordId===void 0){let ze=Jo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Ce.error=ze,Object.freeze({ok:false,operation:h,reason:"failed",error:ze})}let Ue=++be[ye];try{if(v?await z.client.expressions.favorites.add(d):await z.client.expressions.favorites.delete([Ke.recordId]),!re(z))return he(h);v?(W[ye].set(C,Object.freeze({...d})),A.value={...A.value,[ye]:qu(A.value[ye],d)}):(W[ye].delete(C),A.value={...A.value,[ye]:Object.freeze(A.value[ye].filter($e=>$e.recordId!==Ke.recordId))});let ze=++be[ye];return Ue=ze,await Wn(z,ye,ze),!re(z)||be[ye]!==ze?he(h):Object.freeze({ok:!0,operation:h})}catch(ze){return !re(z)||be[ye]!==Ue?he(h):Ge(h,ze,Ce)}finally{be[ye]===Ue&&re(z)&&(Ce.loading=false);}});return ie.set(C,{desired:v,promise:oe}),ue[d.kind]=oe.then(()=>{},()=>{}),oe.finally(()=>{ie.get(C)?.promise===oe&&ie.delete(C);}),oe}async function zn(d){let v=await Sn(d,true);return Object.freeze({...v,operation:"add-favorite"})}function Gn(d){return Sn(d,false)}function Tn(d,v,h){if(T)return;let C=Vs(v),M=new Set(H.value[d]);h??!M.has(C)?M.add(C):M.delete(C),H.value={...H.value,[d]:Object.freeze([...M])};}function dn(d,v,h){if(He(h),d==="emoji"){for(let M of v)if(M.kind==="emoji")for(let[z,ae]of X)ae.resourceId===M.resourceId&&X.delete(z);R.value={...R.value,emoji:Object.freeze([...v])},J.value=Yo(v,J.value,new Set(X.keys()));}else {for(let M of v)M.kind===d&&y[d].delete(We(M));R.value={...R.value,[d]:Bs(d,v,y[d])};}let C=new Set(v.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));_.value={..._.value,[d]:Object.freeze(_.value[d].filter(M=>C.has(M)))},I[d].loaded=true,xe(h,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...v])}));}async function fn(d){let v="load-recent";if(T)return he(v);let h=I[d],C=await Ye();if(!C.ok)return C.reason==="stale"?he(v):(h.error=C.error??I.emoji.error,Object.freeze({...C,operation:v}));let M=++Pe[d],z;try{z=Ie();}catch(ae){return Ge(v,ae,h)}h.loading=true,h.error=null;try{let ae=Xe(z,d),le=await z.client.expressions.recent.list(d);return Pe[d]!==M||!re(z)?he(v):Xe(z,d)!==ae?(He(z),he(v)):(dn(d,le,z),Object.freeze({ok:!0,operation:v}))}catch(ae){return Pe[d]!==M||!re(z)?he(v):Ge(v,ae,h)}finally{Pe[d]===M&&re(z)&&(h.loading=false);}}async function Pn(d,v){if(!re(d))return;let h=++Pe[v],C=I[v];C.loading=true,C.error=null;try{He(d);let M=Xe(d,v),z=await d.client.expressions.recent.list(v);if(Pe[v]!==h||!re(d))return;if(Xe(d,v)!==M){He(d);return}dn(v,z,d);}catch(M){Pe[v]===h&&re(d)&&(C.error=xt(M,"load-recent"));}finally{Pe[v]===h&&re(d)&&(C.loading=false);}}function bn(d,v){if(!re(d))return false;He(d),V+=1;let h=v.kind,C=Object.freeze({...v});return y[h].set(We(C),C),R.value={...R.value,[h]:Xo(R.value[h],C)},I[h].loaded=true,xe(d,h,Object.freeze({type:"prepend-asset",kind:h,asset:C})),true}function Cn(d$1,v){if(!re(d$1))return false;He(d$1),V+=1;let h=Object.freeze(v.map(M=>Object.freeze({...M}))),C=J.value;for(let M of h)X.set(M.stableKey,M),C=d(C,M);return J.value=C,I.emoji.loaded=true,xe(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:h})),true}function nn(d,v){return Cn(d,[v])}async function tn(d,v,h=true){let C="report-recent";if(!re(d))return he(C);let M=v.kind,z=++Pe[M],ae=I[M];ae.error=null;try{if(await d.client.expressions.recent.report(v),Pe[M]!==z||!re(d))return he(C);if(!h)return Object.freeze({ok:!0,operation:C});try{He(d);let le=Xe(d,M),oe=await d.client.expressions.recent.list(M);if(Pe[M]!==z||!re(d))return he(C);if(Xe(d,M)!==le)return He(d),he(C);dn(M,oe,d);}catch(le){Pe[M]===z&&re(d)&&(ae.error=xt(le,"load-recent"));}return Object.freeze({ok:!0,operation:C})}catch(le){return Pe[M]!==z||!re(d)?he(C):Ge(C,le,ae)}}async function co(d){let v="report-recent";if(T)return he(v);let h;try{h=Ie();}catch(C){return Ge(v,C,I[d.kind])}return d.kind==="emoji"?nn(h,Object.freeze({...d,stableKey:ea(d)})):bn(h,d),tn(h,d)}function uo(d,v,h){if(T)return;let C=Vs(v),M=new Set(_.value[d]);h??!M.has(C)?M.add(C):M.delete(C),_.value={..._.value,[d]:Object.freeze([...M])};}async function or(d,v,h){let C=d==="favorites"?"delete-favorites":"delete-recent";if(T)return he(C);let M=d==="favorites"?H:_,z=d==="favorites"?be:Pe,ae=d==="favorites"?w:I,le=h?.selected??M.value[v];if(le.length===0)return Object.freeze({ok:false,operation:C,reason:"empty"});let oe=ae[v];if(oe.loading)return Object.freeze({ok:false,operation:C,reason:"busy"});let ye=++z[v],Ce;try{Ce=h?.context??Ie();}catch(_e){return Ge(C,_e,oe)}d==="recent"&&He(Ce);let Ke=d==="recent"?Xe(Ce,v):0,Ue=new Set(le),ze=d==="recent"?R.value[v].filter(_e=>{let sn=At(_e);return sn!==void 0&&Ue.has(sn)}):[];oe.loading=true,oe.error=null;let $e=[],an=new Set,_n,Fn,mn=false;for(let _e of Uu(le)){if(!re(Ce))return he(C);if(d==="recent"&&z[v]!==ye){mn=true;break}try{d==="favorites"?await Ce.client.expressions.favorites.delete(_e):await Ce.client.expressions.recent.delete(_e);for(let sn of _e)an.add(sn);}catch(sn){let Kn=xt(sn,C);_n??=Kn,$e.push(..._e);}}if(!re(Ce))return he(C);if(d==="recent"&&z[v]!==ye&&(mn=true),d==="recent"&&Xe(Ce,v)!==Ke&&(mn=true),d==="favorites"){let _e=v;A.value={...A.value,[_e]:Object.freeze(A.value[_e].filter(Nn=>Nn.recordId===void 0||!an.has(Nn.recordId)))};let sn=new Set(le),Kn=H.value[_e].filter(Nn=>!sn.has(Nn));if(H.value={...H.value,[_e]:Object.freeze([...new Set([...Kn,...$e])])},Fn=++be[_e],await Wn(Ce,_e,Fn),!re(Ce))return he(C)}else {let _e=v;He(Ce);let sn=ze.filter(Fe=>{let pn=At(Fe);return pn!==void 0&&an.has(pn)}),Kn=new Set(sn.filter(Fe=>Fe.kind==="emoji").map(Fe=>Fe.resourceId)),Nn=new Set(sn.filter(Fe=>Fe.kind!=="emoji").map(We));_e==="emoji"&&(J.value=Object.freeze(J.value.filter(Fe=>Fe.kind==="game"||!Kn.has(Fe.resourceId)||X.has(Fe.stableKey)))),R.value={...R.value,[_e]:Object.freeze(R.value[_e].filter(Fe=>{let pn=At(Fe);return pn===void 0||!an.has(pn)}))};let mo=new Set(le),Rn=mn?_.value[_e].filter(Fe=>!an.has(Fe)):_.value[_e].filter(Fe=>!mo.has(Fe));if(_.value={..._.value,[_e]:Object.freeze(mn?Rn:[...new Set([...Rn,...$e])])},_e==="emoji"){let Fe=R.value.emoji.filter(pn=>pn.kind==="emoji");J.value=Yo(Fe,J.value,new Set(X.keys()));}let kn=Object.freeze(_e==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Kn])}:{type:"delete-assets",kind:_e,identities:Object.freeze([...Nn])});if(xe(Ce,_e,kn),mn&&an.size>0&&await Pn(Ce,_e),!re(Ce))return he(C)}return (d==="recent"?Pe[v]===ye:be[v]===Fn)&&(oe.loaded=true,(_n!==void 0||d==="recent")&&(oe.error=_n??null),oe.loading=false),mn?he(C):$e.length===0?Object.freeze({ok:true,operation:C}):Object.freeze({ok:false,operation:C,reason:an.size===0?"failed":"partial",error:_n,failedRecordIds:Object.freeze($e)})}function fo(d){let v="delete-favorites";if(T)return Promise.resolve(he(v));let h=Object.freeze([...H.value[d]]);if(h.length===0)return Promise.resolve(Object.freeze({ok:false,operation:v,reason:"empty"}));let C;try{C=Ie();}catch(ae){return Promise.resolve(Ge(v,ae,w[d]))}let z=ue[d].catch(()=>{}).then(()=>re(C)?or("favorites",d,{context:C,selected:h}):he(v));return ue[d]=z.then(()=>{},()=>{}),z}function ar(d){return or("recent",d)}function ft(d,v){let h=++se;return q.value=d,D.value=v,O.value=[],k.value=0,Z.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,h}async function mt(d,v){let h="load-giphy";if(T)return he(h);let C={mode:q.value,query:D.value,items:O.value,totalCount:k.value,nextOffset:Z.value,loaded:Q.loaded},M=ft(d,v),z=()=>{q.value=C.mode,D.value=C.query,O.value=C.items,k.value=C.totalCount,Z.value=C.nextOffset,Q.loaded=C.loaded;},ae;try{ae=Ie();}catch(le){return z(),Q.loading=false,Ge(h,le,Q)}try{let le=d==="trending"?await ae.client.expressions.giphy.trending():await ae.client.expressions.giphy.search(v);return M!==se||!re(ae)?he(h):(O.value=$s(le.items),k.value=le.totalCount,Z.value=le.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:h}))}catch(le){return M!==se||!re(ae)?he(h):(z(),Ge(h,le,Q))}finally{M===se&&re(ae)&&(Q.loading=false);}}function pt(){return mt("trending","")}function Dn(d){if(T)return Promise.resolve(he("load-giphy"));let v=d.trim();return v===""?(ft("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):mt("search",v)}async function ir(){let d="load-more-giphy";if(T)return he(d);if(Q.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(q.value==="idle"||Z.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let v=++se,h=q.value,C=D.value,M=Z.value,z;try{z=Ie();}catch(ae){return Ge(d,ae,Q)}Q.loading=true,Q.error=null;try{let ae=h==="trending"?await z.client.expressions.giphy.trending({offset:M}):await z.client.expressions.giphy.search(C,{offset:M});return v!==se||!re(z)?he(d):(O.value=$s([...O.value,...ae.items]),k.value=ae.totalCount,Z.value=ae.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ae){return v!==se||!re(z)?he(d):Ge(d,ae,Q)}finally{v===se&&re(z)&&(Q.loading=false);}}async function sr(d){return Dt([d])}async function Dt(d){let v="report-recent";if(T)return he(v);if(d.length===0)return Object.freeze({ok:true,operation:v});let h;try{h=Ie();}catch(z){return Ge(v,z,I.emoji)}let C=Object.freeze(d.map(z=>Object.freeze({...z,stableKey:ea(z)})));if(!Cn(h,C))return he(v);let M=Object.freeze({ok:true,operation:v});for(let[z,ae]of C.entries())if(M=await tn(h,{kind:"emoji",token:ae.token,resourceId:ae.resourceId},z===C.length-1),!M.ok&&M.reason==="stale")return M;return M}function rn(d,v){tn(d,v).then(h=>{s.record(h.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:v.kind,ok:h.ok}}));});}async function lr(d,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d.messages.sendSticker(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&bn(h,v)&&rn(h,v),C):qe()}async function _t(d,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d.messages.sendGifAsset(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&bn(h,v)&&rn(h,v),C):qe()}async function vt(d$1,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d$1.messages.sendGame(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&(He(h),V+=1,J.value=d(J.value,Zo(v)),I.emoji.loaded=true,xe(h,"emoji",Object.freeze({type:"prepend-emoji",entry:Zo(v)}))),C):qe()}function on(d={}){if(T)return;let v=d.preserveRecentHydrationFailure===true?Oe:null;F+=1,Y+=1,se+=1,V+=1,ce+=1,de=0,ke=0,je=null,Te=null,L.clear(),pe.length=0,ge=null,ve=null,G=null,p=null,Oe=v,ie.clear(),ue=wt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(E,{loading:false,loaded:false,error:null});for(let h of Object.keys(S))delete S[h];for(let h of Object.keys(fe))fe[h]=(fe[h]??0)+1;A.value={sticker:[],gif:[]},H.value={sticker:[],gif:[]};for(let h of ["sticker","gif"])be[h]+=1,Object.assign(w[h],{loading:false,loaded:false,error:null});R.value={sticker:[],gif:[],emoji:[]},_.value={sticker:[],gif:[],emoji:[]},J.value=[],y.sticker.clear(),y.gif.clear(),W.sticker.clear(),W.gif.clear(),X.clear();for(let h of ["sticker","gif","emoji"])Pe[h]+=1,Object.assign(I[h],{loading:false,loaded:false,error:null});v!==null&&(I.emoji.error=v),q.value="idle",D.value="",O.value=[],k.value=0,Z.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function cr(){T||(on(),T=true);}return Wr.set(e,Object.freeze({dispose:cr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:me,packItemStatus:N,favorites:A,favoriteStatus:P,favoriteSelection:H,recent:R,recentStatus:j,recentSelection:_,emojiRecent:J,giphyMode:q,giphyQuery:D,giphyItems:O,giphyTotalCount:k,giphyHasMore:b,giphyStatus:$,hydrateRecent:Ye,loadPacks:yn,loadPackItems:An,loadFavorites:dt,addFavorite:zn,setFavorite:Sn,unsetFavorite:Gn,toggleFavoriteSelection:Tn,deleteSelectedFavorites:fo,loadRecent:fn,reportRecent:co,rememberEmoji:sr,rememberEmojis:Dt,toggleRecentSelection:uo,deleteSelectedRecent:ar,loadGiphyTrending:pt,searchGiphy:Dn,loadMoreGiphy:ir,sendSticker:lr,sendGif:_t,sendGame:vt,reset:on}})}var Ws=new WeakMap,Br=new WeakMap;function Bu(e=Ee()){Re(e);let n=Ws.get(e);n===void 0&&(n=Vu(e),Ws.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 ImExpressionStore");return Br.get(e)!==r&&(Br.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),Br.get(e)===r&&(Br.delete(e),Wr.get(e)===o&&Wr.delete(e));})),r}var Jr=new WeakMap;function Js(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function $u(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Wu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Qu(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&&Wu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Js(n)})}function Ju(e=Ee()){let n=Re(e),r=Jr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Le(e),m=wn(e),g={disposed:false};function E(I){return !g.disposed&&o.getGeneration()===I.generation&&c.getHandle()===I.handle&&Xr(c.activeRef,I.conversation)}function S(){let I=g.activeIntent;I!==void 0&&(g.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function A(I){if(!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:I.generation,conversation:I.conversation}));try{if(!await c.loadLatest()||!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:I.generation,conversation:I.conversation})),I.complete(Object.freeze({status:"applied",conversation:I.conversation}));}catch(_){if(!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let J=Qu(_,I.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:I.generation,conversation:I.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:J}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:J}));}}function w(I){let _=g.activeIntent;_===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==_.selfId||I.message.status==="sent"||!Xr(I.ref,_.conversation)||(g.activeIntent=void 0,A(_));}async function H(I,_){let J=c.getHandle();if(!$u(I)||g.disposed||!c.hasNewer||J===void 0||!Xr(J.ref,I)||!Xr(c.activeRef,I))return Object.freeze({value:await _(),history:Object.freeze({status:"not-needed"})});S();let q=Js(I),D,O=new Promise(Q=>{let Z=false;D=me=>{Z||(Z=true,Q(me));};}),k={token:Symbol("history-return-after-send"),conversation:q,handle:J,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:D};g.activeIntent=k;try{let Q=await _();return g.activeIntent?.token===k.token&&(g.activeIntent=void 0,k.complete(E(k)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:q}))),Object.freeze({value:Q,history:await O})}catch(Q){throw g.activeIntent?.token===k.token&&(g.activeIntent=void 0,k.complete(E(k)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:q}))),await O,Q}}let R=o.subscribeProductEvents(w);return g.coordinator=Object.freeze({run:H}),Jr.set(e,g),we(e,()=>{g.disposed=true,S(),R(),Jr.get(e)===g&&Jr.delete(e);}),g.coordinator}function Xs(e,n,r){let o=e.bytesTransferred,s=e.bytesTotal;if(e.state!=="running"||e.phase!=="transferring"||o===void 0||s===void 0||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<0||s<=0||o>=s)return {};let c=n===void 0||n.attempt!==e.attempt||n.bytesTotal!==s||o<n.lastBytes||r<n.lastAt||r-n.lastAt>=3e4,m=c?[{at:r,bytes:o}]:[...n.measurements];!c&&o>n.lastBytes&&r-m.at(-1).at>=1e3&&m.push({at:r,bytes:o});let g=!c&&o===n.lastBytes?n.lastAt:r;for(;m.length>1&&m[1].at<=g-5e3;)m.shift();let E=m[0],S={startedAt:E.at,startedBytes:E.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},A=S.lastAt-S.startedAt,w=o-S.startedBytes;if(A<1e3||w<=0)return {sample:S};let H=w*1e3/A,R=(s-o)*1e3/H;return !Number.isFinite(H)||!Number.isFinite(R)?{sample:S}:{sample:S,estimate:{bytesPerSecond:H,estimatedRemainingMs:Math.ceil(R)}}}function aa(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function el(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:aa(e.conversation)}})}function Zu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yr(e,n){return Zu(e)?el(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function ed(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:aa(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.items===void 0?{}:{items:Object.freeze(e.items.map(r=>Object.freeze({...r})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:el(e.error)}})}function nl(e,n){return n===void 0?e:`${e}\0${n}`}function xn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ta(e,n){if(e.status!=="sent")return;let o=(e.contentType==="mediaAlbum"?n===void 0?void 0:e.body.mediaAlbum?.items[n]:n!==void 0?void 0:e.contentType==="image"?e.body.image:e.contentType==="video"?e.body.video:void 0)?.url;return o===void 0||o===""||/^(?:blob|data):/i.test(o)?void 0:o}function ra(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function oa(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function nd(e){return defineStore("k2-im-media",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),g=shallowRef({}),E=ref(false),S=false,A=0,w=null,H=-1,R,I,_=0,J,q=false,D=computed(()=>{let G=[],p=o.activeRef;for(let y of o.messages){if(p===null||y.conversationType!==p.conversationType||y.conversationId!==p.conversationId)continue;let W=y.contentType==="mediaAlbum"?y.body.mediaAlbum?.items.map((X,ie)=>ie)??[]:[void 0];for(let X of W){let ie=ta(y,X);ie!==void 0&&G.push({key:ra(y,X),url:ie,kind:oa(y,X),message:{conversation:aa(p),messageId:y.id,...X===void 0?{}:{itemIndex:X}}});}}return G});async function O(){if(S||w===null||J!==void 0||!q)return;q=false;let G=w,p=A,y=H,W=_,X=D.value;if(X.length===0||n.getGeneration()!==y){E.value=false;return}let ie={};J=ie;let ue=()=>!S&&w===G&&A===p&&n.getGeneration()===y&&_===W;try{let Ie=await G.media.probeCached(X.map(re=>re.message));if(!ue())return;if(Ie.length!==X.length||Ie.some(re=>typeof re!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u5FC5\u987B\u4E0E\u6D88\u606F\u5F15\u7528\u4E00\u4E00\u5BF9\u5E94");g.value=Object.freeze(Object.fromEntries(X.map((re,he)=>[re.key,Ie[he]]))),c.value?.operation==="media.probeCached"&&(c.value=null);}catch(Ie){if(!ue())return;let re=Yr(Ie,"probeCached");c.value=re,r.record("error","pinia","media","media-cache-probe-failed",()=>({generation:y,data:{count:X.length},error:{message:re.code,data:re}}));}finally{J===ie&&(J=void 0,q?O():ue()&&(E.value=false));}}function k(){if(_+=1,g.value={},S||w===null||n.getGeneration()!==H||D.value.length===0){E.value=false;return}E.value=true,q||(q=true,Promise.resolve().then(O));}let Q=watch(()=>JSON.stringify(D.value),k,{flush:"sync"});function Z(G,p){if(S||w===null||n.getGeneration()!==H)return;let y=ra(G,p),W=ta(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===oa(G,p)?g.value[y]:void 0}function me(G,p){if(!E.value||S||w===null||n.getGeneration()!==H)return false;let y=ra(G,p),W=ta(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===oa(G,p)}let N=new Map,P=computed(()=>{let G={};for(let p of s.value)p.direction==="upload"&&xn(o.activeRef,p.ref)&&(G[p.messageId]=p);return G}),j=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction!=="upload"||y.state!=="queued"&&y.state!=="running"&&y.state!=="paused"||!xn(G,y.ref)||(p[y.messageId]=y.state==="queued"?0:y.percent);return p}),$=computed(()=>{let G={};for(let p of s.value)p.direction==="download"&&xn(o.activeRef,p.ref)&&(G[nl(p.messageId,p.itemIndex)]=p);return G}),b=computed(()=>{let G={};for(let[p,y]of Object.entries($.value))(y.state==="queued"||y.state==="running")&&(G[p]=y.percent);return G}),T=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="queued"&&y.phase==="waiting-upload-slot"&&xn(G,y.ref)&&(p[y.messageId]=true);return p}),F=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="running"&&y.phase==="finalizing"&&xn(G,y.ref)&&(p[y.messageId]=true);return p});function Y(G,p,y){if(S||w!==p||H!==y||n.getGeneration()!==y)return;let W=new Set,X=Date.now();s.value=G.map(ie=>{let ue=JSON.stringify([ie.id,ie.ref.conversationType,ie.ref.conversationId]);W.add(ue);let{sample:Ie,estimate:re}=Xs(ie,N.get(ue),X);return Ie===void 0?N.delete(ue):N.set(ue,Ie),ed(ie,re)});for(let ie of N.keys())W.has(ie)||N.delete(ie);}function fe(G){let p=n.getGeneration();if(S)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(w===G&&H===p||(A+=1,R?.(),R=void 0,I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,w=G,H=G===null?-1:p,s.value=[],N.clear(),c.value=null,m.value=null,G===null))return;let y=false;R=G.media.subscribe(X=>{y=true,Y(X,G,p);});let W=A;I=G.media.subscribeCacheChanges(()=>{!S&&w===G&&A===W&&n.getGeneration()===p&&k();}),k(),y||Y(G.media.getSnapshot(),G,p),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:p}));}function be(){fe(n.getProductClient());}function Pe(){fe(null),m.value=null;}async function se(G,p,y){let W=n.getProductClient();if(W===null)return Object.freeze({ok:false,operation:G,reason:"not-ready"});if(fe(W),!s.value.some(ue=>ue.id===p))return Object.freeze({ok:false,operation:G,reason:"not-found"});let X=n.getGeneration(),ie=A;c.value=null;try{return G==="retry"&&y!==void 0?await W.media.retry(p,y):G==="cancel"&&y!==void 0?await W.media.cancel(p,y):await W.media[G](p),S||ie!==A||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:G,reason:"stale"}):Object.freeze({ok:!0,operation:G})}catch(ue){if(S||ie!==A||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:G,reason:"stale"});let Ie=Yr(ue,G);return c.value=Ie,r.record("error","pinia","media",`media-task-${G}-failed`,()=>({generation:X,data:{taskId:p},error:{message:Ie.code,data:Ie}})),Object.freeze({ok:false,operation:G,reason:"failed",error:Ie})}}function V(G,p){return se("cancel",G,p)}function ce(G,p){return se("retry",G,p)}function de(G){return se("pause",G)}function ke(G){return se("resume",G)}async function je(G){let p=n.getProductClient();if(p===null)return {available:false,reason:"not-ready"};fe(p);let y=n.getGeneration(),W=A;try{let X=await p.media.getUploadRecovery(G);return S||W!==A||n.getGeneration()!==y||w!==p?{available:!1,reason:"stale"}:Object.freeze({available:X.available,...X.reason===void 0?{}:{reason:X.reason},...X.expiresAt===void 0?{}:{expiresAt:X.expiresAt}})}catch(X){return S||W!==A||n.getGeneration()!==y||w!==p?{available:false,reason:"stale"}:(c.value=Yr(X,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Oe(G,p){let y="resumeUpload",W=n.getProductClient();if(W===null)return Object.freeze({ok:false,operation:y,reason:"not-ready"});fe(W);let X=n.getGeneration(),ie=A;c.value=null;try{return await W.media.resumeUpload(G,p),S||ie!==A||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:y,reason:"stale"}):Object.freeze({ok:!0,operation:y})}catch(ue){if(S||ie!==A||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:y,reason:"stale"});let Ie=Yr(ue,y);return Ie.code!=="IM_SDK_MEDIA_PAUSED"&&Ie.code!=="IM_SDK_MEDIA_CANCELLED"&&(c.value=Ie),Object.freeze({ok:false,operation:y,reason:"failed",error:Ie})}}async function Te(G,p){let y=o.activeRef,W=s.value.find(ie=>ie.direction==="upload"&&(ie.state==="queued"||ie.state==="running"||ie.state==="paused")&&ie.messageId===G&&xn(y,ie.ref));if(W===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let X=await V(W.id,p);return xn(o.activeRef,W.ref)?X:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function K(G,p){let y=typeof G=="string"?G:G.messageId,W=typeof G=="string"?p:G.itemIndex,X=s.value.filter(Ie=>Ie.direction==="download"&&(Ie.state==="queued"||Ie.state==="running")&&Ie.messageId===y&&Ie.itemIndex===W&&(typeof G=="string"||xn(G.conversation,Ie.ref)));if(X.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(X.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let ie=X[0],ue=await V(ie.id);return xn(o.activeRef,ie.ref)?ue:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function L(G){let p=o.activeRef;return G.status!=="failed"||!(G.failure?.displayCode==="media.uploadInterrupted"||G.failure?.displayCode==="media.cancelled"||G.failure?.displayCode==="media.uploadTimeout"&&G.failure.retryable===false)||G.contentType!=="video"&&G.contentType!=="file"&&!(G.contentType==="filesAlbum"&&G.body.filesAlbum?.items.length===1)||p===null||G.conversationId!==p.conversationId||G.conversationType!==p.conversationType?false:(m.value=Object.freeze({messageId:G.id,conversationId:G.conversationId,conversationType:G.conversationType,kind:G.contentType==="video"?"video":"file"}),true)}function pe(){let G=m.value;return m.value=null,G}function ge(){m.value=null;}function ve(){S||(A+=1,Q(),I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,R?.(),R=void 0,w=null,H=-1,s.value=[],N.clear(),c.value=null,m.value=null,S=true);}return {tasks:s,error:c,uploadProgress:j,uploadTasks:P,downloadTasks:$,downloadProgress:b,uploadWaiting:T,uploadFinalizing:F,replacementRequest:m,cacheAvailability:g,cachedAvailability:Z,cacheProbePending:E,cacheAvailabilityPending:me,start:be,reset:Pe,cancel:V,retry:ce,pause:de,resume:ke,getUploadRecovery:je,resumeUpload:Oe,cancelUpload:Te,cancelDownload:K,requestReplacement:L,takeReplacementRequest:pe,clearReplacementRequest:ge,dispose:ve}})}var Zs=new WeakMap,Zr=new WeakMap;function td(e=Ee()){Re(e);let n=Zs.get(e);n===void 0&&(n=nd(e),Zs.set(e,n));let r=n(e);return Zr.get(e)!==r&&(Zr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Zr.get(e)===r&&Zr.delete(e);})),r}var no=new WeakMap,sd=Object.freeze({status:"loading",message:null}),tl=Object.freeze({status:"missing",message:null});function ia(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function sa(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function ld(e){return defineStore("k2-im-quoted-message",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=shallowRef({}),c=new Set,m=new Set,g=0,E=new Map,S=false,A=false,w=false,H=computed(()=>{let j=new Map;for(let $ of o.messages)j.set($.id,$);return j});function R(){g+=1,c.clear(),E.clear(),m=new Set,A=false,w=false,s.value={};}let I=watch(()=>o.activeRef,R,{flush:"sync"}),_=n.subscribeEvents(j=>{S||j.type!=="connection:changed"||j.state!=="authenticated"||me();});function J(j){let $=j.trim();if($==="")return tl;let b=H.value.get($);return b!==void 0?Object.freeze({status:"ready",message:b}):s.value[$]??sd}function q(j,$){if(j.length===0)return;let b={...s.value},T=false;for(let[F,Y]of j)!m.has(F)||H.value.has(F)||$.get(F)===(E.get(F)??0)&&(b[F]=Y,T=true);T&&(s.value=b);}async function D(j){let $=g,b=new Map(j.map(se=>[se,E.get(se)??0])),T=n.getGeneration(),F=o.getHandle(),Y=ia(o.activeRef);if(F===void 0||ia(F.ref)!==Y)return;let fe=()=>!S&&g===$&&n.getGeneration()===T&&o.getHandle()===F&&ia(o.activeRef)===Y,be=[],Pe=[];try{let se=await Promise.all(j.map(async V=>({messageId:V,message:await F.resolveMessage(V)})));if(!fe())return;for(let{messageId:V,message:ce}of se)ce===null?Pe.push(V):be.push([V,Object.freeze({status:"ready",message:ce})]);}catch(se){if(!fe())return;q(j.map(V=>[V,Object.freeze({status:"failed",message:null,retryable:true})]),b),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:j.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:se}}));return}if(q(be,b),Pe.length!==0)try{let se=await F.messages.fetchByIds(Pe);if(!fe())return;let V=[];for(let de of se.messages)V.push([de.id,Object.freeze({status:"ready",message:de})]);for(let de of se.missingMessageIds)V.push([de,tl]);let ce=se.failure?.retryable??!0;for(let de of se.unresolvedMessageIds)V.push([de,Object.freeze({status:"failed",message:null,retryable:ce})]);q(V,b),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Pe.length,resolvedCount:se.messages.length,missingCount:se.missingMessageIds.length,unresolvedCount:se.unresolvedMessageIds.length,retryable:se.failure?.retryable}}));}catch(se){if(!fe())return;q(Pe.map(V=>[V,Object.freeze({status:"failed",message:null,retryable:false})]),b),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Pe.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:se}}));}}function O(){let j=[];for(let $ of m)H.value.has($)||c.has($)||s.value[$]===void 0&&j.push($);return j}function k(){if(S)return;if(A){w=true;return}let j=O();if(j.length===0)return;let $=g;A=true;for(let b of j)c.add(b);D(j).catch(b=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:j.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:b}}));}).finally(()=>{if($===g){for(let b of j)c.delete(b);A=false,w&&(w=false,k());}});}function Q(j){if(S)return;m=new Set(sa(j));let $=Object.fromEntries(Object.entries(s.value).filter(([b])=>m.has(b)&&!H.value.has(b)));Object.keys($).length!==Object.keys(s.value).length&&(s.value=$),k();}function Z(j){if(S)return;let $=sa(j).filter(T=>s.value[T]!==void 0||c.has(T)||m.has(T));if($.length===0)return;let b={...s.value};for(let T of $)delete b[T],c.delete(T),E.set(T,(E.get(T)??0)+1);s.value=b,k();}function me(j){if(S)return;let b=(j===void 0?[...m]:sa(j)).filter(F=>{let Y=s.value[F];return Y?.status==="failed"&&Y.retryable});if(b.length===0)return;let T={...s.value};for(let F of b)delete T[F],c.delete(F),E.set(F,(E.get(F)??0)+1);s.value=T,k();}function N(){R();}function P(){S||(S=true,I(),_(),R());}return no.set(e,Object.freeze({dispose:P})),{lookup:J,prefetch:Q,retry:me,invalidate:Z,reset:N}})}var rl=new WeakMap,eo=new WeakMap;function cd(e=Ee()){Re(e);let n=rl.get(e);n===void 0&&(n=ld(e),rl.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return eo.get(e)!==r&&(eo.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}var oo=new WeakMap;function to(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function pd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function vd(e,n){return pd(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 gd(e){return defineStore("k2-im-reaction",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=ref([]),c=shallowRef(null),m=false,g=0,E=new Map;function S(){g+=1,E.clear(),s.value=[],c.value=null;}let A=watch(()=>to(o.activeRef),(O,k)=>{O!==k&&S();},{flush:"sync"});function w(O,k){let Q=o.activeRef,Z=o.getHandle(),me=to(Q);if(m||Q===null||Z===void 0||to(Z.ref)!==me||!o.messages.some(P=>P.id===O))return Object.freeze({ok:false,operation:k,reason:"not-ready"});if(E.has(O))return Object.freeze({ok:false,operation:k,reason:"busy"});let N=Symbol(O);return E.set(O,N),s.value=Object.freeze([...E.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Z,conversationKey:me,token:N}}function H(O){return !m&&O.contextEpoch===g&&O.generation===n.getGeneration()&&o.getHandle()===O.handle&&to(o.activeRef)===O.conversationKey}function R(O,k){E.get(O)===k&&(E.delete(O),s.value=Object.freeze([...E.keys()]));}async function I(O,k,Q){let Z=w(O,k);if(!("handle"in Z))return Z;try{let me=await Q(Z.handle);return H(Z)?(c.value=null,r.record("debug","pinia","message",`reaction-${k}-settled`,()=>({generation:Z.generation,conversation:{...Z.handle.ref},messageId:O,result:{ok:!0,action:me.action}})),Object.freeze({ok:!0,operation:k,change:me})):Object.freeze({ok:!1,operation:k,reason:"stale"})}catch(me){if(!H(Z))return Object.freeze({ok:false,operation:k,reason:"stale"});let N=vd(me,k);return c.value=N,r.record("error","pinia","message",`reaction-${k}-settled`,()=>({generation:Z.generation,conversation:{...Z.handle.ref},messageId:O,result:{ok:false,reason:"sdk-rejected",error:N}})),Object.freeze({ok:false,operation:k,reason:"sdk-rejected",error:N})}finally{R(O,Z.token);}}function _(O,k){return I(O,"toggle",Q=>Q.messages.toggleReaction(O,k))}function J(O,k,Q){return I(O,"set",Z=>Z.messages.setReaction(O,k,Q))}function q(){S();}function D(){m||(m=true,A(),S());}return oo.set(e,Object.freeze({dispose:D})),{operatingMessageIds:s,error:c,toggle:_,set:J,reset:q}})}var ol=new WeakMap,ro=new WeakMap;function Id(e=Ee()){Re(e);let n=ol.get(e);n===void 0&&(n=gd(e),ol.set(e,n));let r=n(e),o=oo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return ro.get(e)!==r&&(ro.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),ro.get(e)===r&&(ro.delete(e),oo.get(e)===o&&oo.delete(e));})),r}function ao(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 Cd(e){let n=Ee(e),r=Re(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let N=new Map;for(let P of o.value)P.msgId!==""&&P.collectId!==""&&N.set(P.msgId,P.collectId);return N}),g=false,E=0,S=0,A,w;function H(){E+=1,S+=1,o.value=[],s.value=false,c.value=null;}function R(N){return {client:N,generation:r.getGeneration(),stateEpoch:E}}function I(N){return !g&&N.client===r.getProductClient()&&N.generation===r.getGeneration()&&N.stateEpoch===E}function _(N){return m.value.get(N.trim())??""}function J(N){return _(N)!==""}async function q(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=++S,P;try{P=R(r.ensureProductClient()),me(P.client);}catch(j){let $=ao(j,"reload");return c.value=$,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:$})}s.value=true,c.value=null;try{let j=await P.client.sessionFavorites.list();return N!==S||!I(P)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=j,Object.freeze({ok:!0,operation:"reload"}))}catch(j){if(N!==S||!I(P))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let $=ao(j,"reload");return c.value=$,Object.freeze({ok:false,operation:"reload",reason:"failed",error:$})}finally{N===S&&I(P)&&(s.value=false);}}function D(){S+=1,s.value=false;}async function O(N){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let P;try{P=R(r.ensureProductClient()),me(P.client);let j=await P.client.sessionFavorites.addFromMessage(N);return I(P)?(D(),o.value=Object.freeze([j,...o.value.filter($=>$.collectId!==j.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:j.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(j){return Object.freeze({ok:false,operation:"add",reason:"failed",error:ao(j,"add")})}}async function k(N){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let P=[...new Set(N.map(j=>j.trim()).filter(j=>j!==""))];if(P.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 j=R(r.ensureProductClient());if(await j.client.sessionFavorites.delete(P),!I(j))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});D();let $=new Set(P);return o.value=Object.freeze(o.value.filter(b=>!$.has(b.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:P[0]??""})}catch(j){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:ao(j,"delete")})}}async function Q(N){let P=_(N);return P===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):k([P])}function Z(){A?.(),A=void 0,w=void 0,H();}function me(N){if(w===N)return;A?.(),w=N;let P=R(N);A=N.events.subscribe(j=>{w===N&&I(P)&&j.type==="session-favorites:changed"&&q();});}return we(n,()=>{g=true,A?.(),A=void 0,w=void 0,H();}),{items:o,loading:s,error:c,collectIdOf:_,isFavorited:J,reload:q,addFromMessage:O,removeByCollectIds:k,removeByMessageId:Q,reset:Z}})(n)}function Pd(e){return defineStore("k2-im-session",()=>{let n=Re(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getClient()?.connection.getLifecycle().syncing??false),m=ref(n.getGeneration()),g=ref("idle"),E=ref(""),S=ref({}),A=false,w=0,H="",R=n.getDiagnostics(),I=n.subscribeEvents(N=>{if(!A){if(N.type==="syncing:changed"&&(c.value=N.syncing),N.type==="receiving:changed"&&(s.value=N.receiving),N.type==="session:replaced"){w+=1,g.value="error",s.value=false,c.value=false,o.value=n.getConnectionState(),E.value="lifecycle.connectionOccupied",S.value={};return}N.type==="connection:changed"&&(o.value=N.state,N.state==="authenticated"&&(g.value="ready"));}});function _(N,P){return !A&&N===w&&n.getGeneration()===P}function J(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(N);}function q(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let P=N.session===null?"":`${N.session.userId}\0${N.session.token}`;P!==H&&(w+=1,H=P);let j=n.applySession(N.session,N.endpoints,N.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,r.value=N.session?.userId??"",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=o.value==="authenticated"?"ready":"idle",E.value="",S.value={},R.record("info","pinia","session","session-applied",()=>({generation:m.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:j.hasToken,didReset:j.didReset}})),j}async function D(N,P,j){if(A)return {ok:false,errorKey:"lifecycle.disposed"};let $=++w,b=n.getGeneration(),T=Date.now();g.value=N,E.value="",S.value={},R.record("info","pinia",P==="prepare"?"session":"connection",`${P}-start`,()=>({generation:b}));let F=await j();return _($,b)?(m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=F.ok?o.value==="authenticated"?"ready":"idle":"error",E.value=F.errorKey??"",S.value=F.errorParams??{},R.record(F.ok?"info":"error","pinia",P==="prepare"?"session":"connection",`${P}-${F.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-T,...F.ok?{}:{error:{message:F.errorKey??`${P}-failed`,data:F.errorParams}}})),F):(R.record("debug","pinia","session",`${P}-stale-result-dropped`,()=>({generation:b,durationMs:Date.now()-T})),F)}function O(){return D("preparing","prepare",()=>n.prepare())}function k(){return D("connecting","connect",()=>n.connect())}function Q(){A||(w+=1,n.disconnect(),o.value=n.getConnectionState(),g.value="idle");}async function Z(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");w+=1;try{await n.logout(N);}finally{r.value="",s.value=false,c.value=false,H="",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value="idle",E.value="",S.value={};}}function me(){A||(A=true,w+=1,I(),r.value="",o.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",E.value="",S.value={});}return {accountId:r,connectionState:o,receiving:s,syncing:c,generation:m,phase:g,errorKey:E,errorParams:S,configureHost:J,applySession:q,prepare:O,connect:k,disconnect:Q,logout:Z,dispose:me,getRuntime:()=>n}})}var il=new WeakMap,io=new WeakMap;function kd(e=Ee()){Re(e);let n=il.get(e);n===void 0&&(n=Pd(e),il.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function ll(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function cl(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function fl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function rr(e,n){return `${fl(e)}\0${n}`}function Gt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function ul(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function Od(e){return defineStore("k2-im-thread-paging",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=wn(e),c=ref(false),m=ref(false),g=ref(null),E=ref(null),S=false,A="",w="",H=0,R=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Gt(o.messages,"older"),newerBoundary:Gt(o.messages,"newer")}),I=(P,j)=>{let $=R();return !S&&j===H&&P.generation===$.generation&&cl(P.ref,$.ref)&&P.ref!==null},_=P=>{(P===void 0||P==="older")&&(A="",g.value=null),(P===void 0||P==="newer")&&(w="",E.value=null);},J=()=>{H+=1,c.value=false,m.value=false,_();},q=async(P,j)=>{let $=R(),b=P==="older"?A:w,T=P==="older"?o.hasOlder:o.hasNewer;if($.ref===null||!T||(P==="older"?c.value:m.value))return 0;let F=$.ref,Y=P==="older"?$.olderBoundary:$.newerBoundary,fe=rr(F,Y);if(P==="older"?m.value:c.value)return 0;if(!j&&b!==""&&b===fe)return r.record("debug","pinia","history",`thread-paging-${P}-circuit-open`,()=>({conversation:F,data:{boundary:Y}})),0;j&&(_(P),r.record("debug","pinia","history",`thread-paging-${P}-retry`,()=>({conversation:F})));let be=new Set(o.messages.map(se=>se.id)),Pe=++H;P==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${P}-start`,()=>({conversation:F,generation:$.generation,data:{boundary:Y,force:j}}));try{let se=P==="older"?await o.loadOlder():await o.loadNewer();if(!I($,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:$.generation,data:{side:P}})),0;if(!se)return 0;_(P);let V=o.messages.reduce((ce,de)=>ce+ +!be.has(de.id),0);return r.record("debug","pinia","history",`thread-paging-${P}-success`,()=>({conversation:F,generation:$.generation,data:{added:V}})),V}catch(se){if(!I($,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:$.generation,data:{side:P,outcome:"failed"}})),0;if(ll(se))return r.record("debug","pinia","history",`thread-paging-${P}-cancelled`,()=>({conversation:F,generation:$.generation})),0;throw Gt(o.messages,P)===Y&&(P==="older"?(A=fe,g.value=se):(w=fe,E.value=se),r.record("warn","pinia","history",`thread-paging-${P}-failed`,()=>({conversation:F,generation:$.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${P} \u5206\u9875\u5931\u8D25`,data:ul(se)}}))),se}finally{Pe===H&&(P==="older"?c.value=false:m.value=false);}},D=(P={})=>q("older",P.force===true),O=(P={})=>q("newer",P.force===true),k=async P=>{if(P!==void 0&&!cl(o.activeRef,P))return false;s.clearLocation(),J();let j=R();if(j.ref===null)return false;let $=j.ref;r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:$}));let b,T=H;try{let F=o.loadLatest({skipIfLatest:!0});T=H,b=await F;}catch(F){if(!I(j,T)||ll(F))return r.record("debug","pinia","history","thread-paging-jump-latest-cancelled",()=>({conversation:$})),false;let Y=Gt(o.messages,"newer");throw w=rr($,Y),E.value=F,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:$,generation:j.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:ul(F)}})),F}return I(j,T)?(_("newer"),b):(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:$})),false)},Q=watch(()=>fl(o.activeRef),()=>J(),{flush:"sync"}),Z=watch(()=>`${rr(o.activeRef,Gt(o.messages,"older"))}\0${Gt(o.messages,"newer")}`,()=>{let P=R(),j=rr(P.ref,P.olderBoundary),$=rr(P.ref,P.newerBoundary);A!==""&&A!==j&&_("older"),w!==""&&w!==$&&_("newer");},{flush:"sync"}),me=o.$onAction(({name:P})=>{(P==="loadLatest"||P==="loadAround"||P==="loadEntryUnread"||P==="open"||P==="close"||P==="reset")&&J();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:E,loadOlder:D,loadNewer:O,retryOlder:()=>D({force:true}),retryNewer:()=>O({force:true}),jumpToLatest:k,reset:J,dispose:()=>{S||(S=true,Q(),Z(),me(),J());}}})}var dl=new WeakMap,lo=new WeakMap;function Sd(e=Ee()){Re(e);let n=dl.get(e);n===void 0&&(n=Od(e),dl.set(e,n));let r=n(e);return lo.get(e)!==r&&(lo.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),lo.get(e)===r&&lo.delete(e);})),r}function Td(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Ed(e=Ee()){let n=Le(e),r=wn(e);return Object.freeze({async returnToLatest(o){return Td(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Sr as applicationKey,uc as createAndInstallImChatKit,gi as createImChatKitContext,fc as disposeImChatKit,dc as ensureImChatKitSelfProfile,Re as getImChatKitContext,nl as imMediaDownloadKey,Ii as installImChatKit,hc as useImApplicationsStore,zc as useImCapabilitiesStore,nt as useImComposerStore,_c as useImConversationActivationCoordinator,Du as useImConversationDeletionCoordinator,No as useImConversationListStore,Bu as useImExpressionStore,Ju as useImHistoryReturnAfterSendCoordinator,td as useImMediaStore,Qt as useImMessageOperationsStore,$o as useImProfileDirectoryStore,cd as useImQuotedMessageStore,Id as useImReactionStore,wn as useImSearchStore,Cd as useImSessionFavoritesStore,kd as useImSessionStore,Sd as useImThreadPagingStore,Ed as useImThreadReturnToLatestCoordinator,Le as useImThreadStore};
|
|
1
|
+
import {u,Ba,ra as ra$1,s,y,qa,pa,oa as oa$1,ma,la,ka,ja,ha,L,M,K,xa,Aa as Aa$1,za,ta as ta$1,wa,va,ua,F,D,E,C,A,Ja,d,ya,B,z,Ia,Ha,Ga,Fa,Ea,Da as Da$1,c,b,k,h}from'./chunk-TIIRB2JK.js';export{t as resolveMessageNotificationDecision}from'./chunk-TIIRB2JK.js';import'./chunk-M4QPM7FW.js';import'./chunk-R3MSZLO6.js';import {Da,Aa}from'./chunk-7PCBQBZL.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function uc(e,n,r={}){let o=u(n);try{return Ii(e,gi({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function dc(e){Ba(Re(e).runtime);}var Zn=new WeakMap;function Ee(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 gi(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function Ii(e,n){let r=Zn.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(),Zn.get(e)===o&&Zn.delete(e);}}});return o.installation=s,Zn.set(e,o),s}function Re(e){let n=Zn.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 we(e,n){let r=Zn.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 fc(e){Zn.get(e)?.installation.dispose();}function Sr(e){return `${e.domain}:${e.applicationId}`}function pc(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 vc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mr(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&&vc(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 gc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Ic(e){return defineStore("k2-im-applications",()=>{let n=Re(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),E=computed(()=>{let b=0,T=0,F=0;for(let Y of r.value)Y.ref.domain==="contact"?b+=1:Y.ref.domain==="group"?T+=1:F+=1;return Object.freeze({contact:b,group:T,channel:F})}),S=false,A=0,w=0,H=0,R=false,I=0,_=new Map;function J(){A+=1,w+=1,H+=1,I+=1,R=false,_.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function q(b){return {client:b,generation:n.getGeneration(),stateEpoch:A}}function D(b){return !S&&b.client===n.getProductClient()&&b.generation===n.getGeneration()&&b.stateEpoch===A}async function O(){if(S)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let b=++w,T;try{T=q(n.ensureProductClient());}catch(F){let Y=Mr(F,"reload");return s.value=Y,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Y})}o.value=true,s.value=null;try{let F=await T.client.applications.listPending();return b!==w||!D(T)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...F]),Object.freeze({ok:!0,operation:"reload"}))}catch(F){if(b!==w||!D(T))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Y=Mr(F,"reload");return s.value=Y,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Y})}finally{b===w&&D(T)&&(o.value=false);}}function k(){if(S||R)return;R=true;let b=A,T=++I;queueMicrotask(()=>{T===I&&(R=false,!(S||b!==A)&&O());});}function Q(b){(b.type==="contact-application:received"||b.type==="channel-join-application:received"||b.type==="application:updated")&&k();}let Z=n.subscribeProductEvents(Q);async function me(b,T){let F=pc(b),Y=Sr(F);if(S)return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let fe=++H;_.set(Y,fe),c.value={...c.value,[Y]:T};let{[Y]:be,...Pe}=m.value;m.value=Pe;let se;try{se=q(n.ensureProductClient());}catch(ce){let de=Mr(ce,T);m.value={...m.value,[Y]:de};let{[Y]:ke,...je}=c.value;return c.value=je,_.delete(Y),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de})}let V=()=>D(se)&&_.get(Y)===fe;try{return await se.client.applications[T](F),V()?(w+=1,o.value=!1,r.value=Object.freeze(r.value.filter(ce=>Sr(ce.ref)!==Y)),Object.freeze({ok:!0,operation:T,application:F})):Object.freeze({ok:!1,operation:T,reason:"stale",application:F})}catch(ce){if(!V())return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let de=Mr(ce,T);return gc(de)?(w+=1,o.value=false,r.value=Object.freeze(r.value.filter(ke=>Sr(ke.ref)!==Y)),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de})):(m.value={...m.value,[Y]:de},Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:de}))}finally{if(V()){_.delete(Y);let{[Y]:ce,...de}=c.value;c.value=de;}}}function N(b){return me(b,"accept")}function P(b){return me(b,"ignore")}function j(){S||J();}function $(){S||(S=true,Z(),J());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:E,reload:O,accept:N,ignore:P,reset:j,dispose:$}})}var bi=new WeakMap,Or=new WeakMap;function hc(e=Ee()){Re(e);let n=bi.get(e);n===void 0&&(n=Ic(e),bi.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}function Pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var Ci=Object.freeze({state:"none"});function Cc(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:Pi(r)}})}function Rc(e){return defineStore("k2-im-thread",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(Ci),g=shallowRef(),E=shallowRef(null),S=ref(false),A=ref(false),w=ref(false),H=ref(false),R=ref(false),I=shallowRef(null),_=ref(0),J=false,q,D=0,O=0,k,Q,Z,me,N,P=[],j=new Map,$=new Set,b=new WeakSet,T=new WeakMap;function F(){P.length=0,_.value=0;}let Y=n.subscribeEvents(U=>{if(J||U.type!=="message:received"||(U.source??"live")!=="live")return;let ne=o.value;ne===null||U.message.conversationId!==ne.conversationId||U.message.conversationType!==ne.conversationType||U.message.senderId===n.getCredentials().userId||!se(U.message)||(P.push(U.message.id),_.value+=1);});function fe(U=null){F(),o.value=U,s.value=null,c.value=[],m.value=Ci,g.value=void 0,E.value=null,S.value=U!==null,A.value=false,w.value=false,H.value=false,R.value=false,I.value=null;}function be(U){if((j.get(U)??0)>0){$.add(U);return}U.close();}function Pe(){N?.(),N=void 0,me?.(),me=void 0;let U=Z;Z=void 0,U!==void 0&&be(U);}function se(U){if(U.body.system?.timelineVisibility==="hidden")return false;if(U.conversationType!=="channel"||U.deletedForEveryone===void 0)return true;let ne=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:U.conversationId});return ne.conversationType==="channel"&&ne.ref.conversationType==="channel"&&ne.ref.conversationId===U.conversationId&&(ne.value.role==="owner"||ne.value.role==="admin")}function V(U,ne,Me){let De=o.value;if(J||Z!==U||n.getGeneration()!==Me||De===null||ne.ref.conversationId!==De.conversationId||ne.ref.conversationType!==De.conversationType)return false;let xe=ne.messages.filter(se);if(bc(c.value,xe)||(c.value=Object.freeze(xe)),m.value=ne.entryUnread,g.value=ne.entryUnreadNavigation,ne.entryUnread.state==="located"){let Ne=ne.entryUnread.firstMessageId,Be=ne.messages.findIndex(Ze=>Ze.id===Ne);if(Be>=0&&!xe.some(Ze=>Ze.id===Ne)){let Ze=ne.messages.slice(Be+1).find(se);m.value=Object.freeze(Ze===void 0?{state:"unavailable"}:{...ne.entryUnread,firstMessageId:Ze.id});}}return s.value=ne.display??null,E.value=ne.draft,S.value=ne.loading,A.value=A.value||xe.length>0||!ne.loading,w.value=ne.stale,H.value=ne.hasOlder,R.value=ne.hasNewer,I.value=ne.error??null,true}async function ce(U,ne){let Me=n.ensureProductClient();return U.conversationType==="direct"?Me.openConversation({conversationType:"direct",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne}):U.conversationType==="group"?Me.openConversation({conversationType:"group",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne}):U.conversationType==="robot"?Me.openConversation({conversationType:"robot",conversationId:U.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:ne}):Me.openConversation({conversationType:"channel",conversationId:U.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ne})}async function de(U){try{let ne=n.ensureProductClient();if(ne.conversations.list().find(De=>De.ref.conversationType===U.conversationType&&De.ref.conversationId===U.conversationId)?.manuallyUnread!==!0)return;await ne.conversations.markRead(U);}catch(ne){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:U,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:ne}}));}}async function ke(U){if(J)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");O+=1,k=void 0,Q=void 0;let ne=Pi(U);q?.abort();let Me=new AbortController;q=Me;let De=++D,xe=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:xe,conversation:ne}));let Ne;try{Ne=await ce(ne,Me.signal);}catch(Be){if(Me.signal.aborted)return;throw !J&&De===D&&xe===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:xe,conversation:ne,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Cc(Be,"thread.open",ne)}})),Be}finally{q===Me&&(q=void 0);}if(J||De!==D||xe!==n.getGeneration()){Ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:xe,conversation:ne}));return}return y(),Pe(),fe(ne),Z=Ne,me=Ne.subscribe(Be=>V(Ne,Be,xe)),V(Ne,Ne.getSnapshot(),xe),ne.conversationType==="channel"&&(N=n.ensureProductClient().capabilities.subscribe(ne,()=>{!J&&Z===Ne&&n.getGeneration()===xe&&V(Ne,Ne.getSnapshot(),xe);})),de(ne),r.record("debug","pinia","history","thread-open-complete",()=>({generation:xe,conversation:ne})),Ne}function je(){q?.abort(),q=void 0,D+=1;}function Oe(U){if(J||Z===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${U}`);return Z}function Te(U,ne,Me){return !J&&O===U&&Z===ne&&n.getGeneration()===Me}async function K(U,ne){if(k!==void 0||Q!==void 0)return false;let Me=Oe(U),De=n.getGeneration(),xe=++O;k=xe;try{return await ne(Me),Te(xe,Me,De)?(V(Me,Me.getSnapshot(),De),!0):!1}finally{k===xe&&(k=void 0);}}async function L(U,ne,Me){let De=Oe(U),xe=n.getGeneration(),Ne=++O;k=void 0,Q=Ne;try{if(await ne(De),!Te(Ne,De,xe))return !1;let Be=De.getSnapshot();return Me(Be)?(V(De,Be,xe),!0):!1}finally{Q===Ne&&(Q=void 0);}}function pe(U){return U?.skipIfLatest===true&&A.value&&!S.value&&!w.value&&I.value===null&&!R.value&&Q===void 0&&k===void 0?Promise.resolve(true):L("loadLatest",ne=>ne.history.loadLatest(),ne=>!ne.hasNewer)}function ge(U){let ne=false;return L("loadEntryUnread",async Me=>{ne=await Me.history.loadEntryUnread(U);},Me=>ne&&Me.entryUnread.state==="located")}function ve(U){let ne=T.get(U);if(ne!==void 0)return ne;let Me=U.markConversationRead().finally(()=>{T.get(U)===Me&&T.delete(U);});return T.set(U,Me),Me}function G(){let U=Oe("markConversationRead");return b.add(U),ve(U)}function p(U){return Oe("markVisibleMessages").markVisibleMessages(U)}function y(){let U=Z;if(U===void 0||!b.has(U))return;let ne=re(U),Me=n.getGeneration(),De=T.get(U);(De===void 0?ve(U):De.catch(()=>{}).then(()=>ve(U))).catch(Ne=>{Me===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:U.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ne}}));}).finally(ne);}function W(){y(),Ge();}function X(){return K("loadOlder",U=>U.history.loadOlder())}function ie(){return K("loadNewer",U=>U.history.loadNewer())}function ue(U){return L("loadAround",ne=>ne.history.loadAround(U),ne=>ne.messages.some(Me=>Me.id===U)).then(ne=>ne?c.value.some(Me=>Me.id===U):false)}function Ie(U){return Oe("resolveMessage").resolveMessage(U)}function re(U=Oe("retainHandle")){if(J)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");j.set(U,(j.get(U)??0)+1);let ne=false;return ()=>{if(ne)return;ne=true;let Me=(j.get(U)??1)-1;if(Me>0){j.set(U,Me);return}j.delete(U),$.delete(U)&&U.close();}}function he(){return re()}function Ge(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,Pe(),fe();}function qe(U){let ne=o.value;return ne===null||ne.conversationType!==U.conversationType||ne.conversationId!==U.conversationId?false:(O+=1,k=void 0,Q=void 0,Pe(),fe(),true)}function ut(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,me?.(),me=void 0,N?.(),N=void 0;let U=new Set([...Z===void 0?[]:[Z],...$,...j.keys()]);Z=void 0,$.clear(),j.clear();for(let ne of U)ne.close();fe();}function gn(){J||(ut(),J=true,Y());}function In(){return P.splice(0,P.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:E,loading:S,ready:A,stale:w,hasOlder:H,hasNewer:R,error:I,activeRemoteMessageRevision:_,open:ke,invalidatePendingOpen:je,loadLatest:pe,loadEntryUnread:ge,markConversationRead:G,markVisibleMessages:p,leave:W,loadOlder:X,loadNewer:ie,loadAround:ue,resolveMessage:Ie,retainHandle:re,retainCurrentHandle:he,close:Ge,closeActiveConversation:qe,reset:ut,dispose:gn,drainActiveRemoteMessageIds:In,getHandle:()=>Z}})}var Ri=new WeakMap,Tr=new WeakMap;function Le(e=Ee()){Re(e);let n=Ri.get(e);n===void 0&&(n=Rc(e),Ri.set(e,n));let r=n(e);return Tr.get(e)!==r&&(Tr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Tr.get(e)===r&&Tr.delete(e);})),r}var Ar=new WeakMap;function _o(e){let n=Ar.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function Ct(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function xr(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 Mi(e){return e===null?null:xr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function Go(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Do(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 Mc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Bt(e,n,r){return Mc(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:Ct(r)},cause:e})}function jr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function Oc(e){return defineStore("k2-im-composer",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),E=ref(0),S=shallowRef(null),A=false,w=0,H=0,R=0,I,_=Promise.resolve(),J=Promise.resolve(),q=new Set,D=new Map,O,k;function Q(){return o.getHandle()}function Z(K,L){let pe=o.activeRef;return !A&&Q()===K&&n.getGeneration()===L&&pe!==null&&pe.conversationId===K.ref.conversationId&&pe.conversationType===K.ref.conversationType}function me(K=Q()){if(K===void 0)return false;let L=n.getGeneration();return I?.handle===K&&I.generation===L||[...q].some(pe=>pe.handle===K&&pe.generation===L)}async function N(K=Q()){if(K===void 0)return;let L=n.getGeneration(),pe=I?.handle===K&&I.generation===L?I:void 0;if(pe===void 0){let p=[...q].filter(y=>y.handle===K&&y.generation===L).map(y=>y.promise);p.length>0?await Promise.all(p):await J;return}I=void 0;let ve=_.then(async()=>{Go(pe.input)?await K.draft.clear():await K.draft.save(pe.input);}),G={handle:K,generation:L,promise:ve};q.add(G),J=ve,_=ve.catch(()=>{});try{await ve,Z(K,L)&&(S.value=null,E.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:L,conversation:Ct(K.ref)})));}catch(p){throw Z(K,L)&&(I===void 0&&R===pe.version&&(I=pe),S.value=Bt(p,"composer.draft",K.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:L,conversation:Ct(K.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:S.value}}))),p}finally{q.delete(G);}}function P(K){let L=Q(),pe=n.getGeneration();if(L===void 0||!Z(L,pe))return S.value=Bt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ge=xr(K);return R+=1,s.value=Go(ge)?null:ge,I={handle:L,generation:pe,version:R,input:ge},S.value=null,j(),Go(ge)&&N(L).catch(()=>{}),true}async function j(){if(m.value!==null)return;let K=s.value?.replyToMessageId;if(K===void 0){H+=1,c.value=null;return}let L=Q();if(L===void 0){c.value=null;return}let pe=o.messages.find(p=>p.id===K);if(pe!==void 0){H+=1,c.value=pe;return}let ge=n.getGeneration(),ve=++H,G=await L.resolveMessage(K).catch(()=>null);ve!==H||!Z(L,ge)||m.value!==null||s.value?.replyToMessageId!==K||(c.value=G);}function $(K){let L=Q();return L===void 0||!jr(K,L)?false:(m.value=null,c.value=K,P({...s.value??{text:"",attachments:[]},replyToMessageId:K.id}))}function b(K){if(K!==void 0&&s.value?.replyToMessageId!==K)return;c.value=null;let L=s.value;if(L===null)return;let{replyToMessageId:pe,...ge}=L;P({...ge});}function T(K){let L=Q();return L===void 0||!jr(K,L)?false:(c.value=null,m.value=K,true)}function F(){m.value=null,j();}function Y(){H+=1,c.value=null,m.value=null;}function fe(K,L){return !A&&n.getGeneration()===K&&w===L}function be(K){return [...D.values()].some(L=>L.handle===K)}function Pe(K,L){return K!==null&&Do(Mi(K),L)}function se(K,L,pe){!Z(K,L)||s.value===null||!Do(s.value,pe)||(R+=1,I?.handle===K&&I.generation===L&&Do(I.input,pe)&&(I=void 0),s.value=null,H+=1,c.value=null);}async function V(K){let L=[...q].filter(ge=>ge.handle===K.handle&&ge.generation===K.generation).map(ge=>ge.promise.catch(()=>{}));if(L.length>0&&await Promise.all(L),!Z(K.handle,K.generation))return;let pe=await K.handle.draft.get();if(!Pe(pe,K.input)){O?.token===K.token&&(O=void 0);return}O=K;try{await K.handle.draft.clear(),O?.token===K.token&&(O=void 0);}catch(ge){if(Z(K.handle,K.generation)){if(s.value===null&&I===void 0){let ve={text:"",attachments:[]};R+=1,I={handle:K.handle,generation:K.generation,version:R,input:ve};}S.value=Bt(ge,"composer.draft",K.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:K.generation,conversation:Ct(K.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:S.value}}));}}}function ce(K){if(!Z(K.handle,K.generation)||s.value!==null)return;O=void 0;let L=xr(K.input);R+=1,s.value=L,I={handle:K.handle,generation:K.generation,version:R,input:L},j();}async function de(K){let L=m.value,pe=L===null?"send":"edit";if(L!==null&&k!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ge=Q(),ve=n.getGeneration();if(ge===void 0||!Z(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"not-ready"});let G=K.text.trim();if(G==="")return Object.freeze({ok:false,operation:pe,reason:"empty"});let p=w;if(L!==null&&!jr(L,ge))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let y=Symbol(pe);L!==null&&(k=y),g.value=k!==void 0,S.value=null;let W=o.retainHandle(ge),X;if(L===null){let ie=xr(K);X={token:y,handle:ge,generation:ve,input:ie},D.set(y,X),se(ge,ve,ie);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:ve,operation:pe,conversation:Ct(ge.ref),...L===null?{}:{messageId:L.id}}));try{if(L===null){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let ie=await ge.messages.sendText(G,{...K.mentions===void 0?{}:{mentions:K.mentions},...K.replyToMessageId===void 0?{}:{replyToMessageId:K.replyToMessageId}});if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!ie.ok)return X!==void 0&&ce(X),S.value=ie.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:ie.error});if(X!==void 0&&(await V(X),!fe(ve,p)||!Z(ge,ve)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ge.messages.editText(L.id,G,{...K.mentions===void 0?{}:{mentions:K.mentions}});}catch(ie){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ue=Bt(ie,"composer.edit",ge.ref);return S.value=ue,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ue})}if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===L&&F();}return S.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:ve,operation:pe,conversation:Ct(ge.ref)})),Object.freeze({ok:!0,operation:pe})}catch(ie){if(!fe(ve,p)||!Z(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"stale"});X!==void 0&&ce(X);let ue=Bt(ie,`composer.${pe}`,ge.ref);return S.value=ue,Object.freeze({ok:false,operation:pe,reason:"sdk-rejected",error:ue})}finally{W(),D.delete(y),k===y&&(k=void 0),g.value=k!==void 0,Z(ge,ve)&&ke();}}function ke(){let K=Q();if(K===void 0)return;let L=O,pe=L!==void 0&&L.handle===K&&L.generation===n.getGeneration()&&Pe(o.draft,L.input);L!==void 0&&!pe&&(O=void 0),!me(K)&&!be(K)&&!pe&&(s.value=Mi(o.draft)),m.value!==null&&!jr(m.value,K)&&(m.value=null),j();}function je(){w+=1,H+=1,R+=1,I=void 0,D.clear(),O=void 0,_=Promise.resolve(),J=Promise.resolve(),s.value=null,c.value=null,m.value=null,k=void 0,g.value=false,E.value=0,S.value=null;}let Oe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(K,L)=>{if(K.ref!==L?.ref){je(),K.ref!==null&&ke();return}ke();},{immediate:true});function Te(){A||(A=true,Oe(),je());}return Ar.set(e,Object.freeze({suspendInteraction:Y,syncReplyTarget:j,dispose:Te})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:E,error:S,updateDraft:P,flush:N,hasPendingWork:me,submitText:de,setReplyTo:$,clearReplyTo:b,setEditing:T,clearEditing:F,reset:je}})}var Oi=new WeakMap,wr=new WeakMap;function nt(e=Ee()){Re(e);let n=Oi.get(e);n===void 0&&(n=Oc(e),Oi.set(e,n));let r=n(e),o=_o(e);return wr.get(e)!==r&&(wr.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),Ar.get(e)===o&&Ar.delete(e));})),r}var Gr=new WeakMap;function Wt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Ti(e){return [...e]}function Ec(e){return defineStore("k2-im-message-operations",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=nt(e),c=_o(e),m=shallowRef(null),g=ref(false),E=ref([]),S=ref(null),A=ref(false),w=ref([]),H=shallowRef(null),R=false,I=0,_=0,J=0;function q(){return o.getHandle()}function D(p,y=q()){let W=o.activeRef;return !R&&y!==void 0&&W!==null&&p.conversationType!=="supergroup"&&W.conversationId===p.conversationId&&W.conversationType===p.conversationType&&y.ref.conversationId===p.conversationId&&y.ref.conversationType===p.conversationType}function O(p){return y(m.value,p)}function k(){A.value=false,w.value=[];}function Q(){S.value=null;}function Z(){let p=g.value;k(),Q(),g.value=false,E.value=[],p&&c.syncReplyTarget();}function me(p){if(p!==void 0){if(!D(p))return Object.freeze({ok:false,reason:"not-ready"});if(!Wt(p))return Object.freeze({ok:false,reason:"not-selectable"});if(O(p))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,E.value=p===void 0?[]:[p],Object.freeze({ok:true})}function N(p){return E.value.some(y=>y.id===p)}function P(p){return !g.value||!D(p)?Object.freeze({ok:false,reason:"not-ready"}):Wt(p)?O(p)?Object.freeze({ok:false,reason:"pinned-protected"}):(N(p.id)?E.value=E.value.filter(y=>y.id!==p.id):E.value=[...E.value,p],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function j(p){let y=q();return p.length===0||!p.every(W=>D(W,y))?Object.freeze({ok:false,reason:"not-ready"}):(S.value=Ti(p),Object.freeze({ok:true}))}function $(){let p=E.value;if(p.length===0)return Object.freeze({outcome:"empty"});let y=p.filter(Da);return p.some(Aa)?(w.value=y,A.value=true,Object.freeze({outcome:"confirmation-required"})):y.length===0?Object.freeze({outcome:"all-skipped"}):(j(y),Object.freeze({outcome:"picker-opened"}))}function b(){let p=Ti(w.value);return k(),p.length===0?Object.freeze({outcome:"all-skipped"}):(j(p),Object.freeze({outcome:"picker-opened"}))}async function T(p){let y=S.value,W=q();if(y===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let X=n.getGeneration(),ie=++I,ue=await ha(n,{handle:W,messages:y,targets:p});return R||ie!==I||n.getGeneration()!==X||q()!==W?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((ue.ok||ue.reason!=="stale")&&Q(),ue.ok&&Z(),H.value=ue.ok?null:ue.error??null,r.record(ue.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:X,conversation:W===void 0?void 0:{...W.ref},result:ue.ok?{ok:true,sentCount:ue.sentCount,skippedCount:ue.skippedCount}:{ok:false,reason:ue.reason,error:ue.error}})),ue)}function F(p,y,W){H.value=p.ok?null:p.error??null,r.record(p.ok?"debug":"error","pinia","message",`message-${p.operation}-settled`,()=>({generation:n.getGeneration(),conversation:W===void 0?void 0:{...W.ref},messageId:y,result:p.ok?{ok:true}:{ok:false,reason:p.reason,error:p.error}}));}function Y(p,y){return y!==void 0&&(R||q()!==y)?Object.freeze({ok:false,operation:p.operation,reason:"stale"}):p}async function fe(p){let y=q(),W=Y(await ja(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function be(p){let y=q(),W=Y(await ka(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function Pe(p){let y=q(),W=Y(await la(n,{handle:y,message:p}),y);return F(W,p.id,y),W}async function se(p,y){let W=q(),X=Y(await ma(n,{handle:W,messageId:p,options:y}),W);return F(X,p,W),X}function V(){let p=o.activeRef;if(!(p?.conversationType!=="group"&&p?.conversationType!=="channel"))return Object.freeze({conversationId:p.conversationId,conversationType:p.conversationType})}function ce(p,y,W){let X=V();return !R&&p===_&&y!==void 0&&q()===y&&X?.conversationId===W.conversationId&&X.conversationType===W.conversationType}function de(p,y,W){let X=V();return !R&&p===J&&q()===y&&X?.conversationId===W.conversationId&&X.conversationType===W.conversationType}function ke(p){if(E.value=E.value.filter(y=>y.id!==p),w.value=w.value.filter(y=>y.id!==p),S.value!==null){let y=S.value.filter(W=>W.id!==p);S.value=y.length===0?null:y;}s.editingMessage?.id===p&&s.clearEditing();}async function je(p){let y=V(),W=q();if(y===void 0||!D(p,W))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let X=++_;J+=1;let ie=await oa$1(n,{conversation:y,message:p});return ce(X,W,y)?(ie.ok&&ie.operation==="pin"?(m.value=ie.value,ke(ie.value.messageId),H.value=null):H.value=ie.ok?null:ie.error??null,ie):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Oe(){let p=V(),y=q();if(p===void 0||y===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let W=++_;J+=1;let X=await pa(n,p);return ce(W,y,p)?(X.ok&&X.operation==="unpin"?(m.value=null,H.value=null):H.value=X.ok?null:X.error??null,X):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Te(){let p=V();if(p===void 0){m.value=null;return}try{m.value=ra$1(n,p);}catch{m.value=null;}}async function K(){let p=V(),y=q();if(p===void 0||y===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let W=n.getGeneration(),X=++J;Te();let ie=await qa(n,p);return n.getGeneration()!==W||!de(X,y,p)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(ie.ok&&ie.operation==="sync-pin"?(m.value=ie.value,H.value=null):H.value=ie.ok?null:ie.error??null,ie)}function L(p){let y=new Map(p.map(ue=>[ue.id,ue])),W=ue=>ue.flatMap(Ie=>{let re=y.get(Ie.id);return re!==void 0&&Wt(re)?[re]:[]});if(E.value=W(E.value),w.value=W(w.value),S.value!==null){let ue=W(S.value);S.value=ue.length===0?null:ue;}let X=s.editingMessage;if(X!==null){let ue=y.get(X.id);(ue===void 0||!Wt(ue))&&s.clearEditing();}let ie=s.input?.replyToMessageId;if(ie!==void 0){let ue=y.get(ie);ue!==void 0&&!Wt(ue)&&s.clearReplyTo(ie);}}let pe=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(p,y)=>{p.ref!==y?.ref&&(I+=1,_+=1,J+=1,Te(),g.value=false,E.value=[],S.value=null,k(),H.value=null),L(p.messages);},{immediate:true}),ge=n.subscribeEvents(p=>{if(p.type!=="pinned-message:updated")return;let y=V();if(!(y===void 0||y.conversationId!==p.conversation.conversationId||y.conversationType!==p.conversation.conversationType)){if(J+=1,p.pinnedMessage===null){m.value=null;return}try{m.value=ra$1(n,y),ke(p.pinnedMessage.messageId);}catch{}}});function ve(){I+=1,_+=1,J+=1,g.value=false,E.value=[],S.value=null,k(),H.value=null,Te();}function G(){R||(R=true,pe(),ge(),ve());}return Gr.set(e,Object.freeze({dispose:G})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:E,forwardPickerMessages:S,forwardTypeConfirmOpen:A,pendingForwardReadyMessages:w,error:H,enterMultiSelect:me,exitMultiSelect:Z,isSelected:N,toggleSelection:P,openForwardPicker:j,closeForwardPicker:Q,prepareForwardFromSelection:$,cancelForwardTypeConfirmation:k,confirmForwardTypeConfirmation:b,forward:T,recall:fe,deleteLocal:be,deleteForEveryone:Pe,retry:se,pin:je,unpin:Oe,syncPinned:K,isPinnedMessageProtected:O,reset:ve}})}var Ei=new WeakMap,zr=new WeakMap;function Qt(e=Ee()){Re(e);let n=Ei.get(e);n===void 0&&(n=Ec(e),Ei.set(e,n));let r=n(e),o=Gr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return zr.get(e)!==r&&(zr.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),zr.get(e)===r&&(zr.delete(e),Gr.get(e)===o&&Gr.delete(e));})),r}var Fo=Object.freeze({availability:"unknown",reason:"not-ready"});function Ac(e){return defineStore("k2-im-capabilities",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=Qt(e),c=shallowRef(null),m=false,g,E,S;function A(){E!==void 0&&(clearTimeout(E),E=void 0);}function w(P){A();let j=P.nextEvaluationAt;if(j===void 0)return;let $=Math.max(0,j-Date.now());E=setTimeout(()=>{E=void 0,I();},$);}function H(P){m||(c.value=P,w(P));}function R(P){let j=o.activeRef;return j!==null&&j.conversationType===P.conversationType&&j.conversationId===P.conversationId}function I(P=Date.now()){let j=o.activeRef,$=n.getProductClient();j===null||$===null||H($.capabilities.get(j,{nowMs:P}));}function _(){g?.(),g=void 0,A(),c.value=null;let P=o.activeRef,j=n.getProductClient();P===null||j===null||(g=j.capabilities.subscribe(P,H));}function J(){_();}function q(){g?.(),g=void 0,A(),c.value=null;}async function D(){let P=o.activeRef,j=n.getProductClient();if(P===null||j===null)return;let $=n.getGeneration();try{let b=await j.capabilities.refresh(P);if(m||$!==n.getGeneration()||!R(P))return;H(b);}catch(b){if(m||$!==n.getGeneration()||!R(P))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...P},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:b}})),H(j.capabilities.get(P));}}function O(P){return c.value===null?Fo:K(c.value,P)}function k(P){return O(P)}function Q(P){return O(P)}function Z(P,j){let $=c.value;return $===null?Fo:M(P,{snapshot:$,selfId:n.getCredentials().userId,...j})}function me(P,j){let $=c.value;return $===null?Fo:L(P,{snapshot:$,message:j,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function N(){m||(m=true,S?.(),S=void 0,q());}return S=watch(()=>o.activeRef,_,{deep:true,immediate:true}),{activeSnapshot:c,start:J,reset:q,refresh:D,conversationAction:O,profileAction:k,memberAction:Q,memberTargetAction:Z,messageAction:me,dispose:N}})}var ji=new WeakMap,Dr=new WeakMap;function zc(e=Ee()){Re(e);let n=ji.get(e);n===void 0&&(n=Ac(e),ji.set(e,n));let r=n(e);return Dr.get(e)!==r&&(Dr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Dr.get(e)===r&&Dr.delete(e);})),r}var Jt=new WeakMap;function xi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Dc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function wi(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&&Dc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:xi(r)})}function Ai(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function _c(e=Ee()){let n=Re(e),r=Jt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=nt(e),m=Le(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function E(S,A){let w=xi(S),H=A?.signal;if(H?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:w});g.conversation=w;let R=++g.epoch,I=o.getGeneration(),_=()=>!g.disposed&&g.epoch===R&&o.getGeneration()===I;m.invalidatePendingOpen();let J=()=>{_()&&(g.epoch+=1,m.invalidatePendingOpen());};H?.addEventListener("abort",J,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:I,conversation:w})),!Gc(w))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:I,conversation:w})),Object.freeze({ok:!1,reason:"unsupported",conversation:w});let q=m.getHandle();if(q!==void 0&&c.hasPendingWork(q))try{await c.flush(q);}catch(D){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});let O=wi(D,"flush",w);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:I,conversation:w,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:O}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:w,error:O})}if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});if(m.getHandle()!==void 0&&Ai(m.activeRef,w))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:w,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:w});try{if(await m.open(w)===void 0||!_())return Object.freeze({ok:!1,reason:"stale",conversation:w})}catch(D){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:w});let O=wi(D,"open",w);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:I,conversation:w,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:w,error:O})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:w})),Object.freeze({ok:!0,status:"opened",conversation:w})}finally{H?.removeEventListener("abort",J);}}return g.coordinator=Object.freeze({activate:E}),Jt.set(e,g),we(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Jt.get(e)===g&&Jt.delete(e);}),g.coordinator}function zi(e,n){let r=Jt.get(e);r===void 0||r.disposed||!Ai(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Gi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Hc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Rt(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&&Hc(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 Lc(e){return defineStore("k2-im-conversation-list",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),E=false,S=null,A,w=0;function H(b="idle"){o.value=[],s$1.value=b,c.value=0,g.value=null;}function R(b,T,F){E||S!==T||n.getGeneration()!==F||(o.value=b.items,s$1.value=b.state,c.value=b.totalUnread,g.value=b.error??null);}function I(b){if(E)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(S===b||(A?.(),A=void 0,S=b,w+=1,H(),b===null))return;let T=n.getGeneration();A=b.conversations.subscribe(F=>R(F,b,T)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:T}));}function _(){I(n.getProductClient());}function J(){I(null);}function q(b){return !E&&S===b.client&&n.getProductClient()===b.client&&n.getGeneration()===b.generation&&w===b.bindingEpoch}function D(){let b=n.ensureProductClient();return I(b),{client:b,generation:n.getGeneration(),bindingEpoch:w}}async function O(){if(E)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let b;try{b=D();}catch(T){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Rt(T,"refresh")})}try{return await b.client.conversations.refresh(),q(b)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(T){return q(b)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Rt(T,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function k(b,T,F){let Y=Gi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y});let fe;try{fe=D();}catch(be){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)})}try{F(fe.client,Y);}catch(be){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}return q(fe)?Object.freeze({ok:true,operation:b,conversation:Y}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}async function Q(b,T,F){let Y=Gi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y});let fe;try{fe=D();}catch(be){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)})}try{return await F(fe.client,Y),q(fe)?Object.freeze({ok:!0,operation:b,conversation:Y}):Object.freeze({ok:!1,operation:b,reason:"stale",conversation:Y})}catch(be){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Y,error:Rt(be,b,Y)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Y})}}function Z(b,T){return k("set-pinned",b,(F,Y)=>F.conversations.setPinned(Y,T))}function me(b,T){return Q("set-muted",b,(F,Y)=>F.conversations.setMuted(Y,T))}function N(b){return Q("mark-read",b,(T,F)=>T.conversations.markRead(F))}function P(b){return k("mark-unread",b,(T,F)=>T.conversations.markUnread(F))}function j(b){return k("delete-local",b,(T,F)=>T.conversations.deleteLocal(F))}function $(){E||(A?.(),A=void 0,S=null,H(),E=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:_,reset:J,refresh:O,setPinned:Z,setMuted:me,markRead:N,markUnread:P,deleteLocal:j,dispose:$}})}var Di=new WeakMap,_r=new WeakMap;function No(e=Ee()){Re(e);let n=Di.get(e);n===void 0&&(n=Lc(e),Di.set(e,n));let r=n(e);return _r.get(e)!==r&&(_r.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),_r.get(e)===r&&_r.delete(e);})),r}function tt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Fr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Uc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function qc(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&&Uc(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Pt(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 kt(e,n){return Pt(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 Vc(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 Bc(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"}):M("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"}):M(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 $c(e,n,r,o){let s=tt(r);if(s.conversationId==="")return {ok:false,result:kt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Pt(n,s,"not-ready")};let m=e.getGeneration(),g=Bc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",Vc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Mt(e,n,r,o,s){let c=$c(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Pt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Pt(n,c.captured.conversation,"stale");let g=qc(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Pt(n,c.captured.conversation,E,g)}}function Wc(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Fi(e,n,r){let o=tt(n),s=Wc(r);return s.length===0?Promise.resolve(kt("invite-members",o)):Mt(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 Ki(e,n,r){let o=tt(n),s=Fr(r);return s.userId===""?Promise.resolve(kt("remove-member",o)):Mt(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 Ni(e,n,r,o){let s=tt(n),c=Fr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(kt(m,s)):Mt(e,m,s,async({client:g})=>(o?await g.channels.addAdmin(s,c.userId):await g.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 Hi(e,n,r){return Ni(e,n,r,true)}function Li(e,n,r){return Ni(e,n,r,false)}function Ui(e,n,r){let o=tt(n),s=Fr(r);return s.userId===""?Promise.resolve(kt("transfer-ownership",o)):Mt(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 qi(e,n,r){let o=tt(n),s=r===void 0?void 0:Fr(r);return s!==void 0&&s.userId===""?Promise.resolve(kt("leave",o)):Mt(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 Vi(e,n){let r=tt(n);return Mt(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 Xt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Qc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Jc(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&&Qc(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Ot(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 St(e,n){return Ot(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function Xc(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 Yc(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"}):M("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 Zc(e,n,r,o){let s=Xt(r);if(s.conversationId==="")return {ok:false,result:St(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ot(n,s,"not-ready")};let m=e.getGeneration(),g=Yc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Ot(n,s,"not-allowed",Xc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Un(e,n,r,o,s){let c=Zc(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ot(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Ot(n,c.captured.conversation,"failed",Jc(m,n,c.captured.conversation)):Ot(n,c.captured.conversation,"stale")}}function Bi(e,n,r){let o=Xt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:St(e,o)}:{ok:true,value:s}}function $i(e,n,r){let o=r.trim();return o===""?Promise.resolve(St("update-name",Xt(n))):Un(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 eu=100;function Wi(e,n,r){let o=r.trim();return o===""||[...o].length>eu?Promise.resolve(St("update-description",Xt(n))):Un(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 Qi(e,n,r){return Un(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?St("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Ji(e,n,r){let o=Bi("set-my-nickname",n,r);return o.ok?Un(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 Xi(e,n,r,o,s){let c=r.trim(),m=Bi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?St("set-member-nickname",Xt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Un(e,"set-member-nickname",n,async({client:E,conversation:S})=>(await E.channels.setMemberNickname(S,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:S,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function Yi(e,n,r,o){return Un(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 Zi(e,n,r){return Un(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 es(e,n,r){return Un(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 nu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function tu(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 ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function au(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&&ou(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function rt(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 Kr(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 ot(e,n,r,o){let s=ru(e);if(s===null)return {ok:false,result:rt(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:rt(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:rt(n,r,"failed",au(c,n,r))}:{ok:false,result:rt(n,r,"stale")}}}function Tt(e,n){let r=nu(n);return r.conversationId===""?{ok:false,result:rt(e,r,"failed",Kr(e,r))}:{ok:true,conversation:r}}async function ns(e,n,r){let o=Tt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await ot(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(g=>Object.freeze({countryCode:g.countryCode,mobile:g.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 ts(e,n){let r=Tt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(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 rs(e,n,r){let o=Tt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return rt("report",s,"failed",Kr("report",s));let m=await ot(e,"report",s,g=>g.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 os(e,n){let r=Tt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(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 as(e,n){let r=n.trim();if(r==="")return rt("search-user",null,"failed",Kr("search-user",null));let o=await ot(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:tu(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 is(e,n){let r=Tt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await ot(e,"resolve-application-target",o,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Kr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...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 ss(e,n,r){let o=Tt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await ot(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 Yt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}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_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&iu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Et(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 Zt(e,n){return Et(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 lu(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 cu(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 uu(e,n,r,o=false){let s=Yt(r);if(s.conversationId==="")return {ok:false,result:Zt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Et(n,s,"not-ready")};let m=e.getGeneration(),g=cu(c,s,n,o);return g.availability!=="available"?{ok:false,result:Et(n,s,"not-allowed",lu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Nr(e,n,r,o,s=false){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:Et(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Et(n,c.captured.conversation,"stale");let g=su(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Et(n,c.captured.conversation,E,g)}}function du(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ls(e,n,r){let o=Yt(n),s=du(r);return s.length===0?Promise.resolve(Zt("invite-members",o)):Nr(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 cs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("remove-member",o)):Nr(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 us(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("transfer-ownership",o)):Nr(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 ds(e,n,r={}){let o=Yt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Zt("leave",o)):Nr(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 Ho(e){return Object.freeze({conversationType:"group",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 fs(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&&fu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function cn(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 mu(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 pu(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 ms(e,n,r){let o=Ho(r);if(o.conversationId==="")return {ok:false,result:cn(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:cn(n,o,"not-ready")};let c=e.getGeneration(),m=pu(s,o,n);return m.availability!=="available"?{ok:false,result:cn(n,o,"not-allowed",mu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Lo(e,n,r,o){let s=ms(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:cn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?cn(n,s.captured.conversation,"failed",fs(c,n,s.captured.conversation)):cn(n,s.captured.conversation,"stale")}}function ps(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(cn("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 Lo(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 vs(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(cn("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 Lo(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 gs(e,n,r,o){return Lo(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 Is(e,n,r){let o=ms(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()?cn("update-avatar",s.conversation,"failed",fs(c,"update-avatar",s.conversation)):cn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return cn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return cn("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}):cn("update-avatar",s.conversation,"stale")}}function vu(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:vu(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 hs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function ys(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 bs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:gu(n,r.value)}function Cs(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function Rs(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 g=[];for(let E of c){let S=await s.group.listMembers(E.id,{forceRefresh:false});S!==null&&S.some(A=>A.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:E.id}),name:E.displayName||E.cardDisplayName||E.id,...E.avatarUrl===void 0?{}:{avatar:E.avatarUrl}}));}return Object.freeze(g)}async function Ps(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:hs(r.value),stale:r.stale})}async function ks(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:hs(r)}async function Ms(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 Os(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 Ss(e,n){return e.ensureProductClient().directory.search(n)}async function Ts(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 Uo(c)}function Uo(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 Es(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 g=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(E=>E.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function qo(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:Uo(c)}async function js(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 Uo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Vo(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 Bo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Vo(o)}async function ws(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Vo(c)}async function xs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Vo(s)}function As(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 yu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),bu=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"]),zs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Se(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function te(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function at(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Mn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function er(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function st(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Je(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Cu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Se(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Se(r)}})}function Lr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Ru(e){return defineStore("k2-im-profile-directory",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),E$1=ref(false),S=shallowRef(null),A$1=shallowRef([]),w=ref(false),H=shallowRef(null),R=shallowRef(null),I=shallowRef(null),_=shallowRef([]),J=ref(false),q=ref(false),D$1=shallowRef(null),O=shallowRef(null),k=shallowRef(null),Q=ref(false),Z=shallowRef(null),me=reactive({individual:Lr(),group:Lr(),channel:Lr()}),N=ref(""),P=shallowRef(null),j=ref(false),$=shallowRef(null),b=shallowRef(null),T=shallowRef([]),F$1=ref(""),Y=ref(false),fe=ref(false),be=shallowRef(null),Pe=shallowRef(null),se=shallowRef(null),V=ref(false),ce=shallowRef(null),de=shallowRef(null),ke=shallowRef([]),je=ref(""),Oe=ref(false),Te=ref(false),K=shallowRef(null),L=false,pe=new Map,ge={direct:0,group:0,channel:0},ve={direct:0,group:0,channel:0},G=0,p={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},y={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},W={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},X=new Map,ie=0,ue=new Map,Ie=new Map,re=new Set,he=new Set,Ge=new Map,qe=new Map,ut=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,U=new Map,ne=0,Me=new Set,De=new Map,xe=new Map,Ne=0,Be=0,Ze=0,On=new Map,Xe=new Map,He=new Map,hn=new Map,en=new Map,Ye=new Map,yn=new Map,An=ref(0),dt={individual:0,group:0,channel:0},$n=new Map,Wn=0,Sn,zn,Gn,Tn=0,dn,fn,Pn,bn=0,Cn,nn,tn;function co(a){return s.value[a.conversationId]??0}function uo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=C(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?A(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?A(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function or(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function fo(a){return o.value,F(n.getSenderProfileCache(),a)}function ar(a,i){return ua(n,a,i)}function ft(a,i){return va(n,a.conversationId,i)}function mt(a,i,t){let l=n.getGeneration(),u=pe.get(a.conversationId)??0;return wa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!L&&n.getGeneration()===l&&(pe.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function pt(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 x of u)delete f[x];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function Dn(a,i){let t=a.conversationId.trim();t!==""&&(pt(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function ir(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 sr(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Dt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function rn(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function lr(a,i,t={}){let l=en.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(B=>B.userId)),f=new Map(l),x=i.map(B=>{let ee=l.get(B.userId);return ee===void 0?B:(t.reconcile===true&&ee===B.nickname&&f.delete(B.userId),Object.freeze({...B,nickname:ee}))});if(t.reconcile===true)for(let B of f.keys())u.has(B)||f.delete(B);return f.size===0?en.delete(a):en.set(a,f),Object.freeze(x)}function _t(a,i){let t=en.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&en.delete(a));}function vt(a,i){let t=Ye.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 on(a,i){let t=Ye.get(a),l=yn.get(a),u=O.value?.conversationId===a?k.value?.ownerId:hn.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 x=t?.get(f.userId),B=l?.get(f.userId),ee=u!==void 0&&f.userId===u;if(x===void 0&&B===void 0&&!ee)return f;let{nickname:Ae,...jn}=f;return Object.freeze({...jn,...x===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:x.nickname===""?{}:{nickname:x.nickname},displayName:x?.displayName??f.displayName,role:ee?"owner":B??f.role})}))}function cr(a,i){let t=Ye.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&&Ye.delete(a),l&&(An.value+=1);}function d(a,i){let t=Ye.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Ye.delete(a),An.value+=1);}function v(a,i){let t=yn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&yn.delete(a);}}function h(a,i){let t=yn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&yn.delete(a));}function C$1(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?R.value:O.value;return !L&&n.getGeneration()===i&&ge[a.conversationType]===t&&ve[a.conversationType]===l&&te(u,a)}async function M(a,i={}){let t=Se(a),l=++ge.direct,u=ve.direct,f=n.getGeneration(),x=!te(c.value,t);c.value=t,x&&(m.value=null,g.value="unknown"),E$1.value=true,S.value=null;try{let B=await ys(n,t,i);return C$1(t,f,l,u)?(m.value=B.profile,g.value=B.relationship,E$1.value=!1,B.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(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let ee=Je(B,"profile.direct",t);return S.value=ee,E$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:ee})}}async function z(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 B=await Ut({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!B.ok)return Object.freeze({ok:false,reason:"channel-profile",result:B});if(f=te(O.value,a)?k.value:null,ta$1({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let x=await M({conversationType:"direct",conversationId:l},{forceRefresh:u});return x.ok?Object.freeze({ok:true,destination:ta$1({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:x})}async function ae(a){let i=Se(a),t=++G,l=n.getGeneration();c.value=i,w.value=true,H.value=null;try{let u=await Rs(n,i.conversationId);return !te(c.value,i)||l!==n.getGeneration()||t!==G?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(A$1.value=u,w.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!te(c.value,i)||l!==n.getGeneration()||t!==G)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Je(u,"profile.direct-mutual-groups",i);return H.value=f,w.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function le(a){return p[a]+=1,p[a]}function oe(a,i){return !L&&p[a]===i}async function ye(a,i){let t=Se(a),l=le("set-remark"),u=await ns(n,t,i);if(!oe("set-remark",l)||!te(c.value,t))return at("set-remark",t);if(!u.ok)return u;let f=m.value,x=f!==null&&f.userId===t.conversationId;return x&&(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(B=>Object.freeze({countryCode:B.countryCode,mobile:B.mobile})))}})),Object.freeze({...u,projectionUpdated:x})}async function Ce(a){let i=Se(a),t=le("block"),l=await ts(n,i);return !oe("block",t)||!te(c.value,i)?at("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function Ke(a,i){let t=Se(a),l=le("report"),u=await rs(n,t,i);return !oe("report",l)||!te(c.value,t)?at("report",t):u}async function Ue(a){let i=Se(a),t=le("delete-friendship"),l=await os(n,i);return !oe("delete-friendship",t)||!te(c.value,i)?at("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a){let i=le("search-user"),t=await as(n,a);return oe("search-user",i)?t:at("search-user",t.conversation)}async function $e(a){let i=Se(a),t=le("resolve-application-target"),l=await is(n,i);return oe("resolve-application-target",t)?l:at("resolve-application-target",i)}async function an(a,i){let t=Se(a),l=le("request-friendship"),u=await ss(n,t,i);return oe("request-friendship",l)?u:at("request-friendship",t)}function _n(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function Fn(a,i){y[a]+=1;let t=n.getGeneration(),l=ve.group,u=_n(i,a,t,l);return ue.set(u,(ue.get(u)??0)+1),Object.freeze({epoch:y[a],generation:t,key:u,resetEpoch:l})}function mn(a,i){let t=ue.get(i.key)??0;t<=1?ue.delete(i.key):ue.set(i.key,t-1),ua$1(a);}function Ft(a,i){return !L&&n.getGeneration()===i.generation&&ve.group===i.resetEpoch&&y[a]===i.epoch}function Kt(a,i){let t=n.getGeneration(),l=ve.group;return i!==void 0?(ue.get(_n(a,i,t,l))??0)>0:Object.keys(y).some(u=>(ue.get(_n(a,u,t,l))??0)>0)}async function _e(a,i){let t=Se(a),l=i.trim(),u=Fn("update-name",t);try{let f=await ps(n,t,l);if(!Ft("update-name",u)||!te(R.value,t))return Hr("update-name",t);if(!f.ok)return f;let x=I.value!==null;return x&&Vl(t,l),Object.freeze({...f,projectionUpdated:x})}finally{mn(t,u);}}async function sn(a,i){let t=Se(a),l=Fn("update-avatar",t);try{let u=await Is(n,t,i);if(!Ft("update-avatar",l)||!te(R.value,t))return Hr("update-avatar",t);if(!u.ok)return u;let f=I.value!==null&&u.avatar!==void 0;return f&&Bl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{mn(t,l);}}async function Kn(a,i){let t=Se(a),l=i.trim(),u=Fn("set-my-nickname",t);try{let f=await vs(n,t,l);if(!Ft("set-my-nickname",u)||!te(R.value,t))return Hr("set-my-nickname",t);if(!f.ok)return f;let x=_.value.some(B=>B.userId===f.memberId);return ya$1(t,f.memberId,l),za(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:x})}finally{mn(t,u);}}async function Nn(a,i,t){let l=Se(a),u=i===4?t?.trim():void 0,f=Fn("update-verification",l);try{let x=await gs(n,l,i,u);if(!Ft("update-verification",f)||!te(R.value,l))return Hr("update-verification",l);if(!x.ok)return x;let B=I.value!==null;return B&&$l(l,i,u),Object.freeze({...x,projectionUpdated:B})}finally{mn(l,f);}}function mo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function Rn(a,i,t="profile"){let l=n.getGeneration(),u=ve.channel,f=mo(i,a,t,l,u),x=++ut;return Ge.set(f,x),qe.set(f,(qe.get(f)??0)+1),Object.freeze({conversation:Se(i),epoch:x,generation:l,resetEpoch:u,key:f})}function kn(a){let i=qe.get(a.key)??0;i<=1?qe.delete(a.key):qe.set(a.key,i-1),Ge.get(a.key)===a.epoch&&Ge.delete(a.key),pa(a.conversation);}function Fe(a){return !L&&n.getGeneration()===a.generation&&ve.channel===a.resetEpoch&&Ge.get(a.key)===a.epoch}function pn(a,i,t){let l=`${n.getGeneration()}:${ve.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of qe){let x=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(x)&&(t===void 0||u===`${x}${t.trim()}`))return true}return false}function la(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 ml(a,i){let t=Se(a);if(vn(t))return it("update-name",t);let l=i.trim(),u=Rn("update-name",t);try{let f=await $i(n,t,l);if(!Fe(u)||!te(O.value,t))return qn("update-name",t);if(!f.ok)return f;let x=k.value!==null;return x&&Ra(t,l),Object.freeze({...f,projectionUpdated:x})}finally{kn(u);}}async function pl(a,i){let t=Se(a);if(vn(t))return it("update-description",t);let l=i.trim(),u=Rn("update-description",t);try{let f=await Wi(n,t,l);if(!Fe(u)||!te(O.value,t))return qn("update-description",t);if(!f.ok)return f;let x=k.value!==null;return x&&Pa(t,l),Object.freeze({...f,projectionUpdated:x})}finally{kn(u);}}async function vl(a,i){let t=Se(a);if(vn(t))return it("update-avatar",t);let l=Rn("update-avatar",t);try{let u=await Qi(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("update-avatar",t);if(!u.ok)return u;let f=k.value!==null;return f&&ka(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function gl(a,i){let t=Se(a),l=i.trim(),u=Rn("set-my-nickname",t,n.getCredentials().userId);try{let f=await Ji(n,t,l);return !Fe(u)||!te(O.value,t)?qn("set-my-nickname",t):f.ok?(bo(t,f.memberId,l,l),la(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{kn(u);}}async function Il(a,i,t){let l=Se(a);if(vn(l))return it("set-member-nickname",l);let u=i.trim(),f=t.trim(),x=ko(l,u),B=Rn("set-member-nickname",l,u);try{let ee=await Xi(n,l,u,x?.role??"unknown",f);return !Fe(B)||!te(O.value,l)?qn("set-member-nickname",l):ee.ok?(bo(l,ee.memberId,f,f),la(l,ee.memberId,f),Object.freeze({...ee,projectionUpdated:!0})):ee}finally{kn(B);}}async function hl(a,i,t){let l=Se(a);if(vn(l))return it("update-verification",l);let u=i===4?t?.trim():void 0,f=Rn("update-verification",l);try{let x=await Yi(n,l,i,u);if(!Fe(f)||!te(O.value,l))return qn("update-verification",l);if(!x.ok)return x;let B=k.value!==null;return B&&Ma(l,i,u),Object.freeze({...x,projectionUpdated:B})}finally{kn(f);}}async function yl(a,i){let t=Se(a);if(vn(t))return it("set-all-muted",t);let l=Rn("set-all-muted",t);try{let u=await Zi(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("set-all-muted",t);if(!u.ok)return u;let f=k.value!==null;return f&&yo(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function bl(a,i){let t=Se(a);if(vn(t))return it("set-member-private-chat-disabled",t);let l=Rn("set-member-private-chat-disabled",t);try{let u=await es(n,t,i);if(!Fe(l)||!te(O.value,t))return qn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=k.value!==null;return f&&yo(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}function Cl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function po(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ur(a,i,t){let l=n.getGeneration(),u=W[a],f=po(i,a,l,u),x=Cl(i,a,t,l,u),B=++ie;return X.set(x,B),Ie.set(f,(Ie.get(f)??0)+1),Object.freeze({actionEpoch:B,actionKey:x,generation:l,resetEpoch:u,writeKey:f})}function dr(a,i){let t=Ie.get(i.writeKey)??0;t<=1?Ie.delete(i.writeKey):Ie.set(i.writeKey,t-1),X.get(i.actionKey)===i.actionEpoch&&X.delete(i.actionKey),ua$1(a);}function fr(a,i){return !L&&n.getGeneration()===i.generation&&W[a]===i.resetEpoch&&X.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return i!==void 0?(Ie.get(po(a,i,t,W[i]))??0)>0:Object.keys(W).some(l=>(Ie.get(po(a,l,t,W[l]))??0)>0)}function Rl(a,i){let t=i.trim();t!==""&&Xe.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function Pl(a,i){if(i===null||i.isInGroup===false)return Xe.delete(a.conversationId),i;let t=Xe.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Xe.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ca(a){te(R.value,a)&&yt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!te(R.value,a)||pr(a);});}function Nt(a){te(R.value,a)&&Lt(a,{forceRefresh:true});}function ua$1(a){Kt(a)||mr(a)||(re.delete(a.conversationId)&&Nt(a),he.delete(a.conversationId)&&So(a));}function pr(a){te(R.value,a)&&ya(n,a.conversationId,_.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function kl(a,i){let t=Se(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ur("invite-members",t,l);try{let f=await ls(n,t,i);if(!fr("invite-members",u))return st("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&te(R.value,t)&&Nt(t),f;if(!te(R.value,t))return st("invite-members",t);let x=f.memberIds.some(B=>Ca(t,B));for(let B of f.memberIds)Io(t,B);return ca(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{dr(t,u);}}async function Ml(a,i){let t=Se(a),l=ur("remove-member",t,i.trim());try{let u=await cs(n,t,i);if(!fr("remove-member",l))return st("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&te(R.value,t)&&Nt(t),u;if(!te(R.value,t))return st("remove-member",t);let f=_.value.some(x=>x.userId===u.memberId);return go(t,u.memberId),ca(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{dr(t,l);}}async function Ol(a,i){let t=Se(a),l=ur("transfer-ownership",t,"group-owner");try{let u=await us(n,t,i);if(!fr("transfer-ownership",l))return st("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&te(R.value,t)&&Nt(t),u;if(!te(R.value,t))return st("transfer-ownership",t);Rl(t,u.ownerId);let f=I.value,x=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:u.ownerId})),Nt(t),Object.freeze({...u,projectionUpdated:x,refreshRequired:!1})}finally{dr(t,l);}}async function Sl(a,i={}){let t=Se(a),l=ur("leave",t,"membership");try{let u=await ds(n,t,i);if(!u.ok&&!fr("leave",l))return st("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&te(R.value,t)&&await Lt(t,{forceRefresh:!0}),u;ho(t),Aa$1(n,t.conversationId,{clearCachedNames:!0}),Xe.delete(t.conversationId);let f=te(R.value,t)&&(I.value!==null||_.value.length>0);return te(R.value,t)&&(R.value=null,I.value=null,_.value=[],J.value=!1,q.value=!1,D$1.value=null),Object.freeze({...u,projectionUpdated:f})}finally{dr(t,l);}}function Tl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function da(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function gt(a,i,t){let l=n.getGeneration(),u=gn[a],f=Tl(i,a,t,l,u),x=da(i,a,l,u),B=++ne;return In.set(f,B),U.set(x,(U.get(x)??0)+1),Object.freeze({actionEpoch:B,actionKey:f,conversation:Se(i),writeKey:x,generation:l,resetEpoch:u})}function It(a){let i=U.get(a.writeKey)??0;i<=1?U.delete(a.writeKey):U.set(a.writeKey,i-1),In.get(a.actionKey)===a.actionEpoch&&In.delete(a.actionKey),pa(a.conversation);}function ht(a,i){return !L&&n.getGeneration()===i.generation&&gn[a]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function vr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(u=>(U.get(da(a,u,t,gn[u]))??0)>0)}function gr(a,i){let t=i.trim();if(t==="")return;let l=ko(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function El(a,i){let t=i.trim();t!==""&&hn.set(a.conversationId,{ownerId:t});}function vn(a){let i=hn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function fa(a,i){if(i===null)return hn.delete(a.conversationId),null;let t=hn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(hn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function jl(a){return !te(O.value,a)||k.value===null?false:(k.value=fa(a,k.value),true)}function wl(a){te(b.value,a)&&Oo(a,{preserveExisting:true});}function Ht(a){te(O.value,a)&&Ut(a,{forceRefresh:true});}function Ir(a){Ht(a),wl(a);}function xl(a,i,t,l){let u=De.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(x=>x.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let x of f)u.userIds.add(x);u.affectsMentions||=i,u.resolvesProfiles||=t,De.set(a.conversationId,u);}function ma(a,i){let t=De.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&De.delete(a.conversationId);}}function pa(a){if(pn(a)||vr(a))return;Me.delete(a.conversationId)&&ja(a);let i=De.get(a.conversationId);if(i===void 0)return;De.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Dn(a,t):pt(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&mt(a,t,{forceRefresh:true}),br(a);}function Al(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 va$1(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 zl(a,i){let t=Se(a);if(vn(t))return er("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=gt("invite-members",t,l);try{let f=await Fi(n,t,i);if(!ht("invite-members",u))return Mn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("invite-members",t);let x=f.memberIds.some(B=>Po(t,B));for(let B of f.memberIds)Ro(t,B);return Dn(t,f.memberIds),ma(t,f.memberIds),Ir(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{It(u);}}async function Gl(a,i){let t=Se(a);if(vn(t))return er("remove-member",t);let l=gr(t,i),u=gt("remove-member",t,i.trim());try{let f=await Ki(n,t,l??{userId:i,role:"unknown"});if(!ht("remove-member",u))return Mn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("remove-member",t);let x=Al(t,f.memberId),B=T.value.some(ee=>ee.userId===f.memberId)||ke.value.some(ee=>ee.userId===f.memberId)||x;return Co(t,f.memberId),Dn(t,[f.memberId]),ma(t,[f.memberId]),Ir(t),Object.freeze({...f,projectionUpdated:B,refreshRequired:!1})}finally{It(u);}}async function Dl(a,i,t){let l=Se(a),u=gr(l,i),f=t?"add-admin":"remove-admin";if(vn(l))return er(f,l);let x=gt(f,l,i.trim());try{let B=t?await Hi(n,l,u??{userId:i,role:"unknown"}):await Li(n,l,u??{userId:i,role:"unknown"});if(!ht(f,x))return Mn(f,l);if(!B.ok)return B.outcome!=="stale"&&Ht(l),B;if(!te(O.value,l))return Mn(f,l);let ee=t?"admin":"member",Ae=u?.role!==ee;return Qn(l,B.memberId,ee),Ir(l),Object.freeze({...B,projectionUpdated:Ae,refreshRequired:!1})}finally{It(x);}}async function _l(a,i){let t=Se(a);if(vn(t))return er("transfer-ownership",t);let l=gr(t,i),u=gt("transfer-ownership",t,"channel-owner");try{let f=await Ui(n,t,l??{userId:i,role:"unknown"});if(!ht("transfer-ownership",u))return Mn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!te(O.value,t))return Mn("transfer-ownership",t);El(t,f.ownerId);let x=jl(t);return Qn(t,f.ownerId,"owner"),Qn(t,n.getCredentials().userId,"member"),Ir(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{It(u);}}async function Fl(a,i={}){let t=Se(a),l=i.newOwnerId===void 0?void 0:gr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=gt("leave",t,"membership");try{let f=await qi(n,t,l);if(!f.ok&&!ht("leave",u))return Mn("leave",t);if(!f.ok)return f;let x=te(O.value,t)&&(k.value!==null||T.value.length>0||ke.value.length>0);return hr(t),hn.delete(t.conversationId),va$1(t),te(O.value,t)&&Cr(),Object.freeze({...f,projectionUpdated:x})}finally{It(u);}}async function Kl(a){let i=Se(a);if(vn(i))return er("dismiss",i);let t=gt("dismiss",i,"membership");try{let l=await Vi(n,i);if(!l.ok&&!ht("dismiss",t))return Mn("dismiss",i);if(!l.ok)return l;let u=te(O.value,i)&&(k.value!==null||T.value.length>0||ke.value.length>0);return hr(i),hn.delete(i.conversationId),va$1(i),te(O.value,i)&&Cr(),Object.freeze({...l,projectionUpdated:u})}finally{It(t);}}async function Lt(a,i={}){let t=Se(a),l=++ge.group,u=ve.group,f=n.getGeneration(),x=!te(R.value,t);R.value=t,x&&(I.value=null,Be+=1,_.value=[],q.value=false),J.value=true,D$1.value=null;try{let B=i.forceRefresh===!0?null:await bs(n,t);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(B!==null&&(I.value=B),i.restricted===!0)return i.includeMembers===!0&&await yt(t,{restricted:!0,forceRefresh:!0}),C$1(t,f,l,u)?(J.value=!1,I.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 ee=await Cs(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Ae=Pl(t,ee);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ae?.ref.conversationId??null,name:Ae?.name??null,isInGroup:Ae?.isInGroup??null,verifyWay:Ae?.verifyWay??null,memberCount:Ae?.memberCount??null,membershipDecision:Ae?.isInGroup===!0?"joined":Ae?.isInGroup===!1?"not-joined":"unknown"}})),Ae===null||Ae.isInGroup===!1?(Be+=1,_.value=[],q.value=!1,ho(t),Aa$1(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await yt(t,{restricted:!1,forceRefresh:!0}),C$1(t,f,l,u)?(I.value=Ae,J.value=!1,Object.freeze(Ae===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let ee=Je(B,"profile.group",t);return i.forceRefresh===true&&(I.value=null,Be+=1,_.value=[],q.value=false),D$1.value=ee,J.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:ee})}}async function yt(a,i={}){let t=Se(a);if(te(R.value,t)||(R.value=t,_.value=[]),te(R.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return Be+=1,_.value=[],q.value=false,Object.freeze({ok:true,operation:"group-members"});if(_.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++Be,u=n.getGeneration();q.value=true;try{let f=i.preserveExisting===!0?null:await Ps(n,t);if(L||n.getGeneration()!==u||l!==Be||!te(R.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let x=f===null?null:rn(On,t.conversationId,f.items);if(x!==null&&(_.value=lr(t.conversationId,x),pr(t)),i.restricted===!0||i.forceRefresh!==!0&&x!==null&&x.length>0)return q.value=!1,Object.freeze({ok:!0,operation:"group-members"});let B=await ks(n,t);return L||n.getGeneration()!==u||l!==Be||!te(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(B!==null&&(_.value=lr(t.conversationId,rn(On,t.conversationId,B),{reconcile:!0}),pr(t)),q.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(L||n.getGeneration()!==u||l!==Be||!te(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let x=Je(f,"profile.group-members",t);return D$1.value=x,q.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:x})}}async function Ut(a,i){let t=Se(a),l=++ge.channel,u=ve.channel,f=n.getGeneration(),x=!te(O.value,t);O.value=t,x&&(k.value=null,Xn(t)),Q.value=true,Z.value=null;try{let B=await Ms(n,t,i);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let ee=fa(t,B);return k.value=ee,ee!==null&&te(b.value,t)&&(T.value=on(t.conversationId,T.value)),ee===null?(hr(t),Xn()):ee.canViewMembers!==!0&&Xn(),Q.value=!1,Object.freeze(ee===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(B){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let ee=Je(B,"profile.channel",t);return i?.forceRefresh===true&&(k.value=null,Xn()),Z.value=ee,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:ee})}}async function Nl(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}`,x=++Ne,B=n.getGeneration(),ee=ve[t.conversationType],Ae=t.conversationType==="group"?R.value:O.value,jn=Ae!==null&&te(Ae,t);xe.set(f,x);let To=()=>{let Ln=t.conversationType==="group"?R.value:O.value;return Ae===null?Ln===null:Ln!==null&&te(Ln,Ae)},ln=()=>!L&&n.getGeneration()===B&&ve[t.conversationType]===ee&&xe.get(f)===x&&To();try{let Ln=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);if(!ln())return Object.freeze({ok:!1,operation:l,reason:"stale"});if(Ln.outcome==="joined")if(jn)t.conversationType==="group"?await Lt(t,{forceRefresh:!0}):await Ut(t,{forceRefresh:!0});else try{t.conversationType==="group"?await u.groups.getProfile(t,{forceRefresh:!0}):await u.channels.getProfile(t,{forceRefresh:!0});}catch(sc){ln()&&r.record("error","pinia","profile","membership-join-profile-refresh-failed",()=>({conversation:t,data:{error:Je(sc,l,t)}}));}return ln()?Object.freeze({ok:!0,operation:l,outcome:Ln.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(Ln){return ln()?Object.freeze({ok:false,operation:l,reason:"failed",error:Je(Ln,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{xe.get(f)===x&&xe.delete(f);}}async function ga(a,i,t){let l=me[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?$n.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++dt[a],x=n.getGeneration();l.loading=true,l.error=null;try{let B=await Os(n,a,u);return L||x!==n.getGeneration()||f!==dt[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=As(i?l.items:[],B.items),l.loaded=!0,l.exhausted=B.exhausted,l.loading=!1,B.nextPageToken===void 0?$n.delete(a):$n.set(a,B.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(B){if(L||x!==n.getGeneration()||f!==dt[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let ee=Je(B,`directory.${a}`);return l.error=ee,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:ee})}}function Hl(a,i=false){return ga(a,i,false)}function Ll(a){return ga(a,false,true)}function Ia(){Sn!==void 0&&(clearTimeout(Sn),Sn=void 0),zn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),zn=void 0;}async function Ul(a,i){let t=n.getGeneration();try{let l=await Ss(n,a);return L||t!==n.getGeneration()||i!==Wn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(P.value=l,j.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(L||t!==n.getGeneration()||i!==Wn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Je(l,"directory.search");return $.value=u,j.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function vo(){Wn+=1,Ia(),N.value="",P.value=null,j.value=false,$.value=null,Gn=void 0;}function ql(a,i={}){let t=a.trim();if(t==="")return vo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&zn?.keyword===t)return zn.promise;if(Gn?.keyword===t)return Gn.promise;if(!i.immediate&&N.value===t&&P.value?.keyword===t.toLocaleLowerCase()&&$.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Wn;Ia(),N.value=t,P.value=null,j.value=true,$.value=null;let u=()=>{let B=Ul(t,l);return Gn={keyword:t,promise:B},B.finally(()=>{Gn?.promise===B&&(Gn=void 0);}),B};if(i.immediate)return u();let f,x=new Promise(B=>{f=B;});return zn={keyword:t,promise:x,resolve:f},Sn=setTimeout(()=>{Sn=void 0,zn=void 0,u().then(f);},300),x}function ha(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 Vl(a,i){!te(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Bl(a,i){!te(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function $l(a,i,t){if(!te(R.value,a)||I.value===null)return;let{inviteCode:l,...u}=I.value;I.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ya$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=en.get(a.conversationId)??new Map;f.set(l,u),en.set(a.conversationId,f),te(R.value,a)&&(_.value=Object.freeze(_.value.map(x=>x.userId===l?Object.freeze({...x,nickname:u}):x)));}function ba(a,i){_t(a.conversationId,i);}function go(a,i){let t=i.trim();if(t===""||(_t(a.conversationId,t),ir(On,a.conversationId,t),!te(R.value,a)))return;let l=_.value.filter(f=>f.userId!==t),u=l.length!==_.value.length;u&&(_.value=Object.freeze(l),pr(a)),u&&I.value!==null&&I.value.memberCount!==void 0&&(I.value=Object.freeze({...I.value,memberCount:Math.max(0,I.value.memberCount-1)}));}function Io(a,i){_t(a.conversationId,i),sr(On,a.conversationId,i);}function Ca(a,i){return Dt(On,a.conversationId,i)}function ho(a){On.delete(a.conversationId),en.delete(a.conversationId);}function Ra(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,name:i}));}function Pa(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,description:i}));}function ka(a,i){!te(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,avatar:i}));}function Ma(a,i,t){if(!te(O.value,a)||k.value===null)return;let{inviteCode:l,...u}=k.value;k.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function yo(a,i){if(!te(O.value,a)||k.value===null)return;let t={...k.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};k.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function bo(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),x=f||l?.trim()||u,B=Ye.get(a.conversationId)??new Map;B.set(u,{nickname:f,displayName:x}),Ye.set(a.conversationId,B),An.value+=1,te(b.value,a)&&(T.value=on(a.conversationId,T.value)),Jn(a,u)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null),te(de.value,a)&&(ke.value=Object.freeze(ke.value.map(ee=>ee.userId===u?Object.freeze({...ee,displayName:x}):ee)));}function Qn(a,i,t){let l=i.trim();if(l==="")return;let u=yn.get(a.conversationId)??new Map;u.set(l,t),yn.set(a.conversationId,u),te(b.value,a)&&(T.value=on(a.conversationId,T.value)),Jn(a,l)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null);}function Oa(a,i){d(a.conversationId,i);}function Wl(a,i){return An.value,Ye.get(a.conversationId)?.get(i.trim())?.nickname}function Co(a,i){let t=i.trim();if(t==="")return;let l=te(b.value,a),u=te(de.value,a);if(d(a.conversationId,t),h(a.conversationId,t),ir(He,a.conversationId,t),!l&&!u)return;let f=l&&T.value.some(B=>B.userId===t),x=u&&ke.value.some(B=>B.userId===t);l&&(T.value=Object.freeze(T.value.filter(B=>B.userId!==t))),u&&(ke.value=Object.freeze(ke.value.filter(B=>B.userId!==t))),Jn(a,t)&&(se.value=null),(f||x)&&te(O.value,a)&&k.value?.memberCount!==void 0&&(k.value=Object.freeze({...k.value,memberCount:Math.max(0,k.value.memberCount-1)}));}function Ro(a,i){d(a.conversationId,i),h(a.conversationId,i),sr(He,a.conversationId,i);}function Po(a,i){return Dt(He,a.conversationId,i)}function hr(a){He.delete(a.conversationId),yn.delete(a.conversationId),Ye.delete(a.conversationId)&&(An.value+=1);}function En(a,i,t){return !L&&n.getGeneration()===i&&Tn===t&&te(b.value,a)}function Jn(a,i,t,l){let u=Pe.value;return !L&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ze===l)&&u!==null&&te(u,a)&&u.userId===i}function ko(a,i){let t=i.trim();if(t!==""){if(te(b.value,a)){let l=T.value.find(u=>u.userId===t);if(l!==void 0)return l}return Jn(a,t)?se.value??void 0:void 0}}async function Ql(a,i,t={forceRefresh:true}){let l=Se(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ze,x=n.getGeneration();Pe.value=Object.freeze({...l,userId:u}),se.value=null,V.value=true,ce.value=null;try{let B=await Es(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Jn(l,u,x,f)?B===null||Po(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(se.value=on(l.conversationId,[B])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(B){if(!Jn(l,u,x,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let ee=Je(B,"profile.channel-member",l);return ce.value=ee,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:ee})}finally{Jn(l,u,x,f)&&(V.value=false);}}async function Mo(a,i,t){Y.value=true,be.value=null;try{let l=await js(n,a,F$1.value);return En(a,i,t)?(cr(a.conversationId,l.items),v(a.conversationId,l.items),T.value=on(a.conversationId,rn(He,a.conversationId,l.items)),dn=l.nextCursor,fe.value=l.exhausted||l.nextCursor===void 0,Pn=void 0,Y.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!En(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Je(l,"profile.channel-members.refresh",a);return Pn="initial",be.value=u,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Sa(a){if(Y.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Se(a),t=Tn,l=n.getGeneration();Y.value=true,be.value=null;try{let u=await qo(n,i,F$1.value);return En(i,l,t)?(u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0),await Mo(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!En(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Je(u,"profile.channel-members.cache",i);return Pn="initial",be.value=f,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Ta(a){if(Y.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(fe.value||dn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Se(a),t=Tn,l=n.getGeneration();Y.value=true,be.value=null;try{let u=await Ts(n,i,{query:F$1.value,cursor:dn});return En(i,l,t)?(cr(i.conversationId,u.items),v(i.conversationId,u.items),T.value=on(i.conversationId,rn(He,i.conversationId,ha(T.value,u.items))),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0,Pn=void 0,Y.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!En(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Je(u,"profile.channel-members.page",i);return Pn="more",be.value=f,Y.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Xn(a=null){fn!==void 0&&(clearTimeout(fn),fn=void 0),Tn+=1,b.value=a===null?null:Se(a),T.value=[],F$1.value="",Y.value=false,fe.value=false,be.value=null,dn=void 0,Pn=void 0;}function Oo(a,i={}){let t=Se(a);if(i.preserveExisting===true&&te(b.value,t)){fn!==void 0&&(clearTimeout(fn),fn=void 0);let l=++Tn,u=n.getGeneration();return be.value=null,Mo(t,u,l)}return Xn(t),Sa(t)}function Jl(a){let i=b.value;if(i===null)return;F$1.value=a,Tn+=1,T.value=[],fe.value=false,be.value=null,dn=void 0,Y.value=false,fn!==void 0&&clearTimeout(fn);let t=Tn,l=n.getGeneration();(async()=>{try{let u=await qo(n,i,F$1.value);if(!En(i,l,t))return;u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),dn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!En(i,l,t))return;be.value=Je(u,"profile.channel-members.cache",i);}En(i,l,t)&&(fn=setTimeout(()=>{fn=void 0,Mo(i,l,t);},300));})();}function Xl(){let a=b.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Ta(a)}function Yl(){let a=b.value;return a===null||Pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Pn==="more"?Ta(a):Sa(a)}function Hn(a,i,t){return !L&&n.getGeneration()===i&&bn===t&&te(de.value,a)}async function qt(a,i={}){if(Oe.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Se(a),l=bn,u=n.getGeneration();Oe.value=true,K.value=null;try{let f=i.useCache===!1?null:await Bo(n,t,je.value||void 0);if(!Hn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ke.value=vt(t.conversationId,rn(He,t.conversationId,f.items)),Cn=f.nextPageToken,Te.value=f.exhausted||f.nextPageToken===void 0);let x=await ws(n,t,je.value||void 0);return Hn(t,u,l)?(ke.value=vt(t.conversationId,rn(He,t.conversationId,x.items)),Cn=x.nextPageToken,Te.value=x.exhausted||x.nextPageToken===void 0,tn=void 0,Oe.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Hn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let x=Je(f,"profile.channel-mentions",t);return tn="initial",K.value=x,Oe.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:x})}}async function Ea(){let a=de.value,i=Cn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Oe.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Te.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=bn,l=n.getGeneration();Oe.value=true,K.value=null;try{let u=await xs(n,je.value,i);return Hn(a,l,t)?(ke.value=vt(a.conversationId,rn(He,a.conversationId,ha(ke.value,u.items))),Cn=u.nextPageToken,Te.value=u.exhausted||u.nextPageToken===void 0,tn=void 0,Oe.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Hn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Je(u,"profile.channel-mentions.page",a);return tn="more",K.value=f,Oe.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function yr(a=null,i=""){nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,de.value=a===null?null:Se(a),ke.value=[],je.value=i,Oe.value=false,Te.value=false,K.value=null,Cn=void 0,tn=void 0;}function Zl(a,i=""){return te(de.value,a)&&je.value===i?(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,Oe.value=false,K.value=null,Cn=void 0,tn=void 0,qt(a,{useCache:false})):(yr(a,i),qt(a))}function ec(a){let i=de.value;if(i===null)return;yr(i,a);let t=bn,l=n.getGeneration();(async()=>{try{let u=await Bo(n,i,a||void 0);if(!Hn(i,l,t))return;u!==null&&(ke.value=vt(i.conversationId,rn(He,i.conversationId,u.items)),Cn=u.nextPageToken,Te.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Hn(i,l,t))return;K.value=Je(u,"profile.channel-mentions.cache",i);}Hn(i,l,t)&&(nn=setTimeout(()=>{nn=void 0,qt(i);},300));})();}function nc(){let a=de.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,Oe.value=false,K.value=null,Cn=void 0,Te.value=false,tn=void 0,qt(a,{useCache:false}))}function tc(){let a=de.value;return a===null||tn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):tn==="more"?Ea():qt(a)}function So(a){te(R.value,a)&&(ft(a,{forceRefresh:true}),yt(a,{forceRefresh:true,preserveExisting:true}));}function br(a){te(b.value,a)&&Oo(a,{preserveExisting:true});}async function ja(a){if(!te(O.value,a))return;(await Ut(a,{forceRefresh:true})).ok&&k.value?.canViewMembers===true&&br(a);}function rc(a){if(a.type==="profile:updated"){if(a.profileType==="user")ar(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&M({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let ee={conversationType:"group",conversationId:a.id};if(Kt(ee)||mr(ee)){re.add(ee.conversationId);return}te(R.value,ee)?Lt(ee,{includeMembers:true,forceRefresh:true}):ft(ee,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let ee={conversationType:"channel",conversationId:a.channelId};pn(ee)||vr(ee)?Me.add(ee.conversationId):ja(ee);return}if(a.type==="sync:complete"){for(let ee of a.conversations)if(ee.conversationType==="group"){let Ae={conversationType:"group",conversationId:ee.conversationId};te(R.value,Ae)&&So(Ae);}else if(ee.conversationType==="channel"){let Ae={conversationType:"channel",conversationId:ee.conversationId};(te(O.value,Ae)||te(b.value,Ae)||te(de.value,Ae))&&(Dn(Ae),br(Ae));}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"&&yu.has(t)){let ee={conversationType:"group",conversationId:i.conversationId},Ae=(a.source??"live")==="live",jn=t==="group_member_renamed"&&l.some(ln=>ln.trim()===u)&&Kt(ee,"set-my-nickname"),To=t==="group_member_renamed"&&!jn;if(t==="group_member_renamed"){jn||xa(n,i);for(let ln of l)jn&&ln.trim()===u||ba(ee,ln);}if(t==="group_member_joined"||t==="group_member_invited")for(let ln of l)Io(ee,ln);if(Ae&&(t==="group_member_left"||t==="group_member_removed"))for(let ln of l)go(ee,ln);if(mr(ee)){he.add(ee.conversationId);return}Ae&&!jn&&(To?te(R.value,ee)&&yt(ee,{forceRefresh:true,preserveExisting:true}):So(ee));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!bu.has(t)||!f)return;let x={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(ee=>pn(x,ee.trim()===u?"set-my-nickname":"set-member-nickname",ee)))){if(t==="channel_member_renamed")for(let ee of l)Oa(x,ee);if(t==="channel_admin_added"||t==="channel_admin_removed"){let ee=t==="channel_admin_added"?"admin":"member";for(let Ae of l)Qn(x,Ae,ee);}if(t==="channel_owner_transferred"){for(let Ae of l)Qn(x,Ae,"owner");let ee=i.body.system?.operatorId;ee!==void 0&&!l.includes(ee)&&Qn(x,ee,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let ee of l)Ro(x,ee);if(t==="channel_member_left"||t==="channel_member_removed")for(let ee of l)Co(x,ee);if(vr(x)){xl(x,zs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}zs.has(t)?Dn(x,l):pt(x,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&mt(x,l,{forceRefresh:true}),br(x);}}let oc=n.subscribeProfileChange(()=>{o.value+=1;}),ac=n.subscribeEvents(rc);function wa$1(){p["set-remark"]+=1,p.block+=1,p.report+=1,p["delete-friendship"]+=1,ve.direct+=1,c.value=null,m.value=null,g.value="unknown",E$1.value=false,S.value=null,G+=1,A$1.value=[],w.value=false,H.value=null;}function xa$1(){for(let a of Object.keys(y))y[a]+=1;for(let a of Object.keys(W))W[a]+=1;ue.clear(),Ie.clear(),X.clear(),re.clear(),he.clear(),ve.group+=1,Be+=1,R.value=null,I.value=null,_.value=[],J.value=false,q.value=false,D$1.value=null;}function Cr(){for(let a of Object.keys(gn))gn[a]+=1;U.clear(),In.clear(),qe.clear(),Ge.clear(),Me.clear(),De.clear(),ve.channel+=1,O.value=null,k.value=null,Q.value=false,Z.value=null,Ze+=1,Pe.value=null,se.value=null,V.value=false,ce.value=null,Xn(),yr();}function Aa(){wa$1(),p["search-user"]+=1,p["resolve-application-target"]+=1,p["request-friendship"]+=1,xa$1(),Cr(),xe.clear();for(let a of ["individual","group","channel"])dt[a]+=1,Object.assign(me[a],Lr());$n.clear(),vo(),On.clear(),Xe.clear(),He.clear(),hn.clear(),en.clear(),yn.clear(),pe.clear(),s.value={},Ye.size>0&&(Ye.clear(),An.value+=1);}function ic(){L||(Aa(),L=true,ue.clear(),Ie.clear(),X.clear(),qe.clear(),Ge.clear(),U.clear(),In.clear(),oc(),ac(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:E$1,directError:S,directMutualGroups:A$1,directMutualGroupsLoading:w,directMutualGroupsError:H,groupRef:R,groupProfile:I,groupMembers:_,groupLoading:J,groupMembersLoading:q,groupError:D$1,channelRef:O,channelProfile:k,channelLoading:Q,channelError:Z,directories:me,directorySearchKeyword:N,directorySearchResult:P,directorySearchLoading:j,directorySearchError:$,channelMembersRef:b,channelMembers:T,channelMemberQuery:F$1,channelMembersLoading:Y,channelMembersExhausted:fe,channelMembersError:be,channelMemberDetailRef:Pe,channelMemberDetail:se,channelMemberDetailLoading:V,channelMemberDetailError:ce,channelMentionsRef:de,channelMentions:ke,channelMentionQuery:je,channelMentionsLoading:Oe,channelMentionsExhausted:Te,channelMentionsError:K,resolveDisplayName:uo,resolveAvatarUrl:or,resolvePublicNickname:fo,resolveSenderProfile:ar,resolveGroupMemberProfiles:ft,resolveChannelMemberProfiles:mt,invalidateChannelMemberProfiles:pt,invalidateChannelMemberSet:Dn,channelMentionRevision:co,loadDirect:M,resolveProfileAccess:z,loadDirectMutualGroups:ae,setDirectContactRemark:ye,blockDirectContact:Ce,reportDirectContact:Ke,deleteDirectFriendship:Ue,searchDirectContact:ze,resolveDirectContactTarget:$e,requestDirectFriendship:an,loadGroup:Lt,updateGroupName:_e,updateGroupAvatar:sn,setMyGroupNickname:Kn,updateGroupVerification:Nn,isGroupProfileWritePending:Kt,inviteGroupMembers:kl,removeGroupMember:Ml,transferGroupOwnership:Ol,leaveGroup:Sl,isGroupMemberManagementPending:mr,ensureGroupMembers:yt,loadChannel:Ut,requestMembershipJoin:Nl,updateChannelName:ml,updateChannelDescription:pl,updateChannelAvatar:vl,setMyChannelNickname:gl,setChannelMemberNickname:Il,updateChannelVerification:hl,setChannelAllMuted:yl,setChannelMemberPrivateChatDisabled:bl,isChannelProfileWritePending:pn,inviteChannelMembers:zl,removeChannelMember:Gl,setChannelMemberAdmin:Dl,transferChannelOwnership:_l,leaveChannel:Fl,dismissChannel:Kl,isChannelMemberManagementPending:vr,loadDirectory:Hl,refreshDirectory:Ll,searchDirectory:ql,clearDirectorySearch:vo,openChannelMembers:Oo,getChannelMember:ko,loadChannelMember:Ql,setChannelMemberQuery:Jl,loadMoreChannelMembers:Xl,retryChannelMembers:Yl,resetChannelMembers:Xn,updateGroupMemberNicknameProjection:ya$1,clearGroupMemberNicknameProjection:ba,removeGroupMemberProjection:go,restoreGroupMemberProjection:Io,isGroupMemberRemovedProjection:Ca,clearGroupMemberProjections:ho,updateChannelNameProjection:Ra,updateChannelDescriptionProjection:Pa,updateChannelAvatarProjection:ka,updateChannelVerificationProjection:Ma,updateChannelManagementProjection:yo,updateChannelMemberDisplayNameProjection:bo,updateChannelMemberRoleProjection:Qn,clearChannelMemberDisplayNameProjection:Oa,channelMemberNicknameProjection:Wl,removeChannelMemberProjection:Co,restoreChannelMemberProjection:Ro,isChannelMemberRemovedProjection:Po,clearChannelMemberProjections:hr,openChannelMentions:Zl,setChannelMentionQuery:ec,loadMoreChannelMentions:Ea,refreshChannelMentions:nc,retryChannelMentions:tc,resetChannelMentions:yr,resetDirect:wa$1,resetGroup:xa$1,resetChannel:Cr,reset:Aa,dispose:ic}})}var Gs=new WeakMap,Ur=new WeakMap;function $o(e=Ee()){Re(e);let n=Gs.get(e);n===void 0&&(n=Ru(e),Gs.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function Ds(e,n,r){let o=ref({}),s=0,c=()=>false,m,g=shallowRef([]),E$1=[],S=0;function A(){for(;S<4&&E$1.length>0;){let D=E$1.shift();S+=1,D.run().then(D.resolve,D.reject).finally(()=>{S-=1,A();});}}function w(D){return new Promise((O,k)=>{E$1.push({run:D,resolve:O,reject:k}),A();})}function H(){s+=1,o.value={},g.value=[],c=()=>false;for(let D of E$1.splice(0))D.resolve();}function R(D$1){let O={name:"",avatarUrl:""};if(!c()||r.activeRef?.conversationType!==D$1.ref.conversationType||r.activeRef.conversationId!==D$1.ref.conversationId)return {...O,status:"unavailable"};m?.profileRevision;let k=n.getSenderProfileCache();if(D$1.senderId===n.getCredentials().userId)return {...O,status:"self",avatarUrl:E(k,D$1.senderId)};if(D$1.senderId==="system")return {...O,status:"system"};if(D$1.ref.conversationType==="robot"){let me=r.display,N=D$1.senderId===D$1.ref.conversationId&&me?.title!==D$1.ref.conversationId?me?.title.trim()??"":"";return {name:N,avatarUrl:N===""?"":me?.avatar??"",status:N===""?"unavailable":"ready"}}let Q=D$1.ref.conversationType==="channel"?B(k,n.getChannelMemberProfiles(),D$1.ref.conversationId,D$1.senderId):z(k,n.getGroupMemberNames(),D$1.ref.conversationType==="group"?D$1.ref.conversationId:"",D$1.senderId),Z=D$1.ref.conversationType==="channel"?D(k,n.getChannelMemberProfiles(),D$1.ref.conversationId,D$1.senderId):E(k,D$1.senderId);return {name:Q,avatarUrl:Z,status:Q===""?o.value[D$1.senderId]??"unavailable":"ready"}}async function I(D,O,k=false){if(!O()||D.length===0)return;c=O,k||(g.value=D);let Q=s,Z=()=>Q===s&&O(),me=D[0].ref;if(me.conversationType==="robot")return;m??=$o(e);let N=m,P=D.flatMap(b=>[b.senderId,...b.previewParts.flatMap(T=>T.kind==="rich-text"?T.mention?.atUserIds??[]:[])]),j=[...new Set(P)].filter(b=>b!==""&&b!=="system"&&b!==n.getCredentials().userId&&o.value[b]!=="loading"&&(k||o.value[b]===void 0));if(j.length===0)return;for(let b of j)o.value[b]="loading";let $=Promise.allSettled([Promise.resolve().then(()=>Z()?me.conversationType==="group"?N.resolveGroupMemberProfiles({conversationType:"group",conversationId:me.conversationId},{forceRefresh:k}):me.conversationType==="channel"?N.resolveChannelMemberProfiles({conversationType:"channel",conversationId:me.conversationId},j,{forceRefresh:k,isCurrent:Z}):true:false)]).then(([b])=>b.status==="fulfilled"&&b.value);await Promise.all(j.map(b=>w(async()=>{if(!Z())return;let[T,F]=await Promise.allSettled([$,Promise.resolve().then(()=>N.resolveSenderProfile(b,{forceRefresh:k}))]);if(!Z())return;let Y=T.status==="rejected"||T.value===false||F.status==="rejected"||F.value===false;o.value[b]=Y?"failed":"unavailable";})));}function _(){return g.value.flatMap(D=>{if(D.ref.conversationType==="robot")return [];let O=D.previewParts.flatMap(k=>k.kind==="rich-text"?(k.mention?.atUserIds??[]).filter(Q=>!k.mention?.atUsersName?.[Q]?.trim()):[]);return [D.senderId,...O].map(k=>({...D,senderId:k,previewParts:[]})).filter(k=>["failed","unavailable"].includes(R(k).status))})}let J=computed(()=>_().length>0);async function q(){await I(_(),c,true);}return {senderFor:R,prepare:I,reset:H,hasRetryableSenderProfiles:J,retrySenderProfiles:q}}var ju=250,wu=2e3;function Fs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Wo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Qo(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:Fs(r)}})}function xu(e){return defineStore("k2-im-search",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=Ds(e,n,o),c=ref(""),m=ref([]),g=ref(false),E=ref(false),S=ref("all"),A=ref(""),w=ref(""),H=shallowRef(null),R=false,I=0,_=0,J,q,D,O;function k(){let V=o.activeRef,ce=o.getHandle();if(!(R||V===null||ce===void 0||!Wo(V,ce.ref)))return {ref:Fs(V),handle:ce,generation:n.getGeneration()}}function Q(V){return !R&&n.getGeneration()===V.generation&&o.getHandle()===V.handle&&Wo(o.activeRef,V.ref)}function Z(){let V=q;V!==void 0&&(clearTimeout(V.timer),q=void 0,V.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function me(){D!==void 0&&(clearTimeout(D),D=void 0);}function N(V,ce){return ce===I&&(g.value=false),Object.freeze({ok:false,operation:V,reason:"stale"})}function P(V,ce){return V===_&&A.value===ce&&(A.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function j(V,ce,de){switch(de){case "all":return Da$1(n,{conversation:V.ref,keyword:ce});case "text":return Ea(n,{conversation:V.ref,keyword:ce});case "file":return Fa(n,{conversation:V.ref,keyword:ce});case "image":return Ga(n,{conversation:V.ref});case "video":return Ha(n,{conversation:V.ref});case "voice":return Ia(n,{conversation:V.ref})}}function $(V,ce){return V!==""?true:ce!=="all"&&ce!=="text"}function b(V){c.value=V,Z();let ce=++I,de=V.trim(),ke=S.value,je=$(de,ke);if(J=void 0,m.value=[],s.reset(),E.value=false,H.value=null,!je)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Oe=k();return Oe===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(Te=>{let K=setTimeout(()=>{if(q?.timer===K&&(q=void 0),ce!==I||!Q(Oe)){Te(N("search",ce));return}r.record("debug","pinia","history","search-start",()=>({generation:Oe.generation,conversation:Oe.ref,category:ke})),j(Oe,de,ke).then(L=>{if(ce!==I||!Q(Oe)){Te(N("search",ce));return}m.value=[...L.results],s.prepare(m.value,()=>Q(Oe)),J=L.nextPageToken,E.value=!L.exhausted,g.value=false,Te(Object.freeze({ok:true,operation:"search"}));}).catch(L=>{if(ce!==I||!Q(Oe)){Te(N("search",ce));return}let pe=Qo(L,"search.first-page",Oe.ref);H.value=pe,g.value=false,Te(Object.freeze({ok:false,operation:"search",reason:"failed",error:pe}));});},ju);q={timer:K,resolve:Te};}))}function T(V){return S.value=V,(V==="image"||V==="video"||V==="voice")&&(c.value=""),b(c.value)}async function F(){if(g.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!E.value||J===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let V=k();if(V===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let ce=J,de=++I;g.value=true,H.value=null;try{let ke=await Ja(n,ce);return de!==I||!Q(V)?N("load-more",de):(m.value=[...m.value,...ke.results],s.prepare(m.value,()=>Q(V)),J=ke.nextPageToken,E.value=!ke.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ke){if(de!==I||!Q(V))return N("load-more",de);let je=Qo(ke,"search.next-page",V.ref);return H.value=je,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:je})}}async function Y(V,ce){let de=k();if(de===void 0||!Wo(de.ref,V))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ke=A.value!=="",je=++_;me(),w.value="",A.value=ce,H.value=null;try{return (!o.messages.some(Te=>Te.id===ce)||ke)&&!await o.loadAround(ce)||(await nextTick(),je!==_||!Q(de))?P(je,ce):(w.value=ce,Object.freeze({ok:!0,operation:"locate"}))}catch(Oe){if(je!==_||!Q(de))return P(je,ce);let Te=Qo(Oe,"search.locate",de.ref);return A.value="",H.value=Te,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Te})}}function fe(V){if(A.value!==V)return false;A.value="";let ce=_,de=k();return me(),de===void 0||w.value!==V||(D=setTimeout(()=>{D=void 0,ce===_&&Q(de)&&w.value===V&&(w.value="");},wu)),true}function be(){_+=1,me(),A.value="",w.value="";}function Pe(V){I+=1,Z(),c.value="",m.value=[],s.reset(),g.value=false,E.value=false,S.value="all",J=void 0,H.value=null,V?.preserveLocation!==true&&be();}function se(){R||(Pe(),R=true,O?.(),O=void 0);}return O=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>Pe(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:E,category:S,locatingMessageId:A,highlightMessageId:w,error:H,search:b,setCategory:T,loadMore:F,locate:Y,completeLocation:fe,clearLocation:be,reset:Pe,dispose:se}})}var _s=new WeakMap,qr=new WeakMap;function wn(e=Ee()){Re(e);let n=_s.get(e);n===void 0&&(n=xu(e),_s.set(e,n));let r=n(e);return qr.get(e)!==r&&(qr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),qr.get(e)===r&&qr.delete(e);})),r}var Vr=new WeakMap;function Ks(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Au(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function zu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Gu(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&&zu(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ks(n)})}function Du(e=Ee()){let n=Re(e),r=Vr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=No(e),m=Le(e),g=nt(e),E=Qt(e),S=wn(e),A={disposed:false};function w(H){let R=Ks(H);if(A.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let I=o.getGeneration(),_=m.activeRef!==null&&m.activeRef.conversationType===R.conversationType&&m.activeRef.conversationId===R.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:R})),!Au(R))return Object.freeze({ok:false,reason:"unsupported",conversation:R});let J=c.deleteLocal(R);if(!J.ok){if(J.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:R});let O=Gu(J.error,R);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:I,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(A.disposed||o.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:R});zi(e,R);let q=m.closeActiveConversation(R),D=_||q;return D&&(g.reset(),E.reset(),S.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:R,data:{activeConversationCleared:D}})),Object.freeze({ok:true,status:"deleted",conversation:R,activeConversationCleared:D})}return A.coordinator=Object.freeze({deleteLocal:w}),Vr.set(e,A),we(e,()=>{A.disposed=true,Vr.get(e)===A&&Vr.delete(e);}),A.coordinator}var Ns=30,Fu=15,Ku=20,Nu=4294967295,Hs=new WeakMap;function $r(e){return typeof e=="object"&&e!==null}function zt(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 Ls(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Nu)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Hu(e,n){if(!$r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=zt(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=Ls(e.width,"asset.width"),c=Ls(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:zt(e.packageId,"asset.packageId"),resourceId:zt(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:zt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function tr(e,n){let r=Hs.get(e);r===void 0&&(r=new Map,Hs.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 Us(e,n,r,o){let s=tr(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=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);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Wr=new WeakMap;function nr(){return reactive({loading:false,loaded:false,error:null})}function wt(e){return {sticker:e(),gif:e()}}function qs(e){return {sticker:e(),gif:e(),emoji:e()}}function Vn(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 Lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function xt(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&&Lu(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 Jo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Vs(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function At(e){return "recordId"in e?e.recordId:void 0}function Uu(e){let n=[];for(let r=0;r<e.length;r+=Ns)n.push(e.slice(r,r+Ns));return n}function Qr(e){return e==="gif"?Ku:Fu}function We(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function Xo(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:We(o)!==r)].slice(0,Qr(n.kind)))}function qu(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>We(o)!==r)])}function Bs(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=We(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Qr(e)))break}return Object.freeze(o)}function $s(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function ea(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 Yo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:ea(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Zo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Vu(e){return defineStore("k2-im-expression",()=>{let n=Re(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),E=nr(),S=reactive({}),A=ref({sticker:[],gif:[]}),w=wt(nr),H=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),I=qs(nr),_=ref({sticker:[],gif:[],emoji:[]}),J=ref([]),q=ref("idle"),D=ref(""),O=ref([]),k=ref(0),Q=nr(),Z=ref(void 0),me=computed(()=>Vn(E,m.value.length)),N=computed(()=>{let d=new Set([...Object.keys(S),...Object.keys(g.value)]);return Object.fromEntries([...d].map(v=>{let h=S[v]??{loading:false,loaded:true,error:null};return [v,Vn(h,g.value[v]?.length??0)]}))}),P=computed(()=>({sticker:Vn(w.sticker,A.value.sticker.length),gif:Vn(w.gif,A.value.gif.length)})),j=computed(()=>({sticker:Vn(I.sticker,R.value.sticker.length),gif:Vn(I.gif,R.value.gif.length),emoji:Vn(I.emoji,J.value.length)})),$=computed(()=>Vn(Q,O.value.length)),b=computed(()=>Z.value!==void 0),T=false,F=0,Y=0,fe={},be=wt(()=>0),Pe=qs(()=>0),se=0,V=0,ce=0,de=0,ke=0,je=null,Oe=null,Te=null,K="emoji",L=new Set,pe=[],ge=null,ve=null,G=null,p=null,y=wt(()=>new Map),W=wt(()=>new Map),X=new Map,ie=new Map,ue=wt(()=>Promise.resolve());function Ie(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:F,accountId:d.userId}}function re(d){return !T&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===F&&d.accountId===r.getCredentials().userId}function he(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function Ge(d,v,h){let C=xt(v,d);return h.error=C,Object.freeze({ok:false,operation:d,reason:"failed",error:C})}function qe(){return Object.freeze({ok:false,reason:"stale"})}function ut(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 gn(){let d=v=>Object.freeze(R.value[v].flatMap(h=>{let C=ut(h);return C===null?[]:[Object.freeze({asset:C,pendingSync:y[v].has(We(C))})]}).slice(0,Qr(v)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(J.value.map(v=>v.kind==="game"?Object.freeze({...v}):Object.freeze({...v,pendingSync:X.has(v.stableKey)})))})}function In(){for(let d of ["sticker","gif","emoji"])I[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(I[d].error=null);}function U(d,v){let h=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return v.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function ne(d,v,h,C=[v]){let M=o,z=++ce,ae=Us(M,d.accountId,h,C);ke=ae.revision;let le=ae.promise.then(()=>(re(d)&&z===ce&&In(),true),oe=>{if(!re(d)||z!==ce)return false;let ye=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[v].error=ye,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ye.code,data:oe}})),false});return {...ae,settled:le}}function Me(d){return je!==null&&en(je,d)}function De(d){if(G!==null)return G;let h=(async()=>{for(;re(d)&&!Me(d);){let M=p!==null&&en(p.context,d)?p:null;if(M!==null){let ae=await M.promise;if(ae.ok||!re(d)||ae.reason!=="stale")return;continue}let z=await Ye();if(z.ok||!re(d)||z.reason!=="stale")return}})();G=h;let C=()=>{G===h&&(G=null);};return h.then(C,C),h}function xe(d,v,h){if(!re(d))return Promise.resolve();if(de+=1,o===void 0||d.accountId==="")return je=d,Promise.resolve();let C=gn();return Me(d)?ne(d,v,C).settled.then(()=>{}):(Te=C,K=v,L.add(v),pe.push(h),De(d))}function Ne(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function Be(d$1,v){let h=[...d$1.sticker],C=[...d$1.gif],M=[...d$1.emoji],z=new Map(d$1.pendingSticker),ae=new Map(d$1.pendingGif),le=new Map(d$1.pendingEmoji);for(let oe of v){if(oe.type==="prepend-asset"){(oe.kind==="sticker"?z:ae).set(We(oe.asset),oe.asset),oe.kind==="sticker"?h=[...Xo(h,oe.asset)]:C=[...Xo(C,oe.asset)];continue}if(oe.type==="prepend-emoji"||oe.type==="prepend-emojis"){let Ce=oe.type==="prepend-emoji"?[oe.entry]:oe.entries;for(let Ke of Ce)Ke.kind==="emoji"&&le.set(Ke.stableKey,Ke),M=[...d(M,Ke)];continue}if(oe.type==="authoritative"){if(oe.kind==="emoji"){for(let Ce of oe.items)if(Ce.kind==="emoji")for(let[Ke,Ue]of le)Ue.resourceId===Ce.resourceId&&le.delete(Ke);M=[...Yo(oe.items,M,new Set(le.keys()))];}else {let Ce=oe.kind==="sticker"?z:ae;for(let Ue of oe.items)Ue.kind===oe.kind&&Ce.delete(We(Ue));let Ke=Bs(oe.kind,oe.items,Ce);oe.kind==="sticker"?h=[...Ke]:C=[...Ke];}continue}if(oe.type==="delete-assets"){let Ce=new Set(oe.identities),Ke=oe.kind==="sticker"?z:ae,Ue=ze=>ze.kind==="emoji"||!Ce.has(We(ze))||Ke.has(We(ze));oe.kind==="sticker"?h=h.filter(Ue):C=C.filter(Ue);continue}let ye=new Set(oe.resourceIds);M=M.filter(Ce=>Ce.kind==="game"||!ye.has(Ce.resourceId)||le.has(Ce.stableKey));}return {sticker:Object.freeze(h),gif:Object.freeze(C),emoji:Object.freeze(M),pendingSticker:z,pendingGif:ae,pendingEmoji:le}}function Ze(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 v=(le,oe)=>{let ye=[],Ce=new Map,Ke=new Set;for(let Ue of oe){if(!$r(Ue)||typeof Ue.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let ze=Hu(Ue.asset,le),$e=We(ze);Ke.has($e)||(Ke.add($e),ye.length<Qr(le)&&(ye.push(ze),Ue.pendingSync&&Ce.set($e,ze)));}return {items:Object.freeze(ye),pending:Ce}},h=v("sticker",d.sticker),C=v("gif",d.gif),M=[],z=new Map,ae=new Set;for(let le of d.emoji){if(!$r(le)||typeof le.stableKey!="string"||le.stableKey.trim()===""||le.kind!=="emoji"&&le.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let oe=le.stableKey.trim(),ye,Ce=false;if(le.kind==="game"){if(le.gameType!=="dice"&&le.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ye=Zo(le.gameType),ye.stableKey!==oe)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Ke=zt(le.token,"emoji.token"),Ue=zt(le.resourceId,"emoji.resourceId");if(typeof le.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Ce=le.pendingSync,ye=Object.freeze({kind:"emoji",stableKey:oe,token:Ke,resourceId:Ue});}ae.has(oe)||(ae.add(oe),M.length<14&&(M.push(ye),ye.kind==="emoji"&&Ce&&z.set(oe,ye)));}return {sticker:h.items,gif:C.items,emoji:Object.freeze(M),pendingSticker:h.pending,pendingGif:C.pending,pendingEmoji:z}}function On(d){R.value={sticker:d.sticker,gif:d.gif,emoji:[]},_.value={sticker:[],gif:[],emoji:[]},J.value=d.emoji,y.sticker.clear(),y.gif.clear(),X.clear();for(let[v,h]of d.pendingSticker)y.sticker.set(v,h);for(let[v,h]of d.pendingGif)y.gif.set(v,h);for(let[v,h]of d.pendingEmoji)X.set(v,h);for(let v of ["sticker","gif","emoji"])Object.assign(I[v],{loading:false,loaded:true,error:null});}function Xe(d,v){if(o===void 0||d.accountId==="")return 0;let h=tr(o,d.accountId);return v===void 0?h.revision:h.kindRevisions[v]}function He(d){if(o===void 0||d.accountId===""||!Me(d))return;let v=tr(o,d.accountId);if(v.revision===ke)return;let h=v.latestSnapshot===null?Ne():Ze(v.latestSnapshot),C=(M,z)=>{let ae=M==="sticker"?h.pendingSticker:h.pendingGif,le=new Map(R.value[M].flatMap(oe=>oe.kind==="emoji"||oe.kind!==M?[]:[[We(oe),oe]]));return Object.freeze(z.map(oe=>{if(oe.kind==="emoji"||oe.kind!==M)return oe;let ye=We(oe);if(ae.has(ye))return oe;let Ce=At(le.get(ye)??oe);return Object.freeze({...oe,...Ce===void 0?{}:{recordId:Ce}})}))};R.value={sticker:C("sticker",h.sticker),gif:C("gif",h.gif),emoji:R.value.emoji},J.value=h.emoji,y.sticker.clear(),y.gif.clear(),X.clear();for(let[M,z]of h.pendingSticker)y.sticker.set(M,z);for(let[M,z]of h.pendingGif)y.gif.set(M,z);for(let[M,z]of h.pendingEmoji)X.set(M,z);for(let M of ["sticker","gif"]){let z=new Set(R.value[M].flatMap(ae=>At(ae)===void 0?[]:[At(ae)]));_.value={..._.value,[M]:Object.freeze(_.value[M].filter(ae=>z.has(ae)))};}ke=v.revision;}async function hn(d,v,h,C){let M="hydrate-recent";I.emoji.error=null;try{let z=null,ae=0;if(o!==void 0&&d.accountId!==""){z=tr(o,d.accountId);let ze=z.latestSnapshot;if(!C&&z.status==="failed"&&ze!==null&&Us(o,d.accountId,ze,[]),ae=z.revision,await z.tail.catch(()=>{}),v!==V||!re(d)||de!==h||z.revision!==ae)return he(M);if(!C&&z.status==="failed")return U(M,I.emoji);z.status==="saved"&&ge!==null&&z.latestSnapshot===ge&&Te===ve&&(Te=null,L.clear(),pe.length=0,ge=null,ve=null);}let le=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(v!==V||!re(d)||de!==h||z!==null&&z.revision!==ae)return he(M);let oe;try{oe=le===null?Ne():Ze(le);}catch(ze){let $e=o?.clearInvalid;if(le!==null&&d.accountId!==""&&$e!==void 0)try{await $e(d.accountId,le);}catch(an){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:an})}throw ze}let ye=C?null:Te,Ce=new Set(L),Ke=[...pe],Ue=ye===null?oe:Be(oe,Ke);if(On(Ue),ke=ae,C){if(Te=null,L.clear(),pe.length=0,ge=null,ve=null,z!==null){z.revision+=1;for(let ze of ["sticker","gif","emoji"])z.kindRevisions[ze]+=1;z.status="saved",z.latestSnapshot=le,z.error=null,ke=z.revision;}return je=d,In(),Object.freeze({ok:!0,operation:M})}if(ye!==null&&o!==void 0&&d.accountId!==""){let ze=gn();ge=ze,ve=ye;let $e=ne(d,K,ze,[...Ce]),an=await $e.settled;if(v!==V||!re(d)||de!==h||$e.coordinator.revision!==$e.revision)return he(M);if(!an)return U(M,I.emoji);Te===ye&&(Te=null,L.clear(),pe.length=0,ge=null,ve=null);}return je=d,Object.freeze({ok:!0,operation:M})}catch(z){return v!==V||!re(d)?he(M):Ge(M,z,I.emoji)}}function en(d,v){return d.client===v.client&&d.generation===v.generation&&d.stateEpoch===v.stateEpoch&&d.accountId===v.accountId}function Ye(d={}){let v="hydrate-recent";if(T)return Promise.resolve(he(v));let h;try{h=Ie();}catch(ye){let Ce=Ge(v,ye,I.emoji);return !Ce.ok&&Ce.reason==="failed"&&(Oe=Ce.error??I.emoji.error),Promise.resolve(Ce)}let C=o===void 0||h.accountId===""?null:tr(o,h.accountId);if(!d.force&&Me(h)&&Te===null&&(C===null||(C.status==="idle"||C.status==="saved")&&C.revision===ke))return Oe=null,Promise.resolve(Object.freeze({ok:true,operation:v}));if(!d.force&&p!==null&&!p.force&&p.stateRevision===de&&en(p.context,h))return p.promise;let M=++V,z=de,ae=hn(h,M,z,d.force===true).then(ye=>(ye.ok?Oe=null:ye.reason==="failed"&&(Oe=ye.error??I.emoji.error),ye)),le={context:h,stateRevision:z,force:d.force===true,promise:ae};p=le;let oe=()=>{p===le&&(p=null);};return ae.then(oe,oe),ae}async function yn(d){let v="load-packs";if(T)return he(v);let h=++Y,C;try{C=Ie();}catch(M){return Ge(v,M,E)}E.loading=true,E.error=null;try{let M=await C.client.expressions.packs.list(d);return h!==Y||!re(C)?he(v):(c.value=M.version,m.value=Object.freeze([...M.items]),E.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(M){return h!==Y||!re(C)?he(v):Ge(v,M,E)}finally{h===Y&&re(C)&&(E.loading=false);}}async function An(d){let v="load-pack-items";if(T)return he(v);let h=d.trim();if(h===""){let ae=xt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),v);return Object.freeze({ok:false,operation:v,reason:"failed",error:ae})}let C=S[h]??=nr(),M=(fe[h]??0)+1;fe[h]=M;let z;try{z=Ie();}catch(ae){return Ge(v,ae,C)}C.loading=true,C.error=null;try{let ae=await z.client.expressions.packs.listItems(h);return fe[h]!==M||!re(z)?he(v):(g.value={...g.value,[h]:Object.freeze([...ae])},C.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ae){return fe[h]!==M||!re(z)?he(v):Ge(v,ae,C)}finally{fe[h]===M&&re(z)&&(C.loading=false);}}async function dt(d){let v="load-favorites";if(T)return he(v);let h=++be[d],C=w[d],M;try{M=Ie();}catch(z){return Ge(v,z,C)}C.loading=true,C.error=null;try{let z=await M.client.expressions.favorites.list(d);return be[d]!==h||!re(M)?he(v):($n(d,z),C.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(z){return be[d]!==h||!re(M)?he(v):Ge(v,z,C)}finally{be[d]===h&&re(M)&&(C.loading=false);}}function $n(d,v){for(let z of v)W[d].delete(We(z));let h=[],C=new Set;for(let z of [...W[d].values(),...v]){let ae=We(z);C.has(ae)||(C.add(ae),h.push(Object.freeze({...z})));}A.value={...A.value,[d]:Object.freeze(h)};let M=new Set(v.flatMap(z=>z.recordId===void 0?[]:[z.recordId]));H.value={...H.value,[d]:Object.freeze(H.value[d].filter(z=>M.has(z)))};}async function Wn(d,v,h){let C=w[v];try{let M=await d.client.expressions.favorites.list(v);if(be[v]!==h||!re(d))return;$n(v,M),C.loaded=!0;}catch(M){be[v]===h&&re(d)&&(C.error=xt(M,"load-favorites"));}}function Sn(d,v){let h="set-favorite";if(T)return Promise.resolve(he(h));let C=We(d),M=ie.get(C);if(M?.desired===v)return M.promise;let z;try{z=Ie();}catch(ye){return Promise.resolve(Ge(h,ye,w[d.kind]))}let ae=M?.promise.catch(()=>{})??Promise.resolve(),le=ue[d.kind].catch(()=>{}),oe=Promise.all([ae,le]).then(async()=>{if(!re(z))return he(h);let ye=d.kind,Ce=w[ye];Ce.error=null;let Ke=A.value[ye].find(ze=>We(ze)===C);if(v&&Ke!==void 0)return Object.freeze({ok:true,operation:h});if(!v&&Ke?.recordId===void 0){let ze=Jo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Ce.error=ze,Object.freeze({ok:false,operation:h,reason:"failed",error:ze})}let Ue=++be[ye];try{if(v?await z.client.expressions.favorites.add(d):await z.client.expressions.favorites.delete([Ke.recordId]),!re(z))return he(h);v?(W[ye].set(C,Object.freeze({...d})),A.value={...A.value,[ye]:qu(A.value[ye],d)}):(W[ye].delete(C),A.value={...A.value,[ye]:Object.freeze(A.value[ye].filter($e=>$e.recordId!==Ke.recordId))});let ze=++be[ye];return Ue=ze,await Wn(z,ye,ze),!re(z)||be[ye]!==ze?he(h):Object.freeze({ok:!0,operation:h})}catch(ze){return !re(z)||be[ye]!==Ue?he(h):Ge(h,ze,Ce)}finally{be[ye]===Ue&&re(z)&&(Ce.loading=false);}});return ie.set(C,{desired:v,promise:oe}),ue[d.kind]=oe.then(()=>{},()=>{}),oe.finally(()=>{ie.get(C)?.promise===oe&&ie.delete(C);}),oe}async function zn(d){let v=await Sn(d,true);return Object.freeze({...v,operation:"add-favorite"})}function Gn(d){return Sn(d,false)}function Tn(d,v,h){if(T)return;let C=Vs(v),M=new Set(H.value[d]);h??!M.has(C)?M.add(C):M.delete(C),H.value={...H.value,[d]:Object.freeze([...M])};}function dn(d,v,h){if(He(h),d==="emoji"){for(let M of v)if(M.kind==="emoji")for(let[z,ae]of X)ae.resourceId===M.resourceId&&X.delete(z);R.value={...R.value,emoji:Object.freeze([...v])},J.value=Yo(v,J.value,new Set(X.keys()));}else {for(let M of v)M.kind===d&&y[d].delete(We(M));R.value={...R.value,[d]:Bs(d,v,y[d])};}let C=new Set(v.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));_.value={..._.value,[d]:Object.freeze(_.value[d].filter(M=>C.has(M)))},I[d].loaded=true,xe(h,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...v])}));}async function fn(d){let v="load-recent";if(T)return he(v);let h=I[d],C=await Ye();if(!C.ok)return C.reason==="stale"?he(v):(h.error=C.error??I.emoji.error,Object.freeze({...C,operation:v}));let M=++Pe[d],z;try{z=Ie();}catch(ae){return Ge(v,ae,h)}h.loading=true,h.error=null;try{let ae=Xe(z,d),le=await z.client.expressions.recent.list(d);return Pe[d]!==M||!re(z)?he(v):Xe(z,d)!==ae?(He(z),he(v)):(dn(d,le,z),Object.freeze({ok:!0,operation:v}))}catch(ae){return Pe[d]!==M||!re(z)?he(v):Ge(v,ae,h)}finally{Pe[d]===M&&re(z)&&(h.loading=false);}}async function Pn(d,v){if(!re(d))return;let h=++Pe[v],C=I[v];C.loading=true,C.error=null;try{He(d);let M=Xe(d,v),z=await d.client.expressions.recent.list(v);if(Pe[v]!==h||!re(d))return;if(Xe(d,v)!==M){He(d);return}dn(v,z,d);}catch(M){Pe[v]===h&&re(d)&&(C.error=xt(M,"load-recent"));}finally{Pe[v]===h&&re(d)&&(C.loading=false);}}function bn(d,v){if(!re(d))return false;He(d),V+=1;let h=v.kind,C=Object.freeze({...v});return y[h].set(We(C),C),R.value={...R.value,[h]:Xo(R.value[h],C)},I[h].loaded=true,xe(d,h,Object.freeze({type:"prepend-asset",kind:h,asset:C})),true}function Cn(d$1,v){if(!re(d$1))return false;He(d$1),V+=1;let h=Object.freeze(v.map(M=>Object.freeze({...M}))),C=J.value;for(let M of h)X.set(M.stableKey,M),C=d(C,M);return J.value=C,I.emoji.loaded=true,xe(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:h})),true}function nn(d,v){return Cn(d,[v])}async function tn(d,v,h=true){let C="report-recent";if(!re(d))return he(C);let M=v.kind,z=++Pe[M],ae=I[M];ae.error=null;try{if(await d.client.expressions.recent.report(v),Pe[M]!==z||!re(d))return he(C);if(!h)return Object.freeze({ok:!0,operation:C});try{He(d);let le=Xe(d,M),oe=await d.client.expressions.recent.list(M);if(Pe[M]!==z||!re(d))return he(C);if(Xe(d,M)!==le)return He(d),he(C);dn(M,oe,d);}catch(le){Pe[M]===z&&re(d)&&(ae.error=xt(le,"load-recent"));}return Object.freeze({ok:!0,operation:C})}catch(le){return Pe[M]!==z||!re(d)?he(C):Ge(C,le,ae)}}async function co(d){let v="report-recent";if(T)return he(v);let h;try{h=Ie();}catch(C){return Ge(v,C,I[d.kind])}return d.kind==="emoji"?nn(h,Object.freeze({...d,stableKey:ea(d)})):bn(h,d),tn(h,d)}function uo(d,v,h){if(T)return;let C=Vs(v),M=new Set(_.value[d]);h??!M.has(C)?M.add(C):M.delete(C),_.value={..._.value,[d]:Object.freeze([...M])};}async function or(d,v,h){let C=d==="favorites"?"delete-favorites":"delete-recent";if(T)return he(C);let M=d==="favorites"?H:_,z=d==="favorites"?be:Pe,ae=d==="favorites"?w:I,le=h?.selected??M.value[v];if(le.length===0)return Object.freeze({ok:false,operation:C,reason:"empty"});let oe=ae[v];if(oe.loading)return Object.freeze({ok:false,operation:C,reason:"busy"});let ye=++z[v],Ce;try{Ce=h?.context??Ie();}catch(_e){return Ge(C,_e,oe)}d==="recent"&&He(Ce);let Ke=d==="recent"?Xe(Ce,v):0,Ue=new Set(le),ze=d==="recent"?R.value[v].filter(_e=>{let sn=At(_e);return sn!==void 0&&Ue.has(sn)}):[];oe.loading=true,oe.error=null;let $e=[],an=new Set,_n,Fn,mn=false;for(let _e of Uu(le)){if(!re(Ce))return he(C);if(d==="recent"&&z[v]!==ye){mn=true;break}try{d==="favorites"?await Ce.client.expressions.favorites.delete(_e):await Ce.client.expressions.recent.delete(_e);for(let sn of _e)an.add(sn);}catch(sn){let Kn=xt(sn,C);_n??=Kn,$e.push(..._e);}}if(!re(Ce))return he(C);if(d==="recent"&&z[v]!==ye&&(mn=true),d==="recent"&&Xe(Ce,v)!==Ke&&(mn=true),d==="favorites"){let _e=v;A.value={...A.value,[_e]:Object.freeze(A.value[_e].filter(Nn=>Nn.recordId===void 0||!an.has(Nn.recordId)))};let sn=new Set(le),Kn=H.value[_e].filter(Nn=>!sn.has(Nn));if(H.value={...H.value,[_e]:Object.freeze([...new Set([...Kn,...$e])])},Fn=++be[_e],await Wn(Ce,_e,Fn),!re(Ce))return he(C)}else {let _e=v;He(Ce);let sn=ze.filter(Fe=>{let pn=At(Fe);return pn!==void 0&&an.has(pn)}),Kn=new Set(sn.filter(Fe=>Fe.kind==="emoji").map(Fe=>Fe.resourceId)),Nn=new Set(sn.filter(Fe=>Fe.kind!=="emoji").map(We));_e==="emoji"&&(J.value=Object.freeze(J.value.filter(Fe=>Fe.kind==="game"||!Kn.has(Fe.resourceId)||X.has(Fe.stableKey)))),R.value={...R.value,[_e]:Object.freeze(R.value[_e].filter(Fe=>{let pn=At(Fe);return pn===void 0||!an.has(pn)}))};let mo=new Set(le),Rn=mn?_.value[_e].filter(Fe=>!an.has(Fe)):_.value[_e].filter(Fe=>!mo.has(Fe));if(_.value={..._.value,[_e]:Object.freeze(mn?Rn:[...new Set([...Rn,...$e])])},_e==="emoji"){let Fe=R.value.emoji.filter(pn=>pn.kind==="emoji");J.value=Yo(Fe,J.value,new Set(X.keys()));}let kn=Object.freeze(_e==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Kn])}:{type:"delete-assets",kind:_e,identities:Object.freeze([...Nn])});if(xe(Ce,_e,kn),mn&&an.size>0&&await Pn(Ce,_e),!re(Ce))return he(C)}return (d==="recent"?Pe[v]===ye:be[v]===Fn)&&(oe.loaded=true,(_n!==void 0||d==="recent")&&(oe.error=_n??null),oe.loading=false),mn?he(C):$e.length===0?Object.freeze({ok:true,operation:C}):Object.freeze({ok:false,operation:C,reason:an.size===0?"failed":"partial",error:_n,failedRecordIds:Object.freeze($e)})}function fo(d){let v="delete-favorites";if(T)return Promise.resolve(he(v));let h=Object.freeze([...H.value[d]]);if(h.length===0)return Promise.resolve(Object.freeze({ok:false,operation:v,reason:"empty"}));let C;try{C=Ie();}catch(ae){return Promise.resolve(Ge(v,ae,w[d]))}let z=ue[d].catch(()=>{}).then(()=>re(C)?or("favorites",d,{context:C,selected:h}):he(v));return ue[d]=z.then(()=>{},()=>{}),z}function ar(d){return or("recent",d)}function ft(d,v){let h=++se;return q.value=d,D.value=v,O.value=[],k.value=0,Z.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,h}async function mt(d,v){let h="load-giphy";if(T)return he(h);let C={mode:q.value,query:D.value,items:O.value,totalCount:k.value,nextOffset:Z.value,loaded:Q.loaded},M=ft(d,v),z=()=>{q.value=C.mode,D.value=C.query,O.value=C.items,k.value=C.totalCount,Z.value=C.nextOffset,Q.loaded=C.loaded;},ae;try{ae=Ie();}catch(le){return z(),Q.loading=false,Ge(h,le,Q)}try{let le=d==="trending"?await ae.client.expressions.giphy.trending():await ae.client.expressions.giphy.search(v);return M!==se||!re(ae)?he(h):(O.value=$s(le.items),k.value=le.totalCount,Z.value=le.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:h}))}catch(le){return M!==se||!re(ae)?he(h):(z(),Ge(h,le,Q))}finally{M===se&&re(ae)&&(Q.loading=false);}}function pt(){return mt("trending","")}function Dn(d){if(T)return Promise.resolve(he("load-giphy"));let v=d.trim();return v===""?(ft("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):mt("search",v)}async function ir(){let d="load-more-giphy";if(T)return he(d);if(Q.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(q.value==="idle"||Z.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let v=++se,h=q.value,C=D.value,M=Z.value,z;try{z=Ie();}catch(ae){return Ge(d,ae,Q)}Q.loading=true,Q.error=null;try{let ae=h==="trending"?await z.client.expressions.giphy.trending({offset:M}):await z.client.expressions.giphy.search(C,{offset:M});return v!==se||!re(z)?he(d):(O.value=$s([...O.value,...ae.items]),k.value=ae.totalCount,Z.value=ae.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ae){return v!==se||!re(z)?he(d):Ge(d,ae,Q)}finally{v===se&&re(z)&&(Q.loading=false);}}async function sr(d){return Dt([d])}async function Dt(d){let v="report-recent";if(T)return he(v);if(d.length===0)return Object.freeze({ok:true,operation:v});let h;try{h=Ie();}catch(z){return Ge(v,z,I.emoji)}let C=Object.freeze(d.map(z=>Object.freeze({...z,stableKey:ea(z)})));if(!Cn(h,C))return he(v);let M=Object.freeze({ok:true,operation:v});for(let[z,ae]of C.entries())if(M=await tn(h,{kind:"emoji",token:ae.token,resourceId:ae.resourceId},z===C.length-1),!M.ok&&M.reason==="stale")return M;return M}function rn(d,v){tn(d,v).then(h=>{s.record(h.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:v.kind,ok:h.ok}}));});}async function lr(d,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d.messages.sendSticker(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&bn(h,v)&&rn(h,v),C):qe()}async function _t(d,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d.messages.sendGifAsset(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&bn(h,v)&&rn(h,v),C):qe()}async function vt(d$1,v){if(T)return qe();let h;try{h=Ie();}catch{return qe()}let C;try{C=await d$1.messages.sendGame(v);}catch(M){if(!re(h))return qe();throw M}return re(h)?(C.ok&&(He(h),V+=1,J.value=d(J.value,Zo(v)),I.emoji.loaded=true,xe(h,"emoji",Object.freeze({type:"prepend-emoji",entry:Zo(v)}))),C):qe()}function on(d={}){if(T)return;let v=d.preserveRecentHydrationFailure===true?Oe:null;F+=1,Y+=1,se+=1,V+=1,ce+=1,de=0,ke=0,je=null,Te=null,L.clear(),pe.length=0,ge=null,ve=null,G=null,p=null,Oe=v,ie.clear(),ue=wt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(E,{loading:false,loaded:false,error:null});for(let h of Object.keys(S))delete S[h];for(let h of Object.keys(fe))fe[h]=(fe[h]??0)+1;A.value={sticker:[],gif:[]},H.value={sticker:[],gif:[]};for(let h of ["sticker","gif"])be[h]+=1,Object.assign(w[h],{loading:false,loaded:false,error:null});R.value={sticker:[],gif:[],emoji:[]},_.value={sticker:[],gif:[],emoji:[]},J.value=[],y.sticker.clear(),y.gif.clear(),W.sticker.clear(),W.gif.clear(),X.clear();for(let h of ["sticker","gif","emoji"])Pe[h]+=1,Object.assign(I[h],{loading:false,loaded:false,error:null});v!==null&&(I.emoji.error=v),q.value="idle",D.value="",O.value=[],k.value=0,Z.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function cr(){T||(on(),T=true);}return Wr.set(e,Object.freeze({dispose:cr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:me,packItemStatus:N,favorites:A,favoriteStatus:P,favoriteSelection:H,recent:R,recentStatus:j,recentSelection:_,emojiRecent:J,giphyMode:q,giphyQuery:D,giphyItems:O,giphyTotalCount:k,giphyHasMore:b,giphyStatus:$,hydrateRecent:Ye,loadPacks:yn,loadPackItems:An,loadFavorites:dt,addFavorite:zn,setFavorite:Sn,unsetFavorite:Gn,toggleFavoriteSelection:Tn,deleteSelectedFavorites:fo,loadRecent:fn,reportRecent:co,rememberEmoji:sr,rememberEmojis:Dt,toggleRecentSelection:uo,deleteSelectedRecent:ar,loadGiphyTrending:pt,searchGiphy:Dn,loadMoreGiphy:ir,sendSticker:lr,sendGif:_t,sendGame:vt,reset:on}})}var Ws=new WeakMap,Br=new WeakMap;function Bu(e=Ee()){Re(e);let n=Ws.get(e);n===void 0&&(n=Vu(e),Ws.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 ImExpressionStore");return Br.get(e)!==r&&(Br.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),Br.get(e)===r&&(Br.delete(e),Wr.get(e)===o&&Wr.delete(e));})),r}var Jr=new WeakMap;function Js(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function $u(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Wu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Qu(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&&Wu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Js(n)})}function Ju(e=Ee()){let n=Re(e),r=Jr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Le(e),m=wn(e),g={disposed:false};function E(I){return !g.disposed&&o.getGeneration()===I.generation&&c.getHandle()===I.handle&&Xr(c.activeRef,I.conversation)}function S(){let I=g.activeIntent;I!==void 0&&(g.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function A(I){if(!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:I.generation,conversation:I.conversation}));try{if(!await c.loadLatest()||!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:I.generation,conversation:I.conversation})),I.complete(Object.freeze({status:"applied",conversation:I.conversation}));}catch(_){if(!E(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let J=Qu(_,I.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:I.generation,conversation:I.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:J}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:J}));}}function w(I){let _=g.activeIntent;_===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==_.selfId||I.message.status==="sent"||!Xr(I.ref,_.conversation)||(g.activeIntent=void 0,A(_));}async function H(I,_){let J=c.getHandle();if(!$u(I)||g.disposed||!c.hasNewer||J===void 0||!Xr(J.ref,I)||!Xr(c.activeRef,I))return Object.freeze({value:await _(),history:Object.freeze({status:"not-needed"})});S();let q=Js(I),D,O=new Promise(Q=>{let Z=false;D=me=>{Z||(Z=true,Q(me));};}),k={token:Symbol("history-return-after-send"),conversation:q,handle:J,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:D};g.activeIntent=k;try{let Q=await _();return g.activeIntent?.token===k.token&&(g.activeIntent=void 0,k.complete(E(k)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:q}))),Object.freeze({value:Q,history:await O})}catch(Q){throw g.activeIntent?.token===k.token&&(g.activeIntent=void 0,k.complete(E(k)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:q}))),await O,Q}}let R=o.subscribeProductEvents(w);return g.coordinator=Object.freeze({run:H}),Jr.set(e,g),we(e,()=>{g.disposed=true,S(),R(),Jr.get(e)===g&&Jr.delete(e);}),g.coordinator}function Xs(e,n,r){let o=e.bytesTransferred,s=e.bytesTotal;if(e.state!=="running"||e.phase!=="transferring"||o===void 0||s===void 0||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<0||s<=0||o>=s)return {};let c=n===void 0||n.attempt!==e.attempt||n.bytesTotal!==s||o<n.lastBytes||r<n.lastAt||r-n.lastAt>=3e4,m=c?[{at:r,bytes:o}]:[...n.measurements];!c&&o>n.lastBytes&&r-m.at(-1).at>=1e3&&m.push({at:r,bytes:o});let g=!c&&o===n.lastBytes?n.lastAt:r;for(;m.length>1&&m[1].at<=g-5e3;)m.shift();let E=m[0],S={startedAt:E.at,startedBytes:E.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},A=S.lastAt-S.startedAt,w=o-S.startedBytes;if(A<1e3||w<=0)return {sample:S};let H=w*1e3/A,R=(s-o)*1e3/H;return !Number.isFinite(H)||!Number.isFinite(R)?{sample:S}:{sample:S,estimate:{bytesPerSecond:H,estimatedRemainingMs:Math.ceil(R)}}}function aa(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function el(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:aa(e.conversation)}})}function Zu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yr(e,n){return Zu(e)?el(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function ed(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:aa(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.items===void 0?{}:{items:Object.freeze(e.items.map(r=>Object.freeze({...r})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:el(e.error)}})}function nl(e,n){return n===void 0?e:`${e}\0${n}`}function xn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ta(e,n){if(e.status!=="sent")return;let o=(e.contentType==="mediaAlbum"?n===void 0?void 0:e.body.mediaAlbum?.items[n]:n!==void 0?void 0:e.contentType==="image"?e.body.image:e.contentType==="video"?e.body.video:void 0)?.url;return o===void 0||o===""||/^(?:blob|data):/i.test(o)?void 0:o}function ra(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function oa(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function nd(e){return defineStore("k2-im-media",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),g=shallowRef({}),E=ref(false),S=false,A=0,w=null,H=-1,R,I,_=0,J,q=false,D=computed(()=>{let G=[],p=o.activeRef;for(let y of o.messages){if(p===null||y.conversationType!==p.conversationType||y.conversationId!==p.conversationId)continue;let W=y.contentType==="mediaAlbum"?y.body.mediaAlbum?.items.map((X,ie)=>ie)??[]:[void 0];for(let X of W){let ie=ta(y,X);ie!==void 0&&G.push({key:ra(y,X),url:ie,kind:oa(y,X),message:{conversation:aa(p),messageId:y.id,...X===void 0?{}:{itemIndex:X}}});}}return G});async function O(){if(S||w===null||J!==void 0||!q)return;q=false;let G=w,p=A,y=H,W=_,X=D.value;if(X.length===0||n.getGeneration()!==y){E.value=false;return}let ie={};J=ie;let ue=()=>!S&&w===G&&A===p&&n.getGeneration()===y&&_===W;try{let Ie=await G.media.probeCached(X.map(re=>re.message));if(!ue())return;if(Ie.length!==X.length||Ie.some(re=>typeof re!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u5FC5\u987B\u4E0E\u6D88\u606F\u5F15\u7528\u4E00\u4E00\u5BF9\u5E94");g.value=Object.freeze(Object.fromEntries(X.map((re,he)=>[re.key,Ie[he]]))),c.value?.operation==="media.probeCached"&&(c.value=null);}catch(Ie){if(!ue())return;let re=Yr(Ie,"probeCached");c.value=re,r.record("error","pinia","media","media-cache-probe-failed",()=>({generation:y,data:{count:X.length},error:{message:re.code,data:re}}));}finally{J===ie&&(J=void 0,q?O():ue()&&(E.value=false));}}function k(){if(_+=1,g.value={},S||w===null||n.getGeneration()!==H||D.value.length===0){E.value=false;return}E.value=true,q||(q=true,Promise.resolve().then(O));}let Q=watch(()=>JSON.stringify(D.value),k,{flush:"sync"});function Z(G,p){if(S||w===null||n.getGeneration()!==H)return;let y=ra(G,p),W=ta(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===oa(G,p)?g.value[y]:void 0}function me(G,p){if(!E.value||S||w===null||n.getGeneration()!==H)return false;let y=ra(G,p),W=ta(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===oa(G,p)}let N=new Map,P=computed(()=>{let G={};for(let p of s.value)p.direction==="upload"&&xn(o.activeRef,p.ref)&&(G[p.messageId]=p);return G}),j=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction!=="upload"||y.state!=="queued"&&y.state!=="running"&&y.state!=="paused"||!xn(G,y.ref)||(p[y.messageId]=y.state==="queued"?0:y.percent);return p}),$=computed(()=>{let G={};for(let p of s.value)p.direction==="download"&&xn(o.activeRef,p.ref)&&(G[nl(p.messageId,p.itemIndex)]=p);return G}),b=computed(()=>{let G={};for(let[p,y]of Object.entries($.value))(y.state==="queued"||y.state==="running")&&(G[p]=y.percent);return G}),T=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="queued"&&y.phase==="waiting-upload-slot"&&xn(G,y.ref)&&(p[y.messageId]=true);return p}),F=computed(()=>{let G=o.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="running"&&y.phase==="finalizing"&&xn(G,y.ref)&&(p[y.messageId]=true);return p});function Y(G,p,y){if(S||w!==p||H!==y||n.getGeneration()!==y)return;let W=new Set,X=Date.now();s.value=G.map(ie=>{let ue=JSON.stringify([ie.id,ie.ref.conversationType,ie.ref.conversationId]);W.add(ue);let{sample:Ie,estimate:re}=Xs(ie,N.get(ue),X);return Ie===void 0?N.delete(ue):N.set(ue,Ie),ed(ie,re)});for(let ie of N.keys())W.has(ie)||N.delete(ie);}function fe(G){let p=n.getGeneration();if(S)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(w===G&&H===p||(A+=1,R?.(),R=void 0,I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,w=G,H=G===null?-1:p,s.value=[],N.clear(),c.value=null,m.value=null,G===null))return;let y=false;R=G.media.subscribe(X=>{y=true,Y(X,G,p);});let W=A;I=G.media.subscribeCacheChanges(()=>{!S&&w===G&&A===W&&n.getGeneration()===p&&k();}),k(),y||Y(G.media.getSnapshot(),G,p),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:p}));}function be(){fe(n.getProductClient());}function Pe(){fe(null),m.value=null;}async function se(G,p,y){let W=n.getProductClient();if(W===null)return Object.freeze({ok:false,operation:G,reason:"not-ready"});if(fe(W),!s.value.some(ue=>ue.id===p))return Object.freeze({ok:false,operation:G,reason:"not-found"});let X=n.getGeneration(),ie=A;c.value=null;try{return G==="retry"&&y!==void 0?await W.media.retry(p,y):G==="cancel"&&y!==void 0?await W.media.cancel(p,y):await W.media[G](p),S||ie!==A||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:G,reason:"stale"}):Object.freeze({ok:!0,operation:G})}catch(ue){if(S||ie!==A||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:G,reason:"stale"});let Ie=Yr(ue,G);return c.value=Ie,r.record("error","pinia","media",`media-task-${G}-failed`,()=>({generation:X,data:{taskId:p},error:{message:Ie.code,data:Ie}})),Object.freeze({ok:false,operation:G,reason:"failed",error:Ie})}}function V(G,p){return se("cancel",G,p)}function ce(G,p){return se("retry",G,p)}function de(G){return se("pause",G)}function ke(G){return se("resume",G)}async function je(G){let p=n.getProductClient();if(p===null)return {available:false,reason:"not-ready"};fe(p);let y=n.getGeneration(),W=A;try{let X=await p.media.getUploadRecovery(G);return S||W!==A||n.getGeneration()!==y||w!==p?{available:!1,reason:"stale"}:Object.freeze({available:X.available,...X.reason===void 0?{}:{reason:X.reason},...X.expiresAt===void 0?{}:{expiresAt:X.expiresAt}})}catch(X){return S||W!==A||n.getGeneration()!==y||w!==p?{available:false,reason:"stale"}:(c.value=Yr(X,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Oe(G,p){let y="resumeUpload",W=n.getProductClient();if(W===null)return Object.freeze({ok:false,operation:y,reason:"not-ready"});fe(W);let X=n.getGeneration(),ie=A;c.value=null;try{return await W.media.resumeUpload(G,p),S||ie!==A||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:y,reason:"stale"}):Object.freeze({ok:!0,operation:y})}catch(ue){if(S||ie!==A||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:y,reason:"stale"});let Ie=Yr(ue,y);return Ie.code!=="IM_SDK_MEDIA_PAUSED"&&Ie.code!=="IM_SDK_MEDIA_CANCELLED"&&(c.value=Ie),Object.freeze({ok:false,operation:y,reason:"failed",error:Ie})}}async function Te(G,p){let y=o.activeRef,W=s.value.find(ie=>ie.direction==="upload"&&(ie.state==="queued"||ie.state==="running"||ie.state==="paused")&&ie.messageId===G&&xn(y,ie.ref));if(W===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let X=await V(W.id,p);return xn(o.activeRef,W.ref)?X:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function K(G,p){let y=typeof G=="string"?G:G.messageId,W=typeof G=="string"?p:G.itemIndex,X=s.value.filter(Ie=>Ie.direction==="download"&&(Ie.state==="queued"||Ie.state==="running")&&Ie.messageId===y&&Ie.itemIndex===W&&(typeof G=="string"||xn(G.conversation,Ie.ref)));if(X.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(X.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let ie=X[0],ue=await V(ie.id);return xn(o.activeRef,ie.ref)?ue:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function L(G){let p=o.activeRef;return G.status!=="failed"||!(G.failure?.displayCode==="media.uploadInterrupted"||G.failure?.displayCode==="media.cancelled"||G.failure?.displayCode==="media.uploadTimeout"&&G.failure.retryable===false)||G.contentType!=="video"&&G.contentType!=="file"&&!(G.contentType==="filesAlbum"&&G.body.filesAlbum?.items.length===1)||p===null||G.conversationId!==p.conversationId||G.conversationType!==p.conversationType?false:(m.value=Object.freeze({messageId:G.id,conversationId:G.conversationId,conversationType:G.conversationType,kind:G.contentType==="video"?"video":"file"}),true)}function pe(){let G=m.value;return m.value=null,G}function ge(){m.value=null;}function ve(){S||(A+=1,Q(),I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,R?.(),R=void 0,w=null,H=-1,s.value=[],N.clear(),c.value=null,m.value=null,S=true);}return {tasks:s,error:c,uploadProgress:j,uploadTasks:P,downloadTasks:$,downloadProgress:b,uploadWaiting:T,uploadFinalizing:F,replacementRequest:m,cacheAvailability:g,cachedAvailability:Z,cacheProbePending:E,cacheAvailabilityPending:me,start:be,reset:Pe,cancel:V,retry:ce,pause:de,resume:ke,getUploadRecovery:je,resumeUpload:Oe,cancelUpload:Te,cancelDownload:K,requestReplacement:L,takeReplacementRequest:pe,clearReplacementRequest:ge,dispose:ve}})}var Zs=new WeakMap,Zr=new WeakMap;function td(e=Ee()){Re(e);let n=Zs.get(e);n===void 0&&(n=nd(e),Zs.set(e,n));let r=n(e);return Zr.get(e)!==r&&(Zr.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),Zr.get(e)===r&&Zr.delete(e);})),r}var no=new WeakMap,sd=Object.freeze({status:"loading",message:null}),tl=Object.freeze({status:"missing",message:null});function ia(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function sa(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function ld(e){return defineStore("k2-im-quoted-message",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=shallowRef({}),c=new Set,m=new Set,g=0,E=new Map,S=false,A=false,w=false,H=computed(()=>{let j=new Map;for(let $ of o.messages)j.set($.id,$);return j});function R(){g+=1,c.clear(),E.clear(),m=new Set,A=false,w=false,s.value={};}let I=watch(()=>o.activeRef,R,{flush:"sync"}),_=n.subscribeEvents(j=>{S||j.type!=="connection:changed"||j.state!=="authenticated"||me();});function J(j){let $=j.trim();if($==="")return tl;let b=H.value.get($);return b!==void 0?Object.freeze({status:"ready",message:b}):s.value[$]??sd}function q(j,$){if(j.length===0)return;let b={...s.value},T=false;for(let[F,Y]of j)!m.has(F)||H.value.has(F)||$.get(F)===(E.get(F)??0)&&(b[F]=Y,T=true);T&&(s.value=b);}async function D(j){let $=g,b=new Map(j.map(se=>[se,E.get(se)??0])),T=n.getGeneration(),F=o.getHandle(),Y=ia(o.activeRef);if(F===void 0||ia(F.ref)!==Y)return;let fe=()=>!S&&g===$&&n.getGeneration()===T&&o.getHandle()===F&&ia(o.activeRef)===Y,be=[],Pe=[];try{let se=await Promise.all(j.map(async V=>({messageId:V,message:await F.resolveMessage(V)})));if(!fe())return;for(let{messageId:V,message:ce}of se)ce===null?Pe.push(V):be.push([V,Object.freeze({status:"ready",message:ce})]);}catch(se){if(!fe())return;q(j.map(V=>[V,Object.freeze({status:"failed",message:null,retryable:true})]),b),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:j.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:se}}));return}if(q(be,b),Pe.length!==0)try{let se=await F.messages.fetchByIds(Pe);if(!fe())return;let V=[];for(let de of se.messages)V.push([de.id,Object.freeze({status:"ready",message:de})]);for(let de of se.missingMessageIds)V.push([de,tl]);let ce=se.failure?.retryable??!0;for(let de of se.unresolvedMessageIds)V.push([de,Object.freeze({status:"failed",message:null,retryable:ce})]);q(V,b),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Pe.length,resolvedCount:se.messages.length,missingCount:se.missingMessageIds.length,unresolvedCount:se.unresolvedMessageIds.length,retryable:se.failure?.retryable}}));}catch(se){if(!fe())return;q(Pe.map(V=>[V,Object.freeze({status:"failed",message:null,retryable:false})]),b),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Pe.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:se}}));}}function O(){let j=[];for(let $ of m)H.value.has($)||c.has($)||s.value[$]===void 0&&j.push($);return j}function k(){if(S)return;if(A){w=true;return}let j=O();if(j.length===0)return;let $=g;A=true;for(let b of j)c.add(b);D(j).catch(b=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:j.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:b}}));}).finally(()=>{if($===g){for(let b of j)c.delete(b);A=false,w&&(w=false,k());}});}function Q(j){if(S)return;m=new Set(sa(j));let $=Object.fromEntries(Object.entries(s.value).filter(([b])=>m.has(b)&&!H.value.has(b)));Object.keys($).length!==Object.keys(s.value).length&&(s.value=$),k();}function Z(j){if(S)return;let $=sa(j).filter(T=>s.value[T]!==void 0||c.has(T)||m.has(T));if($.length===0)return;let b={...s.value};for(let T of $)delete b[T],c.delete(T),E.set(T,(E.get(T)??0)+1);s.value=b,k();}function me(j){if(S)return;let b=(j===void 0?[...m]:sa(j)).filter(F=>{let Y=s.value[F];return Y?.status==="failed"&&Y.retryable});if(b.length===0)return;let T={...s.value};for(let F of b)delete T[F],c.delete(F),E.set(F,(E.get(F)??0)+1);s.value=T,k();}function N(){R();}function P(){S||(S=true,I(),_(),R());}return no.set(e,Object.freeze({dispose:P})),{lookup:J,prefetch:Q,retry:me,invalidate:Z,reset:N}})}var rl=new WeakMap,eo=new WeakMap;function cd(e=Ee()){Re(e);let n=rl.get(e);n===void 0&&(n=ld(e),rl.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return eo.get(e)!==r&&(eo.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}var oo=new WeakMap;function to(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function pd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function vd(e,n){return pd(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 gd(e){return defineStore("k2-im-reaction",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=ref([]),c=shallowRef(null),m=false,g=0,E=new Map;function S(){g+=1,E.clear(),s.value=[],c.value=null;}let A=watch(()=>to(o.activeRef),(O,k)=>{O!==k&&S();},{flush:"sync"});function w(O,k){let Q=o.activeRef,Z=o.getHandle(),me=to(Q);if(m||Q===null||Z===void 0||to(Z.ref)!==me||!o.messages.some(P=>P.id===O))return Object.freeze({ok:false,operation:k,reason:"not-ready"});if(E.has(O))return Object.freeze({ok:false,operation:k,reason:"busy"});let N=Symbol(O);return E.set(O,N),s.value=Object.freeze([...E.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Z,conversationKey:me,token:N}}function H(O){return !m&&O.contextEpoch===g&&O.generation===n.getGeneration()&&o.getHandle()===O.handle&&to(o.activeRef)===O.conversationKey}function R(O,k){E.get(O)===k&&(E.delete(O),s.value=Object.freeze([...E.keys()]));}async function I(O,k,Q){let Z=w(O,k);if(!("handle"in Z))return Z;try{let me=await Q(Z.handle);return H(Z)?(c.value=null,r.record("debug","pinia","message",`reaction-${k}-settled`,()=>({generation:Z.generation,conversation:{...Z.handle.ref},messageId:O,result:{ok:!0,action:me.action}})),Object.freeze({ok:!0,operation:k,change:me})):Object.freeze({ok:!1,operation:k,reason:"stale"})}catch(me){if(!H(Z))return Object.freeze({ok:false,operation:k,reason:"stale"});let N=vd(me,k);return c.value=N,r.record("error","pinia","message",`reaction-${k}-settled`,()=>({generation:Z.generation,conversation:{...Z.handle.ref},messageId:O,result:{ok:false,reason:"sdk-rejected",error:N}})),Object.freeze({ok:false,operation:k,reason:"sdk-rejected",error:N})}finally{R(O,Z.token);}}function _(O,k){return I(O,"toggle",Q=>Q.messages.toggleReaction(O,k))}function J(O,k,Q){return I(O,"set",Z=>Z.messages.setReaction(O,k,Q))}function q(){S();}function D(){m||(m=true,A(),S());}return oo.set(e,Object.freeze({dispose:D})),{operatingMessageIds:s,error:c,toggle:_,set:J,reset:q}})}var ol=new WeakMap,ro=new WeakMap;function Id(e=Ee()){Re(e);let n=ol.get(e);n===void 0&&(n=gd(e),ol.set(e,n));let r=n(e),o=oo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return ro.get(e)!==r&&(ro.set(e,r),we(e,()=>{o.dispose(),r.$dispose(),ro.get(e)===r&&(ro.delete(e),oo.get(e)===o&&oo.delete(e));})),r}function ao(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 Cd(e){let n=Ee(e),r=Re(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let N=new Map;for(let P of o.value)P.msgId!==""&&P.collectId!==""&&N.set(P.msgId,P.collectId);return N}),g=false,E=0,S=0,A,w;function H(){E+=1,S+=1,o.value=[],s.value=false,c.value=null;}function R(N){return {client:N,generation:r.getGeneration(),stateEpoch:E}}function I(N){return !g&&N.client===r.getProductClient()&&N.generation===r.getGeneration()&&N.stateEpoch===E}function _(N){return m.value.get(N.trim())??""}function J(N){return _(N)!==""}async function q(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=++S,P;try{P=R(r.ensureProductClient()),me(P.client);}catch(j){let $=ao(j,"reload");return c.value=$,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:$})}s.value=true,c.value=null;try{let j=await P.client.sessionFavorites.list();return N!==S||!I(P)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=j,Object.freeze({ok:!0,operation:"reload"}))}catch(j){if(N!==S||!I(P))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let $=ao(j,"reload");return c.value=$,Object.freeze({ok:false,operation:"reload",reason:"failed",error:$})}finally{N===S&&I(P)&&(s.value=false);}}function D(){S+=1,s.value=false;}async function O(N){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let P;try{P=R(r.ensureProductClient()),me(P.client);let j=await P.client.sessionFavorites.addFromMessage(N);return I(P)?(D(),o.value=Object.freeze([j,...o.value.filter($=>$.collectId!==j.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:j.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(j){return Object.freeze({ok:false,operation:"add",reason:"failed",error:ao(j,"add")})}}async function k(N){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let P=[...new Set(N.map(j=>j.trim()).filter(j=>j!==""))];if(P.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 j=R(r.ensureProductClient());if(await j.client.sessionFavorites.delete(P),!I(j))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});D();let $=new Set(P);return o.value=Object.freeze(o.value.filter(b=>!$.has(b.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:P[0]??""})}catch(j){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:ao(j,"delete")})}}async function Q(N){let P=_(N);return P===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):k([P])}function Z(){A?.(),A=void 0,w=void 0,H();}function me(N){if(w===N)return;A?.(),w=N;let P=R(N);A=N.events.subscribe(j=>{w===N&&I(P)&&j.type==="session-favorites:changed"&&q();});}return we(n,()=>{g=true,A?.(),A=void 0,w=void 0,H();}),{items:o,loading:s,error:c,collectIdOf:_,isFavorited:J,reload:q,addFromMessage:O,removeByCollectIds:k,removeByMessageId:Q,reset:Z}})(n)}function Pd(e){return defineStore("k2-im-session",()=>{let n=Re(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getClient()?.connection.getLifecycle().syncing??false),m=ref(n.getGeneration()),g=ref("idle"),E=ref(""),S=ref({}),A=false,w=0,H="",R=n.getDiagnostics(),I=n.subscribeEvents(N=>{if(!A){if(N.type==="syncing:changed"&&(c.value=N.syncing),N.type==="receiving:changed"&&(s.value=N.receiving),N.type==="session:replaced"){w+=1,g.value="error",s.value=false,c.value=false,o.value=n.getConnectionState(),E.value="lifecycle.connectionOccupied",S.value={};return}N.type==="connection:changed"&&(o.value=N.state,N.state==="authenticated"&&(g.value="ready"));}});function _(N,P){return !A&&N===w&&n.getGeneration()===P}function J(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(N);}function q(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let P=N.session===null?"":`${N.session.userId}\0${N.session.token}`;P!==H&&(w+=1,H=P);let j=n.applySession(N.session,N.endpoints,N.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,r.value=N.session?.userId??"",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=o.value==="authenticated"?"ready":"idle",E.value="",S.value={},R.record("info","pinia","session","session-applied",()=>({generation:m.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:j.hasToken,didReset:j.didReset}})),j}async function D(N,P,j){if(A)return {ok:false,errorKey:"lifecycle.disposed"};let $=++w,b=n.getGeneration(),T=Date.now();g.value=N,E.value="",S.value={},R.record("info","pinia",P==="prepare"?"session":"connection",`${P}-start`,()=>({generation:b}));let F=await j();return _($,b)?(m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=F.ok?o.value==="authenticated"?"ready":"idle":"error",E.value=F.errorKey??"",S.value=F.errorParams??{},R.record(F.ok?"info":"error","pinia",P==="prepare"?"session":"connection",`${P}-${F.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-T,...F.ok?{}:{error:{message:F.errorKey??`${P}-failed`,data:F.errorParams}}})),F):(R.record("debug","pinia","session",`${P}-stale-result-dropped`,()=>({generation:b,durationMs:Date.now()-T})),F)}function O(){return D("preparing","prepare",()=>n.prepare())}function k(){return D("connecting","connect",()=>n.connect())}function Q(){A||(w+=1,n.disconnect(),o.value=n.getConnectionState(),g.value="idle");}async function Z(N){if(A)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");w+=1;try{await n.logout(N);}finally{r.value="",s.value=false,c.value=false,H="",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value="idle",E.value="",S.value={};}}function me(){A||(A=true,w+=1,I(),r.value="",o.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",E.value="",S.value={});}return {accountId:r,connectionState:o,receiving:s,syncing:c,generation:m,phase:g,errorKey:E,errorParams:S,configureHost:J,applySession:q,prepare:O,connect:k,disconnect:Q,logout:Z,dispose:me,getRuntime:()=>n}})}var il=new WeakMap,io=new WeakMap;function kd(e=Ee()){Re(e);let n=il.get(e);n===void 0&&(n=Pd(e),il.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function ll(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function cl(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function fl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function rr(e,n){return `${fl(e)}\0${n}`}function Gt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function ul(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function Od(e){return defineStore("k2-im-thread-paging",()=>{let n=Re(e).runtime,r=n.getDiagnostics(),o=Le(e),s=wn(e),c=ref(false),m=ref(false),g=ref(null),E=ref(null),S=false,A="",w="",H=0,R=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Gt(o.messages,"older"),newerBoundary:Gt(o.messages,"newer")}),I=(P,j)=>{let $=R();return !S&&j===H&&P.generation===$.generation&&cl(P.ref,$.ref)&&P.ref!==null},_=P=>{(P===void 0||P==="older")&&(A="",g.value=null),(P===void 0||P==="newer")&&(w="",E.value=null);},J=()=>{H+=1,c.value=false,m.value=false,_();},q=async(P,j)=>{let $=R(),b=P==="older"?A:w,T=P==="older"?o.hasOlder:o.hasNewer;if($.ref===null||!T||(P==="older"?c.value:m.value))return 0;let F=$.ref,Y=P==="older"?$.olderBoundary:$.newerBoundary,fe=rr(F,Y);if(P==="older"?m.value:c.value)return 0;if(!j&&b!==""&&b===fe)return r.record("debug","pinia","history",`thread-paging-${P}-circuit-open`,()=>({conversation:F,data:{boundary:Y}})),0;j&&(_(P),r.record("debug","pinia","history",`thread-paging-${P}-retry`,()=>({conversation:F})));let be=new Set(o.messages.map(se=>se.id)),Pe=++H;P==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${P}-start`,()=>({conversation:F,generation:$.generation,data:{boundary:Y,force:j}}));try{let se=P==="older"?await o.loadOlder():await o.loadNewer();if(!I($,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:$.generation,data:{side:P}})),0;if(!se)return 0;_(P);let V=o.messages.reduce((ce,de)=>ce+ +!be.has(de.id),0);return r.record("debug","pinia","history",`thread-paging-${P}-success`,()=>({conversation:F,generation:$.generation,data:{added:V}})),V}catch(se){if(!I($,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:$.generation,data:{side:P,outcome:"failed"}})),0;if(ll(se))return r.record("debug","pinia","history",`thread-paging-${P}-cancelled`,()=>({conversation:F,generation:$.generation})),0;throw Gt(o.messages,P)===Y&&(P==="older"?(A=fe,g.value=se):(w=fe,E.value=se),r.record("warn","pinia","history",`thread-paging-${P}-failed`,()=>({conversation:F,generation:$.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${P} \u5206\u9875\u5931\u8D25`,data:ul(se)}}))),se}finally{Pe===H&&(P==="older"?c.value=false:m.value=false);}},D=(P={})=>q("older",P.force===true),O=(P={})=>q("newer",P.force===true),k=async P=>{if(P!==void 0&&!cl(o.activeRef,P))return false;s.clearLocation(),J();let j=R();if(j.ref===null)return false;let $=j.ref;r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:$}));let b,T=H;try{let F=o.loadLatest({skipIfLatest:!0});T=H,b=await F;}catch(F){if(!I(j,T)||ll(F))return r.record("debug","pinia","history","thread-paging-jump-latest-cancelled",()=>({conversation:$})),false;let Y=Gt(o.messages,"newer");throw w=rr($,Y),E.value=F,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:$,generation:j.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:ul(F)}})),F}return I(j,T)?(_("newer"),b):(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:$})),false)},Q=watch(()=>fl(o.activeRef),()=>J(),{flush:"sync"}),Z=watch(()=>`${rr(o.activeRef,Gt(o.messages,"older"))}\0${Gt(o.messages,"newer")}`,()=>{let P=R(),j=rr(P.ref,P.olderBoundary),$=rr(P.ref,P.newerBoundary);A!==""&&A!==j&&_("older"),w!==""&&w!==$&&_("newer");},{flush:"sync"}),me=o.$onAction(({name:P})=>{(P==="loadLatest"||P==="loadAround"||P==="loadEntryUnread"||P==="open"||P==="close"||P==="reset")&&J();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:E,loadOlder:D,loadNewer:O,retryOlder:()=>D({force:true}),retryNewer:()=>O({force:true}),jumpToLatest:k,reset:J,dispose:()=>{S||(S=true,Q(),Z(),me(),J());}}})}var dl=new WeakMap,lo=new WeakMap;function Sd(e=Ee()){Re(e);let n=dl.get(e);n===void 0&&(n=Od(e),dl.set(e,n));let r=n(e);return lo.get(e)!==r&&(lo.set(e,r),we(e,()=>{r.dispose(),r.$dispose(),lo.get(e)===r&&lo.delete(e);})),r}function Td(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Ed(e=Ee()){let n=Le(e),r=wn(e);return Object.freeze({async returnToLatest(o){return Td(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Sr as applicationKey,uc as createAndInstallImChatKit,gi as createImChatKitContext,fc as disposeImChatKit,dc as ensureImChatKitSelfProfile,Re as getImChatKitContext,nl as imMediaDownloadKey,Ii as installImChatKit,hc as useImApplicationsStore,zc as useImCapabilitiesStore,nt as useImComposerStore,_c as useImConversationActivationCoordinator,Du as useImConversationDeletionCoordinator,No as useImConversationListStore,Bu as useImExpressionStore,Ju as useImHistoryReturnAfterSendCoordinator,td as useImMediaStore,Qt as useImMessageOperationsStore,$o as useImProfileDirectoryStore,cd as useImQuotedMessageStore,Id as useImReactionStore,wn as useImSearchStore,Cd as useImSessionFavoritesStore,kd as useImSessionStore,Sd as useImThreadPagingStore,Ed as useImThreadReturnToLatestCoordinator,Le as useImThreadStore};
|