k2-im 0.1.52 → 0.1.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +14 -2
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +19 -5
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-2SVEG4B4.js +1 -0
- package/dist/{chunk-YJV5ZN3V.js → chunk-AYBSQHCA.js} +1 -1
- package/dist/chunk-JCUE2QS7.js +2 -0
- package/dist/{chunk-KV7I2SAC.js → chunk-KORCFTGX.js} +5 -5
- package/dist/index.d.ts +24 -10
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +15 -7
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-JXCG3DYB.js +0 -1
- package/dist/chunk-OUXI5ZYL.js +0 -2
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {u,Ba,ra as ra$1,s,y,qa,pa,oa as oa$1,ma,la,ka,ja,ha,L,M,K,xa,Aa,za,ta as ta$1,wa,va,ua,F,D,E,C,A,Ja,d,ya,B,z,Ia,Ha,Ga,Fa,Ea,Da,c,b,k,h}from'./chunk-JXCG3DYB.js';export{t as resolveMessageNotificationDecision}from'./chunk-JXCG3DYB.js';import {a}from'./chunk-Q2DEFN53.js';import'./chunk-OUXI5ZYL.js';import'./chunk-KV7I2SAC.js';import {Ra,Oa}from'./chunk-Q6TFPZMF.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,shallowReactive,nextTick,toRaw}from'vue';function pc(e,n,r={}){let o=u(n);try{return hi(e,Ii({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function vc(e){Ba(Oe(e).runtime);}var et=new WeakMap;function Ae(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function Ii(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function hi(e,n){let r=et.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(),et.get(e)===o&&et.delete(e);}}});return o.installation=s,et.set(e,o),s}function Oe(e){let n=et.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 De(e,n){let r=et.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 gc(e){et.get(e)?.installation.dispose();}function Sr(e){return `${e.domain}:${e.applicationId}`}function hc(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 yc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&yc(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 bc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Cc(e){return defineStore("k2-im-applications",()=>{let n=Oe(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),j=computed(()=>{let O=0,G=0,S=0;for(let N of r.value)N.ref.domain==="contact"?O+=1:N.ref.domain==="group"?G+=1:S+=1;return Object.freeze({contact:O,group:G,channel:S})}),z=false,K=0,x=0,W=0,y=false,v=0,A=new Map;function V(){K+=1,x+=1,W+=1,v+=1,y=false,A.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function H(O){return {client:O,generation:n.getGeneration(),stateEpoch:K}}function F(O){return !z&&O.client===n.getProductClient()&&O.generation===n.getGeneration()&&O.stateEpoch===K}async function R(){if(z)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let O=++x,G;try{G=H(n.ensureProductClient());}catch(S){let N=Mr(S,"reload");return s.value=N,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}o.value=true,s.value=null;try{let S=await G.client.applications.listPending();return O!==x||!F(G)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...S]),Object.freeze({ok:!0,operation:"reload"}))}catch(S){if(O!==x||!F(G))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=Mr(S,"reload");return s.value=N,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}finally{O===x&&F(G)&&(o.value=false);}}function C(){if(z||y)return;y=true;let O=K,G=++v;queueMicrotask(()=>{G===v&&(y=false,!(z||O!==K)&&R());});}function L(O){(O.type==="contact-application:received"||O.type==="channel-join-application:received"||O.type==="application:updated")&&C();}let Q=n.subscribeProductEvents(L);async function ve(O,G){let S=hc(O),N=Sr(S);if(z)return Object.freeze({ok:false,operation:G,reason:"stale",application:S});let ne=++W;A.set(N,ne),c.value={...c.value,[N]:G};let{[N]:le,...me}=m.value;m.value=me;let he;try{he=H(n.ensureProductClient());}catch(se){let te=Mr(se,G);m.value={...m.value,[N]:te};let{[N]:ae,...Ce}=c.value;return c.value=Ce,A.delete(N),Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te})}let Se=()=>F(he)&&A.get(N)===ne;try{return await he.client.applications[G](S),Se()?(x+=1,o.value=!1,r.value=Object.freeze(r.value.filter(se=>Sr(se.ref)!==N)),Object.freeze({ok:!0,operation:G,application:S})):Object.freeze({ok:!1,operation:G,reason:"stale",application:S})}catch(se){if(!Se())return Object.freeze({ok:false,operation:G,reason:"stale",application:S});let te=Mr(se,G);return bc(te)?(x+=1,o.value=false,r.value=Object.freeze(r.value.filter(ae=>Sr(ae.ref)!==N)),Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te})):(m.value={...m.value,[N]:te},Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te}))}finally{if(Se()){A.delete(N);let{[N]:se,...te}=c.value;c.value=te;}}}function B(O){return ve(O,"accept")}function b(O){return ve(O,"ignore")}function $(){z||V();}function oe(){z||(z=true,Q(),V());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:j,reload:R,accept:B,ignore:b,reset:$,dispose:oe}})}var Ci=new WeakMap,Or=new WeakMap;function Rc(e=Ae()){Oe(e);let n=Ci.get(e);n===void 0&&(n=Cc(e),Ci.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}function ki(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function kc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var Ri=Object.freeze({state:"none"});function Mc(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:ki(r)}})}function Oc(e){return defineStore("k2-im-thread",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(Ri),g=shallowRef(),j=shallowRef(null),z=ref(false),K=ref(false),x=ref(false),W=ref(false),y=ref(false),v=shallowRef(null),A=ref(0),V=false,H,F=0,R=0,C,L,Q,ve,B,b=[],$=new Map,oe=new Set,O=new WeakSet,G=new WeakMap;function S(){b.length=0,A.value=0;}let N=n.subscribeEvents(T=>{if(V||T.type!=="message:received"||(T.source??"live")!=="live")return;let Y=o.value;Y===null||T.message.conversationId!==Y.conversationId||T.message.conversationType!==Y.conversationType||T.message.senderId===n.getCredentials().userId||!he(T.message)||(b.push(T.message.id),A.value+=1);});function ne(T=null){S(),o.value=T,s.value=null,c.value=[],m.value=Ri,g.value=void 0,j.value=null,z.value=T!==null,K.value=false,x.value=false,W.value=false,y.value=false,v.value=null;}function le(T){if(($.get(T)??0)>0){oe.add(T);return}T.close();}function me(){B?.(),B=void 0,ve?.(),ve=void 0;let T=Q;Q=void 0,T!==void 0&&le(T);}function he(T){if(T.body.system?.timelineVisibility==="hidden")return false;if(T.conversationType!=="channel"||T.deletedForEveryone===void 0)return true;let Y=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:T.conversationId});return Y.conversationType==="channel"&&Y.ref.conversationType==="channel"&&Y.ref.conversationId===T.conversationId&&(Y.value.role==="owner"||Y.value.role==="admin")}function Se(T,Y,ce){let we=o.value;if(V||Q!==T||n.getGeneration()!==ce||we===null||Y.ref.conversationId!==we.conversationId||Y.ref.conversationType!==we.conversationType)return false;let Fe=Y.messages.filter(he);if(kc(c.value,Fe)||(c.value=Object.freeze(Fe)),m.value=Y.entryUnread,g.value=Y.entryUnreadNavigation,Y.entryUnread.state==="located"){let Ue=Y.entryUnread.firstMessageId,We=Y.messages.findIndex(Ke=>Ke.id===Ue);if(We>=0&&!Fe.some(Ke=>Ke.id===Ue)){let Ke=Y.messages.slice(We+1).find(he);m.value=Object.freeze(Ke===void 0?{state:"unavailable"}:{...Y.entryUnread,firstMessageId:Ke.id});}}return s.value=Y.display??null,j.value=Y.draft,z.value=Y.loading,K.value=K.value||Fe.length>0||!Y.loading,x.value=Y.stale,W.value=Y.hasOlder,y.value=Y.hasNewer,v.value=Y.error??null,true}async function se(T,Y){let ce=n.ensureProductClient();return T.conversationType==="direct"?ce.openConversation({conversationType:"direct",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y}):T.conversationType==="group"?ce.openConversation({conversationType:"group",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y}):T.conversationType==="robot"?ce.openConversation({conversationType:"robot",conversationId:T.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:Y}):ce.openConversation({conversationType:"channel",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y})}async function te(T){try{let Y=n.ensureProductClient();if(Y.conversations.list().find(we=>we.ref.conversationType===T.conversationType&&we.ref.conversationId===T.conversationId)?.manuallyUnread!==!0)return;await Y.conversations.markRead(T);}catch(Y){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:T,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:Y}}));}}async function ae(T,Y){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");R+=1,C=void 0,L=void 0;let ce=ki(T);H?.abort();let we=new AbortController;H=we;let Fe=++F,Ue=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:Ue,conversation:ce}));let We;try{We=await se(ce,we.signal),!V&&Fe===F&&Ue===n.getGeneration()&&await Y?.beforeCommit?.();}catch(nn){if(We?.close(),we.signal.aborted)return;throw !V&&Fe===F&&Ue===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:Ue,conversation:ce,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Mc(nn,"thread.open",ce)}})),nn}finally{H===we&&(H=void 0);}let Ke=We;if(V||Fe!==F||Ue!==n.getGeneration()){Ke.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:Ue,conversation:ce}));return}return J(),me(),ne(ce),Q=Ke,ve=Ke.subscribe(nn=>Se(Ke,nn,Ue)),Se(Ke,Ke.getSnapshot(),Ue),ce.conversationType==="channel"&&(B=n.ensureProductClient().capabilities.subscribe(ce,()=>{!V&&Q===Ke&&n.getGeneration()===Ue&&Se(Ke,Ke.getSnapshot(),Ue);})),te(ce),r.record("debug","pinia","history","thread-open-complete",()=>({generation:Ue,conversation:ce})),Ke}function Ce(){H?.abort(),H=void 0,F+=1;}function Te(T){if(V||Q===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${T}`);return Q}function Re(T,Y,ce){return !V&&R===T&&Q===Y&&n.getGeneration()===ce}async function _(T,Y){if(C!==void 0||L!==void 0)return false;let ce=Te(T),we=n.getGeneration(),Fe=++R;C=Fe;try{return await Y(ce),Re(Fe,ce,we)?(Se(ce,ce.getSnapshot(),we),!0):!1}finally{C===Fe&&(C=void 0);}}async function U(T,Y,ce){let we=Te(T),Fe=n.getGeneration(),Ue=++R;C=void 0,L=Ue;try{if(await Y(we),!Re(Ue,we,Fe))return !1;let We=we.getSnapshot();return ce(We)?(Se(we,We,Fe),!0):!1}finally{L===Ue&&(L=void 0);}}function ge(T){return T?.skipIfLatest===true&&K.value&&!z.value&&!x.value&&v.value===null&&!y.value&&L===void 0&&C===void 0?Promise.resolve(true):U("loadLatest",Y=>Y.history.loadLatest(),Y=>!Y.hasNewer)}function ye(T){let Y=false;return U("loadEntryUnread",async ce=>{Y=await ce.history.loadEntryUnread(T);},ce=>Y&&ce.entryUnread.state==="located")}function Ie(T){let Y=G.get(T);if(Y!==void 0)return Y;let ce=T.markConversationRead().finally(()=>{G.get(T)===ce&&G.delete(T);});return G.set(T,ce),ce}function Ve(){let T=Te("markConversationRead");return O.add(T),Ie(T)}function P(T){return Te("markVisibleMessages").markVisibleMessages(T)}function J(){let T=Q;if(T===void 0||!O.has(T))return;let Y=k(T),ce=n.getGeneration(),we=G.get(T);(we===void 0?Ie(T):we.catch(()=>{}).then(()=>Ie(T))).catch(Ue=>{ce===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:T.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ue}}));}).finally(Y);}function pe(){J(),ue();}function be(){return _("loadOlder",T=>T.history.loadOlder())}function je(){return _("loadNewer",T=>T.history.loadNewer())}function Pe(T,Y){return Y?.signal?.aborted?Promise.reject(new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u53D6\u6D88","AbortError")):Y?.skipIfLoaded===true&&K.value&&!z.value&&!x.value&&v.value===null&&L===void 0&&C===void 0&&c.value.some(ce=>ce.id===T)?Promise.resolve(true):U("loadAround",ce=>Y?.signal===void 0?ce.history.loadAround(T):ce.history.loadAround(T,{signal:Y.signal}),ce=>ce.messages.some(we=>we.id===T)).then(ce=>ce?c.value.some(we=>we.id===T):false)}function E(T){return Te("resolveMessage").resolveMessage(T)}function k(T=Te("retainHandle")){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");$.set(T,($.get(T)??0)+1);let Y=false;return ()=>{if(Y)return;Y=true;let ce=($.get(T)??1)-1;if(ce>0){$.set(T,ce);return}$.delete(T),oe.delete(T)&&T.close();}}function q(){return k()}function ue(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,me(),ne();}function fe(T){let Y=o.value;return Y===null||Y.conversationType!==T.conversationType||Y.conversationId!==T.conversationId?false:(R+=1,C=void 0,L=void 0,me(),ne(),true)}function ze(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,ve?.(),ve=void 0,B?.(),B=void 0;let T=new Set([...Q===void 0?[]:[Q],...oe,...$.keys()]);Q=void 0,oe.clear(),$.clear();for(let Y of T)Y.close();ne();}function He(){V||(ze(),V=true,N());}function xe(){return b.splice(0,b.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:j,loading:z,ready:K,stale:x,hasOlder:W,hasNewer:y,error:v,activeRemoteMessageRevision:A,open:ae,invalidatePendingOpen:Ce,loadLatest:ge,loadEntryUnread:ye,markConversationRead:Ve,markVisibleMessages:P,leave:pe,loadOlder:be,loadNewer:je,loadAround:Pe,resolveMessage:E,retainHandle:k,retainCurrentHandle:q,close:ue,closeActiveConversation:fe,reset:ze,dispose:He,drainActiveRemoteMessageIds:xe,getHandle:()=>Q}})}var Pi=new WeakMap,Tr=new WeakMap;function $e(e=Ae()){Oe(e);let n=Pi.get(e);n===void 0&&(n=Oc(e),Pi.set(e,n));let r=n(e);return Tr.get(e)!==r&&(Tr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Tr.get(e)===r&&Tr.delete(e);})),r}var Ar=new WeakMap;function Fo(e){let n=Ar.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 xr(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function Oi(e){return e===null?null:xr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function Do(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((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function Ec(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Bt(e,n,r){return Ec(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:bt(r)},cause:e})}function jr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function jc(e){return defineStore("k2-im-composer",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),j=ref(0),z=shallowRef(null),K=false,x=0,W=0,y=0,v,A=Promise.resolve(),V=Promise.resolve(),H=new Set,F=new Map,R,C;function L(){return o.getHandle()}function Q(_,U){let ge=o.activeRef;return !K&&L()===_&&n.getGeneration()===U&&ge!==null&&ge.conversationId===_.ref.conversationId&&ge.conversationType===_.ref.conversationType}function ve(_=L()){if(_===void 0)return false;let U=n.getGeneration();return v?.handle===_&&v.generation===U||[...H].some(ge=>ge.handle===_&&ge.generation===U)}async function B(_=L()){if(_===void 0)return;let U=n.getGeneration(),ge=v?.handle===_&&v.generation===U?v:void 0;if(ge===void 0){let P=[...H].filter(J=>J.handle===_&&J.generation===U).map(J=>J.promise);P.length>0?await Promise.all(P):await V;return}v=void 0;let Ie=A.then(async()=>{Do(ge.input)?await _.draft.clear():await _.draft.save(ge.input);}),Ve={handle:_,generation:U,promise:Ie};H.add(Ve),V=Ie,A=Ie.catch(()=>{});try{await Ie,Q(_,U)&&(z.value=null,j.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:bt(_.ref)})));}catch(P){throw Q(_,U)&&(v===void 0&&y===ge.version&&(v=ge),z.value=Bt(P,"composer.draft",_.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:bt(_.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:z.value}}))),P}finally{H.delete(Ve);}}function b(_){let U=L(),ge=n.getGeneration();if(U===void 0||!Q(U,ge))return z.value=Bt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ye=xr(_);return y+=1,s.value=Do(ye)?null:ye,v={handle:U,generation:ge,version:y,input:ye},z.value=null,$(),Do(ye)&&B(U).catch(()=>{}),true}async function $(){if(m.value!==null)return;let _=s.value?.replyToMessageId;if(_===void 0){W+=1,c.value=null;return}let U=L();if(U===void 0){c.value=null;return}let ge=o.messages.find(P=>P.id===_);if(ge!==void 0){W+=1,c.value=ge;return}let ye=n.getGeneration(),Ie=++W,Ve=await U.resolveMessage(_).catch(()=>null);Ie!==W||!Q(U,ye)||m.value!==null||s.value?.replyToMessageId!==_||(c.value=Ve);}function oe(_){let U=L();return U===void 0||!jr(_,U)?false:(m.value=null,c.value=_,b({...s.value??{text:"",attachments:[]},replyToMessageId:_.id}))}function O(_){if(_!==void 0&&s.value?.replyToMessageId!==_)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:ge,...ye}=U;b({...ye});}function G(_){let U=L();return U===void 0||!jr(_,U)?false:(c.value=null,m.value=_,true)}function S(){m.value=null,$();}function N(){W+=1,c.value=null,m.value=null;}function ne(_,U){return !K&&n.getGeneration()===_&&x===U}function le(_){return [...F.values()].some(U=>U.handle===_)}function me(_,U){return _!==null&&Go(Oi(_),U)}function he(_,U,ge){!Q(_,U)||s.value===null||!Go(s.value,ge)||(y+=1,v?.handle===_&&v.generation===U&&Go(v.input,ge)&&(v=void 0),s.value=null,W+=1,c.value=null);}async function Se(_){let U=[...H].filter(ye=>ye.handle===_.handle&&ye.generation===_.generation).map(ye=>ye.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!Q(_.handle,_.generation))return;let ge=await _.handle.draft.get();if(!me(ge,_.input)){R?.token===_.token&&(R=void 0);return}R=_;try{await _.handle.draft.clear(),R?.token===_.token&&(R=void 0);}catch(ye){if(Q(_.handle,_.generation)){if(s.value===null&&v===void 0){let Ie={text:"",attachments:[]};y+=1,v={handle:_.handle,generation:_.generation,version:y,input:Ie};}z.value=Bt(ye,"composer.draft",_.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:_.generation,conversation:bt(_.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:z.value}}));}}}function se(_){if(!Q(_.handle,_.generation)||s.value!==null)return;R=void 0;let U=xr(_.input);y+=1,s.value=U,v={handle:_.handle,generation:_.generation,version:y,input:U},$();}async function te(_){let U=m.value,ge=U===null?"send":"edit";if(U!==null&&C!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ye=L(),Ie=n.getGeneration();if(ye===void 0||!Q(ye,Ie))return Object.freeze({ok:false,operation:ge,reason:"not-ready"});let Ve=_.text.trim();if(Ve==="")return Object.freeze({ok:false,operation:ge,reason:"empty"});let P=x;if(U!==null&&!jr(U,ye))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let J=Symbol(ge);U!==null&&(C=J),g.value=C!==void 0,z.value=null;let pe=o.retainHandle(ye),be;if(U===null){let je=xr(_);be={token:J,handle:ye,generation:Ie,input:je},F.set(J,be),he(ye,Ie,je);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:Ie,operation:ge,conversation:bt(ye.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let je=await ye.messages.sendText(Ve,{..._.mentions===void 0?{}:{mentions:_.mentions},..._.replyToMessageId===void 0?{}:{replyToMessageId:_.replyToMessageId}});if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!je.ok)return be!==void 0&&se(be),z.value=je.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:je.error});if(be!==void 0&&(await Se(be),!ne(Ie,P)||!Q(ye,Ie)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ye.messages.editText(U.id,Ve,{..._.mentions===void 0?{}:{mentions:_.mentions}});}catch(je){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let Pe=Bt(je,"composer.edit",ye.ref);return z.value=Pe,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:Pe})}if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&S();}return z.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:Ie,operation:ge,conversation:bt(ye.ref)})),Object.freeze({ok:!0,operation:ge})}catch(je){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:false,operation:ge,reason:"stale"});be!==void 0&&se(be);let Pe=Bt(je,`composer.${ge}`,ye.ref);return z.value=Pe,Object.freeze({ok:false,operation:ge,reason:"sdk-rejected",error:Pe})}finally{pe(),F.delete(J),C===J&&(C=void 0),g.value=C!==void 0,Q(ye,Ie)&&ae();}}function ae(){let _=L();if(_===void 0)return;let U=R,ge=U!==void 0&&U.handle===_&&U.generation===n.getGeneration()&&me(o.draft,U.input);U!==void 0&&!ge&&(R=void 0),!ve(_)&&!le(_)&&!ge&&(s.value=Oi(o.draft)),m.value!==null&&!jr(m.value,_)&&(m.value=null),$();}function Ce(){x+=1,W+=1,y+=1,v=void 0,F.clear(),R=void 0,A=Promise.resolve(),V=Promise.resolve(),s.value=null,c.value=null,m.value=null,C=void 0,g.value=false,j.value=0,z.value=null;}let Te=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(_,U)=>{if(_.ref!==U?.ref){Ce(),_.ref!==null&&ae();return}ae();},{immediate:true});function Re(){K||(K=true,Te(),Ce());}return Ar.set(e,Object.freeze({suspendInteraction:N,syncReplyTarget:$,dispose:Re})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:j,error:z,updateDraft:b,flush:B,hasPendingWork:ve,submitText:te,setReplyTo:oe,clearReplyTo:O,setEditing:G,clearEditing:S,reset:Ce}})}var Si=new WeakMap,wr=new WeakMap;function tt(e=Ae()){Oe(e);let n=Si.get(e);n===void 0&&(n=jc(e),Si.set(e,n));let r=n(e),o=Fo(e);return wr.get(e)!==r&&(wr.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),Ar.get(e)===o&&Ar.delete(e));})),r}var Dr=new WeakMap;function Wt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function ji(e){return [...e]}function Ac(e){return defineStore("k2-im-message-operations",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=tt(e),c=Fo(e),m=shallowRef(null),g=ref(false),j=ref([]),z=ref(null),K=ref(false),x=ref([]),W=shallowRef(null),y$1=false,v=0,A=0,V=0;function H(){return o.getHandle()}function F(P,J=H()){let pe=o.activeRef;return !y$1&&J!==void 0&&pe!==null&&P.conversationType!=="supergroup"&&pe.conversationId===P.conversationId&&pe.conversationType===P.conversationType&&J.ref.conversationId===P.conversationId&&J.ref.conversationType===P.conversationType}function R(P){return y(m.value,P)}function C(){K.value=false,x.value=[];}function L(){z.value=null;}function Q(){let P=g.value;C(),L(),g.value=false,j.value=[],P&&c.syncReplyTarget();}function ve(P){if(P!==void 0){if(!F(P))return Object.freeze({ok:false,reason:"not-ready"});if(!Wt(P))return Object.freeze({ok:false,reason:"not-selectable"});if(R(P))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,j.value=P===void 0?[]:[P],Object.freeze({ok:true})}function B(P){return j.value.some(J=>J.id===P)}function b(P){return !g.value||!F(P)?Object.freeze({ok:false,reason:"not-ready"}):Wt(P)?R(P)?Object.freeze({ok:false,reason:"pinned-protected"}):(B(P.id)?j.value=j.value.filter(J=>J.id!==P.id):j.value=[...j.value,P],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function $(P){let J=H();return P.length===0||!P.every(pe=>F(pe,J))?Object.freeze({ok:false,reason:"not-ready"}):(z.value=ji(P),Object.freeze({ok:true}))}function oe(){let P=j.value;if(P.length===0)return Object.freeze({outcome:"empty"});let J=P.filter(Ra);return P.some(Oa)?(x.value=J,K.value=true,Object.freeze({outcome:"confirmation-required"})):J.length===0?Object.freeze({outcome:"all-skipped"}):($(J),Object.freeze({outcome:"picker-opened"}))}function O(){let P=ji(x.value);return C(),P.length===0?Object.freeze({outcome:"all-skipped"}):($(P),Object.freeze({outcome:"picker-opened"}))}async function G(P){let J=z.value,pe=H();if(J===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let be=n.getGeneration(),je=++v,Pe=await ha(n,{handle:pe,messages:J,targets:P});return y$1||je!==v||n.getGeneration()!==be||H()!==pe?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((Pe.ok||Pe.reason!=="stale")&&L(),Pe.ok&&Q(),W.value=Pe.ok?null:Pe.error??null,r.record(Pe.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:be,conversation:pe===void 0?void 0:{...pe.ref},result:Pe.ok?{ok:true,sentCount:Pe.sentCount,skippedCount:Pe.skippedCount}:{ok:false,reason:Pe.reason,error:Pe.error}})),Pe)}function S(P,J,pe){W.value=P.ok?null:P.error??null,r.record(P.ok?"debug":"error","pinia","message",`message-${P.operation}-settled`,()=>({generation:n.getGeneration(),conversation:pe===void 0?void 0:{...pe.ref},messageId:J,result:P.ok?{ok:true}:{ok:false,reason:P.reason,error:P.error}}));}function N(P,J){return J!==void 0&&(y$1||H()!==J)?Object.freeze({ok:false,operation:P.operation,reason:"stale"}):P}async function ne(P){let J=H(),pe=N(await ja(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function le(P){let J=H(),pe=N(await ka(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function me(P){let J=H(),pe=N(await la(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function he(P,J){let pe=H(),be=N(await ma(n,{handle:pe,messageId:P,options:J}),pe);return S(be,P,pe),be}function Se(){let P=o.activeRef;if(!(P?.conversationType!=="group"&&P?.conversationType!=="channel"))return Object.freeze({conversationId:P.conversationId,conversationType:P.conversationType})}function se(P,J,pe){let be=Se();return !y$1&&P===A&&J!==void 0&&H()===J&&be?.conversationId===pe.conversationId&&be.conversationType===pe.conversationType}function te(P,J,pe){let be=Se();return !y$1&&P===V&&H()===J&&be?.conversationId===pe.conversationId&&be.conversationType===pe.conversationType}function ae(P){if(j.value=j.value.filter(J=>J.id!==P),x.value=x.value.filter(J=>J.id!==P),z.value!==null){let J=z.value.filter(pe=>pe.id!==P);z.value=J.length===0?null:J;}s.editingMessage?.id===P&&s.clearEditing();}async function Ce(P){let J=Se(),pe=H();if(J===void 0||!F(P,pe))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let be=++A;V+=1;let je=await oa$1(n,{conversation:J,message:P});return se(be,pe,J)?(je.ok&&je.operation==="pin"?(m.value=je.value,ae(je.value.messageId),W.value=null):W.value=je.ok?null:je.error??null,je):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Te(){let P=Se(),J=H();if(P===void 0||J===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let pe=++A;V+=1;let be=await pa(n,P);return se(pe,J,P)?(be.ok&&be.operation==="unpin"?(m.value=null,W.value=null):W.value=be.ok?null:be.error??null,be):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Re(){let P=Se();if(P===void 0){m.value=null;return}try{m.value=ra$1(n,P);}catch{m.value=null;}}async function _(){let P=Se(),J=H();if(P===void 0||J===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let pe=n.getGeneration(),be=++V;Re();let je=await qa(n,P);return n.getGeneration()!==pe||!te(be,J,P)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(je.ok&&je.operation==="sync-pin"?(m.value=je.value,W.value=null):W.value=je.ok?null:je.error??null,je)}function U(P){let J=new Map(P.map(Pe=>[Pe.id,Pe])),pe=Pe=>{let E=Pe.flatMap(k=>{let q=J.get(k.id);return q!==void 0&&Wt(q)?[q]:[]});return E.length===Pe.length&&E.every((k,q)=>toRaw(Pe[q])===toRaw(k))?Pe:E};if(j.value=pe(j.value),x.value=pe(x.value),z.value!==null){let Pe=pe(z.value);z.value=Pe.length===0?null:Pe;}let be=s.editingMessage;if(be!==null){let Pe=J.get(be.id);(Pe===void 0||!Wt(Pe))&&s.clearEditing();}let je=s.input?.replyToMessageId;if(je!==void 0){let Pe=J.get(je);Pe!==void 0&&!Wt(Pe)&&s.clearReplyTo(je);}}let ge=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(P,J)=>{P.ref!==J?.ref&&(v+=1,A+=1,V+=1,Re(),g.value=false,j.value=[],z.value=null,C(),W.value=null),U(P.messages);},{immediate:true}),ye=n.subscribeEvents(P=>{if(P.type!=="pinned-message:updated")return;let J=Se();if(!(J===void 0||J.conversationId!==P.conversation.conversationId||J.conversationType!==P.conversation.conversationType)){if(V+=1,P.pinnedMessage===null){m.value=null;return}try{m.value=ra$1(n,J),ae(P.pinnedMessage.messageId);}catch{}}});function Ie(){v+=1,A+=1,V+=1,g.value=false,j.value=[],z.value=null,C(),W.value=null,Re();}function Ve(){y$1||(y$1=true,ge(),ye(),Ie());}return Dr.set(e,Object.freeze({dispose:Ve})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:j,forwardPickerMessages:z,forwardTypeConfirmOpen:K,pendingForwardReadyMessages:x,error:W,enterMultiSelect:ve,exitMultiSelect:Q,isSelected:B,toggleSelection:b,openForwardPicker:$,closeForwardPicker:L,prepareForwardFromSelection:oe,cancelForwardTypeConfirmation:C,confirmForwardTypeConfirmation:O,forward:G,recall:ne,deleteLocal:le,deleteForEveryone:me,retry:he,pin:Ce,unpin:Te,syncPinned:_,isPinnedMessageProtected:R,reset:Ie}})}var wi=new WeakMap,zr=new WeakMap;function Qt(e=Ae()){Oe(e);let n=wi.get(e);n===void 0&&(n=Ac(e),wi.set(e,n));let r=n(e),o=Dr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return zr.get(e)!==r&&(zr.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),zr.get(e)===r&&(zr.delete(e),Dr.get(e)===o&&Dr.delete(e));})),r}var _o=Object.freeze({availability:"unknown",reason:"not-ready"});function Fc(e){return defineStore("k2-im-capabilities",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=Qt(e),c=shallowRef(null),m=false,g,j,z;function K$1(){j!==void 0&&(clearTimeout(j),j=void 0);}function x(b){K$1();let $=b.nextEvaluationAt;if($===void 0)return;let oe=Math.max(0,$-Date.now());j=setTimeout(()=>{j=void 0,v();},oe);}function W(b){m||(c.value=b,x(b));}function y(b){let $=o.activeRef;return $!==null&&$.conversationType===b.conversationType&&$.conversationId===b.conversationId}function v(b=Date.now()){let $=o.activeRef,oe=n.getProductClient();$===null||oe===null||W(oe.capabilities.get($,{nowMs:b}));}function A(){g?.(),g=void 0,K$1(),c.value=null;let b=o.activeRef,$=n.getProductClient();b===null||$===null||(g=$.capabilities.subscribe(b,W));}function V(){A();}function H(){g?.(),g=void 0,K$1(),c.value=null;}async function F(){let b=o.activeRef,$=n.getProductClient();if(b===null||$===null)return;let oe=n.getGeneration();try{let O=await $.capabilities.refresh(b);if(m||oe!==n.getGeneration()||!y(b))return;W(O);}catch(O){if(m||oe!==n.getGeneration()||!y(b))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...b},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:O}})),W($.capabilities.get(b));}}function R(b){return c.value===null?_o:K(c.value,b)}function C(b){return R(b)}function L$1(b){return R(b)}function Q(b,$){let oe=c.value;return oe===null?_o:M(b,{snapshot:oe,selfId:n.getCredentials().userId,...$})}function ve(b,$){let oe=c.value;return oe===null?_o:L(b,{snapshot:oe,message:$,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function B(){m||(m=true,z?.(),z=void 0,H());}return z=watch(()=>o.activeRef,A,{deep:true,immediate:true}),{activeSnapshot:c,start:V,reset:H,refresh:F,conversationAction:R,profileAction:C,memberAction:L$1,memberTargetAction:Q,messageAction:ve,dispose:B}})}var xi=new WeakMap,Gr=new WeakMap;function _c(e=Ae()){Oe(e);let n=xi.get(e);n===void 0&&(n=Fc(e),xi.set(e,n));let r=n(e);return Gr.get(e)!==r&&(Gr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Gr.get(e)===r&&Gr.delete(e);})),r}var Jt=new WeakMap;function zi(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 Ai(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&&Nc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:zi(r)})}function Di(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Hc(e=Ae()){let n=Oe(e),r=Jt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=tt(e),m=$e(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function j(z,K){let x=zi(z),W=K?.signal;if(W?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:x});g.conversation=x;let y=++g.epoch,v=o.getGeneration(),A=()=>!g.disposed&&g.epoch===y&&o.getGeneration()===v;m.invalidatePendingOpen();let V=()=>{A()&&(g.epoch+=1,m.invalidatePendingOpen());};W?.addEventListener("abort",V,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:v,conversation:x})),!Kc(x))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:v,conversation:x})),Object.freeze({ok:!1,reason:"unsupported",conversation:x});let H=m.getHandle(),F=async()=>{if(H!==void 0)for(;A()&&c.hasPendingWork(H);)await c.flush(H);};if(H!==void 0&&c.hasPendingWork(H))try{await F();}catch(C){if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});let L=Ai(C,"flush",x);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:v,conversation:x,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:L}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:x,error:L})}if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});if(m.getHandle()!==void 0&&Di(m.activeRef,x))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:x,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:x});let R=!1;try{if(await m.open(x,{beforeCommit:async()=>{try{await F();}catch(L){throw R=!0,L}}})===void 0||!A())return Object.freeze({ok:!1,reason:"stale",conversation:x})}catch(C){if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});let L=Ai(C,R?"flush":"open",x);return s.record("warn","pinia","conversation",R?"conversation-activation-draft-save-failed":"conversation-activation-open-failed",()=>({generation:v,conversation:x,error:{message:R?"\u5207\u6362\u524D\u4FDD\u5B58\u65B0\u589E\u8349\u7A3F\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B":"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:L}})),Object.freeze({ok:!1,reason:R?"draft-save-failed":"open-failed",conversation:x,error:L})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:x})),Object.freeze({ok:!0,status:"opened",conversation:x})}finally{W?.removeEventListener("abort",V);}}return g.coordinator=Object.freeze({activate:j}),Jt.set(e,g),De(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Jt.get(e)===g&&Jt.delete(e);}),g.coordinator}function Gi(e,n){let r=Jt.get(e);r===void 0||r.disposed||!Di(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Fi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Vc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ct(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&&Vc(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 Bc(e){return defineStore("k2-im-conversation-list",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),j=false,z=null,K,x=0;function W(O="idle"){o.value=[],s$1.value=O,c.value=0,g.value=null;}function y(O,G,S){j||z!==G||n.getGeneration()!==S||(o.value=O.items,s$1.value=O.state,c.value=O.totalUnread,g.value=O.error??null);}function v(O){if(j)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(z===O||(K?.(),K=void 0,z=O,x+=1,W(),O===null))return;let G=n.getGeneration();K=O.conversations.subscribe(S=>y(S,O,G)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:G}));}function A(){v(n.getProductClient());}function V(){v(null);}function H(O){return !j&&z===O.client&&n.getProductClient()===O.client&&n.getGeneration()===O.generation&&x===O.bindingEpoch}function F(){let O=n.ensureProductClient();return v(O),{client:O,generation:n.getGeneration(),bindingEpoch:x}}async function R(){if(j)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let O;try{O=F();}catch(G){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Ct(G,"refresh")})}try{return await O.client.conversations.refresh(),H(O)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(G){return H(O)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Ct(G,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function C(O,G,S){let N=Fi(G);if(j)return Object.freeze({ok:false,operation:O,reason:"stale",conversation:N});let ne;try{ne=F();}catch(le){return Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)})}try{S(ne.client,N);}catch(le){return H(ne)?Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}return H(ne)?Object.freeze({ok:true,operation:O,conversation:N}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}async function L(O,G,S){let N=Fi(G);if(j)return Object.freeze({ok:false,operation:O,reason:"stale",conversation:N});let ne;try{ne=F();}catch(le){return Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)})}try{return await S(ne.client,N),H(ne)?Object.freeze({ok:!0,operation:O,conversation:N}):Object.freeze({ok:!1,operation:O,reason:"stale",conversation:N})}catch(le){return H(ne)?Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}}function Q(O,G){return C("set-pinned",O,(S,N)=>S.conversations.setPinned(N,G))}function ve(O,G){return L("set-muted",O,(S,N)=>S.conversations.setMuted(N,G))}function B(O){return L("mark-read",O,(G,S)=>G.conversations.markRead(S))}function b(O){return C("mark-unread",O,(G,S)=>G.conversations.markUnread(S))}function $(O){return C("delete-local",O,(G,S)=>G.conversations.deleteLocal(S))}function oe(){j||(K?.(),K=void 0,z=null,W(),j=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:A,reset:V,refresh:R,setPinned:Q,setMuted:ve,markRead:B,markUnread:b,deleteLocal:$,dispose:oe}})}var _i=new WeakMap,Fr=new WeakMap;function No(e=Ae()){Oe(e);let n=_i.get(e);n===void 0&&(n=Bc(e),_i.set(e,n));let r=n(e);return Fr.get(e)!==r&&(Fr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Fr.get(e)===r&&Fr.delete(e);})),r}function rt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function _r(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Wc(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&&$c(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Rt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function 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 Qc(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 Ki(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function Jc(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Ki(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:Ki(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function Xc(e,n,r,o){let s=rt(r);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=Jc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Rt(n,s,"not-allowed",Qc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function kt(e,n,r,o,s){let c=Xc(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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=Wc(m,n,c.captured.conversation),j=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Rt(n,c.captured.conversation,j,g)}}function Yc(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Ni(e,n,r){let o=rt(n),s=Yc(r);return s.length===0?Promise.resolve(Pt("invite-members",o)):kt(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 Hi(e,n,r){let o=rt(n),s=_r(r);return s.userId===""?Promise.resolve(Pt("remove-member",o)):kt(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 Li(e,n,r,o){let s=rt(n),c=_r(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Pt(m,s)):kt(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 Ui(e,n,r){return Li(e,n,r,true)}function qi(e,n,r){return Li(e,n,r,false)}function Vi(e,n,r){let o=rt(n),s=_r(r);return s.userId===""?Promise.resolve(Pt("transfer-ownership",o)):kt(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 Bi(e,n,r){let o=rt(n),s=r===void 0?void 0:_r(r);return s!==void 0&&s.userId===""?Promise.resolve(Pt("leave",o)):kt(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 $i(e,n){let r=rt(n);return kt(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 Zc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function eu(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&&Zc(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Mt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ot(e,n){return 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 nu(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 tu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function ru(e,n,r,o){let s=Xt(r);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=tu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Mt(n,s,"not-allowed",nu(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=ru(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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",eu(m,n,c.captured.conversation)):Mt(n,c.captured.conversation,"stale")}}function Wi(e,n,r){let o=Xt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ot(e,o)}:{ok:true,value:s}}function Qi(e,n,r){let o=r.trim();return o===""?Promise.resolve(Ot("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 ou=100;function Ji(e,n,r){let o=r.trim();return o===""||[...o].length>ou?Promise.resolve(Ot("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 Xi(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===""?Ot("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Yi(e,n,r){let o=Wi("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 Zi(e,n,r,o,s){let c=r.trim(),m=Wi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Ot("set-member-nickname",Xt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Un(e,"set-member-nickname",n,async({client:j,conversation:z})=>(await j.channels.setMemberNickname(z,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:z,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function es(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 ns(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 ts(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 au(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function iu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function su(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 lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function cu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&lu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function ot(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Kr(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function at(e,n,r,o){let s=su(e);if(s===null)return {ok:false,result:ot(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:ot(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:ot(n,r,"failed",cu(c,n,r))}:{ok:false,result:ot(n,r,"stale")}}}function St(e,n){let r=au(n);return r.conversationId===""?{ok:false,result:ot(e,r,"failed",Kr(e,r))}:{ok:true,conversation:r}}async function rs(e,n,r){let o=St("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await at(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 os(e,n){let r=St("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(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 as(e,n,r){let o=St("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return ot("report",s,"failed",Kr("report",s));let m=await at(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 is(e,n){let r=St("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(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 ss(e,n){let r=n.trim();if(r==="")return ot("search-user",null,"failed",Kr("search-user",null));let o=await at(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:iu(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 ls(e,n){let r=St("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(e,"resolve-application-target",o,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Kr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function cs(e,n,r){let o=St("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await at(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 uu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function du(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&&uu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,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 Zt(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 fu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function mu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function pu(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:Tt(n,s,"not-ready")};let m=e.getGeneration(),g=mu(c,s,n,o);return g.availability!=="available"?{ok:false,result:Tt(n,s,"not-allowed",fu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Nr(e,n,r,o,s=false){let c=pu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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=du(m,n,c.captured.conversation),j=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Tt(n,c.captured.conversation,j,g)}}function vu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function us(e,n,r){let o=Yt(n),s=vu(r);return s.length===0?Promise.resolve(Zt("invite-members",o)):Nr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ds(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("remove-member",o)):Nr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function fs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("transfer-ownership",o)):Nr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ms(e,n,r={}){let o=Yt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Zt("leave",o)):Nr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Ho(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function gu(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&&gu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function mn(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 Iu(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 hu(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 vs(e,n,r){let o=Ho(r);if(o.conversationId==="")return {ok:false,result:mn(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:mn(n,o,"not-ready")};let c=e.getGeneration(),m=hu(s,o,n);return m.availability!=="available"?{ok:false,result:mn(n,o,"not-allowed",Iu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Lo(e,n,r,o){let s=vs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:mn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?mn(n,s.captured.conversation,"failed",ps(c,n,s.captured.conversation)):mn(n,s.captured.conversation,"stale")}}function gs(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(mn("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return Lo(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Is(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(mn("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return Lo(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function hs(e,n,r,o){return Lo(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function ys(e,n,r){let o=vs(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()?mn("update-avatar",s.conversation,"failed",ps(c,"update-avatar",s.conversation)):mn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return mn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return mn("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}):mn("update-avatar",s.conversation,"stale")}}function yu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:yu(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 bs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Cs(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 Rs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:bu(n,r.value)}function Ps(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ks(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 j of c){let z=await s.group.listMembers(j.id,{forceRefresh:false});z!==null&&z.some(K=>K.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:j.id}),name:j.displayName||j.cardDisplayName||j.id,...j.avatarUrl===void 0?{}:{avatar:j.avatarUrl}}));}return Object.freeze(g)}async function Ms(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:bs(r.value),stale:r.stale})}async function Os(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:bs(r)}async function Ss(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 Ts(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 Es(e,n){return e.ensureProductClient().directory.search(n)}async function js(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Uo(c)}function Uo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function ws(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(j=>j.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function qo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Uo(c)}async function xs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Uo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Vo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Bo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Vo(o)}async function As(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Vo(c)}async function zs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Vo(s)}function Ds(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 Pu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),ku=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Gs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Ee(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ee(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function st(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Sn(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 lt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Mu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function tn(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Mu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Ee(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ee(r)}})}function Lr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Ou(e){return defineStore("k2-im-profile-directory",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),j=ref(false),z=shallowRef(null),K=shallowRef([]),x=ref(false),W=shallowRef(null),y=shallowRef(null),v=shallowRef(null),A$1=shallowRef([]),V=ref(false),H=ref(false),F$1=shallowRef(null),R=shallowRef(null),C$1=shallowRef(null),L=ref(false),Q=shallowRef(null),ve=reactive({individual:Lr(),group:Lr(),channel:Lr()}),B=ref(""),b=shallowRef(null),$=ref(false),oe=shallowRef(null),O=shallowRef(null),G=shallowRef([]),S=ref(""),N=ref(false),ne=ref(false),le=shallowRef(null),me=shallowRef(null),he=shallowRef(null),Se=ref(false),se=shallowRef(null),te=shallowRef(null),ae=shallowRef([]),Ce=ref(""),Te=ref(false),Re=ref(false),_=shallowRef(null),U=false,ge=new Map,ye={direct:0,group:0,channel:0},Ie={direct:0,group:0,channel:0},Ve=0,P={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},J={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},pe={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},be=new Map,je=0,Pe=new Map,E$1=new Map,k=new Set,q=new Set,ue=new Map,fe=new Map,ze=0,He={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},xe=new Map,T=new Map,Y=0,ce=new Set,we=new Map,Fe=new Map,Ue=0,We=0,Ke=0,nn=new Map,Ze=new Map,Be=new Map,bn=new Map,on=new Map,rn=new Map,Cn=new Map,An=ref(0),ut={individual:0,group:0,channel:0},Wn=new Map,Qn=0,Tn,zn,Dn,En=0,vn,gn,Mn,Rn=0,Pn,an,sn;function co(a){return s.value[a.conversationId]??0}function uo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=C(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?A(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?A(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function or(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function fo(a){return o.value,F(n.getSenderProfileCache(),a)}function ar(a,i){return ua(n,a,i)}function dt(a,i){return va(n,a.conversationId,i)}function ft(a,i,t){let l=n.getGeneration(),u=ge.get(a.conversationId)??0;return wa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(ge.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function mt(a,i){let t=a.conversationId.trim();if(t==="")return;ge.set(t,(ge.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!==""&&(mt(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function ir(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function sr(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Gt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function ln(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function lr(a,i,t={}){let l=on.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(X=>X.userId)),f=new Map(l),w=i.map(X=>{let Z=l.get(X.userId);return Z===void 0?X:(t.reconcile===true&&Z===X.nickname&&f.delete(X.userId),Object.freeze({...X,nickname:Z}))});if(t.reconcile===true)for(let X of f.keys())u.has(X)||f.delete(X);return f.size===0?on.delete(a):on.set(a,f),Object.freeze(w)}function Ft(a,i){let t=on.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&on.delete(a));}function pt(a,i){let t=rn.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 cn(a,i){let t=rn.get(a),l=Cn.get(a),u=R.value?.conversationId===a?C$1.value?.ownerId:bn.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),X=l?.get(f.userId),Z=u!==void 0&&f.userId===u;if(w===void 0&&X===void 0&&!Z)return f;let{nickname:Ge,...wn}=f;return Object.freeze({...wn,...w===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:w.nickname===""?{}:{nickname:w.nickname},displayName:w?.displayName??f.displayName,role:Z?"owner":X??f.role})}))}function cr(a,i){let t=rn.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&&rn.delete(a),l&&(An.value+=1);}function d(a,i){let t=rn.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&rn.delete(a),An.value+=1);}function p(a,i){let t=Cn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&Cn.delete(a);}}function I(a,i){let t=Cn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&Cn.delete(a));}function h(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?y.value:R.value;return !U&&n.getGeneration()===i&&ye[a.conversationType]===t&&Ie[a.conversationType]===l&&ee(u,a)}async function M(a,i={}){let t=Ee(a),l=++ye.direct,u=Ie.direct,f=n.getGeneration(),w=!ee(c.value,t);c.value=t,w&&(m.value=null,g.value="unknown"),j.value=true,z.value=null;try{let X=await Cs(n,t,i);return h(t,f,l,u)?(m.value=X.profile,g.value=X.relationship,j.value=!1,X.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(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let Z=tn(X,"profile.direct",t);return z.value=Z,j.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:Z})}}async function D$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 X=await Ut({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!X.ok)return Object.freeze({ok:false,reason:"channel-profile",result:X});if(f=ee(R.value,a)?C$1.value:null,ta$1({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let w=await M({conversationType:"direct",conversationId:l},{forceRefresh:u});return w.ok?Object.freeze({ok:true,destination:ta$1({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:w})}async function ie(a){let i=Ee(a),t=++Ve,l=n.getGeneration();c.value=i,x.value=true,W.value=null;try{let u=await ks(n,i.conversationId);return !ee(c.value,i)||l!==n.getGeneration()||t!==Ve?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(K.value=u,x.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!ee(c.value,i)||l!==n.getGeneration()||t!==Ve)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=tn(u,"profile.direct-mutual-groups",i);return W.value=f,x.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function de(a){return P[a]+=1,P[a]}function re(a,i){return !U&&P[a]===i}async function ke(a,i){let t=Ee(a),l=de("set-remark"),u=await rs(n,t,i);if(!re("set-remark",l)||!ee(c.value,t))return it("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(X=>Object.freeze({countryCode:X.countryCode,mobile:X.mobile})))}})),Object.freeze({...u,projectionUpdated:w})}async function Me(a){let i=Ee(a),t=de("block"),l=await os(n,i);return !re("block",t)||!ee(c.value,i)?it("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function qe(a,i){let t=Ee(a),l=de("report"),u=await as(n,t,i);return !re("report",l)||!ee(c.value,t)?it("report",t):u}async function Qe(a){let i=Ee(a),t=de("delete-friendship"),l=await is(n,i);return !re("delete-friendship",t)||!ee(c.value,i)?it("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function _e(a){let i=de("search-user"),t=await ss(n,a);return re("search-user",i)?t:it("search-user",t.conversation)}async function Xe(a){let i=Ee(a),t=de("resolve-application-target"),l=await ls(n,i);return re("resolve-application-target",t)?l:it("resolve-application-target",i)}async function un(a,i){let t=Ee(a),l=de("request-friendship"),u=await cs(n,t,i);return re("request-friendship",l)?u:it("request-friendship",t)}function Fn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function _n(a,i){J[a]+=1;let t=n.getGeneration(),l=Ie.group,u=Fn(i,a,t,l);return Pe.set(u,(Pe.get(u)??0)+1),Object.freeze({epoch:J[a],generation:t,key:u,resetEpoch:l})}function In(a,i){let t=Pe.get(i.key)??0;t<=1?Pe.delete(i.key):Pe.set(i.key,t-1),ua$1(a);}function _t(a,i){return !U&&n.getGeneration()===i.generation&&Ie.group===i.resetEpoch&&J[a]===i.epoch}function Kt(a,i){let t=n.getGeneration(),l=Ie.group;return i!==void 0?(Pe.get(Fn(a,i,t,l))??0)>0:Object.keys(J).some(u=>(Pe.get(Fn(a,u,t,l))??0)>0)}async function Ne(a,i){let t=Ee(a),l=i.trim(),u=_n("update-name",t);try{let f=await gs(n,t,l);if(!_t("update-name",u)||!ee(y.value,t))return Hr("update-name",t);if(!f.ok)return f;let w=v.value!==null;return w&&Ql(t,l),Object.freeze({...f,projectionUpdated:w})}finally{In(t,u);}}async function dn(a,i){let t=Ee(a),l=_n("update-avatar",t);try{let u=await ys(n,t,i);if(!_t("update-avatar",l)||!ee(y.value,t))return Hr("update-avatar",t);if(!u.ok)return u;let f=v.value!==null&&u.avatar!==void 0;return f&&Jl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{In(t,l);}}async function Kn(a,i){let t=Ee(a),l=i.trim(),u=_n("set-my-nickname",t);try{let f=await Is(n,t,l);if(!_t("set-my-nickname",u)||!ee(y.value,t))return Hr("set-my-nickname",t);if(!f.ok)return f;let w=A$1.value.some(X=>X.userId===f.memberId);return ya$1(t,f.memberId,l),za(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:w})}finally{In(t,u);}}async function Nn(a,i,t){let l=Ee(a),u=i===4?t?.trim():void 0,f=_n("update-verification",l);try{let w=await hs(n,l,i,u);if(!_t("update-verification",f)||!ee(y.value,l))return Hr("update-verification",l);if(!w.ok)return w;let X=v.value!==null;return X&&Xl(l,i,u),Object.freeze({...w,projectionUpdated:X})}finally{In(l,f);}}function mo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function kn(a,i,t="profile"){let l=n.getGeneration(),u=Ie.channel,f=mo(i,a,t,l,u),w=++ze;return ue.set(f,w),fe.set(f,(fe.get(f)??0)+1),Object.freeze({conversation:Ee(i),epoch:w,generation:l,resetEpoch:u,key:f})}function On(a){let i=fe.get(a.key)??0;i<=1?fe.delete(a.key):fe.set(a.key,i-1),ue.get(a.key)===a.epoch&&ue.delete(a.key),pa(a.conversation);}function Le(a){return !U&&n.getGeneration()===a.generation&&Ie.channel===a.resetEpoch&&ue.get(a.key)===a.epoch}function hn(a,i,t){let l=`${n.getGeneration()}:${Ie.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of fe){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 la(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function Il(a,i){let t=Ee(a);if(yn(t))return st("update-name",t);let l=i.trim(),u=kn("update-name",t);try{let f=await Qi(n,t,l);if(!Le(u)||!ee(R.value,t))return qn("update-name",t);if(!f.ok)return f;let w=C$1.value!==null;return w&&Ra(t,l),Object.freeze({...f,projectionUpdated:w})}finally{On(u);}}async function hl(a,i){let t=Ee(a);if(yn(t))return st("update-description",t);let l=i.trim(),u=kn("update-description",t);try{let f=await Ji(n,t,l);if(!Le(u)||!ee(R.value,t))return qn("update-description",t);if(!f.ok)return f;let w=C$1.value!==null;return w&&Pa(t,l),Object.freeze({...f,projectionUpdated:w})}finally{On(u);}}async function yl(a,i){let t=Ee(a);if(yn(t))return st("update-avatar",t);let l=kn("update-avatar",t);try{let u=await Xi(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("update-avatar",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&ka(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}async function bl(a,i){let t=Ee(a),l=i.trim(),u=kn("set-my-nickname",t,n.getCredentials().userId);try{let f=await Yi(n,t,l);return !Le(u)||!ee(R.value,t)?qn("set-my-nickname",t):f.ok?(bo(t,f.memberId,l,l),la(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{On(u);}}async function Cl(a,i,t){let l=Ee(a);if(yn(l))return st("set-member-nickname",l);let u=i.trim(),f=t.trim(),w=ko(l,u),X=kn("set-member-nickname",l,u);try{let Z=await Zi(n,l,u,w?.role??"unknown",f);return !Le(X)||!ee(R.value,l)?qn("set-member-nickname",l):Z.ok?(bo(l,Z.memberId,f,f),la(l,Z.memberId,f),Object.freeze({...Z,projectionUpdated:!0})):Z}finally{On(X);}}async function Rl(a,i,t){let l=Ee(a);if(yn(l))return st("update-verification",l);let u=i===4?t?.trim():void 0,f=kn("update-verification",l);try{let w=await es(n,l,i,u);if(!Le(f)||!ee(R.value,l))return qn("update-verification",l);if(!w.ok)return w;let X=C$1.value!==null;return X&&Ma(l,i,u),Object.freeze({...w,projectionUpdated:X})}finally{On(f);}}async function Pl(a,i){let t=Ee(a);if(yn(t))return st("set-all-muted",t);let l=kn("set-all-muted",t);try{let u=await ns(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("set-all-muted",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&yo(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}async function kl(a,i){let t=Ee(a);if(yn(t))return st("set-member-private-chat-disabled",t);let l=kn("set-member-private-chat-disabled",t);try{let u=await ts(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&yo(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}function Ml(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function po(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ur(a,i,t){let l=n.getGeneration(),u=pe[a],f=po(i,a,l,u),w=Ml(i,a,t,l,u),X=++je;return be.set(w,X),E$1.set(f,(E$1.get(f)??0)+1),Object.freeze({actionEpoch:X,actionKey:w,generation:l,resetEpoch:u,writeKey:f})}function dr(a,i){let t=E$1.get(i.writeKey)??0;t<=1?E$1.delete(i.writeKey):E$1.set(i.writeKey,t-1),be.get(i.actionKey)===i.actionEpoch&&be.delete(i.actionKey),ua$1(a);}function fr(a,i){return !U&&n.getGeneration()===i.generation&&pe[a]===i.resetEpoch&&be.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return i!==void 0?(E$1.get(po(a,i,t,pe[i]))??0)>0:Object.keys(pe).some(l=>(E$1.get(po(a,l,t,pe[l]))??0)>0)}function Ol(a,i){let t=i.trim();t!==""&&Ze.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function Sl(a,i){if(i===null||i.isInGroup===false)return Ze.delete(a.conversationId),i;let t=Ze.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ze.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ca(a){ee(y.value,a)&&ht(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!ee(y.value,a)||pr(a);});}function Nt(a){ee(y.value,a)&&Lt(a,{forceRefresh:true});}function ua$1(a){Kt(a)||mr(a)||(k.delete(a.conversationId)&&Nt(a),q.delete(a.conversationId)&&So(a));}function pr(a){ee(y.value,a)&&ya(n,a.conversationId,A$1.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function Tl(a,i){let t=Ee(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ur("invite-members",t,l);try{let f=await us(n,t,i);if(!fr("invite-members",u))return lt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&ee(y.value,t)&&Nt(t),f;if(!ee(y.value,t))return lt("invite-members",t);let w=f.memberIds.some(X=>Ca(t,X));for(let X of f.memberIds)Io(t,X);return ca(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{dr(t,u);}}async function El(a,i){let t=Ee(a),l=ur("remove-member",t,i.trim());try{let u=await ds(n,t,i);if(!fr("remove-member",l))return lt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&ee(y.value,t)&&Nt(t),u;if(!ee(y.value,t))return lt("remove-member",t);let f=A$1.value.some(w=>w.userId===u.memberId);return go(t,u.memberId),ca(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{dr(t,l);}}async function jl(a,i){let t=Ee(a),l=ur("transfer-ownership",t,"group-owner");try{let u=await fs(n,t,i);if(!fr("transfer-ownership",l))return lt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&ee(y.value,t)&&Nt(t),u;if(!ee(y.value,t))return lt("transfer-ownership",t);Ol(t,u.ownerId);let f=v.value,w=f!==null;return f!==null&&(v.value=Object.freeze({...f,ownerId:u.ownerId})),Nt(t),Object.freeze({...u,projectionUpdated:w,refreshRequired:!1})}finally{dr(t,l);}}async function wl(a,i={}){let t=Ee(a),l=ur("leave",t,"membership");try{let u=await ms(n,t,i);if(!u.ok&&!fr("leave",l))return lt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&ee(y.value,t)&&await Lt(t,{forceRefresh:!0}),u;ho(t),Aa(n,t.conversationId,{clearCachedNames:!0}),Ze.delete(t.conversationId);let f=ee(y.value,t)&&(v.value!==null||A$1.value.length>0);return ee(y.value,t)&&(y.value=null,v.value=null,A$1.value=[],V.value=!1,H.value=!1,F$1.value=null),Object.freeze({...u,projectionUpdated:f})}finally{dr(t,l);}}function xl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function da(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function vt(a,i,t){let l=n.getGeneration(),u=He[a],f=xl(i,a,t,l,u),w=da(i,a,l,u),X=++Y;return xe.set(f,X),T.set(w,(T.get(w)??0)+1),Object.freeze({actionEpoch:X,actionKey:f,conversation:Ee(i),writeKey:w,generation:l,resetEpoch:u})}function gt(a){let i=T.get(a.writeKey)??0;i<=1?T.delete(a.writeKey):T.set(a.writeKey,i-1),xe.get(a.actionKey)===a.actionEpoch&&xe.delete(a.actionKey),pa(a.conversation);}function It(a,i){return !U&&n.getGeneration()===i.generation&&He[a]===i.resetEpoch&&xe.get(i.actionKey)===i.actionEpoch}function vr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(He):[i]).some(u=>(T.get(da(a,u,t,He[u]))??0)>0)}function gr(a,i){let t=i.trim();if(t==="")return;let l=ko(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function Al(a,i){let t=i.trim();t!==""&&bn.set(a.conversationId,{ownerId:t});}function yn(a){let i=bn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function fa(a,i){if(i===null)return bn.delete(a.conversationId),null;let t=bn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(bn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function zl(a){return !ee(R.value,a)||C$1.value===null?false:(C$1.value=fa(a,C$1.value),true)}function Dl(a){ee(O.value,a)&&Oo(a,{preserveExisting:true});}function Ht(a){ee(R.value,a)&&Ut(a,{forceRefresh:true});}function Ir(a){Ht(a),Dl(a);}function Gl(a,i,t,l){let u=we.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,we.set(a.conversationId,u);}function ma(a,i){let t=we.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&we.delete(a.conversationId);}}function pa(a){if(hn(a)||vr(a))return;ce.delete(a.conversationId)&&ja(a);let i=we.get(a.conversationId);if(i===void 0)return;we.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}),br(a);}function Fl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function va$1(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function _l(a,i){let t=Ee(a);if(yn(t))return er("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 Ni(n,t,i);if(!It("invite-members",u))return Sn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("invite-members",t);let w=f.memberIds.some(X=>Po(t,X));for(let X of f.memberIds)Ro(t,X);return Gn(t,f.memberIds),ma(t,f.memberIds),Ir(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{gt(u);}}async function Kl(a,i){let t=Ee(a);if(yn(t))return er("remove-member",t);let l=gr(t,i),u=vt("remove-member",t,i.trim());try{let f=await Hi(n,t,l??{userId:i,role:"unknown"});if(!It("remove-member",u))return Sn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("remove-member",t);let w=Fl(t,f.memberId),X=G.value.some(Z=>Z.userId===f.memberId)||ae.value.some(Z=>Z.userId===f.memberId)||w;return Co(t,f.memberId),Gn(t,[f.memberId]),ma(t,[f.memberId]),Ir(t),Object.freeze({...f,projectionUpdated:X,refreshRequired:!1})}finally{gt(u);}}async function Nl(a,i,t){let l=Ee(a),u=gr(l,i),f=t?"add-admin":"remove-admin";if(yn(l))return er(f,l);let w=vt(f,l,i.trim());try{let X=t?await Ui(n,l,u??{userId:i,role:"unknown"}):await qi(n,l,u??{userId:i,role:"unknown"});if(!It(f,w))return Sn(f,l);if(!X.ok)return X.outcome!=="stale"&&Ht(l),X;if(!ee(R.value,l))return Sn(f,l);let Z=t?"admin":"member",Ge=u?.role!==Z;return Jn(l,X.memberId,Z),Ir(l),Object.freeze({...X,projectionUpdated:Ge,refreshRequired:!1})}finally{gt(w);}}async function Hl(a,i){let t=Ee(a);if(yn(t))return er("transfer-ownership",t);let l=gr(t,i),u=vt("transfer-ownership",t,"channel-owner");try{let f=await Vi(n,t,l??{userId:i,role:"unknown"});if(!It("transfer-ownership",u))return Sn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("transfer-ownership",t);Al(t,f.ownerId);let w=zl(t);return Jn(t,f.ownerId,"owner"),Jn(t,n.getCredentials().userId,"member"),Ir(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{gt(u);}}async function Ll(a,i={}){let t=Ee(a),l=i.newOwnerId===void 0?void 0:gr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=vt("leave",t,"membership");try{let f=await Bi(n,t,l);if(!f.ok&&!It("leave",u))return Sn("leave",t);if(!f.ok)return f;let w=ee(R.value,t)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return hr(t),bn.delete(t.conversationId),va$1(t),ee(R.value,t)&&Cr(),Object.freeze({...f,projectionUpdated:w})}finally{gt(u);}}async function Ul(a){let i=Ee(a);if(yn(i))return er("dismiss",i);let t=vt("dismiss",i,"membership");try{let l=await $i(n,i);if(!l.ok&&!It("dismiss",t))return Sn("dismiss",i);if(!l.ok)return l;let u=ee(R.value,i)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return hr(i),bn.delete(i.conversationId),va$1(i),ee(R.value,i)&&Cr(),Object.freeze({...l,projectionUpdated:u})}finally{gt(t);}}async function Lt(a,i={}){let t=Ee(a),l=++ye.group,u=Ie.group,f=n.getGeneration(),w=!ee(y.value,t);y.value=t,w&&(v.value=null,We+=1,A$1.value=[],H.value=false),V.value=true,F$1.value=null;try{let X=i.forceRefresh===!0?null:await Rs(n,t);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(X!==null&&(v.value=X),i.restricted===!0)return i.includeMembers===!0&&await ht(t,{restricted:!0,forceRefresh:!0}),h(t,f,l,u)?(V.value=!1,v.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 Z=await Ps(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Ge=Sl(t,Z);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ge?.ref.conversationId??null,name:Ge?.name??null,isInGroup:Ge?.isInGroup??null,verifyWay:Ge?.verifyWay??null,memberCount:Ge?.memberCount??null,membershipDecision:Ge?.isInGroup===!0?"joined":Ge?.isInGroup===!1?"not-joined":"unknown"}})),Ge===null||Ge.isInGroup===!1?(We+=1,A$1.value=[],H.value=!1,ho(t),Aa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ht(t,{restricted:!1,forceRefresh:!0}),h(t,f,l,u)?(v.value=Ge,V.value=!1,Object.freeze(Ge===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let Z=tn(X,"profile.group",t);return i.forceRefresh===true&&(v.value=null,We+=1,A$1.value=[],H.value=false),F$1.value=Z,V.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:Z})}}async function ht(a,i={}){let t=Ee(a);if(ee(y.value,t)||(y.value=t,A$1.value=[]),ee(y.value,t)&&v.value?.ref.conversationId===t.conversationId&&v.value.isInGroup===false)return We+=1,A$1.value=[],H.value=false,Object.freeze({ok:true,operation:"group-members"});if(A$1.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++We,u=n.getGeneration();H.value=true;try{let f=i.preserveExisting===!0?null:await Ms(n,t);if(U||n.getGeneration()!==u||l!==We||!ee(y.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let w=f===null?null:ln(nn,t.conversationId,f.items);if(w!==null&&(A$1.value=lr(t.conversationId,w),pr(t)),i.restricted===!0||i.forceRefresh!==!0&&w!==null&&w.length>0)return H.value=!1,Object.freeze({ok:!0,operation:"group-members"});let X=await Os(n,t);return U||n.getGeneration()!==u||l!==We||!ee(y.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(X!==null&&(A$1.value=lr(t.conversationId,ln(nn,t.conversationId,X),{reconcile:!0}),pr(t)),H.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==We||!ee(y.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let w=tn(f,"profile.group-members",t);return F$1.value=w,H.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:w})}}async function Ut(a,i){let t=Ee(a),l=++ye.channel,u=Ie.channel,f=n.getGeneration(),w=!ee(R.value,t);R.value=t,w&&(C$1.value=null,Yn(t)),L.value=true,Q.value=null;try{let X=await Ss(n,t,i);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let Z=fa(t,X);return C$1.value=Z,Z!==null&&ee(O.value,t)&&(G.value=cn(t.conversationId,G.value)),Z===null?(hr(t),Yn()):Z.canViewMembers!==!0&&Yn(),L.value=!1,Object.freeze(Z===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let Z=tn(X,"profile.channel",t);return i?.forceRefresh===true&&(C$1.value=null,Yn()),Q.value=Z,L.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:Z})}}async function ql(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=++Ue,X=n.getGeneration(),Z=Ie[t.conversationType],Ge=t.conversationType==="group"?y.value:R.value,wn=Ge!==null&&ee(Ge,t);Fe.set(f,w);let To=()=>{let Ln=t.conversationType==="group"?y.value:R.value;return Ge===null?Ln===null:Ln!==null&&ee(Ln,Ge)},fn=()=>!U&&n.getGeneration()===X&&Ie[t.conversationType]===Z&&Fe.get(f)===w&&To();try{let Ln=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);if(!fn())return Object.freeze({ok:!1,operation:l,reason:"stale"});if(Ln.outcome==="joined")if(wn)t.conversationType==="group"?await Lt(t,{forceRefresh:!0}):await Ut(t,{forceRefresh:!0});else try{t.conversationType==="group"?await u.groups.getProfile(t,{forceRefresh:!0}):await u.channels.getProfile(t,{forceRefresh:!0});}catch(dc){fn()&&r.record("error","pinia","profile","membership-join-profile-refresh-failed",()=>({conversation:t,data:{error:tn(dc,l,t)}}));}return fn()?Object.freeze({ok:!0,operation:l,outcome:Ln.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(Ln){return fn()?Object.freeze({ok:false,operation:l,reason:"failed",error:tn(Ln,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{Fe.get(f)===w&&Fe.delete(f);}}async function ga(a,i,t){let l=ve[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?Wn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ut[a],w=n.getGeneration();l.loading=true,l.error=null;try{let X=await Ts(n,a,u);return U||w!==n.getGeneration()||f!==ut[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ds(i?l.items:[],X.items),l.loaded=!0,l.exhausted=X.exhausted,l.loading=!1,X.nextPageToken===void 0?Wn.delete(a):Wn.set(a,X.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(X){if(U||w!==n.getGeneration()||f!==ut[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let Z=tn(X,`directory.${a}`);return l.error=Z,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:Z})}}function Vl(a,i=false){return ga(a,i,false)}function Bl(a){return ga(a,false,true)}function Ia(){Tn!==void 0&&(clearTimeout(Tn),Tn=void 0),zn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),zn=void 0;}async function $l(a,i){let t=n.getGeneration();try{let l=await Es(n,a);return U||t!==n.getGeneration()||i!==Qn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(b.value=l,$.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==Qn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=tn(l,"directory.search");return oe.value=u,$.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function vo(){Qn+=1,Ia(),B.value="",b.value=null,$.value=false,oe.value=null,Dn=void 0;}function Wl(a,i={}){let t=a.trim();if(t==="")return vo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&zn?.keyword===t)return zn.promise;if(Dn?.keyword===t)return Dn.promise;if(!i.immediate&&B.value===t&&b.value?.keyword===t.toLocaleLowerCase()&&oe.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Qn;Ia(),B.value=t,b.value=null,$.value=true,oe.value=null;let u=()=>{let X=$l(t,l);return Dn={keyword:t,promise:X},X.finally(()=>{Dn?.promise===X&&(Dn=void 0);}),X};if(i.immediate)return u();let f,w=new Promise(X=>{f=X;});return zn={keyword:t,promise:w,resolve:f},Tn=setTimeout(()=>{Tn=void 0,zn=void 0,u().then(f);},300),w}function ha(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function Ql(a,i){!ee(y.value,a)||v.value===null||(v.value=Object.freeze({...v.value,name:i}));}function Jl(a,i){!ee(y.value,a)||v.value===null||(v.value=Object.freeze({...v.value,avatar:i}));}function Xl(a,i,t){if(!ee(y.value,a)||v.value===null)return;let{inviteCode:l,...u}=v.value;v.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ya$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=on.get(a.conversationId)??new Map;f.set(l,u),on.set(a.conversationId,f),ee(y.value,a)&&(A$1.value=Object.freeze(A$1.value.map(w=>w.userId===l?Object.freeze({...w,nickname:u}):w)));}function ba(a,i){Ft(a.conversationId,i);}function go(a,i){let t=i.trim();if(t===""||(Ft(a.conversationId,t),ir(nn,a.conversationId,t),!ee(y.value,a)))return;let l=A$1.value.filter(f=>f.userId!==t),u=l.length!==A$1.value.length;u&&(A$1.value=Object.freeze(l),pr(a)),u&&v.value!==null&&v.value.memberCount!==void 0&&(v.value=Object.freeze({...v.value,memberCount:Math.max(0,v.value.memberCount-1)}));}function Io(a,i){Ft(a.conversationId,i),sr(nn,a.conversationId,i);}function Ca(a,i){return Gt(nn,a.conversationId,i)}function ho(a){nn.delete(a.conversationId),on.delete(a.conversationId);}function Ra(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,name:i}));}function Pa(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,description:i}));}function ka(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,avatar:i}));}function Ma(a,i,t){if(!ee(R.value,a)||C$1.value===null)return;let{inviteCode:l,...u}=C$1.value;C$1.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function yo(a,i){if(!ee(R.value,a)||C$1.value===null)return;let t={...C$1.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};C$1.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(),w=f||l?.trim()||u,X=rn.get(a.conversationId)??new Map;X.set(u,{nickname:f,displayName:w}),rn.set(a.conversationId,X),An.value+=1,ee(O.value,a)&&(G.value=cn(a.conversationId,G.value)),Xn(a,u)&&(he.value=cn(a.conversationId,he.value===null?[]:[he.value])[0]??null),ee(te.value,a)&&(ae.value=Object.freeze(ae.value.map(Z=>Z.userId===u?Object.freeze({...Z,displayName:w}):Z)));}function Jn(a,i,t){let l=i.trim();if(l==="")return;let u=Cn.get(a.conversationId)??new Map;u.set(l,t),Cn.set(a.conversationId,u),ee(O.value,a)&&(G.value=cn(a.conversationId,G.value)),Xn(a,l)&&(he.value=cn(a.conversationId,he.value===null?[]:[he.value])[0]??null);}function Oa(a,i){d(a.conversationId,i);}function Yl(a,i){return An.value,rn.get(a.conversationId)?.get(i.trim())?.nickname}function Co(a,i){let t=i.trim();if(t==="")return;let l=ee(O.value,a),u=ee(te.value,a);if(d(a.conversationId,t),I(a.conversationId,t),ir(Be,a.conversationId,t),!l&&!u)return;let f=l&&G.value.some(X=>X.userId===t),w=u&&ae.value.some(X=>X.userId===t);l&&(G.value=Object.freeze(G.value.filter(X=>X.userId!==t))),u&&(ae.value=Object.freeze(ae.value.filter(X=>X.userId!==t))),Xn(a,t)&&(he.value=null),(f||w)&&ee(R.value,a)&&C$1.value?.memberCount!==void 0&&(C$1.value=Object.freeze({...C$1.value,memberCount:Math.max(0,C$1.value.memberCount-1)}));}function Ro(a,i){d(a.conversationId,i),I(a.conversationId,i),sr(Be,a.conversationId,i);}function Po(a,i){return Gt(Be,a.conversationId,i)}function hr(a){Be.delete(a.conversationId),Cn.delete(a.conversationId),rn.delete(a.conversationId)&&(An.value+=1);}function jn(a,i,t){return !U&&n.getGeneration()===i&&En===t&&ee(O.value,a)}function Xn(a,i,t,l){let u=me.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ke===l)&&u!==null&&ee(u,a)&&u.userId===i}function ko(a,i){let t=i.trim();if(t!==""){if(ee(O.value,a)){let l=G.value.find(u=>u.userId===t);if(l!==void 0)return l}return Xn(a,t)?he.value??void 0:void 0}}async function Zl(a,i,t={forceRefresh:true}){let l=Ee(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ke,w=n.getGeneration();me.value=Object.freeze({...l,userId:u}),he.value=null,Se.value=true,se.value=null;try{let X=await ws(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Xn(l,u,w,f)?X===null||Po(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(he.value=cn(l.conversationId,[X])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(X){if(!Xn(l,u,w,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let Z=tn(X,"profile.channel-member",l);return se.value=Z,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:Z})}finally{Xn(l,u,w,f)&&(Se.value=false);}}async function Mo(a,i,t){N.value=true,le.value=null;try{let l=await xs(n,a,S.value);return jn(a,i,t)?(cr(a.conversationId,l.items),p(a.conversationId,l.items),G.value=cn(a.conversationId,ln(Be,a.conversationId,l.items)),vn=l.nextCursor,ne.value=l.exhausted||l.nextCursor===void 0,Mn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!jn(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=tn(l,"profile.channel-members.refresh",a);return Mn="initial",le.value=u,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Sa(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Ee(a),t=En,l=n.getGeneration();N.value=true,le.value=null;try{let u=await qo(n,i,S.value);return jn(i,l,t)?(u!==null&&(G.value=cn(i.conversationId,ln(Be,i.conversationId,u.items)),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0),await Mo(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!jn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=tn(u,"profile.channel-members.cache",i);return Mn="initial",le.value=f,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Ta(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(ne.value||vn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Ee(a),t=En,l=n.getGeneration();N.value=true,le.value=null;try{let u=await js(n,i,{query:S.value,cursor:vn});return jn(i,l,t)?(cr(i.conversationId,u.items),p(i.conversationId,u.items),G.value=cn(i.conversationId,ln(Be,i.conversationId,ha(G.value,u.items))),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0,Mn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!jn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=tn(u,"profile.channel-members.page",i);return Mn="more",le.value=f,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Yn(a=null){gn!==void 0&&(clearTimeout(gn),gn=void 0),En+=1,O.value=a===null?null:Ee(a),G.value=[],S.value="",N.value=false,ne.value=false,le.value=null,vn=void 0,Mn=void 0;}function Oo(a,i={}){let t=Ee(a);if(i.preserveExisting===true&&ee(O.value,t)){gn!==void 0&&(clearTimeout(gn),gn=void 0);let l=++En,u=n.getGeneration();return le.value=null,Mo(t,u,l)}return Yn(t),Sa(t)}function ec(a){let i=O.value;if(i===null)return;S.value=a,En+=1,G.value=[],ne.value=false,le.value=null,vn=void 0,N.value=false,gn!==void 0&&clearTimeout(gn);let t=En,l=n.getGeneration();(async()=>{try{let u=await qo(n,i,S.value);if(!jn(i,l,t))return;u!==null&&(G.value=cn(i.conversationId,ln(Be,i.conversationId,u.items)),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!jn(i,l,t))return;le.value=tn(u,"profile.channel-members.cache",i);}jn(i,l,t)&&(gn=setTimeout(()=>{gn=void 0,Mo(i,l,t);},300));})();}function nc(){let a=O.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Ta(a)}function tc(){let a=O.value;return a===null||Mn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Mn==="more"?Ta(a):Sa(a)}function Hn(a,i,t){return !U&&n.getGeneration()===i&&Rn===t&&ee(te.value,a)}async function qt(a,i={}){if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Ee(a),l=Rn,u=n.getGeneration();Te.value=true,_.value=null;try{let f=i.useCache===!1?null:await Bo(n,t,Ce.value||void 0);if(!Hn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ae.value=pt(t.conversationId,ln(Be,t.conversationId,f.items)),Pn=f.nextPageToken,Re.value=f.exhausted||f.nextPageToken===void 0);let w=await As(n,t,Ce.value||void 0);return Hn(t,u,l)?(ae.value=pt(t.conversationId,ln(Be,t.conversationId,w.items)),Pn=w.nextPageToken,Re.value=w.exhausted||w.nextPageToken===void 0,sn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Hn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let w=tn(f,"profile.channel-mentions",t);return sn="initial",_.value=w,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:w})}}async function Ea(){let a=te.value,i=Pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Re.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=Rn,l=n.getGeneration();Te.value=true,_.value=null;try{let u=await zs(n,Ce.value,i);return Hn(a,l,t)?(ae.value=pt(a.conversationId,ln(Be,a.conversationId,ha(ae.value,u.items))),Pn=u.nextPageToken,Re.value=u.exhausted||u.nextPageToken===void 0,sn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Hn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=tn(u,"profile.channel-mentions.page",a);return sn="more",_.value=f,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function yr(a=null,i=""){an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,te.value=a===null?null:Ee(a),ae.value=[],Ce.value=i,Te.value=false,Re.value=false,_.value=null,Pn=void 0,sn=void 0;}function rc(a,i=""){return ee(te.value,a)&&Ce.value===i?(an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,Te.value=false,_.value=null,Pn=void 0,sn=void 0,qt(a,{useCache:false})):(yr(a,i),qt(a))}function oc(a){let i=te.value;if(i===null)return;yr(i,a);let t=Rn,l=n.getGeneration();(async()=>{try{let u=await Bo(n,i,a||void 0);if(!Hn(i,l,t))return;u!==null&&(ae.value=pt(i.conversationId,ln(Be,i.conversationId,u.items)),Pn=u.nextPageToken,Re.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Hn(i,l,t))return;_.value=tn(u,"profile.channel-mentions.cache",i);}Hn(i,l,t)&&(an=setTimeout(()=>{an=void 0,qt(i);},300));})();}function ac(){let a=te.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,Te.value=false,_.value=null,Pn=void 0,Re.value=false,sn=void 0,qt(a,{useCache:false}))}function ic(){let a=te.value;return a===null||sn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):sn==="more"?Ea():qt(a)}function So(a){ee(y.value,a)&&(dt(a,{forceRefresh:true}),ht(a,{forceRefresh:true,preserveExisting:true}));}function br(a){ee(O.value,a)&&Oo(a,{preserveExisting:true});}async function ja(a){if(!ee(R.value,a))return;(await Ut(a,{forceRefresh:true})).ok&&C$1.value?.canViewMembers===true&&br(a);}function sc(a){if(a.type==="profile:updated"){if(a.profileType==="user")ar(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&M({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let Z={conversationType:"group",conversationId:a.id};if(Kt(Z)||mr(Z)){k.add(Z.conversationId);return}ee(y.value,Z)?Lt(Z,{includeMembers:true,forceRefresh:true}):dt(Z,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let Z={conversationType:"channel",conversationId:a.channelId};hn(Z)||vr(Z)?ce.add(Z.conversationId):ja(Z);return}if(a.type==="sync:complete"){for(let Z of a.conversations)if(Z.conversationType==="group"){let Ge={conversationType:"group",conversationId:Z.conversationId};ee(y.value,Ge)&&So(Ge);}else if(Z.conversationType==="channel"){let Ge={conversationType:"channel",conversationId:Z.conversationId};(ee(R.value,Ge)||ee(O.value,Ge)||ee(te.value,Ge))&&(Gn(Ge),br(Ge));}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"&&Pu.has(t)){let Z={conversationType:"group",conversationId:i.conversationId},Ge=(a.source??"live")==="live",wn=t==="group_member_renamed"&&l.some(fn=>fn.trim()===u)&&Kt(Z,"set-my-nickname"),To=t==="group_member_renamed"&&!wn;if(t==="group_member_renamed"){wn||xa(n,i);for(let fn of l)wn&&fn.trim()===u||ba(Z,fn);}if(t==="group_member_joined"||t==="group_member_invited")for(let fn of l)Io(Z,fn);if(Ge&&(t==="group_member_left"||t==="group_member_removed"))for(let fn of l)go(Z,fn);if(mr(Z)){q.add(Z.conversationId);return}Ge&&!wn&&(To?ee(y.value,Z)&&ht(Z,{forceRefresh:true,preserveExisting:true}):So(Z));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!ku.has(t)||!f)return;let w={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(Z=>hn(w,Z.trim()===u?"set-my-nickname":"set-member-nickname",Z)))){if(t==="channel_member_renamed")for(let Z of l)Oa(w,Z);if(t==="channel_admin_added"||t==="channel_admin_removed"){let Z=t==="channel_admin_added"?"admin":"member";for(let Ge of l)Jn(w,Ge,Z);}if(t==="channel_owner_transferred"){for(let Ge of l)Jn(w,Ge,"owner");let Z=i.body.system?.operatorId;Z!==void 0&&!l.includes(Z)&&Jn(w,Z,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let Z of l)Ro(w,Z);if(t==="channel_member_left"||t==="channel_member_removed")for(let Z of l)Co(w,Z);if(vr(w)){Gl(w,Gs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Gs.has(t)?Gn(w,l):mt(w,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&ft(w,l,{forceRefresh:true}),br(w);}}let lc=n.subscribeProfileChange(()=>{o.value+=1;}),cc=n.subscribeEvents(sc);function wa$1(){P["set-remark"]+=1,P.block+=1,P.report+=1,P["delete-friendship"]+=1,Ie.direct+=1,c.value=null,m.value=null,g.value="unknown",j.value=false,z.value=null,Ve+=1,K.value=[],x.value=false,W.value=null;}function xa$1(){for(let a of Object.keys(J))J[a]+=1;for(let a of Object.keys(pe))pe[a]+=1;Pe.clear(),E$1.clear(),be.clear(),k.clear(),q.clear(),Ie.group+=1,We+=1,y.value=null,v.value=null,A$1.value=[],V.value=false,H.value=false,F$1.value=null;}function Cr(){for(let a of Object.keys(He))He[a]+=1;T.clear(),xe.clear(),fe.clear(),ue.clear(),ce.clear(),we.clear(),Ie.channel+=1,R.value=null,C$1.value=null,L.value=false,Q.value=null,Ke+=1,me.value=null,he.value=null,Se.value=false,se.value=null,Yn(),yr();}function Aa$1(){wa$1(),P["search-user"]+=1,P["resolve-application-target"]+=1,P["request-friendship"]+=1,xa$1(),Cr(),Fe.clear();for(let a of ["individual","group","channel"])ut[a]+=1,Object.assign(ve[a],Lr());Wn.clear(),vo(),nn.clear(),Ze.clear(),Be.clear(),bn.clear(),on.clear(),Cn.clear(),ge.clear(),s.value={},rn.size>0&&(rn.clear(),An.value+=1);}function uc(){U||(Aa$1(),U=true,Pe.clear(),E$1.clear(),be.clear(),fe.clear(),ue.clear(),T.clear(),xe.clear(),lc(),cc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:j,directError:z,directMutualGroups:K,directMutualGroupsLoading:x,directMutualGroupsError:W,groupRef:y,groupProfile:v,groupMembers:A$1,groupLoading:V,groupMembersLoading:H,groupError:F$1,channelRef:R,channelProfile:C$1,channelLoading:L,channelError:Q,directories:ve,directorySearchKeyword:B,directorySearchResult:b,directorySearchLoading:$,directorySearchError:oe,channelMembersRef:O,channelMembers:G,channelMemberQuery:S,channelMembersLoading:N,channelMembersExhausted:ne,channelMembersError:le,channelMemberDetailRef:me,channelMemberDetail:he,channelMemberDetailLoading:Se,channelMemberDetailError:se,channelMentionsRef:te,channelMentions:ae,channelMentionQuery:Ce,channelMentionsLoading:Te,channelMentionsExhausted:Re,channelMentionsError:_,resolveDisplayName:uo,resolveAvatarUrl:or,resolvePublicNickname:fo,resolveSenderProfile:ar,resolveGroupMemberProfiles:dt,resolveChannelMemberProfiles:ft,invalidateChannelMemberProfiles:mt,invalidateChannelMemberSet:Gn,channelMentionRevision:co,loadDirect:M,resolveProfileAccess:D$1,loadDirectMutualGroups:ie,setDirectContactRemark:ke,blockDirectContact:Me,reportDirectContact:qe,deleteDirectFriendship:Qe,searchDirectContact:_e,resolveDirectContactTarget:Xe,requestDirectFriendship:un,loadGroup:Lt,updateGroupName:Ne,updateGroupAvatar:dn,setMyGroupNickname:Kn,updateGroupVerification:Nn,isGroupProfileWritePending:Kt,inviteGroupMembers:Tl,removeGroupMember:El,transferGroupOwnership:jl,leaveGroup:wl,isGroupMemberManagementPending:mr,ensureGroupMembers:ht,loadChannel:Ut,requestMembershipJoin:ql,updateChannelName:Il,updateChannelDescription:hl,updateChannelAvatar:yl,setMyChannelNickname:bl,setChannelMemberNickname:Cl,updateChannelVerification:Rl,setChannelAllMuted:Pl,setChannelMemberPrivateChatDisabled:kl,isChannelProfileWritePending:hn,inviteChannelMembers:_l,removeChannelMember:Kl,setChannelMemberAdmin:Nl,transferChannelOwnership:Hl,leaveChannel:Ll,dismissChannel:Ul,isChannelMemberManagementPending:vr,loadDirectory:Vl,refreshDirectory:Bl,searchDirectory:Wl,clearDirectorySearch:vo,openChannelMembers:Oo,getChannelMember:ko,loadChannelMember:Zl,setChannelMemberQuery:ec,loadMoreChannelMembers:nc,retryChannelMembers:tc,resetChannelMembers:Yn,updateGroupMemberNicknameProjection:ya$1,clearGroupMemberNicknameProjection:ba,removeGroupMemberProjection:go,restoreGroupMemberProjection:Io,isGroupMemberRemovedProjection:Ca,clearGroupMemberProjections:ho,updateChannelNameProjection:Ra,updateChannelDescriptionProjection:Pa,updateChannelAvatarProjection:ka,updateChannelVerificationProjection:Ma,updateChannelManagementProjection:yo,updateChannelMemberDisplayNameProjection:bo,updateChannelMemberRoleProjection:Jn,clearChannelMemberDisplayNameProjection:Oa,channelMemberNicknameProjection:Yl,removeChannelMemberProjection:Co,restoreChannelMemberProjection:Ro,isChannelMemberRemovedProjection:Po,clearChannelMemberProjections:hr,openChannelMentions:rc,setChannelMentionQuery:oc,loadMoreChannelMentions:Ea,refreshChannelMentions:ac,retryChannelMentions:ic,resetChannelMentions:yr,resetDirect:wa$1,resetGroup:xa$1,resetChannel:Cr,reset:Aa$1,dispose:uc}})}var Fs=new WeakMap,Ur=new WeakMap;function $o(e=Ae()){Oe(e);let n=Fs.get(e);n===void 0&&(n=Ou(e),Fs.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function _s(e,n,r){let o=ref({}),s=0,c=()=>false,m,g=shallowRef([]),j=[],z$1=0;function K(){for(;z$1<4&&j.length>0;){let F=j.shift();z$1+=1,F.run().then(F.resolve,F.reject).finally(()=>{z$1-=1,K();});}}function x(F){return new Promise((R,C)=>{j.push({run:F,resolve:R,reject:C}),K();})}function W(){s+=1,o.value={},g.value=[],c=()=>false;for(let F of j.splice(0))F.resolve();}function y(F){let R={name:"",avatarUrl:""};if(!c()||r.activeRef?.conversationType!==F.ref.conversationType||r.activeRef.conversationId!==F.ref.conversationId)return {...R,status:"unavailable"};m?.profileRevision;let C=n.getSenderProfileCache();if(F.senderId===n.getCredentials().userId)return {...R,status:"self",avatarUrl:E(C,F.senderId)};if(F.senderId==="system")return {...R,status:"system"};if(F.ref.conversationType==="robot"){let ve=r.display,B=F.senderId===F.ref.conversationId&&ve?.title!==F.ref.conversationId?ve?.title.trim()??"":"";return {name:B,avatarUrl:B===""?"":ve?.avatar??"",status:B===""?"unavailable":"ready"}}let L=F.ref.conversationType==="channel"?B(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):z(C,n.getGroupMemberNames(),F.ref.conversationType==="group"?F.ref.conversationId:"",F.senderId),Q=F.ref.conversationType==="channel"?D(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):E(C,F.senderId);return {name:L,avatarUrl:Q,status:L===""?o.value[F.senderId]??"unavailable":"ready"}}async function v(F,R,C=false){if(!R()||F.length===0)return;c=R,C||(g.value=F);let L=s,Q=()=>L===s&&R(),ve=F[0].ref;if(ve.conversationType==="robot")return;m??=$o(e);let B=m,b=F.flatMap(O=>[O.senderId,...O.previewParts.flatMap(G=>G.kind==="rich-text"?G.mention?.atUserIds??[]:[])]),$=[...new Set(b)].filter(O=>O!==""&&O!=="system"&&O!==n.getCredentials().userId&&o.value[O]!=="loading"&&(C||o.value[O]===void 0));if($.length===0)return;for(let O of $)o.value[O]="loading";let oe=Promise.allSettled([Promise.resolve().then(()=>Q()?ve.conversationType==="group"?B.resolveGroupMemberProfiles({conversationType:"group",conversationId:ve.conversationId},{forceRefresh:C}):ve.conversationType==="channel"?B.resolveChannelMemberProfiles({conversationType:"channel",conversationId:ve.conversationId},$,{forceRefresh:C,isCurrent:Q}):true:false)]).then(([O])=>O.status==="fulfilled"&&O.value);await Promise.all($.map(O=>x(async()=>{if(!Q())return;let[G,S]=await Promise.allSettled([oe,Promise.resolve().then(()=>B.resolveSenderProfile(O,{forceRefresh:C}))]);if(!Q())return;let N=G.status==="rejected"||G.value===false||S.status==="rejected"||S.value===false;o.value[O]=N?"failed":"unavailable";})));}function A(){return g.value.flatMap(F=>{if(F.ref.conversationType==="robot")return [];let R=F.previewParts.flatMap(C=>C.kind==="rich-text"?(C.mention?.atUserIds??[]).filter(L=>!C.mention?.atUsersName?.[L]?.trim()):[]);return [F.senderId,...R].map(C=>({...F,senderId:C,previewParts:[]})).filter(C=>["failed","unavailable"].includes(y(C).status))})}let V=computed(()=>A().length>0);async function H(){await v(A(),c,true);}return {senderFor:y,prepare:v,reset:W,hasRetryableSenderProfiles:V,retrySenderProfiles:H}}var zu=250,Du=2e3;function Ns(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Wo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Qo(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ns(r)}})}function Gu(e){return defineStore("k2-im-search",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=_s(e,n,o),c=ref(""),m=ref([]),g=ref(false),j=ref(false),z=ref("all"),K=ref(""),x=ref(""),W=shallowRef(null),y=false,v=0,A=0,V,H,F,R,C;function L(){let se=o.activeRef,te=o.getHandle();if(!(y||se===null||te===void 0||!Wo(se,te.ref)))return {ref:Ns(se),handle:te,generation:n.getGeneration()}}function Q(se){return !y&&n.getGeneration()===se.generation&&o.getHandle()===se.handle&&Wo(o.activeRef,se.ref)}function ve(){let se=F;se!==void 0&&(clearTimeout(se.timer),F=void 0,se.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function B(){R!==void 0&&(clearTimeout(R),R=void 0);}function b(se,te){return te===v&&(g.value=false),Object.freeze({ok:false,operation:se,reason:"stale"})}function $(se,te){return se===A&&K.value===te&&(K.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function oe(se,te,ae){switch(ae){case "all":return Da(n,{conversation:se.ref,keyword:te});case "text":return Ea(n,{conversation:se.ref,keyword:te});case "file":return Fa(n,{conversation:se.ref,keyword:te});case "image":return Ga(n,{conversation:se.ref});case "video":return Ha(n,{conversation:se.ref});case "voice":return Ia(n,{conversation:se.ref})}}function O(se,te){return se!==""?true:te!=="all"&&te!=="text"}function G(se){c.value=se,ve();let te=++v,ae=se.trim(),Ce=z.value,Te=O(ae,Ce);if(H=void 0,m.value=[],s.reset(),j.value=false,W.value=null,!Te)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Re=L();return Re===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(_=>{let U=setTimeout(()=>{if(F?.timer===U&&(F=void 0),te!==v||!Q(Re)){_(b("search",te));return}r.record("debug","pinia","history","search-start",()=>({generation:Re.generation,conversation:Re.ref,category:Ce})),oe(Re,ae,Ce).then(ge=>{if(te!==v||!Q(Re)){_(b("search",te));return}m.value=[...ge.results],s.prepare(m.value,()=>Q(Re)),H=ge.nextPageToken,j.value=!ge.exhausted,g.value=false,_(Object.freeze({ok:true,operation:"search"}));}).catch(ge=>{if(te!==v||!Q(Re)){_(b("search",te));return}let ye=Qo(ge,"search.first-page",Re.ref);W.value=ye,g.value=false,_(Object.freeze({ok:false,operation:"search",reason:"failed",error:ye}));});},zu);F={timer:U,resolve:_};}))}function S(se){return z.value=se,(se==="image"||se==="video"||se==="voice")&&(c.value=""),G(c.value)}async function N(){if(g.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!j.value||H===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let se=L();if(se===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let te=H,ae=++v;g.value=true,W.value=null;try{let Ce=await Ja(n,te);return ae!==v||!Q(se)?b("load-more",ae):(m.value=[...m.value,...Ce.results],s.prepare(m.value,()=>Q(se)),H=Ce.nextPageToken,j.value=!Ce.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(Ce){if(ae!==v||!Q(se))return b("load-more",ae);let Te=Qo(Ce,"search.next-page",se.ref);return W.value=Te,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Te})}}async function ne(se,te){let ae=L();if(ae===void 0||!Wo(ae.ref,se))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let Ce=++A;V?.abort();let Te=new AbortController;V=Te,B(),x.value="",K.value="",K.value=te,W.value=null;try{return !await o.loadAround(te,{skipIfLoaded:!0,signal:Te.signal})||(await nextTick(),Ce!==A||!Q(ae))?$(Ce,te):(x.value=te,Object.freeze({ok:!0,operation:"locate"}))}catch(Re){if(Ce!==A||!Q(ae))return $(Ce,te);let _=Qo(Re,"search.locate",ae.ref),U=a(Re).reason;return U==="load-failed"&&r.record("warn","pinia","search","message-locate-failed",()=>({conversation:ae.ref,error:{message:"\u8BFB\u53D6\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5931\u8D25",data:Re}})),K.value="",W.value=U==="cancelled"?null:_,Object.freeze({ok:false,operation:"locate",reason:U==="load-failed"||U==="not-visible"?"failed":U,...U==="cancelled"?{}:{error:_}})}finally{V===Te&&(V=void 0);}}function le(se){if(K.value!==se)return false;K.value="";let te=A,ae=L();return B(),ae===void 0||x.value!==se||(R=setTimeout(()=>{R=void 0,te===A&&Q(ae)&&x.value===se&&(x.value="");},Du)),true}function me(){A+=1,V?.abort(),V=void 0,B(),K.value="",x.value="";}function he(se){v+=1,ve(),c.value="",m.value=[],s.reset(),g.value=false,j.value=false,z.value="all",H=void 0,W.value=null,se?.preserveLocation!==true&&me();}function Se(){y||(he(),y=true,C?.(),C=void 0);}return C=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>he(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:j,category:z,locatingMessageId:K,highlightMessageId:x,error:W,search:G,setCategory:S,loadMore:N,locate:ne,completeLocation:le,clearLocation:me,reset:he,dispose:Se}})}var Ks=new WeakMap,qr=new WeakMap;function xn(e=Ae()){Oe(e);let n=Ks.get(e);n===void 0&&(n=Gu(e),Ks.set(e,n));let r=n(e);return qr.get(e)!==r&&(qr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),qr.get(e)===r&&qr.delete(e);})),r}var Vr=new WeakMap;function Hs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fu(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function _u(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ku(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&&_u(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hs(n)})}function Nu(e=Ae()){let n=Oe(e),r=Vr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=No(e),m=$e(e),g=tt(e),j=Qt(e),z=xn(e),K={disposed:false};function x(W){let y=Hs(W);if(K.disposed)return Object.freeze({ok:false,reason:"stale",conversation:y});let v=o.getGeneration(),A=m.activeRef!==null&&m.activeRef.conversationType===y.conversationType&&m.activeRef.conversationId===y.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:v,conversation:y})),!Fu(y))return Object.freeze({ok:false,reason:"unsupported",conversation:y});let V=c.deleteLocal(y);if(!V.ok){if(V.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:y});let R=Ku(V.error,y);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:v,conversation:y,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:R}})),Object.freeze({ok:false,reason:"delete-failed",conversation:y,error:R})}if(K.disposed||o.getGeneration()!==v)return Object.freeze({ok:false,reason:"stale",conversation:y});Gi(e,y);let H=m.closeActiveConversation(y),F=A||H;return F&&(g.reset(),j.reset(),z.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:v,conversation:y,data:{activeConversationCleared:F}})),Object.freeze({ok:true,status:"deleted",conversation:y,activeConversationCleared:F})}return K.coordinator=Object.freeze({deleteLocal:x}),Vr.set(e,K),De(e,()=>{K.disposed=true,Vr.get(e)===K&&Vr.delete(e);}),K.coordinator}var Ls=30,Lu=15,Uu=20,qu=4294967295,Us=new WeakMap;function $r(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 qs(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>qu)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Vu(e,n){if(!$r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=At(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=qs(e.width,"asset.width"),c=qs(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: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:At(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function tr(e,n){let r=Us.get(e);r===void 0&&(r=new Map,Us.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 Vs(e,n,r,o){let s=tr(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Wr=new WeakMap;function nr(){return reactive({loading:false,loaded:false,error:null})}function jt(e){return {sticker:e(),gif:e()}}function Bs(e){return {sticker:e(),gif:e(),emoji:e()}}function Vn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function Bu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function wt(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&&Bu(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Jo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function $s(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 $u(e){let n=[];for(let r=0;r<e.length;r+=Ls)n.push(e.slice(r,r+Ls));return n}function Qr(e){return e==="gif"?Uu:Lu}function Ye(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function Xo(e,n){let r=Ye(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ye(o)!==r)].slice(0,Qr(n.kind)))}function Wu(e,n){let r=Ye(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ye(o)!==r)])}function Ws(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ye(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Qr(e)))break}return Object.freeze(o)}function Qs(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function ea(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Yo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:ea(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Zo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Qu(e){return defineStore("k2-im-expression",()=>{let n=Oe(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),j=nr(),z=reactive({}),K=ref({sticker:[],gif:[]}),x=jt(nr),W=ref({sticker:[],gif:[]}),y=ref({sticker:[],gif:[],emoji:[]}),v=Bs(nr),A=ref({sticker:[],gif:[],emoji:[]}),V=ref([]),H=ref("idle"),F=ref(""),R=ref([]),C=ref(0),L=nr(),Q=ref(void 0),ve=computed(()=>Vn(j,m.value.length)),B=computed(()=>{let d=new Set([...Object.keys(z),...Object.keys(g.value)]);return Object.fromEntries([...d].map(p=>{let I=z[p]??{loading:false,loaded:true,error:null};return [p,Vn(I,g.value[p]?.length??0)]}))}),b=computed(()=>({sticker:Vn(x.sticker,K.value.sticker.length),gif:Vn(x.gif,K.value.gif.length)})),$=computed(()=>({sticker:Vn(v.sticker,y.value.sticker.length),gif:Vn(v.gif,y.value.gif.length),emoji:Vn(v.emoji,V.value.length)})),oe=computed(()=>Vn(L,R.value.length)),O=computed(()=>Q.value!==void 0),G=false,S=0,N=0,ne={},le=jt(()=>0),me=Bs(()=>0),he=0,Se=0,se=0,te=0,ae=0,Ce=null,Te=null,Re=null,_="emoji",U=new Set,ge=[],ye=null,Ie=null,Ve=null,P=null,J=jt(()=>new Map),pe=jt(()=>new Map),be=new Map,je=new Map,Pe=jt(()=>Promise.resolve());function E(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:S,accountId:d.userId}}function k(d){return !G&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===S&&d.accountId===r.getCredentials().userId}function q(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function ue(d,p,I){let h=wt(p,d);return I.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function fe(){return Object.freeze({ok:false,reason:"stale"})}function ze(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 He(){let d=p=>Object.freeze(y.value[p].flatMap(I=>{let h=ze(I);return h===null?[]:[Object.freeze({asset:h,pendingSync:J[p].has(Ye(h))})]}).slice(0,Qr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(V.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:be.has(p.stableKey)})))})}function xe(){for(let d of ["sticker","gif","emoji"])v[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(v[d].error=null);}function T(d,p){let I=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=I,Object.freeze({ok:false,operation:d,reason:"failed",error:I})}function Y(d,p,I,h=[p]){let M=o,D=++se,ie=Vs(M,d.accountId,I,h);ae=ie.revision;let de=ie.promise.then(()=>(k(d)&&D===se&&xe(),true),re=>{if(!k(d)||D!==se)return false;let ke=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return v[p].error=ke,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ke.code,data:re}})),false});return {...ie,settled:de}}function ce(d){return Ce!==null&&on(Ce,d)}function we(d){if(Ve!==null)return Ve;let I=(async()=>{for(;k(d)&&!ce(d);){let M=P!==null&&on(P.context,d)?P:null;if(M!==null){let ie=await M.promise;if(ie.ok||!k(d)||ie.reason!=="stale")return;continue}let D=await rn();if(D.ok||!k(d)||D.reason!=="stale")return}})();Ve=I;let h=()=>{Ve===I&&(Ve=null);};return I.then(h,h),I}function Fe(d,p,I){if(!k(d))return Promise.resolve();if(te+=1,o===void 0||d.accountId==="")return Ce=d,Promise.resolve();let h=He();return ce(d)?Y(d,p,h).settled.then(()=>{}):(Re=h,_=p,U.add(p),ge.push(I),we(d))}function Ue(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function We(d$1,p){let I=[...d$1.sticker],h=[...d$1.gif],M=[...d$1.emoji],D=new Map(d$1.pendingSticker),ie=new Map(d$1.pendingGif),de=new Map(d$1.pendingEmoji);for(let re of p){if(re.type==="prepend-asset"){(re.kind==="sticker"?D:ie).set(Ye(re.asset),re.asset),re.kind==="sticker"?I=[...Xo(I,re.asset)]:h=[...Xo(h,re.asset)];continue}if(re.type==="prepend-emoji"||re.type==="prepend-emojis"){let Me=re.type==="prepend-emoji"?[re.entry]:re.entries;for(let qe of Me)qe.kind==="emoji"&&de.set(qe.stableKey,qe),M=[...d(M,qe)];continue}if(re.type==="authoritative"){if(re.kind==="emoji"){for(let Me of re.items)if(Me.kind==="emoji")for(let[qe,Qe]of de)Qe.resourceId===Me.resourceId&&de.delete(qe);M=[...Yo(re.items,M,new Set(de.keys()))];}else {let Me=re.kind==="sticker"?D:ie;for(let Qe of re.items)Qe.kind===re.kind&&Me.delete(Ye(Qe));let qe=Ws(re.kind,re.items,Me);re.kind==="sticker"?I=[...qe]:h=[...qe];}continue}if(re.type==="delete-assets"){let Me=new Set(re.identities),qe=re.kind==="sticker"?D:ie,Qe=_e=>_e.kind==="emoji"||!Me.has(Ye(_e))||qe.has(Ye(_e));re.kind==="sticker"?I=I.filter(Qe):h=h.filter(Qe);continue}let ke=new Set(re.resourceIds);M=M.filter(Me=>Me.kind==="game"||!ke.has(Me.resourceId)||de.has(Me.stableKey));}return {sticker:Object.freeze(I),gif:Object.freeze(h),emoji:Object.freeze(M),pendingSticker:D,pendingGif:ie,pendingEmoji:de}}function Ke(d){if(!$r(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(de,re)=>{let ke=[],Me=new Map,qe=new Set;for(let Qe of re){if(!$r(Qe)||typeof Qe.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let _e=Vu(Qe.asset,de),Xe=Ye(_e);qe.has(Xe)||(qe.add(Xe),ke.length<Qr(de)&&(ke.push(_e),Qe.pendingSync&&Me.set(Xe,_e)));}return {items:Object.freeze(ke),pending:Me}},I=p("sticker",d.sticker),h=p("gif",d.gif),M=[],D=new Map,ie=new Set;for(let de of d.emoji){if(!$r(de)||typeof de.stableKey!="string"||de.stableKey.trim()===""||de.kind!=="emoji"&&de.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let re=de.stableKey.trim(),ke,Me=false;if(de.kind==="game"){if(de.gameType!=="dice"&&de.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ke=Zo(de.gameType),ke.stableKey!==re)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let qe=At(de.token,"emoji.token"),Qe=At(de.resourceId,"emoji.resourceId");if(typeof de.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Me=de.pendingSync,ke=Object.freeze({kind:"emoji",stableKey:re,token:qe,resourceId:Qe});}ie.has(re)||(ie.add(re),M.length<14&&(M.push(ke),ke.kind==="emoji"&&Me&&D.set(re,ke)));}return {sticker:I.items,gif:h.items,emoji:Object.freeze(M),pendingSticker:I.pending,pendingGif:h.pending,pendingEmoji:D}}function nn(d){y.value={sticker:d.sticker,gif:d.gif,emoji:[]},A.value={sticker:[],gif:[],emoji:[]},V.value=d.emoji,J.sticker.clear(),J.gif.clear(),be.clear();for(let[p,I]of d.pendingSticker)J.sticker.set(p,I);for(let[p,I]of d.pendingGif)J.gif.set(p,I);for(let[p,I]of d.pendingEmoji)be.set(p,I);for(let p of ["sticker","gif","emoji"])Object.assign(v[p],{loading:false,loaded:true,error:null});}function Ze(d,p){if(o===void 0||d.accountId==="")return 0;let I=tr(o,d.accountId);return p===void 0?I.revision:I.kindRevisions[p]}function Be(d){if(o===void 0||d.accountId===""||!ce(d))return;let p=tr(o,d.accountId);if(p.revision===ae)return;let I=p.latestSnapshot===null?Ue():Ke(p.latestSnapshot),h=(M,D)=>{let ie=M==="sticker"?I.pendingSticker:I.pendingGif,de=new Map(y.value[M].flatMap(re=>re.kind==="emoji"||re.kind!==M?[]:[[Ye(re),re]]));return Object.freeze(D.map(re=>{if(re.kind==="emoji"||re.kind!==M)return re;let ke=Ye(re);if(ie.has(ke))return re;let Me=xt(de.get(ke)??re);return Object.freeze({...re,...Me===void 0?{}:{recordId:Me}})}))};y.value={sticker:h("sticker",I.sticker),gif:h("gif",I.gif),emoji:y.value.emoji},V.value=I.emoji,J.sticker.clear(),J.gif.clear(),be.clear();for(let[M,D]of I.pendingSticker)J.sticker.set(M,D);for(let[M,D]of I.pendingGif)J.gif.set(M,D);for(let[M,D]of I.pendingEmoji)be.set(M,D);for(let M of ["sticker","gif"]){let D=new Set(y.value[M].flatMap(ie=>xt(ie)===void 0?[]:[xt(ie)]));A.value={...A.value,[M]:Object.freeze(A.value[M].filter(ie=>D.has(ie)))};}ae=p.revision;}async function bn(d,p,I,h){let M="hydrate-recent";v.emoji.error=null;try{let D=null,ie=0;if(o!==void 0&&d.accountId!==""){D=tr(o,d.accountId);let _e=D.latestSnapshot;if(!h&&D.status==="failed"&&_e!==null&&Vs(o,d.accountId,_e,[]),ie=D.revision,await D.tail.catch(()=>{}),p!==Se||!k(d)||te!==I||D.revision!==ie)return q(M);if(!h&&D.status==="failed")return T(M,v.emoji);D.status==="saved"&&ye!==null&&D.latestSnapshot===ye&&Re===Ie&&(Re=null,U.clear(),ge.length=0,ye=null,Ie=null);}let de=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Se||!k(d)||te!==I||D!==null&&D.revision!==ie)return q(M);let re;try{re=de===null?Ue():Ke(de);}catch(_e){let Xe=o?.clearInvalid;if(de!==null&&d.accountId!==""&&Xe!==void 0)try{await Xe(d.accountId,de);}catch(un){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:un})}throw _e}let ke=h?null:Re,Me=new Set(U),qe=[...ge],Qe=ke===null?re:We(re,qe);if(nn(Qe),ae=ie,h){if(Re=null,U.clear(),ge.length=0,ye=null,Ie=null,D!==null){D.revision+=1;for(let _e of ["sticker","gif","emoji"])D.kindRevisions[_e]+=1;D.status="saved",D.latestSnapshot=de,D.error=null,ae=D.revision;}return Ce=d,xe(),Object.freeze({ok:!0,operation:M})}if(ke!==null&&o!==void 0&&d.accountId!==""){let _e=He();ye=_e,Ie=ke;let Xe=Y(d,_,_e,[...Me]),un=await Xe.settled;if(p!==Se||!k(d)||te!==I||Xe.coordinator.revision!==Xe.revision)return q(M);if(!un)return T(M,v.emoji);Re===ke&&(Re=null,U.clear(),ge.length=0,ye=null,Ie=null);}return Ce=d,Object.freeze({ok:!0,operation:M})}catch(D){return p!==Se||!k(d)?q(M):ue(M,D,v.emoji)}}function on(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function rn(d={}){let p="hydrate-recent";if(G)return Promise.resolve(q(p));let I;try{I=E();}catch(ke){let Me=ue(p,ke,v.emoji);return !Me.ok&&Me.reason==="failed"&&(Te=Me.error??v.emoji.error),Promise.resolve(Me)}let h=o===void 0||I.accountId===""?null:tr(o,I.accountId);if(!d.force&&ce(I)&&Re===null&&(h===null||(h.status==="idle"||h.status==="saved")&&h.revision===ae))return Te=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&P!==null&&!P.force&&P.stateRevision===te&&on(P.context,I))return P.promise;let M=++Se,D=te,ie=bn(I,M,D,d.force===true).then(ke=>(ke.ok?Te=null:ke.reason==="failed"&&(Te=ke.error??v.emoji.error),ke)),de={context:I,stateRevision:D,force:d.force===true,promise:ie};P=de;let re=()=>{P===de&&(P=null);};return ie.then(re,re),ie}async function Cn(d){let p="load-packs";if(G)return q(p);let I=++N,h;try{h=E();}catch(M){return ue(p,M,j)}j.loading=true,j.error=null;try{let M=await h.client.expressions.packs.list(d);return I!==N||!k(h)?q(p):(c.value=M.version,m.value=Object.freeze([...M.items]),j.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(M){return I!==N||!k(h)?q(p):ue(p,M,j)}finally{I===N&&k(h)&&(j.loading=false);}}async function An(d){let p="load-pack-items";if(G)return q(p);let I=d.trim();if(I===""){let ie=wt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:ie})}let h=z[I]??=nr(),M=(ne[I]??0)+1;ne[I]=M;let D;try{D=E();}catch(ie){return ue(p,ie,h)}h.loading=true,h.error=null;try{let ie=await D.client.expressions.packs.listItems(I);return ne[I]!==M||!k(D)?q(p):(g.value={...g.value,[I]:Object.freeze([...ie])},h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(ie){return ne[I]!==M||!k(D)?q(p):ue(p,ie,h)}finally{ne[I]===M&&k(D)&&(h.loading=false);}}async function ut(d){let p="load-favorites";if(G)return q(p);let I=++le[d],h=x[d],M;try{M=E();}catch(D){return ue(p,D,h)}h.loading=true,h.error=null;try{let D=await M.client.expressions.favorites.list(d);return le[d]!==I||!k(M)?q(p):(Wn(d,D),h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(D){return le[d]!==I||!k(M)?q(p):ue(p,D,h)}finally{le[d]===I&&k(M)&&(h.loading=false);}}function Wn(d,p){for(let D of p)pe[d].delete(Ye(D));let I=[],h=new Set;for(let D of [...pe[d].values(),...p]){let ie=Ye(D);h.has(ie)||(h.add(ie),I.push(Object.freeze({...D})));}K.value={...K.value,[d]:Object.freeze(I)};let M=new Set(p.flatMap(D=>D.recordId===void 0?[]:[D.recordId]));W.value={...W.value,[d]:Object.freeze(W.value[d].filter(D=>M.has(D)))};}async function Qn(d,p,I){let h=x[p];try{let M=await d.client.expressions.favorites.list(p);if(le[p]!==I||!k(d))return;Wn(p,M),h.loaded=!0;}catch(M){le[p]===I&&k(d)&&(h.error=wt(M,"load-favorites"));}}function Tn(d,p){let I="set-favorite";if(G)return Promise.resolve(q(I));let h=Ye(d),M=je.get(h);if(M?.desired===p)return M.promise;let D;try{D=E();}catch(ke){return Promise.resolve(ue(I,ke,x[d.kind]))}let ie=M?.promise.catch(()=>{})??Promise.resolve(),de=Pe[d.kind].catch(()=>{}),re=Promise.all([ie,de]).then(async()=>{if(!k(D))return q(I);let ke=d.kind,Me=x[ke];Me.error=null;let qe=K.value[ke].find(_e=>Ye(_e)===h);if(p&&qe!==void 0)return Object.freeze({ok:true,operation:I});if(!p&&qe?.recordId===void 0){let _e=Jo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Me.error=_e,Object.freeze({ok:false,operation:I,reason:"failed",error:_e})}let Qe=++le[ke];try{if(p?await D.client.expressions.favorites.add(d):await D.client.expressions.favorites.delete([qe.recordId]),!k(D))return q(I);p?(pe[ke].set(h,Object.freeze({...d})),K.value={...K.value,[ke]:Wu(K.value[ke],d)}):(pe[ke].delete(h),K.value={...K.value,[ke]:Object.freeze(K.value[ke].filter(Xe=>Xe.recordId!==qe.recordId))});let _e=++le[ke];return Qe=_e,await Qn(D,ke,_e),!k(D)||le[ke]!==_e?q(I):Object.freeze({ok:!0,operation:I})}catch(_e){return !k(D)||le[ke]!==Qe?q(I):ue(I,_e,Me)}finally{le[ke]===Qe&&k(D)&&(Me.loading=false);}});return je.set(h,{desired:p,promise:re}),Pe[d.kind]=re.then(()=>{},()=>{}),re.finally(()=>{je.get(h)?.promise===re&&je.delete(h);}),re}async function zn(d){let p=await Tn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Dn(d){return Tn(d,false)}function En(d,p,I){if(G)return;let h=$s(p),M=new Set(W.value[d]);I??!M.has(h)?M.add(h):M.delete(h),W.value={...W.value,[d]:Object.freeze([...M])};}function vn(d,p,I){if(Be(I),d==="emoji"){for(let M of p)if(M.kind==="emoji")for(let[D,ie]of be)ie.resourceId===M.resourceId&&be.delete(D);y.value={...y.value,emoji:Object.freeze([...p])},V.value=Yo(p,V.value,new Set(be.keys()));}else {for(let M of p)M.kind===d&&J[d].delete(Ye(M));y.value={...y.value,[d]:Ws(d,p,J[d])};}let h=new Set(p.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));A.value={...A.value,[d]:Object.freeze(A.value[d].filter(M=>h.has(M)))},v[d].loaded=true,Fe(I,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function gn(d){let p="load-recent";if(G)return q(p);let I=v[d],h=await rn();if(!h.ok)return h.reason==="stale"?q(p):(I.error=h.error??v.emoji.error,Object.freeze({...h,operation:p}));let M=++me[d],D;try{D=E();}catch(ie){return ue(p,ie,I)}I.loading=true,I.error=null;try{let ie=Ze(D,d),de=await D.client.expressions.recent.list(d);return me[d]!==M||!k(D)?q(p):Ze(D,d)!==ie?(Be(D),q(p)):(vn(d,de,D),Object.freeze({ok:!0,operation:p}))}catch(ie){return me[d]!==M||!k(D)?q(p):ue(p,ie,I)}finally{me[d]===M&&k(D)&&(I.loading=false);}}async function Mn(d,p){if(!k(d))return;let I=++me[p],h=v[p];h.loading=true,h.error=null;try{Be(d);let M=Ze(d,p),D=await d.client.expressions.recent.list(p);if(me[p]!==I||!k(d))return;if(Ze(d,p)!==M){Be(d);return}vn(p,D,d);}catch(M){me[p]===I&&k(d)&&(h.error=wt(M,"load-recent"));}finally{me[p]===I&&k(d)&&(h.loading=false);}}function Rn(d,p){if(!k(d))return false;Be(d),Se+=1;let I=p.kind,h=Object.freeze({...p});return J[I].set(Ye(h),h),y.value={...y.value,[I]:Xo(y.value[I],h)},v[I].loaded=true,Fe(d,I,Object.freeze({type:"prepend-asset",kind:I,asset:h})),true}function Pn(d$1,p){if(!k(d$1))return false;Be(d$1),Se+=1;let I=Object.freeze(p.map(M=>Object.freeze({...M}))),h=V.value;for(let M of I)be.set(M.stableKey,M),h=d(h,M);return V.value=h,v.emoji.loaded=true,Fe(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:I})),true}function an(d,p){return Pn(d,[p])}async function sn(d,p,I=true){let h="report-recent";if(!k(d))return q(h);let M=p.kind,D=++me[M],ie=v[M];ie.error=null;try{if(await d.client.expressions.recent.report(p),me[M]!==D||!k(d))return q(h);if(!I)return Object.freeze({ok:!0,operation:h});try{Be(d);let de=Ze(d,M),re=await d.client.expressions.recent.list(M);if(me[M]!==D||!k(d))return q(h);if(Ze(d,M)!==de)return Be(d),q(h);vn(M,re,d);}catch(de){me[M]===D&&k(d)&&(ie.error=wt(de,"load-recent"));}return Object.freeze({ok:!0,operation:h})}catch(de){return me[M]!==D||!k(d)?q(h):ue(h,de,ie)}}async function co(d){let p="report-recent";if(G)return q(p);let I;try{I=E();}catch(h){return ue(p,h,v[d.kind])}return d.kind==="emoji"?an(I,Object.freeze({...d,stableKey:ea(d)})):Rn(I,d),sn(I,d)}function uo(d,p,I){if(G)return;let h=$s(p),M=new Set(A.value[d]);I??!M.has(h)?M.add(h):M.delete(h),A.value={...A.value,[d]:Object.freeze([...M])};}async function or(d,p,I){let h=d==="favorites"?"delete-favorites":"delete-recent";if(G)return q(h);let M=d==="favorites"?W:A,D=d==="favorites"?le:me,ie=d==="favorites"?x:v,de=I?.selected??M.value[p];if(de.length===0)return Object.freeze({ok:false,operation:h,reason:"empty"});let re=ie[p];if(re.loading)return Object.freeze({ok:false,operation:h,reason:"busy"});let ke=++D[p],Me;try{Me=I?.context??E();}catch(Ne){return ue(h,Ne,re)}d==="recent"&&Be(Me);let qe=d==="recent"?Ze(Me,p):0,Qe=new Set(de),_e=d==="recent"?y.value[p].filter(Ne=>{let dn=xt(Ne);return dn!==void 0&&Qe.has(dn)}):[];re.loading=true,re.error=null;let Xe=[],un=new Set,Fn,_n,In=false;for(let Ne of $u(de)){if(!k(Me))return q(h);if(d==="recent"&&D[p]!==ke){In=true;break}try{d==="favorites"?await Me.client.expressions.favorites.delete(Ne):await Me.client.expressions.recent.delete(Ne);for(let dn of Ne)un.add(dn);}catch(dn){let Kn=wt(dn,h);Fn??=Kn,Xe.push(...Ne);}}if(!k(Me))return q(h);if(d==="recent"&&D[p]!==ke&&(In=true),d==="recent"&&Ze(Me,p)!==qe&&(In=true),d==="favorites"){let Ne=p;K.value={...K.value,[Ne]:Object.freeze(K.value[Ne].filter(Nn=>Nn.recordId===void 0||!un.has(Nn.recordId)))};let dn=new Set(de),Kn=W.value[Ne].filter(Nn=>!dn.has(Nn));if(W.value={...W.value,[Ne]:Object.freeze([...new Set([...Kn,...Xe])])},_n=++le[Ne],await Qn(Me,Ne,_n),!k(Me))return q(h)}else {let Ne=p;Be(Me);let dn=_e.filter(Le=>{let hn=xt(Le);return hn!==void 0&&un.has(hn)}),Kn=new Set(dn.filter(Le=>Le.kind==="emoji").map(Le=>Le.resourceId)),Nn=new Set(dn.filter(Le=>Le.kind!=="emoji").map(Ye));Ne==="emoji"&&(V.value=Object.freeze(V.value.filter(Le=>Le.kind==="game"||!Kn.has(Le.resourceId)||be.has(Le.stableKey)))),y.value={...y.value,[Ne]:Object.freeze(y.value[Ne].filter(Le=>{let hn=xt(Le);return hn===void 0||!un.has(hn)}))};let mo=new Set(de),kn=In?A.value[Ne].filter(Le=>!un.has(Le)):A.value[Ne].filter(Le=>!mo.has(Le));if(A.value={...A.value,[Ne]:Object.freeze(In?kn:[...new Set([...kn,...Xe])])},Ne==="emoji"){let Le=y.value.emoji.filter(hn=>hn.kind==="emoji");V.value=Yo(Le,V.value,new Set(be.keys()));}let On=Object.freeze(Ne==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Kn])}:{type:"delete-assets",kind:Ne,identities:Object.freeze([...Nn])});if(Fe(Me,Ne,On),In&&un.size>0&&await Mn(Me,Ne),!k(Me))return q(h)}return (d==="recent"?me[p]===ke:le[p]===_n)&&(re.loaded=true,(Fn!==void 0||d==="recent")&&(re.error=Fn??null),re.loading=false),In?q(h):Xe.length===0?Object.freeze({ok:true,operation:h}):Object.freeze({ok:false,operation:h,reason:un.size===0?"failed":"partial",error:Fn,failedRecordIds:Object.freeze(Xe)})}function fo(d){let p="delete-favorites";if(G)return Promise.resolve(q(p));let I=Object.freeze([...W.value[d]]);if(I.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let h;try{h=E();}catch(ie){return Promise.resolve(ue(p,ie,x[d]))}let D=Pe[d].catch(()=>{}).then(()=>k(h)?or("favorites",d,{context:h,selected:I}):q(p));return Pe[d]=D.then(()=>{},()=>{}),D}function ar(d){return or("recent",d)}function dt(d,p){let I=++he;return H.value=d,F.value=p,R.value=[],C.value=0,Q.value=void 0,L.loading=true,L.loaded=false,L.error=null,I}async function ft(d,p){let I="load-giphy";if(G)return q(I);let h={mode:H.value,query:F.value,items:R.value,totalCount:C.value,nextOffset:Q.value,loaded:L.loaded},M=dt(d,p),D=()=>{H.value=h.mode,F.value=h.query,R.value=h.items,C.value=h.totalCount,Q.value=h.nextOffset,L.loaded=h.loaded;},ie;try{ie=E();}catch(de){return D(),L.loading=false,ue(I,de,L)}try{let de=d==="trending"?await ie.client.expressions.giphy.trending():await ie.client.expressions.giphy.search(p);return M!==he||!k(ie)?q(I):(R.value=Qs(de.items),C.value=de.totalCount,Q.value=de.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:I}))}catch(de){return M!==he||!k(ie)?q(I):(D(),ue(I,de,L))}finally{M===he&&k(ie)&&(L.loading=false);}}function mt(){return ft("trending","")}function Gn(d){if(G)return Promise.resolve(q("load-giphy"));let p=d.trim();return p===""?(dt("search",""),L.loading=false,L.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):ft("search",p)}async function ir(){let d="load-more-giphy";if(G)return q(d);if(L.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(H.value==="idle"||Q.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++he,I=H.value,h=F.value,M=Q.value,D;try{D=E();}catch(ie){return ue(d,ie,L)}L.loading=true,L.error=null;try{let ie=I==="trending"?await D.client.expressions.giphy.trending({offset:M}):await D.client.expressions.giphy.search(h,{offset:M});return p!==he||!k(D)?q(d):(R.value=Qs([...R.value,...ie.items]),C.value=ie.totalCount,Q.value=ie.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ie){return p!==he||!k(D)?q(d):ue(d,ie,L)}finally{p===he&&k(D)&&(L.loading=false);}}async function sr(d){return Gt([d])}async function Gt(d){let p="report-recent";if(G)return q(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let I;try{I=E();}catch(D){return ue(p,D,v.emoji)}let h=Object.freeze(d.map(D=>Object.freeze({...D,stableKey:ea(D)})));if(!Pn(I,h))return q(p);let M=Object.freeze({ok:true,operation:p});for(let[D,ie]of h.entries())if(M=await sn(I,{kind:"emoji",token:ie.token,resourceId:ie.resourceId},D===h.length-1),!M.ok&&M.reason==="stale")return M;return M}function ln(d,p){sn(d,p).then(I=>{s.record(I.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:I.ok}}));});}async function lr(d,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d.messages.sendSticker(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&Rn(I,p)&&ln(I,p),h):fe()}async function Ft(d,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d.messages.sendGifAsset(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&Rn(I,p)&&ln(I,p),h):fe()}async function pt(d$1,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d$1.messages.sendGame(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&(Be(I),Se+=1,V.value=d(V.value,Zo(p)),v.emoji.loaded=true,Fe(I,"emoji",Object.freeze({type:"prepend-emoji",entry:Zo(p)}))),h):fe()}function cn(d={}){if(G)return;let p=d.preserveRecentHydrationFailure===true?Te:null;S+=1,N+=1,he+=1,Se+=1,se+=1,te=0,ae=0,Ce=null,Re=null,U.clear(),ge.length=0,ye=null,Ie=null,Ve=null,P=null,Te=p,je.clear(),Pe=jt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(j,{loading:false,loaded:false,error:null});for(let I of Object.keys(z))delete z[I];for(let I of Object.keys(ne))ne[I]=(ne[I]??0)+1;K.value={sticker:[],gif:[]},W.value={sticker:[],gif:[]};for(let I of ["sticker","gif"])le[I]+=1,Object.assign(x[I],{loading:false,loaded:false,error:null});y.value={sticker:[],gif:[],emoji:[]},A.value={sticker:[],gif:[],emoji:[]},V.value=[],J.sticker.clear(),J.gif.clear(),pe.sticker.clear(),pe.gif.clear(),be.clear();for(let I of ["sticker","gif","emoji"])me[I]+=1,Object.assign(v[I],{loading:false,loaded:false,error:null});p!==null&&(v.emoji.error=p),H.value="idle",F.value="",R.value=[],C.value=0,Q.value=void 0,Object.assign(L,{loading:false,loaded:false,error:null});}function cr(){G||(cn(),G=true);}return Wr.set(e,Object.freeze({dispose:cr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:ve,packItemStatus:B,favorites:K,favoriteStatus:b,favoriteSelection:W,recent:y,recentStatus:$,recentSelection:A,emojiRecent:V,giphyMode:H,giphyQuery:F,giphyItems:R,giphyTotalCount:C,giphyHasMore:O,giphyStatus:oe,hydrateRecent:rn,loadPacks:Cn,loadPackItems:An,loadFavorites:ut,addFavorite:zn,setFavorite:Tn,unsetFavorite:Dn,toggleFavoriteSelection:En,deleteSelectedFavorites:fo,loadRecent:gn,reportRecent:co,rememberEmoji:sr,rememberEmojis:Gt,toggleRecentSelection:uo,deleteSelectedRecent:ar,loadGiphyTrending:mt,searchGiphy:Gn,loadMoreGiphy:ir,sendSticker:lr,sendGif:Ft,sendGame:pt,reset:cn}})}var Js=new WeakMap,Br=new WeakMap;function Ju(e=Ae()){Oe(e);let n=Js.get(e);n===void 0&&(n=Qu(e),Js.set(e,n));let r=n(e),o=Wr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Br.get(e)!==r&&(Br.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),Br.get(e)===r&&(Br.delete(e),Wr.get(e)===o&&Wr.delete(e));})),r}var Jr=new WeakMap;function Ys(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Xu(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Yu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Zu(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&&Yu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ys(n)})}function ed(e=Ae()){let n=Oe(e),r=Jr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=$e(e),m=xn(e),g={disposed:false};function j(v){return !g.disposed&&o.getGeneration()===v.generation&&c.getHandle()===v.handle&&Xr(c.activeRef,v.conversation)}function z(){let v=g.activeIntent;v!==void 0&&(g.activeIntent=void 0,v.complete(Object.freeze({status:"stale",conversation:v.conversation})));}async function K(v){if(!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:v.generation,conversation:v.conversation}));try{if(!await c.loadLatest()||!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:v.generation,conversation:v.conversation})),v.complete(Object.freeze({status:"applied",conversation:v.conversation}));}catch(A){if(!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}let V=Zu(A,v.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:v.generation,conversation:v.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:V}})),v.complete(Object.freeze({status:"failed",conversation:v.conversation,error:V}));}}function x(v){let A=g.activeIntent;A===void 0||v.type!=="message:received"||v.source!=="live"||v.message.senderId!==A.selfId||v.message.status==="sent"||!Xr(v.ref,A.conversation)||(g.activeIntent=void 0,K(A));}async function W(v,A){let V=c.getHandle();if(!Xu(v)||g.disposed||!c.hasNewer||V===void 0||!Xr(V.ref,v)||!Xr(c.activeRef,v))return Object.freeze({value:await A(),history:Object.freeze({status:"not-needed"})});z();let H=Ys(v),F,R=new Promise(L=>{let Q=false;F=ve=>{Q||(Q=true,L(ve));};}),C={token:Symbol("history-return-after-send"),conversation:H,handle:V,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:F};g.activeIntent=C;try{let L=await A();return g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(j(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),Object.freeze({value:L,history:await R})}catch(L){throw g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(j(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),await R,L}}let y=o.subscribeProductEvents(x);return g.coordinator=Object.freeze({run:W}),Jr.set(e,g),De(e,()=>{g.disposed=true,z(),y(),Jr.get(e)===g&&Jr.delete(e);}),g.coordinator}function Zs(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 j=m[0],z={startedAt:j.at,startedBytes:j.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},K=z.lastAt-z.startedAt,x=o-z.startedBytes;if(K<1e3||x<=0)return {sample:z};let W=x*1e3/K,y=(s-o)*1e3/W;return !Number.isFinite(W)||!Number.isFinite(y)?{sample:z}:{sample:z,estimate:{bytesPerSecond:W,estimatedRemainingMs:Math.ceil(y)}}}function od(e){let n,r,o=false,s=false;for(let c of e)c.direction==="upload"&&(n=c,(c.state==="queued"||c.state==="running"||c.state==="paused")&&(r=c.state==="queued"?0:c.percent),o||=c.state==="queued"&&c.phase==="waiting-upload-slot",s||=c.state==="running"&&c.phase==="finalizing");return Object.freeze({...n===void 0?{}:{task:n},...r===void 0?{}:{percent:r},waiting:o,finalizing:s})}function aa(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function rl(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.recovery===void 0?{}:{recovery:e.recovery},...e.conversation===void 0?{}:{conversation:aa(e.conversation)}})}function ad(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yr(e,n){return ad(e)?rl(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function id(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:aa(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.items===void 0?{}:{items:Object.freeze(e.items.map(r=>Object.freeze({...r})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:rl(e.error)}})}function ol(e,n){if(Object.is(e,n))return true;if(e===null||n===null||typeof e!="object"||typeof n!="object"||Array.isArray(e)!==Array.isArray(n))return false;let r=Object.keys(e);return r.length===Object.keys(n).length&&r.every(o=>Object.prototype.hasOwnProperty.call(n,o)&&ol(e[o],n[o]))}var sd=Object.freeze([]);function nl(e){return JSON.stringify([e.conversationType,e.conversationId,e.id])}function ld(e){return JSON.stringify([e.id,e.ref.conversationType,e.ref.conversationId,e.messageId,e.direction,e.itemIndex??null])}function al(e,n){return n===void 0?e:`${e}\0${n}`}function zt(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ta(e,n){if(e.status!=="sent")return;let o=(e.contentType==="mediaAlbum"?n===void 0?void 0:e.body.mediaAlbum?.items[n]:n!==void 0?void 0:e.contentType==="image"?e.body.image:e.contentType==="video"?e.body.video:void 0)?.url;return o===void 0||o===""||/^(?:blob|data):/i.test(o)?void 0:o}function ra(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function oa(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function cd(e){return defineStore("k2-im-media",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=ref([]),c=shallowReactive(new Map),m=new Map;function g(E){return c.get(nl(E))??sd}let j=new WeakMap;function z(E){let k=g(E),q=j.get(k);return q===void 0&&(q=od(k),j.set(k,q)),q}function K(){s.value=[],c.clear(),m.clear(),j=new WeakMap;}let x=shallowRef(null),W=shallowRef(null),y=shallowRef({}),v=ref(false),A=false,V=0,H=null,F=-1,R,C,L=0,Q,ve=false,B=computed(()=>{let E=[],k=o.activeRef;for(let q of o.messages){if(k===null||q.conversationType!==k.conversationType||q.conversationId!==k.conversationId)continue;let ue=q.contentType==="mediaAlbum"?q.body.mediaAlbum?.items.map((fe,ze)=>ze)??[]:[void 0];for(let fe of ue){let ze=ta(q,fe);ze!==void 0&&E.push({key:ra(q,fe),url:ze,kind:oa(q,fe),message:{conversation:aa(k),messageId:q.id,...fe===void 0?{}:{itemIndex:fe}}});}}return E});async function b(){if(A||H===null||Q!==void 0||!ve)return;ve=false;let E=H,k=V,q=F,ue=L,fe=B.value;if(fe.length===0||n.getGeneration()!==q){v.value=false;return}let ze={};Q=ze;let He=()=>!A&&H===E&&V===k&&n.getGeneration()===q&&L===ue;try{let xe=await E.media.probeCached(fe.map(T=>T.message));if(!He())return;if(xe.length!==fe.length||xe.some(T=>typeof T!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u5FC5\u987B\u4E0E\u6D88\u606F\u5F15\u7528\u4E00\u4E00\u5BF9\u5E94");y.value=Object.freeze(Object.fromEntries(fe.map((T,Y)=>[T.key,xe[Y]]))),x.value?.operation==="media.probeCached"&&(x.value=null);}catch(xe){if(!He())return;let T=Yr(xe,"probeCached");x.value=T,r.record("error","pinia","media","media-cache-probe-failed",()=>({generation:q,data:{count:fe.length},error:{message:T.code,data:T}}));}finally{Q===ze&&(Q=void 0,ve?b():He()&&(v.value=false));}}function $(){if(L+=1,y.value={},A||H===null||n.getGeneration()!==F||B.value.length===0){v.value=false;return}v.value=true,ve||(ve=true,Promise.resolve().then(b));}let oe=watch(()=>JSON.stringify(B.value),$,{flush:"sync"});function O(E,k){if(A||H===null||n.getGeneration()!==F)return;let q=ra(E,k),ue=ta(E,k),fe=B.value.find(ze=>ze.key===q);return ue!==void 0&&fe?.url===ue&&fe.kind===oa(E,k)?y.value[q]:void 0}function G(E,k){if(!v.value||A||H===null||n.getGeneration()!==F)return false;let q=ra(E,k),ue=ta(E,k),fe=B.value.find(ze=>ze.key===q);return ue!==void 0&&fe?.url===ue&&fe.kind===oa(E,k)}let S=new Map,N=computed(()=>{let E={};for(let k of s.value)k.direction==="upload"&&zt(o.activeRef,k.ref)&&(E[k.messageId]=z({...k.ref,id:k.messageId}));return E}),ne=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([E,k])=>k.task===void 0?[]:[[E,k.task]]))),le=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([E,k])=>k.percent===void 0?[]:[[E,k.percent]]))),me=computed(()=>{let E={};for(let k of s.value)k.direction==="download"&&zt(o.activeRef,k.ref)&&(E[al(k.messageId,k.itemIndex)]=k);return E}),he=computed(()=>{let E={};for(let[k,q]of Object.entries(me.value))(q.state==="queued"||q.state==="running")&&(E[k]=q.percent);return E}),Se=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,E])=>E.waiting).map(([E])=>[E,true]))),se=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,E])=>E.finalizing).map(([E])=>[E,true])));function te(E,k,q){if(A||H!==k||F!==q||n.getGeneration()!==q)return;let ue=new Set,fe=Date.now(),ze=new Map,He=new Map,xe=E.map(T=>{let Y=ld(T);ue.add(Y);let ce=m.get(Y),we=ce!==void 0&&ce.state===T.state&&ce.phase===T.phase&&ce.attempt===T.attempt&&ce.bytesTotal===T.bytesTotal&&ce.bytesTransferred===T.bytesTransferred,{sample:Fe,estimate:Ue}=we?{sample:S.get(Y),estimate:ce.bytesPerSecond===void 0||ce.estimatedRemainingMs===void 0?void 0:{bytesPerSecond:ce.bytesPerSecond,estimatedRemainingMs:ce.estimatedRemainingMs}}:Zs(T,S.get(Y),fe);Fe===void 0?S.delete(Y):S.set(Y,Fe);let We=id(T,Ue),Ke=ce!==void 0&&ol(ce,We)?ce:We;ze.set(Y,Ke);let nn=nl({...T.ref,id:T.messageId}),Ze=He.get(nn);return Ze===void 0?He.set(nn,[Ke]):Ze.push(Ke),Ke});m=ze;for(let T of c.keys())He.has(T)||c.delete(T);for(let[T,Y]of He){let ce=c.get(T);(ce===void 0||ce.length!==Y.length||Y.some((we,Fe)=>ce[Fe]!==we))&&c.set(T,Object.freeze(Y));}(xe.length!==s.value.length||xe.some((T,Y)=>s.value[Y]!==T))&&(s.value=xe);for(let T of S.keys())ue.has(T)||S.delete(T);}function ae(E){let k=n.getGeneration();if(A)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(H===E&&F===k||(V+=1,R?.(),R=void 0,C?.(),C=void 0,L+=1,Q=void 0,ve=false,y.value={},v.value=false,H=E,F=E===null?-1:k,K(),S.clear(),x.value=null,W.value=null,E===null))return;let q=false;R=E.media.subscribe(fe=>{q=true,te(fe,E,k);});let ue=V;C=E.media.subscribeCacheChanges(()=>{!A&&H===E&&V===ue&&n.getGeneration()===k&&$();}),$(),q||te(E.media.getSnapshot(),E,k),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:k}));}function Ce(){ae(n.getProductClient());}function Te(){ae(null),W.value=null;}async function Re(E,k,q){let ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:E,reason:"not-ready"});if(ae(ue),!s.value.some(He=>He.id===k))return Object.freeze({ok:false,operation:E,reason:"not-found"});let fe=n.getGeneration(),ze=V;x.value=null;try{return E==="retry"&&q!==void 0?await ue.media.retry(k,q):E==="cancel"&&q!==void 0?await ue.media.cancel(k,q):await ue.media[E](k),A||ze!==V||n.getGeneration()!==fe||H!==ue?Object.freeze({ok:!1,operation:E,reason:"stale"}):Object.freeze({ok:!0,operation:E})}catch(He){if(A||ze!==V||n.getGeneration()!==fe||H!==ue)return Object.freeze({ok:false,operation:E,reason:"stale"});let xe=Yr(He,E);return x.value=xe,r.record("error","pinia","media",`media-task-${E}-failed`,()=>({generation:fe,data:{taskId:k},error:{message:xe.code,data:xe}})),Object.freeze({ok:false,operation:E,reason:"failed",error:xe})}}function _(E,k){return Re("cancel",E,k)}function U(E,k){return Re("retry",E,k)}function ge(E){return Re("pause",E)}function ye(E){return Re("resume",E)}async function Ie(E){let k=n.getProductClient();if(k===null)return {available:false,reason:"not-ready"};ae(k);let q=n.getGeneration(),ue=V;try{let fe=await k.media.getUploadRecovery(E);return A||ue!==V||n.getGeneration()!==q||H!==k?{available:!1,reason:"stale"}:Object.freeze({available:fe.available,...fe.reason===void 0?{}:{reason:fe.reason},...fe.expiresAt===void 0?{}:{expiresAt:fe.expiresAt}})}catch(fe){return A||ue!==V||n.getGeneration()!==q||H!==k?{available:false,reason:"stale"}:(x.value=Yr(fe,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Ve(E,k){let q="resumeUpload",ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:q,reason:"not-ready"});ae(ue);let fe=n.getGeneration(),ze=V;x.value=null;try{return await ue.media.resumeUpload(E,k),A||ze!==V||n.getGeneration()!==fe||H!==ue?Object.freeze({ok:!1,operation:q,reason:"stale"}):Object.freeze({ok:!0,operation:q})}catch(He){if(A||ze!==V||n.getGeneration()!==fe||H!==ue)return Object.freeze({ok:false,operation:q,reason:"stale"});let xe=Yr(He,q);return xe.code!=="IM_SDK_MEDIA_PAUSED"&&xe.code!=="IM_SDK_MEDIA_CANCELLED"&&(x.value=xe),Object.freeze({ok:false,operation:q,reason:"failed",error:xe})}}async function P(E,k){let q=o.activeRef,ue=s.value.find(ze=>ze.direction==="upload"&&(ze.state==="queued"||ze.state==="running"||ze.state==="paused")&&ze.messageId===E&&zt(q,ze.ref));if(ue===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let fe=await _(ue.id,k);return zt(o.activeRef,ue.ref)?fe:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function J(E,k){let q=typeof E=="string"?E:E.messageId,ue=typeof E=="string"?k:E.itemIndex,fe=s.value.filter(xe=>xe.direction==="download"&&(xe.state==="queued"||xe.state==="running")&&xe.messageId===q&&xe.itemIndex===ue&&(typeof E=="string"||zt(E.conversation,xe.ref)));if(fe.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(fe.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let ze=fe[0],He=await _(ze.id);return zt(o.activeRef,ze.ref)?He:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function pe(E){let k=o.activeRef;return E.status!=="failed"||!(E.failure?.displayCode==="media.uploadInterrupted"||E.failure?.displayCode==="media.cancelled"||E.failure?.displayCode==="media.uploadTimeout"&&E.failure.retryable===false)||E.contentType!=="video"&&E.contentType!=="file"&&!(E.contentType==="filesAlbum"&&E.body.filesAlbum?.items.length===1)||k===null||E.conversationId!==k.conversationId||E.conversationType!==k.conversationType?false:(W.value=Object.freeze({messageId:E.id,conversationId:E.conversationId,conversationType:E.conversationType,kind:E.contentType==="video"?"video":"file"}),true)}function be(){let E=W.value;return W.value=null,E}function je(){W.value=null;}function Pe(){A||(V+=1,oe(),C?.(),C=void 0,L+=1,Q=void 0,ve=false,y.value={},v.value=false,R?.(),R=void 0,H=null,F=-1,K(),S.clear(),x.value=null,W.value=null,A=true);}return {tasks:s,tasksForMessage:g,uploadForMessage:z,error:x,uploadProgress:le,uploadTasks:ne,downloadTasks:me,downloadProgress:he,uploadWaiting:Se,uploadFinalizing:se,replacementRequest:W,cacheAvailability:y,cachedAvailability:O,cacheProbePending:v,cacheAvailabilityPending:G,start:Ce,reset:Te,cancel:_,retry:U,pause:ge,resume:ye,getUploadRecovery:Ie,resumeUpload:Ve,cancelUpload:P,cancelDownload:J,requestReplacement:pe,takeReplacementRequest:be,clearReplacementRequest:je,dispose:Pe}})}var tl=new WeakMap,Zr=new WeakMap;function ud(e=Ae()){Oe(e);let n=tl.get(e);n===void 0&&(n=cd(e),tl.set(e,n));let r=n(e);return Zr.get(e)!==r&&(Zr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Zr.get(e)===r&&Zr.delete(e);})),r}var no=new WeakMap,vd=Object.freeze({status:"loading",message:null}),il=Object.freeze({status:"missing",message:null});function ia(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function sa(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function gd(e){return defineStore("k2-im-quoted-message",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=shallowRef({}),c=new Set,m=new Set,g=new Set,j=0,z=new Map,K=false,x=false,W=false,y=computed(()=>{let S=new Map;for(let N of o.messages)S.set(N.id,N);return S});function v(){j+=1,c.clear(),m.clear(),z.clear(),g=new Set,x=false,W=false,s.value={};}let A=watch(()=>o.activeRef,v,{flush:"sync"}),V=n.subscribeEvents(S=>{K||S.type!=="connection:changed"||S.state!=="authenticated"||oe();});function H(S){return S?.conversationType==="direct"&&S.encryption.decryptFailed===true&&S.recalled===void 0&&S.deletedForEveryone===void 0}function F(S){return H(S)&&!m.has(S.id)}function R(S){let N=y.value.get(S);return N!==void 0&&!H(N)}function C(S){let N=S.trim();if(N==="")return il;let ne=y.value.get(N),le=s.value[N];return H(ne)&&(le?.status==="missing"||le?.status==="failed")?le:ne!==void 0?Object.freeze({status:"ready",message:ne}):le??vd}function L(S,N){if(S.length===0)return;let ne={...s.value},le=false;for(let[me,he]of S)!g.has(me)||R(me)||N.get(me)===(z.get(me)??0)&&(ne[me]=he,le=true);le&&(s.value=ne);}async function Q(S){let N=j,ne=new Map(S.map(ae=>[ae,z.get(ae)??0])),le=n.getGeneration(),me=o.getHandle(),he=ia(o.activeRef);if(me===void 0||ia(me.ref)!==he)return;let Se=()=>!K&&j===N&&n.getGeneration()===le&&o.getHandle()===me&&ia(o.activeRef)===he,se=[],te=[];try{let ae=await Promise.all(S.map(async Ce=>({messageId:Ce,message:await me.resolveMessage(Ce)})));if(!Se())return;for(let{messageId:Ce,message:Te}of ae)Te===null||F(Te)?te.push(Ce):se.push([Ce,Object.freeze({status:"ready",message:Te})]);}catch(ae){if(!Se())return;L(S.map(Ce=>[Ce,Object.freeze({status:"failed",message:null,retryable:true})]),ne),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:S.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));return}if(L(se,ne),te.length!==0)try{if(me.ref.conversationType==="direct")for(let Re of te)m.add(Re);let ae=await me.messages.fetchByIds(te);if(!Se())return;let Ce=[];for(let Re of ae.messages)Ce.push([Re.id,Object.freeze({status:"ready",message:Re})]);for(let Re of ae.missingMessageIds)Ce.push([Re,il]);let Te=ae.failure?.retryable??!0;for(let Re of ae.unresolvedMessageIds)Ce.push([Re,Object.freeze({status:"failed",message:null,retryable:Te})]);L(Ce,ne),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:te.length,resolvedCount:ae.messages.length,missingCount:ae.missingMessageIds.length,unresolvedCount:ae.unresolvedMessageIds.length,retryable:ae.failure?.retryable}}));}catch(ae){if(!Se())return;L(te.map(Ce=>[Ce,Object.freeze({status:"failed",message:null,retryable:false})]),ne),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:te.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));}}function ve(){let S=[];for(let N of g){let ne=y.value.get(N);if(c.has(N)||ne!==void 0&&!F(ne))continue;let le=s.value[N];(le===void 0||le.status==="ready"&&F(le.message))&&S.push(N);}return S}function B(){if(K)return;if(x){W=true;return}let S=ve();if(S.length===0)return;let N=j;x=true;for(let ne of S)c.add(ne);Q(S).catch(ne=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:S.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:ne}}));}).finally(()=>{if(N===j){for(let ne of S)c.delete(ne);x=false,W&&(W=false,B());}});}function b(S){if(K)return;g=new Set(sa(S));let N=Object.fromEntries(Object.entries(s.value).filter(([ne])=>g.has(ne)&&!R(ne)));Object.keys(N).length!==Object.keys(s.value).length&&(s.value=N),B();}function $(S){if(K)return;let N=sa(S).filter(le=>s.value[le]!==void 0||c.has(le)||g.has(le));if(N.length===0)return;let ne={...s.value};for(let le of N)delete ne[le],c.delete(le),z.set(le,(z.get(le)??0)+1);s.value=ne,B();}function oe(S){if(K)return;let ne=(S===void 0?[...g]:sa(S)).filter(me=>{let he=s.value[me];return he?.status==="failed"&&he.retryable});if(ne.length===0)return;let le={...s.value};for(let me of ne)m.delete(me),delete le[me],c.delete(me),z.set(me,(z.get(me)??0)+1);s.value=le,B();}function O(){v();}function G(){K||(K=true,A(),V(),v());}return no.set(e,Object.freeze({dispose:G})),{lookup:C,prefetch:b,retry:oe,invalidate:$,reset:O}})}var sl=new WeakMap,eo=new WeakMap;function Id(e=Ae()){Oe(e);let n=sl.get(e);n===void 0&&(n=gd(e),sl.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return eo.get(e)!==r&&(eo.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}var oo=new WeakMap;function to(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Rd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Pd(e,n){return Rd(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 kd(e){return defineStore("k2-im-reaction",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=ref([]),c=shallowRef(null),m=false,g=0,j=new Map;function z(){g+=1,j.clear(),s.value=[],c.value=null;}let K=watch(()=>to(o.activeRef),(R,C)=>{R!==C&&z();},{flush:"sync"});function x(R,C){let L=o.activeRef,Q=o.getHandle(),ve=to(L);if(m||L===null||Q===void 0||to(Q.ref)!==ve||!o.messages.some(b=>b.id===R))return Object.freeze({ok:false,operation:C,reason:"not-ready"});if(j.has(R))return Object.freeze({ok:false,operation:C,reason:"busy"});let B=Symbol(R);return j.set(R,B),s.value=Object.freeze([...j.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Q,conversationKey:ve,token:B}}function W(R){return !m&&R.contextEpoch===g&&R.generation===n.getGeneration()&&o.getHandle()===R.handle&&to(o.activeRef)===R.conversationKey}function y(R,C){j.get(R)===C&&(j.delete(R),s.value=Object.freeze([...j.keys()]));}async function v(R,C,L){let Q=x(R,C);if(!("handle"in Q))return Q;try{let ve=await L(Q.handle);return W(Q)?(c.value=null,r.record("debug","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:!0,action:ve.action}})),Object.freeze({ok:!0,operation:C,change:ve})):Object.freeze({ok:!1,operation:C,reason:"stale"})}catch(ve){if(!W(Q))return Object.freeze({ok:false,operation:C,reason:"stale"});let B=Pd(ve,C);return c.value=B,r.record("error","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:false,reason:"sdk-rejected",error:B}})),Object.freeze({ok:false,operation:C,reason:"sdk-rejected",error:B})}finally{y(R,Q.token);}}function A(R,C){return v(R,"toggle",L=>L.messages.toggleReaction(R,C))}function V(R,C,L){return v(R,"set",Q=>Q.messages.setReaction(R,C,L))}function H(){z();}function F(){m||(m=true,K(),z());}return oo.set(e,Object.freeze({dispose:F})),{operatingMessageIds:s,error:c,toggle:A,set:V,reset:H}})}var ll=new WeakMap,ro=new WeakMap;function Md(e=Ae()){Oe(e);let n=ll.get(e);n===void 0&&(n=kd(e),ll.set(e,n));let r=n(e),o=oo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return ro.get(e)!==r&&(ro.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),ro.get(e)===r&&(ro.delete(e),oo.get(e)===o&&oo.delete(e));})),r}function ao(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function Ed(e){let n=Ae(e),r=Oe(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let B=new Map;for(let b of o.value)b.msgId!==""&&b.collectId!==""&&B.set(b.msgId,b.collectId);return B}),g=false,j=0,z=0,K,x;function W(){j+=1,z+=1,o.value=[],s.value=false,c.value=null;}function y(B){return {client:B,generation:r.getGeneration(),stateEpoch:j}}function v(B){return !g&&B.client===r.getProductClient()&&B.generation===r.getGeneration()&&B.stateEpoch===j}function A(B){return m.value.get(B.trim())??""}function V(B){return A(B)!==""}async function H(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let B=++z,b;try{b=y(r.ensureProductClient()),ve(b.client);}catch($){let oe=ao($,"reload");return c.value=oe,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}s.value=true,c.value=null;try{let $=await b.client.sessionFavorites.list();return B!==z||!v(b)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=$,Object.freeze({ok:!0,operation:"reload"}))}catch($){if(B!==z||!v(b))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let oe=ao($,"reload");return c.value=oe,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}finally{B===z&&v(b)&&(s.value=false);}}function F(){z+=1,s.value=false;}async function R(B){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let b;try{b=y(r.ensureProductClient()),ve(b.client);let $=await b.client.sessionFavorites.addFromMessage(B);return v(b)?(F(),o.value=Object.freeze([$,...o.value.filter(oe=>oe.collectId!==$.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:$.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch($){return Object.freeze({ok:false,operation:"add",reason:"failed",error:ao($,"add")})}}async function C(B){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let b=[...new Set(B.map($=>$.trim()).filter($=>$!==""))];if(b.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 $=y(r.ensureProductClient());if(await $.client.sessionFavorites.delete(b),!v($))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});F();let oe=new Set(b);return o.value=Object.freeze(o.value.filter(O=>!oe.has(O.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:b[0]??""})}catch($){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:ao($,"delete")})}}async function L(B){let b=A(B);return b===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):C([b])}function Q(){K?.(),K=void 0,x=void 0,W();}function ve(B){if(x===B)return;K?.(),x=B;let b=y(B);K=B.events.subscribe($=>{x===B&&v(b)&&$.type==="session-favorites:changed"&&H();});}return De(n,()=>{g=true,K?.(),K=void 0,x=void 0,W();}),{items:o,loading:s,error:c,collectIdOf:A,isFavorited:V,reload:H,addFromMessage:R,removeByCollectIds:C,removeByMessageId:L,reset:Q}})(n)}function wd(e){return defineStore("k2-im-session",()=>{let n=Oe(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getClient()?.connection.getLifecycle().syncing??false),m=ref(n.getGeneration()),g=ref("idle"),j=ref(""),z=ref({}),K=false,x=0,W="",y=n.getDiagnostics(),v=n.subscribeEvents(B=>{if(!K){if(B.type==="syncing:changed"&&(c.value=B.syncing),B.type==="receiving:changed"&&(s.value=B.receiving),B.type==="session:replaced"){x+=1,g.value="error",s.value=false,c.value=false,o.value=n.getConnectionState(),j.value="lifecycle.connectionOccupied",z.value={};return}B.type==="connection:changed"&&(o.value=B.state,B.state==="authenticated"&&(g.value="ready"));}});function A(B,b){return !K&&B===x&&n.getGeneration()===b}function V(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(B);}function H(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let b=B.session===null?"":`${B.session.userId}\0${B.session.token}`;b!==W&&(x+=1,W=b);let $=n.applySession(B.session,B.endpoints,B.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,r.value=B.session?.userId??"",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=o.value==="authenticated"?"ready":"idle",j.value="",z.value={},y.record("info","pinia","session","session-applied",()=>({generation:m.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:$.hasToken,didReset:$.didReset}})),$}async function F(B,b,$){if(K)return {ok:false,errorKey:"lifecycle.disposed"};let oe=++x,O=n.getGeneration(),G=Date.now();g.value=B,j.value="",z.value={},y.record("info","pinia",b==="prepare"?"session":"connection",`${b}-start`,()=>({generation:O}));let S=await $();return A(oe,O)?(m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=S.ok?o.value==="authenticated"?"ready":"idle":"error",j.value=S.errorKey??"",z.value=S.errorParams??{},y.record(S.ok?"info":"error","pinia",b==="prepare"?"session":"connection",`${b}-${S.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-G,...S.ok?{}:{error:{message:S.errorKey??`${b}-failed`,data:S.errorParams}}})),S):(y.record("debug","pinia","session",`${b}-stale-result-dropped`,()=>({generation:O,durationMs:Date.now()-G})),S)}function R(){return F("preparing","prepare",()=>n.prepare())}function C(){return F("connecting","connect",()=>n.connect())}function L(){K||(x+=1,n.disconnect(),o.value=n.getConnectionState(),g.value="idle");}async function Q(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");x+=1;try{await n.logout(B);}finally{r.value="",s.value=false,c.value=false,W="",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value="idle",j.value="",z.value={};}}function ve(){K||(K=true,x+=1,v(),r.value="",o.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",j.value="",z.value={});}return {accountId:r,connectionState:o,receiving:s,syncing:c,generation:m,phase:g,errorKey:j,errorParams:z,configureHost:V,applySession:H,prepare:R,connect:C,disconnect:L,logout:Q,dispose:ve,getRuntime:()=>n}})}var ul=new WeakMap,io=new WeakMap;function xd(e=Ae()){Oe(e);let n=ul.get(e);n===void 0&&(n=wd(e),ul.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function fl(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function ml(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function gl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function rr(e,n){return `${gl(e)}\0${n}`}function Dt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function pl(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function zd(e){return defineStore("k2-im-thread-paging",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=xn(e),c=ref(false),m=ref(false),g=ref(null),j=ref(null),z=false,K="",x="",W=0,y=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Dt(o.messages,"older"),newerBoundary:Dt(o.messages,"newer")}),v=(b,$)=>{let oe=y();return !z&&$===W&&b.generation===oe.generation&&ml(b.ref,oe.ref)&&b.ref!==null},A=b=>{(b===void 0||b==="older")&&(K="",g.value=null),(b===void 0||b==="newer")&&(x="",j.value=null);},V=()=>{W+=1,c.value=false,m.value=false,A();},H=async(b,$)=>{let oe=y(),O=b==="older"?K:x,G=b==="older"?o.hasOlder:o.hasNewer;if(oe.ref===null||!G||(b==="older"?c.value:m.value))return 0;let S=oe.ref,N=b==="older"?oe.olderBoundary:oe.newerBoundary,ne=rr(S,N);if(b==="older"?m.value:c.value)return 0;if(!$&&O!==""&&O===ne)return r.record("debug","pinia","history",`thread-paging-${b}-circuit-open`,()=>({conversation:S,data:{boundary:N}})),0;$&&(A(b),r.record("debug","pinia","history",`thread-paging-${b}-retry`,()=>({conversation:S})));let le=new Set(o.messages.map(he=>he.id)),me=++W;b==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${b}-start`,()=>({conversation:S,generation:oe.generation,data:{boundary:N,force:$}}));try{let he=b==="older"?await o.loadOlder():await o.loadNewer();if(!v(oe,me))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:S,generation:oe.generation,data:{side:b}})),0;if(!he)return 0;A(b);let Se=o.messages.reduce((se,te)=>se+ +!le.has(te.id),0);return r.record("debug","pinia","history",`thread-paging-${b}-success`,()=>({conversation:S,generation:oe.generation,data:{added:Se}})),Se}catch(he){if(!v(oe,me))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:S,generation:oe.generation,data:{side:b,outcome:"failed"}})),0;if(fl(he))return r.record("debug","pinia","history",`thread-paging-${b}-cancelled`,()=>({conversation:S,generation:oe.generation})),0;throw Dt(o.messages,b)===N&&(b==="older"?(K=ne,g.value=he):(x=ne,j.value=he),r.record("warn","pinia","history",`thread-paging-${b}-failed`,()=>({conversation:S,generation:oe.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${b} \u5206\u9875\u5931\u8D25`,data:pl(he)}}))),he}finally{me===W&&(b==="older"?c.value=false:m.value=false);}},F=(b={})=>H("older",b.force===true),R=(b={})=>H("newer",b.force===true),C=async b=>{if(b!==void 0&&!ml(o.activeRef,b))return false;s.clearLocation(),V();let $=y();if($.ref===null)return false;let oe=$.ref;r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:oe}));let O,G=W;try{let S=o.loadLatest({skipIfLatest:!0});G=W,O=await S;}catch(S){if(!v($,G)||fl(S))return r.record("debug","pinia","history","thread-paging-jump-latest-cancelled",()=>({conversation:oe})),false;let N=Dt(o.messages,"newer");throw x=rr(oe,N),j.value=S,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:oe,generation:$.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:pl(S)}})),S}return v($,G)?(A("newer"),O):(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:oe})),false)},L=watch(()=>gl(o.activeRef),()=>V(),{flush:"sync"}),Q=watch(()=>`${rr(o.activeRef,Dt(o.messages,"older"))}\0${Dt(o.messages,"newer")}`,()=>{let b=y(),$=rr(b.ref,b.olderBoundary),oe=rr(b.ref,b.newerBoundary);K!==""&&K!==$&&A("older"),x!==""&&x!==oe&&A("newer");},{flush:"sync"}),ve=o.$onAction(({name:b})=>{(b==="loadLatest"||b==="loadAround"||b==="loadEntryUnread"||b==="open"||b==="close"||b==="reset")&&V();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:j,loadOlder:F,loadNewer:R,retryOlder:()=>F({force:true}),retryNewer:()=>R({force:true}),jumpToLatest:C,reset:V,dispose:()=>{z||(z=true,L(),Q(),ve(),V());}}})}var vl=new WeakMap,lo=new WeakMap;function Dd(e=Ae()){Oe(e);let n=vl.get(e);n===void 0&&(n=zd(e),vl.set(e,n));let r=n(e);return lo.get(e)!==r&&(lo.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),lo.get(e)===r&&lo.delete(e);})),r}function Gd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Fd(e=Ae()){let n=$e(e),r=xn(e);return Object.freeze({async returnToLatest(o){return Gd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Sr as applicationKey,pc as createAndInstallImChatKit,Ii as createImChatKitContext,gc as disposeImChatKit,vc as ensureImChatKitSelfProfile,Oe as getImChatKitContext,al as imMediaDownloadKey,hi as installImChatKit,Rc as useImApplicationsStore,_c as useImCapabilitiesStore,tt as useImComposerStore,Hc as useImConversationActivationCoordinator,Nu as useImConversationDeletionCoordinator,No as useImConversationListStore,Ju as useImExpressionStore,ed as useImHistoryReturnAfterSendCoordinator,ud as useImMediaStore,Qt as useImMessageOperationsStore,$o as useImProfileDirectoryStore,Id as useImQuotedMessageStore,Md as useImReactionStore,xn as useImSearchStore,Ed as useImSessionFavoritesStore,xd as useImSessionStore,Dd as useImThreadPagingStore,Fd as useImThreadReturnToLatestCoordinator,$e 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,ua,F,D,E,C,A,Ja,d,ya,B,z,Ia,Ha,Ga,Fa,Ea,Da,c,b,k,h}from'./chunk-2SVEG4B4.js';export{t as resolveMessageNotificationDecision}from'./chunk-2SVEG4B4.js';import {a}from'./chunk-Q2DEFN53.js';import'./chunk-JCUE2QS7.js';import'./chunk-KORCFTGX.js';import {Ra,Oa}from'./chunk-Q6TFPZMF.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,shallowReactive,nextTick,toRaw}from'vue';function pc(e,n,r={}){let o=u(n);try{return hi(e,Ii({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function vc(e){Ba(Oe(e).runtime);}var et=new WeakMap;function Ae(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function Ii(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function hi(e,n){let r=et.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(),et.get(e)===o&&et.delete(e);}}});return o.installation=s,et.set(e,o),s}function Oe(e){let n=et.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 De(e,n){let r=et.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 gc(e){et.get(e)?.installation.dispose();}function Sr(e){return `${e.domain}:${e.applicationId}`}function hc(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 yc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&yc(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 bc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Cc(e){return defineStore("k2-im-applications",()=>{let n=Oe(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),j=computed(()=>{let O=0,G=0,S=0;for(let N of r.value)N.ref.domain==="contact"?O+=1:N.ref.domain==="group"?G+=1:S+=1;return Object.freeze({contact:O,group:G,channel:S})}),z=false,K=0,x=0,W=0,y=false,v=0,A=new Map;function V(){K+=1,x+=1,W+=1,v+=1,y=false,A.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function H(O){return {client:O,generation:n.getGeneration(),stateEpoch:K}}function F(O){return !z&&O.client===n.getProductClient()&&O.generation===n.getGeneration()&&O.stateEpoch===K}async function R(){if(z)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let O=++x,G;try{G=H(n.ensureProductClient());}catch(S){let N=Mr(S,"reload");return s.value=N,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}o.value=true,s.value=null;try{let S=await G.client.applications.listPending();return O!==x||!F(G)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...S]),Object.freeze({ok:!0,operation:"reload"}))}catch(S){if(O!==x||!F(G))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=Mr(S,"reload");return s.value=N,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}finally{O===x&&F(G)&&(o.value=false);}}function C(){if(z||y)return;y=true;let O=K,G=++v;queueMicrotask(()=>{G===v&&(y=false,!(z||O!==K)&&R());});}function L(O){(O.type==="contact-application:received"||O.type==="channel-join-application:received"||O.type==="application:updated")&&C();}let Q=n.subscribeProductEvents(L);async function ve(O,G){let S=hc(O),N=Sr(S);if(z)return Object.freeze({ok:false,operation:G,reason:"stale",application:S});let ne=++W;A.set(N,ne),c.value={...c.value,[N]:G};let{[N]:le,...me}=m.value;m.value=me;let he;try{he=H(n.ensureProductClient());}catch(se){let te=Mr(se,G);m.value={...m.value,[N]:te};let{[N]:ae,...Ce}=c.value;return c.value=Ce,A.delete(N),Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te})}let Se=()=>F(he)&&A.get(N)===ne;try{return await he.client.applications[G](S),Se()?(x+=1,o.value=!1,r.value=Object.freeze(r.value.filter(se=>Sr(se.ref)!==N)),Object.freeze({ok:!0,operation:G,application:S})):Object.freeze({ok:!1,operation:G,reason:"stale",application:S})}catch(se){if(!Se())return Object.freeze({ok:false,operation:G,reason:"stale",application:S});let te=Mr(se,G);return bc(te)?(x+=1,o.value=false,r.value=Object.freeze(r.value.filter(ae=>Sr(ae.ref)!==N)),Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te})):(m.value={...m.value,[N]:te},Object.freeze({ok:false,operation:G,reason:"failed",application:S,error:te}))}finally{if(Se()){A.delete(N);let{[N]:se,...te}=c.value;c.value=te;}}}function B(O){return ve(O,"accept")}function b(O){return ve(O,"ignore")}function $(){z||V();}function oe(){z||(z=true,Q(),V());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:j,reload:R,accept:B,ignore:b,reset:$,dispose:oe}})}var Ci=new WeakMap,Or=new WeakMap;function Rc(e=Ae()){Oe(e);let n=Ci.get(e);n===void 0&&(n=Cc(e),Ci.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}function ki(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function kc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var Ri=Object.freeze({state:"none"});function Mc(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:ki(r)}})}function Oc(e){return defineStore("k2-im-thread",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(Ri),g=shallowRef(),j=shallowRef(null),z=ref(false),K=ref(false),x=ref(false),W=ref(false),y=ref(false),v=shallowRef(null),A=ref(0),V=false,H,F=0,R=0,C,L,Q,ve,B,b=[],$=new Map,oe=new Set,O=new WeakSet,G=new WeakMap;function S(){b.length=0,A.value=0;}let N=n.subscribeEvents(T=>{if(V||T.type!=="message:received"||(T.source??"live")!=="live")return;let Y=o.value;Y===null||T.message.conversationId!==Y.conversationId||T.message.conversationType!==Y.conversationType||T.message.senderId===n.getCredentials().userId||!he(T.message)||(b.push(T.message.id),A.value+=1);});function ne(T=null){S(),o.value=T,s.value=null,c.value=[],m.value=Ri,g.value=void 0,j.value=null,z.value=T!==null,K.value=false,x.value=false,W.value=false,y.value=false,v.value=null;}function le(T){if(($.get(T)??0)>0){oe.add(T);return}T.close();}function me(){B?.(),B=void 0,ve?.(),ve=void 0;let T=Q;Q=void 0,T!==void 0&&le(T);}function he(T){if(T.body.system?.timelineVisibility==="hidden")return false;if(T.conversationType!=="channel"||T.deletedForEveryone===void 0)return true;let Y=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:T.conversationId});return Y.conversationType==="channel"&&Y.ref.conversationType==="channel"&&Y.ref.conversationId===T.conversationId&&(Y.value.role==="owner"||Y.value.role==="admin")}function Se(T,Y,ce){let we=o.value;if(V||Q!==T||n.getGeneration()!==ce||we===null||Y.ref.conversationId!==we.conversationId||Y.ref.conversationType!==we.conversationType)return false;let Fe=Y.messages.filter(he);if(kc(c.value,Fe)||(c.value=Object.freeze(Fe)),m.value=Y.entryUnread,g.value=Y.entryUnreadNavigation,Y.entryUnread.state==="located"){let Ue=Y.entryUnread.firstMessageId,We=Y.messages.findIndex(Ke=>Ke.id===Ue);if(We>=0&&!Fe.some(Ke=>Ke.id===Ue)){let Ke=Y.messages.slice(We+1).find(he);m.value=Object.freeze(Ke===void 0?{state:"unavailable"}:{...Y.entryUnread,firstMessageId:Ke.id});}}return s.value=Y.display??null,j.value=Y.draft,z.value=Y.loading,K.value=K.value||Fe.length>0||!Y.loading,x.value=Y.stale,W.value=Y.hasOlder,y.value=Y.hasNewer,v.value=Y.error??null,true}async function se(T,Y){let ce=n.ensureProductClient();return T.conversationType==="direct"?ce.openConversation({conversationType:"direct",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y}):T.conversationType==="group"?ce.openConversation({conversationType:"group",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y}):T.conversationType==="robot"?ce.openConversation({conversationType:"robot",conversationId:T.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:Y}):ce.openConversation({conversationType:"channel",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Y})}async function te(T){try{let Y=n.ensureProductClient();if(Y.conversations.list().find(we=>we.ref.conversationType===T.conversationType&&we.ref.conversationId===T.conversationId)?.manuallyUnread!==!0)return;await Y.conversations.markRead(T);}catch(Y){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:T,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:Y}}));}}async function ae(T,Y){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");R+=1,C=void 0,L=void 0;let ce=ki(T);H?.abort();let we=new AbortController;H=we;let Fe=++F,Ue=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:Ue,conversation:ce}));let We;try{We=await se(ce,we.signal),!V&&Fe===F&&Ue===n.getGeneration()&&await Y?.beforeCommit?.();}catch(nn){if(We?.close(),we.signal.aborted)return;throw !V&&Fe===F&&Ue===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:Ue,conversation:ce,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Mc(nn,"thread.open",ce)}})),nn}finally{H===we&&(H=void 0);}let Ke=We;if(V||Fe!==F||Ue!==n.getGeneration()){Ke.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:Ue,conversation:ce}));return}return J(),me(),ne(ce),Q=Ke,ve=Ke.subscribe(nn=>Se(Ke,nn,Ue)),Se(Ke,Ke.getSnapshot(),Ue),ce.conversationType==="channel"&&(B=n.ensureProductClient().capabilities.subscribe(ce,()=>{!V&&Q===Ke&&n.getGeneration()===Ue&&Se(Ke,Ke.getSnapshot(),Ue);})),te(ce),r.record("debug","pinia","history","thread-open-complete",()=>({generation:Ue,conversation:ce})),Ke}function Ce(){H?.abort(),H=void 0,F+=1;}function Te(T){if(V||Q===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${T}`);return Q}function Re(T,Y,ce){return !V&&R===T&&Q===Y&&n.getGeneration()===ce}async function _(T,Y){if(C!==void 0||L!==void 0)return false;let ce=Te(T),we=n.getGeneration(),Fe=++R;C=Fe;try{return await Y(ce),Re(Fe,ce,we)?(Se(ce,ce.getSnapshot(),we),!0):!1}finally{C===Fe&&(C=void 0);}}async function U(T,Y,ce){let we=Te(T),Fe=n.getGeneration(),Ue=++R;C=void 0,L=Ue;try{if(await Y(we),!Re(Ue,we,Fe))return !1;let We=we.getSnapshot();return ce(We)?(Se(we,We,Fe),!0):!1}finally{L===Ue&&(L=void 0);}}function ge(T){return T?.skipIfLatest===true&&K.value&&!z.value&&!x.value&&v.value===null&&!y.value&&L===void 0&&C===void 0?Promise.resolve(true):U("loadLatest",Y=>Y.history.loadLatest(),Y=>!Y.hasNewer)}function ye(T){let Y=false;return U("loadEntryUnread",async ce=>{Y=await ce.history.loadEntryUnread(T);},ce=>Y&&ce.entryUnread.state==="located")}function Ie(T){let Y=G.get(T);if(Y!==void 0)return Y;let ce=T.markConversationRead().finally(()=>{G.get(T)===ce&&G.delete(T);});return G.set(T,ce),ce}function Ve(){let T=Te("markConversationRead");return O.add(T),Ie(T)}function P(T){return Te("markVisibleMessages").markVisibleMessages(T)}function J(){let T=Q;if(T===void 0||!O.has(T))return;let Y=k(T),ce=n.getGeneration(),we=G.get(T);(we===void 0?Ie(T):we.catch(()=>{}).then(()=>Ie(T))).catch(Ue=>{ce===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:T.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ue}}));}).finally(Y);}function pe(){J(),ue();}function be(){return _("loadOlder",T=>T.history.loadOlder())}function je(){return _("loadNewer",T=>T.history.loadNewer())}function Pe(T,Y){return Y?.signal?.aborted?Promise.reject(new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u53D6\u6D88","AbortError")):Y?.skipIfLoaded===true&&K.value&&!z.value&&!x.value&&v.value===null&&L===void 0&&C===void 0&&c.value.some(ce=>ce.id===T)?Promise.resolve(true):U("loadAround",ce=>Y?.signal===void 0?ce.history.loadAround(T):ce.history.loadAround(T,{signal:Y.signal}),ce=>ce.messages.some(we=>we.id===T)).then(ce=>ce?c.value.some(we=>we.id===T):false)}function E(T){return Te("resolveMessage").resolveMessage(T)}function k(T=Te("retainHandle")){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");$.set(T,($.get(T)??0)+1);let Y=false;return ()=>{if(Y)return;Y=true;let ce=($.get(T)??1)-1;if(ce>0){$.set(T,ce);return}$.delete(T),oe.delete(T)&&T.close();}}function q(){return k()}function ue(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,me(),ne();}function fe(T){let Y=o.value;return Y===null||Y.conversationType!==T.conversationType||Y.conversationId!==T.conversationId?false:(R+=1,C=void 0,L=void 0,me(),ne(),true)}function ze(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,ve?.(),ve=void 0,B?.(),B=void 0;let T=new Set([...Q===void 0?[]:[Q],...oe,...$.keys()]);Q=void 0,oe.clear(),$.clear();for(let Y of T)Y.close();ne();}function He(){V||(ze(),V=true,N());}function xe(){return b.splice(0,b.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:j,loading:z,ready:K,stale:x,hasOlder:W,hasNewer:y,error:v,activeRemoteMessageRevision:A,open:ae,invalidatePendingOpen:Ce,loadLatest:ge,loadEntryUnread:ye,markConversationRead:Ve,markVisibleMessages:P,leave:pe,loadOlder:be,loadNewer:je,loadAround:Pe,resolveMessage:E,retainHandle:k,retainCurrentHandle:q,close:ue,closeActiveConversation:fe,reset:ze,dispose:He,drainActiveRemoteMessageIds:xe,getHandle:()=>Q}})}var Pi=new WeakMap,Tr=new WeakMap;function $e(e=Ae()){Oe(e);let n=Pi.get(e);n===void 0&&(n=Oc(e),Pi.set(e,n));let r=n(e);return Tr.get(e)!==r&&(Tr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Tr.get(e)===r&&Tr.delete(e);})),r}var Ar=new WeakMap;function Fo(e){let n=Ar.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 xr(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function Oi(e){return e===null?null:xr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function Do(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((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function Ec(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Bt(e,n,r){return Ec(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:bt(r)},cause:e})}function jr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function jc(e){return defineStore("k2-im-composer",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),j=ref(0),z=shallowRef(null),K=false,x=0,W=0,y=0,v,A=Promise.resolve(),V=Promise.resolve(),H=new Set,F=new Map,R,C;function L(){return o.getHandle()}function Q(_,U){let ge=o.activeRef;return !K&&L()===_&&n.getGeneration()===U&&ge!==null&&ge.conversationId===_.ref.conversationId&&ge.conversationType===_.ref.conversationType}function ve(_=L()){if(_===void 0)return false;let U=n.getGeneration();return v?.handle===_&&v.generation===U||[...H].some(ge=>ge.handle===_&&ge.generation===U)}async function B(_=L()){if(_===void 0)return;let U=n.getGeneration(),ge=v?.handle===_&&v.generation===U?v:void 0;if(ge===void 0){let P=[...H].filter(J=>J.handle===_&&J.generation===U).map(J=>J.promise);P.length>0?await Promise.all(P):await V;return}v=void 0;let Ie=A.then(async()=>{Do(ge.input)?await _.draft.clear():await _.draft.save(ge.input);}),Ve={handle:_,generation:U,promise:Ie};H.add(Ve),V=Ie,A=Ie.catch(()=>{});try{await Ie,Q(_,U)&&(z.value=null,j.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:bt(_.ref)})));}catch(P){throw Q(_,U)&&(v===void 0&&y===ge.version&&(v=ge),z.value=Bt(P,"composer.draft",_.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:bt(_.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:z.value}}))),P}finally{H.delete(Ve);}}function b(_){let U=L(),ge=n.getGeneration();if(U===void 0||!Q(U,ge))return z.value=Bt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ye=xr(_);return y+=1,s.value=Do(ye)?null:ye,v={handle:U,generation:ge,version:y,input:ye},z.value=null,$(),Do(ye)&&B(U).catch(()=>{}),true}async function $(){if(m.value!==null)return;let _=s.value?.replyToMessageId;if(_===void 0){W+=1,c.value=null;return}let U=L();if(U===void 0){c.value=null;return}let ge=o.messages.find(P=>P.id===_);if(ge!==void 0){W+=1,c.value=ge;return}let ye=n.getGeneration(),Ie=++W,Ve=await U.resolveMessage(_).catch(()=>null);Ie!==W||!Q(U,ye)||m.value!==null||s.value?.replyToMessageId!==_||(c.value=Ve);}function oe(_){let U=L();return U===void 0||!jr(_,U)?false:(m.value=null,c.value=_,b({...s.value??{text:"",attachments:[]},replyToMessageId:_.id}))}function O(_){if(_!==void 0&&s.value?.replyToMessageId!==_)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:ge,...ye}=U;b({...ye});}function G(_){let U=L();return U===void 0||!jr(_,U)?false:(c.value=null,m.value=_,true)}function S(){m.value=null,$();}function N(){W+=1,c.value=null,m.value=null;}function ne(_,U){return !K&&n.getGeneration()===_&&x===U}function le(_){return [...F.values()].some(U=>U.handle===_)}function me(_,U){return _!==null&&Go(Oi(_),U)}function he(_,U,ge){!Q(_,U)||s.value===null||!Go(s.value,ge)||(y+=1,v?.handle===_&&v.generation===U&&Go(v.input,ge)&&(v=void 0),s.value=null,W+=1,c.value=null);}async function Se(_){let U=[...H].filter(ye=>ye.handle===_.handle&&ye.generation===_.generation).map(ye=>ye.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!Q(_.handle,_.generation))return;let ge=await _.handle.draft.get();if(!me(ge,_.input)){R?.token===_.token&&(R=void 0);return}R=_;try{await _.handle.draft.clear(),R?.token===_.token&&(R=void 0);}catch(ye){if(Q(_.handle,_.generation)){if(s.value===null&&v===void 0){let Ie={text:"",attachments:[]};y+=1,v={handle:_.handle,generation:_.generation,version:y,input:Ie};}z.value=Bt(ye,"composer.draft",_.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:_.generation,conversation:bt(_.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:z.value}}));}}}function se(_){if(!Q(_.handle,_.generation)||s.value!==null)return;R=void 0;let U=xr(_.input);y+=1,s.value=U,v={handle:_.handle,generation:_.generation,version:y,input:U},$();}async function te(_){let U=m.value,ge=U===null?"send":"edit";if(U!==null&&C!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ye=L(),Ie=n.getGeneration();if(ye===void 0||!Q(ye,Ie))return Object.freeze({ok:false,operation:ge,reason:"not-ready"});let Ve=_.text.trim();if(Ve==="")return Object.freeze({ok:false,operation:ge,reason:"empty"});let P=x;if(U!==null&&!jr(U,ye))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let J=Symbol(ge);U!==null&&(C=J),g.value=C!==void 0,z.value=null;let pe=o.retainHandle(ye),be;if(U===null){let je=xr(_);be={token:J,handle:ye,generation:Ie,input:je},F.set(J,be),he(ye,Ie,je);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:Ie,operation:ge,conversation:bt(ye.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let je=await ye.messages.sendText(Ve,{..._.mentions===void 0?{}:{mentions:_.mentions},..._.replyToMessageId===void 0?{}:{replyToMessageId:_.replyToMessageId}});if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!je.ok)return be!==void 0&&se(be),z.value=je.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:je.error});if(be!==void 0&&(await Se(be),!ne(Ie,P)||!Q(ye,Ie)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ye.messages.editText(U.id,Ve,{..._.mentions===void 0?{}:{mentions:_.mentions}});}catch(je){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let Pe=Bt(je,"composer.edit",ye.ref);return z.value=Pe,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:Pe})}if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&S();}return z.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:Ie,operation:ge,conversation:bt(ye.ref)})),Object.freeze({ok:!0,operation:ge})}catch(je){if(!ne(Ie,P)||!Q(ye,Ie))return Object.freeze({ok:false,operation:ge,reason:"stale"});be!==void 0&&se(be);let Pe=Bt(je,`composer.${ge}`,ye.ref);return z.value=Pe,Object.freeze({ok:false,operation:ge,reason:"sdk-rejected",error:Pe})}finally{pe(),F.delete(J),C===J&&(C=void 0),g.value=C!==void 0,Q(ye,Ie)&&ae();}}function ae(){let _=L();if(_===void 0)return;let U=R,ge=U!==void 0&&U.handle===_&&U.generation===n.getGeneration()&&me(o.draft,U.input);U!==void 0&&!ge&&(R=void 0),!ve(_)&&!le(_)&&!ge&&(s.value=Oi(o.draft)),m.value!==null&&!jr(m.value,_)&&(m.value=null),$();}function Ce(){x+=1,W+=1,y+=1,v=void 0,F.clear(),R=void 0,A=Promise.resolve(),V=Promise.resolve(),s.value=null,c.value=null,m.value=null,C=void 0,g.value=false,j.value=0,z.value=null;}let Te=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(_,U)=>{if(_.ref!==U?.ref){Ce(),_.ref!==null&&ae();return}ae();},{immediate:true});function Re(){K||(K=true,Te(),Ce());}return Ar.set(e,Object.freeze({suspendInteraction:N,syncReplyTarget:$,dispose:Re})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:j,error:z,updateDraft:b,flush:B,hasPendingWork:ve,submitText:te,setReplyTo:oe,clearReplyTo:O,setEditing:G,clearEditing:S,reset:Ce}})}var Si=new WeakMap,wr=new WeakMap;function tt(e=Ae()){Oe(e);let n=Si.get(e);n===void 0&&(n=jc(e),Si.set(e,n));let r=n(e),o=Fo(e);return wr.get(e)!==r&&(wr.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),Ar.get(e)===o&&Ar.delete(e));})),r}var Dr=new WeakMap;function Wt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function ji(e){return [...e]}function Ac(e){return defineStore("k2-im-message-operations",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=tt(e),c=Fo(e),m=shallowRef(null),g=ref(false),j=ref([]),z=ref(null),K=ref(false),x=ref([]),W=shallowRef(null),y$1=false,v=0,A=0,V=0;function H(){return o.getHandle()}function F(P,J=H()){let pe=o.activeRef;return !y$1&&J!==void 0&&pe!==null&&P.conversationType!=="supergroup"&&pe.conversationId===P.conversationId&&pe.conversationType===P.conversationType&&J.ref.conversationId===P.conversationId&&J.ref.conversationType===P.conversationType}function R(P){return y(m.value,P)}function C(){K.value=false,x.value=[];}function L(){z.value=null;}function Q(){let P=g.value;C(),L(),g.value=false,j.value=[],P&&c.syncReplyTarget();}function ve(P){if(P!==void 0){if(!F(P))return Object.freeze({ok:false,reason:"not-ready"});if(!Wt(P))return Object.freeze({ok:false,reason:"not-selectable"});if(R(P))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,j.value=P===void 0?[]:[P],Object.freeze({ok:true})}function B(P){return j.value.some(J=>J.id===P)}function b(P){return !g.value||!F(P)?Object.freeze({ok:false,reason:"not-ready"}):Wt(P)?R(P)?Object.freeze({ok:false,reason:"pinned-protected"}):(B(P.id)?j.value=j.value.filter(J=>J.id!==P.id):j.value=[...j.value,P],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function $(P){let J=H();return P.length===0||!P.every(pe=>F(pe,J))?Object.freeze({ok:false,reason:"not-ready"}):(z.value=ji(P),Object.freeze({ok:true}))}function oe(){let P=j.value;if(P.length===0)return Object.freeze({outcome:"empty"});let J=P.filter(Ra);return P.some(Oa)?(x.value=J,K.value=true,Object.freeze({outcome:"confirmation-required"})):J.length===0?Object.freeze({outcome:"all-skipped"}):($(J),Object.freeze({outcome:"picker-opened"}))}function O(){let P=ji(x.value);return C(),P.length===0?Object.freeze({outcome:"all-skipped"}):($(P),Object.freeze({outcome:"picker-opened"}))}async function G(P){let J=z.value,pe=H();if(J===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let be=n.getGeneration(),je=++v,Pe=await ha(n,{handle:pe,messages:J,targets:P});return y$1||je!==v||n.getGeneration()!==be||H()!==pe?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((Pe.ok||Pe.reason!=="stale")&&L(),Pe.ok&&Q(),W.value=Pe.ok?null:Pe.error??null,r.record(Pe.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:be,conversation:pe===void 0?void 0:{...pe.ref},result:Pe.ok?{ok:true,sentCount:Pe.sentCount,skippedCount:Pe.skippedCount}:{ok:false,reason:Pe.reason,error:Pe.error}})),Pe)}function S(P,J,pe){W.value=P.ok?null:P.error??null,r.record(P.ok?"debug":"error","pinia","message",`message-${P.operation}-settled`,()=>({generation:n.getGeneration(),conversation:pe===void 0?void 0:{...pe.ref},messageId:J,result:P.ok?{ok:true}:{ok:false,reason:P.reason,error:P.error}}));}function N(P,J){return J!==void 0&&(y$1||H()!==J)?Object.freeze({ok:false,operation:P.operation,reason:"stale"}):P}async function ne(P){let J=H(),pe=N(await ja(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function le(P){let J=H(),pe=N(await ka(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function me(P){let J=H(),pe=N(await la(n,{handle:J,message:P}),J);return S(pe,P.id,J),pe}async function he(P,J){let pe=H(),be=N(await ma(n,{handle:pe,messageId:P,options:J}),pe);return S(be,P,pe),be}function Se(){let P=o.activeRef;if(!(P?.conversationType!=="group"&&P?.conversationType!=="channel"))return Object.freeze({conversationId:P.conversationId,conversationType:P.conversationType})}function se(P,J,pe){let be=Se();return !y$1&&P===A&&J!==void 0&&H()===J&&be?.conversationId===pe.conversationId&&be.conversationType===pe.conversationType}function te(P,J,pe){let be=Se();return !y$1&&P===V&&H()===J&&be?.conversationId===pe.conversationId&&be.conversationType===pe.conversationType}function ae(P){if(j.value=j.value.filter(J=>J.id!==P),x.value=x.value.filter(J=>J.id!==P),z.value!==null){let J=z.value.filter(pe=>pe.id!==P);z.value=J.length===0?null:J;}s.editingMessage?.id===P&&s.clearEditing();}async function Ce(P){let J=Se(),pe=H();if(J===void 0||!F(P,pe))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let be=++A;V+=1;let je=await oa$1(n,{conversation:J,message:P});return se(be,pe,J)?(je.ok&&je.operation==="pin"?(m.value=je.value,ae(je.value.messageId),W.value=null):W.value=je.ok?null:je.error??null,je):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Te(){let P=Se(),J=H();if(P===void 0||J===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let pe=++A;V+=1;let be=await pa(n,P);return se(pe,J,P)?(be.ok&&be.operation==="unpin"?(m.value=null,W.value=null):W.value=be.ok?null:be.error??null,be):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Re(){let P=Se();if(P===void 0){m.value=null;return}try{m.value=ra$1(n,P);}catch{m.value=null;}}async function _(){let P=Se(),J=H();if(P===void 0||J===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let pe=n.getGeneration(),be=++V;Re();let je=await qa(n,P);return n.getGeneration()!==pe||!te(be,J,P)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(je.ok&&je.operation==="sync-pin"?(m.value=je.value,W.value=null):W.value=je.ok?null:je.error??null,je)}function U(P){let J=new Map(P.map(Pe=>[Pe.id,Pe])),pe=Pe=>{let E=Pe.flatMap(k=>{let q=J.get(k.id);return q!==void 0&&Wt(q)?[q]:[]});return E.length===Pe.length&&E.every((k,q)=>toRaw(Pe[q])===toRaw(k))?Pe:E};if(j.value=pe(j.value),x.value=pe(x.value),z.value!==null){let Pe=pe(z.value);z.value=Pe.length===0?null:Pe;}let be=s.editingMessage;if(be!==null){let Pe=J.get(be.id);(Pe===void 0||!Wt(Pe))&&s.clearEditing();}let je=s.input?.replyToMessageId;if(je!==void 0){let Pe=J.get(je);Pe!==void 0&&!Wt(Pe)&&s.clearReplyTo(je);}}let ge=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(P,J)=>{P.ref!==J?.ref&&(v+=1,A+=1,V+=1,Re(),g.value=false,j.value=[],z.value=null,C(),W.value=null),U(P.messages);},{immediate:true}),ye=n.subscribeEvents(P=>{if(P.type!=="pinned-message:updated")return;let J=Se();if(!(J===void 0||J.conversationId!==P.conversation.conversationId||J.conversationType!==P.conversation.conversationType)){if(V+=1,P.pinnedMessage===null){m.value=null;return}try{m.value=ra$1(n,J),ae(P.pinnedMessage.messageId);}catch{}}});function Ie(){v+=1,A+=1,V+=1,g.value=false,j.value=[],z.value=null,C(),W.value=null,Re();}function Ve(){y$1||(y$1=true,ge(),ye(),Ie());}return Dr.set(e,Object.freeze({dispose:Ve})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:j,forwardPickerMessages:z,forwardTypeConfirmOpen:K,pendingForwardReadyMessages:x,error:W,enterMultiSelect:ve,exitMultiSelect:Q,isSelected:B,toggleSelection:b,openForwardPicker:$,closeForwardPicker:L,prepareForwardFromSelection:oe,cancelForwardTypeConfirmation:C,confirmForwardTypeConfirmation:O,forward:G,recall:ne,deleteLocal:le,deleteForEveryone:me,retry:he,pin:Ce,unpin:Te,syncPinned:_,isPinnedMessageProtected:R,reset:Ie}})}var wi=new WeakMap,zr=new WeakMap;function Qt(e=Ae()){Oe(e);let n=wi.get(e);n===void 0&&(n=Ac(e),wi.set(e,n));let r=n(e),o=Dr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return zr.get(e)!==r&&(zr.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),zr.get(e)===r&&(zr.delete(e),Dr.get(e)===o&&Dr.delete(e));})),r}var _o=Object.freeze({availability:"unknown",reason:"not-ready"});function Fc(e){return defineStore("k2-im-capabilities",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=Qt(e),c=shallowRef(null),m=false,g,j,z;function K$1(){j!==void 0&&(clearTimeout(j),j=void 0);}function x(b){K$1();let $=b.nextEvaluationAt;if($===void 0)return;let oe=Math.max(0,$-Date.now());j=setTimeout(()=>{j=void 0,v();},oe);}function W(b){m||(c.value=b,x(b));}function y(b){let $=o.activeRef;return $!==null&&$.conversationType===b.conversationType&&$.conversationId===b.conversationId}function v(b=Date.now()){let $=o.activeRef,oe=n.getProductClient();$===null||oe===null||W(oe.capabilities.get($,{nowMs:b}));}function A(){g?.(),g=void 0,K$1(),c.value=null;let b=o.activeRef,$=n.getProductClient();b===null||$===null||(g=$.capabilities.subscribe(b,W));}function V(){A();}function H(){g?.(),g=void 0,K$1(),c.value=null;}async function F(){let b=o.activeRef,$=n.getProductClient();if(b===null||$===null)return;let oe=n.getGeneration();try{let O=await $.capabilities.refresh(b);if(m||oe!==n.getGeneration()||!y(b))return;W(O);}catch(O){if(m||oe!==n.getGeneration()||!y(b))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...b},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:O}})),W($.capabilities.get(b));}}function R(b){return c.value===null?_o:K(c.value,b)}function C(b){return R(b)}function L$1(b){return R(b)}function Q(b,$){let oe=c.value;return oe===null?_o:M(b,{snapshot:oe,selfId:n.getCredentials().userId,...$})}function ve(b,$){let oe=c.value;return oe===null?_o:L(b,{snapshot:oe,message:$,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function B(){m||(m=true,z?.(),z=void 0,H());}return z=watch(()=>o.activeRef,A,{deep:true,immediate:true}),{activeSnapshot:c,start:V,reset:H,refresh:F,conversationAction:R,profileAction:C,memberAction:L$1,memberTargetAction:Q,messageAction:ve,dispose:B}})}var xi=new WeakMap,Gr=new WeakMap;function _c(e=Ae()){Oe(e);let n=xi.get(e);n===void 0&&(n=Fc(e),xi.set(e,n));let r=n(e);return Gr.get(e)!==r&&(Gr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Gr.get(e)===r&&Gr.delete(e);})),r}var Jt=new WeakMap;function zi(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 Ai(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&&Nc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:zi(r)})}function Di(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Hc(e=Ae()){let n=Oe(e),r=Jt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=tt(e),m=$e(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function j(z,K){let x=zi(z),W=K?.signal;if(W?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:x});g.conversation=x;let y=++g.epoch,v=o.getGeneration(),A=()=>!g.disposed&&g.epoch===y&&o.getGeneration()===v;m.invalidatePendingOpen();let V=()=>{A()&&(g.epoch+=1,m.invalidatePendingOpen());};W?.addEventListener("abort",V,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:v,conversation:x})),!Kc(x))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:v,conversation:x})),Object.freeze({ok:!1,reason:"unsupported",conversation:x});let H=m.getHandle(),F=async()=>{if(H!==void 0)for(;A()&&c.hasPendingWork(H);)await c.flush(H);};if(H!==void 0&&c.hasPendingWork(H))try{await F();}catch(C){if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});let L=Ai(C,"flush",x);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:v,conversation:x,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:L}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:x,error:L})}if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});if(m.getHandle()!==void 0&&Di(m.activeRef,x))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:x,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:x});let R=!1;try{if(await m.open(x,{beforeCommit:async()=>{try{await F();}catch(L){throw R=!0,L}}})===void 0||!A())return Object.freeze({ok:!1,reason:"stale",conversation:x})}catch(C){if(!A())return Object.freeze({ok:!1,reason:"stale",conversation:x});let L=Ai(C,R?"flush":"open",x);return s.record("warn","pinia","conversation",R?"conversation-activation-draft-save-failed":"conversation-activation-open-failed",()=>({generation:v,conversation:x,error:{message:R?"\u5207\u6362\u524D\u4FDD\u5B58\u65B0\u589E\u8349\u7A3F\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B":"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:L}})),Object.freeze({ok:!1,reason:R?"draft-save-failed":"open-failed",conversation:x,error:L})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:x})),Object.freeze({ok:!0,status:"opened",conversation:x})}finally{W?.removeEventListener("abort",V);}}return g.coordinator=Object.freeze({activate:j}),Jt.set(e,g),De(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Jt.get(e)===g&&Jt.delete(e);}),g.coordinator}function Gi(e,n){let r=Jt.get(e);r===void 0||r.disposed||!Di(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Fi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Vc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ct(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&&Vc(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 Bc(e){return defineStore("k2-im-conversation-list",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),j=false,z=null,K,x=0;function W(O="idle"){o.value=[],s$1.value=O,c.value=0,g.value=null;}function y(O,G,S){j||z!==G||n.getGeneration()!==S||(o.value=O.items,s$1.value=O.state,c.value=O.totalUnread,g.value=O.error??null);}function v(O){if(j)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(z===O||(K?.(),K=void 0,z=O,x+=1,W(),O===null))return;let G=n.getGeneration();K=O.conversations.subscribe(S=>y(S,O,G)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:G}));}function A(){v(n.getProductClient());}function V(){v(null);}function H(O){return !j&&z===O.client&&n.getProductClient()===O.client&&n.getGeneration()===O.generation&&x===O.bindingEpoch}function F(){let O=n.ensureProductClient();return v(O),{client:O,generation:n.getGeneration(),bindingEpoch:x}}async function R(){if(j)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let O;try{O=F();}catch(G){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Ct(G,"refresh")})}try{return await O.client.conversations.refresh(),H(O)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(G){return H(O)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:Ct(G,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function C(O,G,S){let N=Fi(G);if(j)return Object.freeze({ok:false,operation:O,reason:"stale",conversation:N});let ne;try{ne=F();}catch(le){return Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)})}try{S(ne.client,N);}catch(le){return H(ne)?Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}return H(ne)?Object.freeze({ok:true,operation:O,conversation:N}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}async function L(O,G,S){let N=Fi(G);if(j)return Object.freeze({ok:false,operation:O,reason:"stale",conversation:N});let ne;try{ne=F();}catch(le){return Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)})}try{return await S(ne.client,N),H(ne)?Object.freeze({ok:!0,operation:O,conversation:N}):Object.freeze({ok:!1,operation:O,reason:"stale",conversation:N})}catch(le){return H(ne)?Object.freeze({ok:false,operation:O,reason:"failed",conversation:N,error:Ct(le,O,N)}):Object.freeze({ok:false,operation:O,reason:"stale",conversation:N})}}function Q(O,G){return C("set-pinned",O,(S,N)=>S.conversations.setPinned(N,G))}function ve(O,G){return L("set-muted",O,(S,N)=>S.conversations.setMuted(N,G))}function B(O){return L("mark-read",O,(G,S)=>G.conversations.markRead(S))}function b(O){return C("mark-unread",O,(G,S)=>G.conversations.markUnread(S))}function $(O){return C("delete-local",O,(G,S)=>G.conversations.deleteLocal(S))}function oe(){j||(K?.(),K=void 0,z=null,W(),j=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:A,reset:V,refresh:R,setPinned:Q,setMuted:ve,markRead:B,markUnread:b,deleteLocal:$,dispose:oe}})}var _i=new WeakMap,Fr=new WeakMap;function No(e=Ae()){Oe(e);let n=_i.get(e);n===void 0&&(n=Bc(e),_i.set(e,n));let r=n(e);return Fr.get(e)!==r&&(Fr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Fr.get(e)===r&&Fr.delete(e);})),r}function rt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function _r(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Wc(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&&$c(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Rt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function 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 Qc(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 Ki(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function Jc(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Ki(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:Ki(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function Xc(e,n,r,o){let s=rt(r);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=Jc(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Rt(n,s,"not-allowed",Qc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function kt(e,n,r,o,s){let c=Xc(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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=Wc(m,n,c.captured.conversation),j=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Rt(n,c.captured.conversation,j,g)}}function Yc(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Ni(e,n,r){let o=rt(n),s=Yc(r);return s.length===0?Promise.resolve(Pt("invite-members",o)):kt(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 Hi(e,n,r){let o=rt(n),s=_r(r);return s.userId===""?Promise.resolve(Pt("remove-member",o)):kt(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 Li(e,n,r,o){let s=rt(n),c=_r(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Pt(m,s)):kt(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 Ui(e,n,r){return Li(e,n,r,true)}function qi(e,n,r){return Li(e,n,r,false)}function Vi(e,n,r){let o=rt(n),s=_r(r);return s.userId===""?Promise.resolve(Pt("transfer-ownership",o)):kt(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 Bi(e,n,r){let o=rt(n),s=r===void 0?void 0:_r(r);return s!==void 0&&s.userId===""?Promise.resolve(Pt("leave",o)):kt(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 $i(e,n){let r=rt(n);return kt(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 Zc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function eu(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&&Zc(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Mt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ot(e,n){return 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 nu(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 tu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function ru(e,n,r,o){let s=Xt(r);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=tu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Mt(n,s,"not-allowed",nu(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=ru(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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",eu(m,n,c.captured.conversation)):Mt(n,c.captured.conversation,"stale")}}function Wi(e,n,r){let o=Xt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ot(e,o)}:{ok:true,value:s}}function Qi(e,n,r){let o=r.trim();return o===""?Promise.resolve(Ot("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 ou=100;function Ji(e,n,r){let o=r.trim();return o===""||[...o].length>ou?Promise.resolve(Ot("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 Xi(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===""?Ot("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Yi(e,n,r){let o=Wi("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 Zi(e,n,r,o,s){let c=r.trim(),m=Wi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Ot("set-member-nickname",Xt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Un(e,"set-member-nickname",n,async({client:j,conversation:z})=>(await j.channels.setMemberNickname(z,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:z,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function es(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 ns(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 ts(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 au(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function iu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function su(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 lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function cu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&lu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function ot(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Kr(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function at(e,n,r,o){let s=su(e);if(s===null)return {ok:false,result:ot(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:ot(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:ot(n,r,"failed",cu(c,n,r))}:{ok:false,result:ot(n,r,"stale")}}}function St(e,n){let r=au(n);return r.conversationId===""?{ok:false,result:ot(e,r,"failed",Kr(e,r))}:{ok:true,conversation:r}}async function rs(e,n,r){let o=St("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await at(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 os(e,n){let r=St("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(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 as(e,n,r){let o=St("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return ot("report",s,"failed",Kr("report",s));let m=await at(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 is(e,n){let r=St("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(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 ss(e,n){let r=n.trim();if(r==="")return ot("search-user",null,"failed",Kr("search-user",null));let o=await at(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:iu(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 ls(e,n){let r=St("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await at(e,"resolve-application-target",o,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Kr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function cs(e,n,r){let o=St("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await at(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 uu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function du(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&&uu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,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 Zt(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 fu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function mu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function pu(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:Tt(n,s,"not-ready")};let m=e.getGeneration(),g=mu(c,s,n,o);return g.availability!=="available"?{ok:false,result:Tt(n,s,"not-allowed",fu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Nr(e,n,r,o,s=false){let c=pu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(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=du(m,n,c.captured.conversation),j=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Tt(n,c.captured.conversation,j,g)}}function vu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function us(e,n,r){let o=Yt(n),s=vu(r);return s.length===0?Promise.resolve(Zt("invite-members",o)):Nr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ds(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("remove-member",o)):Nr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function fs(e,n,r){let o=Yt(n),s=r.trim();return s===""?Promise.resolve(Zt("transfer-ownership",o)):Nr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ms(e,n,r={}){let o=Yt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Zt("leave",o)):Nr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Ho(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function gu(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&&gu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function mn(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 Iu(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 hu(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 vs(e,n,r){let o=Ho(r);if(o.conversationId==="")return {ok:false,result:mn(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:mn(n,o,"not-ready")};let c=e.getGeneration(),m=hu(s,o,n);return m.availability!=="available"?{ok:false,result:mn(n,o,"not-allowed",Iu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Lo(e,n,r,o){let s=vs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:mn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?mn(n,s.captured.conversation,"failed",ps(c,n,s.captured.conversation)):mn(n,s.captured.conversation,"stale")}}function gs(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(mn("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return Lo(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Is(e,n,r){let o=r.trim();if(o===""){let s=Ho(n);return Promise.resolve(mn("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return Lo(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function hs(e,n,r,o){return Lo(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function ys(e,n,r){let o=vs(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()?mn("update-avatar",s.conversation,"failed",ps(c,"update-avatar",s.conversation)):mn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return mn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return mn("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}):mn("update-avatar",s.conversation,"stale")}}function yu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:yu(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 bs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Cs(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 Rs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:bu(n,r.value)}function Ps(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ks(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 j of c){let z=await s.group.listMembers(j.id,{forceRefresh:false});z!==null&&z.some(K=>K.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:j.id}),name:j.displayName||j.cardDisplayName||j.id,...j.avatarUrl===void 0?{}:{avatar:j.avatarUrl}}));}return Object.freeze(g)}async function Ms(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:bs(r.value),stale:r.stale})}async function Os(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:bs(r)}async function Ss(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 Ts(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 Es(e,n){return e.ensureProductClient().directory.search(n)}async function js(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Uo(c)}function Uo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function ws(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(j=>j.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function qo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Uo(c)}async function xs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Uo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Vo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Bo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Vo(o)}async function As(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Vo(c)}async function zs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Vo(s)}function Ds(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 Pu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),ku=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Gs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Ee(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ee(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function st(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Sn(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 lt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Mu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function tn(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Mu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Ee(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ee(r)}})}function Lr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Ou(e){return defineStore("k2-im-profile-directory",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),j=ref(false),z=shallowRef(null),K=shallowRef([]),x=ref(false),W=shallowRef(null),y=shallowRef(null),v=shallowRef(null),A$1=shallowRef([]),V=ref(false),H=ref(false),F$1=shallowRef(null),R=shallowRef(null),C$1=shallowRef(null),L=ref(false),Q=shallowRef(null),ve=reactive({individual:Lr(),group:Lr(),channel:Lr()}),B=ref(""),b=shallowRef(null),$=ref(false),oe=shallowRef(null),O=shallowRef(null),G=shallowRef([]),S=ref(""),N=ref(false),ne=ref(false),le=shallowRef(null),me=shallowRef(null),he=shallowRef(null),Se=ref(false),se=shallowRef(null),te=shallowRef(null),ae=shallowRef([]),Ce=ref(""),Te=ref(false),Re=ref(false),_=shallowRef(null),U=false,ge=new Map,ye={direct:0,group:0,channel:0},Ie={direct:0,group:0,channel:0},Ve=0,P={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},J={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},pe={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},be=new Map,je=0,Pe=new Map,E$1=new Map,k=new Set,q=new Set,ue=new Map,fe=new Map,ze=0,He={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},xe=new Map,T=new Map,Y=0,ce=new Set,we=new Map,Fe=new Map,Ue=0,We=0,Ke=0,nn=new Map,Ze=new Map,Be=new Map,bn=new Map,on=new Map,rn=new Map,Cn=new Map,An=ref(0),ut={individual:0,group:0,channel:0},Wn=new Map,Qn=0,Tn,zn,Dn,En=0,vn,gn,Mn,Rn=0,Pn,an,sn;function co(a){return s.value[a.conversationId]??0}function uo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=C(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?A(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?A(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function or(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function fo(a){return o.value,F(n.getSenderProfileCache(),a)}function ar(a,i){return ua(n,a,i)}function dt(a,i){return va(n,a.conversationId,i)}function ft(a,i,t){let l=n.getGeneration(),u=ge.get(a.conversationId)??0;return wa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(ge.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function mt(a,i){let t=a.conversationId.trim();if(t==="")return;ge.set(t,(ge.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!==""&&(mt(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function ir(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function sr(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function Gt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function ln(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function lr(a,i,t={}){let l=on.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(X=>X.userId)),f=new Map(l),w=i.map(X=>{let Z=l.get(X.userId);return Z===void 0?X:(t.reconcile===true&&Z===X.nickname&&f.delete(X.userId),Object.freeze({...X,nickname:Z}))});if(t.reconcile===true)for(let X of f.keys())u.has(X)||f.delete(X);return f.size===0?on.delete(a):on.set(a,f),Object.freeze(w)}function Ft(a,i){let t=on.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&on.delete(a));}function pt(a,i){let t=rn.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 cn(a,i){let t=rn.get(a),l=Cn.get(a),u=R.value?.conversationId===a?C$1.value?.ownerId:bn.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),X=l?.get(f.userId),Z=u!==void 0&&f.userId===u;if(w===void 0&&X===void 0&&!Z)return f;let{nickname:Ge,...wn}=f;return Object.freeze({...wn,...w===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:w.nickname===""?{}:{nickname:w.nickname},displayName:w?.displayName??f.displayName,role:Z?"owner":X??f.role})}))}function cr(a,i){let t=rn.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&&rn.delete(a),l&&(An.value+=1);}function d(a,i){let t=rn.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&rn.delete(a),An.value+=1);}function p(a,i){let t=Cn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&Cn.delete(a);}}function I(a,i){let t=Cn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&Cn.delete(a));}function h(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?y.value:R.value;return !U&&n.getGeneration()===i&&ye[a.conversationType]===t&&Ie[a.conversationType]===l&&ee(u,a)}async function M(a,i={}){let t=Ee(a),l=++ye.direct,u=Ie.direct,f=n.getGeneration(),w=!ee(c.value,t);c.value=t,w&&(m.value=null,g.value="unknown"),j.value=true,z.value=null;try{let X=await Cs(n,t,i);return h(t,f,l,u)?(m.value=X.profile,g.value=X.relationship,j.value=!1,X.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(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let Z=tn(X,"profile.direct",t);return z.value=Z,j.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:Z})}}async function D$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 X=await Ut({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!X.ok)return Object.freeze({ok:false,reason:"channel-profile",result:X});if(f=ee(R.value,a)?C$1.value:null,ta$1({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let w=await M({conversationType:"direct",conversationId:l},{forceRefresh:u});return w.ok?Object.freeze({ok:true,destination:ta$1({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:w})}async function ie(a){let i=Ee(a),t=++Ve,l=n.getGeneration();c.value=i,x.value=true,W.value=null;try{let u=await ks(n,i.conversationId);return !ee(c.value,i)||l!==n.getGeneration()||t!==Ve?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(K.value=u,x.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!ee(c.value,i)||l!==n.getGeneration()||t!==Ve)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=tn(u,"profile.direct-mutual-groups",i);return W.value=f,x.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function de(a){return P[a]+=1,P[a]}function re(a,i){return !U&&P[a]===i}async function ke(a,i){let t=Ee(a),l=de("set-remark"),u=await rs(n,t,i);if(!re("set-remark",l)||!ee(c.value,t))return it("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(X=>Object.freeze({countryCode:X.countryCode,mobile:X.mobile})))}})),Object.freeze({...u,projectionUpdated:w})}async function Me(a){let i=Ee(a),t=de("block"),l=await os(n,i);return !re("block",t)||!ee(c.value,i)?it("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function qe(a,i){let t=Ee(a),l=de("report"),u=await as(n,t,i);return !re("report",l)||!ee(c.value,t)?it("report",t):u}async function Qe(a){let i=Ee(a),t=de("delete-friendship"),l=await is(n,i);return !re("delete-friendship",t)||!ee(c.value,i)?it("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function _e(a){let i=de("search-user"),t=await ss(n,a);return re("search-user",i)?t:it("search-user",t.conversation)}async function Xe(a){let i=Ee(a),t=de("resolve-application-target"),l=await ls(n,i);return re("resolve-application-target",t)?l:it("resolve-application-target",i)}async function un(a,i){let t=Ee(a),l=de("request-friendship"),u=await cs(n,t,i);return re("request-friendship",l)?u:it("request-friendship",t)}function Fn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function _n(a,i){J[a]+=1;let t=n.getGeneration(),l=Ie.group,u=Fn(i,a,t,l);return Pe.set(u,(Pe.get(u)??0)+1),Object.freeze({epoch:J[a],generation:t,key:u,resetEpoch:l})}function In(a,i){let t=Pe.get(i.key)??0;t<=1?Pe.delete(i.key):Pe.set(i.key,t-1),ua$1(a);}function _t(a,i){return !U&&n.getGeneration()===i.generation&&Ie.group===i.resetEpoch&&J[a]===i.epoch}function Kt(a,i){let t=n.getGeneration(),l=Ie.group;return i!==void 0?(Pe.get(Fn(a,i,t,l))??0)>0:Object.keys(J).some(u=>(Pe.get(Fn(a,u,t,l))??0)>0)}async function Ne(a,i){let t=Ee(a),l=i.trim(),u=_n("update-name",t);try{let f=await gs(n,t,l);if(!_t("update-name",u)||!ee(y.value,t))return Hr("update-name",t);if(!f.ok)return f;let w=v.value!==null;return w&&Ql(t,l),Object.freeze({...f,projectionUpdated:w})}finally{In(t,u);}}async function dn(a,i){let t=Ee(a),l=_n("update-avatar",t);try{let u=await ys(n,t,i);if(!_t("update-avatar",l)||!ee(y.value,t))return Hr("update-avatar",t);if(!u.ok)return u;let f=v.value!==null&&u.avatar!==void 0;return f&&Jl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{In(t,l);}}async function Kn(a,i){let t=Ee(a),l=i.trim(),u=_n("set-my-nickname",t);try{let f=await Is(n,t,l);if(!_t("set-my-nickname",u)||!ee(y.value,t))return Hr("set-my-nickname",t);if(!f.ok)return f;let w=A$1.value.some(X=>X.userId===f.memberId);return ya$1(t,f.memberId,l),za(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:w})}finally{In(t,u);}}async function Nn(a,i,t){let l=Ee(a),u=i===4?t?.trim():void 0,f=_n("update-verification",l);try{let w=await hs(n,l,i,u);if(!_t("update-verification",f)||!ee(y.value,l))return Hr("update-verification",l);if(!w.ok)return w;let X=v.value!==null;return X&&Xl(l,i,u),Object.freeze({...w,projectionUpdated:X})}finally{In(l,f);}}function mo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function kn(a,i,t="profile"){let l=n.getGeneration(),u=Ie.channel,f=mo(i,a,t,l,u),w=++ze;return ue.set(f,w),fe.set(f,(fe.get(f)??0)+1),Object.freeze({conversation:Ee(i),epoch:w,generation:l,resetEpoch:u,key:f})}function On(a){let i=fe.get(a.key)??0;i<=1?fe.delete(a.key):fe.set(a.key,i-1),ue.get(a.key)===a.epoch&&ue.delete(a.key),pa(a.conversation);}function Le(a){return !U&&n.getGeneration()===a.generation&&Ie.channel===a.resetEpoch&&ue.get(a.key)===a.epoch}function hn(a,i,t){let l=`${n.getGeneration()}:${Ie.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of fe){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 la(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function Il(a,i){let t=Ee(a);if(yn(t))return st("update-name",t);let l=i.trim(),u=kn("update-name",t);try{let f=await Qi(n,t,l);if(!Le(u)||!ee(R.value,t))return qn("update-name",t);if(!f.ok)return f;let w=C$1.value!==null;return w&&Ra(t,l),Object.freeze({...f,projectionUpdated:w})}finally{On(u);}}async function hl(a,i){let t=Ee(a);if(yn(t))return st("update-description",t);let l=i.trim(),u=kn("update-description",t);try{let f=await Ji(n,t,l);if(!Le(u)||!ee(R.value,t))return qn("update-description",t);if(!f.ok)return f;let w=C$1.value!==null;return w&&Pa(t,l),Object.freeze({...f,projectionUpdated:w})}finally{On(u);}}async function yl(a,i){let t=Ee(a);if(yn(t))return st("update-avatar",t);let l=kn("update-avatar",t);try{let u=await Xi(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("update-avatar",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&ka(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}async function bl(a,i){let t=Ee(a),l=i.trim(),u=kn("set-my-nickname",t,n.getCredentials().userId);try{let f=await Yi(n,t,l);return !Le(u)||!ee(R.value,t)?qn("set-my-nickname",t):f.ok?(bo(t,f.memberId,l,l),la(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{On(u);}}async function Cl(a,i,t){let l=Ee(a);if(yn(l))return st("set-member-nickname",l);let u=i.trim(),f=t.trim(),w=ko(l,u),X=kn("set-member-nickname",l,u);try{let Z=await Zi(n,l,u,w?.role??"unknown",f);return !Le(X)||!ee(R.value,l)?qn("set-member-nickname",l):Z.ok?(bo(l,Z.memberId,f,f),la(l,Z.memberId,f),Object.freeze({...Z,projectionUpdated:!0})):Z}finally{On(X);}}async function Rl(a,i,t){let l=Ee(a);if(yn(l))return st("update-verification",l);let u=i===4?t?.trim():void 0,f=kn("update-verification",l);try{let w=await es(n,l,i,u);if(!Le(f)||!ee(R.value,l))return qn("update-verification",l);if(!w.ok)return w;let X=C$1.value!==null;return X&&Ma(l,i,u),Object.freeze({...w,projectionUpdated:X})}finally{On(f);}}async function Pl(a,i){let t=Ee(a);if(yn(t))return st("set-all-muted",t);let l=kn("set-all-muted",t);try{let u=await ns(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("set-all-muted",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&yo(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}async function kl(a,i){let t=Ee(a);if(yn(t))return st("set-member-private-chat-disabled",t);let l=kn("set-member-private-chat-disabled",t);try{let u=await ts(n,t,i);if(!Le(l)||!ee(R.value,t))return qn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&yo(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{On(l);}}function Ml(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function po(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ur(a,i,t){let l=n.getGeneration(),u=pe[a],f=po(i,a,l,u),w=Ml(i,a,t,l,u),X=++je;return be.set(w,X),E$1.set(f,(E$1.get(f)??0)+1),Object.freeze({actionEpoch:X,actionKey:w,generation:l,resetEpoch:u,writeKey:f})}function dr(a,i){let t=E$1.get(i.writeKey)??0;t<=1?E$1.delete(i.writeKey):E$1.set(i.writeKey,t-1),be.get(i.actionKey)===i.actionEpoch&&be.delete(i.actionKey),ua$1(a);}function fr(a,i){return !U&&n.getGeneration()===i.generation&&pe[a]===i.resetEpoch&&be.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return i!==void 0?(E$1.get(po(a,i,t,pe[i]))??0)>0:Object.keys(pe).some(l=>(E$1.get(po(a,l,t,pe[l]))??0)>0)}function Ol(a,i){let t=i.trim();t!==""&&Ze.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function Sl(a,i){if(i===null||i.isInGroup===false)return Ze.delete(a.conversationId),i;let t=Ze.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ze.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ca(a){ee(y.value,a)&&ht(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!ee(y.value,a)||pr(a);});}function Nt(a){ee(y.value,a)&&Lt(a,{forceRefresh:true});}function ua$1(a){Kt(a)||mr(a)||(k.delete(a.conversationId)&&Nt(a),q.delete(a.conversationId)&&So(a));}function pr(a){ee(y.value,a)&&ya(n,a.conversationId,A$1.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function Tl(a,i){let t=Ee(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ur("invite-members",t,l);try{let f=await us(n,t,i);if(!fr("invite-members",u))return lt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&ee(y.value,t)&&Nt(t),f;if(!ee(y.value,t))return lt("invite-members",t);let w=f.memberIds.some(X=>Ca(t,X));for(let X of f.memberIds)Io(t,X);return ca(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{dr(t,u);}}async function El(a,i){let t=Ee(a),l=ur("remove-member",t,i.trim());try{let u=await ds(n,t,i);if(!fr("remove-member",l))return lt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&ee(y.value,t)&&Nt(t),u;if(!ee(y.value,t))return lt("remove-member",t);let f=A$1.value.some(w=>w.userId===u.memberId);return go(t,u.memberId),ca(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{dr(t,l);}}async function jl(a,i){let t=Ee(a),l=ur("transfer-ownership",t,"group-owner");try{let u=await fs(n,t,i);if(!fr("transfer-ownership",l))return lt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&ee(y.value,t)&&Nt(t),u;if(!ee(y.value,t))return lt("transfer-ownership",t);Ol(t,u.ownerId);let f=v.value,w=f!==null;return f!==null&&(v.value=Object.freeze({...f,ownerId:u.ownerId})),Nt(t),Object.freeze({...u,projectionUpdated:w,refreshRequired:!1})}finally{dr(t,l);}}async function wl(a,i={}){let t=Ee(a),l=ur("leave",t,"membership");try{let u=await ms(n,t,i);if(!u.ok&&!fr("leave",l))return lt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&ee(y.value,t)&&await Lt(t,{forceRefresh:!0}),u;ho(t),Aa(n,t.conversationId,{clearCachedNames:!0}),Ze.delete(t.conversationId);let f=ee(y.value,t)&&(v.value!==null||A$1.value.length>0);return ee(y.value,t)&&(y.value=null,v.value=null,A$1.value=[],V.value=!1,H.value=!1,F$1.value=null),Object.freeze({...u,projectionUpdated:f})}finally{dr(t,l);}}function xl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function da(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function vt(a,i,t){let l=n.getGeneration(),u=He[a],f=xl(i,a,t,l,u),w=da(i,a,l,u),X=++Y;return xe.set(f,X),T.set(w,(T.get(w)??0)+1),Object.freeze({actionEpoch:X,actionKey:f,conversation:Ee(i),writeKey:w,generation:l,resetEpoch:u})}function gt(a){let i=T.get(a.writeKey)??0;i<=1?T.delete(a.writeKey):T.set(a.writeKey,i-1),xe.get(a.actionKey)===a.actionEpoch&&xe.delete(a.actionKey),pa(a.conversation);}function It(a,i){return !U&&n.getGeneration()===i.generation&&He[a]===i.resetEpoch&&xe.get(i.actionKey)===i.actionEpoch}function vr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(He):[i]).some(u=>(T.get(da(a,u,t,He[u]))??0)>0)}function gr(a,i){let t=i.trim();if(t==="")return;let l=ko(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function Al(a,i){let t=i.trim();t!==""&&bn.set(a.conversationId,{ownerId:t});}function yn(a){let i=bn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function fa(a,i){if(i===null)return bn.delete(a.conversationId),null;let t=bn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(bn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function zl(a){return !ee(R.value,a)||C$1.value===null?false:(C$1.value=fa(a,C$1.value),true)}function Dl(a){ee(O.value,a)&&Oo(a,{preserveExisting:true});}function Ht(a){ee(R.value,a)&&Ut(a,{forceRefresh:true});}function Ir(a){Ht(a),Dl(a);}function Gl(a,i,t,l){let u=we.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,we.set(a.conversationId,u);}function ma(a,i){let t=we.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&we.delete(a.conversationId);}}function pa(a){if(hn(a)||vr(a))return;ce.delete(a.conversationId)&&ja(a);let i=we.get(a.conversationId);if(i===void 0)return;we.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}),br(a);}function Fl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function va$1(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function _l(a,i){let t=Ee(a);if(yn(t))return er("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 Ni(n,t,i);if(!It("invite-members",u))return Sn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("invite-members",t);let w=f.memberIds.some(X=>Po(t,X));for(let X of f.memberIds)Ro(t,X);return Gn(t,f.memberIds),ma(t,f.memberIds),Ir(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{gt(u);}}async function Kl(a,i){let t=Ee(a);if(yn(t))return er("remove-member",t);let l=gr(t,i),u=vt("remove-member",t,i.trim());try{let f=await Hi(n,t,l??{userId:i,role:"unknown"});if(!It("remove-member",u))return Sn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("remove-member",t);let w=Fl(t,f.memberId),X=G.value.some(Z=>Z.userId===f.memberId)||ae.value.some(Z=>Z.userId===f.memberId)||w;return Co(t,f.memberId),Gn(t,[f.memberId]),ma(t,[f.memberId]),Ir(t),Object.freeze({...f,projectionUpdated:X,refreshRequired:!1})}finally{gt(u);}}async function Nl(a,i,t){let l=Ee(a),u=gr(l,i),f=t?"add-admin":"remove-admin";if(yn(l))return er(f,l);let w=vt(f,l,i.trim());try{let X=t?await Ui(n,l,u??{userId:i,role:"unknown"}):await qi(n,l,u??{userId:i,role:"unknown"});if(!It(f,w))return Sn(f,l);if(!X.ok)return X.outcome!=="stale"&&Ht(l),X;if(!ee(R.value,l))return Sn(f,l);let Z=t?"admin":"member",Ge=u?.role!==Z;return Jn(l,X.memberId,Z),Ir(l),Object.freeze({...X,projectionUpdated:Ge,refreshRequired:!1})}finally{gt(w);}}async function Hl(a,i){let t=Ee(a);if(yn(t))return er("transfer-ownership",t);let l=gr(t,i),u=vt("transfer-ownership",t,"channel-owner");try{let f=await Vi(n,t,l??{userId:i,role:"unknown"});if(!It("transfer-ownership",u))return Sn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ht(t),f;if(!ee(R.value,t))return Sn("transfer-ownership",t);Al(t,f.ownerId);let w=zl(t);return Jn(t,f.ownerId,"owner"),Jn(t,n.getCredentials().userId,"member"),Ir(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{gt(u);}}async function Ll(a,i={}){let t=Ee(a),l=i.newOwnerId===void 0?void 0:gr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=vt("leave",t,"membership");try{let f=await Bi(n,t,l);if(!f.ok&&!It("leave",u))return Sn("leave",t);if(!f.ok)return f;let w=ee(R.value,t)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return hr(t),bn.delete(t.conversationId),va$1(t),ee(R.value,t)&&Cr(),Object.freeze({...f,projectionUpdated:w})}finally{gt(u);}}async function Ul(a){let i=Ee(a);if(yn(i))return er("dismiss",i);let t=vt("dismiss",i,"membership");try{let l=await $i(n,i);if(!l.ok&&!It("dismiss",t))return Sn("dismiss",i);if(!l.ok)return l;let u=ee(R.value,i)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return hr(i),bn.delete(i.conversationId),va$1(i),ee(R.value,i)&&Cr(),Object.freeze({...l,projectionUpdated:u})}finally{gt(t);}}async function Lt(a,i={}){let t=Ee(a),l=++ye.group,u=Ie.group,f=n.getGeneration(),w=!ee(y.value,t);y.value=t,w&&(v.value=null,We+=1,A$1.value=[],H.value=false),V.value=true,F$1.value=null;try{let X=i.forceRefresh===!0?null:await Rs(n,t);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(X!==null&&(v.value=X),i.restricted===!0)return i.includeMembers===!0&&await ht(t,{restricted:!0,forceRefresh:!0}),h(t,f,l,u)?(V.value=!1,v.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 Z=await Ps(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Ge=Sl(t,Z);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ge?.ref.conversationId??null,name:Ge?.name??null,isInGroup:Ge?.isInGroup??null,verifyWay:Ge?.verifyWay??null,memberCount:Ge?.memberCount??null,membershipDecision:Ge?.isInGroup===!0?"joined":Ge?.isInGroup===!1?"not-joined":"unknown"}})),Ge===null||Ge.isInGroup===!1?(We+=1,A$1.value=[],H.value=!1,ho(t),Aa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ht(t,{restricted:!1,forceRefresh:!0}),h(t,f,l,u)?(v.value=Ge,V.value=!1,Object.freeze(Ge===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let Z=tn(X,"profile.group",t);return i.forceRefresh===true&&(v.value=null,We+=1,A$1.value=[],H.value=false),F$1.value=Z,V.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:Z})}}async function ht(a,i={}){let t=Ee(a);if(ee(y.value,t)||(y.value=t,A$1.value=[]),ee(y.value,t)&&v.value?.ref.conversationId===t.conversationId&&v.value.isInGroup===false)return We+=1,A$1.value=[],H.value=false,Object.freeze({ok:true,operation:"group-members"});if(A$1.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++We,u=n.getGeneration();H.value=true;try{let f=i.preserveExisting===!0?null:await Ms(n,t);if(U||n.getGeneration()!==u||l!==We||!ee(y.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let w=f===null?null:ln(nn,t.conversationId,f.items);if(w!==null&&(A$1.value=lr(t.conversationId,w),pr(t)),i.restricted===!0||i.forceRefresh!==!0&&w!==null&&w.length>0)return H.value=!1,Object.freeze({ok:!0,operation:"group-members"});let X=await Os(n,t);return U||n.getGeneration()!==u||l!==We||!ee(y.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(X!==null&&(A$1.value=lr(t.conversationId,ln(nn,t.conversationId,X),{reconcile:!0}),pr(t)),H.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==We||!ee(y.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let w=tn(f,"profile.group-members",t);return F$1.value=w,H.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:w})}}async function Ut(a,i){let t=Ee(a),l=++ye.channel,u=Ie.channel,f=n.getGeneration(),w=!ee(R.value,t);R.value=t,w&&(C$1.value=null,Yn(t)),L.value=true,Q.value=null;try{let X=await Ss(n,t,i);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let Z=fa(t,X);return C$1.value=Z,Z!==null&&ee(O.value,t)&&(G.value=cn(t.conversationId,G.value)),Z===null?(hr(t),Yn()):Z.canViewMembers!==!0&&Yn(),L.value=!1,Object.freeze(Z===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(X){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let Z=tn(X,"profile.channel",t);return i?.forceRefresh===true&&(C$1.value=null,Yn()),Q.value=Z,L.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:Z})}}async function ql(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=++Ue,X=n.getGeneration(),Z=Ie[t.conversationType],Ge=t.conversationType==="group"?y.value:R.value,wn=Ge!==null&&ee(Ge,t);Fe.set(f,w);let To=()=>{let Ln=t.conversationType==="group"?y.value:R.value;return Ge===null?Ln===null:Ln!==null&&ee(Ln,Ge)},fn=()=>!U&&n.getGeneration()===X&&Ie[t.conversationType]===Z&&Fe.get(f)===w&&To();try{let Ln=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);if(!fn())return Object.freeze({ok:!1,operation:l,reason:"stale"});if(Ln.outcome==="joined")if(wn)t.conversationType==="group"?await Lt(t,{forceRefresh:!0}):await Ut(t,{forceRefresh:!0});else try{t.conversationType==="group"?await u.groups.getProfile(t,{forceRefresh:!0}):await u.channels.getProfile(t,{forceRefresh:!0});}catch(dc){fn()&&r.record("error","pinia","profile","membership-join-profile-refresh-failed",()=>({conversation:t,data:{error:tn(dc,l,t)}}));}return fn()?Object.freeze({ok:!0,operation:l,outcome:Ln.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(Ln){return fn()?Object.freeze({ok:false,operation:l,reason:"failed",error:tn(Ln,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{Fe.get(f)===w&&Fe.delete(f);}}async function ga(a,i,t){let l=ve[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?Wn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++ut[a],w=n.getGeneration();l.loading=true,l.error=null;try{let X=await Ts(n,a,u);return U||w!==n.getGeneration()||f!==ut[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ds(i?l.items:[],X.items),l.loaded=!0,l.exhausted=X.exhausted,l.loading=!1,X.nextPageToken===void 0?Wn.delete(a):Wn.set(a,X.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(X){if(U||w!==n.getGeneration()||f!==ut[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let Z=tn(X,`directory.${a}`);return l.error=Z,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:Z})}}function Vl(a,i=false){return ga(a,i,false)}function Bl(a){return ga(a,false,true)}function Ia(){Tn!==void 0&&(clearTimeout(Tn),Tn=void 0),zn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),zn=void 0;}async function $l(a,i){let t=n.getGeneration();try{let l=await Es(n,a);return U||t!==n.getGeneration()||i!==Qn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(b.value=l,$.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==Qn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=tn(l,"directory.search");return oe.value=u,$.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function vo(){Qn+=1,Ia(),B.value="",b.value=null,$.value=false,oe.value=null,Dn=void 0;}function Wl(a,i={}){let t=a.trim();if(t==="")return vo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&zn?.keyword===t)return zn.promise;if(Dn?.keyword===t)return Dn.promise;if(!i.immediate&&B.value===t&&b.value?.keyword===t.toLocaleLowerCase()&&oe.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Qn;Ia(),B.value=t,b.value=null,$.value=true,oe.value=null;let u=()=>{let X=$l(t,l);return Dn={keyword:t,promise:X},X.finally(()=>{Dn?.promise===X&&(Dn=void 0);}),X};if(i.immediate)return u();let f,w=new Promise(X=>{f=X;});return zn={keyword:t,promise:w,resolve:f},Tn=setTimeout(()=>{Tn=void 0,zn=void 0,u().then(f);},300),w}function ha(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function Ql(a,i){!ee(y.value,a)||v.value===null||(v.value=Object.freeze({...v.value,name:i}));}function Jl(a,i){!ee(y.value,a)||v.value===null||(v.value=Object.freeze({...v.value,avatar:i}));}function Xl(a,i,t){if(!ee(y.value,a)||v.value===null)return;let{inviteCode:l,...u}=v.value;v.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ya$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=on.get(a.conversationId)??new Map;f.set(l,u),on.set(a.conversationId,f),ee(y.value,a)&&(A$1.value=Object.freeze(A$1.value.map(w=>w.userId===l?Object.freeze({...w,nickname:u}):w)));}function ba(a,i){Ft(a.conversationId,i);}function go(a,i){let t=i.trim();if(t===""||(Ft(a.conversationId,t),ir(nn,a.conversationId,t),!ee(y.value,a)))return;let l=A$1.value.filter(f=>f.userId!==t),u=l.length!==A$1.value.length;u&&(A$1.value=Object.freeze(l),pr(a)),u&&v.value!==null&&v.value.memberCount!==void 0&&(v.value=Object.freeze({...v.value,memberCount:Math.max(0,v.value.memberCount-1)}));}function Io(a,i){Ft(a.conversationId,i),sr(nn,a.conversationId,i);}function Ca(a,i){return Gt(nn,a.conversationId,i)}function ho(a){nn.delete(a.conversationId),on.delete(a.conversationId);}function Ra(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,name:i}));}function Pa(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,description:i}));}function ka(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,avatar:i}));}function Ma(a,i,t){if(!ee(R.value,a)||C$1.value===null)return;let{inviteCode:l,...u}=C$1.value;C$1.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function yo(a,i){if(!ee(R.value,a)||C$1.value===null)return;let t={...C$1.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};C$1.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(),w=f||l?.trim()||u,X=rn.get(a.conversationId)??new Map;X.set(u,{nickname:f,displayName:w}),rn.set(a.conversationId,X),An.value+=1,ee(O.value,a)&&(G.value=cn(a.conversationId,G.value)),Xn(a,u)&&(he.value=cn(a.conversationId,he.value===null?[]:[he.value])[0]??null),ee(te.value,a)&&(ae.value=Object.freeze(ae.value.map(Z=>Z.userId===u?Object.freeze({...Z,displayName:w}):Z)));}function Jn(a,i,t){let l=i.trim();if(l==="")return;let u=Cn.get(a.conversationId)??new Map;u.set(l,t),Cn.set(a.conversationId,u),ee(O.value,a)&&(G.value=cn(a.conversationId,G.value)),Xn(a,l)&&(he.value=cn(a.conversationId,he.value===null?[]:[he.value])[0]??null);}function Oa(a,i){d(a.conversationId,i);}function Yl(a,i){return An.value,rn.get(a.conversationId)?.get(i.trim())?.nickname}function Co(a,i){let t=i.trim();if(t==="")return;let l=ee(O.value,a),u=ee(te.value,a);if(d(a.conversationId,t),I(a.conversationId,t),ir(Be,a.conversationId,t),!l&&!u)return;let f=l&&G.value.some(X=>X.userId===t),w=u&&ae.value.some(X=>X.userId===t);l&&(G.value=Object.freeze(G.value.filter(X=>X.userId!==t))),u&&(ae.value=Object.freeze(ae.value.filter(X=>X.userId!==t))),Xn(a,t)&&(he.value=null),(f||w)&&ee(R.value,a)&&C$1.value?.memberCount!==void 0&&(C$1.value=Object.freeze({...C$1.value,memberCount:Math.max(0,C$1.value.memberCount-1)}));}function Ro(a,i){d(a.conversationId,i),I(a.conversationId,i),sr(Be,a.conversationId,i);}function Po(a,i){return Gt(Be,a.conversationId,i)}function hr(a){Be.delete(a.conversationId),Cn.delete(a.conversationId),rn.delete(a.conversationId)&&(An.value+=1);}function jn(a,i,t){return !U&&n.getGeneration()===i&&En===t&&ee(O.value,a)}function Xn(a,i,t,l){let u=me.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ke===l)&&u!==null&&ee(u,a)&&u.userId===i}function ko(a,i){let t=i.trim();if(t!==""){if(ee(O.value,a)){let l=G.value.find(u=>u.userId===t);if(l!==void 0)return l}return Xn(a,t)?he.value??void 0:void 0}}async function Zl(a,i,t={forceRefresh:true}){let l=Ee(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ke,w=n.getGeneration();me.value=Object.freeze({...l,userId:u}),he.value=null,Se.value=true,se.value=null;try{let X=await ws(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Xn(l,u,w,f)?X===null||Po(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(he.value=cn(l.conversationId,[X])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(X){if(!Xn(l,u,w,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let Z=tn(X,"profile.channel-member",l);return se.value=Z,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:Z})}finally{Xn(l,u,w,f)&&(Se.value=false);}}async function Mo(a,i,t){N.value=true,le.value=null;try{let l=await xs(n,a,S.value);return jn(a,i,t)?(cr(a.conversationId,l.items),p(a.conversationId,l.items),G.value=cn(a.conversationId,ln(Be,a.conversationId,l.items)),vn=l.nextCursor,ne.value=l.exhausted||l.nextCursor===void 0,Mn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!jn(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=tn(l,"profile.channel-members.refresh",a);return Mn="initial",le.value=u,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Sa(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Ee(a),t=En,l=n.getGeneration();N.value=true,le.value=null;try{let u=await qo(n,i,S.value);return jn(i,l,t)?(u!==null&&(G.value=cn(i.conversationId,ln(Be,i.conversationId,u.items)),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0),await Mo(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!jn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=tn(u,"profile.channel-members.cache",i);return Mn="initial",le.value=f,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Ta(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(ne.value||vn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Ee(a),t=En,l=n.getGeneration();N.value=true,le.value=null;try{let u=await js(n,i,{query:S.value,cursor:vn});return jn(i,l,t)?(cr(i.conversationId,u.items),p(i.conversationId,u.items),G.value=cn(i.conversationId,ln(Be,i.conversationId,ha(G.value,u.items))),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0,Mn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!jn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=tn(u,"profile.channel-members.page",i);return Mn="more",le.value=f,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Yn(a=null){gn!==void 0&&(clearTimeout(gn),gn=void 0),En+=1,O.value=a===null?null:Ee(a),G.value=[],S.value="",N.value=false,ne.value=false,le.value=null,vn=void 0,Mn=void 0;}function Oo(a,i={}){let t=Ee(a);if(i.preserveExisting===true&&ee(O.value,t)){gn!==void 0&&(clearTimeout(gn),gn=void 0);let l=++En,u=n.getGeneration();return le.value=null,Mo(t,u,l)}return Yn(t),Sa(t)}function ec(a){let i=O.value;if(i===null)return;S.value=a,En+=1,G.value=[],ne.value=false,le.value=null,vn=void 0,N.value=false,gn!==void 0&&clearTimeout(gn);let t=En,l=n.getGeneration();(async()=>{try{let u=await qo(n,i,S.value);if(!jn(i,l,t))return;u!==null&&(G.value=cn(i.conversationId,ln(Be,i.conversationId,u.items)),vn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!jn(i,l,t))return;le.value=tn(u,"profile.channel-members.cache",i);}jn(i,l,t)&&(gn=setTimeout(()=>{gn=void 0,Mo(i,l,t);},300));})();}function nc(){let a=O.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Ta(a)}function tc(){let a=O.value;return a===null||Mn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Mn==="more"?Ta(a):Sa(a)}function Hn(a,i,t){return !U&&n.getGeneration()===i&&Rn===t&&ee(te.value,a)}async function qt(a,i={}){if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Ee(a),l=Rn,u=n.getGeneration();Te.value=true,_.value=null;try{let f=i.useCache===!1?null:await Bo(n,t,Ce.value||void 0);if(!Hn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ae.value=pt(t.conversationId,ln(Be,t.conversationId,f.items)),Pn=f.nextPageToken,Re.value=f.exhausted||f.nextPageToken===void 0);let w=await As(n,t,Ce.value||void 0);return Hn(t,u,l)?(ae.value=pt(t.conversationId,ln(Be,t.conversationId,w.items)),Pn=w.nextPageToken,Re.value=w.exhausted||w.nextPageToken===void 0,sn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Hn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let w=tn(f,"profile.channel-mentions",t);return sn="initial",_.value=w,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:w})}}async function Ea(){let a=te.value,i=Pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Re.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=Rn,l=n.getGeneration();Te.value=true,_.value=null;try{let u=await zs(n,Ce.value,i);return Hn(a,l,t)?(ae.value=pt(a.conversationId,ln(Be,a.conversationId,ha(ae.value,u.items))),Pn=u.nextPageToken,Re.value=u.exhausted||u.nextPageToken===void 0,sn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Hn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=tn(u,"profile.channel-mentions.page",a);return sn="more",_.value=f,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function yr(a=null,i=""){an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,te.value=a===null?null:Ee(a),ae.value=[],Ce.value=i,Te.value=false,Re.value=false,_.value=null,Pn=void 0,sn=void 0;}function rc(a,i=""){return ee(te.value,a)&&Ce.value===i?(an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,Te.value=false,_.value=null,Pn=void 0,sn=void 0,qt(a,{useCache:false})):(yr(a,i),qt(a))}function oc(a){let i=te.value;if(i===null)return;yr(i,a);let t=Rn,l=n.getGeneration();(async()=>{try{let u=await Bo(n,i,a||void 0);if(!Hn(i,l,t))return;u!==null&&(ae.value=pt(i.conversationId,ln(Be,i.conversationId,u.items)),Pn=u.nextPageToken,Re.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Hn(i,l,t))return;_.value=tn(u,"profile.channel-mentions.cache",i);}Hn(i,l,t)&&(an=setTimeout(()=>{an=void 0,qt(i);},300));})();}function ac(){let a=te.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(an!==void 0&&(clearTimeout(an),an=void 0),Rn+=1,Te.value=false,_.value=null,Pn=void 0,Re.value=false,sn=void 0,qt(a,{useCache:false}))}function ic(){let a=te.value;return a===null||sn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):sn==="more"?Ea():qt(a)}function So(a){ee(y.value,a)&&(dt(a,{forceRefresh:true}),ht(a,{forceRefresh:true,preserveExisting:true}));}function br(a){ee(O.value,a)&&Oo(a,{preserveExisting:true});}async function ja(a){if(!ee(R.value,a))return;(await Ut(a,{forceRefresh:true})).ok&&C$1.value?.canViewMembers===true&&br(a);}function sc(a){if(a.type==="profile:updated"){if(a.profileType==="user")ar(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&M({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let Z={conversationType:"group",conversationId:a.id};if(Kt(Z)||mr(Z)){k.add(Z.conversationId);return}ee(y.value,Z)?Lt(Z,{includeMembers:true,forceRefresh:true}):dt(Z,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let Z={conversationType:"channel",conversationId:a.channelId};hn(Z)||vr(Z)?ce.add(Z.conversationId):ja(Z);return}if(a.type==="sync:complete"){for(let Z of a.conversations)if(Z.conversationType==="group"){let Ge={conversationType:"group",conversationId:Z.conversationId};ee(y.value,Ge)&&So(Ge);}else if(Z.conversationType==="channel"){let Ge={conversationType:"channel",conversationId:Z.conversationId};(ee(R.value,Ge)||ee(O.value,Ge)||ee(te.value,Ge))&&(Gn(Ge),br(Ge));}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"&&Pu.has(t)){let Z={conversationType:"group",conversationId:i.conversationId},Ge=(a.source??"live")==="live",wn=t==="group_member_renamed"&&l.some(fn=>fn.trim()===u)&&Kt(Z,"set-my-nickname"),To=t==="group_member_renamed"&&!wn;if(t==="group_member_renamed"){wn||xa(n,i);for(let fn of l)wn&&fn.trim()===u||ba(Z,fn);}if(t==="group_member_joined"||t==="group_member_invited")for(let fn of l)Io(Z,fn);if(Ge&&(t==="group_member_left"||t==="group_member_removed"))for(let fn of l)go(Z,fn);if(mr(Z)){q.add(Z.conversationId);return}Ge&&!wn&&(To?ee(y.value,Z)&&ht(Z,{forceRefresh:true,preserveExisting:true}):So(Z));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!ku.has(t)||!f)return;let w={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(Z=>hn(w,Z.trim()===u?"set-my-nickname":"set-member-nickname",Z)))){if(t==="channel_member_renamed")for(let Z of l)Oa(w,Z);if(t==="channel_admin_added"||t==="channel_admin_removed"){let Z=t==="channel_admin_added"?"admin":"member";for(let Ge of l)Jn(w,Ge,Z);}if(t==="channel_owner_transferred"){for(let Ge of l)Jn(w,Ge,"owner");let Z=i.body.system?.operatorId;Z!==void 0&&!l.includes(Z)&&Jn(w,Z,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let Z of l)Ro(w,Z);if(t==="channel_member_left"||t==="channel_member_removed")for(let Z of l)Co(w,Z);if(vr(w)){Gl(w,Gs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Gs.has(t)?Gn(w,l):mt(w,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&ft(w,l,{forceRefresh:true}),br(w);}}let lc=n.subscribeProfileChange(()=>{o.value+=1;}),cc=n.subscribeEvents(sc);function wa$1(){P["set-remark"]+=1,P.block+=1,P.report+=1,P["delete-friendship"]+=1,Ie.direct+=1,c.value=null,m.value=null,g.value="unknown",j.value=false,z.value=null,Ve+=1,K.value=[],x.value=false,W.value=null;}function xa$1(){for(let a of Object.keys(J))J[a]+=1;for(let a of Object.keys(pe))pe[a]+=1;Pe.clear(),E$1.clear(),be.clear(),k.clear(),q.clear(),Ie.group+=1,We+=1,y.value=null,v.value=null,A$1.value=[],V.value=false,H.value=false,F$1.value=null;}function Cr(){for(let a of Object.keys(He))He[a]+=1;T.clear(),xe.clear(),fe.clear(),ue.clear(),ce.clear(),we.clear(),Ie.channel+=1,R.value=null,C$1.value=null,L.value=false,Q.value=null,Ke+=1,me.value=null,he.value=null,Se.value=false,se.value=null,Yn(),yr();}function Aa$1(){wa$1(),P["search-user"]+=1,P["resolve-application-target"]+=1,P["request-friendship"]+=1,xa$1(),Cr(),Fe.clear();for(let a of ["individual","group","channel"])ut[a]+=1,Object.assign(ve[a],Lr());Wn.clear(),vo(),nn.clear(),Ze.clear(),Be.clear(),bn.clear(),on.clear(),Cn.clear(),ge.clear(),s.value={},rn.size>0&&(rn.clear(),An.value+=1);}function uc(){U||(Aa$1(),U=true,Pe.clear(),E$1.clear(),be.clear(),fe.clear(),ue.clear(),T.clear(),xe.clear(),lc(),cc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:j,directError:z,directMutualGroups:K,directMutualGroupsLoading:x,directMutualGroupsError:W,groupRef:y,groupProfile:v,groupMembers:A$1,groupLoading:V,groupMembersLoading:H,groupError:F$1,channelRef:R,channelProfile:C$1,channelLoading:L,channelError:Q,directories:ve,directorySearchKeyword:B,directorySearchResult:b,directorySearchLoading:$,directorySearchError:oe,channelMembersRef:O,channelMembers:G,channelMemberQuery:S,channelMembersLoading:N,channelMembersExhausted:ne,channelMembersError:le,channelMemberDetailRef:me,channelMemberDetail:he,channelMemberDetailLoading:Se,channelMemberDetailError:se,channelMentionsRef:te,channelMentions:ae,channelMentionQuery:Ce,channelMentionsLoading:Te,channelMentionsExhausted:Re,channelMentionsError:_,resolveDisplayName:uo,resolveAvatarUrl:or,resolvePublicNickname:fo,resolveSenderProfile:ar,resolveGroupMemberProfiles:dt,resolveChannelMemberProfiles:ft,invalidateChannelMemberProfiles:mt,invalidateChannelMemberSet:Gn,channelMentionRevision:co,loadDirect:M,resolveProfileAccess:D$1,loadDirectMutualGroups:ie,setDirectContactRemark:ke,blockDirectContact:Me,reportDirectContact:qe,deleteDirectFriendship:Qe,searchDirectContact:_e,resolveDirectContactTarget:Xe,requestDirectFriendship:un,loadGroup:Lt,updateGroupName:Ne,updateGroupAvatar:dn,setMyGroupNickname:Kn,updateGroupVerification:Nn,isGroupProfileWritePending:Kt,inviteGroupMembers:Tl,removeGroupMember:El,transferGroupOwnership:jl,leaveGroup:wl,isGroupMemberManagementPending:mr,ensureGroupMembers:ht,loadChannel:Ut,requestMembershipJoin:ql,updateChannelName:Il,updateChannelDescription:hl,updateChannelAvatar:yl,setMyChannelNickname:bl,setChannelMemberNickname:Cl,updateChannelVerification:Rl,setChannelAllMuted:Pl,setChannelMemberPrivateChatDisabled:kl,isChannelProfileWritePending:hn,inviteChannelMembers:_l,removeChannelMember:Kl,setChannelMemberAdmin:Nl,transferChannelOwnership:Hl,leaveChannel:Ll,dismissChannel:Ul,isChannelMemberManagementPending:vr,loadDirectory:Vl,refreshDirectory:Bl,searchDirectory:Wl,clearDirectorySearch:vo,openChannelMembers:Oo,getChannelMember:ko,loadChannelMember:Zl,setChannelMemberQuery:ec,loadMoreChannelMembers:nc,retryChannelMembers:tc,resetChannelMembers:Yn,updateGroupMemberNicknameProjection:ya$1,clearGroupMemberNicknameProjection:ba,removeGroupMemberProjection:go,restoreGroupMemberProjection:Io,isGroupMemberRemovedProjection:Ca,clearGroupMemberProjections:ho,updateChannelNameProjection:Ra,updateChannelDescriptionProjection:Pa,updateChannelAvatarProjection:ka,updateChannelVerificationProjection:Ma,updateChannelManagementProjection:yo,updateChannelMemberDisplayNameProjection:bo,updateChannelMemberRoleProjection:Jn,clearChannelMemberDisplayNameProjection:Oa,channelMemberNicknameProjection:Yl,removeChannelMemberProjection:Co,restoreChannelMemberProjection:Ro,isChannelMemberRemovedProjection:Po,clearChannelMemberProjections:hr,openChannelMentions:rc,setChannelMentionQuery:oc,loadMoreChannelMentions:Ea,refreshChannelMentions:ac,retryChannelMentions:ic,resetChannelMentions:yr,resetDirect:wa$1,resetGroup:xa$1,resetChannel:Cr,reset:Aa$1,dispose:uc}})}var Fs=new WeakMap,Ur=new WeakMap;function $o(e=Ae()){Oe(e);let n=Fs.get(e);n===void 0&&(n=Ou(e),Fs.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function _s(e,n,r){let o=ref({}),s=0,c=()=>false,m,g=shallowRef([]),j=[],z$1=0;function K(){for(;z$1<4&&j.length>0;){let F=j.shift();z$1+=1,F.run().then(F.resolve,F.reject).finally(()=>{z$1-=1,K();});}}function x(F){return new Promise((R,C)=>{j.push({run:F,resolve:R,reject:C}),K();})}function W(){s+=1,o.value={},g.value=[],c=()=>false;for(let F of j.splice(0))F.resolve();}function y(F){let R={name:"",avatarUrl:""};if(!c()||r.activeRef?.conversationType!==F.ref.conversationType||r.activeRef.conversationId!==F.ref.conversationId)return {...R,status:"unavailable"};m?.profileRevision;let C=n.getSenderProfileCache();if(F.senderId===n.getCredentials().userId)return {...R,status:"self",avatarUrl:E(C,F.senderId)};if(F.senderId==="system")return {...R,status:"system"};if(F.ref.conversationType==="robot"){let ve=r.display,B=F.senderId===F.ref.conversationId&&ve?.title!==F.ref.conversationId?ve?.title.trim()??"":"";return {name:B,avatarUrl:B===""?"":ve?.avatar??"",status:B===""?"unavailable":"ready"}}let L=F.ref.conversationType==="channel"?B(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):z(C,n.getGroupMemberNames(),F.ref.conversationType==="group"?F.ref.conversationId:"",F.senderId),Q=F.ref.conversationType==="channel"?D(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):E(C,F.senderId);return {name:L,avatarUrl:Q,status:L===""?o.value[F.senderId]??"unavailable":"ready"}}async function v(F,R,C=false){if(!R()||F.length===0)return;c=R,C||(g.value=F);let L=s,Q=()=>L===s&&R(),ve=F[0].ref;if(ve.conversationType==="robot")return;m??=$o(e);let B=m,b=F.flatMap(O=>[O.senderId,...O.previewParts.flatMap(G=>G.kind==="rich-text"?G.mention?.atUserIds??[]:[])]),$=[...new Set(b)].filter(O=>O!==""&&O!=="system"&&O!==n.getCredentials().userId&&o.value[O]!=="loading"&&(C||o.value[O]===void 0));if($.length===0)return;for(let O of $)o.value[O]="loading";let oe=Promise.allSettled([Promise.resolve().then(()=>Q()?ve.conversationType==="group"?B.resolveGroupMemberProfiles({conversationType:"group",conversationId:ve.conversationId},{forceRefresh:C}):ve.conversationType==="channel"?B.resolveChannelMemberProfiles({conversationType:"channel",conversationId:ve.conversationId},$,{forceRefresh:C,isCurrent:Q}):true:false)]).then(([O])=>O.status==="fulfilled"&&O.value);await Promise.all($.map(O=>x(async()=>{if(!Q())return;let[G,S]=await Promise.allSettled([oe,Promise.resolve().then(()=>B.resolveSenderProfile(O,{forceRefresh:C}))]);if(!Q())return;let N=G.status==="rejected"||G.value===false||S.status==="rejected"||S.value===false;o.value[O]=N?"failed":"unavailable";})));}function A(){return g.value.flatMap(F=>{if(F.ref.conversationType==="robot")return [];let R=F.previewParts.flatMap(C=>C.kind==="rich-text"?(C.mention?.atUserIds??[]).filter(L=>!C.mention?.atUsersName?.[L]?.trim()):[]);return [F.senderId,...R].map(C=>({...F,senderId:C,previewParts:[]})).filter(C=>["failed","unavailable"].includes(y(C).status))})}let V=computed(()=>A().length>0);async function H(){await v(A(),c,true);}return {senderFor:y,prepare:v,reset:W,hasRetryableSenderProfiles:V,retrySenderProfiles:H}}var zu=250,Du=2e3;function Ns(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Wo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Qo(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ns(r)}})}function Gu(e){return defineStore("k2-im-search",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=_s(e,n,o),c=ref(""),m=ref([]),g=ref(false),j=ref(false),z=ref("all"),K=ref(""),x=ref(""),W=shallowRef(null),y=false,v=0,A=0,V,H,F,R,C;function L(){let se=o.activeRef,te=o.getHandle();if(!(y||se===null||te===void 0||!Wo(se,te.ref)))return {ref:Ns(se),handle:te,generation:n.getGeneration()}}function Q(se){return !y&&n.getGeneration()===se.generation&&o.getHandle()===se.handle&&Wo(o.activeRef,se.ref)}function ve(){let se=F;se!==void 0&&(clearTimeout(se.timer),F=void 0,se.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function B(){R!==void 0&&(clearTimeout(R),R=void 0);}function b(se,te){return te===v&&(g.value=false),Object.freeze({ok:false,operation:se,reason:"stale"})}function $(se,te){return se===A&&K.value===te&&(K.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function oe(se,te,ae){switch(ae){case "all":return Da(n,{conversation:se.ref,keyword:te});case "text":return Ea(n,{conversation:se.ref,keyword:te});case "file":return Fa(n,{conversation:se.ref,keyword:te});case "image":return Ga(n,{conversation:se.ref});case "video":return Ha(n,{conversation:se.ref});case "voice":return Ia(n,{conversation:se.ref})}}function O(se,te){return se!==""?true:te!=="all"&&te!=="text"}function G(se){c.value=se,ve();let te=++v,ae=se.trim(),Ce=z.value,Te=O(ae,Ce);if(H=void 0,m.value=[],s.reset(),j.value=false,W.value=null,!Te)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Re=L();return Re===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(_=>{let U=setTimeout(()=>{if(F?.timer===U&&(F=void 0),te!==v||!Q(Re)){_(b("search",te));return}r.record("debug","pinia","history","search-start",()=>({generation:Re.generation,conversation:Re.ref,category:Ce})),oe(Re,ae,Ce).then(ge=>{if(te!==v||!Q(Re)){_(b("search",te));return}m.value=[...ge.results],s.prepare(m.value,()=>Q(Re)),H=ge.nextPageToken,j.value=!ge.exhausted,g.value=false,_(Object.freeze({ok:true,operation:"search"}));}).catch(ge=>{if(te!==v||!Q(Re)){_(b("search",te));return}let ye=Qo(ge,"search.first-page",Re.ref);W.value=ye,g.value=false,_(Object.freeze({ok:false,operation:"search",reason:"failed",error:ye}));});},zu);F={timer:U,resolve:_};}))}function S(se){return z.value=se,(se==="image"||se==="video"||se==="voice")&&(c.value=""),G(c.value)}async function N(){if(g.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!j.value||H===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let se=L();if(se===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let te=H,ae=++v;g.value=true,W.value=null;try{let Ce=await Ja(n,te);return ae!==v||!Q(se)?b("load-more",ae):(m.value=[...m.value,...Ce.results],s.prepare(m.value,()=>Q(se)),H=Ce.nextPageToken,j.value=!Ce.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(Ce){if(ae!==v||!Q(se))return b("load-more",ae);let Te=Qo(Ce,"search.next-page",se.ref);return W.value=Te,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Te})}}async function ne(se,te){let ae=L();if(ae===void 0||!Wo(ae.ref,se))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let Ce=++A;V?.abort();let Te=new AbortController;V=Te,B(),x.value="",K.value="",K.value=te,W.value=null;try{return !await o.loadAround(te,{skipIfLoaded:!0,signal:Te.signal})||(await nextTick(),Ce!==A||!Q(ae))?$(Ce,te):(x.value=te,Object.freeze({ok:!0,operation:"locate"}))}catch(Re){if(Ce!==A||!Q(ae))return $(Ce,te);let _=Qo(Re,"search.locate",ae.ref),U=a(Re).reason;return U==="load-failed"&&r.record("warn","pinia","search","message-locate-failed",()=>({conversation:ae.ref,error:{message:"\u8BFB\u53D6\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5931\u8D25",data:Re}})),K.value="",W.value=U==="cancelled"?null:_,Object.freeze({ok:false,operation:"locate",reason:U==="load-failed"||U==="not-visible"?"failed":U,...U==="cancelled"?{}:{error:_}})}finally{V===Te&&(V=void 0);}}function le(se){if(K.value!==se)return false;K.value="";let te=A,ae=L();return B(),ae===void 0||x.value!==se||(R=setTimeout(()=>{R=void 0,te===A&&Q(ae)&&x.value===se&&(x.value="");},Du)),true}function me(){A+=1,V?.abort(),V=void 0,B(),K.value="",x.value="";}function he(se){v+=1,ve(),c.value="",m.value=[],s.reset(),g.value=false,j.value=false,z.value="all",H=void 0,W.value=null,se?.preserveLocation!==true&&me();}function Se(){y||(he(),y=true,C?.(),C=void 0);}return C=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>he(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:j,category:z,locatingMessageId:K,highlightMessageId:x,error:W,search:G,setCategory:S,loadMore:N,locate:ne,completeLocation:le,clearLocation:me,reset:he,dispose:Se}})}var Ks=new WeakMap,qr=new WeakMap;function xn(e=Ae()){Oe(e);let n=Ks.get(e);n===void 0&&(n=Gu(e),Ks.set(e,n));let r=n(e);return qr.get(e)!==r&&(qr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),qr.get(e)===r&&qr.delete(e);})),r}var Vr=new WeakMap;function Hs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fu(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function _u(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ku(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&&_u(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hs(n)})}function Nu(e=Ae()){let n=Oe(e),r=Vr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=No(e),m=$e(e),g=tt(e),j=Qt(e),z=xn(e),K={disposed:false};function x(W){let y=Hs(W);if(K.disposed)return Object.freeze({ok:false,reason:"stale",conversation:y});let v=o.getGeneration(),A=m.activeRef!==null&&m.activeRef.conversationType===y.conversationType&&m.activeRef.conversationId===y.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:v,conversation:y})),!Fu(y))return Object.freeze({ok:false,reason:"unsupported",conversation:y});let V=c.deleteLocal(y);if(!V.ok){if(V.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:y});let R=Ku(V.error,y);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:v,conversation:y,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:R}})),Object.freeze({ok:false,reason:"delete-failed",conversation:y,error:R})}if(K.disposed||o.getGeneration()!==v)return Object.freeze({ok:false,reason:"stale",conversation:y});Gi(e,y);let H=m.closeActiveConversation(y),F=A||H;return F&&(g.reset(),j.reset(),z.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:v,conversation:y,data:{activeConversationCleared:F}})),Object.freeze({ok:true,status:"deleted",conversation:y,activeConversationCleared:F})}return K.coordinator=Object.freeze({deleteLocal:x}),Vr.set(e,K),De(e,()=>{K.disposed=true,Vr.get(e)===K&&Vr.delete(e);}),K.coordinator}var Ls=30,Lu=15,Uu=20,qu=4294967295,Us=new WeakMap;function $r(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 qs(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>qu)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Vu(e,n){if(!$r(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=At(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=qs(e.width,"asset.width"),c=qs(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: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:At(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function tr(e,n){let r=Us.get(e);r===void 0&&(r=new Map,Us.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 Vs(e,n,r,o){let s=tr(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Wr=new WeakMap;function nr(){return reactive({loading:false,loaded:false,error:null})}function jt(e){return {sticker:e(),gif:e()}}function Bs(e){return {sticker:e(),gif:e(),emoji:e()}}function Vn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function Bu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function wt(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&&Bu(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Jo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function $s(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 $u(e){let n=[];for(let r=0;r<e.length;r+=Ls)n.push(e.slice(r,r+Ls));return n}function Qr(e){return e==="gif"?Uu:Lu}function Ye(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function Xo(e,n){let r=Ye(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ye(o)!==r)].slice(0,Qr(n.kind)))}function Wu(e,n){let r=Ye(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ye(o)!==r)])}function Ws(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ye(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Qr(e)))break}return Object.freeze(o)}function Qs(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function ea(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Yo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:ea(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Zo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Qu(e){return defineStore("k2-im-expression",()=>{let n=Oe(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),j=nr(),z=reactive({}),K=ref({sticker:[],gif:[]}),x=jt(nr),W=ref({sticker:[],gif:[]}),y=ref({sticker:[],gif:[],emoji:[]}),v=Bs(nr),A=ref({sticker:[],gif:[],emoji:[]}),V=ref([]),H=ref("idle"),F=ref(""),R=ref([]),C=ref(0),L=nr(),Q=ref(void 0),ve=computed(()=>Vn(j,m.value.length)),B=computed(()=>{let d=new Set([...Object.keys(z),...Object.keys(g.value)]);return Object.fromEntries([...d].map(p=>{let I=z[p]??{loading:false,loaded:true,error:null};return [p,Vn(I,g.value[p]?.length??0)]}))}),b=computed(()=>({sticker:Vn(x.sticker,K.value.sticker.length),gif:Vn(x.gif,K.value.gif.length)})),$=computed(()=>({sticker:Vn(v.sticker,y.value.sticker.length),gif:Vn(v.gif,y.value.gif.length),emoji:Vn(v.emoji,V.value.length)})),oe=computed(()=>Vn(L,R.value.length)),O=computed(()=>Q.value!==void 0),G=false,S=0,N=0,ne={},le=jt(()=>0),me=Bs(()=>0),he=0,Se=0,se=0,te=0,ae=0,Ce=null,Te=null,Re=null,_="emoji",U=new Set,ge=[],ye=null,Ie=null,Ve=null,P=null,J=jt(()=>new Map),pe=jt(()=>new Map),be=new Map,je=new Map,Pe=jt(()=>Promise.resolve());function E(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:S,accountId:d.userId}}function k(d){return !G&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===S&&d.accountId===r.getCredentials().userId}function q(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function ue(d,p,I){let h=wt(p,d);return I.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function fe(){return Object.freeze({ok:false,reason:"stale"})}function ze(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 He(){let d=p=>Object.freeze(y.value[p].flatMap(I=>{let h=ze(I);return h===null?[]:[Object.freeze({asset:h,pendingSync:J[p].has(Ye(h))})]}).slice(0,Qr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(V.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:be.has(p.stableKey)})))})}function xe(){for(let d of ["sticker","gif","emoji"])v[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(v[d].error=null);}function T(d,p){let I=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=I,Object.freeze({ok:false,operation:d,reason:"failed",error:I})}function Y(d,p,I,h=[p]){let M=o,D=++se,ie=Vs(M,d.accountId,I,h);ae=ie.revision;let de=ie.promise.then(()=>(k(d)&&D===se&&xe(),true),re=>{if(!k(d)||D!==se)return false;let ke=Jo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return v[p].error=ke,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ke.code,data:re}})),false});return {...ie,settled:de}}function ce(d){return Ce!==null&&on(Ce,d)}function we(d){if(Ve!==null)return Ve;let I=(async()=>{for(;k(d)&&!ce(d);){let M=P!==null&&on(P.context,d)?P:null;if(M!==null){let ie=await M.promise;if(ie.ok||!k(d)||ie.reason!=="stale")return;continue}let D=await rn();if(D.ok||!k(d)||D.reason!=="stale")return}})();Ve=I;let h=()=>{Ve===I&&(Ve=null);};return I.then(h,h),I}function Fe(d,p,I){if(!k(d))return Promise.resolve();if(te+=1,o===void 0||d.accountId==="")return Ce=d,Promise.resolve();let h=He();return ce(d)?Y(d,p,h).settled.then(()=>{}):(Re=h,_=p,U.add(p),ge.push(I),we(d))}function Ue(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function We(d$1,p){let I=[...d$1.sticker],h=[...d$1.gif],M=[...d$1.emoji],D=new Map(d$1.pendingSticker),ie=new Map(d$1.pendingGif),de=new Map(d$1.pendingEmoji);for(let re of p){if(re.type==="prepend-asset"){(re.kind==="sticker"?D:ie).set(Ye(re.asset),re.asset),re.kind==="sticker"?I=[...Xo(I,re.asset)]:h=[...Xo(h,re.asset)];continue}if(re.type==="prepend-emoji"||re.type==="prepend-emojis"){let Me=re.type==="prepend-emoji"?[re.entry]:re.entries;for(let qe of Me)qe.kind==="emoji"&&de.set(qe.stableKey,qe),M=[...d(M,qe)];continue}if(re.type==="authoritative"){if(re.kind==="emoji"){for(let Me of re.items)if(Me.kind==="emoji")for(let[qe,Qe]of de)Qe.resourceId===Me.resourceId&&de.delete(qe);M=[...Yo(re.items,M,new Set(de.keys()))];}else {let Me=re.kind==="sticker"?D:ie;for(let Qe of re.items)Qe.kind===re.kind&&Me.delete(Ye(Qe));let qe=Ws(re.kind,re.items,Me);re.kind==="sticker"?I=[...qe]:h=[...qe];}continue}if(re.type==="delete-assets"){let Me=new Set(re.identities),qe=re.kind==="sticker"?D:ie,Qe=_e=>_e.kind==="emoji"||!Me.has(Ye(_e))||qe.has(Ye(_e));re.kind==="sticker"?I=I.filter(Qe):h=h.filter(Qe);continue}let ke=new Set(re.resourceIds);M=M.filter(Me=>Me.kind==="game"||!ke.has(Me.resourceId)||de.has(Me.stableKey));}return {sticker:Object.freeze(I),gif:Object.freeze(h),emoji:Object.freeze(M),pendingSticker:D,pendingGif:ie,pendingEmoji:de}}function Ke(d){if(!$r(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(de,re)=>{let ke=[],Me=new Map,qe=new Set;for(let Qe of re){if(!$r(Qe)||typeof Qe.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let _e=Vu(Qe.asset,de),Xe=Ye(_e);qe.has(Xe)||(qe.add(Xe),ke.length<Qr(de)&&(ke.push(_e),Qe.pendingSync&&Me.set(Xe,_e)));}return {items:Object.freeze(ke),pending:Me}},I=p("sticker",d.sticker),h=p("gif",d.gif),M=[],D=new Map,ie=new Set;for(let de of d.emoji){if(!$r(de)||typeof de.stableKey!="string"||de.stableKey.trim()===""||de.kind!=="emoji"&&de.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let re=de.stableKey.trim(),ke,Me=false;if(de.kind==="game"){if(de.gameType!=="dice"&&de.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ke=Zo(de.gameType),ke.stableKey!==re)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let qe=At(de.token,"emoji.token"),Qe=At(de.resourceId,"emoji.resourceId");if(typeof de.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Me=de.pendingSync,ke=Object.freeze({kind:"emoji",stableKey:re,token:qe,resourceId:Qe});}ie.has(re)||(ie.add(re),M.length<14&&(M.push(ke),ke.kind==="emoji"&&Me&&D.set(re,ke)));}return {sticker:I.items,gif:h.items,emoji:Object.freeze(M),pendingSticker:I.pending,pendingGif:h.pending,pendingEmoji:D}}function nn(d){y.value={sticker:d.sticker,gif:d.gif,emoji:[]},A.value={sticker:[],gif:[],emoji:[]},V.value=d.emoji,J.sticker.clear(),J.gif.clear(),be.clear();for(let[p,I]of d.pendingSticker)J.sticker.set(p,I);for(let[p,I]of d.pendingGif)J.gif.set(p,I);for(let[p,I]of d.pendingEmoji)be.set(p,I);for(let p of ["sticker","gif","emoji"])Object.assign(v[p],{loading:false,loaded:true,error:null});}function Ze(d,p){if(o===void 0||d.accountId==="")return 0;let I=tr(o,d.accountId);return p===void 0?I.revision:I.kindRevisions[p]}function Be(d){if(o===void 0||d.accountId===""||!ce(d))return;let p=tr(o,d.accountId);if(p.revision===ae)return;let I=p.latestSnapshot===null?Ue():Ke(p.latestSnapshot),h=(M,D)=>{let ie=M==="sticker"?I.pendingSticker:I.pendingGif,de=new Map(y.value[M].flatMap(re=>re.kind==="emoji"||re.kind!==M?[]:[[Ye(re),re]]));return Object.freeze(D.map(re=>{if(re.kind==="emoji"||re.kind!==M)return re;let ke=Ye(re);if(ie.has(ke))return re;let Me=xt(de.get(ke)??re);return Object.freeze({...re,...Me===void 0?{}:{recordId:Me}})}))};y.value={sticker:h("sticker",I.sticker),gif:h("gif",I.gif),emoji:y.value.emoji},V.value=I.emoji,J.sticker.clear(),J.gif.clear(),be.clear();for(let[M,D]of I.pendingSticker)J.sticker.set(M,D);for(let[M,D]of I.pendingGif)J.gif.set(M,D);for(let[M,D]of I.pendingEmoji)be.set(M,D);for(let M of ["sticker","gif"]){let D=new Set(y.value[M].flatMap(ie=>xt(ie)===void 0?[]:[xt(ie)]));A.value={...A.value,[M]:Object.freeze(A.value[M].filter(ie=>D.has(ie)))};}ae=p.revision;}async function bn(d,p,I,h){let M="hydrate-recent";v.emoji.error=null;try{let D=null,ie=0;if(o!==void 0&&d.accountId!==""){D=tr(o,d.accountId);let _e=D.latestSnapshot;if(!h&&D.status==="failed"&&_e!==null&&Vs(o,d.accountId,_e,[]),ie=D.revision,await D.tail.catch(()=>{}),p!==Se||!k(d)||te!==I||D.revision!==ie)return q(M);if(!h&&D.status==="failed")return T(M,v.emoji);D.status==="saved"&&ye!==null&&D.latestSnapshot===ye&&Re===Ie&&(Re=null,U.clear(),ge.length=0,ye=null,Ie=null);}let de=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Se||!k(d)||te!==I||D!==null&&D.revision!==ie)return q(M);let re;try{re=de===null?Ue():Ke(de);}catch(_e){let Xe=o?.clearInvalid;if(de!==null&&d.accountId!==""&&Xe!==void 0)try{await Xe(d.accountId,de);}catch(un){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:un})}throw _e}let ke=h?null:Re,Me=new Set(U),qe=[...ge],Qe=ke===null?re:We(re,qe);if(nn(Qe),ae=ie,h){if(Re=null,U.clear(),ge.length=0,ye=null,Ie=null,D!==null){D.revision+=1;for(let _e of ["sticker","gif","emoji"])D.kindRevisions[_e]+=1;D.status="saved",D.latestSnapshot=de,D.error=null,ae=D.revision;}return Ce=d,xe(),Object.freeze({ok:!0,operation:M})}if(ke!==null&&o!==void 0&&d.accountId!==""){let _e=He();ye=_e,Ie=ke;let Xe=Y(d,_,_e,[...Me]),un=await Xe.settled;if(p!==Se||!k(d)||te!==I||Xe.coordinator.revision!==Xe.revision)return q(M);if(!un)return T(M,v.emoji);Re===ke&&(Re=null,U.clear(),ge.length=0,ye=null,Ie=null);}return Ce=d,Object.freeze({ok:!0,operation:M})}catch(D){return p!==Se||!k(d)?q(M):ue(M,D,v.emoji)}}function on(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function rn(d={}){let p="hydrate-recent";if(G)return Promise.resolve(q(p));let I;try{I=E();}catch(ke){let Me=ue(p,ke,v.emoji);return !Me.ok&&Me.reason==="failed"&&(Te=Me.error??v.emoji.error),Promise.resolve(Me)}let h=o===void 0||I.accountId===""?null:tr(o,I.accountId);if(!d.force&&ce(I)&&Re===null&&(h===null||(h.status==="idle"||h.status==="saved")&&h.revision===ae))return Te=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&P!==null&&!P.force&&P.stateRevision===te&&on(P.context,I))return P.promise;let M=++Se,D=te,ie=bn(I,M,D,d.force===true).then(ke=>(ke.ok?Te=null:ke.reason==="failed"&&(Te=ke.error??v.emoji.error),ke)),de={context:I,stateRevision:D,force:d.force===true,promise:ie};P=de;let re=()=>{P===de&&(P=null);};return ie.then(re,re),ie}async function Cn(d){let p="load-packs";if(G)return q(p);let I=++N,h;try{h=E();}catch(M){return ue(p,M,j)}j.loading=true,j.error=null;try{let M=await h.client.expressions.packs.list(d);return I!==N||!k(h)?q(p):(c.value=M.version,m.value=Object.freeze([...M.items]),j.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(M){return I!==N||!k(h)?q(p):ue(p,M,j)}finally{I===N&&k(h)&&(j.loading=false);}}async function An(d){let p="load-pack-items";if(G)return q(p);let I=d.trim();if(I===""){let ie=wt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:ie})}let h=z[I]??=nr(),M=(ne[I]??0)+1;ne[I]=M;let D;try{D=E();}catch(ie){return ue(p,ie,h)}h.loading=true,h.error=null;try{let ie=await D.client.expressions.packs.listItems(I);return ne[I]!==M||!k(D)?q(p):(g.value={...g.value,[I]:Object.freeze([...ie])},h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(ie){return ne[I]!==M||!k(D)?q(p):ue(p,ie,h)}finally{ne[I]===M&&k(D)&&(h.loading=false);}}async function ut(d){let p="load-favorites";if(G)return q(p);let I=++le[d],h=x[d],M;try{M=E();}catch(D){return ue(p,D,h)}h.loading=true,h.error=null;try{let D=await M.client.expressions.favorites.list(d);return le[d]!==I||!k(M)?q(p):(Wn(d,D),h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(D){return le[d]!==I||!k(M)?q(p):ue(p,D,h)}finally{le[d]===I&&k(M)&&(h.loading=false);}}function Wn(d,p){for(let D of p)pe[d].delete(Ye(D));let I=[],h=new Set;for(let D of [...pe[d].values(),...p]){let ie=Ye(D);h.has(ie)||(h.add(ie),I.push(Object.freeze({...D})));}K.value={...K.value,[d]:Object.freeze(I)};let M=new Set(p.flatMap(D=>D.recordId===void 0?[]:[D.recordId]));W.value={...W.value,[d]:Object.freeze(W.value[d].filter(D=>M.has(D)))};}async function Qn(d,p,I){let h=x[p];try{let M=await d.client.expressions.favorites.list(p);if(le[p]!==I||!k(d))return;Wn(p,M),h.loaded=!0;}catch(M){le[p]===I&&k(d)&&(h.error=wt(M,"load-favorites"));}}function Tn(d,p){let I="set-favorite";if(G)return Promise.resolve(q(I));let h=Ye(d),M=je.get(h);if(M?.desired===p)return M.promise;let D;try{D=E();}catch(ke){return Promise.resolve(ue(I,ke,x[d.kind]))}let ie=M?.promise.catch(()=>{})??Promise.resolve(),de=Pe[d.kind].catch(()=>{}),re=Promise.all([ie,de]).then(async()=>{if(!k(D))return q(I);let ke=d.kind,Me=x[ke];Me.error=null;let qe=K.value[ke].find(_e=>Ye(_e)===h);if(p&&qe!==void 0)return Object.freeze({ok:true,operation:I});if(!p&&qe?.recordId===void 0){let _e=Jo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Me.error=_e,Object.freeze({ok:false,operation:I,reason:"failed",error:_e})}let Qe=++le[ke];try{if(p?await D.client.expressions.favorites.add(d):await D.client.expressions.favorites.delete([qe.recordId]),!k(D))return q(I);p?(pe[ke].set(h,Object.freeze({...d})),K.value={...K.value,[ke]:Wu(K.value[ke],d)}):(pe[ke].delete(h),K.value={...K.value,[ke]:Object.freeze(K.value[ke].filter(Xe=>Xe.recordId!==qe.recordId))});let _e=++le[ke];return Qe=_e,await Qn(D,ke,_e),!k(D)||le[ke]!==_e?q(I):Object.freeze({ok:!0,operation:I})}catch(_e){return !k(D)||le[ke]!==Qe?q(I):ue(I,_e,Me)}finally{le[ke]===Qe&&k(D)&&(Me.loading=false);}});return je.set(h,{desired:p,promise:re}),Pe[d.kind]=re.then(()=>{},()=>{}),re.finally(()=>{je.get(h)?.promise===re&&je.delete(h);}),re}async function zn(d){let p=await Tn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Dn(d){return Tn(d,false)}function En(d,p,I){if(G)return;let h=$s(p),M=new Set(W.value[d]);I??!M.has(h)?M.add(h):M.delete(h),W.value={...W.value,[d]:Object.freeze([...M])};}function vn(d,p,I){if(Be(I),d==="emoji"){for(let M of p)if(M.kind==="emoji")for(let[D,ie]of be)ie.resourceId===M.resourceId&&be.delete(D);y.value={...y.value,emoji:Object.freeze([...p])},V.value=Yo(p,V.value,new Set(be.keys()));}else {for(let M of p)M.kind===d&&J[d].delete(Ye(M));y.value={...y.value,[d]:Ws(d,p,J[d])};}let h=new Set(p.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));A.value={...A.value,[d]:Object.freeze(A.value[d].filter(M=>h.has(M)))},v[d].loaded=true,Fe(I,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function gn(d){let p="load-recent";if(G)return q(p);let I=v[d],h=await rn();if(!h.ok)return h.reason==="stale"?q(p):(I.error=h.error??v.emoji.error,Object.freeze({...h,operation:p}));let M=++me[d],D;try{D=E();}catch(ie){return ue(p,ie,I)}I.loading=true,I.error=null;try{let ie=Ze(D,d),de=await D.client.expressions.recent.list(d);return me[d]!==M||!k(D)?q(p):Ze(D,d)!==ie?(Be(D),q(p)):(vn(d,de,D),Object.freeze({ok:!0,operation:p}))}catch(ie){return me[d]!==M||!k(D)?q(p):ue(p,ie,I)}finally{me[d]===M&&k(D)&&(I.loading=false);}}async function Mn(d,p){if(!k(d))return;let I=++me[p],h=v[p];h.loading=true,h.error=null;try{Be(d);let M=Ze(d,p),D=await d.client.expressions.recent.list(p);if(me[p]!==I||!k(d))return;if(Ze(d,p)!==M){Be(d);return}vn(p,D,d);}catch(M){me[p]===I&&k(d)&&(h.error=wt(M,"load-recent"));}finally{me[p]===I&&k(d)&&(h.loading=false);}}function Rn(d,p){if(!k(d))return false;Be(d),Se+=1;let I=p.kind,h=Object.freeze({...p});return J[I].set(Ye(h),h),y.value={...y.value,[I]:Xo(y.value[I],h)},v[I].loaded=true,Fe(d,I,Object.freeze({type:"prepend-asset",kind:I,asset:h})),true}function Pn(d$1,p){if(!k(d$1))return false;Be(d$1),Se+=1;let I=Object.freeze(p.map(M=>Object.freeze({...M}))),h=V.value;for(let M of I)be.set(M.stableKey,M),h=d(h,M);return V.value=h,v.emoji.loaded=true,Fe(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:I})),true}function an(d,p){return Pn(d,[p])}async function sn(d,p,I=true){let h="report-recent";if(!k(d))return q(h);let M=p.kind,D=++me[M],ie=v[M];ie.error=null;try{if(await d.client.expressions.recent.report(p),me[M]!==D||!k(d))return q(h);if(!I)return Object.freeze({ok:!0,operation:h});try{Be(d);let de=Ze(d,M),re=await d.client.expressions.recent.list(M);if(me[M]!==D||!k(d))return q(h);if(Ze(d,M)!==de)return Be(d),q(h);vn(M,re,d);}catch(de){me[M]===D&&k(d)&&(ie.error=wt(de,"load-recent"));}return Object.freeze({ok:!0,operation:h})}catch(de){return me[M]!==D||!k(d)?q(h):ue(h,de,ie)}}async function co(d){let p="report-recent";if(G)return q(p);let I;try{I=E();}catch(h){return ue(p,h,v[d.kind])}return d.kind==="emoji"?an(I,Object.freeze({...d,stableKey:ea(d)})):Rn(I,d),sn(I,d)}function uo(d,p,I){if(G)return;let h=$s(p),M=new Set(A.value[d]);I??!M.has(h)?M.add(h):M.delete(h),A.value={...A.value,[d]:Object.freeze([...M])};}async function or(d,p,I){let h=d==="favorites"?"delete-favorites":"delete-recent";if(G)return q(h);let M=d==="favorites"?W:A,D=d==="favorites"?le:me,ie=d==="favorites"?x:v,de=I?.selected??M.value[p];if(de.length===0)return Object.freeze({ok:false,operation:h,reason:"empty"});let re=ie[p];if(re.loading)return Object.freeze({ok:false,operation:h,reason:"busy"});let ke=++D[p],Me;try{Me=I?.context??E();}catch(Ne){return ue(h,Ne,re)}d==="recent"&&Be(Me);let qe=d==="recent"?Ze(Me,p):0,Qe=new Set(de),_e=d==="recent"?y.value[p].filter(Ne=>{let dn=xt(Ne);return dn!==void 0&&Qe.has(dn)}):[];re.loading=true,re.error=null;let Xe=[],un=new Set,Fn,_n,In=false;for(let Ne of $u(de)){if(!k(Me))return q(h);if(d==="recent"&&D[p]!==ke){In=true;break}try{d==="favorites"?await Me.client.expressions.favorites.delete(Ne):await Me.client.expressions.recent.delete(Ne);for(let dn of Ne)un.add(dn);}catch(dn){let Kn=wt(dn,h);Fn??=Kn,Xe.push(...Ne);}}if(!k(Me))return q(h);if(d==="recent"&&D[p]!==ke&&(In=true),d==="recent"&&Ze(Me,p)!==qe&&(In=true),d==="favorites"){let Ne=p;K.value={...K.value,[Ne]:Object.freeze(K.value[Ne].filter(Nn=>Nn.recordId===void 0||!un.has(Nn.recordId)))};let dn=new Set(de),Kn=W.value[Ne].filter(Nn=>!dn.has(Nn));if(W.value={...W.value,[Ne]:Object.freeze([...new Set([...Kn,...Xe])])},_n=++le[Ne],await Qn(Me,Ne,_n),!k(Me))return q(h)}else {let Ne=p;Be(Me);let dn=_e.filter(Le=>{let hn=xt(Le);return hn!==void 0&&un.has(hn)}),Kn=new Set(dn.filter(Le=>Le.kind==="emoji").map(Le=>Le.resourceId)),Nn=new Set(dn.filter(Le=>Le.kind!=="emoji").map(Ye));Ne==="emoji"&&(V.value=Object.freeze(V.value.filter(Le=>Le.kind==="game"||!Kn.has(Le.resourceId)||be.has(Le.stableKey)))),y.value={...y.value,[Ne]:Object.freeze(y.value[Ne].filter(Le=>{let hn=xt(Le);return hn===void 0||!un.has(hn)}))};let mo=new Set(de),kn=In?A.value[Ne].filter(Le=>!un.has(Le)):A.value[Ne].filter(Le=>!mo.has(Le));if(A.value={...A.value,[Ne]:Object.freeze(In?kn:[...new Set([...kn,...Xe])])},Ne==="emoji"){let Le=y.value.emoji.filter(hn=>hn.kind==="emoji");V.value=Yo(Le,V.value,new Set(be.keys()));}let On=Object.freeze(Ne==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Kn])}:{type:"delete-assets",kind:Ne,identities:Object.freeze([...Nn])});if(Fe(Me,Ne,On),In&&un.size>0&&await Mn(Me,Ne),!k(Me))return q(h)}return (d==="recent"?me[p]===ke:le[p]===_n)&&(re.loaded=true,(Fn!==void 0||d==="recent")&&(re.error=Fn??null),re.loading=false),In?q(h):Xe.length===0?Object.freeze({ok:true,operation:h}):Object.freeze({ok:false,operation:h,reason:un.size===0?"failed":"partial",error:Fn,failedRecordIds:Object.freeze(Xe)})}function fo(d){let p="delete-favorites";if(G)return Promise.resolve(q(p));let I=Object.freeze([...W.value[d]]);if(I.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let h;try{h=E();}catch(ie){return Promise.resolve(ue(p,ie,x[d]))}let D=Pe[d].catch(()=>{}).then(()=>k(h)?or("favorites",d,{context:h,selected:I}):q(p));return Pe[d]=D.then(()=>{},()=>{}),D}function ar(d){return or("recent",d)}function dt(d,p){let I=++he;return H.value=d,F.value=p,R.value=[],C.value=0,Q.value=void 0,L.loading=true,L.loaded=false,L.error=null,I}async function ft(d,p){let I="load-giphy";if(G)return q(I);let h={mode:H.value,query:F.value,items:R.value,totalCount:C.value,nextOffset:Q.value,loaded:L.loaded},M=dt(d,p),D=()=>{H.value=h.mode,F.value=h.query,R.value=h.items,C.value=h.totalCount,Q.value=h.nextOffset,L.loaded=h.loaded;},ie;try{ie=E();}catch(de){return D(),L.loading=false,ue(I,de,L)}try{let de=d==="trending"?await ie.client.expressions.giphy.trending():await ie.client.expressions.giphy.search(p);return M!==he||!k(ie)?q(I):(R.value=Qs(de.items),C.value=de.totalCount,Q.value=de.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:I}))}catch(de){return M!==he||!k(ie)?q(I):(D(),ue(I,de,L))}finally{M===he&&k(ie)&&(L.loading=false);}}function mt(){return ft("trending","")}function Gn(d){if(G)return Promise.resolve(q("load-giphy"));let p=d.trim();return p===""?(dt("search",""),L.loading=false,L.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):ft("search",p)}async function ir(){let d="load-more-giphy";if(G)return q(d);if(L.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(H.value==="idle"||Q.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++he,I=H.value,h=F.value,M=Q.value,D;try{D=E();}catch(ie){return ue(d,ie,L)}L.loading=true,L.error=null;try{let ie=I==="trending"?await D.client.expressions.giphy.trending({offset:M}):await D.client.expressions.giphy.search(h,{offset:M});return p!==he||!k(D)?q(d):(R.value=Qs([...R.value,...ie.items]),C.value=ie.totalCount,Q.value=ie.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ie){return p!==he||!k(D)?q(d):ue(d,ie,L)}finally{p===he&&k(D)&&(L.loading=false);}}async function sr(d){return Gt([d])}async function Gt(d){let p="report-recent";if(G)return q(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let I;try{I=E();}catch(D){return ue(p,D,v.emoji)}let h=Object.freeze(d.map(D=>Object.freeze({...D,stableKey:ea(D)})));if(!Pn(I,h))return q(p);let M=Object.freeze({ok:true,operation:p});for(let[D,ie]of h.entries())if(M=await sn(I,{kind:"emoji",token:ie.token,resourceId:ie.resourceId},D===h.length-1),!M.ok&&M.reason==="stale")return M;return M}function ln(d,p){sn(d,p).then(I=>{s.record(I.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:I.ok}}));});}async function lr(d,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d.messages.sendSticker(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&Rn(I,p)&&ln(I,p),h):fe()}async function Ft(d,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d.messages.sendGifAsset(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&Rn(I,p)&&ln(I,p),h):fe()}async function pt(d$1,p){if(G)return fe();let I;try{I=E();}catch{return fe()}let h;try{h=await d$1.messages.sendGame(p);}catch(M){if(!k(I))return fe();throw M}return k(I)?(h.ok&&(Be(I),Se+=1,V.value=d(V.value,Zo(p)),v.emoji.loaded=true,Fe(I,"emoji",Object.freeze({type:"prepend-emoji",entry:Zo(p)}))),h):fe()}function cn(d={}){if(G)return;let p=d.preserveRecentHydrationFailure===true?Te:null;S+=1,N+=1,he+=1,Se+=1,se+=1,te=0,ae=0,Ce=null,Re=null,U.clear(),ge.length=0,ye=null,Ie=null,Ve=null,P=null,Te=p,je.clear(),Pe=jt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(j,{loading:false,loaded:false,error:null});for(let I of Object.keys(z))delete z[I];for(let I of Object.keys(ne))ne[I]=(ne[I]??0)+1;K.value={sticker:[],gif:[]},W.value={sticker:[],gif:[]};for(let I of ["sticker","gif"])le[I]+=1,Object.assign(x[I],{loading:false,loaded:false,error:null});y.value={sticker:[],gif:[],emoji:[]},A.value={sticker:[],gif:[],emoji:[]},V.value=[],J.sticker.clear(),J.gif.clear(),pe.sticker.clear(),pe.gif.clear(),be.clear();for(let I of ["sticker","gif","emoji"])me[I]+=1,Object.assign(v[I],{loading:false,loaded:false,error:null});p!==null&&(v.emoji.error=p),H.value="idle",F.value="",R.value=[],C.value=0,Q.value=void 0,Object.assign(L,{loading:false,loaded:false,error:null});}function cr(){G||(cn(),G=true);}return Wr.set(e,Object.freeze({dispose:cr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:ve,packItemStatus:B,favorites:K,favoriteStatus:b,favoriteSelection:W,recent:y,recentStatus:$,recentSelection:A,emojiRecent:V,giphyMode:H,giphyQuery:F,giphyItems:R,giphyTotalCount:C,giphyHasMore:O,giphyStatus:oe,hydrateRecent:rn,loadPacks:Cn,loadPackItems:An,loadFavorites:ut,addFavorite:zn,setFavorite:Tn,unsetFavorite:Dn,toggleFavoriteSelection:En,deleteSelectedFavorites:fo,loadRecent:gn,reportRecent:co,rememberEmoji:sr,rememberEmojis:Gt,toggleRecentSelection:uo,deleteSelectedRecent:ar,loadGiphyTrending:mt,searchGiphy:Gn,loadMoreGiphy:ir,sendSticker:lr,sendGif:Ft,sendGame:pt,reset:cn}})}var Js=new WeakMap,Br=new WeakMap;function Ju(e=Ae()){Oe(e);let n=Js.get(e);n===void 0&&(n=Qu(e),Js.set(e,n));let r=n(e),o=Wr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Br.get(e)!==r&&(Br.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),Br.get(e)===r&&(Br.delete(e),Wr.get(e)===o&&Wr.delete(e));})),r}var Jr=new WeakMap;function Ys(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Xu(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Yu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Zu(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&&Yu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ys(n)})}function ed(e=Ae()){let n=Oe(e),r=Jr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=$e(e),m=xn(e),g={disposed:false};function j(v){return !g.disposed&&o.getGeneration()===v.generation&&c.getHandle()===v.handle&&Xr(c.activeRef,v.conversation)}function z(){let v=g.activeIntent;v!==void 0&&(g.activeIntent=void 0,v.complete(Object.freeze({status:"stale",conversation:v.conversation})));}async function K(v){if(!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:v.generation,conversation:v.conversation}));try{if(!await c.loadLatest()||!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:v.generation,conversation:v.conversation})),v.complete(Object.freeze({status:"applied",conversation:v.conversation}));}catch(A){if(!j(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}let V=Zu(A,v.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:v.generation,conversation:v.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:V}})),v.complete(Object.freeze({status:"failed",conversation:v.conversation,error:V}));}}function x(v){let A=g.activeIntent;A===void 0||v.type!=="message:received"||v.source!=="live"||v.message.senderId!==A.selfId||v.message.status==="sent"||!Xr(v.ref,A.conversation)||(g.activeIntent=void 0,K(A));}async function W(v,A){let V=c.getHandle();if(!Xu(v)||g.disposed||!c.hasNewer||V===void 0||!Xr(V.ref,v)||!Xr(c.activeRef,v))return Object.freeze({value:await A(),history:Object.freeze({status:"not-needed"})});z();let H=Ys(v),F,R=new Promise(L=>{let Q=false;F=ve=>{Q||(Q=true,L(ve));};}),C={token:Symbol("history-return-after-send"),conversation:H,handle:V,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:F};g.activeIntent=C;try{let L=await A();return g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(j(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),Object.freeze({value:L,history:await R})}catch(L){throw g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(j(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),await R,L}}let y=o.subscribeProductEvents(x);return g.coordinator=Object.freeze({run:W}),Jr.set(e,g),De(e,()=>{g.disposed=true,z(),y(),Jr.get(e)===g&&Jr.delete(e);}),g.coordinator}function Zs(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 j=m[0],z={startedAt:j.at,startedBytes:j.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},K=z.lastAt-z.startedAt,x=o-z.startedBytes;if(K<1e3||x<=0)return {sample:z};let W=x*1e3/K,y=(s-o)*1e3/W;return !Number.isFinite(W)||!Number.isFinite(y)?{sample:z}:{sample:z,estimate:{bytesPerSecond:W,estimatedRemainingMs:Math.ceil(y)}}}function od(e){let n,r,o=false,s=false;for(let c of e)c.direction==="upload"&&(n=c,(c.state==="queued"||c.state==="running"||c.state==="paused")&&(r=c.state==="queued"?0:c.percent),o||=c.state==="queued"&&c.phase==="waiting-upload-slot",s||=c.state==="running"&&c.phase==="finalizing");return Object.freeze({...n===void 0?{}:{task:n},...r===void 0?{}:{percent:r},waiting:o,finalizing:s})}function aa(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function rl(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.recovery===void 0?{}:{recovery:e.recovery},...e.conversation===void 0?{}:{conversation:aa(e.conversation)}})}function ad(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yr(e,n){return ad(e)?rl(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function id(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:aa(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.items===void 0?{}:{items:Object.freeze(e.items.map(r=>Object.freeze({...r})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:rl(e.error)}})}function ol(e,n){if(Object.is(e,n))return true;if(e===null||n===null||typeof e!="object"||typeof n!="object"||Array.isArray(e)!==Array.isArray(n))return false;let r=Object.keys(e);return r.length===Object.keys(n).length&&r.every(o=>Object.prototype.hasOwnProperty.call(n,o)&&ol(e[o],n[o]))}var sd=Object.freeze([]);function nl(e){return JSON.stringify([e.conversationType,e.conversationId,e.id])}function ld(e){return JSON.stringify([e.id,e.ref.conversationType,e.ref.conversationId,e.messageId,e.direction,e.itemIndex??null])}function al(e,n){return n===void 0?e:`${e}\0${n}`}function zt(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ta(e,n){if(e.status!=="sent")return;let o=(e.contentType==="mediaAlbum"?n===void 0?void 0:e.body.mediaAlbum?.items[n]:n!==void 0?void 0:e.contentType==="image"?e.body.image:e.contentType==="video"?e.body.video:void 0)?.url;return o===void 0||o===""||/^(?:blob|data):/i.test(o)?void 0:o}function ra(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function oa(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function cd(e){return defineStore("k2-im-media",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=ref([]),c=shallowReactive(new Map),m=new Map;function g(E){return c.get(nl(E))??sd}let j=new WeakMap;function z(E){let k=g(E),q=j.get(k);return q===void 0&&(q=od(k),j.set(k,q)),q}function K(){s.value=[],c.clear(),m.clear(),j=new WeakMap;}let x=shallowRef(null),W=shallowRef(null),y=shallowRef({}),v=ref(false),A=false,V=0,H=null,F=-1,R,C,L=0,Q,ve=false,B=computed(()=>{let E=[],k=o.activeRef;for(let q of o.messages){if(k===null||q.conversationType!==k.conversationType||q.conversationId!==k.conversationId)continue;let ue=q.contentType==="mediaAlbum"?q.body.mediaAlbum?.items.map((fe,ze)=>ze)??[]:[void 0];for(let fe of ue){let ze=ta(q,fe);ze!==void 0&&E.push({key:ra(q,fe),url:ze,kind:oa(q,fe),message:{conversation:aa(k),messageId:q.id,...fe===void 0?{}:{itemIndex:fe}}});}}return E});async function b(){if(A||H===null||Q!==void 0||!ve)return;ve=false;let E=H,k=V,q=F,ue=L,fe=B.value;if(fe.length===0||n.getGeneration()!==q){v.value=false;return}let ze={};Q=ze;let He=()=>!A&&H===E&&V===k&&n.getGeneration()===q&&L===ue;try{let xe=await E.media.probeCached(fe.map(T=>T.message));if(!He())return;if(xe.length!==fe.length||xe.some(T=>typeof T!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u5FC5\u987B\u4E0E\u6D88\u606F\u5F15\u7528\u4E00\u4E00\u5BF9\u5E94");y.value=Object.freeze(Object.fromEntries(fe.map((T,Y)=>[T.key,xe[Y]]))),x.value?.operation==="media.probeCached"&&(x.value=null);}catch(xe){if(!He())return;let T=Yr(xe,"probeCached");x.value=T,r.record("error","pinia","media","media-cache-probe-failed",()=>({generation:q,data:{count:fe.length},error:{message:T.code,data:T}}));}finally{Q===ze&&(Q=void 0,ve?b():He()&&(v.value=false));}}function $(){if(L+=1,y.value={},A||H===null||n.getGeneration()!==F||B.value.length===0){v.value=false;return}v.value=true,ve||(ve=true,Promise.resolve().then(b));}let oe=watch(()=>JSON.stringify(B.value),$,{flush:"sync"});function O(E,k){if(A||H===null||n.getGeneration()!==F)return;let q=ra(E,k),ue=ta(E,k),fe=B.value.find(ze=>ze.key===q);return ue!==void 0&&fe?.url===ue&&fe.kind===oa(E,k)?y.value[q]:void 0}function G(E,k){if(!v.value||A||H===null||n.getGeneration()!==F)return false;let q=ra(E,k),ue=ta(E,k),fe=B.value.find(ze=>ze.key===q);return ue!==void 0&&fe?.url===ue&&fe.kind===oa(E,k)}let S=new Map,N=computed(()=>{let E={};for(let k of s.value)k.direction==="upload"&&zt(o.activeRef,k.ref)&&(E[k.messageId]=z({...k.ref,id:k.messageId}));return E}),ne=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([E,k])=>k.task===void 0?[]:[[E,k.task]]))),le=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([E,k])=>k.percent===void 0?[]:[[E,k.percent]]))),me=computed(()=>{let E={};for(let k of s.value)k.direction==="download"&&zt(o.activeRef,k.ref)&&(E[al(k.messageId,k.itemIndex)]=k);return E}),he=computed(()=>{let E={};for(let[k,q]of Object.entries(me.value))(q.state==="queued"||q.state==="running")&&(E[k]=q.percent);return E}),Se=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,E])=>E.waiting).map(([E])=>[E,true]))),se=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,E])=>E.finalizing).map(([E])=>[E,true])));function te(E,k,q){if(A||H!==k||F!==q||n.getGeneration()!==q)return;let ue=new Set,fe=Date.now(),ze=new Map,He=new Map,xe=E.map(T=>{let Y=ld(T);ue.add(Y);let ce=m.get(Y),we=ce!==void 0&&ce.state===T.state&&ce.phase===T.phase&&ce.attempt===T.attempt&&ce.bytesTotal===T.bytesTotal&&ce.bytesTransferred===T.bytesTransferred,{sample:Fe,estimate:Ue}=we?{sample:S.get(Y),estimate:ce.bytesPerSecond===void 0||ce.estimatedRemainingMs===void 0?void 0:{bytesPerSecond:ce.bytesPerSecond,estimatedRemainingMs:ce.estimatedRemainingMs}}:Zs(T,S.get(Y),fe);Fe===void 0?S.delete(Y):S.set(Y,Fe);let We=id(T,Ue),Ke=ce!==void 0&&ol(ce,We)?ce:We;ze.set(Y,Ke);let nn=nl({...T.ref,id:T.messageId}),Ze=He.get(nn);return Ze===void 0?He.set(nn,[Ke]):Ze.push(Ke),Ke});m=ze;for(let T of c.keys())He.has(T)||c.delete(T);for(let[T,Y]of He){let ce=c.get(T);(ce===void 0||ce.length!==Y.length||Y.some((we,Fe)=>ce[Fe]!==we))&&c.set(T,Object.freeze(Y));}(xe.length!==s.value.length||xe.some((T,Y)=>s.value[Y]!==T))&&(s.value=xe);for(let T of S.keys())ue.has(T)||S.delete(T);}function ae(E){let k=n.getGeneration();if(A)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(H===E&&F===k||(V+=1,R?.(),R=void 0,C?.(),C=void 0,L+=1,Q=void 0,ve=false,y.value={},v.value=false,H=E,F=E===null?-1:k,K(),S.clear(),x.value=null,W.value=null,E===null))return;let q=false;R=E.media.subscribe(fe=>{q=true,te(fe,E,k);});let ue=V;C=E.media.subscribeCacheChanges(()=>{!A&&H===E&&V===ue&&n.getGeneration()===k&&$();}),$(),q||te(E.media.getSnapshot(),E,k),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:k}));}function Ce(){ae(n.getProductClient());}function Te(){ae(null),W.value=null;}async function Re(E,k,q){let ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:E,reason:"not-ready"});if(ae(ue),!s.value.some(He=>He.id===k))return Object.freeze({ok:false,operation:E,reason:"not-found"});let fe=n.getGeneration(),ze=V;x.value=null;try{return E==="retry"&&q!==void 0?await ue.media.retry(k,q):E==="cancel"&&q!==void 0?await ue.media.cancel(k,q):await ue.media[E](k),A||ze!==V||n.getGeneration()!==fe||H!==ue?Object.freeze({ok:!1,operation:E,reason:"stale"}):Object.freeze({ok:!0,operation:E})}catch(He){if(A||ze!==V||n.getGeneration()!==fe||H!==ue)return Object.freeze({ok:false,operation:E,reason:"stale"});let xe=Yr(He,E);return x.value=xe,r.record("error","pinia","media",`media-task-${E}-failed`,()=>({generation:fe,data:{taskId:k},error:{message:xe.code,data:xe}})),Object.freeze({ok:false,operation:E,reason:"failed",error:xe})}}function _(E,k){return Re("cancel",E,k)}function U(E,k){return Re("retry",E,k)}function ge(E){return Re("pause",E)}function ye(E){return Re("resume",E)}async function Ie(E){let k=n.getProductClient();if(k===null)return {available:false,reason:"not-ready"};ae(k);let q=n.getGeneration(),ue=V;try{let fe=await k.media.getUploadRecovery(E);return A||ue!==V||n.getGeneration()!==q||H!==k?{available:!1,reason:"stale"}:Object.freeze({available:fe.available,...fe.reason===void 0?{}:{reason:fe.reason},...fe.expiresAt===void 0?{}:{expiresAt:fe.expiresAt}})}catch(fe){return A||ue!==V||n.getGeneration()!==q||H!==k?{available:false,reason:"stale"}:(x.value=Yr(fe,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Ve(E,k){let q="resumeUpload",ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:q,reason:"not-ready"});ae(ue);let fe=n.getGeneration(),ze=V;x.value=null;try{return await ue.media.resumeUpload(E,k),A||ze!==V||n.getGeneration()!==fe||H!==ue?Object.freeze({ok:!1,operation:q,reason:"stale"}):Object.freeze({ok:!0,operation:q})}catch(He){if(A||ze!==V||n.getGeneration()!==fe||H!==ue)return Object.freeze({ok:false,operation:q,reason:"stale"});let xe=Yr(He,q);return xe.code!=="IM_SDK_MEDIA_PAUSED"&&xe.code!=="IM_SDK_MEDIA_CANCELLED"&&(x.value=xe),Object.freeze({ok:false,operation:q,reason:"failed",error:xe})}}async function P(E,k){let q=o.activeRef,ue=s.value.find(ze=>ze.direction==="upload"&&(ze.state==="queued"||ze.state==="running"||ze.state==="paused")&&ze.messageId===E&&zt(q,ze.ref));if(ue===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let fe=await _(ue.id,k);return zt(o.activeRef,ue.ref)?fe:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function J(E,k){let q=typeof E=="string"?E:E.messageId,ue=typeof E=="string"?k:E.itemIndex,fe=s.value.filter(xe=>xe.direction==="download"&&(xe.state==="queued"||xe.state==="running")&&xe.messageId===q&&xe.itemIndex===ue&&(typeof E=="string"||zt(E.conversation,xe.ref)));if(fe.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(fe.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let ze=fe[0],He=await _(ze.id);return zt(o.activeRef,ze.ref)?He:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function pe(E){let k=o.activeRef;return E.status!=="failed"||!(E.failure?.displayCode==="media.uploadInterrupted"||E.failure?.displayCode==="media.cancelled"||E.failure?.displayCode==="media.uploadTimeout"&&E.failure.retryable===false)||E.contentType!=="video"&&E.contentType!=="file"&&!(E.contentType==="filesAlbum"&&E.body.filesAlbum?.items.length===1)||k===null||E.conversationId!==k.conversationId||E.conversationType!==k.conversationType?false:(W.value=Object.freeze({messageId:E.id,conversationId:E.conversationId,conversationType:E.conversationType,kind:E.contentType==="video"?"video":"file"}),true)}function be(){let E=W.value;return W.value=null,E}function je(){W.value=null;}function Pe(){A||(V+=1,oe(),C?.(),C=void 0,L+=1,Q=void 0,ve=false,y.value={},v.value=false,R?.(),R=void 0,H=null,F=-1,K(),S.clear(),x.value=null,W.value=null,A=true);}return {tasks:s,tasksForMessage:g,uploadForMessage:z,error:x,uploadProgress:le,uploadTasks:ne,downloadTasks:me,downloadProgress:he,uploadWaiting:Se,uploadFinalizing:se,replacementRequest:W,cacheAvailability:y,cachedAvailability:O,cacheProbePending:v,cacheAvailabilityPending:G,start:Ce,reset:Te,cancel:_,retry:U,pause:ge,resume:ye,getUploadRecovery:Ie,resumeUpload:Ve,cancelUpload:P,cancelDownload:J,requestReplacement:pe,takeReplacementRequest:be,clearReplacementRequest:je,dispose:Pe}})}var tl=new WeakMap,Zr=new WeakMap;function ud(e=Ae()){Oe(e);let n=tl.get(e);n===void 0&&(n=cd(e),tl.set(e,n));let r=n(e);return Zr.get(e)!==r&&(Zr.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),Zr.get(e)===r&&Zr.delete(e);})),r}var no=new WeakMap,vd=Object.freeze({status:"loading",message:null}),il=Object.freeze({status:"missing",message:null});function ia(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function sa(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function gd(e){return defineStore("k2-im-quoted-message",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=shallowRef({}),c=new Set,m=new Set,g=new Set,j=0,z=new Map,K=false,x=false,W=false,y=computed(()=>{let S=new Map;for(let N of o.messages)S.set(N.id,N);return S});function v(){j+=1,c.clear(),m.clear(),z.clear(),g=new Set,x=false,W=false,s.value={};}let A=watch(()=>o.activeRef,v,{flush:"sync"}),V=n.subscribeEvents(S=>{K||S.type!=="connection:changed"||S.state!=="authenticated"||oe();});function H(S){return S?.conversationType==="direct"&&S.encryption.decryptFailed===true&&S.recalled===void 0&&S.deletedForEveryone===void 0}function F(S){return H(S)&&!m.has(S.id)}function R(S){let N=y.value.get(S);return N!==void 0&&!H(N)}function C(S){let N=S.trim();if(N==="")return il;let ne=y.value.get(N),le=s.value[N];return H(ne)&&(le?.status==="missing"||le?.status==="failed")?le:ne!==void 0?Object.freeze({status:"ready",message:ne}):le??vd}function L(S,N){if(S.length===0)return;let ne={...s.value},le=false;for(let[me,he]of S)!g.has(me)||R(me)||N.get(me)===(z.get(me)??0)&&(ne[me]=he,le=true);le&&(s.value=ne);}async function Q(S){let N=j,ne=new Map(S.map(ae=>[ae,z.get(ae)??0])),le=n.getGeneration(),me=o.getHandle(),he=ia(o.activeRef);if(me===void 0||ia(me.ref)!==he)return;let Se=()=>!K&&j===N&&n.getGeneration()===le&&o.getHandle()===me&&ia(o.activeRef)===he,se=[],te=[];try{let ae=await Promise.all(S.map(async Ce=>({messageId:Ce,message:await me.resolveMessage(Ce)})));if(!Se())return;for(let{messageId:Ce,message:Te}of ae)Te===null||F(Te)?te.push(Ce):se.push([Ce,Object.freeze({status:"ready",message:Te})]);}catch(ae){if(!Se())return;L(S.map(Ce=>[Ce,Object.freeze({status:"failed",message:null,retryable:true})]),ne),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:S.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));return}if(L(se,ne),te.length!==0)try{if(me.ref.conversationType==="direct")for(let Re of te)m.add(Re);let ae=await me.messages.fetchByIds(te);if(!Se())return;let Ce=[];for(let Re of ae.messages)Ce.push([Re.id,Object.freeze({status:"ready",message:Re})]);for(let Re of ae.missingMessageIds)Ce.push([Re,il]);let Te=ae.failure?.retryable??!0;for(let Re of ae.unresolvedMessageIds)Ce.push([Re,Object.freeze({status:"failed",message:null,retryable:Te})]);L(Ce,ne),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:te.length,resolvedCount:ae.messages.length,missingCount:ae.missingMessageIds.length,unresolvedCount:ae.unresolvedMessageIds.length,retryable:ae.failure?.retryable}}));}catch(ae){if(!Se())return;L(te.map(Ce=>[Ce,Object.freeze({status:"failed",message:null,retryable:false})]),ne),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:le,conversation:{...me.ref},data:{requestedCount:te.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));}}function ve(){let S=[];for(let N of g){let ne=y.value.get(N);if(c.has(N)||ne!==void 0&&!F(ne))continue;let le=s.value[N];(le===void 0||le.status==="ready"&&F(le.message))&&S.push(N);}return S}function B(){if(K)return;if(x){W=true;return}let S=ve();if(S.length===0)return;let N=j;x=true;for(let ne of S)c.add(ne);Q(S).catch(ne=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:S.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:ne}}));}).finally(()=>{if(N===j){for(let ne of S)c.delete(ne);x=false,W&&(W=false,B());}});}function b(S){if(K)return;g=new Set(sa(S));let N=Object.fromEntries(Object.entries(s.value).filter(([ne])=>g.has(ne)&&!R(ne)));Object.keys(N).length!==Object.keys(s.value).length&&(s.value=N),B();}function $(S){if(K)return;let N=sa(S).filter(le=>s.value[le]!==void 0||c.has(le)||g.has(le));if(N.length===0)return;let ne={...s.value};for(let le of N)delete ne[le],c.delete(le),z.set(le,(z.get(le)??0)+1);s.value=ne,B();}function oe(S){if(K)return;let ne=(S===void 0?[...g]:sa(S)).filter(me=>{let he=s.value[me];return he?.status==="failed"&&he.retryable});if(ne.length===0)return;let le={...s.value};for(let me of ne)m.delete(me),delete le[me],c.delete(me),z.set(me,(z.get(me)??0)+1);s.value=le,B();}function O(){v();}function G(){K||(K=true,A(),V(),v());}return no.set(e,Object.freeze({dispose:G})),{lookup:C,prefetch:b,retry:oe,invalidate:$,reset:O}})}var sl=new WeakMap,eo=new WeakMap;function Id(e=Ae()){Oe(e);let n=sl.get(e);n===void 0&&(n=gd(e),sl.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return eo.get(e)!==r&&(eo.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}var oo=new WeakMap;function to(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Rd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Pd(e,n){return Rd(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 kd(e){return defineStore("k2-im-reaction",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=ref([]),c=shallowRef(null),m=false,g=0,j=new Map;function z(){g+=1,j.clear(),s.value=[],c.value=null;}let K=watch(()=>to(o.activeRef),(R,C)=>{R!==C&&z();},{flush:"sync"});function x(R,C){let L=o.activeRef,Q=o.getHandle(),ve=to(L);if(m||L===null||Q===void 0||to(Q.ref)!==ve||!o.messages.some(b=>b.id===R))return Object.freeze({ok:false,operation:C,reason:"not-ready"});if(j.has(R))return Object.freeze({ok:false,operation:C,reason:"busy"});let B=Symbol(R);return j.set(R,B),s.value=Object.freeze([...j.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Q,conversationKey:ve,token:B}}function W(R){return !m&&R.contextEpoch===g&&R.generation===n.getGeneration()&&o.getHandle()===R.handle&&to(o.activeRef)===R.conversationKey}function y(R,C){j.get(R)===C&&(j.delete(R),s.value=Object.freeze([...j.keys()]));}async function v(R,C,L){let Q=x(R,C);if(!("handle"in Q))return Q;try{let ve=await L(Q.handle);return W(Q)?(c.value=null,r.record("debug","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:!0,action:ve.action}})),Object.freeze({ok:!0,operation:C,change:ve})):Object.freeze({ok:!1,operation:C,reason:"stale"})}catch(ve){if(!W(Q))return Object.freeze({ok:false,operation:C,reason:"stale"});let B=Pd(ve,C);return c.value=B,r.record("error","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:false,reason:"sdk-rejected",error:B}})),Object.freeze({ok:false,operation:C,reason:"sdk-rejected",error:B})}finally{y(R,Q.token);}}function A(R,C){return v(R,"toggle",L=>L.messages.toggleReaction(R,C))}function V(R,C,L){return v(R,"set",Q=>Q.messages.setReaction(R,C,L))}function H(){z();}function F(){m||(m=true,K(),z());}return oo.set(e,Object.freeze({dispose:F})),{operatingMessageIds:s,error:c,toggle:A,set:V,reset:H}})}var ll=new WeakMap,ro=new WeakMap;function Md(e=Ae()){Oe(e);let n=ll.get(e);n===void 0&&(n=kd(e),ll.set(e,n));let r=n(e),o=oo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return ro.get(e)!==r&&(ro.set(e,r),De(e,()=>{o.dispose(),r.$dispose(),ro.get(e)===r&&(ro.delete(e),oo.get(e)===o&&oo.delete(e));})),r}function ao(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function Ed(e){let n=Ae(e),r=Oe(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let B=new Map;for(let b of o.value)b.msgId!==""&&b.collectId!==""&&B.set(b.msgId,b.collectId);return B}),g=false,j=0,z=0,K,x;function W(){j+=1,z+=1,o.value=[],s.value=false,c.value=null;}function y(B){return {client:B,generation:r.getGeneration(),stateEpoch:j}}function v(B){return !g&&B.client===r.getProductClient()&&B.generation===r.getGeneration()&&B.stateEpoch===j}function A(B){return m.value.get(B.trim())??""}function V(B){return A(B)!==""}async function H(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let B=++z,b;try{b=y(r.ensureProductClient()),ve(b.client);}catch($){let oe=ao($,"reload");return c.value=oe,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}s.value=true,c.value=null;try{let $=await b.client.sessionFavorites.list();return B!==z||!v(b)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=$,Object.freeze({ok:!0,operation:"reload"}))}catch($){if(B!==z||!v(b))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let oe=ao($,"reload");return c.value=oe,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}finally{B===z&&v(b)&&(s.value=false);}}function F(){z+=1,s.value=false;}async function R(B){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let b;try{b=y(r.ensureProductClient()),ve(b.client);let $=await b.client.sessionFavorites.addFromMessage(B);return v(b)?(F(),o.value=Object.freeze([$,...o.value.filter(oe=>oe.collectId!==$.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:$.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch($){return Object.freeze({ok:false,operation:"add",reason:"failed",error:ao($,"add")})}}async function C(B){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let b=[...new Set(B.map($=>$.trim()).filter($=>$!==""))];if(b.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 $=y(r.ensureProductClient());if(await $.client.sessionFavorites.delete(b),!v($))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});F();let oe=new Set(b);return o.value=Object.freeze(o.value.filter(O=>!oe.has(O.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:b[0]??""})}catch($){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:ao($,"delete")})}}async function L(B){let b=A(B);return b===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):C([b])}function Q(){K?.(),K=void 0,x=void 0,W();}function ve(B){if(x===B)return;K?.(),x=B;let b=y(B);K=B.events.subscribe($=>{x===B&&v(b)&&$.type==="session-favorites:changed"&&H();});}return De(n,()=>{g=true,K?.(),K=void 0,x=void 0,W();}),{items:o,loading:s,error:c,collectIdOf:A,isFavorited:V,reload:H,addFromMessage:R,removeByCollectIds:C,removeByMessageId:L,reset:Q}})(n)}function wd(e){return defineStore("k2-im-session",()=>{let n=Oe(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getClient()?.connection.getLifecycle().syncing??false),m=ref(n.getGeneration()),g=ref("idle"),j=ref(""),z=ref({}),K=false,x=0,W="",y=n.getDiagnostics(),v=n.subscribeEvents(B=>{if(!K){if(B.type==="syncing:changed"&&(c.value=B.syncing),B.type==="receiving:changed"&&(s.value=B.receiving),B.type==="session:replaced"){x+=1,g.value="error",s.value=false,c.value=false,o.value=n.getConnectionState(),j.value="lifecycle.connectionOccupied",z.value={};return}B.type==="connection:changed"&&(o.value=B.state,B.state==="authenticated"&&(g.value="ready"));}});function A(B,b){return !K&&B===x&&n.getGeneration()===b}function V(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(B);}function H(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let b=B.session===null?"":`${B.session.userId}\0${B.session.token}`;b!==W&&(x+=1,W=b);let $=n.applySession(B.session,B.endpoints,B.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,r.value=B.session?.userId??"",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=o.value==="authenticated"?"ready":"idle",j.value="",z.value={},y.record("info","pinia","session","session-applied",()=>({generation:m.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:$.hasToken,didReset:$.didReset}})),$}async function F(B,b,$){if(K)return {ok:false,errorKey:"lifecycle.disposed"};let oe=++x,O=n.getGeneration(),G=Date.now();g.value=B,j.value="",z.value={},y.record("info","pinia",b==="prepare"?"session":"connection",`${b}-start`,()=>({generation:O}));let S=await $();return A(oe,O)?(m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=S.ok?o.value==="authenticated"?"ready":"idle":"error",j.value=S.errorKey??"",z.value=S.errorParams??{},y.record(S.ok?"info":"error","pinia",b==="prepare"?"session":"connection",`${b}-${S.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-G,...S.ok?{}:{error:{message:S.errorKey??`${b}-failed`,data:S.errorParams}}})),S):(y.record("debug","pinia","session",`${b}-stale-result-dropped`,()=>({generation:O,durationMs:Date.now()-G})),S)}function R(){return F("preparing","prepare",()=>n.prepare())}function C(){return F("connecting","connect",()=>n.connect())}function L(){K||(x+=1,n.disconnect(),o.value=n.getConnectionState(),g.value="idle");}async function Q(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");x+=1;try{await n.logout(B);}finally{r.value="",s.value=false,c.value=false,W="",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value="idle",j.value="",z.value={};}}function ve(){K||(K=true,x+=1,v(),r.value="",o.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",j.value="",z.value={});}return {accountId:r,connectionState:o,receiving:s,syncing:c,generation:m,phase:g,errorKey:j,errorParams:z,configureHost:V,applySession:H,prepare:R,connect:C,disconnect:L,logout:Q,dispose:ve,getRuntime:()=>n}})}var ul=new WeakMap,io=new WeakMap;function xd(e=Ae()){Oe(e);let n=ul.get(e);n===void 0&&(n=wd(e),ul.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function fl(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function ml(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function gl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function rr(e,n){return `${gl(e)}\0${n}`}function Dt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function pl(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function zd(e){return defineStore("k2-im-thread-paging",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=$e(e),s=xn(e),c=ref(false),m=ref(false),g=ref(null),j=ref(null),z=false,K="",x="",W=0,y=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Dt(o.messages,"older"),newerBoundary:Dt(o.messages,"newer")}),v=(b,$)=>{let oe=y();return !z&&$===W&&b.generation===oe.generation&&ml(b.ref,oe.ref)&&b.ref!==null},A=b=>{(b===void 0||b==="older")&&(K="",g.value=null),(b===void 0||b==="newer")&&(x="",j.value=null);},V=()=>{W+=1,c.value=false,m.value=false,A();},H=async(b,$)=>{let oe=y(),O=b==="older"?K:x,G=b==="older"?o.hasOlder:o.hasNewer;if(oe.ref===null||!G||(b==="older"?c.value:m.value))return 0;let S=oe.ref,N=b==="older"?oe.olderBoundary:oe.newerBoundary,ne=rr(S,N);if(b==="older"?m.value:c.value)return 0;if(!$&&O!==""&&O===ne)return r.record("debug","pinia","history",`thread-paging-${b}-circuit-open`,()=>({conversation:S,data:{boundary:N}})),0;$&&(A(b),r.record("debug","pinia","history",`thread-paging-${b}-retry`,()=>({conversation:S})));let le=new Set(o.messages.map(he=>he.id)),me=++W;b==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${b}-start`,()=>({conversation:S,generation:oe.generation,data:{boundary:N,force:$}}));try{let he=b==="older"?await o.loadOlder():await o.loadNewer();if(!v(oe,me))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:S,generation:oe.generation,data:{side:b}})),0;if(!he)return 0;A(b);let Se=o.messages.reduce((se,te)=>se+ +!le.has(te.id),0);return r.record("debug","pinia","history",`thread-paging-${b}-success`,()=>({conversation:S,generation:oe.generation,data:{added:Se}})),Se}catch(he){if(!v(oe,me))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:S,generation:oe.generation,data:{side:b,outcome:"failed"}})),0;if(fl(he))return r.record("debug","pinia","history",`thread-paging-${b}-cancelled`,()=>({conversation:S,generation:oe.generation})),0;throw Dt(o.messages,b)===N&&(b==="older"?(K=ne,g.value=he):(x=ne,j.value=he),r.record("warn","pinia","history",`thread-paging-${b}-failed`,()=>({conversation:S,generation:oe.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${b} \u5206\u9875\u5931\u8D25`,data:pl(he)}}))),he}finally{me===W&&(b==="older"?c.value=false:m.value=false);}},F=(b={})=>H("older",b.force===true),R=(b={})=>H("newer",b.force===true),C=async b=>{if(b!==void 0&&!ml(o.activeRef,b))return false;s.clearLocation(),V();let $=y();if($.ref===null)return false;let oe=$.ref;r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:oe}));let O,G=W;try{let S=o.loadLatest({skipIfLatest:!0});G=W,O=await S;}catch(S){if(!v($,G)||fl(S))return r.record("debug","pinia","history","thread-paging-jump-latest-cancelled",()=>({conversation:oe})),false;let N=Dt(o.messages,"newer");throw x=rr(oe,N),j.value=S,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:oe,generation:$.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:pl(S)}})),S}return v($,G)?(A("newer"),O):(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:oe})),false)},L=watch(()=>gl(o.activeRef),()=>V(),{flush:"sync"}),Q=watch(()=>`${rr(o.activeRef,Dt(o.messages,"older"))}\0${Dt(o.messages,"newer")}`,()=>{let b=y(),$=rr(b.ref,b.olderBoundary),oe=rr(b.ref,b.newerBoundary);K!==""&&K!==$&&A("older"),x!==""&&x!==oe&&A("newer");},{flush:"sync"}),ve=o.$onAction(({name:b})=>{(b==="loadLatest"||b==="loadAround"||b==="loadEntryUnread"||b==="open"||b==="close"||b==="reset")&&V();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:j,loadOlder:F,loadNewer:R,retryOlder:()=>F({force:true}),retryNewer:()=>R({force:true}),jumpToLatest:C,reset:V,dispose:()=>{z||(z=true,L(),Q(),ve(),V());}}})}var vl=new WeakMap,lo=new WeakMap;function Dd(e=Ae()){Oe(e);let n=vl.get(e);n===void 0&&(n=zd(e),vl.set(e,n));let r=n(e);return lo.get(e)!==r&&(lo.set(e,r),De(e,()=>{r.dispose(),r.$dispose(),lo.get(e)===r&&lo.delete(e);})),r}function Gd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Fd(e=Ae()){let n=$e(e),r=xn(e);return Object.freeze({async returnToLatest(o){return Gd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Sr as applicationKey,pc as createAndInstallImChatKit,Ii as createImChatKitContext,gc as disposeImChatKit,vc as ensureImChatKitSelfProfile,Oe as getImChatKitContext,al as imMediaDownloadKey,hi as installImChatKit,Rc as useImApplicationsStore,_c as useImCapabilitiesStore,tt as useImComposerStore,Hc as useImConversationActivationCoordinator,Nu as useImConversationDeletionCoordinator,No as useImConversationListStore,Ju as useImExpressionStore,ed as useImHistoryReturnAfterSendCoordinator,ud as useImMediaStore,Qt as useImMessageOperationsStore,$o as useImProfileDirectoryStore,Id as useImQuotedMessageStore,Md as useImReactionStore,xn as useImSearchStore,Ed as useImSessionFavoritesStore,xd as useImSessionStore,Dd as useImThreadPagingStore,Fd as useImThreadReturnToLatestCoordinator,$e as useImThreadStore};
|