k2-im 0.1.37 → 0.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import {u,za,pa,s,y,oa,na,ma,ka,ja,ia,ha,fa,J,K,I,Ha,d,va as va$1,ya,xa,ra,ua,ta,sa as sa$1,D,B,C,A,z,Ga,Fa,Ea,Da,Ca,Ba,c,b,k,h,wa}from'./chunk-CLO7E7BU.js';export{t as resolveMessageNotificationDecision}from'./chunk-CLO7E7BU.js';import'./chunk-QT3PJWLT.js';import'./chunk-HUSCO5JM.js';import {va,sa}from'./chunk-75GNCLQQ.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Zl(e,n,r={}){let o=u(n);try{return li(e,si({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function ec(e){za(Ce(e).runtime);}var Xn=new WeakMap;function Te(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 si(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function li(e,n){let r=Xn.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(),Xn.get(e)===o&&Xn.delete(e);}}});return o.installation=s,Xn.set(e,o),s}function Ce(e){let n=Xn.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 Ee(e,n){let r=Xn.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 nc(e){Xn.get(e)?.installation.dispose();}function kr(e){return `${e.domain}:${e.applicationId}`}function rc(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 oc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Rr(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&&oc(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 ac(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=Ce(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),S=computed(()=>{let P=0,O=0,$=0;for(let Q of r.value)Q.ref.domain==="contact"?P+=1:Q.ref.domain==="group"?O+=1:$+=1;return Object.freeze({contact:P,group:O,channel:$})}),M=false,N=0,z=0,V=0,b=false,I=0,_=new Map;function W(){N+=1,z+=1,V+=1,I+=1,b=false,_.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function B(P){return {client:P,generation:n.getGeneration(),stateEpoch:N}}function ae(P){return !M&&P.client===n.getProductClient()&&P.generation===n.getGeneration()&&P.stateEpoch===N}async function j(){if(M)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let P=++z,O;try{O=B(n.ensureProductClient());}catch($){let Q=Rr($,"reload");return s.value=Q,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Q})}o.value=true,s.value=null;try{let $=await O.client.applications.listPending();return P!==z||!ae(O)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...$]),Object.freeze({ok:!0,operation:"reload"}))}catch($){if(P!==z||!ae(O))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Q=Rr($,"reload");return s.value=Q,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Q})}finally{P===z&&ae(O)&&(o.value=false);}}function T(){if(M||b)return;b=true;let P=N,O=++I;queueMicrotask(()=>{O===I&&(b=false,!(M||P!==N)&&j());});}function Z(P){(P.type==="contact-application:received"||P.type==="channel-join-application:received"||P.type==="application:updated")&&T();}let X=n.subscribeProductEvents(Z);async function oe(P,O){let $=rc(P),Q=kr($);if(M)return Object.freeze({ok:false,operation:O,reason:"stale",application:$});let de=++V;_.set(Q,de),c.value={...c.value,[Q]:O};let{[Q]:ge,...Pe}=m.value;m.value=Pe;let G;try{G=B(n.ensureProductClient());}catch(U){let D=Rr(U,O);m.value={...m.value,[Q]:D};let{[Q]:le,...ce}=c.value;return c.value=ce,_.delete(Q),Object.freeze({ok:false,operation:O,reason:"failed",application:$,error:D})}let h=()=>ae(G)&&_.get(Q)===de;try{return await G.client.applications[O]($),h()?(z+=1,o.value=!1,r.value=Object.freeze(r.value.filter(U=>kr(U.ref)!==Q)),Object.freeze({ok:!0,operation:O,application:$})):Object.freeze({ok:!1,operation:O,reason:"stale",application:$})}catch(U){if(!h())return Object.freeze({ok:false,operation:O,reason:"stale",application:$});let D=Rr(U,O);return ac(D)?(z+=1,o.value=false,r.value=Object.freeze(r.value.filter(le=>kr(le.ref)!==Q)),Object.freeze({ok:false,operation:O,reason:"failed",application:$,error:D})):(m.value={...m.value,[Q]:D},Object.freeze({ok:false,operation:O,reason:"failed",application:$,error:D}))}finally{if(h()){_.delete(Q);let{[Q]:U,...D}=c.value;c.value=D;}}}function ne(P){return oe(P,"accept")}function R(P){return oe(P,"ignore")}function x(){M||W();}function F(){M||(M=true,X(),W());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:S,reload:j,accept:ne,ignore:R,reset:x,dispose:F}})}var di=new WeakMap,Pr=new WeakMap;function sc(e=Te()){Ce(e);let n=di.get(e);n===void 0&&(n=ic(e),di.set(e,n));let r=n(e);return Pr.get(e)!==r&&(Pr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Pr.get(e)===r&&Pr.delete(e);})),r}function pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function cc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var fi=Object.freeze({state:"none"});function uc(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 dc(e){return defineStore("k2-im-thread",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(fi),g=shallowRef(),S=shallowRef(null),M=ref(false),N=ref(false),z=ref(false),V=ref(false),b=ref(false),I=shallowRef(null),_=ref(0),W=false,B,ae=0,j=0,T,Z,X,oe,ne,R=[],x=new Map,F=new Set,P=new WeakSet,O=new WeakMap;function $(){R.length=0,_.value=0;}let Q=n.subscribeEvents(K=>{if(W||K.type!=="message:received"||(K.source??"live")!=="live")return;let ee=o.value;ee===null||K.message.conversationId!==ee.conversationId||K.message.conversationType!==ee.conversationType||K.message.senderId===n.getCredentials().userId||!G(K.message)||(R.push(K.message.id),_.value+=1);});function de(K=null){$(),o.value=K,s.value=null,c.value=[],m.value=fi,g.value=void 0,S.value=null,M.value=K!==null,N.value=false,z.value=false,V.value=false,b.value=false,I.value=null;}function ge(K){if((x.get(K)??0)>0){F.add(K);return}K.close();}function Pe(){ne?.(),ne=void 0,oe?.(),oe=void 0;let K=X;X=void 0,K!==void 0&&ge(K);}function G(K){if(K.body.system?.timelineVisibility==="hidden")return false;if(K.conversationType!=="channel"||K.deletedForEveryone===void 0)return true;let ee=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:K.conversationId});return ee.conversationType==="channel"&&ee.ref.conversationType==="channel"&&ee.ref.conversationId===K.conversationId&&(ee.value.role==="owner"||ee.value.role==="admin")}function h(K,ee,Me){let ze=o.value;if(W||X!==K||n.getGeneration()!==Me||ze===null||ee.ref.conversationId!==ze.conversationId||ee.ref.conversationType!==ze.conversationType)return false;let je=ee.messages.filter(G);if(cc(c.value,je)||(c.value=Object.freeze(je)),m.value=ee.entryUnread,g.value=ee.entryUnreadNavigation,ee.entryUnread.state==="located"){let Ke=ee.entryUnread.firstMessageId,Be=ee.messages.findIndex(Ze=>Ze.id===Ke);if(Be>=0&&!je.some(Ze=>Ze.id===Ke)){let Ze=ee.messages.slice(Be+1).find(G);m.value=Object.freeze(Ze===void 0?{state:"unavailable"}:{...ee.entryUnread,firstMessageId:Ze.id});}}return s.value=ee.display??null,S.value=ee.draft,M.value=ee.loading,N.value=N.value||je.length>0||!ee.loading,z.value=ee.stale,V.value=ee.hasOlder,b.value=ee.hasNewer,I.value=ee.error??null,true}async function U(K,ee){let Me=n.ensureProductClient();return K.conversationType==="direct"?Me.openConversation({conversationType:"direct",conversationId:K.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ee}):K.conversationType==="group"?Me.openConversation({conversationType:"group",conversationId:K.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ee}):K.conversationType==="robot"?Me.openConversation({conversationType:"robot",conversationId:K.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:ee}):Me.openConversation({conversationType:"channel",conversationId:K.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:ee})}async function D(K){try{let ee=n.ensureProductClient();if(ee.conversations.list().find(ze=>ze.ref.conversationType===K.conversationType&&ze.ref.conversationId===K.conversationId)?.manuallyUnread!==!0)return;await ee.conversations.markRead(K);}catch(ee){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:K,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:ee}}));}}async function le(K){if(W)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");j+=1,T=void 0,Z=void 0;let ee=pi(K);B?.abort();let Me=new AbortController;B=Me;let ze=++ae,je=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:je,conversation:ee}));let Ke;try{Ke=await U(ee,Me.signal);}catch(Be){if(Me.signal.aborted)return;throw !W&&ze===ae&&je===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:je,conversation:ee,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:uc(Be,"thread.open",ee)}})),Be}finally{B===Me&&(B=void 0);}if(W||ze!==ae||je!==n.getGeneration()){Ke.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:je,conversation:ee}));return}return L(),Pe(),de(ee),X=Ke,oe=Ke.subscribe(Be=>h(Ke,Be,je)),h(Ke,Ke.getSnapshot(),je),ee.conversationType==="channel"&&(ne=n.ensureProductClient().capabilities.subscribe(ee,()=>{!W&&X===Ke&&n.getGeneration()===je&&h(Ke,Ke.getSnapshot(),je);})),D(ee),r.record("debug","pinia","history","thread-open-complete",()=>({generation:je,conversation:ee})),Ke}function ce(){B?.abort(),B=void 0,ae+=1;}function me(K){if(W||X===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${K}`);return X}function Oe(K,ee,Me){return !W&&j===K&&X===ee&&n.getGeneration()===Me}async function E(K,ee){if(T!==void 0||Z!==void 0)return false;let Me=me(K),ze=n.getGeneration(),je=++j;T=je;try{return await ee(Me),Oe(je,Me,ze)?(h(Me,Me.getSnapshot(),ze),!0):!1}finally{T===je&&(T=void 0);}}async function H(K,ee,Me){let ze=me(K),je=n.getGeneration(),Ke=++j;T=void 0,Z=Ke;try{if(await ee(ze),!Oe(Ke,ze,je))return !1;let Be=ze.getSnapshot();return Me(Be)?(h(ze,Be,je),!0):!1}finally{Z===Ke&&(Z=void 0);}}function ve(){return H("loadLatest",K=>K.history.loadLatest(),K=>!K.hasNewer)}function Ie(){let K=false;return H("loadEntryUnread",async ee=>{K=await ee.history.loadEntryUnread();},ee=>K&&ee.entryUnread.state==="located")}function fe(K){let ee=O.get(K);if(ee!==void 0)return ee;let Me=K.markConversationRead().finally(()=>{O.get(K)===Me&&O.delete(K);});return O.set(K,Me),Me}function Le(){let K=me("markConversationRead");return P.add(K),fe(K)}function k(K){return me("markVisibleMessages").markVisibleMessages(K)}function L(){let K=X;if(K===void 0||!P.has(K))return;let ee=ie(K),Me=n.getGeneration(),ze=O.get(K);(ze===void 0?fe(K):ze.catch(()=>{}).then(()=>fe(K))).catch(Ke=>{Me===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:K.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ke}}));}).finally(ee);}function ue(){L(),Ae();}function pe(){return E("loadOlder",K=>K.history.loadOlder())}function Se(){return E("loadNewer",K=>K.history.loadNewer())}function Re(K){return H("loadAround",ee=>ee.history.loadAround(K),ee=>ee.messages.some(Me=>Me.id===K)).then(ee=>ee?c.value.some(Me=>Me.id===K):false)}function Ge(K){return me("resolveMessage").resolveMessage(K)}function ie(K=me("retainHandle")){if(W)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");x.set(K,(x.get(K)??0)+1);let ee=false;return ()=>{if(ee)return;ee=true;let Me=(x.get(K)??1)-1;if(Me>0){x.set(K,Me);return}x.delete(K),F.delete(K)&&K.close();}}function he(){return ie()}function Ae(){B?.abort(),B=void 0,ae+=1,j+=1,T=void 0,Z=void 0,Pe(),de();}function qe(K){let ee=o.value;return ee===null||ee.conversationType!==K.conversationType||ee.conversationId!==K.conversationId?false:(j+=1,T=void 0,Z=void 0,Pe(),de(),true)}function lt(){B?.abort(),B=void 0,ae+=1,j+=1,T=void 0,Z=void 0,oe?.(),oe=void 0,ne?.(),ne=void 0;let K=new Set([...X===void 0?[]:[X],...F,...x.keys()]);X=void 0,F.clear(),x.clear();for(let ee of K)ee.close();de();}function gn(){W||(lt(),W=true,Q());}function In(){return R.splice(0,R.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:S,loading:M,ready:N,stale:z,hasOlder:V,hasNewer:b,error:I,activeRemoteMessageRevision:_,open:le,invalidatePendingOpen:ce,loadLatest:ve,loadEntryUnread:Ie,markConversationRead:Le,markVisibleMessages:k,leave:ue,loadOlder:pe,loadNewer:Se,loadAround:Re,resolveMessage:Ge,retainHandle:ie,retainCurrentHandle:he,close:Ae,closeActiveConversation:qe,reset:lt,dispose:gn,drainActiveRemoteMessageIds:In,getHandle:()=>X}})}var mi=new WeakMap,Or=new WeakMap;function He(e=Te()){Ce(e);let n=mi.get(e);n===void 0&&(n=dc(e),mi.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}var jr=new WeakMap;function zo(e){let n=jr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function yt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Er(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function gi(e){return e===null?null:Er({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function xo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Ao(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 pc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function qt(e,n,r){return pc(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:yt(r)},cause:e})}function Sr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function vc(e){return defineStore("k2-im-composer",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),S=ref(0),M=shallowRef(null),N=false,z=0,V=0,b=0,I,_=Promise.resolve(),W=Promise.resolve(),B=new Set,ae=new Map,j,T;function Z(){return o.getHandle()}function X(E,H){let ve=o.activeRef;return !N&&Z()===E&&n.getGeneration()===H&&ve!==null&&ve.conversationId===E.ref.conversationId&&ve.conversationType===E.ref.conversationType}function oe(E=Z()){if(E===void 0)return false;let H=n.getGeneration();return I?.handle===E&&I.generation===H||[...B].some(ve=>ve.handle===E&&ve.generation===H)}async function ne(E=Z()){if(E===void 0)return;let H=n.getGeneration(),ve=I?.handle===E&&I.generation===H?I:void 0;if(ve===void 0){let k=[...B].filter(L=>L.handle===E&&L.generation===H).map(L=>L.promise);k.length>0?await Promise.all(k):await W;return}I=void 0;let fe=_.then(async()=>{xo(ve.input)?await E.draft.clear():await E.draft.save(ve.input);}),Le={handle:E,generation:H,promise:fe};B.add(Le),W=fe,_=fe.catch(()=>{});try{await fe,X(E,H)&&(M.value=null,S.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:H,conversation:yt(E.ref)})));}catch(k){throw X(E,H)&&(I===void 0&&b===ve.version&&(I=ve),M.value=qt(k,"composer.draft",E.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:H,conversation:yt(E.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:M.value}}))),k}finally{B.delete(Le);}}function R(E){let H=Z(),ve=n.getGeneration();if(H===void 0||!X(H,ve))return M.value=qt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let Ie=Er(E);return b+=1,s.value=xo(Ie)?null:Ie,I={handle:H,generation:ve,version:b,input:Ie},M.value=null,x(),xo(Ie)&&ne(H).catch(()=>{}),true}async function x(){if(m.value!==null)return;let E=s.value?.replyToMessageId;if(E===void 0){V+=1,c.value=null;return}let H=Z();if(H===void 0){c.value=null;return}let ve=o.messages.find(k=>k.id===E);if(ve!==void 0){V+=1,c.value=ve;return}let Ie=n.getGeneration(),fe=++V,Le=await H.resolveMessage(E).catch(()=>null);fe!==V||!X(H,Ie)||m.value!==null||s.value?.replyToMessageId!==E||(c.value=Le);}function F(E){let H=Z();return H===void 0||!Sr(E,H)?false:(m.value=null,c.value=E,R({...s.value??{text:"",attachments:[]},replyToMessageId:E.id}))}function P(E){if(E!==void 0&&s.value?.replyToMessageId!==E)return;c.value=null;let H=s.value;if(H===null)return;let{replyToMessageId:ve,...Ie}=H;R({...Ie});}function O(E){let H=Z();return H===void 0||!Sr(E,H)?false:(c.value=null,m.value=E,true)}function $(){m.value=null,x();}function Q(){V+=1,c.value=null,m.value=null;}function de(E,H){return !N&&n.getGeneration()===E&&z===H}function ge(E){return [...ae.values()].some(H=>H.handle===E)}function Pe(E,H){return E!==null&&Ao(gi(E),H)}function G(E,H,ve){!X(E,H)||s.value===null||!Ao(s.value,ve)||(b+=1,I?.handle===E&&I.generation===H&&Ao(I.input,ve)&&(I=void 0),s.value=null,V+=1,c.value=null);}async function h(E){let H=[...B].filter(Ie=>Ie.handle===E.handle&&Ie.generation===E.generation).map(Ie=>Ie.promise.catch(()=>{}));if(H.length>0&&await Promise.all(H),!X(E.handle,E.generation))return;let ve=await E.handle.draft.get();if(!Pe(ve,E.input)){j?.token===E.token&&(j=void 0);return}j=E;try{await E.handle.draft.clear(),j?.token===E.token&&(j=void 0);}catch(Ie){if(X(E.handle,E.generation)){if(s.value===null&&I===void 0){let fe={text:"",attachments:[]};b+=1,I={handle:E.handle,generation:E.generation,version:b,input:fe};}M.value=qt(Ie,"composer.draft",E.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:E.generation,conversation:yt(E.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:M.value}}));}}}function U(E){if(!X(E.handle,E.generation)||s.value!==null)return;j=void 0;let H=Er(E.input);b+=1,s.value=H,I={handle:E.handle,generation:E.generation,version:b,input:H},x();}async function D(E){let H=m.value,ve=H===null?"send":"edit";if(H!==null&&T!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let Ie=Z(),fe=n.getGeneration();if(Ie===void 0||!X(Ie,fe))return Object.freeze({ok:false,operation:ve,reason:"not-ready"});let Le=E.text.trim();if(Le==="")return Object.freeze({ok:false,operation:ve,reason:"empty"});let k=z;if(H!==null&&!Sr(H,Ie))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let L=Symbol(ve);H!==null&&(T=L),g.value=T!==void 0,M.value=null;let ue=o.retainHandle(Ie),pe;if(H===null){let Se=Er(E);pe={token:L,handle:Ie,generation:fe,input:Se},ae.set(L,pe),G(Ie,fe,Se);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:fe,operation:ve,conversation:yt(Ie.ref),...H===null?{}:{messageId:H.id}}));try{if(H===null){if(!de(fe,k)||!X(Ie,fe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let Se=await Ie.messages.sendText(Le,{...E.mentions===void 0?{}:{mentions:E.mentions},...E.replyToMessageId===void 0?{}:{replyToMessageId:E.replyToMessageId}});if(!de(fe,k)||!X(Ie,fe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!Se.ok)return pe!==void 0&&U(pe),M.value=Se.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:Se.error});if(pe!==void 0&&(await h(pe),!de(fe,k)||!X(Ie,fe)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await Ie.messages.editText(H.id,Le,{...E.mentions===void 0?{}:{mentions:E.mentions}});}catch(Se){if(!de(fe,k)||!X(Ie,fe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let Re=qt(Se,"composer.edit",Ie.ref);return M.value=Re,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:Re})}if(!de(fe,k)||!X(Ie,fe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===H&&$();}return M.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:fe,operation:ve,conversation:yt(Ie.ref)})),Object.freeze({ok:!0,operation:ve})}catch(Se){if(!de(fe,k)||!X(Ie,fe))return Object.freeze({ok:false,operation:ve,reason:"stale"});pe!==void 0&&U(pe);let Re=qt(Se,`composer.${ve}`,Ie.ref);return M.value=Re,Object.freeze({ok:false,operation:ve,reason:"sdk-rejected",error:Re})}finally{ue(),ae.delete(L),T===L&&(T=void 0),g.value=T!==void 0,X(Ie,fe)&&le();}}function le(){let E=Z();if(E===void 0)return;let H=j,ve=H!==void 0&&H.handle===E&&H.generation===n.getGeneration()&&Pe(o.draft,H.input);H!==void 0&&!ve&&(j=void 0),!oe(E)&&!ge(E)&&!ve&&(s.value=gi(o.draft)),m.value!==null&&!Sr(m.value,E)&&(m.value=null),x();}function ce(){z+=1,V+=1,b+=1,I=void 0,ae.clear(),j=void 0,_=Promise.resolve(),W=Promise.resolve(),s.value=null,c.value=null,m.value=null,T=void 0,g.value=false,S.value=0,M.value=null;}let me=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(E,H)=>{if(E.ref!==H?.ref){ce(),E.ref!==null&&le();return}le();},{immediate:true});function Oe(){N||(N=true,me(),ce());}return jr.set(e,Object.freeze({suspendInteraction:Q,syncReplyTarget:x,dispose:Oe})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:S,error:M,updateDraft:R,flush:ne,hasPendingWork:oe,submitText:D,setReplyTo:F,clearReplyTo:P,setEditing:O,clearEditing:$,reset:ce}})}var Ii=new WeakMap,Tr=new WeakMap;function Zn(e=Te()){Ce(e);let n=Ii.get(e);n===void 0&&(n=vc(e),Ii.set(e,n));let r=n(e),o=zo(e);return Tr.get(e)!==r&&(Tr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),Tr.get(e)===r&&(Tr.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var xr=new WeakMap;function Bt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function yi(e){return [...e]}function hc(e){return defineStore("k2-im-message-operations",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=Zn(e),c=zo(e),m=shallowRef(null),g=ref(false),S=ref([]),M=ref(null),N=ref(false),z=ref([]),V=shallowRef(null),b=false,I=0,_=0,W=0;function B(){return o.getHandle()}function ae(k,L=B()){let ue=o.activeRef;return !b&&L!==void 0&&ue!==null&&k.conversationType!=="supergroup"&&ue.conversationId===k.conversationId&&ue.conversationType===k.conversationType&&L.ref.conversationId===k.conversationId&&L.ref.conversationType===k.conversationType}function j(k){return y(m.value,k)}function T(){N.value=false,z.value=[];}function Z(){M.value=null;}function X(){let k=g.value;T(),Z(),g.value=false,S.value=[],k&&c.syncReplyTarget();}function oe(k){if(k!==void 0){if(!ae(k))return Object.freeze({ok:false,reason:"not-ready"});if(!Bt(k))return Object.freeze({ok:false,reason:"not-selectable"});if(j(k))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,S.value=k===void 0?[]:[k],Object.freeze({ok:true})}function ne(k){return S.value.some(L=>L.id===k)}function R(k){return !g.value||!ae(k)?Object.freeze({ok:false,reason:"not-ready"}):Bt(k)?j(k)?Object.freeze({ok:false,reason:"pinned-protected"}):(ne(k.id)?S.value=S.value.filter(L=>L.id!==k.id):S.value=[...S.value,k],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function x(k){let L=B();return k.length===0||!k.every(ue=>ae(ue,L))?Object.freeze({ok:false,reason:"not-ready"}):(M.value=yi(k),Object.freeze({ok:true}))}function F(){let k=S.value;if(k.length===0)return Object.freeze({outcome:"empty"});let L=k.filter(va);return k.some(sa)?(z.value=L,N.value=true,Object.freeze({outcome:"confirmation-required"})):L.length===0?Object.freeze({outcome:"all-skipped"}):(x(L),Object.freeze({outcome:"picker-opened"}))}function P(){let k=yi(z.value);return T(),k.length===0?Object.freeze({outcome:"all-skipped"}):(x(k),Object.freeze({outcome:"picker-opened"}))}async function O(k){let L=M.value,ue=B();if(L===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let pe=n.getGeneration(),Se=++I,Re=await fa(n,{handle:ue,messages:L,targets:k});return b||Se!==I||n.getGeneration()!==pe||B()!==ue?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((Re.ok||Re.reason!=="stale")&&Z(),Re.ok&&X(),V.value=Re.ok?null:Re.error??null,r.record(Re.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:pe,conversation:ue===void 0?void 0:{...ue.ref},result:Re.ok?{ok:true,sentCount:Re.sentCount,skippedCount:Re.skippedCount}:{ok:false,reason:Re.reason,error:Re.error}})),Re)}function $(k,L,ue){V.value=k.ok?null:k.error??null,r.record(k.ok?"debug":"error","pinia","message",`message-${k.operation}-settled`,()=>({generation:n.getGeneration(),conversation:ue===void 0?void 0:{...ue.ref},messageId:L,result:k.ok?{ok:true}:{ok:false,reason:k.reason,error:k.error}}));}function Q(k,L){return L!==void 0&&(b||B()!==L)?Object.freeze({ok:false,operation:k.operation,reason:"stale"}):k}async function de(k){let L=B(),ue=Q(await ha(n,{handle:L,message:k}),L);return $(ue,k.id,L),ue}async function ge(k){let L=B(),ue=Q(await ia(n,{handle:L,message:k}),L);return $(ue,k.id,L),ue}async function Pe(k){let L=B(),ue=Q(await ja(n,{handle:L,message:k}),L);return $(ue,k.id,L),ue}async function G(k,L){let ue=B(),pe=Q(await ka(n,{handle:ue,messageId:k,options:L}),ue);return $(pe,k,ue),pe}function h(){let k=o.activeRef;if(!(k?.conversationType!=="group"&&k?.conversationType!=="channel"))return Object.freeze({conversationId:k.conversationId,conversationType:k.conversationType})}function U(k,L,ue){let pe=h();return !b&&k===_&&L!==void 0&&B()===L&&pe?.conversationId===ue.conversationId&&pe.conversationType===ue.conversationType}function D(k,L,ue){let pe=h();return !b&&k===W&&B()===L&&pe?.conversationId===ue.conversationId&&pe.conversationType===ue.conversationType}function le(k){if(S.value=S.value.filter(L=>L.id!==k),z.value=z.value.filter(L=>L.id!==k),M.value!==null){let L=M.value.filter(ue=>ue.id!==k);M.value=L.length===0?null:L;}s.editingMessage?.id===k&&s.clearEditing();}async function ce(k){let L=h(),ue=B();if(L===void 0||!ae(k,ue))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let pe=++_;W+=1;let Se=await ma(n,{conversation:L,message:k});return U(pe,ue,L)?(Se.ok&&Se.operation==="pin"?(m.value=Se.value,le(Se.value.messageId),V.value=null):V.value=Se.ok?null:Se.error??null,Se):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function me(){let k=h(),L=B();if(k===void 0||L===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let ue=++_;W+=1;let pe=await na(n,k);return U(ue,L,k)?(pe.ok&&pe.operation==="unpin"?(m.value=null,V.value=null):V.value=pe.ok?null:pe.error??null,pe):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Oe(){let k=h();if(k===void 0){m.value=null;return}try{m.value=pa(n,k);}catch{m.value=null;}}async function E(){let k=h(),L=B();if(k===void 0||L===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let ue=n.getGeneration(),pe=++W;Oe();let Se=await oa(n,k);return n.getGeneration()!==ue||!D(pe,L,k)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(Se.ok&&Se.operation==="sync-pin"?(m.value=Se.value,V.value=null):V.value=Se.ok?null:Se.error??null,Se)}function H(k){let L=new Map(k.map(Re=>[Re.id,Re])),ue=Re=>Re.flatMap(Ge=>{let ie=L.get(Ge.id);return ie!==void 0&&Bt(ie)?[ie]:[]});if(S.value=ue(S.value),z.value=ue(z.value),M.value!==null){let Re=ue(M.value);M.value=Re.length===0?null:Re;}let pe=s.editingMessage;if(pe!==null){let Re=L.get(pe.id);(Re===void 0||!Bt(Re))&&s.clearEditing();}let Se=s.input?.replyToMessageId;if(Se!==void 0){let Re=L.get(Se);Re!==void 0&&!Bt(Re)&&s.clearReplyTo(Se);}}let ve=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(k,L)=>{k.ref!==L?.ref&&(I+=1,_+=1,W+=1,Oe(),g.value=false,S.value=[],M.value=null,T(),V.value=null),H(k.messages);},{immediate:true}),Ie=n.subscribeEvents(k=>{if(k.type!=="pinned-message:updated")return;let L=h();if(!(L===void 0||L.conversationId!==k.conversation.conversationId||L.conversationType!==k.conversation.conversationType)){if(W+=1,k.pinnedMessage===null){m.value=null;return}try{m.value=pa(n,L),le(k.pinnedMessage.messageId);}catch{}}});function fe(){I+=1,_+=1,W+=1,g.value=false,S.value=[],M.value=null,T(),V.value=null,Oe();}function Le(){b||(b=true,ve(),Ie(),fe());}return xr.set(e,Object.freeze({dispose:Le})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:S,forwardPickerMessages:M,forwardTypeConfirmOpen:N,pendingForwardReadyMessages:z,error:V,enterMultiSelect:oe,exitMultiSelect:X,isSelected:ne,toggleSelection:R,openForwardPicker:x,closeForwardPicker:Z,prepareForwardFromSelection:F,cancelForwardTypeConfirmation:T,confirmForwardTypeConfirmation:P,forward:O,recall:de,deleteLocal:ge,deleteForEveryone:Pe,retry:G,pin:ce,unpin:me,syncPinned:E,isPinnedMessageProtected:j,reset:fe}})}var bi=new WeakMap,wr=new WeakMap;function $t(e=Te()){Ce(e);let n=bi.get(e);n===void 0&&(n=hc(e),bi.set(e,n));let r=n(e),o=xr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return wr.get(e)!==r&&(wr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),xr.get(e)===o&&xr.delete(e));})),r}var Go=Object.freeze({availability:"unknown",reason:"not-ready"});function Rc(e){return defineStore("k2-im-capabilities",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=$t(e),c=shallowRef(null),m=false,g,S,M;function N(){S!==void 0&&(clearTimeout(S),S=void 0);}function z(R){N();let x=R.nextEvaluationAt;if(x===void 0)return;let F=Math.max(0,x-Date.now());S=setTimeout(()=>{S=void 0,I$1();},F);}function V(R){m||(c.value=R,z(R));}function b(R){let x=o.activeRef;return x!==null&&x.conversationType===R.conversationType&&x.conversationId===R.conversationId}function I$1(R=Date.now()){let x=o.activeRef,F=n.getProductClient();x===null||F===null||V(F.capabilities.get(x,{nowMs:R}));}function _(){g?.(),g=void 0,N(),c.value=null;let R=o.activeRef,x=n.getProductClient();R===null||x===null||(g=x.capabilities.subscribe(R,V));}function W(){_();}function B(){g?.(),g=void 0,N(),c.value=null;}async function ae(){let R=o.activeRef,x=n.getProductClient();if(R===null||x===null)return;let F=n.getGeneration();try{let P=await x.capabilities.refresh(R);if(m||F!==n.getGeneration()||!b(R))return;V(P);}catch(P){if(m||F!==n.getGeneration()||!b(R))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...R},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:P}})),V(x.capabilities.get(R));}}function j(R){return c.value===null?Go:I(c.value,R)}function T(R){return j(R)}function Z(R){return j(R)}function X(R,x){let F=c.value;return F===null?Go:K(R,{snapshot:F,selfId:n.getCredentials().userId,...x})}function oe(R,x){let F=c.value;return F===null?Go:J(R,{snapshot:F,message:x,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function ne(){m||(m=true,M?.(),M=void 0,B());}return M=watch(()=>o.activeRef,_,{deep:true,immediate:true}),{activeSnapshot:c,start:W,reset:B,refresh:ae,conversationAction:j,profileAction:T,memberAction:Z,memberTargetAction:X,messageAction:oe,dispose:ne}})}var Ci=new WeakMap,Ar=new WeakMap;function Pc(e=Te()){Ce(e);let n=Ci.get(e);n===void 0&&(n=Rc(e),Ci.set(e,n));let r=n(e);return Ar.get(e)!==r&&(Ar.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Ar.get(e)===r&&Ar.delete(e);})),r}var Wt=new WeakMap;function Pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function kc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Oc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ri(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&&Oc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:Pi(r)})}function ki(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Mc(e=Te()){let n=Ce(e),r=Wt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Zn(e),m=He(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function S(M,N){let z=Pi(M),V=N?.signal;if(V?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:z});g.conversation=z;let b=++g.epoch,I=o.getGeneration(),_=()=>!g.disposed&&g.epoch===b&&o.getGeneration()===I;m.invalidatePendingOpen();let W=()=>{_()&&(g.epoch+=1,m.invalidatePendingOpen());};V?.addEventListener("abort",W,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:I,conversation:z})),!kc(z))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:I,conversation:z})),Object.freeze({ok:!1,reason:"unsupported",conversation:z});let B=m.getHandle();if(B!==void 0&&c.hasPendingWork(B))try{await c.flush(B);}catch(ae){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:z});let j=Ri(ae,"flush",z);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:I,conversation:z,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:j}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:z,error:j})}if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:z});if(m.getHandle()!==void 0&&ki(m.activeRef,z))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:z,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:z});try{if(await m.open(z)===void 0||!_())return Object.freeze({ok:!1,reason:"stale",conversation:z})}catch(ae){if(!_())return Object.freeze({ok:!1,reason:"stale",conversation:z});let j=Ri(ae,"open",z);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:I,conversation:z,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:j}})),Object.freeze({ok:!1,reason:"open-failed",conversation:z,error:j})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:z})),Object.freeze({ok:!0,status:"opened",conversation:z})}finally{V?.removeEventListener("abort",W);}}return g.coordinator=Object.freeze({activate:S}),Wt.set(e,g),Ee(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Wt.get(e)===g&&Wt.delete(e);}),g.coordinator}function Oi(e,n){let r=Wt.get(e);r===void 0||r.disposed||!ki(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function jc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function bt(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&&jc(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 wc(e){return defineStore("k2-im-conversation-list",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),S=false,M=null,N,z=0;function V(P="idle"){o.value=[],s$1.value=P,c.value=0,g.value=null;}function b(P,O,$){S||M!==O||n.getGeneration()!==$||(o.value=P.items,s$1.value=P.state,c.value=P.totalUnread,g.value=P.error??null);}function I(P){if(S)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(M===P||(N?.(),N=void 0,M=P,z+=1,V(),P===null))return;let O=n.getGeneration();N=P.conversations.subscribe($=>b($,P,O)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:O}));}function _(){I(n.getProductClient());}function W(){I(null);}function B(P){return !S&&M===P.client&&n.getProductClient()===P.client&&n.getGeneration()===P.generation&&z===P.bindingEpoch}function ae(){let P=n.ensureProductClient();return I(P),{client:P,generation:n.getGeneration(),bindingEpoch:z}}async function j(){if(S)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let P;try{P=ae();}catch(O){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:bt(O,"refresh")})}try{return await P.client.conversations.refresh(),B(P)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(O){return B(P)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:bt(O,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function T(P,O,$){let Q=Mi(O);if(S)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:Q});let de;try{de=ae();}catch(ge){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:Q,error:bt(ge,P,Q)})}try{$(de.client,Q);}catch(ge){return B(de)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:Q,error:bt(ge,P,Q)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:Q})}return B(de)?Object.freeze({ok:true,operation:P,conversation:Q}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:Q})}async function Z(P,O,$){let Q=Mi(O);if(S)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:Q});let de;try{de=ae();}catch(ge){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:Q,error:bt(ge,P,Q)})}try{return await $(de.client,Q),B(de)?Object.freeze({ok:!0,operation:P,conversation:Q}):Object.freeze({ok:!1,operation:P,reason:"stale",conversation:Q})}catch(ge){return B(de)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:Q,error:bt(ge,P,Q)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:Q})}}function X(P,O){return T("set-pinned",P,($,Q)=>$.conversations.setPinned(Q,O))}function oe(P,O){return Z("set-muted",P,($,Q)=>$.conversations.setMuted(Q,O))}function ne(P){return Z("mark-read",P,(O,$)=>O.conversations.markRead($))}function R(P){return T("mark-unread",P,(O,$)=>O.conversations.markUnread($))}function x(P){return T("delete-local",P,(O,$)=>O.conversations.deleteLocal($))}function F(){S||(N?.(),N=void 0,M=null,V(),S=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:_,reset:W,refresh:j,setPinned:X,setMuted:oe,markRead:ne,markUnread:R,deleteLocal:x,dispose:F}})}var Si=new WeakMap,zr=new WeakMap;function _o(e=Te()){Ce(e);let n=Si.get(e);n===void 0&&(n=wc(e),Si.set(e,n));let r=n(e);return zr.get(e)!==r&&(zr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),zr.get(e)===r&&zr.delete(e);})),r}var Dc=250,_c=2e3;function Ei(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Ko(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ei(r)}})}function Fc(e){return defineStore("k2-im-search",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=ref(""),c=ref([]),m=ref(false),g=ref(false),S=ref("all"),M=ref(""),N=ref(""),z=shallowRef(null),V=false,b=0,I=0,_,W,B,ae;function j(){let G=o.activeRef,h=o.getHandle();if(!(V||G===null||h===void 0||!Fo(G,h.ref)))return {ref:Ei(G),handle:h,generation:n.getGeneration()}}function T(G){return !V&&n.getGeneration()===G.generation&&o.getHandle()===G.handle&&Fo(o.activeRef,G.ref)}function Z(){let G=W;G!==void 0&&(clearTimeout(G.timer),W=void 0,G.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function X(){B!==void 0&&(clearTimeout(B),B=void 0);}function oe(G,h){return h===b&&(m.value=false),Object.freeze({ok:false,operation:G,reason:"stale"})}function ne(G,h){return G===I&&M.value===h&&(M.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function R(G,h,U){switch(U){case "all":return Ba(n,{conversation:G.ref,keyword:h});case "text":return Ca(n,{conversation:G.ref,keyword:h});case "file":return Da(n,{conversation:G.ref,keyword:h});case "image":return Ea(n,{conversation:G.ref});case "video":return Fa(n,{conversation:G.ref});case "voice":return Ga(n,{conversation:G.ref})}}function x(G,h){return G!==""?true:h!=="all"&&h!=="text"}function F(G){s.value=G,Z();let h=++b,U=G.trim(),D=S.value,le=x(U,D);if(_=void 0,c.value=[],g.value=false,z.value=null,!le)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ce=j();return ce===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(me=>{let Oe=setTimeout(()=>{if(W?.timer===Oe&&(W=void 0),h!==b||!T(ce)){me(oe("search",h));return}r.record("debug","pinia","history","search-start",()=>({generation:ce.generation,conversation:ce.ref,category:D})),R(ce,U,D).then(E=>{if(h!==b||!T(ce)){me(oe("search",h));return}c.value=[...E.results],_=E.nextPageToken,g.value=!E.exhausted,m.value=false,me(Object.freeze({ok:true,operation:"search"}));}).catch(E=>{if(h!==b||!T(ce)){me(oe("search",h));return}let H=Ko(E,"search.first-page",ce.ref);z.value=H,m.value=false,me(Object.freeze({ok:false,operation:"search",reason:"failed",error:H}));});},Dc);W={timer:Oe,resolve:me};}))}function P(G){return S.value=G,(G==="image"||G==="video"||G==="voice")&&(s.value=""),F(s.value)}async function O(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!g.value||_===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let G=j();if(G===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let h=_,U=++b;m.value=true,z.value=null;try{let D=await Ha(n,h);return U!==b||!T(G)?oe("load-more",U):(c.value=[...c.value,...D.results],_=D.nextPageToken,g.value=!D.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(D){if(U!==b||!T(G))return oe("load-more",U);let le=Ko(D,"search.next-page",G.ref);return z.value=le,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:le})}}async function $(G,h){let U=j();if(U===void 0||!Fo(U.ref,G))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let D=++I;X(),N.value="",M.value=h,z.value=null;try{return !o.messages.some(ce=>ce.id===h)&&!await o.loadAround(h)||(await nextTick(),D!==I||!T(U))?ne(D,h):(N.value=h,Object.freeze({ok:!0,operation:"locate"}))}catch(le){if(D!==I||!T(U))return ne(D,h);let ce=Ko(le,"search.locate",U.ref);return M.value="",z.value=ce,Object.freeze({ok:false,operation:"locate",reason:"failed",error:ce})}}function Q(G){if(M.value!==G)return false;M.value="";let h=I,U=j();return X(),U===void 0||N.value!==G||(B=setTimeout(()=>{B=void 0,h===I&&T(U)&&N.value===G&&(N.value="");},_c)),true}function de(){I+=1,X(),M.value="",N.value="";}function ge(G){b+=1,Z(),s.value="",c.value=[],m.value=false,g.value=false,S.value="all",_=void 0,z.value=null,G?.preserveLocation!==true&&de();}function Pe(){V||(ge(),V=true,ae?.(),ae=void 0);}return ae=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>ge(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:g,category:S,locatingMessageId:M,highlightMessageId:N,error:z,search:F,setCategory:P,loadMore:O,locate:$,completeLocation:Q,clearLocation:de,reset:ge,dispose:Pe}})}var Ti=new WeakMap,Gr=new WeakMap;function jn(e=Te()){Ce(e);let n=Ti.get(e);n===void 0&&(n=Fc(e),Ti.set(e,n));let r=n(e);return Gr.get(e)!==r&&(Gr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Gr.get(e)===r&&Gr.delete(e);})),r}var Dr=new WeakMap;function ji(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Kc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Nc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Hc(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&&Nc(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:ji(n)})}function Lc(e=Te()){let n=Ce(e),r=Dr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=_o(e),m=He(e),g=Zn(e),S=$t(e),M=jn(e),N={disposed:false};function z(V){let b=ji(V);if(N.disposed)return Object.freeze({ok:false,reason:"stale",conversation:b});let I=o.getGeneration(),_=m.activeRef!==null&&m.activeRef.conversationType===b.conversationType&&m.activeRef.conversationId===b.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:b})),!Kc(b))return Object.freeze({ok:false,reason:"unsupported",conversation:b});let W=c.deleteLocal(b);if(!W.ok){if(W.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:b});let j=Hc(W.error,b);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:I,conversation:b,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:j}})),Object.freeze({ok:false,reason:"delete-failed",conversation:b,error:j})}if(N.disposed||o.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:b});Oi(e,b);let B=m.closeActiveConversation(b),ae=_||B;return ae&&(g.reset(),S.reset(),M.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:b,data:{activeConversationCleared:ae}})),Object.freeze({ok:true,status:"deleted",conversation:b,activeConversationCleared:ae})}return N.coordinator=Object.freeze({deleteLocal:z}),Dr.set(e,N),Ee(e,()=>{N.disposed=true,Dr.get(e)===N&&Dr.delete(e);}),N.coordinator}var wi=30,qc=15,Vc=20,Bc=4294967295,xi=new WeakMap;function Fr(e){return typeof e=="object"&&e!==null}function Ot(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 Ai(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Bc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function $c(e,n){if(!Fr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=Ot(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=Ai(e.width,"asset.width"),c=Ai(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:Ot(e.packageId,"asset.packageId"),resourceId:Ot(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:Ot(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function Jt(e,n){let r=xi.get(e);r===void 0&&(r=new Map,xi.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function zi(e,n,r,o){let s=Jt(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 Kr=new WeakMap;function Qt(){return reactive({loading:false,loaded:false,error:null})}function Rt(e){return {sticker:e(),gif:e()}}function Gi(e){return {sticker:e(),gif:e(),emoji:e()}}function Ln(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 Wc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Pt(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&&Wc(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 No(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Di(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function kt(e){return "recordId"in e?e.recordId:void 0}function Qc(e){let n=[];for(let r=0;r<e.length;r+=wi)n.push(e.slice(r,r+wi));return n}function Nr(e){return e==="gif"?Vc:qc}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 Ho(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:We(o)!==r)].slice(0,Nr(n.kind)))}function Jc(e,n){let r=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>We(o)!==r)])}function _i(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===Nr(e)))break}return Object.freeze(o)}function Fi(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function qo(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Lo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:qo(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 Uo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Xc(e){return defineStore("k2-im-expression",()=>{let n=Ce(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),S=Qt(),M=reactive({}),N=ref({sticker:[],gif:[]}),z=Rt(Qt),V=ref({sticker:[],gif:[]}),b=ref({sticker:[],gif:[],emoji:[]}),I=Gi(Qt),_=ref({sticker:[],gif:[],emoji:[]}),W=ref([]),B=ref("idle"),ae=ref(""),j=ref([]),T=ref(0),Z=Qt(),X=ref(void 0),oe=computed(()=>Ln(S,m.value.length)),ne=computed(()=>{let d=new Set([...Object.keys(M),...Object.keys(g.value)]);return Object.fromEntries([...d].map(p=>{let v=M[p]??{loading:false,loaded:true,error:null};return [p,Ln(v,g.value[p]?.length??0)]}))}),R=computed(()=>({sticker:Ln(z.sticker,N.value.sticker.length),gif:Ln(z.gif,N.value.gif.length)})),x=computed(()=>({sticker:Ln(I.sticker,b.value.sticker.length),gif:Ln(I.gif,b.value.gif.length),emoji:Ln(I.emoji,W.value.length)})),F=computed(()=>Ln(Z,j.value.length)),P=computed(()=>X.value!==void 0),O=false,$=0,Q=0,de={},ge=Rt(()=>0),Pe=Gi(()=>0),G=0,h=0,U=0,D=0,le=0,ce=null,me=null,Oe=null,E="emoji",H=new Set,ve=[],Ie=null,fe=null,Le=null,k=null,L=Rt(()=>new Map),ue=Rt(()=>new Map),pe=new Map,Se=new Map,Re=Rt(()=>Promise.resolve());function Ge(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:$,accountId:d.userId}}function ie(d){return !O&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===$&&d.accountId===r.getCredentials().userId}function he(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function Ae(d,p,v){let y=Pt(p,d);return v.error=y,Object.freeze({ok:false,operation:d,reason:"failed",error:y})}function qe(){return Object.freeze({ok:false,reason:"stale"})}function lt(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=p=>Object.freeze(b.value[p].flatMap(v=>{let y=lt(v);return y===null?[]:[Object.freeze({asset:y,pendingSync:L[p].has(We(y))})]}).slice(0,Nr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(W.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:pe.has(p.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 K(d,p){let v=No({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function ee(d,p,v,y=[p]){let C=o,A=++U,re=zi(C,d.accountId,v,y);le=re.revision;let se=re.promise.then(()=>(ie(d)&&A===U&&In(),true),te=>{if(!ie(d)||A!==U)return false;let ye=No({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[p].error=ye,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ye.code,data:te}})),false});return {...re,settled:se}}function Me(d){return ce!==null&&en(ce,d)}function ze(d){if(Le!==null)return Le;let v=(async()=>{for(;ie(d)&&!Me(d);){let C=k!==null&&en(k.context,d)?k:null;if(C!==null){let re=await C.promise;if(re.ok||!ie(d)||re.reason!=="stale")return;continue}let A=await Xe();if(A.ok||!ie(d)||A.reason!=="stale")return}})();Le=v;let y=()=>{Le===v&&(Le=null);};return v.then(y,y),v}function je(d,p,v){if(!ie(d))return Promise.resolve();if(D+=1,o===void 0||d.accountId==="")return ce=d,Promise.resolve();let y=gn();return Me(d)?ee(d,p,y).settled.then(()=>{}):(Oe=y,E=p,H.add(p),ve.push(v),ze(d))}function Ke(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function Be(d$1,p){let v=[...d$1.sticker],y=[...d$1.gif],C=[...d$1.emoji],A=new Map(d$1.pendingSticker),re=new Map(d$1.pendingGif),se=new Map(d$1.pendingEmoji);for(let te of p){if(te.type==="prepend-asset"){(te.kind==="sticker"?A:re).set(We(te.asset),te.asset),te.kind==="sticker"?v=[...Ho(v,te.asset)]:y=[...Ho(y,te.asset)];continue}if(te.type==="prepend-emoji"||te.type==="prepend-emojis"){let be=te.type==="prepend-emoji"?[te.entry]:te.entries;for(let Fe of be)Fe.kind==="emoji"&&se.set(Fe.stableKey,Fe),C=[...d(C,Fe)];continue}if(te.type==="authoritative"){if(te.kind==="emoji"){for(let be of te.items)if(be.kind==="emoji")for(let[Fe,Ue]of se)Ue.resourceId===be.resourceId&&se.delete(Fe);C=[...Lo(te.items,C,new Set(se.keys()))];}else {let be=te.kind==="sticker"?A:re;for(let Ue of te.items)Ue.kind===te.kind&&be.delete(We(Ue));let Fe=_i(te.kind,te.items,be);te.kind==="sticker"?v=[...Fe]:y=[...Fe];}continue}if(te.type==="delete-assets"){let be=new Set(te.identities),Fe=te.kind==="sticker"?A:re,Ue=xe=>xe.kind==="emoji"||!be.has(We(xe))||Fe.has(We(xe));te.kind==="sticker"?v=v.filter(Ue):y=y.filter(Ue);continue}let ye=new Set(te.resourceIds);C=C.filter(be=>be.kind==="game"||!ye.has(be.resourceId)||se.has(be.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(y),emoji:Object.freeze(C),pendingSticker:A,pendingGif:re,pendingEmoji:se}}function Ze(d){if(!Fr(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(se,te)=>{let ye=[],be=new Map,Fe=new Set;for(let Ue of te){if(!Fr(Ue)||typeof Ue.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let xe=$c(Ue.asset,se),$e=We(xe);Fe.has($e)||(Fe.add($e),ye.length<Nr(se)&&(ye.push(xe),Ue.pendingSync&&be.set($e,xe)));}return {items:Object.freeze(ye),pending:be}},v=p("sticker",d.sticker),y=p("gif",d.gif),C=[],A=new Map,re=new Set;for(let se of d.emoji){if(!Fr(se)||typeof se.stableKey!="string"||se.stableKey.trim()===""||se.kind!=="emoji"&&se.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let te=se.stableKey.trim(),ye,be=false;if(se.kind==="game"){if(se.gameType!=="dice"&&se.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ye=Uo(se.gameType),ye.stableKey!==te)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Fe=Ot(se.token,"emoji.token"),Ue=Ot(se.resourceId,"emoji.resourceId");if(typeof se.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");be=se.pendingSync,ye=Object.freeze({kind:"emoji",stableKey:te,token:Fe,resourceId:Ue});}re.has(te)||(re.add(te),C.length<14&&(C.push(ye),ye.kind==="emoji"&&be&&A.set(te,ye)));}return {sticker:v.items,gif:y.items,emoji:Object.freeze(C),pendingSticker:v.pending,pendingGif:y.pending,pendingEmoji:A}}function Mn(d){b.value={sticker:d.sticker,gif:d.gif,emoji:[]},_.value={sticker:[],gif:[],emoji:[]},W.value=d.emoji,L.sticker.clear(),L.gif.clear(),pe.clear();for(let[p,v]of d.pendingSticker)L.sticker.set(p,v);for(let[p,v]of d.pendingGif)L.gif.set(p,v);for(let[p,v]of d.pendingEmoji)pe.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(I[p],{loading:false,loaded:true,error:null});}function Je(d,p){if(o===void 0||d.accountId==="")return 0;let v=Jt(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ne(d){if(o===void 0||d.accountId===""||!Me(d))return;let p=Jt(o,d.accountId);if(p.revision===le)return;let v=p.latestSnapshot===null?Ke():Ze(p.latestSnapshot),y=(C,A)=>{let re=C==="sticker"?v.pendingSticker:v.pendingGif,se=new Map(b.value[C].flatMap(te=>te.kind==="emoji"||te.kind!==C?[]:[[We(te),te]]));return Object.freeze(A.map(te=>{if(te.kind==="emoji"||te.kind!==C)return te;let ye=We(te);if(re.has(ye))return te;let be=kt(se.get(ye)??te);return Object.freeze({...te,...be===void 0?{}:{recordId:be}})}))};b.value={sticker:y("sticker",v.sticker),gif:y("gif",v.gif),emoji:b.value.emoji},W.value=v.emoji,L.sticker.clear(),L.gif.clear(),pe.clear();for(let[C,A]of v.pendingSticker)L.sticker.set(C,A);for(let[C,A]of v.pendingGif)L.gif.set(C,A);for(let[C,A]of v.pendingEmoji)pe.set(C,A);for(let C of ["sticker","gif"]){let A=new Set(b.value[C].flatMap(re=>kt(re)===void 0?[]:[kt(re)]));_.value={..._.value,[C]:Object.freeze(_.value[C].filter(re=>A.has(re)))};}le=p.revision;}async function hn(d,p,v,y){let C="hydrate-recent";I.emoji.error=null;try{let A=null,re=0;if(o!==void 0&&d.accountId!==""){A=Jt(o,d.accountId);let xe=A.latestSnapshot;if(!y&&A.status==="failed"&&xe!==null&&zi(o,d.accountId,xe,[]),re=A.revision,await A.tail.catch(()=>{}),p!==h||!ie(d)||D!==v||A.revision!==re)return he(C);if(!y&&A.status==="failed")return K(C,I.emoji);A.status==="saved"&&Ie!==null&&A.latestSnapshot===Ie&&Oe===fe&&(Oe=null,H.clear(),ve.length=0,Ie=null,fe=null);}let se=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==h||!ie(d)||D!==v||A!==null&&A.revision!==re)return he(C);let te;try{te=se===null?Ke():Ze(se);}catch(xe){let $e=o?.clearInvalid;if(se!==null&&d.accountId!==""&&$e!==void 0)try{await $e(d.accountId,se);}catch(an){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:an})}throw xe}let ye=y?null:Oe,be=new Set(H),Fe=[...ve],Ue=ye===null?te:Be(te,Fe);if(Mn(Ue),le=re,y){if(Oe=null,H.clear(),ve.length=0,Ie=null,fe=null,A!==null){A.revision+=1;for(let xe of ["sticker","gif","emoji"])A.kindRevisions[xe]+=1;A.status="saved",A.latestSnapshot=se,A.error=null,le=A.revision;}return ce=d,In(),Object.freeze({ok:!0,operation:C})}if(ye!==null&&o!==void 0&&d.accountId!==""){let xe=gn();Ie=xe,fe=ye;let $e=ee(d,E,xe,[...be]),an=await $e.settled;if(p!==h||!ie(d)||D!==v||$e.coordinator.revision!==$e.revision)return he(C);if(!an)return K(C,I.emoji);Oe===ye&&(Oe=null,H.clear(),ve.length=0,Ie=null,fe=null);}return ce=d,Object.freeze({ok:!0,operation:C})}catch(A){return p!==h||!ie(d)?he(C):Ae(C,A,I.emoji)}}function en(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function Xe(d={}){let p="hydrate-recent";if(O)return Promise.resolve(he(p));let v;try{v=Ge();}catch(ye){let be=Ae(p,ye,I.emoji);return !be.ok&&be.reason==="failed"&&(me=be.error??I.emoji.error),Promise.resolve(be)}let y=o===void 0||v.accountId===""?null:Jt(o,v.accountId);if(!d.force&&Me(v)&&Oe===null&&(y===null||(y.status==="idle"||y.status==="saved")&&y.revision===le))return me=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&k!==null&&!k.force&&k.stateRevision===D&&en(k.context,v))return k.promise;let C=++h,A=D,re=hn(v,C,A,d.force===true).then(ye=>(ye.ok?me=null:ye.reason==="failed"&&(me=ye.error??I.emoji.error),ye)),se={context:v,stateRevision:A,force:d.force===true,promise:re};k=se;let te=()=>{k===se&&(k=null);};return re.then(te,te),re}async function yn(d){let p="load-packs";if(O)return he(p);let v=++Q,y;try{y=Ge();}catch(C){return Ae(p,C,S)}S.loading=true,S.error=null;try{let C=await y.client.expressions.packs.list(d);return v!==Q||!ie(y)?he(p):(c.value=C.version,m.value=Object.freeze([...C.items]),S.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(C){return v!==Q||!ie(y)?he(p):Ae(p,C,S)}finally{v===Q&&ie(y)&&(S.loading=false);}}async function xn(d){let p="load-pack-items";if(O)return he(p);let v=d.trim();if(v===""){let re=Pt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:re})}let y=M[v]??=Qt(),C=(de[v]??0)+1;de[v]=C;let A;try{A=Ge();}catch(re){return Ae(p,re,y)}y.loading=true,y.error=null;try{let re=await A.client.expressions.packs.listItems(v);return de[v]!==C||!ie(A)?he(p):(g.value={...g.value,[v]:Object.freeze([...re])},y.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(re){return de[v]!==C||!ie(A)?he(p):Ae(p,re,y)}finally{de[v]===C&&ie(A)&&(y.loading=false);}}async function ct(d){let p="load-favorites";if(O)return he(p);let v=++ge[d],y=z[d],C;try{C=Ge();}catch(A){return Ae(p,A,y)}y.loading=true,y.error=null;try{let A=await C.client.expressions.favorites.list(d);return ge[d]!==v||!ie(C)?he(p):(Vn(d,A),y.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(A){return ge[d]!==v||!ie(C)?he(p):Ae(p,A,y)}finally{ge[d]===v&&ie(C)&&(y.loading=false);}}function Vn(d,p){for(let A of p)ue[d].delete(We(A));let v=[],y=new Set;for(let A of [...ue[d].values(),...p]){let re=We(A);y.has(re)||(y.add(re),v.push(Object.freeze({...A})));}N.value={...N.value,[d]:Object.freeze(v)};let C=new Set(p.flatMap(A=>A.recordId===void 0?[]:[A.recordId]));V.value={...V.value,[d]:Object.freeze(V.value[d].filter(A=>C.has(A)))};}async function Bn(d,p,v){let y=z[p];try{let C=await d.client.expressions.favorites.list(p);if(ge[p]!==v||!ie(d))return;Vn(p,C),y.loaded=!0;}catch(C){ge[p]===v&&ie(d)&&(y.error=Pt(C,"load-favorites"));}}function Sn(d,p){let v="set-favorite";if(O)return Promise.resolve(he(v));let y=We(d),C=Se.get(y);if(C?.desired===p)return C.promise;let A;try{A=Ge();}catch(ye){return Promise.resolve(Ae(v,ye,z[d.kind]))}let re=C?.promise.catch(()=>{})??Promise.resolve(),se=Re[d.kind].catch(()=>{}),te=Promise.all([re,se]).then(async()=>{if(!ie(A))return he(v);let ye=d.kind,be=z[ye];be.error=null;let Fe=N.value[ye].find(xe=>We(xe)===y);if(p&&Fe!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&Fe?.recordId===void 0){let xe=No({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return be.error=xe,Object.freeze({ok:false,operation:v,reason:"failed",error:xe})}let Ue=++ge[ye];try{if(p?await A.client.expressions.favorites.add(d):await A.client.expressions.favorites.delete([Fe.recordId]),!ie(A))return he(v);p?(ue[ye].set(y,Object.freeze({...d})),N.value={...N.value,[ye]:Jc(N.value[ye],d)}):(ue[ye].delete(y),N.value={...N.value,[ye]:Object.freeze(N.value[ye].filter($e=>$e.recordId!==Fe.recordId))});let xe=++ge[ye];return Ue=xe,await Bn(A,ye,xe),!ie(A)||ge[ye]!==xe?he(v):Object.freeze({ok:!0,operation:v})}catch(xe){return !ie(A)||ge[ye]!==Ue?he(v):Ae(v,xe,be)}finally{ge[ye]===Ue&&ie(A)&&(be.loading=false);}});return Se.set(y,{desired:p,promise:te}),Re[d.kind]=te.then(()=>{},()=>{}),te.finally(()=>{Se.get(y)?.promise===te&&Se.delete(y);}),te}async function An(d){let p=await Sn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function zn(d){return Sn(d,false)}function Tn(d,p,v){if(O)return;let y=Di(p),C=new Set(V.value[d]);v??!C.has(y)?C.add(y):C.delete(y),V.value={...V.value,[d]:Object.freeze([...C])};}function un(d,p,v){if(Ne(v),d==="emoji"){for(let C of p)if(C.kind==="emoji")for(let[A,re]of pe)re.resourceId===C.resourceId&&pe.delete(A);b.value={...b.value,emoji:Object.freeze([...p])},W.value=Lo(p,W.value,new Set(pe.keys()));}else {for(let C of p)C.kind===d&&L[d].delete(We(C));b.value={...b.value,[d]:_i(d,p,L[d])};}let y=new Set(p.flatMap(C=>C.recordId===void 0?[]:[C.recordId]));_.value={..._.value,[d]:Object.freeze(_.value[d].filter(C=>y.has(C)))},I[d].loaded=true,je(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function dn(d){let p="load-recent";if(O)return he(p);let v=I[d],y=await Xe();if(!y.ok)return y.reason==="stale"?he(p):(v.error=y.error??I.emoji.error,Object.freeze({...y,operation:p}));let C=++Pe[d],A;try{A=Ge();}catch(re){return Ae(p,re,v)}v.loading=true,v.error=null;try{let re=Je(A,d),se=await A.client.expressions.recent.list(d);return Pe[d]!==C||!ie(A)?he(p):Je(A,d)!==re?(Ne(A),he(p)):(un(d,se,A),Object.freeze({ok:!0,operation:p}))}catch(re){return Pe[d]!==C||!ie(A)?he(p):Ae(p,re,v)}finally{Pe[d]===C&&ie(A)&&(v.loading=false);}}async function Pn(d,p){if(!ie(d))return;let v=++Pe[p],y=I[p];y.loading=true,y.error=null;try{Ne(d);let C=Je(d,p),A=await d.client.expressions.recent.list(p);if(Pe[p]!==v||!ie(d))return;if(Je(d,p)!==C){Ne(d);return}un(p,A,d);}catch(C){Pe[p]===v&&ie(d)&&(y.error=Pt(C,"load-recent"));}finally{Pe[p]===v&&ie(d)&&(y.loading=false);}}function bn(d,p){if(!ie(d))return false;Ne(d),h+=1;let v=p.kind,y=Object.freeze({...p});return L[v].set(We(y),y),b.value={...b.value,[v]:Ho(b.value[v],y)},I[v].loaded=true,je(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:y})),true}function Cn(d$1,p){if(!ie(d$1))return false;Ne(d$1),h+=1;let v=Object.freeze(p.map(C=>Object.freeze({...C}))),y=W.value;for(let C of v)pe.set(C.stableKey,C),y=d(y,C);return W.value=y,I.emoji.loaded=true,je(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function nn(d,p){return Cn(d,[p])}async function tn(d,p,v=true){let y="report-recent";if(!ie(d))return he(y);let C=p.kind,A=++Pe[C],re=I[C];re.error=null;try{if(await d.client.expressions.recent.report(p),Pe[C]!==A||!ie(d))return he(y);if(!v)return Object.freeze({ok:!0,operation:y});try{Ne(d);let se=Je(d,C),te=await d.client.expressions.recent.list(C);if(Pe[C]!==A||!ie(d))return he(y);if(Je(d,C)!==se)return Ne(d),he(y);un(C,te,d);}catch(se){Pe[C]===A&&ie(d)&&(re.error=Pt(se,"load-recent"));}return Object.freeze({ok:!0,operation:y})}catch(se){return Pe[C]!==A||!ie(d)?he(y):Ae(y,se,re)}}async function so(d){let p="report-recent";if(O)return he(p);let v;try{v=Ge();}catch(y){return Ae(p,y,I[d.kind])}return d.kind==="emoji"?nn(v,Object.freeze({...d,stableKey:qo(d)})):bn(v,d),tn(v,d)}function lo(d,p,v){if(O)return;let y=Di(p),C=new Set(_.value[d]);v??!C.has(y)?C.add(y):C.delete(y),_.value={..._.value,[d]:Object.freeze([...C])};}async function tr(d,p,v){let y=d==="favorites"?"delete-favorites":"delete-recent";if(O)return he(y);let C=d==="favorites"?V:_,A=d==="favorites"?ge:Pe,re=d==="favorites"?z:I,se=v?.selected??C.value[p];if(se.length===0)return Object.freeze({ok:false,operation:y,reason:"empty"});let te=re[p];if(te.loading)return Object.freeze({ok:false,operation:y,reason:"busy"});let ye=++A[p],be;try{be=v?.context??Ge();}catch(De){return Ae(y,De,te)}d==="recent"&&Ne(be);let Fe=d==="recent"?Je(be,p):0,Ue=new Set(se),xe=d==="recent"?b.value[p].filter(De=>{let sn=kt(De);return sn!==void 0&&Ue.has(sn)}):[];te.loading=true,te.error=null;let $e=[],an=new Set,Dn,_n,fn=false;for(let De of Qc(se)){if(!ie(be))return he(y);if(d==="recent"&&A[p]!==ye){fn=true;break}try{d==="favorites"?await be.client.expressions.favorites.delete(De):await be.client.expressions.recent.delete(De);for(let sn of De)an.add(sn);}catch(sn){let Fn=Pt(sn,y);Dn??=Fn,$e.push(...De);}}if(!ie(be))return he(y);if(d==="recent"&&A[p]!==ye&&(fn=true),d==="recent"&&Je(be,p)!==Fe&&(fn=true),d==="favorites"){let De=p;N.value={...N.value,[De]:Object.freeze(N.value[De].filter(Kn=>Kn.recordId===void 0||!an.has(Kn.recordId)))};let sn=new Set(se),Fn=V.value[De].filter(Kn=>!sn.has(Kn));if(V.value={...V.value,[De]:Object.freeze([...new Set([...Fn,...$e])])},_n=++ge[De],await Bn(be,De,_n),!ie(be))return he(y)}else {let De=p;Ne(be);let sn=xe.filter(_e=>{let mn=kt(_e);return mn!==void 0&&an.has(mn)}),Fn=new Set(sn.filter(_e=>_e.kind==="emoji").map(_e=>_e.resourceId)),Kn=new Set(sn.filter(_e=>_e.kind!=="emoji").map(We));De==="emoji"&&(W.value=Object.freeze(W.value.filter(_e=>_e.kind==="game"||!Fn.has(_e.resourceId)||pe.has(_e.stableKey)))),b.value={...b.value,[De]:Object.freeze(b.value[De].filter(_e=>{let mn=kt(_e);return mn===void 0||!an.has(mn)}))};let uo=new Set(se),Rn=fn?_.value[De].filter(_e=>!an.has(_e)):_.value[De].filter(_e=>!uo.has(_e));if(_.value={..._.value,[De]:Object.freeze(fn?Rn:[...new Set([...Rn,...$e])])},De==="emoji"){let _e=b.value.emoji.filter(mn=>mn.kind==="emoji");W.value=Lo(_e,W.value,new Set(pe.keys()));}let kn=Object.freeze(De==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Fn])}:{type:"delete-assets",kind:De,identities:Object.freeze([...Kn])});if(je(be,De,kn),fn&&an.size>0&&await Pn(be,De),!ie(be))return he(y)}return (d==="recent"?Pe[p]===ye:ge[p]===_n)&&(te.loaded=true,(Dn!==void 0||d==="recent")&&(te.error=Dn??null),te.loading=false),fn?he(y):$e.length===0?Object.freeze({ok:true,operation:y}):Object.freeze({ok:false,operation:y,reason:an.size===0?"failed":"partial",error:Dn,failedRecordIds:Object.freeze($e)})}function co(d){let p="delete-favorites";if(O)return Promise.resolve(he(p));let v=Object.freeze([...V.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let y;try{y=Ge();}catch(re){return Promise.resolve(Ae(p,re,z[d]))}let A=Re[d].catch(()=>{}).then(()=>ie(y)?tr("favorites",d,{context:y,selected:v}):he(p));return Re[d]=A.then(()=>{},()=>{}),A}function rr(d){return tr("recent",d)}function ut(d,p){let v=++G;return B.value=d,ae.value=p,j.value=[],T.value=0,X.value=void 0,Z.loading=true,Z.loaded=false,Z.error=null,v}async function dt(d,p){let v="load-giphy";if(O)return he(v);let y={mode:B.value,query:ae.value,items:j.value,totalCount:T.value,nextOffset:X.value,loaded:Z.loaded},C=ut(d,p),A=()=>{B.value=y.mode,ae.value=y.query,j.value=y.items,T.value=y.totalCount,X.value=y.nextOffset,Z.loaded=y.loaded;},re;try{re=Ge();}catch(se){return A(),Z.loading=false,Ae(v,se,Z)}try{let se=d==="trending"?await re.client.expressions.giphy.trending():await re.client.expressions.giphy.search(p);return C!==G||!ie(re)?he(v):(j.value=Fi(se.items),T.value=se.totalCount,X.value=se.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(se){return C!==G||!ie(re)?he(v):(A(),Ae(v,se,Z))}finally{C===G&&ie(re)&&(Z.loading=false);}}function ft(){return dt("trending","")}function Gn(d){if(O)return Promise.resolve(he("load-giphy"));let p=d.trim();return p===""?(ut("search",""),Z.loading=false,Z.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):dt("search",p)}async function or(){let d="load-more-giphy";if(O)return he(d);if(Z.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(B.value==="idle"||X.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++G,v=B.value,y=ae.value,C=X.value,A;try{A=Ge();}catch(re){return Ae(d,re,Z)}Z.loading=true,Z.error=null;try{let re=v==="trending"?await A.client.expressions.giphy.trending({offset:C}):await A.client.expressions.giphy.search(y,{offset:C});return p!==G||!ie(A)?he(d):(j.value=Fi([...j.value,...re.items]),T.value=re.totalCount,X.value=re.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(re){return p!==G||!ie(A)?he(d):Ae(d,re,Z)}finally{p===G&&ie(A)&&(Z.loading=false);}}async function ar(d){return Gt([d])}async function Gt(d){let p="report-recent";if(O)return he(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=Ge();}catch(A){return Ae(p,A,I.emoji)}let y=Object.freeze(d.map(A=>Object.freeze({...A,stableKey:qo(A)})));if(!Cn(v,y))return he(p);let C=Object.freeze({ok:true,operation:p});for(let[A,re]of y.entries())if(C=await tn(v,{kind:"emoji",token:re.token,resourceId:re.resourceId},A===y.length-1),!C.ok&&C.reason==="stale")return C;return C}function rn(d,p){tn(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function ir(d,p){if(O)return qe();let v;try{v=Ge();}catch{return qe()}let y;try{y=await d.messages.sendSticker(p);}catch(C){if(!ie(v))return qe();throw C}return ie(v)?(y.ok&&bn(v,p)&&rn(v,p),y):qe()}async function Dt(d,p){if(O)return qe();let v;try{v=Ge();}catch{return qe()}let y;try{y=await d.messages.sendGifAsset(p);}catch(C){if(!ie(v))return qe();throw C}return ie(v)?(y.ok&&bn(v,p)&&rn(v,p),y):qe()}async function mt(d$1,p){if(O)return qe();let v;try{v=Ge();}catch{return qe()}let y;try{y=await d$1.messages.sendGame(p);}catch(C){if(!ie(v))return qe();throw C}return ie(v)?(y.ok&&(Ne(v),h+=1,W.value=d(W.value,Uo(p)),I.emoji.loaded=true,je(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Uo(p)}))),y):qe()}function on(d={}){if(O)return;let p=d.preserveRecentHydrationFailure===true?me:null;$+=1,Q+=1,G+=1,h+=1,U+=1,D=0,le=0,ce=null,Oe=null,H.clear(),ve.length=0,Ie=null,fe=null,Le=null,k=null,me=p,Se.clear(),Re=Rt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(S,{loading:false,loaded:false,error:null});for(let v of Object.keys(M))delete M[v];for(let v of Object.keys(de))de[v]=(de[v]??0)+1;N.value={sticker:[],gif:[]},V.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])ge[v]+=1,Object.assign(z[v],{loading:false,loaded:false,error:null});b.value={sticker:[],gif:[],emoji:[]},_.value={sticker:[],gif:[],emoji:[]},W.value=[],L.sticker.clear(),L.gif.clear(),ue.sticker.clear(),ue.gif.clear(),pe.clear();for(let v of ["sticker","gif","emoji"])Pe[v]+=1,Object.assign(I[v],{loading:false,loaded:false,error:null});p!==null&&(I.emoji.error=p),B.value="idle",ae.value="",j.value=[],T.value=0,X.value=void 0,Object.assign(Z,{loading:false,loaded:false,error:null});}function sr(){O||(on(),O=true);}return Kr.set(e,Object.freeze({dispose:sr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:oe,packItemStatus:ne,favorites:N,favoriteStatus:R,favoriteSelection:V,recent:b,recentStatus:x,recentSelection:_,emojiRecent:W,giphyMode:B,giphyQuery:ae,giphyItems:j,giphyTotalCount:T,giphyHasMore:P,giphyStatus:F,hydrateRecent:Xe,loadPacks:yn,loadPackItems:xn,loadFavorites:ct,addFavorite:An,setFavorite:Sn,unsetFavorite:zn,toggleFavoriteSelection:Tn,deleteSelectedFavorites:co,loadRecent:dn,reportRecent:so,rememberEmoji:ar,rememberEmojis:Gt,toggleRecentSelection:lo,deleteSelectedRecent:rr,loadGiphyTrending:ft,searchGiphy:Gn,loadMoreGiphy:or,sendSticker:ir,sendGif:Dt,sendGame:mt,reset:on}})}var Ki=new WeakMap,_r=new WeakMap;function Yc(e=Te()){Ce(e);let n=Ki.get(e);n===void 0&&(n=Xc(e),Ki.set(e,n));let r=n(e),o=Kr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return _r.get(e)!==r&&(_r.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),_r.get(e)===r&&(_r.delete(e),Kr.get(e)===o&&Kr.delete(e));})),r}var Hr=new WeakMap;function Hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Lr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function eu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function nu(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&&eu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hi(n)})}function tu(e=Te()){let n=Ce(e),r=Hr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=He(e),m=jn(e),g={disposed:false};function S(I){return !g.disposed&&o.getGeneration()===I.generation&&c.getHandle()===I.handle&&Lr(c.activeRef,I.conversation)}function M(){let I=g.activeIntent;I!==void 0&&(g.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function N(I){if(!S(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()||!S(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(!S(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let W=nu(_,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:W}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:W}));}}function z(I){let _=g.activeIntent;_===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==_.selfId||I.message.status==="sent"||!Lr(I.ref,_.conversation)||(g.activeIntent=void 0,N(_));}async function V(I,_){let W=c.getHandle();if(!Zc(I)||g.disposed||!c.hasNewer||W===void 0||!Lr(W.ref,I)||!Lr(c.activeRef,I))return Object.freeze({value:await _(),history:Object.freeze({status:"not-needed"})});M();let B=Hi(I),ae,j=new Promise(Z=>{let X=false;ae=oe=>{X||(X=true,Z(oe));};}),T={token:Symbol("history-return-after-send"),conversation:B,handle:W,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:ae};g.activeIntent=T;try{let Z=await _();return g.activeIntent?.token===T.token&&(g.activeIntent=void 0,T.complete(S(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),Object.freeze({value:Z,history:await j})}catch(Z){throw g.activeIntent?.token===T.token&&(g.activeIntent=void 0,T.complete(S(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),await j,Z}}let b=o.subscribeProductEvents(z);return g.coordinator=Object.freeze({run:V}),Hr.set(e,g),Ee(e,()=>{g.disposed=true,M(),b(),Hr.get(e)===g&&Hr.delete(e);}),g.coordinator}function Li(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 S=m[0],M={startedAt:S.at,startedBytes:S.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},N=M.lastAt-M.startedAt,z=o-M.startedBytes;if(N<1e3||z<=0)return {sample:M};let V=z*1e3/N,b=(s-o)*1e3/V;return !Number.isFinite(V)||!Number.isFinite(b)?{sample:M}:{sample:M,estimate:{bytesPerSecond:V,estimatedRemainingMs:Math.ceil(b)}}}function Vi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Bi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Vi(e.conversation)}})}function au(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Vo(e,n){return au(e)?Bi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function iu(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:Vi(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},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Bi(e.error)}})}function $i(e,n){return n===void 0?e:`${e}\0${n}`}function wn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function su(e){return defineStore("k2-im-media",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),g=false,S=0,M=null,N=-1,z,V=new Map,b=computed(()=>{let h={};for(let U of s.value)U.direction==="upload"&&wn(o.activeRef,U.ref)&&(h[U.messageId]=U);return h}),I=computed(()=>{let h=o.activeRef,U={};for(let D of s.value)D.direction!=="upload"||D.state!=="queued"&&D.state!=="running"&&D.state!=="paused"||!wn(h,D.ref)||(U[D.messageId]=D.state==="queued"?0:D.percent);return U}),_=computed(()=>{let h={};for(let U of s.value)U.direction==="download"&&wn(o.activeRef,U.ref)&&(h[$i(U.messageId,U.itemIndex)]=U);return h}),W=computed(()=>{let h={};for(let[U,D]of Object.entries(_.value))(D.state==="queued"||D.state==="running")&&(h[U]=D.percent);return h}),B=computed(()=>{let h=o.activeRef,U={};for(let D of s.value)D.direction==="upload"&&D.state==="queued"&&D.phase==="waiting-upload-slot"&&wn(h,D.ref)&&(U[D.messageId]=true);return U}),ae=computed(()=>{let h=o.activeRef,U={};for(let D of s.value)D.direction==="upload"&&D.state==="running"&&D.phase==="finalizing"&&wn(h,D.ref)&&(U[D.messageId]=true);return U});function j(h,U,D){if(g||M!==U||N!==D||n.getGeneration()!==D)return;let le=new Set,ce=Date.now();s.value=h.map(me=>{let Oe=JSON.stringify([me.id,me.ref.conversationType,me.ref.conversationId]);le.add(Oe);let{sample:E,estimate:H}=Li(me,V.get(Oe),ce);return E===void 0?V.delete(Oe):V.set(Oe,E),iu(me,H)});for(let me of V.keys())le.has(me)||V.delete(me);}function T(h){let U=n.getGeneration();if(g)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(M===h&&N===U||(S+=1,z?.(),z=void 0,M=h,N=h===null?-1:U,s.value=[],V.clear(),c.value=null,m.value=null,h===null))return;let D=false;z=h.media.subscribe(le=>{D=true,j(le,h,U);}),D||j(h.media.getSnapshot(),h,U),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:U}));}function Z(){T(n.getProductClient());}function X(){T(null),m.value=null;}async function oe(h,U,D){let le=n.getProductClient();if(le===null)return Object.freeze({ok:false,operation:h,reason:"not-ready"});if(T(le),!s.value.some(Oe=>Oe.id===U))return Object.freeze({ok:false,operation:h,reason:"not-found"});let ce=n.getGeneration(),me=S;c.value=null;try{return h==="retry"&&D!==void 0?await le.media.retry(U,D):await le.media[h](U),g||me!==S||n.getGeneration()!==ce||M!==le?Object.freeze({ok:!1,operation:h,reason:"stale"}):Object.freeze({ok:!0,operation:h})}catch(Oe){if(g||me!==S||n.getGeneration()!==ce||M!==le)return Object.freeze({ok:false,operation:h,reason:"stale"});let E=Vo(Oe,h);return c.value=E,r.record("error","pinia","media",`media-task-${h}-failed`,()=>({generation:ce,data:{taskId:U},error:{message:E.code,data:E}})),Object.freeze({ok:false,operation:h,reason:"failed",error:E})}}function ne(h){return oe("cancel",h)}function R(h,U){return oe("retry",h,U)}function x(h){return oe("pause",h)}function F(h){return oe("resume",h)}async function P(h){let U=n.getProductClient();if(U===null)return {available:false,reason:"not-ready"};T(U);let D=n.getGeneration(),le=S;try{let ce=await U.media.getUploadRecovery(h);return g||le!==S||n.getGeneration()!==D||M!==U?{available:!1,reason:"stale"}:Object.freeze({available:ce.available,...ce.reason===void 0?{}:{reason:ce.reason},...ce.expiresAt===void 0?{}:{expiresAt:ce.expiresAt}})}catch(ce){return g||le!==S||n.getGeneration()!==D||M!==U?{available:false,reason:"stale"}:(c.value=Vo(ce,"getUploadRecovery"),{available:false,reason:"failed"})}}async function O(h,U){let D="resumeUpload",le=n.getProductClient();if(le===null)return Object.freeze({ok:false,operation:D,reason:"not-ready"});T(le);let ce=n.getGeneration(),me=S;c.value=null;try{return await le.media.resumeUpload(h,U),g||me!==S||n.getGeneration()!==ce||M!==le?Object.freeze({ok:!1,operation:D,reason:"stale"}):Object.freeze({ok:!0,operation:D})}catch(Oe){if(g||me!==S||n.getGeneration()!==ce||M!==le)return Object.freeze({ok:false,operation:D,reason:"stale"});let E=Vo(Oe,D);return E.code!=="IM_SDK_MEDIA_PAUSED"&&E.code!=="IM_SDK_MEDIA_CANCELLED"&&(c.value=E),Object.freeze({ok:false,operation:D,reason:"failed",error:E})}}async function $(h){let U=o.activeRef,D=s.value.find(ce=>ce.direction==="upload"&&(ce.state==="queued"||ce.state==="running"||ce.state==="paused")&&ce.messageId===h&&wn(U,ce.ref));if(D===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let le=await ne(D.id);return wn(o.activeRef,D.ref)?le:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function Q(h,U){let D=typeof h=="string"?h:h.messageId,le=typeof h=="string"?U:h.itemIndex,ce=s.value.filter(E=>E.direction==="download"&&(E.state==="queued"||E.state==="running")&&E.messageId===D&&E.itemIndex===le&&(typeof h=="string"||wn(h.conversation,E.ref)));if(ce.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(ce.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let me=ce[0],Oe=await ne(me.id);return wn(o.activeRef,me.ref)?Oe:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function de(h){let U=o.activeRef;return h.status!=="failed"||!(h.failure?.displayCode==="media.uploadInterrupted"||h.failure?.displayCode==="media.cancelled"||h.failure?.displayCode==="media.uploadTimeout"&&h.failure.retryable===false)||h.contentType!=="video"&&h.contentType!=="file"&&!(h.contentType==="filesAlbum"&&h.body.filesAlbum?.items.length===1)||U===null||h.conversationId!==U.conversationId||h.conversationType!==U.conversationType?false:(m.value=Object.freeze({messageId:h.id,conversationId:h.conversationId,conversationType:h.conversationType,kind:h.contentType==="video"?"video":"file"}),true)}function ge(){let h=m.value;return m.value=null,h}function Pe(){m.value=null;}function G(){g||(S+=1,z?.(),z=void 0,M=null,N=-1,s.value=[],V.clear(),c.value=null,m.value=null,g=true);}return {tasks:s,error:c,uploadProgress:I,uploadTasks:b,downloadTasks:_,downloadProgress:W,uploadWaiting:B,uploadFinalizing:ae,replacementRequest:m,start:Z,reset:X,cancel:ne,retry:R,pause:x,resume:F,getUploadRecovery:P,resumeUpload:O,cancelUpload:$,cancelDownload:Q,requestReplacement:de,takeReplacementRequest:ge,clearReplacementRequest:Pe,dispose:G}})}var qi=new WeakMap,Ur=new WeakMap;function lu(e=Te()){Ce(e);let n=qi.get(e);n===void 0&&(n=su(e),qi.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function nt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function qr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function uu(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&&cu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function St(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Tt(e,n){return St(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 du(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 Wi(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function fu(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Wi(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:Wi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function mu(e,n,r,o){let s=nt(r);if(s.conversationId==="")return {ok:false,result:Tt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:St(n,s,"not-ready")};let m=e.getGeneration(),g=fu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:St(n,s,"not-allowed",du(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Et(e,n,r,o,s){let c=mu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:St(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return St(n,c.captured.conversation,"stale");let g=uu(m,n,c.captured.conversation),S=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return St(n,c.captured.conversation,S,g)}}function pu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Qi(e,n,r){let o=nt(n),s=pu(r);return s.length===0?Promise.resolve(Tt("invite-members",o)):Et(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 Ji(e,n,r){let o=nt(n),s=qr(r);return s.userId===""?Promise.resolve(Tt("remove-member",o)):Et(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 Xi(e,n,r,o){let s=nt(n),c=qr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Tt(m,s)):Et(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 Yi(e,n,r){return Xi(e,n,r,true)}function Zi(e,n,r){return Xi(e,n,r,false)}function es(e,n,r){let o=nt(n),s=qr(r);return s.userId===""?Promise.resolve(Tt("transfer-ownership",o)):Et(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 ns(e,n,r){let o=nt(n),s=r===void 0?void 0:qr(r);return s!==void 0&&s.userId===""?Promise.resolve(Tt("leave",o)):Et(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 ts(e,n){let r=nt(n);return Et(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 vu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function gu(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&&vu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function jt(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 wt(e,n){return jt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function Iu(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 hu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function yu(e,n,r,o){let s=Xt(r);if(s.conversationId==="")return {ok:false,result:wt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:jt(n,s,"not-ready")};let m=e.getGeneration(),g=hu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:jt(n,s,"not-allowed",Iu(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=yu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:jt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?jt(n,c.captured.conversation,"failed",gu(m,n,c.captured.conversation)):jt(n,c.captured.conversation,"stale")}}function rs(e,n,r){let o=Xt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:wt(e,o)}:{ok:true,value:s}}function os(e,n,r){let o=r.trim();return o===""?Promise.resolve(wt("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 bu=100;function as(e,n,r){let o=r.trim();return o===""||[...o].length>bu?Promise.resolve(wt("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 is(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===""?wt("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function ss(e,n,r){let o=rs("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 ls(e,n,r,o,s){let c=r.trim(),m=rs("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?wt("set-member-nickname",Xt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Un(e,"set-member-nickname",n,async({client:S,conversation:M})=>(await S.channels.setMemberNickname(M,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:M,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function cs(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 us(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 ds(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 Cu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Ru(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function Pu(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 ku(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ou(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&&ku(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function tt(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 Vr(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 rt(e,n,r,o){let s=Pu(e);if(s===null)return {ok:false,result:tt(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:tt(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:tt(n,r,"failed",Ou(c,n,r))}:{ok:false,result:tt(n,r,"stale")}}}function xt(e,n){let r=Cu(n);return r.conversationId===""?{ok:false,result:tt(e,r,"failed",Vr(e,r))}:{ok:true,conversation:r}}async function fs(e,n,r){let o=xt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await rt(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 ms(e,n){let r=xt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(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 ps(e,n,r){let o=xt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return tt("report",s,"failed",Vr("report",s));let m=await rt(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 vs(e,n){let r=xt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(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 gs(e,n){let r=n.trim();if(r==="")return tt("search-user",null,"failed",Vr("search-user",null));let o=await rt(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:Ru(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=xt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(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 Vr("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 hs(e,n,r){let o=xt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await rt(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 Mu(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&&Mu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function At(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 At(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 Tu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Eu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function ju(e,n,r,o=false){let s=Yt(r);if(s.conversationId==="")return {ok:false,result:Zt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:At(n,s,"not-ready")};let m=e.getGeneration(),g=Eu(c,s,n,o);return g.availability!=="available"?{ok:false,result:At(n,s,"not-allowed",Tu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Br(e,n,r,o,s=false){let c=ju(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:At(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return At(n,c.captured.conversation,"stale");let g=Su(m,n,c.captured.conversation),S=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return At(n,c.captured.conversation,S,g)}}function wu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ys(e,n,r){let o=Yt(n),s=wu(r);return s.length===0?Promise.resolve(Zt("invite-members",o)):Br(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 bs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("remove-member",o)):Br(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 Cs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("transfer-ownership",o)):Br(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 Rs(e,n,r={}){let o=Yt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Zt("leave",o)):Br(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 Bo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function xu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ps(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&&xu(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 Au(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function zu(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function ks(e,n,r){let o=Bo(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=zu(s,o,n);return m.availability!=="available"?{ok:false,result:cn(n,o,"not-allowed",Au(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function $o(e,n,r,o){let s=ks(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",Ps(c,n,s.captured.conversation)):cn(n,s.captured.conversation,"stale")}}function Os(e,n,r){let o=r.trim();if(o===""){let s=Bo(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 $o(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ms(e,n,r){let o=r.trim();if(o===""){let s=Bo(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 $o(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ss(e,n,r,o){return $o(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ts(e,n,r){let o=ks(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",Ps(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 Gu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Du(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Gu(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 Es(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function js(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 ws(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Du(n,r.value)}function xs(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function As(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 S of c){let M=await s.group.listMembers(S.id,{forceRefresh:false});M!==null&&M.some(N=>N.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:S.id}),name:S.displayName||S.cardDisplayName||S.id,...S.avatarUrl===void 0?{}:{avatar:S.avatarUrl}}));}return Object.freeze(g)}async function zs(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Es(r.value),stale:r.stale})}async function Gs(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Es(r)}async function Ds(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 _s(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 Fs(e,n){return e.ensureProductClient().directory.search(n)}async function Ks(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.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 Wo(c)}function Wo(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 Ns(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(S=>S.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:Wo(c)}async function Hs(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 Wo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Jo(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 Xo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Jo(o)}async function Ls(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Jo(c)}async function Us(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Jo(s)}function qs(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 Ku=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Nu=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"]),Vs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function ke(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Y(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ot(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function $r(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function at(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function On(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 it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ye(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Hu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:ke(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:ke(r)}})}function Wr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Lu(e){return defineStore("k2-im-profile-directory",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),S=ref(false),M=shallowRef(null),N=shallowRef([]),z$1=ref(false),V=shallowRef(null),b=shallowRef(null),I=shallowRef(null),_=shallowRef([]),W=ref(false),B$1=ref(false),ae=shallowRef(null),j=shallowRef(null),T=shallowRef(null),Z=ref(false),X=shallowRef(null),oe=reactive({individual:Wr(),group:Wr(),channel:Wr()}),ne=ref(""),R=shallowRef(null),x=ref(false),F=shallowRef(null),P=shallowRef(null),O=shallowRef([]),$=ref(""),Q=ref(false),de=ref(false),ge=shallowRef(null),Pe=shallowRef(null),G=shallowRef(null),h=ref(false),U=shallowRef(null),D$1=shallowRef(null),le=shallowRef([]),ce=ref(""),me=ref(false),Oe=ref(false),E=shallowRef(null),H=false,ve=new Map,Ie=0,fe={direct:0,group:0,channel:0},Le=0,k={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},L={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},ue={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},pe=new Map,Se=0,Re=new Map,Ge=new Map,ie=new Set,he=new Set,Ae=new Map,qe=new Map,lt=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,K=new Map,ee=0,Me=new Set,ze=new Map,je=new Map,Ke=0,Be=0,Ze=0,Mn=new Map,Je=new Map,Ne=new Map,hn=new Map,en=new Map,Xe=new Map,yn=new Map,xn=ref(0),ct={individual:0,group:0,channel:0},Vn=new Map,Bn=0,Sn,An,zn,Tn=0,un,dn,Pn,bn=0,Cn,nn,tn;function so(a){return s.value[a.conversationId]??0}function lo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=A(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?z(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?z(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function tr(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?B(t,n.getChannelMemberProfiles(),a.conversationId,i):C(t,i)}function co(a){return o.value,D(n.getSenderProfileCache(),a)}function rr(a,i){return sa$1(n,a,i)}function ut(a,i){return ta(n,a.conversationId,i)}function dt(a,i,t){let l=n.getGeneration(),u=ve.get(a.conversationId)??0;return ua(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!H&&n.getGeneration()===l&&(ve.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function ft(a,i){let t=a.conversationId.trim();if(t==="")return;ve.set(t,(ve.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 w of u)delete f[w];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function Gn(a,i){let t=a.conversationId.trim();t!==""&&(ft(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function or(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 ar(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Gt(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 ir(a,i,t={}){let l=en.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(q=>q.userId)),f=new Map(l),w=i.map(q=>{let J=l.get(q.userId);return J===void 0?q:(t.reconcile===true&&J===q.nickname&&f.delete(q.userId),Object.freeze({...q,nickname:J}))});if(t.reconcile===true)for(let q of f.keys())u.has(q)||f.delete(q);return f.size===0?en.delete(a):en.set(a,f),Object.freeze(w)}function Dt(a,i){let t=en.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&en.delete(a));}function mt(a,i){let t=Xe.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=Xe.get(a),l=yn.get(a),u=j.value?.conversationId===a?T.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 w=t?.get(f.userId),q=l?.get(f.userId),J=u!==void 0&&f.userId===u;if(w===void 0&&q===void 0&&!J)return f;let{nickname:we,...vn}=f;return Object.freeze({...vn,...w===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:w.nickname===""?{}:{nickname:w.nickname},displayName:w?.displayName??f.displayName,role:J?"owner":q??f.role})}))}function sr(a,i){let t=Xe.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&&Xe.delete(a),l&&(xn.value+=1);}function d(a,i){let t=Xe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Xe.delete(a),xn.value+=1);}function p(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 v(a,i){let t=yn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&yn.delete(a));}function y(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?b.value:j.value;return !H&&n.getGeneration()===i&&Ie===t&&fe[a.conversationType]===l&&Y(u,a)}async function C$1(a,i={}){let t=ke(a),l=++Ie,u=fe.direct,f=n.getGeneration(),w=!Y(c.value,t);c.value=t,w&&(m.value=null,g.value="unknown"),S.value=true,M.value=null;try{let q=await js(n,t,i);return y(t,f,l,u)?(m.value=q.profile,g.value=q.relationship,S.value=!1,q.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(q){if(!y(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let J=Ye(q,"profile.direct",t);return M.value=J,S.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:J})}}async function A$1(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 q=await Lt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!q.ok)return Object.freeze({ok:false,reason:"channel-profile",result:q});if(f=Y(j.value,a)?T.value:null,ra({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let w=await C$1({conversationType:"direct",conversationId:l},{forceRefresh:u});return w.ok?Object.freeze({ok:true,destination:ra({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:w})}async function re(a){let i=ke(a),t=++Le,l=n.getGeneration();c.value=i,z$1.value=true,V.value=null;try{let u=await As(n,i.conversationId);return !Y(c.value,i)||l!==n.getGeneration()||t!==Le?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(N.value=u,z$1.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!Y(c.value,i)||l!==n.getGeneration()||t!==Le)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ye(u,"profile.direct-mutual-groups",i);return V.value=f,z$1.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function se(a){return k[a]+=1,k[a]}function te(a,i){return !H&&k[a]===i}async function ye(a,i){let t=ke(a),l=se("set-remark"),u=await fs(n,t,i);if(!te("set-remark",l)||!Y(c.value,t))return ot("set-remark",t);if(!u.ok)return u;let f=m.value,w=f!==null&&f.userId===t.conversationId;return w&&(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(q=>Object.freeze({countryCode:q.countryCode,mobile:q.mobile})))}})),Object.freeze({...u,projectionUpdated:w})}async function be(a){let i=ke(a),t=se("block"),l=await ms(n,i);return !te("block",t)||!Y(c.value,i)?ot("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function Fe(a,i){let t=ke(a),l=se("report"),u=await ps(n,t,i);return !te("report",l)||!Y(c.value,t)?ot("report",t):u}async function Ue(a){let i=ke(a),t=se("delete-friendship"),l=await vs(n,i);return !te("delete-friendship",t)||!Y(c.value,i)?ot("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function xe(a){let i=se("search-user"),t=await gs(n,a);return te("search-user",i)?t:ot("search-user",t.conversation)}async function $e(a){let i=ke(a),t=se("resolve-application-target"),l=await Is(n,i);return te("resolve-application-target",t)?l:ot("resolve-application-target",i)}async function an(a,i){let t=ke(a),l=se("request-friendship"),u=await hs(n,t,i);return te("request-friendship",l)?u:ot("request-friendship",t)}function Dn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function _n(a,i){L[a]+=1;let t=n.getGeneration(),l=fe.group,u=Dn(i,a,t,l);return Re.set(u,(Re.get(u)??0)+1),Object.freeze({epoch:L[a],generation:t,key:u,resetEpoch:l})}function fn(a,i){let t=Re.get(i.key)??0;t<=1?Re.delete(i.key):Re.set(i.key,t-1),na(a);}function _t(a,i){return !H&&n.getGeneration()===i.generation&&fe.group===i.resetEpoch&&L[a]===i.epoch}function Ft(a,i){let t=n.getGeneration(),l=fe.group;return i!==void 0?(Re.get(Dn(a,i,t,l))??0)>0:Object.keys(L).some(u=>(Re.get(Dn(a,u,t,l))??0)>0)}async function De(a,i){let t=ke(a),l=i.trim(),u=_n("update-name",t);try{let f=await Os(n,t,l);if(!_t("update-name",u)||!Y(b.value,t))return $r("update-name",t);if(!f.ok)return f;let w=I.value!==null;return w&&zl(t,l),Object.freeze({...f,projectionUpdated:w})}finally{fn(t,u);}}async function sn(a,i){let t=ke(a),l=_n("update-avatar",t);try{let u=await Ts(n,t,i);if(!_t("update-avatar",l)||!Y(b.value,t))return $r("update-avatar",t);if(!u.ok)return u;let f=I.value!==null&&u.avatar!==void 0;return f&&Gl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{fn(t,l);}}async function Fn(a,i){let t=ke(a),l=i.trim(),u=_n("set-my-nickname",t);try{let f=await Ms(n,t,l);if(!_t("set-my-nickname",u)||!Y(b.value,t))return $r("set-my-nickname",t);if(!f.ok)return f;let w=_.value.some(q=>q.userId===f.memberId);return ua$1(t,f.memberId,l),xa(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:w})}finally{fn(t,u);}}async function Kn(a,i,t){let l=ke(a),u=i===4?t?.trim():void 0,f=_n("update-verification",l);try{let w=await Ss(n,l,i,u);if(!_t("update-verification",f)||!Y(b.value,l))return $r("update-verification",l);if(!w.ok)return w;let q=I.value!==null;return q&&Dl(l,i,u),Object.freeze({...w,projectionUpdated:q})}finally{fn(l,f);}}function uo(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=fe.channel,f=uo(i,a,t,l,u),w=++lt;return Ae.set(f,w),qe.set(f,(qe.get(f)??0)+1),Object.freeze({conversation:ke(i),epoch:w,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),Ae.get(a.key)===a.epoch&&Ae.delete(a.key),aa(a.conversation);}function _e(a){return !H&&n.getGeneration()===a.generation&&fe.channel===a.resetEpoch&&Ae.get(a.key)===a.epoch}function mn(a,i,t){let l=`${n.getGeneration()}:${fe.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of qe){let w=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(w)&&(t===void 0||u===`${w}${t.trim()}`))return true}return false}function Zo(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 tl(a,i){let t=ke(a);if(pn(t))return at("update-name",t);let l=i.trim(),u=Rn("update-name",t);try{let f=await os(n,t,l);if(!_e(u)||!Y(j.value,t))return qn("update-name",t);if(!f.ok)return f;let w=T.value!==null;return w&&ma(t,l),Object.freeze({...f,projectionUpdated:w})}finally{kn(u);}}async function rl(a,i){let t=ke(a);if(pn(t))return at("update-description",t);let l=i.trim(),u=Rn("update-description",t);try{let f=await as(n,t,l);if(!_e(u)||!Y(j.value,t))return qn("update-description",t);if(!f.ok)return f;let w=T.value!==null;return w&&pa(t,l),Object.freeze({...f,projectionUpdated:w})}finally{kn(u);}}async function ol(a,i){let t=ke(a);if(pn(t))return at("update-avatar",t);let l=Rn("update-avatar",t);try{let u=await is(n,t,i);if(!_e(l)||!Y(j.value,t))return qn("update-avatar",t);if(!u.ok)return u;let f=T.value!==null;return f&&va(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function al(a,i){let t=ke(a),l=i.trim(),u=Rn("set-my-nickname",t,n.getCredentials().userId);try{let f=await ss(n,t,l);return !_e(u)||!Y(j.value,t)?qn("set-my-nickname",t):f.ok?(ho(t,f.memberId,l,l),Zo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{kn(u);}}async function il(a,i,t){let l=ke(a);if(pn(l))return at("set-member-nickname",l);let u=i.trim(),f=t.trim(),w=Ro(l,u),q=Rn("set-member-nickname",l,u);try{let J=await ls(n,l,u,w?.role??"unknown",f);return !_e(q)||!Y(j.value,l)?qn("set-member-nickname",l):J.ok?(ho(l,J.memberId,f,f),Zo(l,J.memberId,f),Object.freeze({...J,projectionUpdated:!0})):J}finally{kn(q);}}async function sl(a,i,t){let l=ke(a);if(pn(l))return at("update-verification",l);let u=i===4?t?.trim():void 0,f=Rn("update-verification",l);try{let w=await cs(n,l,i,u);if(!_e(f)||!Y(j.value,l))return qn("update-verification",l);if(!w.ok)return w;let q=T.value!==null;return q&&ga(l,i,u),Object.freeze({...w,projectionUpdated:q})}finally{kn(f);}}async function ll(a,i){let t=ke(a);if(pn(t))return at("set-all-muted",t);let l=Rn("set-all-muted",t);try{let u=await us(n,t,i);if(!_e(l)||!Y(j.value,t))return qn("set-all-muted",t);if(!u.ok)return u;let f=T.value!==null;return f&&Io(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function cl(a,i){let t=ke(a);if(pn(t))return at("set-member-private-chat-disabled",t);let l=Rn("set-member-private-chat-disabled",t);try{let u=await ds(n,t,i);if(!_e(l)||!Y(j.value,t))return qn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=T.value!==null;return f&&Io(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}function ul(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function fo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function lr(a,i,t){let l=n.getGeneration(),u=ue[a],f=fo(i,a,l,u),w=ul(i,a,t,l,u),q=++Se;return pe.set(w,q),Ge.set(f,(Ge.get(f)??0)+1),Object.freeze({actionEpoch:q,actionKey:w,generation:l,resetEpoch:u,writeKey:f})}function cr(a,i){let t=Ge.get(i.writeKey)??0;t<=1?Ge.delete(i.writeKey):Ge.set(i.writeKey,t-1),pe.get(i.actionKey)===i.actionEpoch&&pe.delete(i.actionKey),na(a);}function ur(a,i){return !H&&n.getGeneration()===i.generation&&ue[a]===i.resetEpoch&&pe.get(i.actionKey)===i.actionEpoch}function dr(a,i){let t=n.getGeneration();return i!==void 0?(Ge.get(fo(a,i,t,ue[i]))??0)>0:Object.keys(ue).some(l=>(Ge.get(fo(a,l,t,ue[l]))??0)>0)}function dl(a,i){let t=i.trim();t!==""&&Je.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function fl(a,i){if(i===null||i.isInGroup===false)return Je.delete(a.conversationId),i;let t=Je.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Je.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ea(a){Y(b.value,a)&&It(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!Y(b.value,a)||fr(a);});}function Kt(a){Y(b.value,a)&&Ht(a,{forceRefresh:true});}function na(a){Ft(a)||dr(a)||(ie.delete(a.conversationId)&&Kt(a),he.delete(a.conversationId)&&Oo(a));}function fr(a){Y(b.value,a)&&wa(n,a.conversationId,_.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function ml(a,i){let t=ke(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=lr("invite-members",t,l);try{let f=await ys(n,t,i);if(!ur("invite-members",u))return it("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Y(b.value,t)&&Kt(t),f;if(!Y(b.value,t))return it("invite-members",t);let w=f.memberIds.some(q=>fa(t,q));for(let q of f.memberIds)vo(t,q);return ea(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{cr(t,u);}}async function pl(a,i){let t=ke(a),l=lr("remove-member",t,i.trim());try{let u=await bs(n,t,i);if(!ur("remove-member",l))return it("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&Y(b.value,t)&&Kt(t),u;if(!Y(b.value,t))return it("remove-member",t);let f=_.value.some(w=>w.userId===u.memberId);return po(t,u.memberId),ea(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{cr(t,l);}}async function vl(a,i){let t=ke(a),l=lr("transfer-ownership",t,"group-owner");try{let u=await Cs(n,t,i);if(!ur("transfer-ownership",l))return it("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&Y(b.value,t)&&Kt(t),u;if(!Y(b.value,t))return it("transfer-ownership",t);dl(t,u.ownerId);let f=I.value,w=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:u.ownerId})),Kt(t),Object.freeze({...u,projectionUpdated:w,refreshRequired:!1})}finally{cr(t,l);}}async function gl(a,i={}){let t=ke(a),l=lr("leave",t,"membership");try{let u=await Rs(n,t,i);if(!u.ok&&!ur("leave",l))return it("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&Y(b.value,t)&&await Ht(t,{forceRefresh:!0}),u;go(t),ya(n,t.conversationId,{clearCachedNames:!0}),Je.delete(t.conversationId);let f=Y(b.value,t)&&(I.value!==null||_.value.length>0);return Y(b.value,t)&&(b.value=null,I.value=null,_.value=[],W.value=!1,B$1.value=!1,ae.value=null),Object.freeze({...u,projectionUpdated:f})}finally{cr(t,l);}}function Il(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function ta$1(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function pt(a,i,t){let l=n.getGeneration(),u=gn[a],f=Il(i,a,t,l,u),w=ta$1(i,a,l,u),q=++ee;return In.set(f,q),K.set(w,(K.get(w)??0)+1),Object.freeze({actionEpoch:q,actionKey:f,conversation:ke(i),writeKey:w,generation:l,resetEpoch:u})}function vt(a){let i=K.get(a.writeKey)??0;i<=1?K.delete(a.writeKey):K.set(a.writeKey,i-1),In.get(a.actionKey)===a.actionEpoch&&In.delete(a.actionKey),aa(a.conversation);}function gt(a,i){return !H&&n.getGeneration()===i.generation&&gn[a]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(u=>(K.get(ta$1(a,u,t,gn[u]))??0)>0)}function pr(a,i){let t=i.trim();if(t==="")return;let l=Ro(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function hl(a,i){let t=i.trim();t!==""&&hn.set(a.conversationId,{ownerId:t});}function pn(a){let i=hn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ra$1(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 yl(a){return !Y(j.value,a)||T.value===null?false:(T.value=ra$1(a,T.value),true)}function bl(a){Y(P.value,a)&&ko(a,{preserveExisting:true});}function Nt(a){Y(j.value,a)&&Lt(a,{forceRefresh:true});}function vr(a){Nt(a),bl(a);}function Cl(a,i,t,l){let u=ze.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(w=>w.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let w of f)u.userIds.add(w);u.affectsMentions||=i,u.resolvesProfiles||=t,ze.set(a.conversationId,u);}function oa(a,i){let t=ze.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&ze.delete(a.conversationId);}}function aa(a){if(mn(a)||mr(a))return;Me.delete(a.conversationId)&&Ca(a);let i=ze.get(a.conversationId);if(i===void 0)return;ze.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Gn(a,t):ft(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&dt(a,t,{forceRefresh:true}),hr(a);}function Rl(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 ia(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 Pl(a,i){let t=ke(a);if(pn(t))return er("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=pt("invite-members",t,l);try{let f=await Qi(n,t,i);if(!gt("invite-members",u))return On("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!Y(j.value,t))return On("invite-members",t);let w=f.memberIds.some(q=>Co(t,q));for(let q of f.memberIds)bo(t,q);return Gn(t,f.memberIds),oa(t,f.memberIds),vr(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{vt(u);}}async function kl(a,i){let t=ke(a);if(pn(t))return er("remove-member",t);let l=pr(t,i),u=pt("remove-member",t,i.trim());try{let f=await Ji(n,t,l??{userId:i,role:"unknown"});if(!gt("remove-member",u))return On("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!Y(j.value,t))return On("remove-member",t);let w=Rl(t,f.memberId),q=O.value.some(J=>J.userId===f.memberId)||le.value.some(J=>J.userId===f.memberId)||w;return yo(t,f.memberId),Gn(t,[f.memberId]),oa(t,[f.memberId]),vr(t),Object.freeze({...f,projectionUpdated:q,refreshRequired:!1})}finally{vt(u);}}async function Ol(a,i,t){let l=ke(a),u=pr(l,i),f=t?"add-admin":"remove-admin";if(pn(l))return er(f,l);let w=pt(f,l,i.trim());try{let q=t?await Yi(n,l,u??{userId:i,role:"unknown"}):await Zi(n,l,u??{userId:i,role:"unknown"});if(!gt(f,w))return On(f,l);if(!q.ok)return q.outcome!=="stale"&&Nt(l),q;if(!Y(j.value,l))return On(f,l);let J=t?"admin":"member",we=u?.role!==J;return $n(l,q.memberId,J),vr(l),Object.freeze({...q,projectionUpdated:we,refreshRequired:!1})}finally{vt(w);}}async function Ml(a,i){let t=ke(a);if(pn(t))return er("transfer-ownership",t);let l=pr(t,i),u=pt("transfer-ownership",t,"channel-owner");try{let f=await es(n,t,l??{userId:i,role:"unknown"});if(!gt("transfer-ownership",u))return On("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!Y(j.value,t))return On("transfer-ownership",t);hl(t,f.ownerId);let w=yl(t);return $n(t,f.ownerId,"owner"),$n(t,n.getCredentials().userId,"member"),vr(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{vt(u);}}async function Sl(a,i={}){let t=ke(a),l=i.newOwnerId===void 0?void 0:pr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=pt("leave",t,"membership");try{let f=await ns(n,t,l);if(!f.ok&&!gt("leave",u))return On("leave",t);if(!f.ok)return f;let w=Y(j.value,t)&&(T.value!==null||O.value.length>0||le.value.length>0);return gr(t),hn.delete(t.conversationId),ia(t),Y(j.value,t)&&yr(),Object.freeze({...f,projectionUpdated:w})}finally{vt(u);}}async function Tl(a){let i=ke(a);if(pn(i))return er("dismiss",i);let t=pt("dismiss",i,"membership");try{let l=await ts(n,i);if(!l.ok&&!gt("dismiss",t))return On("dismiss",i);if(!l.ok)return l;let u=Y(j.value,i)&&(T.value!==null||O.value.length>0||le.value.length>0);return gr(i),hn.delete(i.conversationId),ia(i),Y(j.value,i)&&yr(),Object.freeze({...l,projectionUpdated:u})}finally{vt(t);}}async function Ht(a,i={}){let t=ke(a),l=++Ie,u=fe.group,f=n.getGeneration(),w=!Y(b.value,t);b.value=t,w&&(I.value=null,Be+=1,_.value=[],B$1.value=false),W.value=true,ae.value=null;try{let q=i.forceRefresh===!0?null:await ws(n,t);if(!y(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(q!==null&&(I.value=q),i.restricted===!0)return i.includeMembers===!0&&await It(t,{restricted:!0,forceRefresh:!0}),y(t,f,l,u)?(W.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 J=await xs(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!y(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let we=fl(t,J);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:we?.ref.conversationId??null,name:we?.name??null,isInGroup:we?.isInGroup??null,verifyWay:we?.verifyWay??null,memberCount:we?.memberCount??null,membershipDecision:we?.isInGroup===!0?"joined":we?.isInGroup===!1?"not-joined":"unknown"}})),we===null||we.isInGroup===!1?(Be+=1,_.value=[],B$1.value=!1,go(t),ya(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await It(t,{restricted:!1,forceRefresh:!0}),y(t,f,l,u)?(I.value=we,W.value=!1,Object.freeze(we===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(q){if(!y(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let J=Ye(q,"profile.group",t);return i.forceRefresh===true&&(I.value=null,Be+=1,_.value=[],B$1.value=false),ae.value=J,W.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:J})}}async function It(a,i={}){let t=ke(a);if(Y(b.value,t)||(b.value=t,_.value=[]),Y(b.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return Be+=1,_.value=[],B$1.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();B$1.value=true;try{let f=i.preserveExisting===!0?null:await zs(n,t);if(H||n.getGeneration()!==u||l!==Be||!Y(b.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let w=f===null?null:rn(Mn,t.conversationId,f.items);if(w!==null&&(_.value=ir(t.conversationId,w),fr(t)),i.restricted===!0||i.forceRefresh!==!0&&w!==null&&w.length>0)return B$1.value=!1,Object.freeze({ok:!0,operation:"group-members"});let q=await Gs(n,t);return H||n.getGeneration()!==u||l!==Be||!Y(b.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(q!==null&&(_.value=ir(t.conversationId,rn(Mn,t.conversationId,q),{reconcile:!0}),fr(t)),B$1.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(H||n.getGeneration()!==u||l!==Be||!Y(b.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let w=Ye(f,"profile.group-members",t);return ae.value=w,B$1.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:w})}}async function Lt(a,i){let t=ke(a),l=++Ie,u=fe.channel,f=n.getGeneration(),w=!Y(j.value,t);j.value=t,w&&(T.value=null,Qn(t)),Z.value=true,X.value=null;try{let q=await Ds(n,t,i);if(!y(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let J=ra$1(t,q);return T.value=J,J!==null&&Y(P.value,t)&&(O.value=on(t.conversationId,O.value)),J===null?(gr(t),Qn()):J.canViewMembers!==!0&&Qn(),Z.value=!1,Object.freeze(J===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(q){if(!y(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let J=Ye(q,"profile.channel",t);return i?.forceRefresh===true&&(T.value=null,Qn()),X.value=J,Z.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:J})}}async function El(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}`,w=++Ke,q=n.getGeneration(),J=fe[t.conversationType];je.set(f,w);let we=()=>!H&&n.getGeneration()===q&&fe[t.conversationType]===J&&je.get(f)===w&&(t.conversationType==="group"?Y(b.value,t):Y(j.value,t));try{let vn=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);return we()?(vn.outcome==="joined"&&(t.conversationType==="group"?await Ht(t,{forceRefresh:!0}):await Lt(t,{forceRefresh:!0})),we()?Object.freeze({ok:!0,operation:l,outcome:vn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(vn){return we()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ye(vn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{je.get(f)===w&&je.delete(f);}}async function sa(a,i,t){let l=oe[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?Vn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ct[a],w=n.getGeneration();l.loading=true,l.error=null;try{let q=await _s(n,a,u);return H||w!==n.getGeneration()||f!==ct[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=qs(i?l.items:[],q.items),l.loaded=!0,l.exhausted=q.exhausted,l.loading=!1,q.nextPageToken===void 0?Vn.delete(a):Vn.set(a,q.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(q){if(H||w!==n.getGeneration()||f!==ct[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let J=Ye(q,`directory.${a}`);return l.error=J,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:J})}}function jl(a,i=false){return sa(a,i,false)}function wl(a){return sa(a,false,true)}function la(){Sn!==void 0&&(clearTimeout(Sn),Sn=void 0),An?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),An=void 0;}async function xl(a,i){let t=n.getGeneration();try{let l=await Fs(n,a);return H||t!==n.getGeneration()||i!==Bn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(R.value=l,x.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(H||t!==n.getGeneration()||i!==Bn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ye(l,"directory.search");return F.value=u,x.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function mo(){Bn+=1,la(),ne.value="",R.value=null,x.value=false,F.value=null,zn=void 0;}function Al(a,i={}){let t=a.trim();if(t==="")return mo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&An?.keyword===t)return An.promise;if(zn?.keyword===t)return zn.promise;if(!i.immediate&&ne.value===t&&R.value?.keyword===t.toLocaleLowerCase()&&F.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Bn;la(),ne.value=t,R.value=null,x.value=true,F.value=null;let u=()=>{let q=xl(t,l);return zn={keyword:t,promise:q},q.finally(()=>{zn?.promise===q&&(zn=void 0);}),q};if(i.immediate)return u();let f,w=new Promise(q=>{f=q;});return An={keyword:t,promise:w,resolve:f},Sn=setTimeout(()=>{Sn=void 0,An=void 0,u().then(f);},300),w}function ca(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 zl(a,i){!Y(b.value,a)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Gl(a,i){!Y(b.value,a)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function Dl(a,i,t){if(!Y(b.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 ua$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),Y(b.value,a)&&(_.value=Object.freeze(_.value.map(w=>w.userId===l?Object.freeze({...w,nickname:u}):w)));}function da(a,i){Dt(a.conversationId,i);}function po(a,i){let t=i.trim();if(t===""||(Dt(a.conversationId,t),or(Mn,a.conversationId,t),!Y(b.value,a)))return;let l=_.value.filter(f=>f.userId!==t),u=l.length!==_.value.length;u&&(_.value=Object.freeze(l),fr(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 vo(a,i){Dt(a.conversationId,i),ar(Mn,a.conversationId,i);}function fa(a,i){return Gt(Mn,a.conversationId,i)}function go(a){Mn.delete(a.conversationId),en.delete(a.conversationId);}function ma(a,i){!Y(j.value,a)||T.value===null||(T.value=Object.freeze({...T.value,name:i}));}function pa(a,i){!Y(j.value,a)||T.value===null||(T.value=Object.freeze({...T.value,description:i}));}function va(a,i){!Y(j.value,a)||T.value===null||(T.value=Object.freeze({...T.value,avatar:i}));}function ga(a,i,t){if(!Y(j.value,a)||T.value===null)return;let{inviteCode:l,...u}=T.value;T.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Io(a,i){if(!Y(j.value,a)||T.value===null)return;let t={...T.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};T.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ho(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),w=f||l?.trim()||u,q=Xe.get(a.conversationId)??new Map;q.set(u,{nickname:f,displayName:w}),Xe.set(a.conversationId,q),xn.value+=1,Y(P.value,a)&&(O.value=on(a.conversationId,O.value)),Wn(a,u)&&(G.value=on(a.conversationId,G.value===null?[]:[G.value])[0]??null),Y(D$1.value,a)&&(le.value=Object.freeze(le.value.map(J=>J.userId===u?Object.freeze({...J,displayName:w}):J)));}function $n(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),Y(P.value,a)&&(O.value=on(a.conversationId,O.value)),Wn(a,l)&&(G.value=on(a.conversationId,G.value===null?[]:[G.value])[0]??null);}function Ia(a,i){d(a.conversationId,i);}function _l(a,i){return xn.value,Xe.get(a.conversationId)?.get(i.trim())?.nickname}function yo(a,i){let t=i.trim();if(t==="")return;let l=Y(P.value,a),u=Y(D$1.value,a);if(d(a.conversationId,t),v(a.conversationId,t),or(Ne,a.conversationId,t),!l&&!u)return;let f=l&&O.value.some(q=>q.userId===t),w=u&&le.value.some(q=>q.userId===t);l&&(O.value=Object.freeze(O.value.filter(q=>q.userId!==t))),u&&(le.value=Object.freeze(le.value.filter(q=>q.userId!==t))),Wn(a,t)&&(G.value=null),(f||w)&&Y(j.value,a)&&T.value?.memberCount!==void 0&&(T.value=Object.freeze({...T.value,memberCount:Math.max(0,T.value.memberCount-1)}));}function bo(a,i){d(a.conversationId,i),v(a.conversationId,i),ar(Ne,a.conversationId,i);}function Co(a,i){return Gt(Ne,a.conversationId,i)}function gr(a){Ne.delete(a.conversationId),yn.delete(a.conversationId),Xe.delete(a.conversationId)&&(xn.value+=1);}function En(a,i,t){return !H&&n.getGeneration()===i&&Tn===t&&Y(P.value,a)}function Wn(a,i,t,l){let u=Pe.value;return !H&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ze===l)&&u!==null&&Y(u,a)&&u.userId===i}function Ro(a,i){let t=i.trim();if(t!==""){if(Y(P.value,a)){let l=O.value.find(u=>u.userId===t);if(l!==void 0)return l}return Wn(a,t)?G.value??void 0:void 0}}async function Fl(a,i,t={forceRefresh:true}){let l=ke(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ze,w=n.getGeneration();Pe.value=Object.freeze({...l,userId:u}),G.value=null,h.value=true,U.value=null;try{let q=await Ns(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Wn(l,u,w,f)?q===null||Co(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(G.value=on(l.conversationId,[q])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(q){if(!Wn(l,u,w,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let J=Ye(q,"profile.channel-member",l);return U.value=J,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:J})}finally{Wn(l,u,w,f)&&(h.value=false);}}async function Po(a,i,t){Q.value=true,ge.value=null;try{let l=await Hs(n,a,$.value);return En(a,i,t)?(sr(a.conversationId,l.items),p(a.conversationId,l.items),O.value=on(a.conversationId,rn(Ne,a.conversationId,l.items)),un=l.nextCursor,de.value=l.exhausted||l.nextCursor===void 0,Pn=void 0,Q.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=Ye(l,"profile.channel-members.refresh",a);return Pn="initial",ge.value=u,Q.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function ha(a){if(Q.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=ke(a),t=Tn,l=n.getGeneration();Q.value=true,ge.value=null;try{let u=await Qo(n,i,$.value);return En(i,l,t)?(u!==null&&(O.value=on(i.conversationId,rn(Ne,i.conversationId,u.items)),un=u.nextCursor,de.value=u.exhausted||u.nextCursor===void 0),await Po(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=Ye(u,"profile.channel-members.cache",i);return Pn="initial",ge.value=f,Q.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ya$1(a){if(Q.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(de.value||un===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=ke(a),t=Tn,l=n.getGeneration();Q.value=true,ge.value=null;try{let u=await Ks(n,i,{query:$.value,cursor:un});return En(i,l,t)?(sr(i.conversationId,u.items),p(i.conversationId,u.items),O.value=on(i.conversationId,rn(Ne,i.conversationId,ca(O.value,u.items))),un=u.nextCursor,de.value=u.exhausted||u.nextCursor===void 0,Pn=void 0,Q.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=Ye(u,"profile.channel-members.page",i);return Pn="more",ge.value=f,Q.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Qn(a=null){dn!==void 0&&(clearTimeout(dn),dn=void 0),Tn+=1,P.value=a===null?null:ke(a),O.value=[],$.value="",Q.value=false,de.value=false,ge.value=null,un=void 0,Pn=void 0;}function ko(a,i={}){let t=ke(a);if(i.preserveExisting===true&&Y(P.value,t)){dn!==void 0&&(clearTimeout(dn),dn=void 0);let l=++Tn,u=n.getGeneration();return ge.value=null,Po(t,u,l)}return Qn(t),ha(t)}function Kl(a){let i=P.value;if(i===null)return;$.value=a,Tn+=1,O.value=[],de.value=false,ge.value=null,un=void 0,Q.value=false,dn!==void 0&&clearTimeout(dn);let t=Tn,l=n.getGeneration();(async()=>{try{let u=await Qo(n,i,$.value);if(!En(i,l,t))return;u!==null&&(O.value=on(i.conversationId,rn(Ne,i.conversationId,u.items)),un=u.nextCursor,de.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!En(i,l,t))return;ge.value=Ye(u,"profile.channel-members.cache",i);}En(i,l,t)&&(dn=setTimeout(()=>{dn=void 0,Po(i,l,t);},300));})();}function Nl(){let a=P.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ya$1(a)}function Hl(){let a=P.value;return a===null||Pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Pn==="more"?ya$1(a):ha(a)}function Nn(a,i,t){return !H&&n.getGeneration()===i&&bn===t&&Y(D$1.value,a)}async function Ut(a,i={}){if(me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=ke(a),l=bn,u=n.getGeneration();me.value=true,E.value=null;try{let f=i.useCache===!1?null:await Xo(n,t,ce.value||void 0);if(!Nn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(le.value=mt(t.conversationId,rn(Ne,t.conversationId,f.items)),Cn=f.nextPageToken,Oe.value=f.exhausted||f.nextPageToken===void 0);let w=await Ls(n,t,ce.value||void 0);return Nn(t,u,l)?(le.value=mt(t.conversationId,rn(Ne,t.conversationId,w.items)),Cn=w.nextPageToken,Oe.value=w.exhausted||w.nextPageToken===void 0,tn=void 0,me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Nn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let w=Ye(f,"profile.channel-mentions",t);return tn="initial",E.value=w,me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:w})}}async function ba(){let a=D$1.value,i=Cn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Oe.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=bn,l=n.getGeneration();me.value=true,E.value=null;try{let u=await Us(n,ce.value,i);return Nn(a,l,t)?(le.value=mt(a.conversationId,rn(Ne,a.conversationId,ca(le.value,u.items))),Cn=u.nextPageToken,Oe.value=u.exhausted||u.nextPageToken===void 0,tn=void 0,me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Nn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ye(u,"profile.channel-mentions.page",a);return tn="more",E.value=f,me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function Ir(a=null,i=""){nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,D$1.value=a===null?null:ke(a),le.value=[],ce.value=i,me.value=false,Oe.value=false,E.value=null,Cn=void 0,tn=void 0;}function Ll(a,i=""){return Y(D$1.value,a)&&ce.value===i?(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,me.value=false,E.value=null,Cn=void 0,tn=void 0,Ut(a,{useCache:false})):(Ir(a,i),Ut(a))}function Ul(a){let i=D$1.value;if(i===null)return;Ir(i,a);let t=bn,l=n.getGeneration();(async()=>{try{let u=await Xo(n,i,a||void 0);if(!Nn(i,l,t))return;u!==null&&(le.value=mt(i.conversationId,rn(Ne,i.conversationId,u.items)),Cn=u.nextPageToken,Oe.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Nn(i,l,t))return;E.value=Ye(u,"profile.channel-mentions.cache",i);}Nn(i,l,t)&&(nn=setTimeout(()=>{nn=void 0,Ut(i);},300));})();}function ql(){let a=D$1.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,me.value=false,E.value=null,Cn=void 0,Oe.value=false,tn=void 0,Ut(a,{useCache:false}))}function Vl(){let a=D$1.value;return a===null||tn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):tn==="more"?ba():Ut(a)}function Oo(a){Y(b.value,a)&&(ut(a,{forceRefresh:true}),It(a,{forceRefresh:true,preserveExisting:true}));}function hr(a){Y(P.value,a)&&ko(a,{preserveExisting:true});}async function Ca(a){if(!Y(j.value,a))return;(await Lt(a,{forceRefresh:true})).ok&&T.value?.canViewMembers===true&&hr(a);}function Bl(a){if(a.type==="profile:updated"){if(a.profileType==="user")rr(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&C$1({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let J={conversationType:"group",conversationId:a.id};if(Ft(J)||dr(J)){ie.add(J.conversationId);return}Y(b.value,J)?Ht(J,{includeMembers:true,forceRefresh:true}):ut(J,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let J={conversationType:"channel",conversationId:a.channelId};mn(J)||mr(J)?Me.add(J.conversationId):Ca(J);return}if(a.type==="sync:complete"){for(let J of a.conversations)if(J.conversationType==="group"){let we={conversationType:"group",conversationId:J.conversationId};Y(b.value,we)&&Oo(we);}else if(J.conversationType==="channel"){let we={conversationType:"channel",conversationId:J.conversationId};(Y(j.value,we)||Y(P.value,we)||Y(D$1.value,we))&&(Gn(we),hr(we));}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"&&Ku.has(t)){let J={conversationType:"group",conversationId:i.conversationId},we=(a.source??"live")==="live",vn=t==="group_member_renamed"&&l.some(Hn=>Hn.trim()===u)&&Ft(J,"set-my-nickname"),Jl=t==="group_member_renamed"&&!vn;if(t==="group_member_renamed"){vn||va$1(n,i);for(let Hn of l)vn&&Hn.trim()===u||da(J,Hn);}if(t==="group_member_joined"||t==="group_member_invited")for(let Hn of l)vo(J,Hn);if(we&&(t==="group_member_left"||t==="group_member_removed"))for(let Hn of l)po(J,Hn);if(dr(J)){he.add(J.conversationId);return}we&&!vn&&(Jl?Y(b.value,J)&&It(J,{forceRefresh:true,preserveExisting:true}):Oo(J));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Nu.has(t)||!f)return;let w={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(J=>mn(w,J.trim()===u?"set-my-nickname":"set-member-nickname",J)))){if(t==="channel_member_renamed")for(let J of l)Ia(w,J);if(t==="channel_admin_added"||t==="channel_admin_removed"){let J=t==="channel_admin_added"?"admin":"member";for(let we of l)$n(w,we,J);}if(t==="channel_owner_transferred"){for(let we of l)$n(w,we,"owner");let J=i.body.system?.operatorId;J!==void 0&&!l.includes(J)&&$n(w,J,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let J of l)bo(w,J);if(t==="channel_member_left"||t==="channel_member_removed")for(let J of l)yo(w,J);if(mr(w)){Cl(w,Vs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Vs.has(t)?Gn(w,l):ft(w,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&dt(w,l,{forceRefresh:true}),hr(w);}}let $l=n.subscribeProfileChange(()=>{o.value+=1;}),Wl=n.subscribeEvents(Bl);function Ra(){k["set-remark"]+=1,k.block+=1,k.report+=1,k["delete-friendship"]+=1,fe.direct+=1,c.value=null,m.value=null,g.value="unknown",S.value=false,M.value=null,Le+=1,N.value=[],z$1.value=false,V.value=null;}function Pa(){for(let a of Object.keys(L))L[a]+=1;for(let a of Object.keys(ue))ue[a]+=1;Re.clear(),Ge.clear(),pe.clear(),ie.clear(),he.clear(),fe.group+=1,Be+=1,b.value=null,I.value=null,_.value=[],W.value=false,B$1.value=false,ae.value=null;}function yr(){for(let a of Object.keys(gn))gn[a]+=1;K.clear(),In.clear(),qe.clear(),Ae.clear(),Me.clear(),ze.clear(),fe.channel+=1,j.value=null,T.value=null,Z.value=false,X.value=null,Ze+=1,Pe.value=null,G.value=null,h.value=false,U.value=null,Qn(),Ir();}function ka(){Ra(),k["search-user"]+=1,k["resolve-application-target"]+=1,k["request-friendship"]+=1,Pa(),yr(),je.clear();for(let a of ["individual","group","channel"])ct[a]+=1,Object.assign(oe[a],Wr());Vn.clear(),mo(),Mn.clear(),Je.clear(),Ne.clear(),hn.clear(),en.clear(),yn.clear(),ve.clear(),s.value={},Xe.size>0&&(Xe.clear(),xn.value+=1);}function Ql(){H||(ka(),H=true,Re.clear(),Ge.clear(),pe.clear(),qe.clear(),Ae.clear(),K.clear(),In.clear(),$l(),Wl(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:S,directError:M,directMutualGroups:N,directMutualGroupsLoading:z$1,directMutualGroupsError:V,groupRef:b,groupProfile:I,groupMembers:_,groupLoading:W,groupMembersLoading:B$1,groupError:ae,channelRef:j,channelProfile:T,channelLoading:Z,channelError:X,directories:oe,directorySearchKeyword:ne,directorySearchResult:R,directorySearchLoading:x,directorySearchError:F,channelMembersRef:P,channelMembers:O,channelMemberQuery:$,channelMembersLoading:Q,channelMembersExhausted:de,channelMembersError:ge,channelMemberDetailRef:Pe,channelMemberDetail:G,channelMemberDetailLoading:h,channelMemberDetailError:U,channelMentionsRef:D$1,channelMentions:le,channelMentionQuery:ce,channelMentionsLoading:me,channelMentionsExhausted:Oe,channelMentionsError:E,resolveDisplayName:lo,resolveAvatarUrl:tr,resolvePublicNickname:co,resolveSenderProfile:rr,resolveGroupMemberProfiles:ut,resolveChannelMemberProfiles:dt,invalidateChannelMemberProfiles:ft,invalidateChannelMemberSet:Gn,channelMentionRevision:so,loadDirect:C$1,resolveProfileAccess:A$1,loadDirectMutualGroups:re,setDirectContactRemark:ye,blockDirectContact:be,reportDirectContact:Fe,deleteDirectFriendship:Ue,searchDirectContact:xe,resolveDirectContactTarget:$e,requestDirectFriendship:an,loadGroup:Ht,updateGroupName:De,updateGroupAvatar:sn,setMyGroupNickname:Fn,updateGroupVerification:Kn,isGroupProfileWritePending:Ft,inviteGroupMembers:ml,removeGroupMember:pl,transferGroupOwnership:vl,leaveGroup:gl,isGroupMemberManagementPending:dr,ensureGroupMembers:It,loadChannel:Lt,requestMembershipJoin:El,updateChannelName:tl,updateChannelDescription:rl,updateChannelAvatar:ol,setMyChannelNickname:al,setChannelMemberNickname:il,updateChannelVerification:sl,setChannelAllMuted:ll,setChannelMemberPrivateChatDisabled:cl,isChannelProfileWritePending:mn,inviteChannelMembers:Pl,removeChannelMember:kl,setChannelMemberAdmin:Ol,transferChannelOwnership:Ml,leaveChannel:Sl,dismissChannel:Tl,isChannelMemberManagementPending:mr,loadDirectory:jl,refreshDirectory:wl,searchDirectory:Al,clearDirectorySearch:mo,openChannelMembers:ko,getChannelMember:Ro,loadChannelMember:Fl,setChannelMemberQuery:Kl,loadMoreChannelMembers:Nl,retryChannelMembers:Hl,resetChannelMembers:Qn,updateGroupMemberNicknameProjection:ua$1,clearGroupMemberNicknameProjection:da,removeGroupMemberProjection:po,restoreGroupMemberProjection:vo,isGroupMemberRemovedProjection:fa,clearGroupMemberProjections:go,updateChannelNameProjection:ma,updateChannelDescriptionProjection:pa,updateChannelAvatarProjection:va,updateChannelVerificationProjection:ga,updateChannelManagementProjection:Io,updateChannelMemberDisplayNameProjection:ho,updateChannelMemberRoleProjection:$n,clearChannelMemberDisplayNameProjection:Ia,channelMemberNicknameProjection:_l,removeChannelMemberProjection:yo,restoreChannelMemberProjection:bo,isChannelMemberRemovedProjection:Co,clearChannelMemberProjections:gr,openChannelMentions:Ll,setChannelMentionQuery:Ul,loadMoreChannelMentions:ba,refreshChannelMentions:ql,retryChannelMentions:Vl,resetChannelMentions:Ir,resetDirect:Ra,resetGroup:Pa,resetChannel:yr,reset:ka,dispose:Ql}})}var Bs=new WeakMap,Qr=new WeakMap;function Uu(e=Te()){Ce(e);let n=Bs.get(e);n===void 0&&(n=Lu(e),Bs.set(e,n));let r=n(e);return Qr.get(e)!==r&&(Qr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Qr.get(e)===r&&Qr.delete(e);})),r}var Yr=new WeakMap,Wu=Object.freeze({status:"loading",message:null}),$s=Object.freeze({status:"missing",message:null});function Jr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Yo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function Qu(e){return defineStore("k2-im-quoted-message",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=shallowRef({}),c=new Set,m=new Set,g=0,S=new Map,M=false,N=false,z=false,V=computed(()=>{let x=new Map;for(let F of o.messages)x.set(F.id,F);return x});function b(){g+=1,c.clear(),S.clear(),m=new Set,z=false,s.value={};}let I=watch(()=>Jr(o.activeRef),(x,F)=>{x!==F&&b();},{flush:"sync"}),_=n.subscribeEvents(x=>{M||x.type!=="connection:changed"||x.state!=="authenticated"||oe();});function W(x){let F=x.trim();if(F==="")return $s;let P=V.value.get(F);return P!==void 0?Object.freeze({status:"ready",message:P}):s.value[F]??Wu}function B(x,F){if(x.length===0)return;let P={...s.value},O=false;for(let[$,Q]of x)F.get($)===(S.get($)??0)&&(P[$]=Q,O=true);O&&(s.value=P);}async function ae(x){let F=g,P=new Map(x.map(G=>[G,S.get(G)??0])),O=n.getGeneration(),$=o.getHandle(),Q=Jr(o.activeRef);if($===void 0||Jr($.ref)!==Q)return;let de=()=>!M&&g===F&&n.getGeneration()===O&&o.getHandle()===$&&Jr(o.activeRef)===Q,ge=[],Pe=[];try{let G=await Promise.all(x.map(async h=>({messageId:h,message:await $.resolveMessage(h)})));if(!de())return;for(let{messageId:h,message:U}of G)U===null?Pe.push(h):ge.push([h,Object.freeze({status:"ready",message:U})]);}catch(G){if(!de())return;B(x.map(h=>[h,Object.freeze({status:"failed",message:null,retryable:true})]),P),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:O,conversation:{...$.ref},data:{requestedCount:x.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:G}}));return}if(B(ge,P),Pe.length!==0)try{let G=await $.messages.fetchByIds(Pe);if(!de())return;let h=[];for(let D of G.messages)h.push([D.id,Object.freeze({status:"ready",message:D})]);for(let D of G.missingMessageIds)h.push([D,$s]);let U=G.failure?.retryable??!0;for(let D of G.unresolvedMessageIds)h.push([D,Object.freeze({status:"failed",message:null,retryable:U})]);B(h,P),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:O,conversation:{...$.ref},data:{requestedCount:Pe.length,resolvedCount:G.messages.length,missingCount:G.missingMessageIds.length,unresolvedCount:G.unresolvedMessageIds.length,retryable:G.failure?.retryable}}));}catch(G){if(!de())return;B(Pe.map(h=>[h,Object.freeze({status:"failed",message:null,retryable:false})]),P),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:O,conversation:{...$.ref},data:{requestedCount:Pe.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:G}}));}}function j(){let x=[];for(let F of m)V.value.has(F)||c.has(F)||s.value[F]===void 0&&x.push(F);return x}function T(){if(M)return;if(N){z=true;return}let x=j();if(x.length!==0){N=true;for(let F of x)c.add(F);ae(x).catch(F=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:x.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:F}}));}).finally(()=>{for(let F of x)c.delete(F);N=false,z&&(z=false,T());});}}function Z(x){if(M)return;m=new Set(Yo(x));let F=Object.fromEntries(Object.entries(s.value).filter(([P])=>m.has(P)&&!V.value.has(P)));Object.keys(F).length!==Object.keys(s.value).length&&(s.value=F),T();}function X(x){if(M)return;let F=Yo(x).filter(O=>s.value[O]!==void 0);if(F.length===0)return;let P={...s.value};for(let O of F)delete P[O],c.delete(O),S.set(O,(S.get(O)??0)+1);s.value=P,T();}function oe(x){if(M)return;let P=(x===void 0?[...m]:Yo(x)).filter($=>{let Q=s.value[$];return Q?.status==="failed"&&Q.retryable});if(P.length===0)return;let O={...s.value};for(let $ of P)delete O[$],c.delete($),S.set($,(S.get($)??0)+1);s.value=O,T();}function ne(){b();}function R(){M||(M=true,I(),_(),b());}return Yr.set(e,Object.freeze({dispose:R})),{lookup:W,prefetch:Z,retry:oe,invalidate:X,reset:ne}})}var Ws=new WeakMap,Xr=new WeakMap;function Ju(e=Te()){Ce(e);let n=Ws.get(e);n===void 0&&(n=Qu(e),Ws.set(e,n));let r=n(e),o=Yr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Xr.get(e)!==r&&(Xr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),Xr.get(e)===r&&(Xr.delete(e),Yr.get(e)===o&&Yr.delete(e));})),r}var no=new WeakMap;function Zr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function nd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function td(e,n){return nd(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 rd(e){return defineStore("k2-im-reaction",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=ref([]),c=shallowRef(null),m=false,g=0,S=new Map;function M(){g+=1,S.clear(),s.value=[],c.value=null;}let N=watch(()=>Zr(o.activeRef),(j,T)=>{j!==T&&M();},{flush:"sync"});function z(j,T){let Z=o.activeRef,X=o.getHandle(),oe=Zr(Z);if(m||Z===null||X===void 0||Zr(X.ref)!==oe||!o.messages.some(R=>R.id===j))return Object.freeze({ok:false,operation:T,reason:"not-ready"});if(S.has(j))return Object.freeze({ok:false,operation:T,reason:"busy"});let ne=Symbol(j);return S.set(j,ne),s.value=Object.freeze([...S.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:X,conversationKey:oe,token:ne}}function V(j){return !m&&j.contextEpoch===g&&j.generation===n.getGeneration()&&o.getHandle()===j.handle&&Zr(o.activeRef)===j.conversationKey}function b(j,T){S.get(j)===T&&(S.delete(j),s.value=Object.freeze([...S.keys()]));}async function I(j,T,Z){let X=z(j,T);if(!("handle"in X))return X;try{let oe=await Z(X.handle);return V(X)?(c.value=null,r.record("debug","pinia","message",`reaction-${T}-settled`,()=>({generation:X.generation,conversation:{...X.handle.ref},messageId:j,result:{ok:!0,action:oe.action}})),Object.freeze({ok:!0,operation:T,change:oe})):Object.freeze({ok:!1,operation:T,reason:"stale"})}catch(oe){if(!V(X))return Object.freeze({ok:false,operation:T,reason:"stale"});let ne=td(oe,T);return c.value=ne,r.record("error","pinia","message",`reaction-${T}-settled`,()=>({generation:X.generation,conversation:{...X.handle.ref},messageId:j,result:{ok:false,reason:"sdk-rejected",error:ne}})),Object.freeze({ok:false,operation:T,reason:"sdk-rejected",error:ne})}finally{b(j,X.token);}}function _(j,T){return I(j,"toggle",Z=>Z.messages.toggleReaction(j,T))}function W(j,T,Z){return I(j,"set",X=>X.messages.setReaction(j,T,Z))}function B(){M();}function ae(){m||(m=true,N(),M());}return no.set(e,Object.freeze({dispose:ae})),{operatingMessageIds:s,error:c,toggle:_,set:W,reset:B}})}var Qs=new WeakMap,eo=new WeakMap;function od(e=Te()){Ce(e);let n=Qs.get(e);n===void 0&&(n=rd(e),Qs.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 ImReactionStore");return eo.get(e)!==r&&(eo.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}function to(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 ld(e){let n=Te(e),r=Ce(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let ne=new Map;for(let R of o.value)R.msgId!==""&&R.collectId!==""&&ne.set(R.msgId,R.collectId);return ne}),g=false,S=0,M=0,N,z;function V(){S+=1,M+=1,o.value=[],s.value=false,c.value=null;}function b(ne){return {client:ne,generation:r.getGeneration(),stateEpoch:S}}function I(ne){return !g&&ne.client===r.getProductClient()&&ne.generation===r.getGeneration()&&ne.stateEpoch===S}function _(ne){return m.value.get(ne.trim())??""}function W(ne){return _(ne)!==""}async function B(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let ne=++M,R;try{R=b(r.ensureProductClient()),oe(R.client);}catch(x){let F=to(x,"reload");return c.value=F,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:F})}s.value=true,c.value=null;try{let x=await R.client.sessionFavorites.list();return ne!==M||!I(R)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=x,Object.freeze({ok:!0,operation:"reload"}))}catch(x){if(ne!==M||!I(R))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let F=to(x,"reload");return c.value=F,Object.freeze({ok:false,operation:"reload",reason:"failed",error:F})}finally{ne===M&&I(R)&&(s.value=false);}}function ae(){M+=1,s.value=false;}async function j(ne){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let R;try{R=b(r.ensureProductClient()),oe(R.client);let x=await R.client.sessionFavorites.addFromMessage(ne);return I(R)?(ae(),o.value=Object.freeze([x,...o.value.filter(F=>F.collectId!==x.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:x.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(x){return Object.freeze({ok:false,operation:"add",reason:"failed",error:to(x,"add")})}}async function T(ne){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let R=[...new Set(ne.map(x=>x.trim()).filter(x=>x!==""))];if(R.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 x=b(r.ensureProductClient());if(await x.client.sessionFavorites.delete(R),!I(x))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});ae();let F=new Set(R);return o.value=Object.freeze(o.value.filter(P=>!F.has(P.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:R[0]??""})}catch(x){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:to(x,"delete")})}}async function Z(ne){let R=_(ne);return R===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):T([R])}function X(){N?.(),N=void 0,z=void 0,V();}function oe(ne){if(z===ne)return;N?.(),z=ne;let R=b(ne);N=ne.events.subscribe(x=>{z===ne&&I(R)&&x.type==="session-favorites:changed"&&B();});}return Ee(n,()=>{g=true,N?.(),N=void 0,z=void 0,V();}),{items:o,loading:s,error:c,collectIdOf:_,isFavorited:W,reload:B,addFromMessage:j,removeByCollectIds:T,removeByMessageId:Z,reset:X}})(n)}function ud(e){return defineStore("k2-im-session",()=>{let n=Ce(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getGeneration()),m=ref("idle"),g=ref(""),S=ref({}),M=false,N=0,z="",V=n.getDiagnostics(),b=n.subscribeEvents(oe=>{if(!M){if(oe.type==="receiving:changed"&&(s.value=oe.receiving),oe.type==="session:replaced"){N+=1,m.value="error",s.value=false,o.value=n.getConnectionState(),g.value="lifecycle.connectionOccupied",S.value={};return}oe.type==="connection:changed"&&(o.value=oe.state,oe.state==="authenticated"&&(m.value="ready"));}});function I(oe,ne){return !M&&oe===N&&n.getGeneration()===ne}function _(oe){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(oe);}function W(oe){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let ne=oe.session===null?"":`${oe.session.userId}\0${oe.session.token}`;ne!==z&&(N+=1,z=ne);let R=n.applySession(oe.session,oe.endpoints,oe.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,r.value=oe.session?.userId??"",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=o.value==="authenticated"?"ready":"idle",g.value="",S.value={},V.record("info","pinia","session","session-applied",()=>({generation:c.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:R.hasToken,didReset:R.didReset}})),R}async function B(oe,ne,R){if(M)return {ok:false,errorKey:"lifecycle.disposed"};let x=++N,F=n.getGeneration(),P=Date.now();m.value=oe,g.value="",S.value={},V.record("info","pinia",ne==="prepare"?"session":"connection",`${ne}-start`,()=>({generation:F}));let O=await R();return I(x,F)?(c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=O.ok?o.value==="authenticated"?"ready":"idle":"error",g.value=O.errorKey??"",S.value=O.errorParams??{},V.record(O.ok?"info":"error","pinia",ne==="prepare"?"session":"connection",`${ne}-${O.ok?"complete":"failed"}`,()=>({generation:c.value,durationMs:Date.now()-P,...O.ok?{}:{error:{message:O.errorKey??`${ne}-failed`,data:O.errorParams}}})),O):(V.record("debug","pinia","session",`${ne}-stale-result-dropped`,()=>({generation:F,durationMs:Date.now()-P})),O)}function ae(){return B("preparing","prepare",()=>n.prepare())}function j(){return B("connecting","connect",()=>n.connect())}function T(){M||(N+=1,n.disconnect(),o.value=n.getConnectionState(),m.value="idle");}async function Z(oe){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");N+=1;try{await n.logout(oe);}finally{r.value="",s.value=false,z="",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value="idle",g.value="",S.value={};}}function X(){M||(M=true,N+=1,b(),r.value="",o.value="idle",s.value=false,c.value=n.getGeneration(),m.value="disposed",g.value="",S.value={});}return {accountId:r,connectionState:o,receiving:s,generation:c,phase:m,errorKey:g,errorParams:S,configureHost:_,applySession:W,prepare:ae,connect:j,disconnect:T,logout:Z,dispose:X,getRuntime:()=>n}})}var Xs=new WeakMap,ro=new WeakMap;function dd(e=Te()){Ce(e);let n=Xs.get(e);n===void 0&&(n=ud(e),Xs.set(e,n));let r=n(e);return ro.get(e)!==r&&(ro.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),ro.get(e)===r&&ro.delete(e);})),r}function md(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function ao(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function nl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function nr(e,n){return `${nl(e)}\0${n}`}function zt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Zs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function pd(e){return defineStore("k2-im-thread-paging",()=>{let n=Ce(e).runtime,r=n.getDiagnostics(),o=He(e),s=jn(e),c=ref(false),m=ref(false),g=ref(null),S=ref(null),M=false,N="",z="",V=0,b=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:zt(o.messages,"older"),newerBoundary:zt(o.messages,"newer")}),I=(R,x)=>{let F=b();return !M&&x===V&&R.generation===F.generation&&ao(R.ref,F.ref)&&R.ref!==null},_=R=>{(R===void 0||R==="older")&&(N="",g.value=null),(R===void 0||R==="newer")&&(z="",S.value=null);},W=()=>{V+=1,c.value=false,m.value=false,_();},B=async(R,x)=>{let F=b(),P=R==="older"?N:z,O=R==="older"?o.hasOlder:o.hasNewer;if(F.ref===null||!O||(R==="older"?c.value:m.value))return 0;let $=F.ref,Q=R==="older"?F.olderBoundary:F.newerBoundary,de=nr($,Q);if(R==="older"?m.value:c.value)return 0;if(!x&&P!==""&&P===de)return r.record("debug","pinia","history",`thread-paging-${R}-circuit-open`,()=>({conversation:$,data:{boundary:Q}})),0;x&&(_(R),r.record("debug","pinia","history",`thread-paging-${R}-retry`,()=>({conversation:$})));let ge=new Set(o.messages.map(G=>G.id)),Pe=++V;R==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${R}-start`,()=>({conversation:$,generation:F.generation,data:{boundary:Q,force:x}}));try{let G=R==="older"?await o.loadOlder():await o.loadNewer();if(!I(F,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:$,generation:F.generation,data:{side:R}})),0;if(!G)return 0;_(R);let h=o.messages.reduce((U,D)=>U+ +!ge.has(D.id),0);return r.record("debug","pinia","history",`thread-paging-${R}-success`,()=>({conversation:$,generation:F.generation,data:{added:h}})),h}catch(G){if(!I(F,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:$,generation:F.generation,data:{side:R,outcome:"failed"}})),0;if(md(G))return r.record("debug","pinia","history",`thread-paging-${R}-cancelled`,()=>({conversation:$,generation:F.generation})),0;throw zt(o.messages,R)===Q&&(R==="older"?(N=de,g.value=G):(z=de,S.value=G),r.record("warn","pinia","history",`thread-paging-${R}-failed`,()=>({conversation:$,generation:F.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${R} \u5206\u9875\u5931\u8D25`,data:Zs(G)}}))),G}finally{Pe===V&&(R==="older"?c.value=false:m.value=false);}},ae=(R={})=>B("older",R.force===true),j=(R={})=>B("newer",R.force===true),T=async R=>{if(R!==void 0&&!ao(o.activeRef,R))return false;s.clearLocation(),W();let x=b();if(x.ref===null)return false;let F=x.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:F})),!o.hasNewer)return true;let P;try{P=await o.loadLatest();}catch(O){if(ao(o.activeRef,F)&&n.getGeneration()===x.generation){let $=zt(o.messages,"newer");z=nr(F,$),S.value=O,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:F,generation:x.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Zs(O)}}));}throw O}return !ao(o.activeRef,F)||n.getGeneration()!==x.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:F})),false):(_("newer"),P)},Z=watch(()=>nl(o.activeRef),()=>W(),{flush:"sync"}),X=watch(()=>`${nr(o.activeRef,zt(o.messages,"older"))}\0${zt(o.messages,"newer")}`,()=>{let R=b(),x=nr(R.ref,R.olderBoundary),F=nr(R.ref,R.newerBoundary);N!==""&&N!==x&&_("older"),z!==""&&z!==F&&_("newer");},{flush:"sync"}),oe=o.$onAction(({name:R})=>{(R==="loadLatest"||R==="loadAround"||R==="open"||R==="close"||R==="reset")&&W();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:S,loadOlder:ae,loadNewer:j,retryOlder:()=>ae({force:true}),retryNewer:()=>j({force:true}),jumpToLatest:T,reset:W,dispose:()=>{M||(M=true,Z(),X(),oe(),W());}}})}var el=new WeakMap,io=new WeakMap;function vd(e=Te()){Ce(e);let n=el.get(e);n===void 0&&(n=pd(e),el.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function gd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Id(e=Te()){let n=He(e),r=jn(e);return Object.freeze({async returnToLatest(o){return gd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{kr as applicationKey,Zl as createAndInstallImChatKit,si as createImChatKitContext,nc as disposeImChatKit,ec as ensureImChatKitSelfProfile,Ce as getImChatKitContext,$i as imMediaDownloadKey,li as installImChatKit,sc as useImApplicationsStore,Pc as useImCapabilitiesStore,Zn as useImComposerStore,Mc as useImConversationActivationCoordinator,Lc as useImConversationDeletionCoordinator,_o as useImConversationListStore,Yc as useImExpressionStore,tu as useImHistoryReturnAfterSendCoordinator,lu as useImMediaStore,$t as useImMessageOperationsStore,Uu as useImProfileDirectoryStore,Ju as useImQuotedMessageStore,od as useImReactionStore,jn as useImSearchStore,ld as useImSessionFavoritesStore,dd as useImSessionStore,vd as useImThreadPagingStore,Id as useImThreadReturnToLatestCoordinator,He 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,za,ta as ta$1,wa,va as va$1,ua,F,D,E,C,A,Ja,d,ya,B,z,Ia,Ha,Ga,Fa,Ea,Da,c,b,k,h}from'./chunk-2EB5ZELD.js';export{t as resolveMessageNotificationDecision}from'./chunk-2EB5ZELD.js';import'./chunk-5KHSKIN3.js';import'./chunk-SRMSBFOP.js';import {va,sa}from'./chunk-54HSPG2Z.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function sc(e,n,o={}){let r=u(n);try{return gi(e,vi({runtime:r,...o}))}catch(s){throw r.dispose(),s}}function lc(e){Ba(Pe(e).runtime);}var Yn=new WeakMap;function Te(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 vi(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function gi(e,n){let o=Yn.get(e);if(o!==void 0&&!o.disposed){if(o.context===n)return o.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let r={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!r.disposed){r.disposed=true;for(let c of [...r.storeDisposers])c();r.storeDisposers.clear(),n.runtime.dispose(),Yn.get(e)===r&&Yn.delete(e);}}});return r.installation=s,Yn.set(e,r),s}function Pe(e){let n=Yn.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 je(e,n){let o=Yn.get(e);if(o===void 0||o.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return o.storeDisposers.add(n),()=>o.storeDisposers.delete(n)}function cc(e){Yn.get(e)?.installation.dispose();}function Or(e){return `${e.domain}:${e.applicationId}`}function dc(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 fc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function kr(e,n){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:o!==null&&fc(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`applications.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="reload"})}function mc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function pc(e){return defineStore("k2-im-applications",()=>{let n=Pe(e).runtime,o=ref([]),r=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>o.value.length),E=computed(()=>{let b=0,T=0,N=0;for(let Z of o.value)Z.ref.domain==="contact"?b+=1:Z.ref.domain==="group"?T+=1:N+=1;return Object.freeze({contact:b,group:T,channel:N})}),S=false,z=0,w=0,U=0,R=false,I=0,_=new Map;function J(){z+=1,w+=1,U+=1,I+=1,R=false,_.clear(),o.value=[],r.value=false,s.value=null,c.value={},m.value={};}function q(b){return {client:b,generation:n.getGeneration(),stateEpoch:z}}function D(b){return !S&&b.client===n.getProductClient()&&b.generation===n.getGeneration()&&b.stateEpoch===z}async function O(){if(S)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let b=++w,T;try{T=q(n.ensureProductClient());}catch(N){let Z=kr(N,"reload");return s.value=Z,r.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}r.value=true,s.value=null;try{let N=await T.client.applications.listPending();return b!==w||!D(T)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=Object.freeze([...N]),Object.freeze({ok:!0,operation:"reload"}))}catch(N){if(b!==w||!D(T))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Z=kr(N,"reload");return s.value=Z,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}finally{b===w&&D(T)&&(r.value=false);}}function k(){if(S||R)return;R=true;let b=z,T=++I;queueMicrotask(()=>{T===I&&(R=false,!(S||b!==z)&&O());});}function Q(b){(b.type==="contact-application:received"||b.type==="channel-join-application:received"||b.type==="application:updated")&&k();}let Y=n.subscribeProductEvents(Q);async function me(b,T){let N=dc(b),Z=Or(N);if(S)return Object.freeze({ok:false,operation:T,reason:"stale",application:N});let fe=++U;_.set(Z,fe),c.value={...c.value,[Z]:T};let{[Z]:Ce,...ke}=m.value;m.value=ke;let se;try{se=q(n.ensureProductClient());}catch(ce){let de=kr(ce,T);m.value={...m.value,[Z]:de};let{[Z]:ye,...Ae}=c.value;return c.value=Ae,_.delete(Z),Object.freeze({ok:false,operation:T,reason:"failed",application:N,error:de})}let V=()=>D(se)&&_.get(Z)===fe;try{return await se.client.applications[T](N),V()?(w+=1,r.value=!1,o.value=Object.freeze(o.value.filter(ce=>Or(ce.ref)!==Z)),Object.freeze({ok:!0,operation:T,application:N})):Object.freeze({ok:!1,operation:T,reason:"stale",application:N})}catch(ce){if(!V())return Object.freeze({ok:false,operation:T,reason:"stale",application:N});let de=kr(ce,T);return mc(de)?(w+=1,r.value=false,o.value=Object.freeze(o.value.filter(ye=>Or(ye.ref)!==Z)),Object.freeze({ok:false,operation:T,reason:"failed",application:N,error:de})):(m.value={...m.value,[Z]:de},Object.freeze({ok:false,operation:T,reason:"failed",application:N,error:de}))}finally{if(V()){_.delete(Z);let{[Z]:ce,...de}=c.value;c.value=de;}}}function K(b){return me(b,"accept")}function P(b){return me(b,"ignore")}function j(){S||J();}function B(){S||(S=true,Y(),J());}return {items:o,loading:r,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:E,reload:O,accept:K,ignore:P,reset:j,dispose:B}})}var yi=new WeakMap,Mr=new WeakMap;function vc(e=Te()){Pe(e);let n=yi.get(e);n===void 0&&(n=pc(e),yi.set(e,n));let o=n(e);return Mr.get(e)!==o&&(Mr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Mr.get(e)===o&&Mr.delete(e);})),o}function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ic(e,n){return e.length===n.length&&e.every((o,r)=>o===n[r])}var bi=Object.freeze({state:"none"});function hc(e,n,o){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,...o===void 0?{}:{conversation:Ri(o)}})}function yc(e){return defineStore("k2-im-thread",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(bi),g=shallowRef(),E=shallowRef(null),S=ref(false),z=ref(false),w=ref(false),U=ref(false),R=ref(false),I=shallowRef(null),_=ref(0),J=false,q,D=0,O=0,k,Q,Y,me,K,P=[],j=new Map,B=new Set,b=new WeakSet,T=new WeakMap;function N(){P.length=0,_.value=0;}let Z=n.subscribeEvents(H=>{if(J||H.type!=="message:received"||(H.source??"live")!=="live")return;let te=r.value;te===null||H.message.conversationId!==te.conversationId||H.message.conversationType!==te.conversationType||H.message.senderId===n.getCredentials().userId||!se(H.message)||(P.push(H.message.id),_.value+=1);});function fe(H=null){N(),r.value=H,s.value=null,c.value=[],m.value=bi,g.value=void 0,E.value=null,S.value=H!==null,z.value=false,w.value=false,U.value=false,R.value=false,I.value=null;}function Ce(H){if((j.get(H)??0)>0){B.add(H);return}H.close();}function ke(){K?.(),K=void 0,me?.(),me=void 0;let H=Y;Y=void 0,H!==void 0&&Ce(H);}function se(H){if(H.body.system?.timelineVisibility==="hidden")return false;if(H.conversationType!=="channel"||H.deletedForEveryone===void 0)return true;let te=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:H.conversationId});return te.conversationType==="channel"&&te.ref.conversationType==="channel"&&te.ref.conversationId===H.conversationId&&(te.value.role==="owner"||te.value.role==="admin")}function V(H,te,Oe){let De=r.value;if(J||Y!==H||n.getGeneration()!==Oe||De===null||te.ref.conversationId!==De.conversationId||te.ref.conversationType!==De.conversationType)return false;let we=te.messages.filter(se);if(Ic(c.value,we)||(c.value=Object.freeze(we)),m.value=te.entryUnread,g.value=te.entryUnreadNavigation,te.entryUnread.state==="located"){let Ne=te.entryUnread.firstMessageId,Be=te.messages.findIndex(Ze=>Ze.id===Ne);if(Be>=0&&!we.some(Ze=>Ze.id===Ne)){let Ze=te.messages.slice(Be+1).find(se);m.value=Object.freeze(Ze===void 0?{state:"unavailable"}:{...te.entryUnread,firstMessageId:Ze.id});}}return s.value=te.display??null,E.value=te.draft,S.value=te.loading,z.value=z.value||we.length>0||!te.loading,w.value=te.stale,U.value=te.hasOlder,R.value=te.hasNewer,I.value=te.error??null,true}async function ce(H,te){let Oe=n.ensureProductClient();return H.conversationType==="direct"?Oe.openConversation({conversationType:"direct",conversationId:H.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:te}):H.conversationType==="group"?Oe.openConversation({conversationType:"group",conversationId:H.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:te}):H.conversationType==="robot"?Oe.openConversation({conversationType:"robot",conversationId:H.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:te}):Oe.openConversation({conversationType:"channel",conversationId:H.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:te})}async function de(H){try{let te=n.ensureProductClient();if(te.conversations.list().find(De=>De.ref.conversationType===H.conversationType&&De.ref.conversationId===H.conversationId)?.manuallyUnread!==!0)return;await te.conversations.markRead(H);}catch(te){o.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:H,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:te}}));}}async function ye(H){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 te=Ri(H);q?.abort();let Oe=new AbortController;q=Oe;let De=++D,we=n.getGeneration();o.record("debug","pinia","history","thread-open-start",()=>({generation:we,conversation:te}));let Ne;try{Ne=await ce(te,Oe.signal);}catch(Be){if(Oe.signal.aborted)return;throw !J&&De===D&&we===n.getGeneration()&&o.record("warn","pinia","history","thread-open-failed",()=>({generation:we,conversation:te,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:hc(Be,"thread.open",te)}})),Be}finally{q===Oe&&(q=void 0);}if(J||De!==D||we!==n.getGeneration()){Ne.close(),o.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:we,conversation:te}));return}return y(),ke(),fe(te),Y=Ne,me=Ne.subscribe(Be=>V(Ne,Be,we)),V(Ne,Ne.getSnapshot(),we),te.conversationType==="channel"&&(K=n.ensureProductClient().capabilities.subscribe(te,()=>{!J&&Y===Ne&&n.getGeneration()===we&&V(Ne,Ne.getSnapshot(),we);})),de(te),o.record("debug","pinia","history","thread-open-complete",()=>({generation:we,conversation:te})),Ne}function Ae(){q?.abort(),q=void 0,D+=1;}function Me(H){if(J||Y===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${H}`);return Y}function Ee(H,te,Oe){return !J&&O===H&&Y===te&&n.getGeneration()===Oe}async function F(H,te){if(k!==void 0||Q!==void 0)return false;let Oe=Me(H),De=n.getGeneration(),we=++O;k=we;try{return await te(Oe),Ee(we,Oe,De)?(V(Oe,Oe.getSnapshot(),De),!0):!1}finally{k===we&&(k=void 0);}}async function L(H,te,Oe){let De=Me(H),we=n.getGeneration(),Ne=++O;k=void 0,Q=Ne;try{if(await te(De),!Ee(Ne,De,we))return !1;let Be=De.getSnapshot();return Oe(Be)?(V(De,Be,we),!0):!1}finally{Q===Ne&&(Q=void 0);}}function pe(){return L("loadLatest",H=>H.history.loadLatest(),H=>!H.hasNewer)}function ge(H){let te=false;return L("loadEntryUnread",async Oe=>{te=await Oe.history.loadEntryUnread(H);},Oe=>te&&Oe.entryUnread.state==="located")}function ve(H){let te=T.get(H);if(te!==void 0)return te;let Oe=H.markConversationRead().finally(()=>{T.get(H)===Oe&&T.delete(H);});return T.set(H,Oe),Oe}function G(){let H=Me("markConversationRead");return b.add(H),ve(H)}function p(H){return Me("markVisibleMessages").markVisibleMessages(H)}function y(){let H=Y;if(H===void 0||!b.has(H))return;let te=re(H),Oe=n.getGeneration(),De=T.get(H);(De===void 0?ve(H):De.catch(()=>{}).then(()=>ve(H))).catch(Ne=>{Oe===n.getGeneration()&&o.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:H.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ne}}));}).finally(te);}function W(){y(),Ge();}function X(){return F("loadOlder",H=>H.history.loadOlder())}function ie(){return F("loadNewer",H=>H.history.loadNewer())}function ue(H){return L("loadAround",te=>te.history.loadAround(H),te=>te.messages.some(Oe=>Oe.id===H)).then(te=>te?c.value.some(Oe=>Oe.id===H):false)}function Ie(H){return Me("resolveMessage").resolveMessage(H)}function re(H=Me("retainHandle")){if(J)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");j.set(H,(j.get(H)??0)+1);let te=false;return ()=>{if(te)return;te=true;let Oe=(j.get(H)??1)-1;if(Oe>0){j.set(H,Oe);return}j.delete(H),B.delete(H)&&H.close();}}function he(){return re()}function Ge(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,ke(),fe();}function qe(H){let te=r.value;return te===null||te.conversationType!==H.conversationType||te.conversationId!==H.conversationId?false:(O+=1,k=void 0,Q=void 0,ke(),fe(),true)}function ct(){q?.abort(),q=void 0,D+=1,O+=1,k=void 0,Q=void 0,me?.(),me=void 0,K?.(),K=void 0;let H=new Set([...Y===void 0?[]:[Y],...B,...j.keys()]);Y=void 0,B.clear(),j.clear();for(let te of H)te.close();fe();}function gn(){J||(ct(),J=true,Z());}function In(){return P.splice(0,P.length)}return {display:s,activeRef:r,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:E,loading:S,ready:z,stale:w,hasOlder:U,hasNewer:R,error:I,activeRemoteMessageRevision:_,open:ye,invalidatePendingOpen:Ae,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:ct,dispose:gn,drainActiveRemoteMessageIds:In,getHandle:()=>Y}})}var Ci=new WeakMap,Sr=new WeakMap;function Le(e=Te()){Pe(e);let n=Ci.get(e);n===void 0&&(n=yc(e),Ci.set(e,n));let o=n(e);return Sr.get(e)!==o&&(Sr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Sr.get(e)===o&&Sr.delete(e);})),o}var xr=new WeakMap;function Do(e){let n=xr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function bt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function wr(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 ki(e){return e===null?null:wr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function zo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Go(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((o,r)=>{let s=n.mentions?.[r];return s!==void 0&&o.userId===s.userId&&o.displayName===s.displayName})}function Rc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Vt(e,n,o){return Rc(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",...o===void 0?{}:{conversation:bt(o)},cause:e})}function Er(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function Pc(e){return defineStore("k2-im-composer",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),E=ref(0),S=shallowRef(null),z=false,w=0,U=0,R=0,I,_=Promise.resolve(),J=Promise.resolve(),q=new Set,D=new Map,O,k;function Q(){return r.getHandle()}function Y(F,L){let pe=r.activeRef;return !z&&Q()===F&&n.getGeneration()===L&&pe!==null&&pe.conversationId===F.ref.conversationId&&pe.conversationType===F.ref.conversationType}function me(F=Q()){if(F===void 0)return false;let L=n.getGeneration();return I?.handle===F&&I.generation===L||[...q].some(pe=>pe.handle===F&&pe.generation===L)}async function K(F=Q()){if(F===void 0)return;let L=n.getGeneration(),pe=I?.handle===F&&I.generation===L?I:void 0;if(pe===void 0){let p=[...q].filter(y=>y.handle===F&&y.generation===L).map(y=>y.promise);p.length>0?await Promise.all(p):await J;return}I=void 0;let ve=_.then(async()=>{zo(pe.input)?await F.draft.clear():await F.draft.save(pe.input);}),G={handle:F,generation:L,promise:ve};q.add(G),J=ve,_=ve.catch(()=>{});try{await ve,Y(F,L)&&(S.value=null,E.value+=1,o.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:L,conversation:bt(F.ref)})));}catch(p){throw Y(F,L)&&(I===void 0&&R===pe.version&&(I=pe),S.value=Vt(p,"composer.draft",F.ref),o.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:L,conversation:bt(F.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:S.value}}))),p}finally{q.delete(G);}}function P(F){let L=Q(),pe=n.getGeneration();if(L===void 0||!Y(L,pe))return S.value=Vt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ge=wr(F);return R+=1,s.value=zo(ge)?null:ge,I={handle:L,generation:pe,version:R,input:ge},S.value=null,j(),zo(ge)&&K(L).catch(()=>{}),true}async function j(){if(m.value!==null)return;let F=s.value?.replyToMessageId;if(F===void 0){U+=1,c.value=null;return}let L=Q();if(L===void 0){c.value=null;return}let pe=r.messages.find(p=>p.id===F);if(pe!==void 0){U+=1,c.value=pe;return}let ge=n.getGeneration(),ve=++U,G=await L.resolveMessage(F).catch(()=>null);ve!==U||!Y(L,ge)||m.value!==null||s.value?.replyToMessageId!==F||(c.value=G);}function B(F){let L=Q();return L===void 0||!Er(F,L)?false:(m.value=null,c.value=F,P({...s.value??{text:"",attachments:[]},replyToMessageId:F.id}))}function b(F){if(F!==void 0&&s.value?.replyToMessageId!==F)return;c.value=null;let L=s.value;if(L===null)return;let{replyToMessageId:pe,...ge}=L;P({...ge});}function T(F){let L=Q();return L===void 0||!Er(F,L)?false:(c.value=null,m.value=F,true)}function N(){m.value=null,j();}function Z(){U+=1,c.value=null,m.value=null;}function fe(F,L){return !z&&n.getGeneration()===F&&w===L}function Ce(F){return [...D.values()].some(L=>L.handle===F)}function ke(F,L){return F!==null&&Go(ki(F),L)}function se(F,L,pe){!Y(F,L)||s.value===null||!Go(s.value,pe)||(R+=1,I?.handle===F&&I.generation===L&&Go(I.input,pe)&&(I=void 0),s.value=null,U+=1,c.value=null);}async function V(F){let L=[...q].filter(ge=>ge.handle===F.handle&&ge.generation===F.generation).map(ge=>ge.promise.catch(()=>{}));if(L.length>0&&await Promise.all(L),!Y(F.handle,F.generation))return;let pe=await F.handle.draft.get();if(!ke(pe,F.input)){O?.token===F.token&&(O=void 0);return}O=F;try{await F.handle.draft.clear(),O?.token===F.token&&(O=void 0);}catch(ge){if(Y(F.handle,F.generation)){if(s.value===null&&I===void 0){let ve={text:"",attachments:[]};R+=1,I={handle:F.handle,generation:F.generation,version:R,input:ve};}S.value=Vt(ge,"composer.draft",F.handle.ref),o.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:F.generation,conversation:bt(F.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:S.value}}));}}}function ce(F){if(!Y(F.handle,F.generation)||s.value!==null)return;O=void 0;let L=wr(F.input);R+=1,s.value=L,I={handle:F.handle,generation:F.generation,version:R,input:L},j();}async function de(F){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||!Y(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"not-ready"});let G=F.text.trim();if(G==="")return Object.freeze({ok:false,operation:pe,reason:"empty"});let p=w;if(L!==null&&!Er(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=r.retainHandle(ge),X;if(L===null){let ie=wr(F);X={token:y,handle:ge,generation:ve,input:ie},D.set(y,X),se(ge,ve,ie);}o.record("debug","pinia","message","composer-submit-start",()=>({generation:ve,operation:pe,conversation:bt(ge.ref),...L===null?{}:{messageId:L.id}}));try{if(L===null){if(!fe(ve,p)||!Y(ge,ve))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let ie=await ge.messages.sendText(G,{...F.mentions===void 0?{}:{mentions:F.mentions},...F.replyToMessageId===void 0?{}:{replyToMessageId:F.replyToMessageId}});if(!fe(ve,p)||!Y(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)||!Y(ge,ve)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ge.messages.editText(L.id,G,{...F.mentions===void 0?{}:{mentions:F.mentions}});}catch(ie){if(!fe(ve,p)||!Y(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ue=Vt(ie,"composer.edit",ge.ref);return S.value=ue,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ue})}if(!fe(ve,p)||!Y(ge,ve))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===L&&N();}return S.value=null,o.record("debug","pinia","message","composer-submit-complete",()=>({generation:ve,operation:pe,conversation:bt(ge.ref)})),Object.freeze({ok:!0,operation:pe})}catch(ie){if(!fe(ve,p)||!Y(ge,ve))return Object.freeze({ok:false,operation:pe,reason:"stale"});X!==void 0&&ce(X);let ue=Vt(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,Y(ge,ve)&&ye();}}function ye(){let F=Q();if(F===void 0)return;let L=O,pe=L!==void 0&&L.handle===F&&L.generation===n.getGeneration()&&ke(r.draft,L.input);L!==void 0&&!pe&&(O=void 0),!me(F)&&!Ce(F)&&!pe&&(s.value=ki(r.draft)),m.value!==null&&!Er(m.value,F)&&(m.value=null),j();}function Ae(){w+=1,U+=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 Me=watch(()=>({ref:r.activeRef===null?null:`${r.activeRef.conversationType}:${r.activeRef.conversationId}`,draft:r.draft,messages:r.messages}),(F,L)=>{if(F.ref!==L?.ref){Ae(),F.ref!==null&&ye();return}ye();},{immediate:true});function Ee(){z||(z=true,Me(),Ae());}return xr.set(e,Object.freeze({suspendInteraction:Z,syncReplyTarget:j,dispose:Ee})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:E,error:S,updateDraft:P,flush:K,hasPendingWork:me,submitText:de,setReplyTo:B,clearReplyTo:b,setEditing:T,clearEditing:N,reset:Ae}})}var Mi=new WeakMap,jr=new WeakMap;function et(e=Te()){Pe(e);let n=Mi.get(e);n===void 0&&(n=Pc(e),Mi.set(e,n));let o=n(e),r=Do(e);return jr.get(e)!==o&&(jr.set(e,o),je(e,()=>{r.dispose(),o.$dispose(),jr.get(e)===o&&(jr.delete(e),xr.get(e)===r&&xr.delete(e));})),o}var zr=new WeakMap;function $t(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Si(e){return [...e]}function Oc(e){return defineStore("k2-im-message-operations",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=et(e),c=Do(e),m=shallowRef(null),g=ref(false),E=ref([]),S=ref(null),z=ref(false),w=ref([]),U=shallowRef(null),R=false,I=0,_=0,J=0;function q(){return r.getHandle()}function D(p,y=q()){let W=r.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(){z.value=false,w.value=[];}function Q(){S.value=null;}function Y(){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(!$t(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 K(p){return E.value.some(y=>y.id===p)}function P(p){return !g.value||!D(p)?Object.freeze({ok:false,reason:"not-ready"}):$t(p)?O(p)?Object.freeze({ok:false,reason:"pinned-protected"}):(K(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=Si(p),Object.freeze({ok:true}))}function B(){let p=E.value;if(p.length===0)return Object.freeze({outcome:"empty"});let y=p.filter(va);return p.some(sa)?(w.value=y,z.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=Si(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&&Y(),U.value=ue.ok?null:ue.error??null,o.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 N(p,y,W){U.value=p.ok?null:p.error??null,o.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 Z(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=Z(await ja(n,{handle:y,message:p}),y);return N(W,p.id,y),W}async function Ce(p){let y=q(),W=Z(await ka(n,{handle:y,message:p}),y);return N(W,p.id,y),W}async function ke(p){let y=q(),W=Z(await la(n,{handle:y,message:p}),y);return N(W,p.id,y),W}async function se(p,y){let W=q(),X=Z(await ma(n,{handle:W,messageId:p,options:y}),W);return N(X,p,W),X}function V(){let p=r.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 ye(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 Ae(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,ye(ie.value.messageId),U.value=null):U.value=ie.ok?null:ie.error??null,ie):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Me(){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,U.value=null):U.value=X.ok?null:X.error??null,X):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Ee(){let p=V();if(p===void 0){m.value=null;return}try{m.value=ra$1(n,p);}catch{m.value=null;}}async function F(){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;Ee();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,U.value=null):U.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&&$t(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||!$t(ue))&&s.clearEditing();}let ie=s.input?.replyToMessageId;if(ie!==void 0){let ue=y.get(ie);ue!==void 0&&!$t(ue)&&s.clearReplyTo(ie);}}let pe=watch(()=>({ref:r.activeRef===null?null:`${r.activeRef.conversationType}:${r.activeRef.conversationId}`,messages:r.messages}),(p,y)=>{p.ref!==y?.ref&&(I+=1,_+=1,J+=1,Ee(),g.value=false,E.value=[],S.value=null,k(),U.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),ye(p.pinnedMessage.messageId);}catch{}}});function ve(){I+=1,_+=1,J+=1,g.value=false,E.value=[],S.value=null,k(),U.value=null,Ee();}function G(){R||(R=true,pe(),ge(),ve());}return zr.set(e,Object.freeze({dispose:G})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:E,forwardPickerMessages:S,forwardTypeConfirmOpen:z,pendingForwardReadyMessages:w,error:U,enterMultiSelect:me,exitMultiSelect:Y,isSelected:K,toggleSelection:P,openForwardPicker:j,closeForwardPicker:Q,prepareForwardFromSelection:B,cancelForwardTypeConfirmation:k,confirmForwardTypeConfirmation:b,forward:T,recall:fe,deleteLocal:Ce,deleteForEveryone:ke,retry:se,pin:Ae,unpin:Me,syncPinned:F,isPinnedMessageProtected:O,reset:ve}})}var Ti=new WeakMap,Ar=new WeakMap;function Wt(e=Te()){Pe(e);let n=Ti.get(e);n===void 0&&(n=Oc(e),Ti.set(e,n));let o=n(e),r=zr.get(e);if(r===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Ar.get(e)!==o&&(Ar.set(e,o),je(e,()=>{r.dispose(),o.$dispose(),Ar.get(e)===o&&(Ar.delete(e),zr.get(e)===r&&zr.delete(e));})),o}var _o=Object.freeze({availability:"unknown",reason:"not-ready"});function jc(e){return defineStore("k2-im-capabilities",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=Wt(e),c=shallowRef(null),m=false,g,E,S;function z(){E!==void 0&&(clearTimeout(E),E=void 0);}function w(P){z();let j=P.nextEvaluationAt;if(j===void 0)return;let B=Math.max(0,j-Date.now());E=setTimeout(()=>{E=void 0,I();},B);}function U(P){m||(c.value=P,w(P));}function R(P){let j=r.activeRef;return j!==null&&j.conversationType===P.conversationType&&j.conversationId===P.conversationId}function I(P=Date.now()){let j=r.activeRef,B=n.getProductClient();j===null||B===null||U(B.capabilities.get(j,{nowMs:P}));}function _(){g?.(),g=void 0,z(),c.value=null;let P=r.activeRef,j=n.getProductClient();P===null||j===null||(g=j.capabilities.subscribe(P,U));}function J(){_();}function q(){g?.(),g=void 0,z(),c.value=null;}async function D(){let P=r.activeRef,j=n.getProductClient();if(P===null||j===null)return;let B=n.getGeneration();try{let b=await j.capabilities.refresh(P);if(m||B!==n.getGeneration()||!R(P))return;U(b);}catch(b){if(m||B!==n.getGeneration()||!R(P))return;o.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}})),U(j.capabilities.get(P));}}function O(P){return c.value===null?_o:K(c.value,P)}function k(P){return O(P)}function Q(P){return O(P)}function Y(P,j){let B=c.value;return B===null?_o:M(P,{snapshot:B,selfId:n.getCredentials().userId,...j})}function me(P,j){let B=c.value;return B===null?_o:L(P,{snapshot:B,message:j,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function K$1(){m||(m=true,S?.(),S=void 0,q());}return S=watch(()=>r.activeRef,_,{deep:true,immediate:true}),{activeSnapshot:c,start:J,reset:q,refresh:D,conversationAction:O,profileAction:k,memberAction:Q,memberTargetAction:Y,messageAction:me,dispose:K$1}})}var Ei=new WeakMap,Gr=new WeakMap;function wc(e=Te()){Pe(e);let n=Ei.get(e);n===void 0&&(n=jc(e),Ei.set(e,n));let o=n(e);return Gr.get(e)!==o&&(Gr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Gr.get(e)===o&&Gr.delete(e);})),o}var Qt=new WeakMap;function wi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function xc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Ac(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ji(e,n,o){let r=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:r!==null&&typeof r.code=="string"?r.code:s,category:r!==null&&Ac(r.category)?r.category:"state",operation:`conversation.activate.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="flush",conversation:wi(o)})}function xi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function zc(e=Te()){let n=Pe(e),o=Qt.get(e);if(o!==void 0&&!o.disposed)return o.coordinator;let r=n.runtime,s=r.getDiagnostics(),c=et(e),m=Le(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function E(S,z){let w=wi(S),U=z?.signal;if(U?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:w});g.conversation=w;let R=++g.epoch,I=r.getGeneration(),_=()=>!g.disposed&&g.epoch===R&&r.getGeneration()===I;m.invalidatePendingOpen();let J=()=>{_()&&(g.epoch+=1,m.invalidatePendingOpen());};U?.addEventListener("abort",J,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:I,conversation:w})),!xc(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=ji(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&&xi(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=ji(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{U?.removeEventListener("abort",J);}}return g.coordinator=Object.freeze({activate:E}),Qt.set(e,g),je(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Qt.get(e)===g&&Qt.delete(e);}),g.coordinator}function Ai(e,n){let o=Qt.get(e);o===void 0||o.disposed||!xi(o.conversation,n)||(o.epoch+=1,o.invalidatePendingOpen());}function zi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ct(e,n,o){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_LIST_ACTION_FAILED",category:r!==null&&Fc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`conversation-list.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...o===void 0?{}:{conversation:o}})}function Kc(e){return defineStore("k2-im-conversation-list",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(r.value)),g=shallowRef(null),E=false,S=null,z,w=0;function U(b="idle"){r.value=[],s$1.value=b,c.value=0,g.value=null;}function R(b,T,N){E||S!==T||n.getGeneration()!==N||(r.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||(z?.(),z=void 0,S=b,w+=1,U(),b===null))return;let T=n.getGeneration();z=b.conversations.subscribe(N=>R(N,b,T)),o.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:Ct(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:Ct(T,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function k(b,T,N){let Z=zi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Z});let fe;try{fe=D();}catch(Ce){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Z,error:Ct(Ce,b,Z)})}try{N(fe.client,Z);}catch(Ce){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Z,error:Ct(Ce,b,Z)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Z})}return q(fe)?Object.freeze({ok:true,operation:b,conversation:Z}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Z})}async function Q(b,T,N){let Z=zi(T);if(E)return Object.freeze({ok:false,operation:b,reason:"stale",conversation:Z});let fe;try{fe=D();}catch(Ce){return Object.freeze({ok:false,operation:b,reason:"failed",conversation:Z,error:Ct(Ce,b,Z)})}try{return await N(fe.client,Z),q(fe)?Object.freeze({ok:!0,operation:b,conversation:Z}):Object.freeze({ok:!1,operation:b,reason:"stale",conversation:Z})}catch(Ce){return q(fe)?Object.freeze({ok:false,operation:b,reason:"failed",conversation:Z,error:Ct(Ce,b,Z)}):Object.freeze({ok:false,operation:b,reason:"stale",conversation:Z})}}function Y(b,T){return k("set-pinned",b,(N,Z)=>N.conversations.setPinned(Z,T))}function me(b,T){return Q("set-muted",b,(N,Z)=>N.conversations.setMuted(Z,T))}function K(b){return Q("mark-read",b,(T,N)=>T.conversations.markRead(N))}function P(b){return k("mark-unread",b,(T,N)=>T.conversations.markUnread(N))}function j(b){return k("delete-local",b,(T,N)=>T.conversations.deleteLocal(N))}function B(){E||(z?.(),z=void 0,S=null,U(),E=true);}return {items:r,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:_,reset:J,refresh:O,setPinned:Y,setMuted:me,markRead:K,markUnread:P,deleteLocal:j,dispose:B}})}var Gi=new WeakMap,Dr=new WeakMap;function Ko(e=Te()){Pe(e);let n=Gi.get(e);n===void 0&&(n=Kc(e),Gi.set(e,n));let o=n(e);return Dr.get(e)!==o&&(Dr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Dr.get(e)===o&&Dr.delete(e);})),o}function nt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function _r(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Nc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Hc(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:r!==null&&Nc(r.category)?r.category:"state",operation:`channel-member-management.${n}`,retryable:r?.retryable===true,conversation:o})}function Rt(e,n,o,r){return Object.freeze({ok:false,operation:e,conversation:n,outcome:o,stale:o==="stale",projectionUpdated:false,refreshRequired:false,...r===void 0?{}:{error:r}})}function Pt(e,n){return Rt(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 Lc(e,n,o){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:o.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:o.availability==="unknown",conversation:n})}function Di(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function Uc(e,n,o,r,s){let c=n.capabilities.get(o);if(c.conversationType!=="channel"||c.ref.conversationId!==o.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return c.value.canInviteMembers;if(r==="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(r==="add-admin"||r==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M(r==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(r==="transfer-ownership")return Di(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(r==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:Di(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function qc(e,n,o,r){let s=nt(o);if(s.conversationId==="")return {ok:false,result:Pt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Rt(n,s,"not-ready")};let m=e.getGeneration(),g=Uc(e,c,s,n,r);return g.availability!=="available"?{ok:false,result:Rt(n,s,"not-allowed",Lc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function kt(e,n,o,r,s){let c=qc(e,n,o,s);if(!c.ok)return c.result;try{let m=await r(c.captured);return c.captured.isCurrent()?m:Rt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Rt(n,c.captured.conversation,"stale");let g=Hc(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Rt(n,c.captured.conversation,E,g)}}function Vc(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function _i(e,n,o){let r=nt(n),s=Vc(o);return s.length===0?Promise.resolve(Pt("invite-members",r)):kt(e,"invite-members",r,async({client:c})=>(await c.channels.inviteMembers(r,s),Object.freeze({ok:!0,operation:"invite-members",conversation:r,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Fi(e,n,o){let r=nt(n),s=_r(o);return s.userId===""?Promise.resolve(Pt("remove-member",r)):kt(e,"remove-member",r,async({client:c})=>(await c.channels.removeMember(r,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:r,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Ki(e,n,o,r){let s=nt(n),c=_r(o),m=r?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Pt(m,s)):kt(e,m,s,async({client:g})=>(r?await g.channels.addAdmin(s,c.userId):await g.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:r?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Ni(e,n,o){return Ki(e,n,o,true)}function Hi(e,n,o){return Ki(e,n,o,false)}function Li(e,n,o){let r=nt(n),s=_r(o);return s.userId===""?Promise.resolve(Pt("transfer-ownership",r)):kt(e,"transfer-ownership",r,async({client:c})=>(await c.channels.transferOwnership(r,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:r,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Ui(e,n,o){let r=nt(n),s=o===void 0?void 0:_r(o);return s!==void 0&&s.userId===""?Promise.resolve(Pt("leave",r)):kt(e,"leave",r,async({client:c})=>(await c.channels.leave(r,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:r,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function qi(e,n){let o=nt(n);return kt(e,"dismiss",o,async({client:r})=>(await r.channels.dismiss(o),Object.freeze({ok:!0,operation:"dismiss",conversation:o,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Jt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Bc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function $c(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:r!==null&&Bc(r.category)?r.category:"state",operation:`channel-profile.${n}`,retryable:r?.retryable===true,conversation:o})}function Mt(e,n,o,r){return Object.freeze({ok:false,operation:e,conversation:n,outcome:o,stale:o==="stale",projectionUpdated:false,refreshRequired:false,...r===void 0?{}:{error:r}})}function Ot(e,n){return Mt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function Wc(e,n,o){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:o.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:o.availability==="unknown",conversation:n})}function Qc(e,n,o,r,s){let c=n.capabilities.get(o);return c.conversationType!=="channel"||c.ref.conversationId!==o.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="set-my-nickname"?c.value.canLeave:r==="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}):r==="set-all-muted"?c.value.canManageMute:r==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function Jc(e,n,o,r){let s=Jt(o);if(s.conversationId==="")return {ok:false,result:Ot(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Mt(n,s,"not-ready")};let m=e.getGeneration(),g=Qc(e,c,s,n,r);return g.availability!=="available"?{ok:false,result:Mt(n,s,"not-allowed",Wc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Ln(e,n,o,r,s){let c=Jc(e,n,o,s);if(!c.ok)return c.result;try{let m=await r(c.captured);return c.captured.isCurrent()?m:Mt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Mt(n,c.captured.conversation,"failed",$c(m,n,c.captured.conversation)):Mt(n,c.captured.conversation,"stale")}}function Vi(e,n,o){let r=Jt(n),s=o.trim();return s===""||[...s].length>15?{ok:false,result:Ot(e,r)}:{ok:true,value:s}}function Bi(e,n,o){let r=o.trim();return r===""?Promise.resolve(Ot("update-name",Jt(n))):Ln(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,r),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var Xc=100;function $i(e,n,o){let r=o.trim();return r===""||[...r].length>Xc?Promise.resolve(Ot("update-description",Jt(n))):Ln(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,r),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Wi(e,n,o){return Ln(e,"update-avatar",n,async({client:r,conversation:s})=>{let c=(await r.channels.updateAvatar(s,o)).trim();return c===""?Ot("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Qi(e,n,o){let r=Vi("set-my-nickname",n,o);return r.ok?Ln(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,r.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(r.result)}function Ji(e,n,o,r,s){let c=o.trim(),m=Vi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Ot("set-member-nickname",Jt(n)):m.result);let g=Object.freeze({userId:c,role:r});return Ln(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 Xi(e,n,o,r){return Ln(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,o,r),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Yi(e,n,o){return Ln(e,"set-all-muted",n,async({client:r,conversation:s})=>(await r.channels.setAllMuted(s,o),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:o,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Zi(e,n,o){return Ln(e,"set-member-private-chat-disabled",n,async({client:r,conversation:s})=>(await r.channels.setMemberPrivateChatDisabled(s,o),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:o,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Yc(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Zc(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function eu(e){let n=e.getProductClient();if(n===null)return null;let o=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===o&&e.getProductClient()===n})}function nu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function tu(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:r!==null&&nu(r.category)?r.category:"state",operation:`direct-contact.${n}`,retryable:r?.retryable===true,...o===null?{}:{conversation:o}})}function tt(e,n,o,r){return Object.freeze({ok:false,operation:e,conversation:n,outcome:o,stale:o==="stale",projectionUpdated:false,refreshRequired:false,...r===void 0?{}:{error:r}})}function Fr(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 rt(e,n,o,r){let s=eu(e);if(s===null)return {ok:false,result:tt(n,o,"not-ready")};try{let c=await r(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:tt(n,o,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:tt(n,o,"failed",tu(c,n,o))}:{ok:false,result:tt(n,o,"stale")}}}function St(e,n){let o=Yc(n);return o.conversationId===""?{ok:false,result:tt(e,o,"failed",Fr(e,o))}:{ok:true,conversation:o}}async function es(e,n,o){let r=St("set-remark",n);if(!r.ok)return r.result;let{conversation:s}=r,c=await rt(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{emails:Object.freeze([...o.emails])},...o.phones===void 0?{}:{phones:Object.freeze(o.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 ns(e,n){let o=St("block",n);if(!o.ok)return o.result;let{conversation:r}=o,s=await rt(e,"block",r,c=>c.contacts.blockUser(r.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:r,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ts(e,n,o){let r=St("report",n);if(!r.ok)return r.result;let{conversation:s}=r,c=o.trim();if(c==="")return tt("report",s,"failed",Fr("report",s));let m=await rt(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 rs(e,n){let o=St("delete-friendship",n);if(!o.ok)return o.result;let{conversation:r}=o,s=await rt(e,"delete-friendship",r,c=>c.contacts.deleteFriendship(r.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:r,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function os(e,n){let o=n.trim();if(o==="")return tt("search-user",null,"failed",Fr("search-user",null));let r=await rt(e,"search-user",null,m=>m.contacts.searchUser(o));if(!r.ok)return !r.result.ok&&!r.result.stale&&r.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}):r.result;let s=r.value,c=s===null?null:Zc(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 as(e,n){let o=St("resolve-application-target",n);if(!o.ok)return o.result;let{conversation:r}=o,s=await rt(e,"resolve-application-target",r,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(r.conversationId),c.contacts.getRelationship(r.conversationId)]);if(m===null)return null;if(m.userId!==r.conversationId)throw Fr("resolve-application-target",r);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:r,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function is(e,n,o){let r=St("request-friendship",n);if(!r.ok)return r.result;let{conversation:s}=r,c=await rt(e,"request-friendship",s,m=>m.contacts.requestFriendship(s.conversationId,Object.freeze({message:o.message,...o.remark===void 0?{}:{remark:o.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 Xt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function ru(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ou(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:r!==null&&ru(r.category)?r.category:"state",operation:`group-member-management.${n}`,retryable:r?.retryable===true,conversation:o})}function Tt(e,n,o,r){return Object.freeze({ok:false,operation:e,conversation:n,outcome:o,stale:o==="stale",projectionUpdated:false,refreshRequired:false,...r===void 0?{}:{error:r}})}function Yt(e,n){return Tt(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 au(e,n,o){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:o.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:o.availability==="unknown",conversation:n})}function iu(e,n,o,r){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return s.value.canInviteMembers;if(o==="remove-member")return s.value.canManageMembers;if(o==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!r?c:s.value.canTransferOwnership}function su(e,n,o,r=false){let s=Xt(o);if(s.conversationId==="")return {ok:false,result:Yt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Tt(n,s,"not-ready")};let m=e.getGeneration(),g=iu(c,s,n,r);return g.availability!=="available"?{ok:false,result:Tt(n,s,"not-allowed",au(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Kr(e,n,o,r,s=false){let c=su(e,n,o,s);if(!c.ok)return c.result;try{let m=await r(c.captured);return c.captured.isCurrent()?m:Tt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Tt(n,c.captured.conversation,"stale");let g=ou(m,n,c.captured.conversation),E=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Tt(n,c.captured.conversation,E,g)}}function lu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ss(e,n,o){let r=Xt(n),s=lu(o);return s.length===0?Promise.resolve(Yt("invite-members",r)):Kr(e,"invite-members",r,async({client:c})=>(await c.groups.inviteMembers(r,s),Object.freeze({ok:!0,operation:"invite-members",conversation:r,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ls(e,n,o){let r=Xt(n),s=o.trim();return s===""?Promise.resolve(Yt("remove-member",r)):Kr(e,"remove-member",r,async({client:c})=>(await c.groups.removeMember(r,s),Object.freeze({ok:!0,operation:"remove-member",conversation:r,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function cs(e,n,o){let r=Xt(n),s=o.trim();return s===""?Promise.resolve(Yt("transfer-ownership",r)):Kr(e,"transfer-ownership",r,async({client:c})=>(await c.groups.transferOwnership(r,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:r,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function us(e,n,o={}){let r=Xt(n),s=o.newOwnerId?.trim();return o.newOwnerId!==void 0&&s===""?Promise.resolve(Yt("leave",r)):Kr(e,"leave",r,async({client:c})=>(await c.groups.leave(r,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:r,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function No(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ds(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:r!==null&&cu(r.category)?r.category:"state",operation:`group-profile.${n}`,retryable:r?.retryable===true,conversation:o})}function ln(e,n,o,r){return Object.freeze({ok:false,operation:e,conversation:n,outcome:o,stale:o==="stale",projectionUpdated:false,refreshRequired:false,...r===void 0?{}:{error:r}})}function uu(e,n,o){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:o.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:o.availability==="unknown",conversation:n})}function du(e,n,o){let r=e.capabilities.get(n);return r.conversationType!=="group"||r.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="update-verification"?r.value.canUpdateVerification:o==="set-my-nickname"?r.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:r.value.membership==="unknown"?"unknown":"unavailable",reason:r.value.membership==="unknown_restricted"?"unknown-restricted":r.value.membership}):r.value.canEditProfile}function fs(e,n,o){let r=No(o);if(r.conversationId==="")return {ok:false,result:ln(n,r,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:r}))};let s=e.getProductClient();if(s===null)return {ok:false,result:ln(n,r,"not-ready")};let c=e.getGeneration(),m=du(s,r,n);return m.availability!=="available"?{ok:false,result:ln(n,r,"not-allowed",uu(n,r,m))}:{ok:true,captured:Object.freeze({client:s,conversation:r,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Ho(e,n,o,r){let s=fs(e,n,o);if(!s.ok)return s.result;try{let c=await r(s.captured);return s.captured.isCurrent()?c:ln(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?ln(n,s.captured.conversation,"failed",ds(c,n,s.captured.conversation)):ln(n,s.captured.conversation,"stale")}}function ms(e,n,o){let r=o.trim();if(r===""){let s=No(n);return Promise.resolve(ln("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 Ho(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,r),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ps(e,n,o){let r=o.trim();if(r===""){let s=No(n);return Promise.resolve(ln("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 Ho(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,r),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function vs(e,n,o,r){return Ho(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,o,r),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function gs(e,n,o){let r=fs(e,"update-avatar",n);if(!r.ok)return r.result;let{captured:s}=r;try{await s.client.groups.updateAvatar(s.conversation,o);}catch(c){return s.isCurrent()?ln("update-avatar",s.conversation,"failed",ds(c,"update-avatar",s.conversation)):ln("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return ln("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return ln("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}):ln("update-avatar",s.conversation,"stale")}}function fu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function mu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:fu(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 Is(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function hs(e,n,o={}){let r=e.ensureProductClient(),[s,c]=await Promise.all([o.forceRefresh===true?r.contacts.getProfile(n.conversationId,o):r.contacts.getProfile(n.conversationId),r.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function ys(e,n){let o=await e.getClient()?.group.peekProfile(n.conversationId)??null;return o===null?null:mu(n,o.value)}function bs(e,n,o){return e.ensureProductClient().groups.getProfile(n,o)}async function Cs(e,n){let o=n.trim();if(o==="")return Object.freeze([]);let r=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await r.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await r.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(z=>z.userId===o)&&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 Rs(e,n){let o=await e.getClient()?.group.peekMembers(n.conversationId)??null;return o===null?null:Object.freeze({items:Is(o.value),stale:o.stale})}async function Ps(e,n){let o=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return o===null?null:Is(o)}async function ks(e,n,o){let r=await e.ensureProductClient().channels.getProfile(n,o);if(r===null)return null;if(r.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...r,canViewMembers:r.permissions.manageMembers===true||r.memberPrivateChatDisabled===false})}function Ms(e,n,o){let r=e.ensureProductClient(),s=n==="individual"?r.contacts:n==="group"?r.groups:r.channels;return o===void 0?s.listFirstPage():s.listNextPage(o)}function Os(e,n){return e.ensureProductClient().directory.search(n)}async function Ss(e,n,o){let r=e.getClient();if(r===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=o.query?.trim()??"",c=s===""?await r.channel.listMembers({channelId:n.conversationId,cursor:o.cursor,limit:18}):await r.channel.searchMembers({channelId:n.conversationId,query:s,cursor:o.cursor,limit:18});return Lo(c)}function Lo(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 Ts(e,n,o,r={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=o.trim();if(c==="")return null;let g=(await s.channel.getMembersByIds(n.conversationId,[c],r.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 Uo(e,n,o){let r=e.getClient();if(r===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=o?.trim()??"",c=await r.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Lo(c)}async function Es(e,n,o){let r=e.getClient();if(r===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=o?.trim()??"";return Lo(await r.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function qo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Vo(e,n,o){let r=await e.ensureProductClient().channels.mentions.getCachedPage(n,o);return r===null?null:qo(r)}async function js(e,n,o){let r=e.ensureProductClient().channels.mentions,s=o?.trim()??"",c=s===""?await r.refreshFirstPage(n):await r.refreshSearchFirstPage(n,s);return qo(c)}async function ws(e,n,o){let r=e.ensureProductClient().channels.mentions,s=n.trim()===""?await r.listNextPage(o):await r.searchNextPage(o);return qo(s)}function xs(e,n){let o=e.map(s=>`${s.kind}:${s.id}`),r=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;r.has(c)||o.push(c),r.set(c,s);}return Object.freeze(o.map(s=>r.get(s)))}var gu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Iu=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"]),As=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 ne(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ot(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Nr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Un(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function at(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 Zt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function hu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ye(e,n,o){let r=typeof e=="object"&&e!==null?e:null;return r!==null&&typeof r.code=="string"&&hu(r.category)?Object.freeze({code:r.code,category:r.category,operation:n,retryable:r.retryable===true,...o===void 0?{}:{conversation:Se(o)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...o===void 0?{}:{conversation:Se(o)}})}function Hr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function yu(e){return defineStore("k2-im-profile-directory",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),E$1=ref(false),S=shallowRef(null),z=shallowRef([]),w=ref(false),U=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),Y=shallowRef(null),me=reactive({individual:Hr(),group:Hr(),channel:Hr()}),K=ref(""),P=shallowRef(null),j=ref(false),B=shallowRef(null),b=shallowRef(null),T=shallowRef([]),N=ref(""),Z=ref(false),fe=ref(false),Ce=shallowRef(null),ke=shallowRef(null),se=shallowRef(null),V=ref(false),ce=shallowRef(null),de=shallowRef(null),ye=shallowRef([]),Ae=ref(""),Me=ref(false),Ee=ref(false),F$1=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,ct=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,H=new Map,te=0,Oe=new Set,De=new Map,we=new Map,Ne=0,Be=0,Ze=0,On=new Map,Je=new Map,He=new Map,hn=new Map,en=new Map,Xe=new Map,yn=new Map,xn=ref(0),ut={individual:0,group:0,channel:0},Bn=new Map,$n=0,Sn,An,zn,Tn=0,un,dn,Pn,bn=0,Cn,nn,tn;function co(a){return s.value[a.conversationId]??0}function uo(a,i,t){r.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 rr(a,i){r.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function fo(a){return r.value,F(n.getSenderProfileCache(),a)}function or(a,i){return ua(n,a,i)}function dt(a,i){return va$1(n,a.conversationId,i)}function ft(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 mt(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 Gn(a,i){let t=a.conversationId.trim();t!==""&&(mt(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function ar(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 ir(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Gt(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 sr(a,i,t={}){let l=en.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map($=>$.userId)),f=new Map(l),x=i.map($=>{let ee=l.get($.userId);return ee===void 0?$:(t.reconcile===true&&ee===$.nickname&&f.delete($.userId),Object.freeze({...$,nickname:ee}))});if(t.reconcile===true)for(let $ of f.keys())u.has($)||f.delete($);return f.size===0?en.delete(a):en.set(a,f),Object.freeze(x)}function Dt(a,i){let t=en.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&en.delete(a));}function pt(a,i){let t=Xe.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=Xe.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),$=l?.get(f.userId),ee=u!==void 0&&f.userId===u;if(x===void 0&&$===void 0&&!ee)return f;let{nickname:xe,...vn}=f;return Object.freeze({...vn,...x===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:x.nickname===""?{}:{nickname:x.nickname},displayName:x?.displayName??f.displayName,role:ee?"owner":$??f.role})}))}function lr(a,i){let t=Xe.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&&Xe.delete(a),l&&(xn.value+=1);}function d(a,i){let t=Xe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Xe.delete(a),xn.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&&ne(u,a)}async function M(a,i={}){let t=Se(a),l=++ge,u=ve.direct,f=n.getGeneration(),x=!ne(c.value,t);c.value=t,x&&(m.value=null,g.value="unknown"),E$1.value=true,S.value=null;try{let $=await hs(n,t,i);return C$1(t,f,l,u)?(m.value=$.profile,g.value=$.relationship,E$1.value=!1,$.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($){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let ee=Ye($,"profile.direct",t);return S.value=ee,E$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:ee})}}async function A$1(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 $=await Lt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!$.ok)return Object.freeze({ok:false,reason:"channel-profile",result:$});if(f=ne(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,U.value=null;try{let u=await Cs(n,i.conversationId);return !ne(c.value,i)||l!==n.getGeneration()||t!==G?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(z.value=u,w.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!ne(c.value,i)||l!==n.getGeneration()||t!==G)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ye(u,"profile.direct-mutual-groups",i);return U.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 be(a,i){let t=Se(a),l=le("set-remark"),u=await es(n,t,i);if(!oe("set-remark",l)||!ne(c.value,t))return ot("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($=>Object.freeze({countryCode:$.countryCode,mobile:$.mobile})))}})),Object.freeze({...u,projectionUpdated:x})}async function Re(a){let i=Se(a),t=le("block"),l=await ns(n,i);return !oe("block",t)||!ne(c.value,i)?ot("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 ts(n,t,i);return !oe("report",l)||!ne(c.value,t)?ot("report",t):u}async function Ue(a){let i=Se(a),t=le("delete-friendship"),l=await rs(n,i);return !oe("delete-friendship",t)||!ne(c.value,i)?ot("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 os(n,a);return oe("search-user",i)?t:ot("search-user",t.conversation)}async function $e(a){let i=Se(a),t=le("resolve-application-target"),l=await as(n,i);return oe("resolve-application-target",t)?l:ot("resolve-application-target",i)}async function an(a,i){let t=Se(a),l=le("request-friendship"),u=await is(n,t,i);return oe("request-friendship",l)?u:ot("request-friendship",t)}function Dn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function _n(a,i){y[a]+=1;let t=n.getGeneration(),l=ve.group,u=Dn(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 fn(a,i){let t=ue.get(i.key)??0;t<=1?ue.delete(i.key):ue.set(i.key,t-1),ca(a);}function _t(a,i){return !L&&n.getGeneration()===i.generation&&ve.group===i.resetEpoch&&y[a]===i.epoch}function Ft(a,i){let t=n.getGeneration(),l=ve.group;return i!==void 0?(ue.get(Dn(a,i,t,l))??0)>0:Object.keys(y).some(u=>(ue.get(Dn(a,u,t,l))??0)>0)}async function _e(a,i){let t=Se(a),l=i.trim(),u=_n("update-name",t);try{let f=await ms(n,t,l);if(!_t("update-name",u)||!ne(R.value,t))return Nr("update-name",t);if(!f.ok)return f;let x=I.value!==null;return x&&Ll(t,l),Object.freeze({...f,projectionUpdated:x})}finally{fn(t,u);}}async function sn(a,i){let t=Se(a),l=_n("update-avatar",t);try{let u=await gs(n,t,i);if(!_t("update-avatar",l)||!ne(R.value,t))return Nr("update-avatar",t);if(!u.ok)return u;let f=I.value!==null&&u.avatar!==void 0;return f&&Ul(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{fn(t,l);}}async function Fn(a,i){let t=Se(a),l=i.trim(),u=_n("set-my-nickname",t);try{let f=await ps(n,t,l);if(!_t("set-my-nickname",u)||!ne(R.value,t))return Nr("set-my-nickname",t);if(!f.ok)return f;let x=_.value.some($=>$.userId===f.memberId);return ha(t,f.memberId,l),za(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:x})}finally{fn(t,u);}}async function Kn(a,i,t){let l=Se(a),u=i===4?t?.trim():void 0,f=_n("update-verification",l);try{let x=await vs(n,l,i,u);if(!_t("update-verification",f)||!ne(R.value,l))return Nr("update-verification",l);if(!x.ok)return x;let $=I.value!==null;return $&&ql(l,i,u),Object.freeze({...x,projectionUpdated:$})}finally{fn(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=++ct;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),ma(a.conversation);}function Fe(a){return !L&&n.getGeneration()===a.generation&&ve.channel===a.resetEpoch&&Ge.get(a.key)===a.epoch}function mn(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 sa(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 ul(a,i){let t=Se(a);if(pn(t))return at("update-name",t);let l=i.trim(),u=Rn("update-name",t);try{let f=await Bi(n,t,l);if(!Fe(u)||!ne(O.value,t))return Un("update-name",t);if(!f.ok)return f;let x=k.value!==null;return x&&Ca(t,l),Object.freeze({...f,projectionUpdated:x})}finally{kn(u);}}async function dl(a,i){let t=Se(a);if(pn(t))return at("update-description",t);let l=i.trim(),u=Rn("update-description",t);try{let f=await $i(n,t,l);if(!Fe(u)||!ne(O.value,t))return Un("update-description",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 fl(a,i){let t=Se(a);if(pn(t))return at("update-avatar",t);let l=Rn("update-avatar",t);try{let u=await Wi(n,t,i);if(!Fe(l)||!ne(O.value,t))return Un("update-avatar",t);if(!u.ok)return u;let f=k.value!==null;return f&&Pa(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{kn(l);}}async function ml(a,i){let t=Se(a),l=i.trim(),u=Rn("set-my-nickname",t,n.getCredentials().userId);try{let f=await Qi(n,t,l);return !Fe(u)||!ne(O.value,t)?Un("set-my-nickname",t):f.ok?(bo(t,f.memberId,l,l),sa(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{kn(u);}}async function pl(a,i,t){let l=Se(a);if(pn(l))return at("set-member-nickname",l);let u=i.trim(),f=t.trim(),x=ko(l,u),$=Rn("set-member-nickname",l,u);try{let ee=await Ji(n,l,u,x?.role??"unknown",f);return !Fe($)||!ne(O.value,l)?Un("set-member-nickname",l):ee.ok?(bo(l,ee.memberId,f,f),sa(l,ee.memberId,f),Object.freeze({...ee,projectionUpdated:!0})):ee}finally{kn($);}}async function vl(a,i,t){let l=Se(a);if(pn(l))return at("update-verification",l);let u=i===4?t?.trim():void 0,f=Rn("update-verification",l);try{let x=await Xi(n,l,i,u);if(!Fe(f)||!ne(O.value,l))return Un("update-verification",l);if(!x.ok)return x;let $=k.value!==null;return $&&ka(l,i,u),Object.freeze({...x,projectionUpdated:$})}finally{kn(f);}}async function gl(a,i){let t=Se(a);if(pn(t))return at("set-all-muted",t);let l=Rn("set-all-muted",t);try{let u=await Yi(n,t,i);if(!Fe(l)||!ne(O.value,t))return Un("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 Il(a,i){let t=Se(a);if(pn(t))return at("set-member-private-chat-disabled",t);let l=Rn("set-member-private-chat-disabled",t);try{let u=await Zi(n,t,i);if(!Fe(l)||!ne(O.value,t))return Un("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 hl(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 cr(a,i,t){let l=n.getGeneration(),u=W[a],f=po(i,a,l,u),x=hl(i,a,t,l,u),$=++ie;return X.set(x,$),Ie.set(f,(Ie.get(f)??0)+1),Object.freeze({actionEpoch:$,actionKey:x,generation:l,resetEpoch:u,writeKey:f})}function ur(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),ca(a);}function dr(a,i){return !L&&n.getGeneration()===i.generation&&W[a]===i.resetEpoch&&X.get(i.actionKey)===i.actionEpoch}function fr(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 yl(a,i){let t=i.trim();t!==""&&Je.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function bl(a,i){if(i===null||i.isInGroup===false)return Je.delete(a.conversationId),i;let t=Je.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Je.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function la(a){ne(R.value,a)&&ht(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!ne(R.value,a)||mr(a);});}function Kt(a){ne(R.value,a)&&Ht(a,{forceRefresh:true});}function ca(a){Ft(a)||fr(a)||(re.delete(a.conversationId)&&Kt(a),he.delete(a.conversationId)&&So(a));}function mr(a){ne(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 Cl(a,i){let t=Se(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=cr("invite-members",t,l);try{let f=await ss(n,t,i);if(!dr("invite-members",u))return it("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&ne(R.value,t)&&Kt(t),f;if(!ne(R.value,t))return it("invite-members",t);let x=f.memberIds.some($=>ba(t,$));for(let $ of f.memberIds)Io(t,$);return la(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{ur(t,u);}}async function Rl(a,i){let t=Se(a),l=cr("remove-member",t,i.trim());try{let u=await ls(n,t,i);if(!dr("remove-member",l))return it("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&ne(R.value,t)&&Kt(t),u;if(!ne(R.value,t))return it("remove-member",t);let f=_.value.some(x=>x.userId===u.memberId);return go(t,u.memberId),la(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{ur(t,l);}}async function Pl(a,i){let t=Se(a),l=cr("transfer-ownership",t,"group-owner");try{let u=await cs(n,t,i);if(!dr("transfer-ownership",l))return it("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&ne(R.value,t)&&Kt(t),u;if(!ne(R.value,t))return it("transfer-ownership",t);yl(t,u.ownerId);let f=I.value,x=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:u.ownerId})),Kt(t),Object.freeze({...u,projectionUpdated:x,refreshRequired:!1})}finally{ur(t,l);}}async function kl(a,i={}){let t=Se(a),l=cr("leave",t,"membership");try{let u=await us(n,t,i);if(!u.ok&&!dr("leave",l))return it("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&ne(R.value,t)&&await Ht(t,{forceRefresh:!0}),u;ho(t),Aa(n,t.conversationId,{clearCachedNames:!0}),Je.delete(t.conversationId);let f=ne(R.value,t)&&(I.value!==null||_.value.length>0);return ne(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{ur(t,l);}}function Ml(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function ua$1(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function vt(a,i,t){let l=n.getGeneration(),u=gn[a],f=Ml(i,a,t,l,u),x=ua$1(i,a,l,u),$=++te;return In.set(f,$),H.set(x,(H.get(x)??0)+1),Object.freeze({actionEpoch:$,actionKey:f,conversation:Se(i),writeKey:x,generation:l,resetEpoch:u})}function gt(a){let i=H.get(a.writeKey)??0;i<=1?H.delete(a.writeKey):H.set(a.writeKey,i-1),In.get(a.actionKey)===a.actionEpoch&&In.delete(a.actionKey),ma(a.conversation);}function It(a,i){return !L&&n.getGeneration()===i.generation&&gn[a]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function pr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(u=>(H.get(ua$1(a,u,t,gn[u]))??0)>0)}function vr(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 Ol(a,i){let t=i.trim();t!==""&&hn.set(a.conversationId,{ownerId:t});}function pn(a){let i=hn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function da(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 Sl(a){return !ne(O.value,a)||k.value===null?false:(k.value=da(a,k.value),true)}function Tl(a){ne(b.value,a)&&Oo(a,{preserveExisting:true});}function Nt(a){ne(O.value,a)&&Lt(a,{forceRefresh:true});}function gr(a){Nt(a),Tl(a);}function El(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 fa(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 ma(a){if(mn(a)||pr(a))return;Oe.delete(a.conversationId)&&Ea(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?Gn(a,t):mt(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&ft(a,t,{forceRefresh:true}),yr(a);}function jl(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 pa(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 wl(a,i){let t=Se(a);if(pn(t))return Zt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=vt("invite-members",t,l);try{let f=await _i(n,t,i);if(!It("invite-members",u))return Mn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!ne(O.value,t))return Mn("invite-members",t);let x=f.memberIds.some($=>Po(t,$));for(let $ of f.memberIds)Ro(t,$);return Gn(t,f.memberIds),fa(t,f.memberIds),gr(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{gt(u);}}async function xl(a,i){let t=Se(a);if(pn(t))return Zt("remove-member",t);let l=vr(t,i),u=vt("remove-member",t,i.trim());try{let f=await Fi(n,t,l??{userId:i,role:"unknown"});if(!It("remove-member",u))return Mn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!ne(O.value,t))return Mn("remove-member",t);let x=jl(t,f.memberId),$=T.value.some(ee=>ee.userId===f.memberId)||ye.value.some(ee=>ee.userId===f.memberId)||x;return Co(t,f.memberId),Gn(t,[f.memberId]),fa(t,[f.memberId]),gr(t),Object.freeze({...f,projectionUpdated:$,refreshRequired:!1})}finally{gt(u);}}async function Al(a,i,t){let l=Se(a),u=vr(l,i),f=t?"add-admin":"remove-admin";if(pn(l))return Zt(f,l);let x=vt(f,l,i.trim());try{let $=t?await Ni(n,l,u??{userId:i,role:"unknown"}):await Hi(n,l,u??{userId:i,role:"unknown"});if(!It(f,x))return Mn(f,l);if(!$.ok)return $.outcome!=="stale"&&Nt(l),$;if(!ne(O.value,l))return Mn(f,l);let ee=t?"admin":"member",xe=u?.role!==ee;return Wn(l,$.memberId,ee),gr(l),Object.freeze({...$,projectionUpdated:xe,refreshRequired:!1})}finally{gt(x);}}async function zl(a,i){let t=Se(a);if(pn(t))return Zt("transfer-ownership",t);let l=vr(t,i),u=vt("transfer-ownership",t,"channel-owner");try{let f=await Li(n,t,l??{userId:i,role:"unknown"});if(!It("transfer-ownership",u))return Mn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Nt(t),f;if(!ne(O.value,t))return Mn("transfer-ownership",t);Ol(t,f.ownerId);let x=Sl(t);return Wn(t,f.ownerId,"owner"),Wn(t,n.getCredentials().userId,"member"),gr(t),Object.freeze({...f,projectionUpdated:x,refreshRequired:!1})}finally{gt(u);}}async function Gl(a,i={}){let t=Se(a),l=i.newOwnerId===void 0?void 0:vr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=vt("leave",t,"membership");try{let f=await Ui(n,t,l);if(!f.ok&&!It("leave",u))return Mn("leave",t);if(!f.ok)return f;let x=ne(O.value,t)&&(k.value!==null||T.value.length>0||ye.value.length>0);return Ir(t),hn.delete(t.conversationId),pa(t),ne(O.value,t)&&br(),Object.freeze({...f,projectionUpdated:x})}finally{gt(u);}}async function Dl(a){let i=Se(a);if(pn(i))return Zt("dismiss",i);let t=vt("dismiss",i,"membership");try{let l=await qi(n,i);if(!l.ok&&!It("dismiss",t))return Mn("dismiss",i);if(!l.ok)return l;let u=ne(O.value,i)&&(k.value!==null||T.value.length>0||ye.value.length>0);return Ir(i),hn.delete(i.conversationId),pa(i),ne(O.value,i)&&br(),Object.freeze({...l,projectionUpdated:u})}finally{gt(t);}}async function Ht(a,i={}){let t=Se(a),l=++ge,u=ve.group,f=n.getGeneration(),x=!ne(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 $=i.forceRefresh===!0?null:await ys(n,t);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if($!==null&&(I.value=$),i.restricted===!0)return i.includeMembers===!0&&await ht(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 bs(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 xe=bl(t,ee);return o.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:xe?.ref.conversationId??null,name:xe?.name??null,isInGroup:xe?.isInGroup??null,verifyWay:xe?.verifyWay??null,memberCount:xe?.memberCount??null,membershipDecision:xe?.isInGroup===!0?"joined":xe?.isInGroup===!1?"not-joined":"unknown"}})),xe===null||xe.isInGroup===!1?(Be+=1,_.value=[],q.value=!1,ho(t),Aa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ht(t,{restricted:!1,forceRefresh:!0}),C$1(t,f,l,u)?(I.value=xe,J.value=!1,Object.freeze(xe===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch($){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let ee=Ye($,"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 ht(a,i={}){let t=Se(a);if(ne(R.value,t)||(R.value=t,_.value=[]),ne(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 Rs(n,t);if(L||n.getGeneration()!==u||l!==Be||!ne(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=sr(t.conversationId,x),mr(t)),i.restricted===!0||i.forceRefresh!==!0&&x!==null&&x.length>0)return q.value=!1,Object.freeze({ok:!0,operation:"group-members"});let $=await Ps(n,t);return L||n.getGeneration()!==u||l!==Be||!ne(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):($!==null&&(_.value=sr(t.conversationId,rn(On,t.conversationId,$),{reconcile:!0}),mr(t)),q.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(L||n.getGeneration()!==u||l!==Be||!ne(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let x=Ye(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 Lt(a,i){let t=Se(a),l=++ge,u=ve.channel,f=n.getGeneration(),x=!ne(O.value,t);O.value=t,x&&(k.value=null,Jn(t)),Q.value=true,Y.value=null;try{let $=await ks(n,t,i);if(!C$1(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let ee=da(t,$);return k.value=ee,ee!==null&&ne(b.value,t)&&(T.value=on(t.conversationId,T.value)),ee===null?(Ir(t),Jn()):ee.canViewMembers!==!0&&Jn(),Q.value=!1,Object.freeze(ee===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch($){if(!C$1(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let ee=Ye($,"profile.channel",t);return i?.forceRefresh===true&&(k.value=null,Jn()),Y.value=ee,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:ee})}}async function _l(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,$=n.getGeneration(),ee=ve[t.conversationType];we.set(f,x);let xe=()=>!L&&n.getGeneration()===$&&ve[t.conversationType]===ee&&we.get(f)===x&&(t.conversationType==="group"?ne(R.value,t):ne(O.value,t));try{let vn=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);return xe()?(vn.outcome==="joined"&&(t.conversationType==="group"?await Ht(t,{forceRefresh:!0}):await Lt(t,{forceRefresh:!0})),xe()?Object.freeze({ok:!0,operation:l,outcome:vn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(vn){return xe()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ye(vn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{we.get(f)===x&&we.delete(f);}}async function va(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?Bn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ut[a],x=n.getGeneration();l.loading=true,l.error=null;try{let $=await Ms(n,a,u);return L||x!==n.getGeneration()||f!==ut[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=xs(i?l.items:[],$.items),l.loaded=!0,l.exhausted=$.exhausted,l.loading=!1,$.nextPageToken===void 0?Bn.delete(a):Bn.set(a,$.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch($){if(L||x!==n.getGeneration()||f!==ut[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let ee=Ye($,`directory.${a}`);return l.error=ee,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:ee})}}function Fl(a,i=false){return va(a,i,false)}function Kl(a){return va(a,false,true)}function ga(){Sn!==void 0&&(clearTimeout(Sn),Sn=void 0),An?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),An=void 0;}async function Nl(a,i){let t=n.getGeneration();try{let l=await Os(n,a);return L||t!==n.getGeneration()||i!==$n?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!==$n)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ye(l,"directory.search");return B.value=u,j.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function vo(){$n+=1,ga(),K.value="",P.value=null,j.value=false,B.value=null,zn=void 0;}function Hl(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&&An?.keyword===t)return An.promise;if(zn?.keyword===t)return zn.promise;if(!i.immediate&&K.value===t&&P.value?.keyword===t.toLocaleLowerCase()&&B.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++$n;ga(),K.value=t,P.value=null,j.value=true,B.value=null;let u=()=>{let $=Nl(t,l);return zn={keyword:t,promise:$},$.finally(()=>{zn?.promise===$&&(zn=void 0);}),$};if(i.immediate)return u();let f,x=new Promise($=>{f=$;});return An={keyword:t,promise:x,resolve:f},Sn=setTimeout(()=>{Sn=void 0,An=void 0,u().then(f);},300),x}function Ia(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 Ll(a,i){!ne(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Ul(a,i){!ne(R.value,a)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function ql(a,i,t){if(!ne(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 ha(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),ne(R.value,a)&&(_.value=Object.freeze(_.value.map(x=>x.userId===l?Object.freeze({...x,nickname:u}):x)));}function ya$1(a,i){Dt(a.conversationId,i);}function go(a,i){let t=i.trim();if(t===""||(Dt(a.conversationId,t),ar(On,a.conversationId,t),!ne(R.value,a)))return;let l=_.value.filter(f=>f.userId!==t),u=l.length!==_.value.length;u&&(_.value=Object.freeze(l),mr(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){Dt(a.conversationId,i),ir(On,a.conversationId,i);}function ba(a,i){return Gt(On,a.conversationId,i)}function ho(a){On.delete(a.conversationId),en.delete(a.conversationId);}function Ca(a,i){!ne(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,name:i}));}function Ra(a,i){!ne(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,description:i}));}function Pa(a,i){!ne(O.value,a)||k.value===null||(k.value=Object.freeze({...k.value,avatar:i}));}function ka(a,i,t){if(!ne(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(!ne(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,$=Xe.get(a.conversationId)??new Map;$.set(u,{nickname:f,displayName:x}),Xe.set(a.conversationId,$),xn.value+=1,ne(b.value,a)&&(T.value=on(a.conversationId,T.value)),Qn(a,u)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null),ne(de.value,a)&&(ye.value=Object.freeze(ye.value.map(ee=>ee.userId===u?Object.freeze({...ee,displayName:x}):ee)));}function Wn(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),ne(b.value,a)&&(T.value=on(a.conversationId,T.value)),Qn(a,l)&&(se.value=on(a.conversationId,se.value===null?[]:[se.value])[0]??null);}function Ma(a,i){d(a.conversationId,i);}function Vl(a,i){return xn.value,Xe.get(a.conversationId)?.get(i.trim())?.nickname}function Co(a,i){let t=i.trim();if(t==="")return;let l=ne(b.value,a),u=ne(de.value,a);if(d(a.conversationId,t),h(a.conversationId,t),ar(He,a.conversationId,t),!l&&!u)return;let f=l&&T.value.some($=>$.userId===t),x=u&&ye.value.some($=>$.userId===t);l&&(T.value=Object.freeze(T.value.filter($=>$.userId!==t))),u&&(ye.value=Object.freeze(ye.value.filter($=>$.userId!==t))),Qn(a,t)&&(se.value=null),(f||x)&&ne(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),ir(He,a.conversationId,i);}function Po(a,i){return Gt(He,a.conversationId,i)}function Ir(a){He.delete(a.conversationId),yn.delete(a.conversationId),Xe.delete(a.conversationId)&&(xn.value+=1);}function En(a,i,t){return !L&&n.getGeneration()===i&&Tn===t&&ne(b.value,a)}function Qn(a,i,t,l){let u=ke.value;return !L&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ze===l)&&u!==null&&ne(u,a)&&u.userId===i}function ko(a,i){let t=i.trim();if(t!==""){if(ne(b.value,a)){let l=T.value.find(u=>u.userId===t);if(l!==void 0)return l}return Qn(a,t)?se.value??void 0:void 0}}async function Bl(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();ke.value=Object.freeze({...l,userId:u}),se.value=null,V.value=true,ce.value=null;try{let $=await Ts(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Qn(l,u,x,f)?$===null||Po(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(se.value=on(l.conversationId,[$])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch($){if(!Qn(l,u,x,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let ee=Ye($,"profile.channel-member",l);return ce.value=ee,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:ee})}finally{Qn(l,u,x,f)&&(V.value=false);}}async function Mo(a,i,t){Z.value=true,Ce.value=null;try{let l=await Es(n,a,N.value);return En(a,i,t)?(lr(a.conversationId,l.items),v(a.conversationId,l.items),T.value=on(a.conversationId,rn(He,a.conversationId,l.items)),un=l.nextCursor,fe.value=l.exhausted||l.nextCursor===void 0,Pn=void 0,Z.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=Ye(l,"profile.channel-members.refresh",a);return Pn="initial",Ce.value=u,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Oa(a){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Se(a),t=Tn,l=n.getGeneration();Z.value=true,Ce.value=null;try{let u=await Uo(n,i,N.value);return En(i,l,t)?(u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),un=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=Ye(u,"profile.channel-members.cache",i);return Pn="initial",Ce.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Sa(a){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(fe.value||un===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Se(a),t=Tn,l=n.getGeneration();Z.value=true,Ce.value=null;try{let u=await Ss(n,i,{query:N.value,cursor:un});return En(i,l,t)?(lr(i.conversationId,u.items),v(i.conversationId,u.items),T.value=on(i.conversationId,rn(He,i.conversationId,Ia(T.value,u.items))),un=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0,Pn=void 0,Z.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=Ye(u,"profile.channel-members.page",i);return Pn="more",Ce.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Jn(a=null){dn!==void 0&&(clearTimeout(dn),dn=void 0),Tn+=1,b.value=a===null?null:Se(a),T.value=[],N.value="",Z.value=false,fe.value=false,Ce.value=null,un=void 0,Pn=void 0;}function Oo(a,i={}){let t=Se(a);if(i.preserveExisting===true&&ne(b.value,t)){dn!==void 0&&(clearTimeout(dn),dn=void 0);let l=++Tn,u=n.getGeneration();return Ce.value=null,Mo(t,u,l)}return Jn(t),Oa(t)}function $l(a){let i=b.value;if(i===null)return;N.value=a,Tn+=1,T.value=[],fe.value=false,Ce.value=null,un=void 0,Z.value=false,dn!==void 0&&clearTimeout(dn);let t=Tn,l=n.getGeneration();(async()=>{try{let u=await Uo(n,i,N.value);if(!En(i,l,t))return;u!==null&&(T.value=on(i.conversationId,rn(He,i.conversationId,u.items)),un=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!En(i,l,t))return;Ce.value=Ye(u,"profile.channel-members.cache",i);}En(i,l,t)&&(dn=setTimeout(()=>{dn=void 0,Mo(i,l,t);},300));})();}function Wl(){let a=b.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Sa(a)}function Ql(){let a=b.value;return a===null||Pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Pn==="more"?Sa(a):Oa(a)}function Nn(a,i,t){return !L&&n.getGeneration()===i&&bn===t&&ne(de.value,a)}async function Ut(a,i={}){if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Se(a),l=bn,u=n.getGeneration();Me.value=true,F$1.value=null;try{let f=i.useCache===!1?null:await Vo(n,t,Ae.value||void 0);if(!Nn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ye.value=pt(t.conversationId,rn(He,t.conversationId,f.items)),Cn=f.nextPageToken,Ee.value=f.exhausted||f.nextPageToken===void 0);let x=await js(n,t,Ae.value||void 0);return Nn(t,u,l)?(ye.value=pt(t.conversationId,rn(He,t.conversationId,x.items)),Cn=x.nextPageToken,Ee.value=x.exhausted||x.nextPageToken===void 0,tn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Nn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let x=Ye(f,"profile.channel-mentions",t);return tn="initial",F$1.value=x,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:x})}}async function Ta(){let a=de.value,i=Cn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Ee.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=bn,l=n.getGeneration();Me.value=true,F$1.value=null;try{let u=await ws(n,Ae.value,i);return Nn(a,l,t)?(ye.value=pt(a.conversationId,rn(He,a.conversationId,Ia(ye.value,u.items))),Cn=u.nextPageToken,Ee.value=u.exhausted||u.nextPageToken===void 0,tn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Nn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ye(u,"profile.channel-mentions.page",a);return tn="more",F$1.value=f,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function hr(a=null,i=""){nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,de.value=a===null?null:Se(a),ye.value=[],Ae.value=i,Me.value=false,Ee.value=false,F$1.value=null,Cn=void 0,tn=void 0;}function Jl(a,i=""){return ne(de.value,a)&&Ae.value===i?(nn!==void 0&&(clearTimeout(nn),nn=void 0),bn+=1,Me.value=false,F$1.value=null,Cn=void 0,tn=void 0,Ut(a,{useCache:false})):(hr(a,i),Ut(a))}function Xl(a){let i=de.value;if(i===null)return;hr(i,a);let t=bn,l=n.getGeneration();(async()=>{try{let u=await Vo(n,i,a||void 0);if(!Nn(i,l,t))return;u!==null&&(ye.value=pt(i.conversationId,rn(He,i.conversationId,u.items)),Cn=u.nextPageToken,Ee.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Nn(i,l,t))return;F$1.value=Ye(u,"profile.channel-mentions.cache",i);}Nn(i,l,t)&&(nn=setTimeout(()=>{nn=void 0,Ut(i);},300));})();}function Yl(){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,Me.value=false,F$1.value=null,Cn=void 0,Ee.value=false,tn=void 0,Ut(a,{useCache:false}))}function Zl(){let a=de.value;return a===null||tn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):tn==="more"?Ta():Ut(a)}function So(a){ne(R.value,a)&&(dt(a,{forceRefresh:true}),ht(a,{forceRefresh:true,preserveExisting:true}));}function yr(a){ne(b.value,a)&&Oo(a,{preserveExisting:true});}async function Ea(a){if(!ne(O.value,a))return;(await Lt(a,{forceRefresh:true})).ok&&k.value?.canViewMembers===true&&yr(a);}function ec(a){if(a.type==="profile:updated"){if(a.profileType==="user")or(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(Ft(ee)||fr(ee)){re.add(ee.conversationId);return}ne(R.value,ee)?Ht(ee,{includeMembers:true,forceRefresh:true}):dt(ee,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let ee={conversationType:"channel",conversationId:a.channelId};mn(ee)||pr(ee)?Oe.add(ee.conversationId):Ea(ee);return}if(a.type==="sync:complete"){for(let ee of a.conversations)if(ee.conversationType==="group"){let xe={conversationType:"group",conversationId:ee.conversationId};ne(R.value,xe)&&So(xe);}else if(ee.conversationType==="channel"){let xe={conversationType:"channel",conversationId:ee.conversationId};(ne(O.value,xe)||ne(b.value,xe)||ne(de.value,xe))&&(Gn(xe),yr(xe));}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"&&gu.has(t)){let ee={conversationType:"group",conversationId:i.conversationId},xe=(a.source??"live")==="live",vn=t==="group_member_renamed"&&l.some(Hn=>Hn.trim()===u)&&Ft(ee,"set-my-nickname"),oc=t==="group_member_renamed"&&!vn;if(t==="group_member_renamed"){vn||xa(n,i);for(let Hn of l)vn&&Hn.trim()===u||ya$1(ee,Hn);}if(t==="group_member_joined"||t==="group_member_invited")for(let Hn of l)Io(ee,Hn);if(xe&&(t==="group_member_left"||t==="group_member_removed"))for(let Hn of l)go(ee,Hn);if(fr(ee)){he.add(ee.conversationId);return}xe&&!vn&&(oc?ne(R.value,ee)&&ht(ee,{forceRefresh:true,preserveExisting:true}):So(ee));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Iu.has(t)||!f)return;let x={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(ee=>mn(x,ee.trim()===u?"set-my-nickname":"set-member-nickname",ee)))){if(t==="channel_member_renamed")for(let ee of l)Ma(x,ee);if(t==="channel_admin_added"||t==="channel_admin_removed"){let ee=t==="channel_admin_added"?"admin":"member";for(let xe of l)Wn(x,xe,ee);}if(t==="channel_owner_transferred"){for(let xe of l)Wn(x,xe,"owner");let ee=i.body.system?.operatorId;ee!==void 0&&!l.includes(ee)&&Wn(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(pr(x)){El(x,As.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}As.has(t)?Gn(x,l):mt(x,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&ft(x,l,{forceRefresh:true}),yr(x);}}let nc=n.subscribeProfileChange(()=>{r.value+=1;}),tc=n.subscribeEvents(ec);function ja(){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,z.value=[],w.value=false,U.value=null;}function wa$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 br(){for(let a of Object.keys(gn))gn[a]+=1;H.clear(),In.clear(),qe.clear(),Ge.clear(),Oe.clear(),De.clear(),ve.channel+=1,O.value=null,k.value=null,Q.value=false,Y.value=null,Ze+=1,ke.value=null,se.value=null,V.value=false,ce.value=null,Jn(),hr();}function xa$1(){ja(),p["search-user"]+=1,p["resolve-application-target"]+=1,p["request-friendship"]+=1,wa$1(),br(),we.clear();for(let a of ["individual","group","channel"])ut[a]+=1,Object.assign(me[a],Hr());Bn.clear(),vo(),On.clear(),Je.clear(),He.clear(),hn.clear(),en.clear(),yn.clear(),pe.clear(),s.value={},Xe.size>0&&(Xe.clear(),xn.value+=1);}function rc(){L||(xa$1(),L=true,ue.clear(),Ie.clear(),X.clear(),qe.clear(),Ge.clear(),H.clear(),In.clear(),nc(),tc(),o.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:r,directRef:c,directProfile:m,directRelationship:g,directLoading:E$1,directError:S,directMutualGroups:z,directMutualGroupsLoading:w,directMutualGroupsError:U,groupRef:R,groupProfile:I,groupMembers:_,groupLoading:J,groupMembersLoading:q,groupError:D$1,channelRef:O,channelProfile:k,channelLoading:Q,channelError:Y,directories:me,directorySearchKeyword:K,directorySearchResult:P,directorySearchLoading:j,directorySearchError:B,channelMembersRef:b,channelMembers:T,channelMemberQuery:N,channelMembersLoading:Z,channelMembersExhausted:fe,channelMembersError:Ce,channelMemberDetailRef:ke,channelMemberDetail:se,channelMemberDetailLoading:V,channelMemberDetailError:ce,channelMentionsRef:de,channelMentions:ye,channelMentionQuery:Ae,channelMentionsLoading:Me,channelMentionsExhausted:Ee,channelMentionsError:F$1,resolveDisplayName:uo,resolveAvatarUrl:rr,resolvePublicNickname:fo,resolveSenderProfile:or,resolveGroupMemberProfiles:dt,resolveChannelMemberProfiles:ft,invalidateChannelMemberProfiles:mt,invalidateChannelMemberSet:Gn,channelMentionRevision:co,loadDirect:M,resolveProfileAccess:A$1,loadDirectMutualGroups:ae,setDirectContactRemark:be,blockDirectContact:Re,reportDirectContact:Ke,deleteDirectFriendship:Ue,searchDirectContact:ze,resolveDirectContactTarget:$e,requestDirectFriendship:an,loadGroup:Ht,updateGroupName:_e,updateGroupAvatar:sn,setMyGroupNickname:Fn,updateGroupVerification:Kn,isGroupProfileWritePending:Ft,inviteGroupMembers:Cl,removeGroupMember:Rl,transferGroupOwnership:Pl,leaveGroup:kl,isGroupMemberManagementPending:fr,ensureGroupMembers:ht,loadChannel:Lt,requestMembershipJoin:_l,updateChannelName:ul,updateChannelDescription:dl,updateChannelAvatar:fl,setMyChannelNickname:ml,setChannelMemberNickname:pl,updateChannelVerification:vl,setChannelAllMuted:gl,setChannelMemberPrivateChatDisabled:Il,isChannelProfileWritePending:mn,inviteChannelMembers:wl,removeChannelMember:xl,setChannelMemberAdmin:Al,transferChannelOwnership:zl,leaveChannel:Gl,dismissChannel:Dl,isChannelMemberManagementPending:pr,loadDirectory:Fl,refreshDirectory:Kl,searchDirectory:Hl,clearDirectorySearch:vo,openChannelMembers:Oo,getChannelMember:ko,loadChannelMember:Bl,setChannelMemberQuery:$l,loadMoreChannelMembers:Wl,retryChannelMembers:Ql,resetChannelMembers:Jn,updateGroupMemberNicknameProjection:ha,clearGroupMemberNicknameProjection:ya$1,removeGroupMemberProjection:go,restoreGroupMemberProjection:Io,isGroupMemberRemovedProjection:ba,clearGroupMemberProjections:ho,updateChannelNameProjection:Ca,updateChannelDescriptionProjection:Ra,updateChannelAvatarProjection:Pa,updateChannelVerificationProjection:ka,updateChannelManagementProjection:yo,updateChannelMemberDisplayNameProjection:bo,updateChannelMemberRoleProjection:Wn,clearChannelMemberDisplayNameProjection:Ma,channelMemberNicknameProjection:Vl,removeChannelMemberProjection:Co,restoreChannelMemberProjection:Ro,isChannelMemberRemovedProjection:Po,clearChannelMemberProjections:Ir,openChannelMentions:Jl,setChannelMentionQuery:Xl,loadMoreChannelMentions:Ta,refreshChannelMentions:Yl,retryChannelMentions:Zl,resetChannelMentions:hr,resetDirect:ja,resetGroup:wa$1,resetChannel:br,reset:xa$1,dispose:rc}})}var zs=new WeakMap,Lr=new WeakMap;function Bo(e=Te()){Pe(e);let n=zs.get(e);n===void 0&&(n=yu(e),zs.set(e,n));let o=n(e);return Lr.get(e)!==o&&(Lr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Lr.get(e)===o&&Lr.delete(e);})),o}function Gs(e,n,o){let r=ref({}),s=0,c=()=>false,m,g=shallowRef([]),E$1=[],S=0;function z$1(){for(;S<4&&E$1.length>0;){let D=E$1.shift();S+=1,D.run().then(D.resolve,D.reject).finally(()=>{S-=1,z$1();});}}function w(D){return new Promise((O,k)=>{E$1.push({run:D,resolve:O,reject:k}),z$1();})}function U(){s+=1,r.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()||o.activeRef?.conversationType!==D$1.ref.conversationType||o.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=o.display,K=D$1.senderId===D$1.ref.conversationId&&me?.title!==D$1.ref.conversationId?me?.title.trim()??"":"";return {name:K,avatarUrl:K===""?"":me?.avatar??"",status:K===""?"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),Y=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:Y,status:Q===""?r.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,Y=()=>Q===s&&O(),me=D[0].ref;if(me.conversationType==="robot")return;m??=Bo(e);let K=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&&r.value[b]!=="loading"&&(k||r.value[b]===void 0));if(j.length===0)return;for(let b of j)r.value[b]="loading";let B=Promise.allSettled([Promise.resolve().then(()=>Y()?me.conversationType==="group"?K.resolveGroupMemberProfiles({conversationType:"group",conversationId:me.conversationId},{forceRefresh:k}):me.conversationType==="channel"?K.resolveChannelMemberProfiles({conversationType:"channel",conversationId:me.conversationId},j,{forceRefresh:k,isCurrent:Y}):true:false)]).then(([b])=>b.status==="fulfilled"&&b.value);await Promise.all(j.map(b=>w(async()=>{if(!Y())return;let[T,N]=await Promise.allSettled([B,Promise.resolve().then(()=>K.resolveSenderProfile(b,{forceRefresh:k}))]);if(!Y())return;let Z=T.status==="rejected"||T.value===false||N.status==="rejected"||N.value===false;r.value[b]=Z?"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:U,hasRetryableSenderProfiles:J,retrySenderProfiles:q}}var Su=250,Tu=2e3;function _s(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function $o(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Wo(e,n,o){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,...o===void 0?{}:{conversation:_s(o)}})}function Eu(e){return defineStore("k2-im-search",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=Gs(e,n,r),c=ref(""),m=ref([]),g=ref(false),E=ref(false),S=ref("all"),z=ref(""),w=ref(""),U=shallowRef(null),R=false,I=0,_=0,J,q,D,O;function k(){let V=r.activeRef,ce=r.getHandle();if(!(R||V===null||ce===void 0||!$o(V,ce.ref)))return {ref:_s(V),handle:ce,generation:n.getGeneration()}}function Q(V){return !R&&n.getGeneration()===V.generation&&r.getHandle()===V.handle&&$o(r.activeRef,V.ref)}function Y(){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 K(V,ce){return ce===I&&(g.value=false),Object.freeze({ok:false,operation:V,reason:"stale"})}function P(V,ce){return V===_&&z.value===ce&&(z.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function j(V,ce,de){switch(de){case "all":return Da(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 B(V,ce){return V!==""?true:ce!=="all"&&ce!=="text"}function b(V){c.value=V,Y();let ce=++I,de=V.trim(),ye=S.value,Ae=B(de,ye);if(J=void 0,m.value=[],s.reset(),E.value=false,U.value=null,!Ae)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Me=k();return Me===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(Ee=>{let F=setTimeout(()=>{if(q?.timer===F&&(q=void 0),ce!==I||!Q(Me)){Ee(K("search",ce));return}o.record("debug","pinia","history","search-start",()=>({generation:Me.generation,conversation:Me.ref,category:ye})),j(Me,de,ye).then(L=>{if(ce!==I||!Q(Me)){Ee(K("search",ce));return}m.value=[...L.results],s.prepare(m.value,()=>Q(Me)),J=L.nextPageToken,E.value=!L.exhausted,g.value=false,Ee(Object.freeze({ok:true,operation:"search"}));}).catch(L=>{if(ce!==I||!Q(Me)){Ee(K("search",ce));return}let pe=Wo(L,"search.first-page",Me.ref);U.value=pe,g.value=false,Ee(Object.freeze({ok:false,operation:"search",reason:"failed",error:pe}));});},Su);q={timer:F,resolve:Ee};}))}function T(V){return S.value=V,(V==="image"||V==="video"||V==="voice")&&(c.value=""),b(c.value)}async function N(){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,U.value=null;try{let ye=await Ja(n,ce);return de!==I||!Q(V)?K("load-more",de):(m.value=[...m.value,...ye.results],s.prepare(m.value,()=>Q(V)),J=ye.nextPageToken,E.value=!ye.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ye){if(de!==I||!Q(V))return K("load-more",de);let Ae=Wo(ye,"search.next-page",V.ref);return U.value=Ae,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Ae})}}async function Z(V,ce){let de=k();if(de===void 0||!$o(de.ref,V))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ye=++_;me(),w.value="",z.value=ce,U.value=null;try{return !r.messages.some(Me=>Me.id===ce)&&!await r.loadAround(ce)||(await nextTick(),ye!==_||!Q(de))?P(ye,ce):(w.value=ce,Object.freeze({ok:!0,operation:"locate"}))}catch(Ae){if(ye!==_||!Q(de))return P(ye,ce);let Me=Wo(Ae,"search.locate",de.ref);return z.value="",U.value=Me,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Me})}}function fe(V){if(z.value!==V)return false;z.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="");},Tu)),true}function Ce(){_+=1,me(),z.value="",w.value="";}function ke(V){I+=1,Y(),c.value="",m.value=[],s.reset(),g.value=false,E.value=false,S.value="all",J=void 0,U.value=null,V?.preserveLocation!==true&&Ce();}function se(){R||(ke(),R=true,O?.(),O=void 0);}return O=watch(()=>r.activeRef===null?"":`${r.activeRef.conversationType}\0${r.activeRef.conversationId}`,()=>ke(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:E,category:S,locatingMessageId:z,highlightMessageId:w,error:U,search:b,setCategory:T,loadMore:N,locate:Z,completeLocation:fe,clearLocation:Ce,reset:ke,dispose:se}})}var Ds=new WeakMap,Ur=new WeakMap;function jn(e=Te()){Pe(e);let n=Ds.get(e);n===void 0&&(n=Eu(e),Ds.set(e,n));let o=n(e);return Ur.get(e)!==o&&(Ur.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Ur.get(e)===o&&Ur.delete(e);})),o}var qr=new WeakMap;function Fs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ju(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 xu(e,n){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_DELETE_FAILED",category:o!==null&&wu(o.category)?o.category:"state",operation:"conversation.deleteLocal",retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:false,conversation:Fs(n)})}function Au(e=Te()){let n=Pe(e),o=qr.get(e);if(o!==void 0&&!o.disposed)return o.coordinator;let r=n.runtime,s=r.getDiagnostics(),c=Ko(e),m=Le(e),g=et(e),E=Wt(e),S=jn(e),z={disposed:false};function w(U){let R=Fs(U);if(z.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let I=r.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})),!ju(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=xu(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(z.disposed||r.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:R});Ai(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 z.coordinator=Object.freeze({deleteLocal:w}),qr.set(e,z),je(e,()=>{z.disposed=true,qr.get(e)===z&&qr.delete(e);}),z.coordinator}var Ks=30,Gu=15,Du=20,_u=4294967295,Ns=new WeakMap;function Br(e){return typeof e=="object"&&e!==null}function At(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 Hs(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>_u)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Fu(e,n){if(!Br(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let o=At(e.url,"asset.url"),r;try{r=new URL(o);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(r.protocol!=="http:"&&r.protocol!=="https:"||r.username!==""||r.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Hs(e.width,"asset.width"),c=Hs(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:At(e.packageId,"asset.packageId"),resourceId:At(e.resourceId,"asset.resourceId"),url:o,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:At(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:o,width:s,height:c})}function nr(e,n){let o=Ns.get(e);o===void 0&&(o=new Map,Ns.set(e,o));let r=o.get(n);return r===void 0&&(r={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},o.set(n,r)),r}function Ls(e,n,o,r){let s=nr(e,n),c=++s.revision;for(let g of r)s.kindRevisions[g]+=1;s.status="pending",s.latestSnapshot=o,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,o));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 $r=new WeakMap;function er(){return reactive({loading:false,loaded:false,error:null})}function jt(e){return {sticker:e(),gif:e()}}function Us(e){return {sticker:e(),gif:e(),emoji:e()}}function qn(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 Ku(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function wt(e,n){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:o!==null&&Ku(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`expressions.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Qo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function qs(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function xt(e){return "recordId"in e?e.recordId:void 0}function Nu(e){let n=[];for(let o=0;o<e.length;o+=Ks)n.push(e.slice(o,o+Ks));return n}function Wr(e){return e==="gif"?Du:Gu}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 Jo(e,n){let o=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(r=>r.kind==="emoji"?true:We(r)!==o)].slice(0,Wr(n.kind)))}function Hu(e,n){let o=We(n);return Object.freeze([Object.freeze({...n}),...e.filter(r=>We(r)!==o)])}function Vs(e,n,o){let r=[],s=new Set;for(let c of [...o.values(),...n]){if(c.kind==="emoji")continue;let m=We(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),r.push(Object.freeze({...c})),r.length===Wr(e)))break}return Object.freeze(r)}function Bs(e){let n=new Set;return Object.freeze(e.filter(o=>n.has(o.resourceId)?false:(n.add(o.resourceId),true)))}function Zo(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 Xo(e,n,o){let r=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:Zo(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||o.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...r])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Yo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Lu(e){return defineStore("k2-im-expression",()=>{let n=Pe(e),o=n.runtime,r=n.expressionRecentPersistence,s=o.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),E=er(),S=reactive({}),z=ref({sticker:[],gif:[]}),w=jt(er),U=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),I=Us(er),_=ref({sticker:[],gif:[],emoji:[]}),J=ref([]),q=ref("idle"),D=ref(""),O=ref([]),k=ref(0),Q=er(),Y=ref(void 0),me=computed(()=>qn(E,m.value.length)),K=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,qn(h,g.value[v]?.length??0)]}))}),P=computed(()=>({sticker:qn(w.sticker,z.value.sticker.length),gif:qn(w.gif,z.value.gif.length)})),j=computed(()=>({sticker:qn(I.sticker,R.value.sticker.length),gif:qn(I.gif,R.value.gif.length),emoji:qn(I.emoji,J.value.length)})),B=computed(()=>qn(Q,O.value.length)),b=computed(()=>Y.value!==void 0),T=false,N=0,Z=0,fe={},Ce=jt(()=>0),ke=Us(()=>0),se=0,V=0,ce=0,de=0,ye=0,Ae=null,Me=null,Ee=null,F="emoji",L=new Set,pe=[],ge=null,ve=null,G=null,p=null,y=jt(()=>new Map),W=jt(()=>new Map),X=new Map,ie=new Map,ue=jt(()=>Promise.resolve());function Ie(){let d=o.getCredentials();return {client:o.ensureProductClient(),generation:o.getGeneration(),stateEpoch:N,accountId:d.userId}}function re(d){return !T&&d.client===o.getProductClient()&&d.generation===o.getGeneration()&&d.stateEpoch===N&&d.accountId===o.getCredentials().userId}function he(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function Ge(d,v,h){let C=wt(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 ct(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=ct(h);return C===null?[]:[Object.freeze({asset:C,pendingSync:y[v].has(We(C))})]}).slice(0,Wr(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 H(d,v){let h=Qo({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 te(d,v,h,C=[v]){let M=r,A=++ce,ae=Ls(M,d.accountId,h,C);ye=ae.revision;let le=ae.promise.then(()=>(re(d)&&A===ce&&In(),true),oe=>{if(!re(d)||A!==ce)return false;let be=Qo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[v].error=be,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:be.code,data:oe}})),false});return {...ae,settled:le}}function Oe(d){return Ae!==null&&en(Ae,d)}function De(d){if(G!==null)return G;let h=(async()=>{for(;re(d)&&!Oe(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 A=await Xe();if(A.ok||!re(d)||A.reason!=="stale")return}})();G=h;let C=()=>{G===h&&(G=null);};return h.then(C,C),h}function we(d,v,h){if(!re(d))return Promise.resolve();if(de+=1,r===void 0||d.accountId==="")return Ae=d,Promise.resolve();let C=gn();return Oe(d)?te(d,v,C).settled.then(()=>{}):(Ee=C,F=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],A=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"?A:ae).set(We(oe.asset),oe.asset),oe.kind==="sticker"?h=[...Jo(h,oe.asset)]:C=[...Jo(C,oe.asset)];continue}if(oe.type==="prepend-emoji"||oe.type==="prepend-emojis"){let Re=oe.type==="prepend-emoji"?[oe.entry]:oe.entries;for(let Ke of Re)Ke.kind==="emoji"&&le.set(Ke.stableKey,Ke),M=[...d(M,Ke)];continue}if(oe.type==="authoritative"){if(oe.kind==="emoji"){for(let Re of oe.items)if(Re.kind==="emoji")for(let[Ke,Ue]of le)Ue.resourceId===Re.resourceId&&le.delete(Ke);M=[...Xo(oe.items,M,new Set(le.keys()))];}else {let Re=oe.kind==="sticker"?A:ae;for(let Ue of oe.items)Ue.kind===oe.kind&&Re.delete(We(Ue));let Ke=Vs(oe.kind,oe.items,Re);oe.kind==="sticker"?h=[...Ke]:C=[...Ke];}continue}if(oe.type==="delete-assets"){let Re=new Set(oe.identities),Ke=oe.kind==="sticker"?A:ae,Ue=ze=>ze.kind==="emoji"||!Re.has(We(ze))||Ke.has(We(ze));oe.kind==="sticker"?h=h.filter(Ue):C=C.filter(Ue);continue}let be=new Set(oe.resourceIds);M=M.filter(Re=>Re.kind==="game"||!be.has(Re.resourceId)||le.has(Re.stableKey));}return {sticker:Object.freeze(h),gif:Object.freeze(C),emoji:Object.freeze(M),pendingSticker:A,pendingGif:ae,pendingEmoji:le}}function Ze(d){if(!Br(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 be=[],Re=new Map,Ke=new Set;for(let Ue of oe){if(!Br(Ue)||typeof Ue.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let ze=Fu(Ue.asset,le),$e=We(ze);Ke.has($e)||(Ke.add($e),be.length<Wr(le)&&(be.push(ze),Ue.pendingSync&&Re.set($e,ze)));}return {items:Object.freeze(be),pending:Re}},h=v("sticker",d.sticker),C=v("gif",d.gif),M=[],A=new Map,ae=new Set;for(let le of d.emoji){if(!Br(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(),be,Re=false;if(le.kind==="game"){if(le.gameType!=="dice"&&le.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(be=Yo(le.gameType),be.stableKey!==oe)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Ke=At(le.token,"emoji.token"),Ue=At(le.resourceId,"emoji.resourceId");if(typeof le.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Re=le.pendingSync,be=Object.freeze({kind:"emoji",stableKey:oe,token:Ke,resourceId:Ue});}ae.has(oe)||(ae.add(oe),M.length<14&&(M.push(be),be.kind==="emoji"&&Re&&A.set(oe,be)));}return {sticker:h.items,gif:C.items,emoji:Object.freeze(M),pendingSticker:h.pending,pendingGif:C.pending,pendingEmoji:A}}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 Je(d,v){if(r===void 0||d.accountId==="")return 0;let h=nr(r,d.accountId);return v===void 0?h.revision:h.kindRevisions[v]}function He(d){if(r===void 0||d.accountId===""||!Oe(d))return;let v=nr(r,d.accountId);if(v.revision===ye)return;let h=v.latestSnapshot===null?Ne():Ze(v.latestSnapshot),C=(M,A)=>{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(A.map(oe=>{if(oe.kind==="emoji"||oe.kind!==M)return oe;let be=We(oe);if(ae.has(be))return oe;let Re=xt(le.get(be)??oe);return Object.freeze({...oe,...Re===void 0?{}:{recordId:Re}})}))};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,A]of h.pendingSticker)y.sticker.set(M,A);for(let[M,A]of h.pendingGif)y.gif.set(M,A);for(let[M,A]of h.pendingEmoji)X.set(M,A);for(let M of ["sticker","gif"]){let A=new Set(R.value[M].flatMap(ae=>xt(ae)===void 0?[]:[xt(ae)]));_.value={..._.value,[M]:Object.freeze(_.value[M].filter(ae=>A.has(ae)))};}ye=v.revision;}async function hn(d,v,h,C){let M="hydrate-recent";I.emoji.error=null;try{let A=null,ae=0;if(r!==void 0&&d.accountId!==""){A=nr(r,d.accountId);let ze=A.latestSnapshot;if(!C&&A.status==="failed"&&ze!==null&&Ls(r,d.accountId,ze,[]),ae=A.revision,await A.tail.catch(()=>{}),v!==V||!re(d)||de!==h||A.revision!==ae)return he(M);if(!C&&A.status==="failed")return H(M,I.emoji);A.status==="saved"&&ge!==null&&A.latestSnapshot===ge&&Ee===ve&&(Ee=null,L.clear(),pe.length=0,ge=null,ve=null);}let le=r===void 0||d.accountId===""?null:await r.load(d.accountId);if(v!==V||!re(d)||de!==h||A!==null&&A.revision!==ae)return he(M);let oe;try{oe=le===null?Ne():Ze(le);}catch(ze){let $e=r?.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 be=C?null:Ee,Re=new Set(L),Ke=[...pe],Ue=be===null?oe:Be(oe,Ke);if(On(Ue),ye=ae,C){if(Ee=null,L.clear(),pe.length=0,ge=null,ve=null,A!==null){A.revision+=1;for(let ze of ["sticker","gif","emoji"])A.kindRevisions[ze]+=1;A.status="saved",A.latestSnapshot=le,A.error=null,ye=A.revision;}return Ae=d,In(),Object.freeze({ok:!0,operation:M})}if(be!==null&&r!==void 0&&d.accountId!==""){let ze=gn();ge=ze,ve=be;let $e=te(d,F,ze,[...Re]),an=await $e.settled;if(v!==V||!re(d)||de!==h||$e.coordinator.revision!==$e.revision)return he(M);if(!an)return H(M,I.emoji);Ee===be&&(Ee=null,L.clear(),pe.length=0,ge=null,ve=null);}return Ae=d,Object.freeze({ok:!0,operation:M})}catch(A){return v!==V||!re(d)?he(M):Ge(M,A,I.emoji)}}function en(d,v){return d.client===v.client&&d.generation===v.generation&&d.stateEpoch===v.stateEpoch&&d.accountId===v.accountId}function Xe(d={}){let v="hydrate-recent";if(T)return Promise.resolve(he(v));let h;try{h=Ie();}catch(be){let Re=Ge(v,be,I.emoji);return !Re.ok&&Re.reason==="failed"&&(Me=Re.error??I.emoji.error),Promise.resolve(Re)}let C=r===void 0||h.accountId===""?null:nr(r,h.accountId);if(!d.force&&Oe(h)&&Ee===null&&(C===null||(C.status==="idle"||C.status==="saved")&&C.revision===ye))return Me=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,A=de,ae=hn(h,M,A,d.force===true).then(be=>(be.ok?Me=null:be.reason==="failed"&&(Me=be.error??I.emoji.error),be)),le={context:h,stateRevision:A,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=++Z,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!==Z||!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!==Z||!re(C)?he(v):Ge(v,M,E)}finally{h===Z&&re(C)&&(E.loading=false);}}async function xn(d){let v="load-pack-items";if(T)return he(v);let h=d.trim();if(h===""){let ae=wt(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]??=er(),M=(fe[h]??0)+1;fe[h]=M;let A;try{A=Ie();}catch(ae){return Ge(v,ae,C)}C.loading=true,C.error=null;try{let ae=await A.client.expressions.packs.listItems(h);return fe[h]!==M||!re(A)?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(A)?he(v):Ge(v,ae,C)}finally{fe[h]===M&&re(A)&&(C.loading=false);}}async function ut(d){let v="load-favorites";if(T)return he(v);let h=++Ce[d],C=w[d],M;try{M=Ie();}catch(A){return Ge(v,A,C)}C.loading=true,C.error=null;try{let A=await M.client.expressions.favorites.list(d);return Ce[d]!==h||!re(M)?he(v):(Bn(d,A),C.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(A){return Ce[d]!==h||!re(M)?he(v):Ge(v,A,C)}finally{Ce[d]===h&&re(M)&&(C.loading=false);}}function Bn(d,v){for(let A of v)W[d].delete(We(A));let h=[],C=new Set;for(let A of [...W[d].values(),...v]){let ae=We(A);C.has(ae)||(C.add(ae),h.push(Object.freeze({...A})));}z.value={...z.value,[d]:Object.freeze(h)};let M=new Set(v.flatMap(A=>A.recordId===void 0?[]:[A.recordId]));U.value={...U.value,[d]:Object.freeze(U.value[d].filter(A=>M.has(A)))};}async function $n(d,v,h){let C=w[v];try{let M=await d.client.expressions.favorites.list(v);if(Ce[v]!==h||!re(d))return;Bn(v,M),C.loaded=!0;}catch(M){Ce[v]===h&&re(d)&&(C.error=wt(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 A;try{A=Ie();}catch(be){return Promise.resolve(Ge(h,be,w[d.kind]))}let ae=M?.promise.catch(()=>{})??Promise.resolve(),le=ue[d.kind].catch(()=>{}),oe=Promise.all([ae,le]).then(async()=>{if(!re(A))return he(h);let be=d.kind,Re=w[be];Re.error=null;let Ke=z.value[be].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=Qo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Re.error=ze,Object.freeze({ok:false,operation:h,reason:"failed",error:ze})}let Ue=++Ce[be];try{if(v?await A.client.expressions.favorites.add(d):await A.client.expressions.favorites.delete([Ke.recordId]),!re(A))return he(h);v?(W[be].set(C,Object.freeze({...d})),z.value={...z.value,[be]:Hu(z.value[be],d)}):(W[be].delete(C),z.value={...z.value,[be]:Object.freeze(z.value[be].filter($e=>$e.recordId!==Ke.recordId))});let ze=++Ce[be];return Ue=ze,await $n(A,be,ze),!re(A)||Ce[be]!==ze?he(h):Object.freeze({ok:!0,operation:h})}catch(ze){return !re(A)||Ce[be]!==Ue?he(h):Ge(h,ze,Re)}finally{Ce[be]===Ue&&re(A)&&(Re.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 An(d){let v=await Sn(d,true);return Object.freeze({...v,operation:"add-favorite"})}function zn(d){return Sn(d,false)}function Tn(d,v,h){if(T)return;let C=qs(v),M=new Set(U.value[d]);h??!M.has(C)?M.add(C):M.delete(C),U.value={...U.value,[d]:Object.freeze([...M])};}function un(d,v,h){if(He(h),d==="emoji"){for(let M of v)if(M.kind==="emoji")for(let[A,ae]of X)ae.resourceId===M.resourceId&&X.delete(A);R.value={...R.value,emoji:Object.freeze([...v])},J.value=Xo(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]:Vs(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,we(h,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...v])}));}async function dn(d){let v="load-recent";if(T)return he(v);let h=I[d],C=await Xe();if(!C.ok)return C.reason==="stale"?he(v):(h.error=C.error??I.emoji.error,Object.freeze({...C,operation:v}));let M=++ke[d],A;try{A=Ie();}catch(ae){return Ge(v,ae,h)}h.loading=true,h.error=null;try{let ae=Je(A,d),le=await A.client.expressions.recent.list(d);return ke[d]!==M||!re(A)?he(v):Je(A,d)!==ae?(He(A),he(v)):(un(d,le,A),Object.freeze({ok:!0,operation:v}))}catch(ae){return ke[d]!==M||!re(A)?he(v):Ge(v,ae,h)}finally{ke[d]===M&&re(A)&&(h.loading=false);}}async function Pn(d,v){if(!re(d))return;let h=++ke[v],C=I[v];C.loading=true,C.error=null;try{He(d);let M=Je(d,v),A=await d.client.expressions.recent.list(v);if(ke[v]!==h||!re(d))return;if(Je(d,v)!==M){He(d);return}un(v,A,d);}catch(M){ke[v]===h&&re(d)&&(C.error=wt(M,"load-recent"));}finally{ke[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]:Jo(R.value[h],C)},I[h].loaded=true,we(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,we(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,A=++ke[M],ae=I[M];ae.error=null;try{if(await d.client.expressions.recent.report(v),ke[M]!==A||!re(d))return he(C);if(!h)return Object.freeze({ok:!0,operation:C});try{He(d);let le=Je(d,M),oe=await d.client.expressions.recent.list(M);if(ke[M]!==A||!re(d))return he(C);if(Je(d,M)!==le)return He(d),he(C);un(M,oe,d);}catch(le){ke[M]===A&&re(d)&&(ae.error=wt(le,"load-recent"));}return Object.freeze({ok:!0,operation:C})}catch(le){return ke[M]!==A||!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:Zo(d)})):bn(h,d),tn(h,d)}function uo(d,v,h){if(T)return;let C=qs(v),M=new Set(_.value[d]);h??!M.has(C)?M.add(C):M.delete(C),_.value={..._.value,[d]:Object.freeze([...M])};}async function rr(d,v,h){let C=d==="favorites"?"delete-favorites":"delete-recent";if(T)return he(C);let M=d==="favorites"?U:_,A=d==="favorites"?Ce:ke,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 be=++A[v],Re;try{Re=h?.context??Ie();}catch(_e){return Ge(C,_e,oe)}d==="recent"&&He(Re);let Ke=d==="recent"?Je(Re,v):0,Ue=new Set(le),ze=d==="recent"?R.value[v].filter(_e=>{let sn=xt(_e);return sn!==void 0&&Ue.has(sn)}):[];oe.loading=true,oe.error=null;let $e=[],an=new Set,Dn,_n,fn=false;for(let _e of Nu(le)){if(!re(Re))return he(C);if(d==="recent"&&A[v]!==be){fn=true;break}try{d==="favorites"?await Re.client.expressions.favorites.delete(_e):await Re.client.expressions.recent.delete(_e);for(let sn of _e)an.add(sn);}catch(sn){let Fn=wt(sn,C);Dn??=Fn,$e.push(..._e);}}if(!re(Re))return he(C);if(d==="recent"&&A[v]!==be&&(fn=true),d==="recent"&&Je(Re,v)!==Ke&&(fn=true),d==="favorites"){let _e=v;z.value={...z.value,[_e]:Object.freeze(z.value[_e].filter(Kn=>Kn.recordId===void 0||!an.has(Kn.recordId)))};let sn=new Set(le),Fn=U.value[_e].filter(Kn=>!sn.has(Kn));if(U.value={...U.value,[_e]:Object.freeze([...new Set([...Fn,...$e])])},_n=++Ce[_e],await $n(Re,_e,_n),!re(Re))return he(C)}else {let _e=v;He(Re);let sn=ze.filter(Fe=>{let mn=xt(Fe);return mn!==void 0&&an.has(mn)}),Fn=new Set(sn.filter(Fe=>Fe.kind==="emoji").map(Fe=>Fe.resourceId)),Kn=new Set(sn.filter(Fe=>Fe.kind!=="emoji").map(We));_e==="emoji"&&(J.value=Object.freeze(J.value.filter(Fe=>Fe.kind==="game"||!Fn.has(Fe.resourceId)||X.has(Fe.stableKey)))),R.value={...R.value,[_e]:Object.freeze(R.value[_e].filter(Fe=>{let mn=xt(Fe);return mn===void 0||!an.has(mn)}))};let mo=new Set(le),Rn=fn?_.value[_e].filter(Fe=>!an.has(Fe)):_.value[_e].filter(Fe=>!mo.has(Fe));if(_.value={..._.value,[_e]:Object.freeze(fn?Rn:[...new Set([...Rn,...$e])])},_e==="emoji"){let Fe=R.value.emoji.filter(mn=>mn.kind==="emoji");J.value=Xo(Fe,J.value,new Set(X.keys()));}let kn=Object.freeze(_e==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Fn])}:{type:"delete-assets",kind:_e,identities:Object.freeze([...Kn])});if(we(Re,_e,kn),fn&&an.size>0&&await Pn(Re,_e),!re(Re))return he(C)}return (d==="recent"?ke[v]===be:Ce[v]===_n)&&(oe.loaded=true,(Dn!==void 0||d==="recent")&&(oe.error=Dn??null),oe.loading=false),fn?he(C):$e.length===0?Object.freeze({ok:true,operation:C}):Object.freeze({ok:false,operation:C,reason:an.size===0?"failed":"partial",error:Dn,failedRecordIds:Object.freeze($e)})}function fo(d){let v="delete-favorites";if(T)return Promise.resolve(he(v));let h=Object.freeze([...U.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 A=ue[d].catch(()=>{}).then(()=>re(C)?rr("favorites",d,{context:C,selected:h}):he(v));return ue[d]=A.then(()=>{},()=>{}),A}function or(d){return rr("recent",d)}function dt(d,v){let h=++se;return q.value=d,D.value=v,O.value=[],k.value=0,Y.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,h}async function ft(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:Y.value,loaded:Q.loaded},M=dt(d,v),A=()=>{q.value=C.mode,D.value=C.query,O.value=C.items,k.value=C.totalCount,Y.value=C.nextOffset,Q.loaded=C.loaded;},ae;try{ae=Ie();}catch(le){return A(),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=Bs(le.items),k.value=le.totalCount,Y.value=le.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:h}))}catch(le){return M!==se||!re(ae)?he(h):(A(),Ge(h,le,Q))}finally{M===se&&re(ae)&&(Q.loading=false);}}function mt(){return ft("trending","")}function Gn(d){if(T)return Promise.resolve(he("load-giphy"));let v=d.trim();return v===""?(dt("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):ft("search",v)}async function ar(){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"||Y.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let v=++se,h=q.value,C=D.value,M=Y.value,A;try{A=Ie();}catch(ae){return Ge(d,ae,Q)}Q.loading=true,Q.error=null;try{let ae=h==="trending"?await A.client.expressions.giphy.trending({offset:M}):await A.client.expressions.giphy.search(C,{offset:M});return v!==se||!re(A)?he(d):(O.value=Bs([...O.value,...ae.items]),k.value=ae.totalCount,Y.value=ae.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ae){return v!==se||!re(A)?he(d):Ge(d,ae,Q)}finally{v===se&&re(A)&&(Q.loading=false);}}async function ir(d){return Gt([d])}async function Gt(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(A){return Ge(v,A,I.emoji)}let C=Object.freeze(d.map(A=>Object.freeze({...A,stableKey:Zo(A)})));if(!Cn(h,C))return he(v);let M=Object.freeze({ok:true,operation:v});for(let[A,ae]of C.entries())if(M=await tn(h,{kind:"emoji",token:ae.token,resourceId:ae.resourceId},A===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 sr(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 Dt(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 pt(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,Yo(v)),I.emoji.loaded=true,we(h,"emoji",Object.freeze({type:"prepend-emoji",entry:Yo(v)}))),C):qe()}function on(d={}){if(T)return;let v=d.preserveRecentHydrationFailure===true?Me:null;N+=1,Z+=1,se+=1,V+=1,ce+=1,de=0,ye=0,Ae=null,Ee=null,L.clear(),pe.length=0,ge=null,ve=null,G=null,p=null,Me=v,ie.clear(),ue=jt(()=>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;z.value={sticker:[],gif:[]},U.value={sticker:[],gif:[]};for(let h of ["sticker","gif"])Ce[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"])ke[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,Y.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function lr(){T||(on(),T=true);}return $r.set(e,Object.freeze({dispose:lr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:me,packItemStatus:K,favorites:z,favoriteStatus:P,favoriteSelection:U,recent:R,recentStatus:j,recentSelection:_,emojiRecent:J,giphyMode:q,giphyQuery:D,giphyItems:O,giphyTotalCount:k,giphyHasMore:b,giphyStatus:B,hydrateRecent:Xe,loadPacks:yn,loadPackItems:xn,loadFavorites:ut,addFavorite:An,setFavorite:Sn,unsetFavorite:zn,toggleFavoriteSelection:Tn,deleteSelectedFavorites:fo,loadRecent:dn,reportRecent:co,rememberEmoji:ir,rememberEmojis:Gt,toggleRecentSelection:uo,deleteSelectedRecent:or,loadGiphyTrending:mt,searchGiphy:Gn,loadMoreGiphy:ar,sendSticker:sr,sendGif:Dt,sendGame:pt,reset:on}})}var $s=new WeakMap,Vr=new WeakMap;function Uu(e=Te()){Pe(e);let n=$s.get(e);n===void 0&&(n=Lu(e),$s.set(e,n));let o=n(e),r=$r.get(e);if(r===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Vr.get(e)!==o&&(Vr.set(e,o),je(e,()=>{r.dispose(),o.$dispose(),Vr.get(e)===o&&(Vr.delete(e),$r.get(e)===r&&$r.delete(e));})),o}var Qr=new WeakMap;function Qs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Jr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function qu(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Vu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Bu(e,n){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:o!==null&&Vu(o.category)?o.category:"state",operation:"history.returnAfterSend",retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:false,conversation:Qs(n)})}function $u(e=Te()){let n=Pe(e),o=Qr.get(e);if(o!==void 0&&!o.disposed)return o.coordinator;let r=n.runtime,s=r.getDiagnostics(),c=Le(e),m=jn(e),g={disposed:false};function E(I){return !g.disposed&&r.getGeneration()===I.generation&&c.getHandle()===I.handle&&Jr(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 z(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=Bu(_,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"||!Jr(I.ref,_.conversation)||(g.activeIntent=void 0,z(_));}async function U(I,_){let J=c.getHandle();if(!qu(I)||g.disposed||!c.hasNewer||J===void 0||!Jr(J.ref,I)||!Jr(c.activeRef,I))return Object.freeze({value:await _(),history:Object.freeze({status:"not-needed"})});S();let q=Qs(I),D,O=new Promise(Q=>{let Y=false;D=me=>{Y||(Y=true,Q(me));};}),k={token:Symbol("history-return-after-send"),conversation:q,handle:J,generation:r.getGeneration(),selfId:r.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=r.subscribeProductEvents(w);return g.coordinator=Object.freeze({run:U}),Qr.set(e,g),je(e,()=>{g.disposed=true,S(),R(),Qr.get(e)===g&&Qr.delete(e);}),g.coordinator}function Js(e,n,o){let r=e.bytesTransferred,s=e.bytesTotal;if(e.state!=="running"||e.phase!=="transferring"||r===void 0||s===void 0||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(o)||r<0||s<=0||r>=s)return {};let c=n===void 0||n.attempt!==e.attempt||n.bytesTotal!==s||r<n.lastBytes||o<n.lastAt||o-n.lastAt>=3e4,m=c?[{at:o,bytes:r}]:[...n.measurements];!c&&r>n.lastBytes&&o-m.at(-1).at>=1e3&&m.push({at:o,bytes:r});let g=!c&&r===n.lastBytes?n.lastAt:o;for(;m.length>1&&m[1].at<=g-5e3;)m.shift();let E=m[0],S={startedAt:E.at,startedBytes:E.bytes,lastBytes:r,lastAt:!c&&r===n.lastBytes?n.lastAt:o,bytesTotal:s,attempt:e.attempt,measurements:m},z=S.lastAt-S.startedAt,w=r-S.startedBytes;if(z<1e3||w<=0)return {sample:S};let U=w*1e3/z,R=(s-r)*1e3/U;return !Number.isFinite(U)||!Number.isFinite(R)?{sample:S}:{sample:S,estimate:{bytesPerSecond:U,estimatedRemainingMs:Math.ceil(R)}}}function oa(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Zs(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:oa(e.conversation)}})}function Ju(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Xr(e,n){return Ju(e)?Zs(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function Xu(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:oa(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(o=>Object.freeze({...o})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Zs(e.error)}})}function el(e,n){return n===void 0?e:`${e}\0${n}`}function wn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function na(e,n){if(e.status!=="sent")return;let r=(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 r===void 0||r===""||/^(?:blob|data):/i.test(r)?void 0:r}function ta(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function ra(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function Yu(e){return defineStore("k2-im-media",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),g=shallowRef({}),E=ref(false),S=false,z=0,w=null,U=-1,R,I,_=0,J,q=false,D=computed(()=>{let G=[],p=r.activeRef;for(let y of r.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=na(y,X);ie!==void 0&&G.push({key:ta(y,X),url:ie,kind:ra(y,X),message:{conversation:oa(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=z,y=U,W=_,X=D.value;if(X.length===0||n.getGeneration()!==y){E.value=false;return}let ie={};J=ie;let ue=()=>!S&&w===G&&z===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=Xr(Ie,"probeCached");c.value=re,o.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()!==U||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 Y(G,p){if(S||w===null||n.getGeneration()!==U)return;let y=ta(G,p),W=na(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===ra(G,p)?g.value[y]:void 0}function me(G,p){if(!E.value||S||w===null||n.getGeneration()!==U)return false;let y=ta(G,p),W=na(G,p),X=D.value.find(ie=>ie.key===y);return W!==void 0&&X?.url===W&&X.kind===ra(G,p)}let K=new Map,P=computed(()=>{let G={};for(let p of s.value)p.direction==="upload"&&wn(r.activeRef,p.ref)&&(G[p.messageId]=p);return G}),j=computed(()=>{let G=r.activeRef,p={};for(let y of s.value)y.direction!=="upload"||y.state!=="queued"&&y.state!=="running"&&y.state!=="paused"||!wn(G,y.ref)||(p[y.messageId]=y.state==="queued"?0:y.percent);return p}),B=computed(()=>{let G={};for(let p of s.value)p.direction==="download"&&wn(r.activeRef,p.ref)&&(G[el(p.messageId,p.itemIndex)]=p);return G}),b=computed(()=>{let G={};for(let[p,y]of Object.entries(B.value))(y.state==="queued"||y.state==="running")&&(G[p]=y.percent);return G}),T=computed(()=>{let G=r.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="queued"&&y.phase==="waiting-upload-slot"&&wn(G,y.ref)&&(p[y.messageId]=true);return p}),N=computed(()=>{let G=r.activeRef,p={};for(let y of s.value)y.direction==="upload"&&y.state==="running"&&y.phase==="finalizing"&&wn(G,y.ref)&&(p[y.messageId]=true);return p});function Z(G,p,y){if(S||w!==p||U!==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}=Js(ie,K.get(ue),X);return Ie===void 0?K.delete(ue):K.set(ue,Ie),Xu(ie,re)});for(let ie of K.keys())W.has(ie)||K.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&&U===p||(z+=1,R?.(),R=void 0,I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,w=G,U=G===null?-1:p,s.value=[],K.clear(),c.value=null,m.value=null,G===null))return;let y=false;R=G.media.subscribe(X=>{y=true,Z(X,G,p);});let W=z;I=G.media.subscribeCacheChanges(()=>{!S&&w===G&&z===W&&n.getGeneration()===p&&k();}),k(),y||Z(G.media.getSnapshot(),G,p),o.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:p}));}function Ce(){fe(n.getProductClient());}function ke(){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=z;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!==z||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:G,reason:"stale"}):Object.freeze({ok:!0,operation:G})}catch(ue){if(S||ie!==z||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:G,reason:"stale"});let Ie=Xr(ue,G);return c.value=Ie,o.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 ye(G){return se("resume",G)}async function Ae(G){let p=n.getProductClient();if(p===null)return {available:false,reason:"not-ready"};fe(p);let y=n.getGeneration(),W=z;try{let X=await p.media.getUploadRecovery(G);return S||W!==z||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!==z||n.getGeneration()!==y||w!==p?{available:false,reason:"stale"}:(c.value=Xr(X,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Me(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=z;c.value=null;try{return await W.media.resumeUpload(G,p),S||ie!==z||n.getGeneration()!==X||w!==W?Object.freeze({ok:!1,operation:y,reason:"stale"}):Object.freeze({ok:!0,operation:y})}catch(ue){if(S||ie!==z||n.getGeneration()!==X||w!==W)return Object.freeze({ok:false,operation:y,reason:"stale"});let Ie=Xr(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 Ee(G,p){let y=r.activeRef,W=s.value.find(ie=>ie.direction==="upload"&&(ie.state==="queued"||ie.state==="running"||ie.state==="paused")&&ie.messageId===G&&wn(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 wn(r.activeRef,W.ref)?X:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function F(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"||wn(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 wn(r.activeRef,ie.ref)?ue:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function L(G){let p=r.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||(z+=1,Q(),I?.(),I=void 0,_+=1,J=void 0,q=false,g.value={},E.value=false,R?.(),R=void 0,w=null,U=-1,s.value=[],K.clear(),c.value=null,m.value=null,S=true);}return {tasks:s,error:c,uploadProgress:j,uploadTasks:P,downloadTasks:B,downloadProgress:b,uploadWaiting:T,uploadFinalizing:N,replacementRequest:m,cacheAvailability:g,cachedAvailability:Y,cacheProbePending:E,cacheAvailabilityPending:me,start:Ce,reset:ke,cancel:V,retry:ce,pause:de,resume:ye,getUploadRecovery:Ae,resumeUpload:Me,cancelUpload:Ee,cancelDownload:F,requestReplacement:L,takeReplacementRequest:pe,clearReplacementRequest:ge,dispose:ve}})}var Ys=new WeakMap,Yr=new WeakMap;function Zu(e=Te()){Pe(e);let n=Ys.get(e);n===void 0&&(n=Yu(e),Ys.set(e,n));let o=n(e);return Yr.get(e)!==o&&(Yr.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),Yr.get(e)===o&&Yr.delete(e);})),o}var eo=new WeakMap,od=Object.freeze({status:"loading",message:null}),nl=Object.freeze({status:"missing",message:null});function aa(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function ia(e){let n=new Set;for(let o of e){let r=o.trim();r!==""&&n.add(r);}return [...n]}function ad(e){return defineStore("k2-im-quoted-message",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=shallowRef({}),c=new Set,m=new Set,g=0,E=new Map,S=false,z=false,w=false,U=computed(()=>{let j=new Map;for(let B of r.messages)j.set(B.id,B);return j});function R(){g+=1,c.clear(),E.clear(),m=new Set,z=false,w=false,s.value={};}let I=watch(()=>r.activeRef,R,{flush:"sync"}),_=n.subscribeEvents(j=>{S||j.type!=="connection:changed"||j.state!=="authenticated"||me();});function J(j){let B=j.trim();if(B==="")return nl;let b=U.value.get(B);return b!==void 0?Object.freeze({status:"ready",message:b}):s.value[B]??od}function q(j,B){if(j.length===0)return;let b={...s.value},T=false;for(let[N,Z]of j)!m.has(N)||U.value.has(N)||B.get(N)===(E.get(N)??0)&&(b[N]=Z,T=true);T&&(s.value=b);}async function D(j){let B=g,b=new Map(j.map(se=>[se,E.get(se)??0])),T=n.getGeneration(),N=r.getHandle(),Z=aa(r.activeRef);if(N===void 0||aa(N.ref)!==Z)return;let fe=()=>!S&&g===B&&n.getGeneration()===T&&r.getHandle()===N&&aa(r.activeRef)===Z,Ce=[],ke=[];try{let se=await Promise.all(j.map(async V=>({messageId:V,message:await N.resolveMessage(V)})));if(!fe())return;for(let{messageId:V,message:ce}of se)ce===null?ke.push(V):Ce.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),o.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:T,conversation:{...N.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(Ce,b),ke.length!==0)try{let se=await N.messages.fetchByIds(ke);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,nl]);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),o.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:T,conversation:{...N.ref},data:{requestedCount:ke.length,resolvedCount:se.messages.length,missingCount:se.missingMessageIds.length,unresolvedCount:se.unresolvedMessageIds.length,retryable:se.failure?.retryable}}));}catch(se){if(!fe())return;q(ke.map(V=>[V,Object.freeze({status:"failed",message:null,retryable:false})]),b),o.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:T,conversation:{...N.ref},data:{requestedCount:ke.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:se}}));}}function O(){let j=[];for(let B of m)U.value.has(B)||c.has(B)||s.value[B]===void 0&&j.push(B);return j}function k(){if(S)return;if(z){w=true;return}let j=O();if(j.length===0)return;let B=g;z=true;for(let b of j)c.add(b);D(j).catch(b=>{o.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(B===g){for(let b of j)c.delete(b);z=false,w&&(w=false,k());}});}function Q(j){if(S)return;m=new Set(ia(j));let B=Object.fromEntries(Object.entries(s.value).filter(([b])=>m.has(b)&&!U.value.has(b)));Object.keys(B).length!==Object.keys(s.value).length&&(s.value=B),k();}function Y(j){if(S)return;let B=ia(j).filter(T=>s.value[T]!==void 0||c.has(T)||m.has(T));if(B.length===0)return;let b={...s.value};for(let T of B)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]:ia(j)).filter(N=>{let Z=s.value[N];return Z?.status==="failed"&&Z.retryable});if(b.length===0)return;let T={...s.value};for(let N of b)delete T[N],c.delete(N),E.set(N,(E.get(N)??0)+1);s.value=T,k();}function K(){R();}function P(){S||(S=true,I(),_(),R());}return eo.set(e,Object.freeze({dispose:P})),{lookup:J,prefetch:Q,retry:me,invalidate:Y,reset:K}})}var tl=new WeakMap,Zr=new WeakMap;function id(e=Te()){Pe(e);let n=tl.get(e);n===void 0&&(n=ad(e),tl.set(e,n));let o=n(e),r=eo.get(e);if(r===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Zr.get(e)!==o&&(Zr.set(e,o),je(e,()=>{r.dispose(),o.$dispose(),Zr.get(e)===o&&(Zr.delete(e),eo.get(e)===r&&eo.delete(e));})),o}var ro=new WeakMap;function no(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function dd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function fd(e,n){return dd(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 md(e){return defineStore("k2-im-reaction",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=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 z=watch(()=>no(r.activeRef),(O,k)=>{O!==k&&S();},{flush:"sync"});function w(O,k){let Q=r.activeRef,Y=r.getHandle(),me=no(Q);if(m||Q===null||Y===void 0||no(Y.ref)!==me||!r.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 K=Symbol(O);return E.set(O,K),s.value=Object.freeze([...E.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Y,conversationKey:me,token:K}}function U(O){return !m&&O.contextEpoch===g&&O.generation===n.getGeneration()&&r.getHandle()===O.handle&&no(r.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 Y=w(O,k);if(!("handle"in Y))return Y;try{let me=await Q(Y.handle);return U(Y)?(c.value=null,o.record("debug","pinia","message",`reaction-${k}-settled`,()=>({generation:Y.generation,conversation:{...Y.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(!U(Y))return Object.freeze({ok:false,operation:k,reason:"stale"});let K=fd(me,k);return c.value=K,o.record("error","pinia","message",`reaction-${k}-settled`,()=>({generation:Y.generation,conversation:{...Y.handle.ref},messageId:O,result:{ok:false,reason:"sdk-rejected",error:K}})),Object.freeze({ok:false,operation:k,reason:"sdk-rejected",error:K})}finally{R(O,Y.token);}}function _(O,k){return I(O,"toggle",Q=>Q.messages.toggleReaction(O,k))}function J(O,k,Q){return I(O,"set",Y=>Y.messages.setReaction(O,k,Q))}function q(){S();}function D(){m||(m=true,z(),S());}return ro.set(e,Object.freeze({dispose:D})),{operatingMessageIds:s,error:c,toggle:_,set:J,reset:q}})}var rl=new WeakMap,to=new WeakMap;function pd(e=Te()){Pe(e);let n=rl.get(e);n===void 0&&(n=md(e),rl.set(e,n));let o=n(e),r=ro.get(e);if(r===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return to.get(e)!==o&&(to.set(e,o),je(e,()=>{r.dispose(),o.$dispose(),to.get(e)===o&&(to.delete(e),ro.get(e)===r&&ro.delete(e));})),o}function oo(e,n){let o=e;return Object.freeze({code:typeof o.code=="string"?o.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:o.category??"network",operation:o.operation??n,retryable:o.retryable===true})}function hd(e){let n=Te(e),o=Pe(n).runtime;return defineStore("im-session-favorites",()=>{let r=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let K=new Map;for(let P of r.value)P.msgId!==""&&P.collectId!==""&&K.set(P.msgId,P.collectId);return K}),g=false,E=0,S=0,z,w;function U(){E+=1,S+=1,r.value=[],s.value=false,c.value=null;}function R(K){return {client:K,generation:o.getGeneration(),stateEpoch:E}}function I(K){return !g&&K.client===o.getProductClient()&&K.generation===o.getGeneration()&&K.stateEpoch===E}function _(K){return m.value.get(K.trim())??""}function J(K){return _(K)!==""}async function q(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let K=++S,P;try{P=R(o.ensureProductClient()),me(P.client);}catch(j){let B=oo(j,"reload");return c.value=B,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:B})}s.value=true,c.value=null;try{let j=await P.client.sessionFavorites.list();return K!==S||!I(P)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=j,Object.freeze({ok:!0,operation:"reload"}))}catch(j){if(K!==S||!I(P))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let B=oo(j,"reload");return c.value=B,Object.freeze({ok:false,operation:"reload",reason:"failed",error:B})}finally{K===S&&I(P)&&(s.value=false);}}function D(){S+=1,s.value=false;}async function O(K){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let P;try{P=R(o.ensureProductClient()),me(P.client);let j=await P.client.sessionFavorites.addFromMessage(K);return I(P)?(D(),r.value=Object.freeze([j,...r.value.filter(B=>B.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:oo(j,"add")})}}async function k(K){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let P=[...new Set(K.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(o.ensureProductClient());if(await j.client.sessionFavorites.delete(P),!I(j))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});D();let B=new Set(P);return r.value=Object.freeze(r.value.filter(b=>!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:oo(j,"delete")})}}async function Q(K){let P=_(K);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 Y(){z?.(),z=void 0,w=void 0,U();}function me(K){if(w===K)return;z?.(),w=K;let P=R(K);z=K.events.subscribe(j=>{w===K&&I(P)&&j.type==="session-favorites:changed"&&q();});}return je(n,()=>{g=true,z?.(),z=void 0,w=void 0,U();}),{items:r,loading:s,error:c,collectIdOf:_,isFavorited:J,reload:q,addFromMessage:O,removeByCollectIds:k,removeByMessageId:Q,reset:Y}})(n)}function bd(e){return defineStore("k2-im-session",()=>{let n=Pe(e).runtime,o=ref(""),r=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({}),z=false,w=0,U="",R=n.getDiagnostics(),I=n.subscribeEvents(K=>{if(!z){if(K.type==="syncing:changed"&&(c.value=K.syncing),K.type==="receiving:changed"&&(s.value=K.receiving),K.type==="session:replaced"){w+=1,g.value="error",s.value=false,c.value=false,r.value=n.getConnectionState(),E.value="lifecycle.connectionOccupied",S.value={};return}K.type==="connection:changed"&&(r.value=K.state,K.state==="authenticated"&&(g.value="ready"));}});function _(K,P){return !z&&K===w&&n.getGeneration()===P}function J(K){if(z)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(K);}function q(K){if(z)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let P=K.session===null?"":`${K.session.userId}\0${K.session.token}`;P!==U&&(w+=1,U=P);let j=n.applySession(K.session,K.endpoints,K.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,o.value=K.session?.userId??"",m.value=n.getGeneration(),r.value=n.getConnectionState(),g.value=r.value==="authenticated"?"ready":"idle",E.value="",S.value={},R.record("info","pinia","session","session-applied",()=>({generation:m.value,...o.value===""?{}:{accountId:o.value},data:{hasToken:j.hasToken,didReset:j.didReset}})),j}async function D(K,P,j){if(z)return {ok:false,errorKey:"lifecycle.disposed"};let B=++w,b=n.getGeneration(),T=Date.now();g.value=K,E.value="",S.value={},R.record("info","pinia",P==="prepare"?"session":"connection",`${P}-start`,()=>({generation:b}));let N=await j();return _(B,b)?(m.value=n.getGeneration(),r.value=n.getConnectionState(),g.value=N.ok?r.value==="authenticated"?"ready":"idle":"error",E.value=N.errorKey??"",S.value=N.errorParams??{},R.record(N.ok?"info":"error","pinia",P==="prepare"?"session":"connection",`${P}-${N.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-T,...N.ok?{}:{error:{message:N.errorKey??`${P}-failed`,data:N.errorParams}}})),N):(R.record("debug","pinia","session",`${P}-stale-result-dropped`,()=>({generation:b,durationMs:Date.now()-T})),N)}function O(){return D("preparing","prepare",()=>n.prepare())}function k(){return D("connecting","connect",()=>n.connect())}function Q(){z||(w+=1,n.disconnect(),r.value=n.getConnectionState(),g.value="idle");}async function Y(K){if(z)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");w+=1;try{await n.logout(K);}finally{o.value="",s.value=false,c.value=false,U="",m.value=n.getGeneration(),r.value=n.getConnectionState(),g.value="idle",E.value="",S.value={};}}function me(){z||(z=true,w+=1,I(),o.value="",r.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",E.value="",S.value={});}return {accountId:o,connectionState:r,receiving:s,syncing:c,generation:m,phase:g,errorKey:E,errorParams:S,configureHost:J,applySession:q,prepare:O,connect:k,disconnect:Q,logout:Y,dispose:me,getRuntime:()=>n}})}var al=new WeakMap,ao=new WeakMap;function Cd(e=Te()){Pe(e);let n=al.get(e);n===void 0&&(n=bd(e),al.set(e,n));let o=n(e);return ao.get(e)!==o&&(ao.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),ao.get(e)===o&&ao.delete(e);})),o}function Pd(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function so(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function cl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function tr(e,n){return `${cl(e)}\0${n}`}function zt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function sl(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function kd(e){return defineStore("k2-im-thread-paging",()=>{let n=Pe(e).runtime,o=n.getDiagnostics(),r=Le(e),s=jn(e),c=ref(false),m=ref(false),g=ref(null),E=ref(null),S=false,z="",w="",U=0,R=()=>({ref:r.activeRef,generation:n.getGeneration(),olderBoundary:zt(r.messages,"older"),newerBoundary:zt(r.messages,"newer")}),I=(P,j)=>{let B=R();return !S&&j===U&&P.generation===B.generation&&so(P.ref,B.ref)&&P.ref!==null},_=P=>{(P===void 0||P==="older")&&(z="",g.value=null),(P===void 0||P==="newer")&&(w="",E.value=null);},J=()=>{U+=1,c.value=false,m.value=false,_();},q=async(P,j)=>{let B=R(),b=P==="older"?z:w,T=P==="older"?r.hasOlder:r.hasNewer;if(B.ref===null||!T||(P==="older"?c.value:m.value))return 0;let N=B.ref,Z=P==="older"?B.olderBoundary:B.newerBoundary,fe=tr(N,Z);if(P==="older"?m.value:c.value)return 0;if(!j&&b!==""&&b===fe)return o.record("debug","pinia","history",`thread-paging-${P}-circuit-open`,()=>({conversation:N,data:{boundary:Z}})),0;j&&(_(P),o.record("debug","pinia","history",`thread-paging-${P}-retry`,()=>({conversation:N})));let Ce=new Set(r.messages.map(se=>se.id)),ke=++U;P==="older"?c.value=true:m.value=true,o.record("debug","pinia","history",`thread-paging-${P}-start`,()=>({conversation:N,generation:B.generation,data:{boundary:Z,force:j}}));try{let se=P==="older"?await r.loadOlder():await r.loadNewer();if(!I(B,ke))return o.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:N,generation:B.generation,data:{side:P}})),0;if(!se)return 0;_(P);let V=r.messages.reduce((ce,de)=>ce+ +!Ce.has(de.id),0);return o.record("debug","pinia","history",`thread-paging-${P}-success`,()=>({conversation:N,generation:B.generation,data:{added:V}})),V}catch(se){if(!I(B,ke))return o.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:N,generation:B.generation,data:{side:P,outcome:"failed"}})),0;if(Pd(se))return o.record("debug","pinia","history",`thread-paging-${P}-cancelled`,()=>({conversation:N,generation:B.generation})),0;throw zt(r.messages,P)===Z&&(P==="older"?(z=fe,g.value=se):(w=fe,E.value=se),o.record("warn","pinia","history",`thread-paging-${P}-failed`,()=>({conversation:N,generation:B.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${P} \u5206\u9875\u5931\u8D25`,data:sl(se)}}))),se}finally{ke===U&&(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&&!so(r.activeRef,P))return false;s.clearLocation(),J();let j=R();if(j.ref===null)return false;let B=j.ref;if(o.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:B})),!r.hasNewer)return true;let b;try{b=await r.loadLatest();}catch(T){if(so(r.activeRef,B)&&n.getGeneration()===j.generation){let N=zt(r.messages,"newer");w=tr(B,N),E.value=T,o.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:B,generation:j.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:sl(T)}}));}throw T}return !so(r.activeRef,B)||n.getGeneration()!==j.generation?(o.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:B})),false):(_("newer"),b)},Q=watch(()=>cl(r.activeRef),()=>J(),{flush:"sync"}),Y=watch(()=>`${tr(r.activeRef,zt(r.messages,"older"))}\0${zt(r.messages,"newer")}`,()=>{let P=R(),j=tr(P.ref,P.olderBoundary),B=tr(P.ref,P.newerBoundary);z!==""&&z!==j&&_("older"),w!==""&&w!==B&&_("newer");},{flush:"sync"}),me=r.$onAction(({name:P})=>{(P==="loadLatest"||P==="loadAround"||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(),Y(),me(),J());}}})}var ll=new WeakMap,lo=new WeakMap;function Md(e=Te()){Pe(e);let n=ll.get(e);n===void 0&&(n=kd(e),ll.set(e,n));let o=n(e);return lo.get(e)!==o&&(lo.set(e,o),je(e,()=>{o.dispose(),o.$dispose(),lo.get(e)===o&&lo.delete(e);})),o}function Od(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Sd(e=Te()){let n=Le(e),o=jn(e);return Object.freeze({async returnToLatest(r){return Od(n.activeRef,r)?(o.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Or as applicationKey,sc as createAndInstallImChatKit,vi as createImChatKitContext,cc as disposeImChatKit,lc as ensureImChatKitSelfProfile,Pe as getImChatKitContext,el as imMediaDownloadKey,gi as installImChatKit,vc as useImApplicationsStore,wc as useImCapabilitiesStore,et as useImComposerStore,zc as useImConversationActivationCoordinator,Au as useImConversationDeletionCoordinator,Ko as useImConversationListStore,Uu as useImExpressionStore,$u as useImHistoryReturnAfterSendCoordinator,Zu as useImMediaStore,Wt as useImMessageOperationsStore,Bo as useImProfileDirectoryStore,id as useImQuotedMessageStore,pd as useImReactionStore,jn as useImSearchStore,hd as useImSessionFavoritesStore,Cd as useImSessionStore,Md as useImThreadPagingStore,Sd as useImThreadReturnToLatestCoordinator,Le as useImThreadStore};