k2-im 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +96 -17
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +49 -9
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-6OC4FEH7.js +2 -0
- package/dist/{chunk-2ODEJA5X.js → chunk-BIE4T7BJ.js} +1 -1
- package/dist/chunk-DHHXLOOH.js +2 -0
- package/dist/chunk-EBZORU2A.js +7 -0
- package/dist/chunk-PEI5RIM7.js +1 -0
- package/dist/{chunk-3MMM3UU6.js → chunk-SP6V2AFT.js} +1 -1
- package/dist/chunk-WYYUGVXE.js +1 -0
- package/dist/i18n.d.ts +3 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +53 -10
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +47 -10
- package/dist/sdk.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-7CJFY6CU.js +0 -1
- package/dist/chunk-DBWAR2FB.js +0 -2
- package/dist/chunk-F6DQBWJW.js +0 -2
- package/dist/chunk-OFXCH5DZ.js +0 -7
- package/dist/chunk-OSWUOGBS.js +0 -1
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {u,za,pa,s,y,oa,na,ma,ka,ja,ia,ha,fa,J,K,I,Ha,d,va as va$1,ya,xa,ra,ua,ta,sa as sa$1,D,B,C,A,z,Ga,Fa,Ea,Da,Ca,Ba,c,b,k,h,wa}from'./chunk-OSWUOGBS.js';export{t as resolveMessageNotificationDecision}from'./chunk-OSWUOGBS.js';import'./chunk-DBWAR2FB.js';import'./chunk-OFXCH5DZ.js';import {va,sa}from'./chunk-F6DQBWJW.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Xl(e,n,r={}){let o=u(n);try{return si(e,ii({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function Yl(e){za(ye(e).runtime);}var Wn=new WeakMap;function Me(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function ii(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function si(e,n){let r=Wn.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(),Wn.get(e)===o&&Wn.delete(e);}}});return o.installation=s,Wn.set(e,o),s}function ye(e){let n=Wn.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 Se(e,n){let r=Wn.get(e);if(r===void 0||r.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return r.storeDisposers.add(n),()=>r.storeDisposers.delete(n)}function Zl(e){Wn.get(e)?.installation.dispose();}function kr(e){return `${e.domain}:${e.applicationId}`}function nc(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"group",conversationId:e.conversation.conversationId})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"channel",conversationId:e.conversation.conversationId})})}function tc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Rr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&tc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`applications.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="reload"})}function rc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function oc(e){return defineStore("k2-im-applications",()=>{let n=ye(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),I=computed(()=>r.value.length),w=computed(()=>{let P=0,O=0,b=0;for(let S of r.value)S.ref.domain==="contact"?P+=1:S.ref.domain==="group"?O+=1:b+=1;return Object.freeze({contact:P,group:O,channel:b})}),x=false,H=0,D=0,X=0,y=false,g=0,G=new Map;function W(){H+=1,D+=1,X+=1,g+=1,y=false,G.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function $(P){return {client:P,generation:n.getGeneration(),stateEpoch:H}}function oe(P){return !x&&P.client===n.getProductClient()&&P.generation===n.getGeneration()&&P.stateEpoch===H}async function M(){if(x)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let P=++D,O;try{O=$(n.ensureProductClient());}catch(b){let S=Rr(b,"reload");return s.value=S,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:S})}o.value=true,s.value=null;try{let b=await O.client.applications.listPending();return P!==D||!oe(O)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...b]),Object.freeze({ok:!0,operation:"reload"}))}catch(b){if(P!==D||!oe(O))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let S=Rr(b,"reload");return s.value=S,Object.freeze({ok:false,operation:"reload",reason:"failed",error:S})}finally{P===D&&oe(O)&&(o.value=false);}}function T(){if(x||y)return;y=true;let P=H,O=++g;queueMicrotask(()=>{O===g&&(y=false,!(x||P!==H)&&M());});}function Q(P){(P.type==="contact-application:received"||P.type==="channel-join-application:received"||P.type==="application:updated")&&T();}let ee=n.subscribeProductEvents(Q);async function ae(P,O){let b=nc(P),S=kr(b);if(x)return Object.freeze({ok:false,operation:O,reason:"stale",application:b});let V=++X;G.set(S,V),c.value={...c.value,[S]:O};let{[S]:le,...de}=m.value;m.value=de;let F;try{F=$(n.ensureProductClient());}catch(me){let ue=Rr(me,O);m.value={...m.value,[S]:ue};let{[S]:Ce,...Oe}=c.value;return c.value=Oe,G.delete(S),Object.freeze({ok:false,operation:O,reason:"failed",application:b,error:ue})}let Y=()=>oe(F)&&G.get(S)===V;try{return await F.client.applications[O](b),Y()?(D+=1,o.value=!1,r.value=Object.freeze(r.value.filter(me=>kr(me.ref)!==S)),Object.freeze({ok:!0,operation:O,application:b})):Object.freeze({ok:!1,operation:O,reason:"stale",application:b})}catch(me){if(!Y())return Object.freeze({ok:false,operation:O,reason:"stale",application:b});let ue=Rr(me,O);return rc(ue)?(D+=1,o.value=false,r.value=Object.freeze(r.value.filter(Ce=>kr(Ce.ref)!==S)),Object.freeze({ok:false,operation:O,reason:"failed",application:b,error:ue})):(m.value={...m.value,[S]:ue},Object.freeze({ok:false,operation:O,reason:"failed",application:b,error:ue}))}finally{if(Y()){G.delete(S);let{[S]:me,...ue}=c.value;c.value=ue;}}}function te(P){return ae(P,"accept")}function C(P){return ae(P,"ignore")}function z(){x||W();}function K(){x||(x=true,ee(),W());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:I,domainCounts:w,reload:M,accept:te,ignore:C,reset:z,dispose:K}})}var ui=new WeakMap,Pr=new WeakMap;function ac(e=Me()){ye(e);let n=ui.get(e);n===void 0&&(n=oc(e),ui.set(e,n));let r=n(e);return Pr.get(e)!==r&&(Pr.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Pr.get(e)===r&&Pr.delete(e);})),r}function mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function sc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var di=Object.freeze({state:"none"});function lc(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_THREAD_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:mi(r)}})}function cc(e){return defineStore("k2-im-thread",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(di),I=shallowRef(null),w=ref(false),x=ref(false),H=ref(false),D=ref(false),X=ref(false),y=shallowRef(null),g=ref(0),G=false,W,$=0,oe=0,M,T,Q,ee,ae,te=[],C=new Map,z=new Set;function K(){te.length=0,g.value=0;}let P=n.subscribeEvents(A=>{if(G||A.type!=="message:received"||(A.source??"live")!=="live")return;let q=o.value;q===null||A.message.conversationId!==q.conversationId||A.message.conversationType!==q.conversationType||A.message.senderId===n.getCredentials().userId||!V(A.message)||(te.push(A.message.id),g.value+=1);});function O(A=null){K(),o.value=A,s.value=null,c.value=[],m.value=di,I.value=null,w.value=A!==null,x.value=false,H.value=false,D.value=false,X.value=false,y.value=null;}function b(A){if((C.get(A)??0)>0){z.add(A);return}A.close();}function S(){ae?.(),ae=void 0,ee?.(),ee=void 0;let A=Q;Q=void 0,A!==void 0&&b(A);}function V(A){if(A.body.system?.timelineVisibility==="hidden")return false;if(A.conversationType!=="channel"||A.deletedForEveryone===void 0)return true;let q=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:A.conversationId});return q.conversationType==="channel"&&q.ref.conversationType==="channel"&&q.ref.conversationId===A.conversationId&&(q.value.role==="owner"||q.value.role==="admin")}function le(A,q,B){let ie=o.value;if(G||Q!==A||n.getGeneration()!==B||ie===null||q.ref.conversationId!==ie.conversationId||q.ref.conversationType!==ie.conversationType)return false;let be=q.messages.filter(V);if(sc(c.value,be)||(c.value=Object.freeze(be)),m.value=q.entryUnread,q.entryUnread.state==="located"){let ke=q.entryUnread.firstMessageId,Be=q.messages.findIndex(Ue=>Ue.id===ke);if(Be>=0&&!be.some(Ue=>Ue.id===ke)){let Ue=q.messages.slice(Be+1).find(V);m.value=Object.freeze(Ue===void 0?{state:"unavailable"}:{...q.entryUnread,firstMessageId:Ue.id});}}return s.value=q.display??null,I.value=q.draft,w.value=q.loading,x.value=x.value||be.length>0||!q.loading,H.value=q.stale,D.value=q.hasOlder,X.value=q.hasNewer,y.value=q.error??null,true}async function de(A,q){let B=n.ensureProductClient();return A.conversationType==="direct"?B.openConversation({conversationType:"direct",conversationId:A.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:q}):A.conversationType==="group"?B.openConversation({conversationType:"group",conversationId:A.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:q}):A.conversationType==="robot"?B.openConversation({conversationType:"robot",conversationId:A.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:q}):B.openConversation({conversationType:"channel",conversationId:A.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:q})}async function F(A){try{let q=n.ensureProductClient();if(q.conversations.list().find(ie=>ie.ref.conversationType===A.conversationType&&ie.ref.conversationId===A.conversationId)?.manuallyUnread!==!0)return;await q.conversations.markRead(A);}catch(q){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:A,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:q}}));}}async function Y(A){if(G)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");oe+=1,M=void 0,T=void 0;let q=mi(A);W?.abort();let B=new AbortController;W=B;let ie=++$,be=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:be,conversation:q}));let ke;try{ke=await de(q,B.signal);}catch(Be){if(B.signal.aborted)return;throw !G&&ie===$&&be===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:be,conversation:q,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:lc(Be,"thread.open",q)}})),Be}finally{W===B&&(W=void 0);}if(G||ie!==$||be!==n.getGeneration()){ke.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:be,conversation:q}));return}return S(),O(q),Q=ke,ee=ke.subscribe(Be=>le(ke,Be,be)),le(ke,ke.getSnapshot(),be),q.conversationType==="channel"&&(ae=n.ensureProductClient().capabilities.subscribe(q,()=>{!G&&Q===ke&&n.getGeneration()===be&&le(ke,ke.getSnapshot(),be);})),F(q),r.record("debug","pinia","history","thread-open-complete",()=>({generation:be,conversation:q})),ke}function me(){W?.abort(),W=void 0,$+=1;}function ue(A){if(G||Q===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${A}`);return Q}function Ce(A,q,B){return !G&&oe===A&&Q===q&&n.getGeneration()===B}async function Oe(A,q){if(M!==void 0||T!==void 0)return false;let B=ue(A),ie=n.getGeneration(),be=++oe;M=be;try{return await q(B),Ce(be,B,ie)?(le(B,B.getSnapshot(),ie),!0):!1}finally{M===be&&(M=void 0);}}async function Te(A,q,B){let ie=ue(A),be=n.getGeneration(),ke=++oe;M=void 0,T=ke;try{if(await q(ie),!Ce(ke,ie,be))return !1;let Be=ie.getSnapshot();return B(Be)?(le(ie,Be,be),!0):!1}finally{T===ke&&(T=void 0);}}function we(){return Te("loadLatest",A=>A.history.loadLatest(),A=>!A.hasNewer)}function _(){return Oe("loadOlder",A=>A.history.loadOlder())}function U(){return Oe("loadNewer",A=>A.history.loadNewer())}function ve(A){return Te("loadAround",q=>q.history.loadAround(A),q=>q.messages.some(B=>B.id===A)).then(q=>q?c.value.some(B=>B.id===A):false)}function ge(A){return ue("resolveMessage").resolveMessage(A)}function fe(A=ue("retainHandle")){if(G)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");C.set(A,(C.get(A)??0)+1);let q=false;return ()=>{if(q)return;q=true;let B=(C.get(A)??1)-1;if(B>0){C.set(A,B);return}C.delete(A),z.delete(A)&&A.close();}}function _e(){return fe()}function k(){W?.abort(),W=void 0,$+=1,oe+=1,M=void 0,T=void 0,S(),O();}function N(A){let q=o.value;return q===null||q.conversationType!==A.conversationType||q.conversationId!==A.conversationId?false:(oe+=1,M=void 0,T=void 0,S(),O(),true)}function ce(){W?.abort(),W=void 0,$+=1,oe+=1,M=void 0,T=void 0,ee?.(),ee=void 0,ae?.(),ae=void 0;let A=new Set([...Q===void 0?[]:[Q],...z,...C.keys()]);Q=void 0,z.clear(),C.clear();for(let q of A)q.close();O();}function pe(){G||(ce(),G=true,P());}function Pe(){return te.splice(0,te.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,draft:I,loading:w,ready:x,stale:H,hasOlder:D,hasNewer:X,error:y,activeRemoteMessageRevision:g,open:Y,invalidatePendingOpen:me,loadLatest:we,loadOlder:_,loadNewer:U,loadAround:ve,resolveMessage:ge,retainHandle:fe,retainCurrentHandle:_e,close:k,closeActiveConversation:N,reset:ce,dispose:pe,drainActiveRemoteMessageIds:Pe,getHandle:()=>Q}})}var fi=new WeakMap,Or=new WeakMap;function De(e=Me()){ye(e);let n=fi.get(e);n===void 0&&(n=cc(e),fi.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}var jr=new WeakMap;function Ao(e){let n=jr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function It(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Tr(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function vi(e){return e===null?null:Tr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function xo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function zo(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function fc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Nt(e,n,r){return fc(e)?e:Object.freeze({code:n==="composer.draft"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_COMPOSER_OPERATION_FAILED",category:"state",operation:n,retryable:n==="composer.draft",...r===void 0?{}:{conversation:It(r)},cause:e})}function Sr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function mc(e){return defineStore("k2-im-composer",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),I=ref(false),w=ref(0),x=shallowRef(null),H=false,D=0,X=0,y=0,g,G=Promise.resolve(),W=Promise.resolve(),$=new Set,oe=new Map,M,T;function Q(){return o.getHandle()}function ee(_,U){let ve=o.activeRef;return !H&&Q()===_&&n.getGeneration()===U&&ve!==null&&ve.conversationId===_.ref.conversationId&&ve.conversationType===_.ref.conversationType}function ae(_=Q()){if(_===void 0)return false;let U=n.getGeneration();return g?.handle===_&&g.generation===U||[...$].some(ve=>ve.handle===_&&ve.generation===U)}async function te(_=Q()){if(_===void 0)return;let U=n.getGeneration(),ve=g?.handle===_&&g.generation===U?g:void 0;if(ve===void 0){let k=[...$].filter(N=>N.handle===_&&N.generation===U).map(N=>N.promise);k.length>0?await Promise.all(k):await W;return}g=void 0;let fe=G.then(async()=>{xo(ve.input)?await _.draft.clear():await _.draft.save(ve.input);}),_e={handle:_,generation:U,promise:fe};$.add(_e),W=fe,G=fe.catch(()=>{});try{await fe,ee(_,U)&&(x.value=null,w.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:It(_.ref)})));}catch(k){throw ee(_,U)&&(g===void 0&&y===ve.version&&(g=ve),x.value=Nt(k,"composer.draft",_.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:It(_.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:x.value}}))),k}finally{$.delete(_e);}}function C(_){let U=Q(),ve=n.getGeneration();if(U===void 0||!ee(U,ve))return x.value=Nt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let ge=Tr(_);return y+=1,s.value=xo(ge)?null:ge,g={handle:U,generation:ve,version:y,input:ge},x.value=null,z(),xo(ge)&&te(U).catch(()=>{}),true}async function z(){if(m.value!==null)return;let _=s.value?.replyToMessageId;if(_===void 0){X+=1,c.value=null;return}let U=Q();if(U===void 0){c.value=null;return}let ve=o.messages.find(k=>k.id===_);if(ve!==void 0){X+=1,c.value=ve;return}let ge=n.getGeneration(),fe=++X,_e=await U.resolveMessage(_).catch(()=>null);fe!==X||!ee(U,ge)||m.value!==null||s.value?.replyToMessageId!==_||(c.value=_e);}function K(_){let U=Q();return U===void 0||!Sr(_,U)?false:(m.value=null,c.value=_,C({...s.value??{text:"",attachments:[]},replyToMessageId:_.id}))}function P(_){if(_!==void 0&&s.value?.replyToMessageId!==_)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:ve,...ge}=U;C({...ge});}function O(_){let U=Q();return U===void 0||!Sr(_,U)?false:(c.value=null,m.value=_,true)}function b(){m.value=null,z();}function S(){X+=1,c.value=null,m.value=null;}function V(_,U){return !H&&n.getGeneration()===_&&D===U}function le(_){return [...oe.values()].some(U=>U.handle===_)}function de(_,U){return _!==null&&zo(vi(_),U)}function F(_,U,ve){!ee(_,U)||s.value===null||!zo(s.value,ve)||(y+=1,g?.handle===_&&g.generation===U&&zo(g.input,ve)&&(g=void 0),s.value=null,X+=1,c.value=null);}async function Y(_){let U=[...$].filter(ge=>ge.handle===_.handle&&ge.generation===_.generation).map(ge=>ge.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!ee(_.handle,_.generation))return;let ve=await _.handle.draft.get();if(!de(ve,_.input)){M?.token===_.token&&(M=void 0);return}M=_;try{await _.handle.draft.clear(),M?.token===_.token&&(M=void 0);}catch(ge){if(ee(_.handle,_.generation)){if(s.value===null&&g===void 0){let fe={text:"",attachments:[]};y+=1,g={handle:_.handle,generation:_.generation,version:y,input:fe};}x.value=Nt(ge,"composer.draft",_.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:_.generation,conversation:It(_.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:x.value}}));}}}function me(_){if(!ee(_.handle,_.generation)||s.value!==null)return;M=void 0;let U=Tr(_.input);y+=1,s.value=U,g={handle:_.handle,generation:_.generation,version:y,input:U},z();}async function ue(_){let U=m.value,ve=U===null?"send":"edit";if(U!==null&&T!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let ge=Q(),fe=n.getGeneration();if(ge===void 0||!ee(ge,fe))return Object.freeze({ok:false,operation:ve,reason:"not-ready"});let _e=_.text.trim();if(_e==="")return Object.freeze({ok:false,operation:ve,reason:"empty"});let k=D;if(U!==null&&!Sr(U,ge))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let N=Symbol(ve);U!==null&&(T=N),I.value=T!==void 0,x.value=null;let ce=o.retainHandle(ge),pe;if(U===null){let Pe=Tr(_);pe={token:N,handle:ge,generation:fe,input:Pe},oe.set(N,pe),F(ge,fe,Pe);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:fe,operation:ve,conversation:It(ge.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!V(fe,k)||!ee(ge,fe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let Pe=await ge.messages.sendText(_e,{..._.mentions===void 0?{}:{mentions:_.mentions},..._.replyToMessageId===void 0?{}:{replyToMessageId:_.replyToMessageId}});if(!V(fe,k)||!ee(ge,fe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!Pe.ok)return pe!==void 0&&me(pe),x.value=Pe.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:Pe.error});if(pe!==void 0&&(await Y(pe),!V(fe,k)||!ee(ge,fe)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await ge.messages.editText(U.id,_e,{..._.mentions===void 0?{}:{mentions:_.mentions}});}catch(Pe){if(!V(fe,k)||!ee(ge,fe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let A=Nt(Pe,"composer.edit",ge.ref);return x.value=A,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:A})}if(!V(fe,k)||!ee(ge,fe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&b();}return x.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:fe,operation:ve,conversation:It(ge.ref)})),Object.freeze({ok:!0,operation:ve})}catch(Pe){if(!V(fe,k)||!ee(ge,fe))return Object.freeze({ok:false,operation:ve,reason:"stale"});pe!==void 0&&me(pe);let A=Nt(Pe,`composer.${ve}`,ge.ref);return x.value=A,Object.freeze({ok:false,operation:ve,reason:"sdk-rejected",error:A})}finally{ce(),oe.delete(N),T===N&&(T=void 0),I.value=T!==void 0,ee(ge,fe)&&Ce();}}function Ce(){let _=Q();if(_===void 0)return;let U=M,ve=U!==void 0&&U.handle===_&&U.generation===n.getGeneration()&&de(o.draft,U.input);U!==void 0&&!ve&&(M=void 0),!ae(_)&&!le(_)&&!ve&&(s.value=vi(o.draft)),m.value!==null&&!Sr(m.value,_)&&(m.value=null),z();}function Oe(){D+=1,X+=1,y+=1,g=void 0,oe.clear(),M=void 0,G=Promise.resolve(),W=Promise.resolve(),s.value=null,c.value=null,m.value=null,T=void 0,I.value=false,w.value=0,x.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){Oe(),_.ref!==null&&Ce();return}Ce();},{immediate:true});function we(){H||(H=true,Te(),Oe());}return jr.set(e,Object.freeze({suspendInteraction:S,syncReplyTarget:z,dispose:we})),{input:s,replyTo:c,editingMessage:m,submitting:I,draftCommitVersion:w,error:x,updateDraft:C,flush:te,hasPendingWork:ae,submitText:ue,setReplyTo:K,clearReplyTo:P,setEditing:O,clearEditing:b,reset:Oe}})}var gi=new WeakMap,Er=new WeakMap;function Qn(e=Me()){ye(e);let n=gi.get(e);n===void 0&&(n=mc(e),gi.set(e,n));let r=n(e),o=Ao(e);return Er.get(e)!==r&&(Er.set(e,r),Se(e,()=>{o.dispose(),r.$dispose(),Er.get(e)===r&&(Er.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var xr=new WeakMap;function Ut(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function hi(e){return [...e]}function gc(e){return defineStore("k2-im-message-operations",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=Qn(e),c=Ao(e),m=shallowRef(null),I=ref(false),w=ref([]),x=ref(null),H=ref(false),D=ref([]),X=shallowRef(null),y$1=false,g=0,G=0,W=0;function $(){return o.getHandle()}function oe(k,N=$()){let ce=o.activeRef;return !y$1&&N!==void 0&&ce!==null&&k.conversationType!=="supergroup"&&ce.conversationId===k.conversationId&&ce.conversationType===k.conversationType&&N.ref.conversationId===k.conversationId&&N.ref.conversationType===k.conversationType}function M(k){return y(m.value,k)}function T(){H.value=false,D.value=[];}function Q(){x.value=null;}function ee(){let k=I.value;T(),Q(),I.value=false,w.value=[],k&&c.syncReplyTarget();}function ae(k){if(k!==void 0){if(!oe(k))return Object.freeze({ok:false,reason:"not-ready"});if(!Ut(k))return Object.freeze({ok:false,reason:"not-selectable"});if(M(k))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),I.value=true,w.value=k===void 0?[]:[k],Object.freeze({ok:true})}function te(k){return w.value.some(N=>N.id===k)}function C(k){return !I.value||!oe(k)?Object.freeze({ok:false,reason:"not-ready"}):Ut(k)?M(k)?Object.freeze({ok:false,reason:"pinned-protected"}):(te(k.id)?w.value=w.value.filter(N=>N.id!==k.id):w.value=[...w.value,k],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function z(k){let N=$();return k.length===0||!k.every(ce=>oe(ce,N))?Object.freeze({ok:false,reason:"not-ready"}):(x.value=hi(k),Object.freeze({ok:true}))}function K(){let k=w.value;if(k.length===0)return Object.freeze({outcome:"empty"});let N=k.filter(va);return k.some(sa)?(D.value=N,H.value=true,Object.freeze({outcome:"confirmation-required"})):N.length===0?Object.freeze({outcome:"all-skipped"}):(z(N),Object.freeze({outcome:"picker-opened"}))}function P(){let k=hi(D.value);return T(),k.length===0?Object.freeze({outcome:"all-skipped"}):(z(k),Object.freeze({outcome:"picker-opened"}))}async function O(k){let N=x.value,ce=$();if(N===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let pe=n.getGeneration(),Pe=++g,A=await fa(n,{handle:ce,messages:N,targets:k});return y$1||Pe!==g||n.getGeneration()!==pe||$()!==ce?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((A.ok||A.reason!=="stale")&&Q(),A.ok&&ee(),X.value=A.ok?null:A.error??null,r.record(A.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:pe,conversation:ce===void 0?void 0:{...ce.ref},result:A.ok?{ok:true,sentCount:A.sentCount,skippedCount:A.skippedCount}:{ok:false,reason:A.reason,error:A.error}})),A)}function b(k,N,ce){X.value=k.ok?null:k.error??null,r.record(k.ok?"debug":"error","pinia","message",`message-${k.operation}-settled`,()=>({generation:n.getGeneration(),conversation:ce===void 0?void 0:{...ce.ref},messageId:N,result:k.ok?{ok:true}:{ok:false,reason:k.reason,error:k.error}}));}function S(k,N){return N!==void 0&&(y$1||$()!==N)?Object.freeze({ok:false,operation:k.operation,reason:"stale"}):k}async function V(k){let N=$(),ce=S(await ha(n,{handle:N,message:k}),N);return b(ce,k.id,N),ce}async function le(k){let N=$(),ce=S(await ia(n,{handle:N,message:k}),N);return b(ce,k.id,N),ce}async function de(k){let N=$(),ce=S(await ja(n,{handle:N,message:k}),N);return b(ce,k.id,N),ce}async function F(k,N){let ce=$(),pe=S(await ka(n,{handle:ce,messageId:k,options:N}),ce);return b(pe,k,ce),pe}function Y(){let k=o.activeRef;if(!(k?.conversationType!=="group"&&k?.conversationType!=="channel"))return Object.freeze({conversationId:k.conversationId,conversationType:k.conversationType})}function me(k,N,ce){let pe=Y();return !y$1&&k===G&&N!==void 0&&$()===N&&pe?.conversationId===ce.conversationId&&pe.conversationType===ce.conversationType}function ue(k,N,ce){let pe=Y();return !y$1&&k===W&&$()===N&&pe?.conversationId===ce.conversationId&&pe.conversationType===ce.conversationType}function Ce(k){if(w.value=w.value.filter(N=>N.id!==k),D.value=D.value.filter(N=>N.id!==k),x.value!==null){let N=x.value.filter(ce=>ce.id!==k);x.value=N.length===0?null:N;}s.editingMessage?.id===k&&s.clearEditing();}async function Oe(k){let N=Y(),ce=$();if(N===void 0||!oe(k,ce))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let pe=++G;W+=1;let Pe=await ma(n,{conversation:N,message:k});return me(pe,ce,N)?(Pe.ok&&Pe.operation==="pin"?(m.value=Pe.value,Ce(Pe.value.messageId),X.value=null):X.value=Pe.ok?null:Pe.error??null,Pe):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Te(){let k=Y(),N=$();if(k===void 0||N===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let ce=++G;W+=1;let pe=await na(n,k);return me(ce,N,k)?(pe.ok&&pe.operation==="unpin"?(m.value=null,X.value=null):X.value=pe.ok?null:pe.error??null,pe):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function we(){let k=Y();if(k===void 0){m.value=null;return}try{m.value=pa(n,k);}catch{m.value=null;}}async function _(){let k=Y(),N=$();if(k===void 0||N===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let ce=n.getGeneration(),pe=++W;we();let Pe=await oa(n,k);return n.getGeneration()!==ce||!ue(pe,N,k)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(Pe.ok&&Pe.operation==="sync-pin"?(m.value=Pe.value,X.value=null):X.value=Pe.ok?null:Pe.error??null,Pe)}function U(k){let N=new Map(k.map(A=>[A.id,A])),ce=A=>A.flatMap(q=>{let B=N.get(q.id);return B!==void 0&&Ut(B)?[B]:[]});if(w.value=ce(w.value),D.value=ce(D.value),x.value!==null){let A=ce(x.value);x.value=A.length===0?null:A;}let pe=s.editingMessage;if(pe!==null){let A=N.get(pe.id);(A===void 0||!Ut(A))&&s.clearEditing();}let Pe=s.input?.replyToMessageId;if(Pe!==void 0){let A=N.get(Pe);A!==void 0&&!Ut(A)&&s.clearReplyTo(Pe);}}let ve=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(k,N)=>{k.ref!==N?.ref&&(g+=1,G+=1,W+=1,we(),I.value=false,w.value=[],x.value=null,T(),X.value=null),U(k.messages);},{immediate:true}),ge=n.subscribeEvents(k=>{if(k.type!=="pinned-message:updated")return;let N=Y();if(!(N===void 0||N.conversationId!==k.conversation.conversationId||N.conversationType!==k.conversation.conversationType)){if(W+=1,k.pinnedMessage===null){m.value=null;return}try{m.value=pa(n,N),Ce(k.pinnedMessage.messageId);}catch{}}});function fe(){g+=1,G+=1,W+=1,I.value=false,w.value=[],x.value=null,T(),X.value=null,we();}function _e(){y$1||(y$1=true,ve(),ge(),fe());}return xr.set(e,Object.freeze({dispose:_e})),{activePinnedMessage:m,isMessageMultiSelect:I,selectedMessages:w,forwardPickerMessages:x,forwardTypeConfirmOpen:H,pendingForwardReadyMessages:D,error:X,enterMultiSelect:ae,exitMultiSelect:ee,isSelected:te,toggleSelection:C,openForwardPicker:z,closeForwardPicker:Q,prepareForwardFromSelection:K,cancelForwardTypeConfirmation:T,confirmForwardTypeConfirmation:P,forward:O,recall:V,deleteLocal:le,deleteForEveryone:de,retry:F,pin:Oe,unpin:Te,syncPinned:_,isPinnedMessageProtected:M,reset:fe}})}var yi=new WeakMap,wr=new WeakMap;function qt(e=Me()){ye(e);let n=yi.get(e);n===void 0&&(n=gc(e),yi.set(e,n));let r=n(e),o=xr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return wr.get(e)!==r&&(wr.set(e,r),Se(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),xr.get(e)===o&&xr.delete(e));})),r}var Go=Object.freeze({availability:"unknown",reason:"not-ready"});function bc(e){return defineStore("k2-im-capabilities",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=qt(e),c=shallowRef(null),m=false,I$1,w,x;function H(){w!==void 0&&(clearTimeout(w),w=void 0);}function D(C){H();let z=C.nextEvaluationAt;if(z===void 0)return;let K=Math.max(0,z-Date.now());w=setTimeout(()=>{w=void 0,g();},K);}function X(C){m||(c.value=C,D(C));}function y(C){let z=o.activeRef;return z!==null&&z.conversationType===C.conversationType&&z.conversationId===C.conversationId}function g(C=Date.now()){let z=o.activeRef,K=n.getProductClient();z===null||K===null||X(K.capabilities.get(z,{nowMs:C}));}function G(){I$1?.(),I$1=void 0,H(),c.value=null;let C=o.activeRef,z=n.getProductClient();C===null||z===null||(I$1=z.capabilities.subscribe(C,X));}function W(){G();}function $(){I$1?.(),I$1=void 0,H(),c.value=null;}async function oe(){let C=o.activeRef,z=n.getProductClient();if(C===null||z===null)return;let K=n.getGeneration();try{let P=await z.capabilities.refresh(C);if(m||K!==n.getGeneration()||!y(C))return;X(P);}catch(P){if(m||K!==n.getGeneration()||!y(C))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...C},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:P}})),X(z.capabilities.get(C));}}function M(C){return c.value===null?Go:I(c.value,C)}function T(C){return M(C)}function Q(C){return M(C)}function ee(C,z){let K$1=c.value;return K$1===null?Go:K(C,{snapshot:K$1,selfId:n.getCredentials().userId,...z})}function ae(C,z){let K=c.value;return K===null?Go:J(C,{snapshot:K,message:z,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function te(){m||(m=true,x?.(),x=void 0,$());}return x=watch(()=>o.activeRef,G,{deep:true,immediate:true}),{activeSnapshot:c,start:W,reset:$,refresh:oe,conversationAction:M,profileAction:T,memberAction:Q,memberTargetAction:ee,messageAction:ae,dispose:te}})}var bi=new WeakMap,zr=new WeakMap;function Cc(e=Me()){ye(e);let n=bi.get(e);n===void 0&&(n=bc(e),bi.set(e,n));let r=n(e);return zr.get(e)!==r&&(zr.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),zr.get(e)===r&&zr.delete(e);})),r}var Vt=new WeakMap;function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Pc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ci(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&Pc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:Ri(r)})}function Pi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function kc(e=Me()){let n=ye(e),r=Vt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Qn(e),m=De(e),I={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function w(x,H){let D=Ri(x),X=H?.signal;if(X?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:D});I.conversation=D;let y=++I.epoch,g=o.getGeneration(),G=()=>!I.disposed&&I.epoch===y&&o.getGeneration()===g;m.invalidatePendingOpen();let W=()=>{G()&&(I.epoch+=1,m.invalidatePendingOpen());};X?.addEventListener("abort",W,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:g,conversation:D})),!Rc(D))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:g,conversation:D})),Object.freeze({ok:!1,reason:"unsupported",conversation:D});let $=m.getHandle();if($!==void 0&&c.hasPendingWork($))try{await c.flush($);}catch(oe){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let M=Ci(oe,"flush",D);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:g,conversation:D,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:M}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:D,error:M})}if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});if(m.getHandle()!==void 0&&Pi(m.activeRef,D))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:D});try{if(await m.open(D)===void 0||!G())return Object.freeze({ok:!1,reason:"stale",conversation:D})}catch(oe){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let M=Ci(oe,"open",D);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:g,conversation:D,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:M}})),Object.freeze({ok:!1,reason:"open-failed",conversation:D,error:M})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:g,conversation:D})),Object.freeze({ok:!0,status:"opened",conversation:D})}finally{X?.removeEventListener("abort",W);}}return I.coordinator=Object.freeze({activate:w}),Vt.set(e,I),Se(e,()=>{I.disposed=true,I.conversation=null,I.epoch+=1,Vt.get(e)===I&&Vt.delete(e);}),I.coordinator}function ki(e,n){let r=Vt.get(e);r===void 0||r.disposed||!Pi(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Oi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ec(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ht(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&Ec(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Tc(e){return defineStore("k2-im-conversation-list",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),I=shallowRef(null),w=false,x=null,H,D=0;function X(P="idle"){o.value=[],s$1.value=P,c.value=0,I.value=null;}function y(P,O,b){w||x!==O||n.getGeneration()!==b||(o.value=P.items,s$1.value=P.state,c.value=P.totalUnread,I.value=P.error??null);}function g(P){if(w)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(x===P||(H?.(),H=void 0,x=P,D+=1,X(),P===null))return;let O=n.getGeneration();H=P.conversations.subscribe(b=>y(b,P,O)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:O}));}function G(){g(n.getProductClient());}function W(){g(null);}function $(P){return !w&&x===P.client&&n.getProductClient()===P.client&&n.getGeneration()===P.generation&&D===P.bindingEpoch}function oe(){let P=n.ensureProductClient();return g(P),{client:P,generation:n.getGeneration(),bindingEpoch:D}}async function M(){if(w)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let P;try{P=oe();}catch(O){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:ht(O,"refresh")})}try{return await P.client.conversations.refresh(),$(P)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(O){return $(P)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:ht(O,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function T(P,O,b){let S=Oi(O);if(w)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:S});let V;try{V=oe();}catch(le){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:S,error:ht(le,P,S)})}try{b(V.client,S);}catch(le){return $(V)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:S,error:ht(le,P,S)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:S})}return $(V)?Object.freeze({ok:true,operation:P,conversation:S}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:S})}async function Q(P,O,b){let S=Oi(O);if(w)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:S});let V;try{V=oe();}catch(le){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:S,error:ht(le,P,S)})}try{return await b(V.client,S),$(V)?Object.freeze({ok:!0,operation:P,conversation:S}):Object.freeze({ok:!1,operation:P,reason:"stale",conversation:S})}catch(le){return $(V)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:S,error:ht(le,P,S)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:S})}}function ee(P,O){return T("set-pinned",P,(b,S)=>b.conversations.setPinned(S,O))}function ae(P,O){return Q("set-muted",P,(b,S)=>b.conversations.setMuted(S,O))}function te(P){return Q("mark-read",P,(O,b)=>O.conversations.markRead(b))}function C(P){return T("mark-unread",P,(O,b)=>O.conversations.markUnread(b))}function z(P){return T("delete-local",P,(O,b)=>O.conversations.deleteLocal(b))}function K(){w||(H?.(),H=void 0,x=null,X(),w=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:I,start:G,reset:W,refresh:M,setPinned:ee,setMuted:ae,markRead:te,markUnread:C,deleteLocal:z,dispose:K}})}var Mi=new WeakMap,Ar=new WeakMap;function _o(e=Me()){ye(e);let n=Mi.get(e);n===void 0&&(n=Tc(e),Mi.set(e,n));let r=n(e);return Ar.get(e)!==r&&(Ar.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Ar.get(e)===r&&Ar.delete(e);})),r}var Ac=250,Gc=2e3;function Ei(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Ko(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ei(r)}})}function Dc(e){return defineStore("k2-im-search",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref(""),c=ref([]),m=ref(false),I=ref(false),w=ref("all"),x=ref(""),H=ref(""),D=shallowRef(null),X=false,y=0,g=0,G,W,$,oe;function M(){let F=o.activeRef,Y=o.getHandle();if(!(X||F===null||Y===void 0||!Fo(F,Y.ref)))return {ref:Ei(F),handle:Y,generation:n.getGeneration()}}function T(F){return !X&&n.getGeneration()===F.generation&&o.getHandle()===F.handle&&Fo(o.activeRef,F.ref)}function Q(){let F=W;F!==void 0&&(clearTimeout(F.timer),W=void 0,F.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function ee(){$!==void 0&&(clearTimeout($),$=void 0);}function ae(F,Y){return Y===y&&(m.value=false),Object.freeze({ok:false,operation:F,reason:"stale"})}function te(F,Y){return F===g&&x.value===Y&&(x.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function C(F,Y,me){switch(me){case "all":return Ba(n,{conversation:F.ref,keyword:Y});case "text":return Ca(n,{conversation:F.ref,keyword:Y});case "file":return Da(n,{conversation:F.ref,keyword:Y});case "image":return Ea(n,{conversation:F.ref});case "video":return Fa(n,{conversation:F.ref});case "voice":return Ga(n,{conversation:F.ref})}}function z(F,Y){return F!==""?true:Y!=="all"&&Y!=="text"}function K(F){s.value=F,Q();let Y=++y,me=F.trim(),ue=w.value,Ce=z(me,ue);if(G=void 0,c.value=[],I.value=false,D.value=null,!Ce)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Oe=M();return Oe===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(Te=>{let we=setTimeout(()=>{if(W?.timer===we&&(W=void 0),Y!==y||!T(Oe)){Te(ae("search",Y));return}r.record("debug","pinia","history","search-start",()=>({generation:Oe.generation,conversation:Oe.ref,category:ue})),C(Oe,me,ue).then(_=>{if(Y!==y||!T(Oe)){Te(ae("search",Y));return}c.value=[..._.results],G=_.nextPageToken,I.value=!_.exhausted,m.value=false,Te(Object.freeze({ok:true,operation:"search"}));}).catch(_=>{if(Y!==y||!T(Oe)){Te(ae("search",Y));return}let U=Ko(_,"search.first-page",Oe.ref);D.value=U,m.value=false,Te(Object.freeze({ok:false,operation:"search",reason:"failed",error:U}));});},Ac);W={timer:we,resolve:Te};}))}function P(F){return w.value=F,(F==="image"||F==="video"||F==="voice")&&(s.value=""),K(s.value)}async function O(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!I.value||G===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let F=M();if(F===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let Y=G,me=++y;m.value=true,D.value=null;try{let ue=await Ha(n,Y);return me!==y||!T(F)?ae("load-more",me):(c.value=[...c.value,...ue.results],G=ue.nextPageToken,I.value=!ue.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ue){if(me!==y||!T(F))return ae("load-more",me);let Ce=Ko(ue,"search.next-page",F.ref);return D.value=Ce,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Ce})}}async function b(F,Y){let me=M();if(me===void 0||!Fo(me.ref,F))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ue=++g;ee(),H.value="",x.value=Y,D.value=null;try{return !o.messages.some(Oe=>Oe.id===Y)&&!await o.loadAround(Y)||(await nextTick(),ue!==g||!T(me))?te(ue,Y):(H.value=Y,Object.freeze({ok:!0,operation:"locate"}))}catch(Ce){if(ue!==g||!T(me))return te(ue,Y);let Oe=Ko(Ce,"search.locate",me.ref);return x.value="",D.value=Oe,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Oe})}}function S(F){if(x.value!==F)return false;x.value="";let Y=g,me=M();return ee(),me===void 0||H.value!==F||($=setTimeout(()=>{$=void 0,Y===g&&T(me)&&H.value===F&&(H.value="");},Gc)),true}function V(){g+=1,ee(),x.value="",H.value="";}function le(F){y+=1,Q(),s.value="",c.value=[],m.value=false,I.value=false,w.value="all",G=void 0,D.value=null,F?.preserveLocation!==true&&V();}function de(){X||(le(),X=true,oe?.(),oe=void 0);}return oe=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>le(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:I,category:w,locatingMessageId:x,highlightMessageId:H,error:D,search:K,setCategory:P,loadMore:O,locate:b,completeLocation:S,clearLocation:V,reset:le,dispose:de}})}var Si=new WeakMap,Gr=new WeakMap;function Sn(e=Me()){ye(e);let n=Si.get(e);n===void 0&&(n=Dc(e),Si.set(e,n));let r=n(e);return Gr.get(e)!==r&&(Gr.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Gr.get(e)===r&&Gr.delete(e);})),r}var Dr=new WeakMap;function Ti(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function _c(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Fc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Kc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CONVERSATION_DELETE_FAILED",category:r!==null&&Fc(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ti(n)})}function Hc(e=Me()){let n=ye(e),r=Dr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=_o(e),m=De(e),I=Qn(e),w=qt(e),x=Sn(e),H={disposed:false};function D(X){let y=Ti(X);if(H.disposed)return Object.freeze({ok:false,reason:"stale",conversation:y});let g=o.getGeneration(),G=m.activeRef!==null&&m.activeRef.conversationType===y.conversationType&&m.activeRef.conversationId===y.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:g,conversation:y})),!_c(y))return Object.freeze({ok:false,reason:"unsupported",conversation:y});let W=c.deleteLocal(y);if(!W.ok){if(W.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:y});let M=Kc(W.error,y);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:g,conversation:y,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:M}})),Object.freeze({ok:false,reason:"delete-failed",conversation:y,error:M})}if(H.disposed||o.getGeneration()!==g)return Object.freeze({ok:false,reason:"stale",conversation:y});ki(e,y);let $=m.closeActiveConversation(y),oe=G||$;return oe&&(I.reset(),w.reset(),x.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:g,conversation:y,data:{activeConversationCleared:oe}})),Object.freeze({ok:true,status:"deleted",conversation:y,activeConversationCleared:oe})}return H.coordinator=Object.freeze({deleteLocal:D}),Dr.set(e,H),Se(e,()=>{H.disposed=true,Dr.get(e)===H&&Dr.delete(e);}),H.coordinator}var ji=30,Lc=15,Uc=20,qc=4294967295,wi=new WeakMap;function Fr(e){return typeof e=="object"&&e!==null}function Pt(e,n){if(typeof e!="string"||e.trim()==="")throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function xi(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>qc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Vc(e,n){if(!Fr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=Pt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=xi(e.width,"asset.width"),c=xi(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:Pt(e.packageId,"asset.packageId"),resourceId:Pt(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:Pt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function Bt(e,n){let r=wi.get(e);r===void 0&&(r=new Map,wi.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function zi(e,n,r,o){let s=Bt(e,n),c=++s.revision;for(let I of o)s.kindRevisions[I]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},I=>{s.revision===c&&(s.status="failed",s.error=I);}),{coordinator:s,revision:c,promise:m}}var Kr=new WeakMap;function $t(){return reactive({loading:false,loaded:false,error:null})}function bt(e){return {sticker:e(),gif:e()}}function Ai(e){return {sticker:e(),gif:e(),emoji:e()}}function Kn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ct(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&$c(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Ho(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Gi(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function Rt(e){return "recordId"in e?e.recordId:void 0}function Bc(e){let n=[];for(let r=0;r<e.length;r+=ji)n.push(e.slice(r,r+ji));return n}function Hr(e){return e==="gif"?Uc:Lc}function Ne(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function No(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ne(o)!==r)].slice(0,Hr(n.kind)))}function Wc(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ne(o)!==r)])}function Di(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ne(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Hr(e)))break}return Object.freeze(o)}function _i(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function qo(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Lo(e,n,r){let o=e.filter(I=>I.kind==="emoji").slice(0,14).map(I=>Object.freeze({kind:"emoji",stableKey:qo(I),token:I.token,resourceId:I.resourceId})),s=n.filter(I=>I.kind==="game"||r.has(I.stableKey)),c=[],m=new Set;for(let I of [...s,...o])if(!m.has(I.stableKey)&&(m.add(I.stableKey),c.push(I),c.length===14))break;return Object.freeze(c)}function Uo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Qc(e){return defineStore("k2-im-expression",()=>{let n=ye(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),I=ref({}),w=$t(),x=reactive({}),H=ref({sticker:[],gif:[]}),D=bt($t),X=ref({sticker:[],gif:[]}),y=ref({sticker:[],gif:[],emoji:[]}),g=Ai($t),G=ref({sticker:[],gif:[],emoji:[]}),W=ref([]),$=ref("idle"),oe=ref(""),M=ref([]),T=ref(0),Q=$t(),ee=ref(void 0),ae=computed(()=>Kn(w,m.value.length)),te=computed(()=>{let d=new Set([...Object.keys(x),...Object.keys(I.value)]);return Object.fromEntries([...d].map(p=>{let v=x[p]??{loading:false,loaded:true,error:null};return [p,Kn(v,I.value[p]?.length??0)]}))}),C=computed(()=>({sticker:Kn(D.sticker,H.value.sticker.length),gif:Kn(D.gif,H.value.gif.length)})),z=computed(()=>({sticker:Kn(g.sticker,y.value.sticker.length),gif:Kn(g.gif,y.value.gif.length),emoji:Kn(g.emoji,W.value.length)})),K=computed(()=>Kn(Q,M.value.length)),P=computed(()=>ee.value!==void 0),O=false,b=0,S=0,V={},le=bt(()=>0),de=Ai(()=>0),F=0,Y=0,me=0,ue=0,Ce=0,Oe=null,Te=null,we=null,_="emoji",U=new Set,ve=[],ge=null,fe=null,_e=null,k=null,N=bt(()=>new Map),ce=bt(()=>new Map),pe=new Map,Pe=new Map,A=bt(()=>Promise.resolve());function q(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:b,accountId:d.userId}}function B(d){return !O&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===b&&d.accountId===r.getCredentials().userId}function ie(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function be(d,p,v){let h=Ct(p,d);return v.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function ke(){return Object.freeze({ok:false,reason:"stale"})}function Be(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 Ue(){let d=p=>Object.freeze(y.value[p].flatMap(v=>{let h=Be(v);return h===null?[]:[Object.freeze({asset:h,pendingSync:N[p].has(Ne(h))})]}).slice(0,Hr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(W.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:pe.has(p.stableKey)})))})}function Cn(){for(let d of ["sticker","gif","emoji"])g[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(g[d].error=null);}function un(d,p){let v=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function er(d,p,v,h=[p]){let R=o,j=++me,re=zi(R,d.accountId,v,h);Ce=re.revision;let se=re.promise.then(()=>(B(d)&&j===me&&Cn(),true),ne=>{if(!B(d)||j!==me)return false;let Ie=Ho({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return g[p].error=Ie,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:Ie.code,data:ne}})),false});return {...re,settled:se}}function En(d){return Oe!==null&&We(Oe,d)}function Rn(d){if(_e!==null)return _e;let v=(async()=>{for(;B(d)&&!En(d);){let R=k!==null&&We(k.context,d)?k:null;if(R!==null){let re=await R.promise;if(re.ok||!B(d)||re.reason!=="stale")return;continue}let j=await Ve();if(j.ok||!B(d)||j.reason!=="stale")return}})();_e=v;let h=()=>{_e===v&&(_e=null);};return v.then(h,h),v}function dn(d,p,v){if(!B(d))return Promise.resolve();if(ue+=1,o===void 0||d.accountId==="")return Oe=d,Promise.resolve();let h=Ue();return En(d)?er(d,p,h).settled.then(()=>{}):(we=h,_=p,U.add(p),ve.push(v),Rn(d))}function nr(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function fn(d$1,p){let v=[...d$1.sticker],h=[...d$1.gif],R=[...d$1.emoji],j=new Map(d$1.pendingSticker),re=new Map(d$1.pendingGif),se=new Map(d$1.pendingEmoji);for(let ne of p){if(ne.type==="prepend-asset"){(ne.kind==="sticker"?j:re).set(Ne(ne.asset),ne.asset),ne.kind==="sticker"?v=[...No(v,ne.asset)]:h=[...No(h,ne.asset)];continue}if(ne.type==="prepend-emoji"||ne.type==="prepend-emojis"){let he=ne.type==="prepend-emoji"?[ne.entry]:ne.entries;for(let Ae of he)Ae.kind==="emoji"&&se.set(Ae.stableKey,Ae),R=[...d(R,Ae)];continue}if(ne.type==="authoritative"){if(ne.kind==="emoji"){for(let he of ne.items)if(he.kind==="emoji")for(let[Ae,Fe]of se)Fe.resourceId===he.resourceId&&se.delete(Ae);R=[...Lo(ne.items,R,new Set(se.keys()))];}else {let he=ne.kind==="sticker"?j:re;for(let Fe of ne.items)Fe.kind===ne.kind&&he.delete(Ne(Fe));let Ae=Di(ne.kind,ne.items,he);ne.kind==="sticker"?v=[...Ae]:h=[...Ae];}continue}if(ne.type==="delete-assets"){let he=new Set(ne.identities),Ae=ne.kind==="sticker"?j:re,Fe=je=>je.kind==="emoji"||!he.has(Ne(je))||Ae.has(Ne(je));ne.kind==="sticker"?v=v.filter(Fe):h=h.filter(Fe);continue}let Ie=new Set(ne.resourceIds);R=R.filter(he=>he.kind==="game"||!Ie.has(he.resourceId)||se.has(he.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(h),emoji:Object.freeze(R),pendingSticker:j,pendingGif:re,pendingEmoji:se}}function at(d){if(!Fr(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(se,ne)=>{let Ie=[],he=new Map,Ae=new Set;for(let Fe of ne){if(!Fr(Fe)||typeof Fe.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let je=Vc(Fe.asset,se),He=Ne(je);Ae.has(He)||(Ae.add(He),Ie.length<Hr(se)&&(Ie.push(je),Fe.pendingSync&&he.set(He,je)));}return {items:Object.freeze(Ie),pending:he}},v=p("sticker",d.sticker),h=p("gif",d.gif),R=[],j=new Map,re=new Set;for(let se of d.emoji){if(!Fr(se)||typeof se.stableKey!="string"||se.stableKey.trim()===""||se.kind!=="emoji"&&se.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let ne=se.stableKey.trim(),Ie,he=false;if(se.kind==="game"){if(se.gameType!=="dice"&&se.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(Ie=Uo(se.gameType),Ie.stableKey!==ne)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Ae=Pt(se.token,"emoji.token"),Fe=Pt(se.resourceId,"emoji.resourceId");if(typeof se.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");he=se.pendingSync,Ie=Object.freeze({kind:"emoji",stableKey:ne,token:Ae,resourceId:Fe});}re.has(ne)||(re.add(ne),R.length<14&&(R.push(Ie),Ie.kind==="emoji"&&he&&j.set(ne,Ie)));}return {sticker:v.items,gif:h.items,emoji:Object.freeze(R),pendingSticker:v.pending,pendingGif:h.pending,pendingEmoji:j}}function Pn(d){y.value={sticker:d.sticker,gif:d.gif,emoji:[]},G.value={sticker:[],gif:[],emoji:[]},W.value=d.emoji,N.sticker.clear(),N.gif.clear(),pe.clear();for(let[p,v]of d.pendingSticker)N.sticker.set(p,v);for(let[p,v]of d.pendingGif)N.gif.set(p,v);for(let[p,v]of d.pendingEmoji)pe.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(g[p],{loading:false,loaded:true,error:null});}function qe(d,p){if(o===void 0||d.accountId==="")return 0;let v=Bt(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ge(d){if(o===void 0||d.accountId===""||!En(d))return;let p=Bt(o,d.accountId);if(p.revision===Ce)return;let v=p.latestSnapshot===null?nr():at(p.latestSnapshot),h=(R,j)=>{let re=R==="sticker"?v.pendingSticker:v.pendingGif,se=new Map(y.value[R].flatMap(ne=>ne.kind==="emoji"||ne.kind!==R?[]:[[Ne(ne),ne]]));return Object.freeze(j.map(ne=>{if(ne.kind==="emoji"||ne.kind!==R)return ne;let Ie=Ne(ne);if(re.has(Ie))return ne;let he=Rt(se.get(Ie)??ne);return Object.freeze({...ne,...he===void 0?{}:{recordId:he}})}))};y.value={sticker:h("sticker",v.sticker),gif:h("gif",v.gif),emoji:y.value.emoji},W.value=v.emoji,N.sticker.clear(),N.gif.clear(),pe.clear();for(let[R,j]of v.pendingSticker)N.sticker.set(R,j);for(let[R,j]of v.pendingGif)N.gif.set(R,j);for(let[R,j]of v.pendingEmoji)pe.set(R,j);for(let R of ["sticker","gif"]){let j=new Set(y.value[R].flatMap(re=>Rt(re)===void 0?[]:[Rt(re)]));G.value={...G.value,[R]:Object.freeze(G.value[R].filter(re=>j.has(re)))};}Ce=p.revision;}async function mn(d,p,v,h){let R="hydrate-recent";g.emoji.error=null;try{let j=null,re=0;if(o!==void 0&&d.accountId!==""){j=Bt(o,d.accountId);let je=j.latestSnapshot;if(!h&&j.status==="failed"&&je!==null&&zi(o,d.accountId,je,[]),re=j.revision,await j.tail.catch(()=>{}),p!==Y||!B(d)||ue!==v||j.revision!==re)return ie(R);if(!h&&j.status==="failed")return un(R,g.emoji);j.status==="saved"&&ge!==null&&j.latestSnapshot===ge&&we===fe&&(we=null,U.clear(),ve.length=0,ge=null,fe=null);}let se=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Y||!B(d)||ue!==v||j!==null&&j.revision!==re)return ie(R);let ne;try{ne=se===null?nr():at(se);}catch(je){let He=o?.clearInvalid;if(se!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,se);}catch(Ze){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Ze})}throw je}let Ie=h?null:we,he=new Set(U),Ae=[...ve],Fe=Ie===null?ne:fn(ne,Ae);if(Pn(Fe),Ce=re,h){if(we=null,U.clear(),ve.length=0,ge=null,fe=null,j!==null){j.revision+=1;for(let je of ["sticker","gif","emoji"])j.kindRevisions[je]+=1;j.status="saved",j.latestSnapshot=se,j.error=null,Ce=j.revision;}return Oe=d,Cn(),Object.freeze({ok:!0,operation:R})}if(Ie!==null&&o!==void 0&&d.accountId!==""){let je=Ue();ge=je,fe=Ie;let He=er(d,_,je,[...he]),Ze=await He.settled;if(p!==Y||!B(d)||ue!==v||He.coordinator.revision!==He.revision)return ie(R);if(!Ze)return un(R,g.emoji);we===Ie&&(we=null,U.clear(),ve.length=0,ge=null,fe=null);}return Oe=d,Object.freeze({ok:!0,operation:R})}catch(j){return p!==Y||!B(d)?ie(R):be(R,j,g.emoji)}}function We(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function Ve(d={}){let p="hydrate-recent";if(O)return Promise.resolve(ie(p));let v;try{v=q();}catch(Ie){let he=be(p,Ie,g.emoji);return !he.ok&&he.reason==="failed"&&(Te=he.error??g.emoji.error),Promise.resolve(he)}let h=o===void 0||v.accountId===""?null:Bt(o,v.accountId);if(!d.force&&En(v)&&we===null&&(h===null||(h.status==="idle"||h.status==="saved")&&h.revision===Ce))return Te=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&k!==null&&!k.force&&k.stateRevision===ue&&We(k.context,v))return k.promise;let R=++Y,j=ue,re=mn(v,R,j,d.force===true).then(Ie=>(Ie.ok?Te=null:Ie.reason==="failed"&&(Te=Ie.error??g.emoji.error),Ie)),se={context:v,stateRevision:j,force:d.force===true,promise:re};k=se;let ne=()=>{k===se&&(k=null);};return re.then(ne,ne),re}async function pn(d){let p="load-packs";if(O)return ie(p);let v=++S,h;try{h=q();}catch(R){return be(p,R,w)}w.loading=true,w.error=null;try{let R=await h.client.expressions.packs.list(d);return v!==S||!B(h)?ie(p):(c.value=R.version,m.value=Object.freeze([...R.items]),w.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(R){return v!==S||!B(h)?ie(p):be(p,R,w)}finally{v===S&&B(h)&&(w.loading=false);}}async function Tn(d){let p="load-pack-items";if(O)return ie(p);let v=d.trim();if(v===""){let re=Ct(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:re})}let h=x[v]??=$t(),R=(V[v]??0)+1;V[v]=R;let j;try{j=q();}catch(re){return be(p,re,h)}h.loading=true,h.error=null;try{let re=await j.client.expressions.packs.listItems(v);return V[v]!==R||!B(j)?ie(p):(I.value={...I.value,[v]:Object.freeze([...re])},h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(re){return V[v]!==R||!B(j)?ie(p):be(p,re,h)}finally{V[v]===R&&B(j)&&(h.loading=false);}}async function it(d){let p="load-favorites";if(O)return ie(p);let v=++le[d],h=D[d],R;try{R=q();}catch(j){return be(p,j,h)}h.loading=true,h.error=null;try{let j=await R.client.expressions.favorites.list(d);return le[d]!==v||!B(R)?ie(p):(Ln(d,j),h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(j){return le[d]!==v||!B(R)?ie(p):be(p,j,h)}finally{le[d]===v&&B(R)&&(h.loading=false);}}function Ln(d,p){for(let j of p)ce[d].delete(Ne(j));let v=[],h=new Set;for(let j of [...ce[d].values(),...p]){let re=Ne(j);h.has(re)||(h.add(re),v.push(Object.freeze({...j})));}H.value={...H.value,[d]:Object.freeze(v)};let R=new Set(p.flatMap(j=>j.recordId===void 0?[]:[j.recordId]));X.value={...X.value,[d]:Object.freeze(X.value[d].filter(j=>R.has(j)))};}async function Un(d,p,v){let h=D[p];try{let R=await d.client.expressions.favorites.list(p);if(le[p]!==v||!B(d))return;Ln(p,R),h.loaded=!0;}catch(R){le[p]===v&&B(d)&&(h.error=Ct(R,"load-favorites"));}}function kn(d,p){let v="set-favorite";if(O)return Promise.resolve(ie(v));let h=Ne(d),R=Pe.get(h);if(R?.desired===p)return R.promise;let j;try{j=q();}catch(Ie){return Promise.resolve(be(v,Ie,D[d.kind]))}let re=R?.promise.catch(()=>{})??Promise.resolve(),se=A[d.kind].catch(()=>{}),ne=Promise.all([re,se]).then(async()=>{if(!B(j))return ie(v);let Ie=d.kind,he=D[Ie];he.error=null;let Ae=H.value[Ie].find(je=>Ne(je)===h);if(p&&Ae!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&Ae?.recordId===void 0){let je=Ho({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return he.error=je,Object.freeze({ok:false,operation:v,reason:"failed",error:je})}let Fe=++le[Ie];try{if(p?await j.client.expressions.favorites.add(d):await j.client.expressions.favorites.delete([Ae.recordId]),!B(j))return ie(v);p?(ce[Ie].set(h,Object.freeze({...d})),H.value={...H.value,[Ie]:Wc(H.value[Ie],d)}):(ce[Ie].delete(h),H.value={...H.value,[Ie]:Object.freeze(H.value[Ie].filter(He=>He.recordId!==Ae.recordId))});let je=++le[Ie];return Fe=je,await Un(j,Ie,je),!B(j)||le[Ie]!==je?ie(v):Object.freeze({ok:!0,operation:v})}catch(je){return !B(j)||le[Ie]!==Fe?ie(v):be(v,je,he)}finally{le[Ie]===Fe&&B(j)&&(he.loading=false);}});return Pe.set(h,{desired:p,promise:ne}),A[d.kind]=ne.then(()=>{},()=>{}),ne.finally(()=>{Pe.get(h)?.promise===ne&&Pe.delete(h);}),ne}async function jn(d){let p=await kn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function wn(d){return kn(d,false)}function On(d,p,v){if(O)return;let h=Gi(p),R=new Set(X.value[d]);v??!R.has(h)?R.add(h):R.delete(h),X.value={...X.value,[d]:Object.freeze([...R])};}function rn(d,p,v){if(Ge(v),d==="emoji"){for(let R of p)if(R.kind==="emoji")for(let[j,re]of pe)re.resourceId===R.resourceId&&pe.delete(j);y.value={...y.value,emoji:Object.freeze([...p])},W.value=Lo(p,W.value,new Set(pe.keys()));}else {for(let R of p)R.kind===d&&N[d].delete(Ne(R));y.value={...y.value,[d]:Di(d,p,N[d])};}let h=new Set(p.flatMap(R=>R.recordId===void 0?[]:[R.recordId]));G.value={...G.value,[d]:Object.freeze(G.value[d].filter(R=>h.has(R)))},g[d].loaded=true,dn(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function on(d){let p="load-recent";if(O)return ie(p);let v=g[d],h=await Ve();if(!h.ok)return h.reason==="stale"?ie(p):(v.error=h.error??g.emoji.error,Object.freeze({...h,operation:p}));let R=++de[d],j;try{j=q();}catch(re){return be(p,re,v)}v.loading=true,v.error=null;try{let re=qe(j,d),se=await j.client.expressions.recent.list(d);return de[d]!==R||!B(j)?ie(p):qe(j,d)!==re?(Ge(j),ie(p)):(rn(d,se,j),Object.freeze({ok:!0,operation:p}))}catch(re){return de[d]!==R||!B(j)?ie(p):be(p,re,v)}finally{de[d]===R&&B(j)&&(v.loading=false);}}async function hn(d,p){if(!B(d))return;let v=++de[p],h=g[p];h.loading=true,h.error=null;try{Ge(d);let R=qe(d,p),j=await d.client.expressions.recent.list(p);if(de[p]!==v||!B(d))return;if(qe(d,p)!==R){Ge(d);return}rn(p,j,d);}catch(R){de[p]===v&&B(d)&&(h.error=Ct(R,"load-recent"));}finally{de[p]===v&&B(d)&&(h.loading=false);}}function vn(d,p){if(!B(d))return false;Ge(d),Y+=1;let v=p.kind,h=Object.freeze({...p});return N[v].set(Ne(h),h),y.value={...y.value,[v]:No(y.value[v],h)},g[v].loaded=true,dn(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:h})),true}function gn(d$1,p){if(!B(d$1))return false;Ge(d$1),Y+=1;let v=Object.freeze(p.map(R=>Object.freeze({...R}))),h=W.value;for(let R of v)pe.set(R.stableKey,R),h=d(h,R);return W.value=h,g.emoji.loaded=true,dn(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Qe(d,p){return gn(d,[p])}async function Je(d,p,v=true){let h="report-recent";if(!B(d))return ie(h);let R=p.kind,j=++de[R],re=g[R];re.error=null;try{if(await d.client.expressions.recent.report(p),de[R]!==j||!B(d))return ie(h);if(!v)return Object.freeze({ok:!0,operation:h});try{Ge(d);let se=qe(d,R),ne=await d.client.expressions.recent.list(R);if(de[R]!==j||!B(d))return ie(h);if(qe(d,R)!==se)return Ge(d),ie(h);rn(R,ne,d);}catch(se){de[R]===j&&B(d)&&(re.error=Ct(se,"load-recent"));}return Object.freeze({ok:!0,operation:h})}catch(se){return de[R]!==j||!B(d)?ie(h):be(h,se,re)}}async function so(d){let p="report-recent";if(O)return ie(p);let v;try{v=q();}catch(h){return be(p,h,g[d.kind])}return d.kind==="emoji"?Qe(v,Object.freeze({...d,stableKey:qo(d)})):vn(v,d),Je(v,d)}function lo(d,p,v){if(O)return;let h=Gi(p),R=new Set(G.value[d]);v??!R.has(h)?R.add(h):R.delete(h),G.value={...G.value,[d]:Object.freeze([...R])};}async function tr(d,p,v){let h=d==="favorites"?"delete-favorites":"delete-recent";if(O)return ie(h);let R=d==="favorites"?X:G,j=d==="favorites"?le:de,re=d==="favorites"?D:g,se=v?.selected??R.value[p];if(se.length===0)return Object.freeze({ok:false,operation:h,reason:"empty"});let ne=re[p];if(ne.loading)return Object.freeze({ok:false,operation:h,reason:"busy"});let Ie=++j[p],he;try{he=v?.context??q();}catch(xe){return be(h,xe,ne)}d==="recent"&&Ge(he);let Ae=d==="recent"?qe(he,p):0,Fe=new Set(se),je=d==="recent"?y.value[p].filter(xe=>{let en=Rt(xe);return en!==void 0&&Fe.has(en)}):[];ne.loading=true,ne.error=null;let He=[],Ze=new Set,zn,An,an=false;for(let xe of Bc(se)){if(!B(he))return ie(h);if(d==="recent"&&j[p]!==Ie){an=true;break}try{d==="favorites"?await he.client.expressions.favorites.delete(xe):await he.client.expressions.recent.delete(xe);for(let en of xe)Ze.add(en);}catch(en){let Gn=Ct(en,h);zn??=Gn,He.push(...xe);}}if(!B(he))return ie(h);if(d==="recent"&&j[p]!==Ie&&(an=true),d==="recent"&&qe(he,p)!==Ae&&(an=true),d==="favorites"){let xe=p;H.value={...H.value,[xe]:Object.freeze(H.value[xe].filter(Dn=>Dn.recordId===void 0||!Ze.has(Dn.recordId)))};let en=new Set(se),Gn=X.value[xe].filter(Dn=>!en.has(Dn));if(X.value={...X.value,[xe]:Object.freeze([...new Set([...Gn,...He])])},An=++le[xe],await Un(he,xe,An),!B(he))return ie(h)}else {let xe=p;Ge(he);let en=je.filter(ze=>{let sn=Rt(ze);return sn!==void 0&&Ze.has(sn)}),Gn=new Set(en.filter(ze=>ze.kind==="emoji").map(ze=>ze.resourceId)),Dn=new Set(en.filter(ze=>ze.kind!=="emoji").map(Ne));xe==="emoji"&&(W.value=Object.freeze(W.value.filter(ze=>ze.kind==="game"||!Gn.has(ze.resourceId)||pe.has(ze.stableKey)))),y.value={...y.value,[xe]:Object.freeze(y.value[xe].filter(ze=>{let sn=Rt(ze);return sn===void 0||!Ze.has(sn)}))};let uo=new Set(se),In=an?G.value[xe].filter(ze=>!Ze.has(ze)):G.value[xe].filter(ze=>!uo.has(ze));if(G.value={...G.value,[xe]:Object.freeze(an?In:[...new Set([...In,...He])])},xe==="emoji"){let ze=y.value.emoji.filter(sn=>sn.kind==="emoji");W.value=Lo(ze,W.value,new Set(pe.keys()));}let yn=Object.freeze(xe==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Gn])}:{type:"delete-assets",kind:xe,identities:Object.freeze([...Dn])});if(dn(he,xe,yn),an&&Ze.size>0&&await hn(he,xe),!B(he))return ie(h)}return (d==="recent"?de[p]===Ie:le[p]===An)&&(ne.loaded=true,(zn!==void 0||d==="recent")&&(ne.error=zn??null),ne.loading=false),an?ie(h):He.length===0?Object.freeze({ok:true,operation:h}):Object.freeze({ok:false,operation:h,reason:Ze.size===0?"failed":"partial",error:zn,failedRecordIds:Object.freeze(He)})}function co(d){let p="delete-favorites";if(O)return Promise.resolve(ie(p));let v=Object.freeze([...X.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let h;try{h=q();}catch(re){return Promise.resolve(be(p,re,D[d]))}let j=A[d].catch(()=>{}).then(()=>B(h)?tr("favorites",d,{context:h,selected:v}):ie(p));return A[d]=j.then(()=>{},()=>{}),j}function rr(d){return tr("recent",d)}function st(d,p){let v=++F;return $.value=d,oe.value=p,M.value=[],T.value=0,ee.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,v}async function lt(d,p){let v="load-giphy";if(O)return ie(v);let h={mode:$.value,query:oe.value,items:M.value,totalCount:T.value,nextOffset:ee.value,loaded:Q.loaded},R=st(d,p),j=()=>{$.value=h.mode,oe.value=h.query,M.value=h.items,T.value=h.totalCount,ee.value=h.nextOffset,Q.loaded=h.loaded;},re;try{re=q();}catch(se){return j(),Q.loading=false,be(v,se,Q)}try{let se=d==="trending"?await re.client.expressions.giphy.trending():await re.client.expressions.giphy.search(p);return R!==F||!B(re)?ie(v):(M.value=_i(se.items),T.value=se.totalCount,ee.value=se.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(se){return R!==F||!B(re)?ie(v):(j(),be(v,se,Q))}finally{R===F&&B(re)&&(Q.loading=false);}}function ct(){return lt("trending","")}function xn(d){if(O)return Promise.resolve(ie("load-giphy"));let p=d.trim();return p===""?(st("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):lt("search",p)}async function or(){let d="load-more-giphy";if(O)return ie(d);if(Q.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if($.value==="idle"||ee.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++F,v=$.value,h=oe.value,R=ee.value,j;try{j=q();}catch(re){return be(d,re,Q)}Q.loading=true,Q.error=null;try{let re=v==="trending"?await j.client.expressions.giphy.trending({offset:R}):await j.client.expressions.giphy.search(h,{offset:R});return p!==F||!B(j)?ie(d):(M.value=_i([...M.value,...re.items]),T.value=re.totalCount,ee.value=re.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(re){return p!==F||!B(j)?ie(d):be(d,re,Q)}finally{p===F&&B(j)&&(Q.loading=false);}}async function ar(d){return xt([d])}async function xt(d){let p="report-recent";if(O)return ie(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=q();}catch(j){return be(p,j,g.emoji)}let h=Object.freeze(d.map(j=>Object.freeze({...j,stableKey:qo(j)})));if(!gn(v,h))return ie(p);let R=Object.freeze({ok:true,operation:p});for(let[j,re]of h.entries())if(R=await Je(v,{kind:"emoji",token:re.token,resourceId:re.resourceId},j===h.length-1),!R.ok&&R.reason==="stale")return R;return R}function Xe(d,p){Je(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function ir(d,p){if(O)return ke();let v;try{v=q();}catch{return ke()}let h;try{h=await d.messages.sendSticker(p);}catch(R){if(!B(v))return ke();throw R}return B(v)?(h.ok&&vn(v,p)&&Xe(v,p),h):ke()}async function zt(d,p){if(O)return ke();let v;try{v=q();}catch{return ke()}let h;try{h=await d.messages.sendGifAsset(p);}catch(R){if(!B(v))return ke();throw R}return B(v)?(h.ok&&vn(v,p)&&Xe(v,p),h):ke()}async function ut(d$1,p){if(O)return ke();let v;try{v=q();}catch{return ke()}let h;try{h=await d$1.messages.sendGame(p);}catch(R){if(!B(v))return ke();throw R}return B(v)?(h.ok&&(Ge(v),Y+=1,W.value=d(W.value,Uo(p)),g.emoji.loaded=true,dn(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Uo(p)}))),h):ke()}function Ye(d={}){if(O)return;let p=d.preserveRecentHydrationFailure===true?Te:null;b+=1,S+=1,F+=1,Y+=1,me+=1,ue=0,Ce=0,Oe=null,we=null,U.clear(),ve.length=0,ge=null,fe=null,_e=null,k=null,Te=p,Pe.clear(),A=bt(()=>Promise.resolve()),c.value="",m.value=[],I.value={},Object.assign(w,{loading:false,loaded:false,error:null});for(let v of Object.keys(x))delete x[v];for(let v of Object.keys(V))V[v]=(V[v]??0)+1;H.value={sticker:[],gif:[]},X.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])le[v]+=1,Object.assign(D[v],{loading:false,loaded:false,error:null});y.value={sticker:[],gif:[],emoji:[]},G.value={sticker:[],gif:[],emoji:[]},W.value=[],N.sticker.clear(),N.gif.clear(),ce.sticker.clear(),ce.gif.clear(),pe.clear();for(let v of ["sticker","gif","emoji"])de[v]+=1,Object.assign(g[v],{loading:false,loaded:false,error:null});p!==null&&(g.emoji.error=p),$.value="idle",oe.value="",M.value=[],T.value=0,ee.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function sr(){O||(Ye(),O=true);}return Kr.set(e,Object.freeze({dispose:sr})),{packVersion:c,packs:m,packItemsByPackage:I,packStatus:ae,packItemStatus:te,favorites:H,favoriteStatus:C,favoriteSelection:X,recent:y,recentStatus:z,recentSelection:G,emojiRecent:W,giphyMode:$,giphyQuery:oe,giphyItems:M,giphyTotalCount:T,giphyHasMore:P,giphyStatus:K,hydrateRecent:Ve,loadPacks:pn,loadPackItems:Tn,loadFavorites:it,addFavorite:jn,setFavorite:kn,unsetFavorite:wn,toggleFavoriteSelection:On,deleteSelectedFavorites:co,loadRecent:on,reportRecent:so,rememberEmoji:ar,rememberEmojis:xt,toggleRecentSelection:lo,deleteSelectedRecent:rr,loadGiphyTrending:ct,searchGiphy:xn,loadMoreGiphy:or,sendSticker:ir,sendGif:zt,sendGame:ut,reset:Ye}})}var Fi=new WeakMap,_r=new WeakMap;function Jc(e=Me()){ye(e);let n=Fi.get(e);n===void 0&&(n=Qc(e),Fi.set(e,n));let r=n(e),o=Kr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return _r.get(e)!==r&&(_r.set(e,r),Se(e,()=>{o.dispose(),r.$dispose(),_r.get(e)===r&&(_r.delete(e),Kr.get(e)===o&&Kr.delete(e));})),r}var Nr=new WeakMap;function Hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Lr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Xc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function Yc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Zc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:r!==null&&Yc(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hi(n)})}function eu(e=Me()){let n=ye(e),r=Nr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=De(e),m=Sn(e),I={disposed:false};function w(g){return !I.disposed&&o.getGeneration()===g.generation&&c.getHandle()===g.handle&&Lr(c.activeRef,g.conversation)}function x(){let g=I.activeIntent;g!==void 0&&(I.activeIntent=void 0,g.complete(Object.freeze({status:"stale",conversation:g.conversation})));}async function H(g){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:g.generation,conversation:g.conversation}));try{if(!await c.loadLatest()||!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:g.generation,conversation:g.conversation})),g.complete(Object.freeze({status:"applied",conversation:g.conversation}));}catch(G){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}let W=Zc(G,g.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:g.generation,conversation:g.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:W}})),g.complete(Object.freeze({status:"failed",conversation:g.conversation,error:W}));}}function D(g){let G=I.activeIntent;G===void 0||g.type!=="message:received"||g.source!=="live"||g.message.senderId!==G.selfId||g.message.status==="sent"||!Lr(g.ref,G.conversation)||(I.activeIntent=void 0,H(G));}async function X(g,G){let W=c.getHandle();if(!Xc(g)||I.disposed||!c.hasNewer||W===void 0||!Lr(W.ref,g)||!Lr(c.activeRef,g))return Object.freeze({value:await G(),history:Object.freeze({status:"not-needed"})});x();let $=Hi(g),oe,M=new Promise(Q=>{let ee=false;oe=ae=>{ee||(ee=true,Q(ae));};}),T={token:Symbol("history-return-after-send"),conversation:$,handle:W,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:oe};I.activeIntent=T;try{let Q=await G();return I.activeIntent?.token===T.token&&(I.activeIntent=void 0,T.complete(w(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),Object.freeze({value:Q,history:await M})}catch(Q){throw I.activeIntent?.token===T.token&&(I.activeIntent=void 0,T.complete(w(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),await M,Q}}let y=o.subscribeProductEvents(D);return I.coordinator=Object.freeze({run:X}),Nr.set(e,I),Se(e,()=>{I.disposed=true,x(),y(),Nr.get(e)===I&&Nr.delete(e);}),I.coordinator}function Ui(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function qi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Ui(e.conversation)}})}function ru(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ou(e,n){return ru(e)?qi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function au(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:Ui(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:qi(e.error)}})}function Vi(e,n){return n===void 0?e:`${e}\0${n}`}function Xn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function iu(e){return defineStore("k2-im-media",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),I=false,w=0,x=null,H=-1,D,X=computed(()=>{let b=o.activeRef,S={};for(let V of s.value)V.direction!=="upload"||V.state!=="queued"&&V.state!=="running"||!Xn(b,V.ref)||(S[V.messageId]=V.state==="queued"?0:V.percent);return S}),y=computed(()=>{let b={};for(let S of s.value)S.direction==="download"&&Xn(o.activeRef,S.ref)&&(b[Vi(S.messageId,S.itemIndex)]=S);return b}),g=computed(()=>{let b={};for(let[S,V]of Object.entries(y.value))(V.state==="queued"||V.state==="running")&&(b[S]=V.percent);return b}),G=computed(()=>{let b=o.activeRef,S={};for(let V of s.value)V.direction==="upload"&&V.state==="queued"&&V.phase==="waiting-upload-slot"&&Xn(b,V.ref)&&(S[V.messageId]=true);return S}),W=computed(()=>{let b=o.activeRef,S={};for(let V of s.value)V.direction==="upload"&&V.state==="running"&&V.phase==="finalizing"&&Xn(b,V.ref)&&(S[V.messageId]=true);return S});function $(b,S,V){I||x!==S||H!==V||n.getGeneration()!==V||(s.value=b.map(au));}function oe(b){let S=n.getGeneration();if(I)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(x===b&&H===S||(w+=1,D?.(),D=void 0,x=b,H=b===null?-1:S,s.value=[],c.value=null,b===null))return;let V=false;D=b.media.subscribe(le=>{V=true,$(le,b,S);}),V||$(b.media.getSnapshot(),b,S),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:S}));}function M(){oe(n.getProductClient());}function T(){oe(null),m.value=null;}async function Q(b,S,V){let le=n.getProductClient();if(le===null)return Object.freeze({ok:false,operation:b,reason:"not-ready"});if(oe(le),!s.value.some(Y=>Y.id===S))return Object.freeze({ok:false,operation:b,reason:"not-found"});let de=n.getGeneration(),F=w;c.value=null;try{return b==="retry"&&V!==void 0?await le.media.retry(S,V):await le.media[b](S),I||F!==w||n.getGeneration()!==de||x!==le?Object.freeze({ok:!1,operation:b,reason:"stale"}):Object.freeze({ok:!0,operation:b})}catch(Y){if(I||F!==w||n.getGeneration()!==de||x!==le)return Object.freeze({ok:false,operation:b,reason:"stale"});let me=ou(Y,b);return c.value=me,r.record("error","pinia","media",`media-task-${b}-failed`,()=>({generation:de,data:{taskId:S},error:{message:me.code,data:me}})),Object.freeze({ok:false,operation:b,reason:"failed",error:me})}}function ee(b){return Q("cancel",b)}function ae(b,S){return Q("retry",b,S)}async function te(b){let S=o.activeRef,V=s.value.find(de=>de.direction==="upload"&&(de.state==="queued"||de.state==="running")&&de.messageId===b&&Xn(S,de.ref));if(V===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let le=await ee(V.id);return Xn(o.activeRef,V.ref)?le:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function C(b,S){let V=s.value.find(de=>de.direction==="download"&&(de.state==="queued"||de.state==="running")&&de.messageId===b&&de.itemIndex===S);if(V===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let le=await ee(V.id);return Xn(o.activeRef,V.ref)?le:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function z(b){let S=o.activeRef;return b.status!=="failed"||b.failure?.displayCode!=="media.uploadInterrupted"||b.contentType!=="video"&&b.contentType!=="file"||S===null||b.conversationId!==S.conversationId||b.conversationType!==S.conversationType?false:(m.value=Object.freeze({messageId:b.id,conversationId:b.conversationId,conversationType:b.conversationType,kind:b.contentType}),true)}function K(){let b=m.value;return m.value=null,b}function P(){m.value=null;}function O(){I||(w+=1,D?.(),D=void 0,x=null,H=-1,s.value=[],c.value=null,m.value=null,I=true);}return {tasks:s,error:c,uploadProgress:X,downloadTasks:y,downloadProgress:g,uploadWaiting:G,uploadFinalizing:W,replacementRequest:m,start:M,reset:T,cancel:ee,retry:ae,cancelUpload:te,cancelDownload:C,requestReplacement:z,takeReplacementRequest:K,clearReplacementRequest:P,dispose:O}})}var Li=new WeakMap,Ur=new WeakMap;function su(e=Me()){ye(e);let n=Li.get(e);n===void 0&&(n=iu(e),Li.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function Yn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function qr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function cu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&lu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function kt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ot(e,n){return kt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`channel-member-management.${e}`,retryable:false,conversation:n}))}function uu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function $i(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function du(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return $i(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:$i(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function fu(e,n,r,o){let s=Yn(r);if(s.conversationId==="")return {ok:false,result:Ot(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:kt(n,s,"not-ready")};let m=e.getGeneration(),I=du(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:kt(n,s,"not-allowed",uu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Mt(e,n,r,o,s){let c=fu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:kt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return kt(n,c.captured.conversation,"stale");let I=cu(m,n,c.captured.conversation),w=n==="leave"&&I.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return kt(n,c.captured.conversation,w,I)}}function mu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Bi(e,n,r){let o=Yn(n),s=mu(r);return s.length===0?Promise.resolve(Ot("invite-members",o)):Mt(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Wi(e,n,r){let o=Yn(n),s=qr(r);return s.userId===""?Promise.resolve(Ot("remove-member",o)):Mt(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Qi(e,n,r,o){let s=Yn(n),c=qr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Ot(m,s)):Mt(e,m,s,async({client:I})=>(o?await I.channels.addAdmin(s,c.userId):await I.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Ji(e,n,r){return Qi(e,n,r,true)}function Xi(e,n,r){return Qi(e,n,r,false)}function Yi(e,n,r){let o=Yn(n),s=qr(r);return s.userId===""?Promise.resolve(Ot("transfer-ownership",o)):Mt(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Zi(e,n,r){let o=Yn(n),s=r===void 0?void 0:qr(r);return s!==void 0&&s.userId===""?Promise.resolve(Ot("leave",o)):Mt(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function es(e,n){let r=Yn(n);return Mt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Qt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function vu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&pu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function St(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Et(e,n){return St(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function gu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function Iu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function hu(e,n,r,o){let s=Qt(r);if(s.conversationId==="")return {ok:false,result:Et(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:St(n,s,"not-ready")};let m=e.getGeneration(),I=Iu(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:St(n,s,"not-allowed",gu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Hn(e,n,r,o,s){let c=hu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:St(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?St(n,c.captured.conversation,"failed",vu(m,n,c.captured.conversation)):St(n,c.captured.conversation,"stale")}}function ns(e,n,r){let o=Qt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Et(e,o)}:{ok:true,value:s}}function ts(e,n,r){let o=r.trim();return o===""?Promise.resolve(Et("update-name",Qt(n))):Hn(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var yu=100;function rs(e,n,r){let o=r.trim();return o===""||[...o].length>yu?Promise.resolve(Et("update-description",Qt(n))):Hn(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function os(e,n,r){return Hn(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?Et("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function as(e,n,r){let o=ns("set-my-nickname",n,r);return o.ok?Hn(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function is(e,n,r,o,s){let c=r.trim(),m=ns("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Et("set-member-nickname",Qt(n)):m.result);let I=Object.freeze({userId:c,role:o});return Hn(e,"set-member-nickname",n,async({client:w,conversation:x})=>(await w.channels.setMemberNickname(x,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:x,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),I)}function ss(e,n,r,o){return Hn(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ls(e,n,r){return Hn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function cs(e,n,r){return Hn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function bu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Cu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function Ru(e){let n=e.getProductClient();if(n===null)return null;let r=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===r&&e.getProductClient()===n})}function Pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ku(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&Pu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Zn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Vr(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function et(e,n,r,o){let s=Ru(e);if(s===null)return {ok:false,result:Zn(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:Zn(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:Zn(n,r,"failed",ku(c,n,r))}:{ok:false,result:Zn(n,r,"stale")}}}function Tt(e,n){let r=bu(n);return r.conversationId===""?{ok:false,result:Zn(e,r,"failed",Vr(e,r))}:{ok:true,conversation:r}}async function us(e,n,r){let o=Tt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await et(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(I=>Object.freeze({countryCode:I.countryCode,mobile:I.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function ds(e,n){let r=Tt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function fs(e,n,r){let o=Tt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return Zn("report",s,"failed",Vr("report",s));let m=await et(e,"report",s,I=>I.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function ms(e,n){let r=Tt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ps(e,n){let r=n.trim();if(r==="")return Zn("search-user",null,"failed",Vr("search-user",null));let o=await et(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:Cu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function vs(e,n){let r=Tt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(e,"resolve-application-target",o,async c=>{let[m,I]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Vr("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:I,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function gs(e,n,r){let o=Tt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await et(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 Jt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Mu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Ou(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function jt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Xt(e,n){return jt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`group-member-management.${e}`,retryable:false,conversation:n}))}function Su(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Eu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function Tu(e,n,r,o=false){let s=Jt(r);if(s.conversationId==="")return {ok:false,result:Xt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:jt(n,s,"not-ready")};let m=e.getGeneration(),I=Eu(c,s,n,o);return I.availability!=="available"?{ok:false,result:jt(n,s,"not-allowed",Su(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function $r(e,n,r,o,s=false){let c=Tu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:jt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return jt(n,c.captured.conversation,"stale");let I=Mu(m,n,c.captured.conversation),w=n==="leave"&&I.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return jt(n,c.captured.conversation,w,I)}}function ju(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Is(e,n,r){let o=Jt(n),s=ju(r);return s.length===0?Promise.resolve(Xt("invite-members",o)):$r(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function hs(e,n,r){let o=Jt(n),s=r.trim();return s===""?Promise.resolve(Xt("remove-member",o)):$r(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ys(e,n,r){let o=Jt(n),s=r.trim();return s===""?Promise.resolve(Xt("transfer-ownership",o)):$r(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function bs(e,n,r={}){let o=Jt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Xt("leave",o)):$r(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Vo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function wu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Cs(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&wu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function tn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function xu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function zu(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function Rs(e,n,r){let o=Vo(r);if(o.conversationId==="")return {ok:false,result:tn(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:tn(n,o,"not-ready")};let c=e.getGeneration(),m=zu(s,o,n);return m.availability!=="available"?{ok:false,result:tn(n,o,"not-allowed",xu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function $o(e,n,r,o){let s=Rs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:tn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?tn(n,s.captured.conversation,"failed",Cs(c,n,s.captured.conversation)):tn(n,s.captured.conversation,"stale")}}function Ps(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(tn("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return $o(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ks(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(tn("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return $o(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Os(e,n,r,o){return $o(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ms(e,n,r){let o=Rs(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?tn("update-avatar",s.conversation,"failed",Cs(c,"update-avatar",s.conversation)):tn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return tn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return tn("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}):tn("update-avatar",s.conversation,"stale")}}function Au(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Au(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function Ss(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Es(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function Ts(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Gu(n,r.value)}function js(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ws(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let I=[];for(let w of c){let x=await s.group.listMembers(w.id,{forceRefresh:false});x!==null&&x.some(H=>H.userId===r)&&I.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:w.id}),name:w.displayName||w.cardDisplayName||w.id,...w.avatarUrl===void 0?{}:{avatar:w.avatarUrl}}));}return Object.freeze(I)}async function xs(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Ss(r.value),stale:r.stale})}async function zs(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Ss(r)}async function As(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function Gs(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Ds(e,n){return e.ensureProductClient().directory.search(n)}async function _s(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Bo(c)}function Bo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function Fs(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let I=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(w=>w.userId===c);return I===void 0?null:Object.freeze({userId:I.userId,...I.nickname===void 0?{}:{nickname:I.nickname},displayName:I.displayName,...I.avatar===void 0?{}:{avatar:I.avatar},role:I.role})}async function Wo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Bo(c)}async function Ks(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Bo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Qo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Jo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Qo(o)}async function Hs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Qo(c)}async function Ns(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Qo(s)}function Ls(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Fu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Ku=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Us=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Re(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Z(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Br(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Nn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function tt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function bn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Yt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function rt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function $e(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Hu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:Re(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Re(r)}})}function Wr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Nu(e){return defineStore("k2-im-profile-directory",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),I=ref("unknown"),w=ref(false),x=shallowRef(null),H=shallowRef([]),D$1=ref(false),X=shallowRef(null),y=shallowRef(null),g=shallowRef(null),G=shallowRef([]),W=ref(false),$=ref(false),oe=shallowRef(null),M=shallowRef(null),T=shallowRef(null),Q=ref(false),ee=shallowRef(null),ae=reactive({individual:Wr(),group:Wr(),channel:Wr()}),te=ref(""),C$1=shallowRef(null),z$1=ref(false),K=shallowRef(null),P=shallowRef(null),O=shallowRef([]),b=ref(""),S=ref(false),V=ref(false),le=shallowRef(null),de=shallowRef(null),F=shallowRef(null),Y=ref(false),me=shallowRef(null),ue=shallowRef(null),Ce=shallowRef([]),Oe=ref(""),Te=ref(false),we=ref(false),_=shallowRef(null),U=false,ve=new Map,ge=0,fe={direct:0,group:0,channel:0},_e=0,k={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},N={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},ce={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},pe=new Map,Pe=0,A$1=new Map,q=new Map,B$1=new Set,ie=new Set,be=new Map,ke=new Map,Be=0,Ue={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},Cn=new Map,un=new Map,er=0,En=new Set,Rn=new Map,dn=new Map,nr=0,fn=0,at=0,Pn=new Map,qe=new Map,Ge=new Map,mn=new Map,We=new Map,Ve=new Map,pn=new Map,Tn=ref(0),it={individual:0,group:0,channel:0},Ln=new Map,Un=0,kn,jn,wn,On=0,rn,on,hn,vn=0,gn,Qe,Je;function so(a){return s.value[a.conversationId]??0}function lo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=A(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?z(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?z(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function tr(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?B(t,n.getChannelMemberProfiles(),a.conversationId,i):C(t,i)}function co(a){return o.value,D(n.getSenderProfileCache(),a)}function rr(a,i){return sa$1(n,a,i)}function st(a,i){return ta(n,a.conversationId,i)}function lt(a,i,t){let l=n.getGeneration(),u=ve.get(a.conversationId)??0;return ua(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(ve.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function ct(a,i){let t=a.conversationId.trim();if(t==="")return;ve.set(t,(ve.get(t)??0)+1);let l={...n.getChannelMemberProfiles()},u=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(u.length===0)delete l[t];else {let f={...l[t]??{}};for(let E of u)delete f[E];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function xn(a,i){let t=a.conversationId.trim();t!==""&&(ct(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function or(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function ar(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function xt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function Xe(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function ir(a,i,t={}){let l=We.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(L=>L.userId)),f=new Map(l),E=i.map(L=>{let J=l.get(L.userId);return J===void 0?L:(t.reconcile===true&&J===L.nickname&&f.delete(L.userId),Object.freeze({...L,nickname:J}))});if(t.reconcile===true)for(let L of f.keys())u.has(L)||f.delete(L);return f.size===0?We.delete(a):We.set(a,f),Object.freeze(E)}function zt(a,i){let t=We.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&We.delete(a));}function ut(a,i){let t=Ve.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 Ye(a,i){let t=Ve.get(a),l=pn.get(a),u=M.value?.conversationId===a?T.value?.ownerId:mn.get(a)?.ownerId;return (t===void 0||t.size===0)&&(l===void 0||l.size===0)&&u===void 0?i:Object.freeze(i.map(f=>{let E=t?.get(f.userId),L=l?.get(f.userId),J=u!==void 0&&f.userId===u;if(E===void 0&&L===void 0&&!J)return f;let{nickname:Ee,...cn}=f;return Object.freeze({...cn,...E===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:E.nickname===""?{}:{nickname:E.nickname},displayName:E?.displayName??f.displayName,role:J?"owner":L??f.role})}))}function sr(a,i){let t=Ve.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&&Ve.delete(a),l&&(Tn.value+=1);}function d(a,i){let t=Ve.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Ve.delete(a),Tn.value+=1);}function p(a,i){let t=pn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&pn.delete(a);}}function v(a,i){let t=pn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&pn.delete(a));}function h(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?y.value:M.value;return !U&&n.getGeneration()===i&&ge===t&&fe[a.conversationType]===l&&Z(u,a)}async function R(a,i={}){let t=Re(a),l=++ge,u=fe.direct,f=n.getGeneration(),E=!Z(c.value,t);c.value=t,E&&(m.value=null,I.value="unknown"),w.value=true,x.value=null;try{let L=await Es(n,t,i);return h(t,f,l,u)?(m.value=L.profile,I.value=L.relationship,w.value=!1,L.profile===null?Object.freeze({ok:!1,operation:"direct-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"direct-profile"})):Object.freeze({ok:!1,operation:"direct-profile",reason:"stale"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let J=$e(L,"profile.direct",t);return x.value=J,w.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:J})}}async function j(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let L=await Kt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!L.ok)return Object.freeze({ok:false,reason:"channel-profile",result:L});if(f=Z(M.value,a)?T.value:null,ra({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let E=await R({conversationType:"direct",conversationId:l},{forceRefresh:u});return E.ok?Object.freeze({ok:true,destination:ra({conversation:a,relationship:I.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:E})}async function re(a){let i=Re(a),t=++_e,l=n.getGeneration();c.value=i,D$1.value=true,X.value=null;try{let u=await ws(n,i.conversationId);return !Z(c.value,i)||l!==n.getGeneration()||t!==_e?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(H.value=u,D$1.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!Z(c.value,i)||l!==n.getGeneration()||t!==_e)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=$e(u,"profile.direct-mutual-groups",i);return X.value=f,D$1.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function se(a){return k[a]+=1,k[a]}function ne(a,i){return !U&&k[a]===i}async function Ie(a,i){let t=Re(a),l=se("set-remark"),u=await us(n,t,i);if(!ne("set-remark",l)||!Z(c.value,t))return nt("set-remark",t);if(!u.ok)return u;let f=m.value,E=f!==null&&f.userId===t.conversationId;return E&&(m.value=Object.freeze({...f,...i.name===void 0?{}:{remark:i.name},...i.emails===void 0?{}:{remarkEmails:Object.freeze([...i.emails])},...i.phones===void 0?{}:{remarkPhones:Object.freeze(i.phones.map(L=>Object.freeze({countryCode:L.countryCode,mobile:L.mobile})))}})),Object.freeze({...u,projectionUpdated:E})}async function he(a){let i=Re(a),t=se("block"),l=await ds(n,i);return !ne("block",t)||!Z(c.value,i)?nt("block",i):l.ok?(I.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function Ae(a,i){let t=Re(a),l=se("report"),u=await fs(n,t,i);return !ne("report",l)||!Z(c.value,t)?nt("report",t):u}async function Fe(a){let i=Re(a),t=se("delete-friendship"),l=await ms(n,i);return !ne("delete-friendship",t)||!Z(c.value,i)?nt("delete-friendship",i):l.ok?(I.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function je(a){let i=se("search-user"),t=await ps(n,a);return ne("search-user",i)?t:nt("search-user",t.conversation)}async function He(a){let i=Re(a),t=se("resolve-application-target"),l=await vs(n,i);return ne("resolve-application-target",t)?l:nt("resolve-application-target",i)}async function Ze(a,i){let t=Re(a),l=se("request-friendship"),u=await gs(n,t,i);return ne("request-friendship",l)?u:nt("request-friendship",t)}function zn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function An(a,i){N[a]+=1;let t=n.getGeneration(),l=fe.group,u=zn(i,a,t,l);return A$1.set(u,(A$1.get(u)??0)+1),Object.freeze({epoch:N[a],generation:t,key:u,resetEpoch:l})}function an(a,i){let t=A$1.get(i.key)??0;t<=1?A$1.delete(i.key):A$1.set(i.key,t-1),ea(a);}function At(a,i){return !U&&n.getGeneration()===i.generation&&fe.group===i.resetEpoch&&N[a]===i.epoch}function Gt(a,i){let t=n.getGeneration(),l=fe.group;return i!==void 0?(A$1.get(zn(a,i,t,l))??0)>0:Object.keys(N).some(u=>(A$1.get(zn(a,u,t,l))??0)>0)}async function xe(a,i){let t=Re(a),l=i.trim(),u=An("update-name",t);try{let f=await Ps(n,t,l);if(!At("update-name",u)||!Z(y.value,t))return Br("update-name",t);if(!f.ok)return f;let E=g.value!==null;return E&&xl(t,l),Object.freeze({...f,projectionUpdated:E})}finally{an(t,u);}}async function en(a,i){let t=Re(a),l=An("update-avatar",t);try{let u=await Ms(n,t,i);if(!At("update-avatar",l)||!Z(y.value,t))return Br("update-avatar",t);if(!u.ok)return u;let f=g.value!==null&&u.avatar!==void 0;return f&&zl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{an(t,l);}}async function Gn(a,i){let t=Re(a),l=i.trim(),u=An("set-my-nickname",t);try{let f=await ks(n,t,l);if(!At("set-my-nickname",u)||!Z(y.value,t))return Br("set-my-nickname",t);if(!f.ok)return f;let E=G.value.some(L=>L.userId===f.memberId);return ca(t,f.memberId,l),xa(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:E})}finally{an(t,u);}}async function Dn(a,i,t){let l=Re(a),u=i===4?t?.trim():void 0,f=An("update-verification",l);try{let E=await Os(n,l,i,u);if(!At("update-verification",f)||!Z(y.value,l))return Br("update-verification",l);if(!E.ok)return E;let L=g.value!==null;return L&&Al(l,i,u),Object.freeze({...E,projectionUpdated:L})}finally{an(l,f);}}function uo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function In(a,i,t="profile"){let l=n.getGeneration(),u=fe.channel,f=uo(i,a,t,l,u),E=++Be;return be.set(f,E),ke.set(f,(ke.get(f)??0)+1),Object.freeze({conversation:Re(i),epoch:E,generation:l,resetEpoch:u,key:f})}function yn(a){let i=ke.get(a.key)??0;i<=1?ke.delete(a.key):ke.set(a.key,i-1),be.get(a.key)===a.epoch&&be.delete(a.key),oa(a.conversation);}function ze(a){return !U&&n.getGeneration()===a.generation&&fe.channel===a.resetEpoch&&be.get(a.key)===a.epoch}function sn(a,i,t){let l=`${n.getGeneration()}:${fe.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of ke){let E=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(E)&&(t===void 0||u===`${E}${t.trim()}`))return true}return false}function Yo(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function el(a,i){let t=Re(a);if(ln(t))return tt("update-name",t);let l=i.trim(),u=In("update-name",t);try{let f=await ts(n,t,l);if(!ze(u)||!Z(M.value,t))return Nn("update-name",t);if(!f.ok)return f;let E=T.value!==null;return E&&fa(t,l),Object.freeze({...f,projectionUpdated:E})}finally{yn(u);}}async function nl(a,i){let t=Re(a);if(ln(t))return tt("update-description",t);let l=i.trim(),u=In("update-description",t);try{let f=await rs(n,t,l);if(!ze(u)||!Z(M.value,t))return Nn("update-description",t);if(!f.ok)return f;let E=T.value!==null;return E&&ma(t,l),Object.freeze({...f,projectionUpdated:E})}finally{yn(u);}}async function tl(a,i){let t=Re(a);if(ln(t))return tt("update-avatar",t);let l=In("update-avatar",t);try{let u=await os(n,t,i);if(!ze(l)||!Z(M.value,t))return Nn("update-avatar",t);if(!u.ok)return u;let f=T.value!==null;return f&&pa(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}async function rl(a,i){let t=Re(a),l=i.trim(),u=In("set-my-nickname",t,n.getCredentials().userId);try{let f=await as(n,t,l);return !ze(u)||!Z(M.value,t)?Nn("set-my-nickname",t):f.ok?(ho(t,f.memberId,l,l),Yo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{yn(u);}}async function ol(a,i,t){let l=Re(a);if(ln(l))return tt("set-member-nickname",l);let u=i.trim(),f=t.trim(),E=Ro(l,u),L=In("set-member-nickname",l,u);try{let J=await is(n,l,u,E?.role??"unknown",f);return !ze(L)||!Z(M.value,l)?Nn("set-member-nickname",l):J.ok?(ho(l,J.memberId,f,f),Yo(l,J.memberId,f),Object.freeze({...J,projectionUpdated:!0})):J}finally{yn(L);}}async function al(a,i,t){let l=Re(a);if(ln(l))return tt("update-verification",l);let u=i===4?t?.trim():void 0,f=In("update-verification",l);try{let E=await ss(n,l,i,u);if(!ze(f)||!Z(M.value,l))return Nn("update-verification",l);if(!E.ok)return E;let L=T.value!==null;return L&&va(l,i,u),Object.freeze({...E,projectionUpdated:L})}finally{yn(f);}}async function il(a,i){let t=Re(a);if(ln(t))return tt("set-all-muted",t);let l=In("set-all-muted",t);try{let u=await ls(n,t,i);if(!ze(l)||!Z(M.value,t))return Nn("set-all-muted",t);if(!u.ok)return u;let f=T.value!==null;return f&&Io(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}async function sl(a,i){let t=Re(a);if(ln(t))return tt("set-member-private-chat-disabled",t);let l=In("set-member-private-chat-disabled",t);try{let u=await cs(n,t,i);if(!ze(l)||!Z(M.value,t))return Nn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=T.value!==null;return f&&Io(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}function ll(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function fo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function lr(a,i,t){let l=n.getGeneration(),u=ce[a],f=fo(i,a,l,u),E=ll(i,a,t,l,u),L=++Pe;return pe.set(E,L),q.set(f,(q.get(f)??0)+1),Object.freeze({actionEpoch:L,actionKey:E,generation:l,resetEpoch:u,writeKey:f})}function cr(a,i){let t=q.get(i.writeKey)??0;t<=1?q.delete(i.writeKey):q.set(i.writeKey,t-1),pe.get(i.actionKey)===i.actionEpoch&&pe.delete(i.actionKey),ea(a);}function ur(a,i){return !U&&n.getGeneration()===i.generation&&ce[a]===i.resetEpoch&&pe.get(i.actionKey)===i.actionEpoch}function dr(a,i){let t=n.getGeneration();return i!==void 0?(q.get(fo(a,i,t,ce[i]))??0)>0:Object.keys(ce).some(l=>(q.get(fo(a,l,t,ce[l]))??0)>0)}function cl(a,i){let t=i.trim();t!==""&&qe.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ul(a,i){if(i===null||i.isInGroup===false)return qe.delete(a.conversationId),i;let t=qe.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(qe.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Zo(a){Z(y.value,a)&&pt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!Z(y.value,a)||fr(a);});}function Dt(a){Z(y.value,a)&&Ft(a,{forceRefresh:true});}function ea(a){Gt(a)||dr(a)||(B$1.delete(a.conversationId)&&Dt(a),ie.delete(a.conversationId)&&Oo(a));}function fr(a){Z(y.value,a)&&wa(n,a.conversationId,G.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function dl(a,i){let t=Re(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=lr("invite-members",t,l);try{let f=await Is(n,t,i);if(!ur("invite-members",u))return rt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Z(y.value,t)&&Dt(t),f;if(!Z(y.value,t))return rt("invite-members",t);let E=f.memberIds.some(L=>da(t,L));for(let L of f.memberIds)vo(t,L);return Zo(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{cr(t,u);}}async function fl(a,i){let t=Re(a),l=lr("remove-member",t,i.trim());try{let u=await hs(n,t,i);if(!ur("remove-member",l))return rt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&Z(y.value,t)&&Dt(t),u;if(!Z(y.value,t))return rt("remove-member",t);let f=G.value.some(E=>E.userId===u.memberId);return po(t,u.memberId),Zo(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{cr(t,l);}}async function ml(a,i){let t=Re(a),l=lr("transfer-ownership",t,"group-owner");try{let u=await ys(n,t,i);if(!ur("transfer-ownership",l))return rt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&Z(y.value,t)&&Dt(t),u;if(!Z(y.value,t))return rt("transfer-ownership",t);cl(t,u.ownerId);let f=g.value,E=f!==null;return f!==null&&(g.value=Object.freeze({...f,ownerId:u.ownerId})),Dt(t),Object.freeze({...u,projectionUpdated:E,refreshRequired:!1})}finally{cr(t,l);}}async function pl(a,i={}){let t=Re(a),l=lr("leave",t,"membership");try{let u=await bs(n,t,i);if(!u.ok&&!ur("leave",l))return rt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&Z(y.value,t)&&await Ft(t,{forceRefresh:!0}),u;go(t),ya(n,t.conversationId,{clearCachedNames:!0}),qe.delete(t.conversationId);let f=Z(y.value,t)&&(g.value!==null||G.value.length>0);return Z(y.value,t)&&(y.value=null,g.value=null,G.value=[],W.value=!1,$.value=!1,oe.value=null),Object.freeze({...u,projectionUpdated:f})}finally{cr(t,l);}}function vl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function na(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function dt(a,i,t){let l=n.getGeneration(),u=Ue[a],f=vl(i,a,t,l,u),E=na(i,a,l,u),L=++er;return Cn.set(f,L),un.set(E,(un.get(E)??0)+1),Object.freeze({actionEpoch:L,actionKey:f,conversation:Re(i),writeKey:E,generation:l,resetEpoch:u})}function ft(a){let i=un.get(a.writeKey)??0;i<=1?un.delete(a.writeKey):un.set(a.writeKey,i-1),Cn.get(a.actionKey)===a.actionEpoch&&Cn.delete(a.actionKey),oa(a.conversation);}function mt(a,i){return !U&&n.getGeneration()===i.generation&&Ue[a]===i.resetEpoch&&Cn.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(Ue):[i]).some(u=>(un.get(na(a,u,t,Ue[u]))??0)>0)}function pr(a,i){let t=i.trim();if(t==="")return;let l=Ro(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function gl(a,i){let t=i.trim();t!==""&&mn.set(a.conversationId,{ownerId:t});}function ln(a){let i=mn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ta$1(a,i){if(i===null)return mn.delete(a.conversationId),null;let t=mn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(mn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function Il(a){return !Z(M.value,a)||T.value===null?false:(T.value=ta$1(a,T.value),true)}function hl(a){Z(P.value,a)&&ko(a,{preserveExisting:true});}function _t(a){Z(M.value,a)&&Kt(a,{forceRefresh:true});}function vr(a){_t(a),hl(a);}function yl(a,i,t,l){let u=Rn.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(E=>E.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let E of f)u.userIds.add(E);u.affectsMentions||=i,u.resolvesProfiles||=t,Rn.set(a.conversationId,u);}function ra$1(a,i){let t=Rn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&Rn.delete(a.conversationId);}}function oa(a){if(sn(a)||mr(a))return;En.delete(a.conversationId)&&ba(a);let i=Rn.get(a.conversationId);if(i===void 0)return;Rn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?xn(a,t):ct(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&<(a,t,{forceRefresh:true}),hr(a);}function bl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function aa(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function Cl(a,i){let t=Re(a);if(ln(t))return Yt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=dt("invite-members",t,l);try{let f=await Bi(n,t,i);if(!mt("invite-members",u))return bn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&_t(t),f;if(!Z(M.value,t))return bn("invite-members",t);let E=f.memberIds.some(L=>Co(t,L));for(let L of f.memberIds)bo(t,L);return xn(t,f.memberIds),ra$1(t,f.memberIds),vr(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{ft(u);}}async function Rl(a,i){let t=Re(a);if(ln(t))return Yt("remove-member",t);let l=pr(t,i),u=dt("remove-member",t,i.trim());try{let f=await Wi(n,t,l??{userId:i,role:"unknown"});if(!mt("remove-member",u))return bn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&_t(t),f;if(!Z(M.value,t))return bn("remove-member",t);let E=bl(t,f.memberId),L=O.value.some(J=>J.userId===f.memberId)||Ce.value.some(J=>J.userId===f.memberId)||E;return yo(t,f.memberId),xn(t,[f.memberId]),ra$1(t,[f.memberId]),vr(t),Object.freeze({...f,projectionUpdated:L,refreshRequired:!1})}finally{ft(u);}}async function Pl(a,i,t){let l=Re(a),u=pr(l,i),f=t?"add-admin":"remove-admin";if(ln(l))return Yt(f,l);let E=dt(f,l,i.trim());try{let L=t?await Ji(n,l,u??{userId:i,role:"unknown"}):await Xi(n,l,u??{userId:i,role:"unknown"});if(!mt(f,E))return bn(f,l);if(!L.ok)return L.outcome!=="stale"&&_t(l),L;if(!Z(M.value,l))return bn(f,l);let J=t?"admin":"member",Ee=u?.role!==J;return qn(l,L.memberId,J),vr(l),Object.freeze({...L,projectionUpdated:Ee,refreshRequired:!1})}finally{ft(E);}}async function kl(a,i){let t=Re(a);if(ln(t))return Yt("transfer-ownership",t);let l=pr(t,i),u=dt("transfer-ownership",t,"channel-owner");try{let f=await Yi(n,t,l??{userId:i,role:"unknown"});if(!mt("transfer-ownership",u))return bn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&_t(t),f;if(!Z(M.value,t))return bn("transfer-ownership",t);gl(t,f.ownerId);let E=Il(t);return qn(t,f.ownerId,"owner"),qn(t,n.getCredentials().userId,"member"),vr(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{ft(u);}}async function Ol(a,i={}){let t=Re(a),l=i.newOwnerId===void 0?void 0:pr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=dt("leave",t,"membership");try{let f=await Zi(n,t,l);if(!f.ok&&!mt("leave",u))return bn("leave",t);if(!f.ok)return f;let E=Z(M.value,t)&&(T.value!==null||O.value.length>0||Ce.value.length>0);return gr(t),mn.delete(t.conversationId),aa(t),Z(M.value,t)&&yr(),Object.freeze({...f,projectionUpdated:E})}finally{ft(u);}}async function Ml(a){let i=Re(a);if(ln(i))return Yt("dismiss",i);let t=dt("dismiss",i,"membership");try{let l=await es(n,i);if(!l.ok&&!mt("dismiss",t))return bn("dismiss",i);if(!l.ok)return l;let u=Z(M.value,i)&&(T.value!==null||O.value.length>0||Ce.value.length>0);return gr(i),mn.delete(i.conversationId),aa(i),Z(M.value,i)&&yr(),Object.freeze({...l,projectionUpdated:u})}finally{ft(t);}}async function Ft(a,i={}){let t=Re(a),l=++ge,u=fe.group,f=n.getGeneration(),E=!Z(y.value,t);y.value=t,E&&(g.value=null,fn+=1,G.value=[],$.value=false),W.value=true,oe.value=null;try{let L=i.forceRefresh===!0?null:await Ts(n,t);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(L!==null&&(g.value=L),i.restricted===!0)return i.includeMembers===!0&&await pt(t,{restricted:!0,forceRefresh:!0}),h(t,f,l,u)?(W.value=!1,g.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let J=await js(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 Ee=ul(t,J);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ee?.ref.conversationId??null,name:Ee?.name??null,isInGroup:Ee?.isInGroup??null,verifyWay:Ee?.verifyWay??null,memberCount:Ee?.memberCount??null,membershipDecision:Ee?.isInGroup===!0?"joined":Ee?.isInGroup===!1?"not-joined":"unknown"}})),Ee===null||Ee.isInGroup===!1?(fn+=1,G.value=[],$.value=!1,go(t),ya(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await pt(t,{restricted:!1,forceRefresh:!0}),h(t,f,l,u)?(g.value=Ee,W.value=!1,Object.freeze(Ee===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let J=$e(L,"profile.group",t);return i.forceRefresh===true&&(g.value=null,fn+=1,G.value=[],$.value=false),oe.value=J,W.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:J})}}async function pt(a,i={}){let t=Re(a);if(Z(y.value,t)||(y.value=t,G.value=[]),Z(y.value,t)&&g.value?.ref.conversationId===t.conversationId&&g.value.isInGroup===false)return fn+=1,G.value=[],$.value=false,Object.freeze({ok:true,operation:"group-members"});if(G.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++fn,u=n.getGeneration();$.value=true;try{let f=i.preserveExisting===!0?null:await xs(n,t);if(U||n.getGeneration()!==u||l!==fn||!Z(y.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let E=f===null?null:Xe(Pn,t.conversationId,f.items);if(E!==null&&(G.value=ir(t.conversationId,E),fr(t)),i.restricted===!0||i.forceRefresh!==!0&&E!==null&&E.length>0)return $.value=!1,Object.freeze({ok:!0,operation:"group-members"});let L=await zs(n,t);return U||n.getGeneration()!==u||l!==fn||!Z(y.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(L!==null&&(G.value=ir(t.conversationId,Xe(Pn,t.conversationId,L),{reconcile:!0}),fr(t)),$.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==fn||!Z(y.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let E=$e(f,"profile.group-members",t);return oe.value=E,$.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:E})}}async function Kt(a,i){let t=Re(a),l=++ge,u=fe.channel,f=n.getGeneration(),E=!Z(M.value,t);M.value=t,E&&(T.value=null,$n(t)),Q.value=true,ee.value=null;try{let L=await As(n,t,i);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let J=ta$1(t,L);return T.value=J,J!==null&&Z(P.value,t)&&(O.value=Ye(t.conversationId,O.value)),J===null?(gr(t),$n()):J.canViewMembers!==!0&&$n(),Q.value=!1,Object.freeze(J===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(L){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let J=$e(L,"profile.channel",t);return i?.forceRefresh===true&&(T.value=null,$n()),ee.value=J,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:J})}}async function Sl(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,E=++nr,L=n.getGeneration(),J=fe[t.conversationType];dn.set(f,E);let Ee=()=>!U&&n.getGeneration()===L&&fe[t.conversationType]===J&&dn.get(f)===E&&(t.conversationType==="group"?Z(y.value,t):Z(M.value,t));try{let cn=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);return Ee()?(cn.outcome==="joined"&&(t.conversationType==="group"?await Ft(t,{forceRefresh:!0}):await Kt(t,{forceRefresh:!0})),Ee()?Object.freeze({ok:!0,operation:l,outcome:cn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(cn){return Ee()?Object.freeze({ok:false,operation:l,reason:"failed",error:$e(cn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{dn.get(f)===E&&dn.delete(f);}}async function ia(a,i,t){let l=ae[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?Ln.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++it[a],E=n.getGeneration();l.loading=true,l.error=null;try{let L=await Gs(n,a,u);return U||E!==n.getGeneration()||f!==it[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ls(i?l.items:[],L.items),l.loaded=!0,l.exhausted=L.exhausted,l.loading=!1,L.nextPageToken===void 0?Ln.delete(a):Ln.set(a,L.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(L){if(U||E!==n.getGeneration()||f!==it[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let J=$e(L,`directory.${a}`);return l.error=J,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:J})}}function El(a,i=false){return ia(a,i,false)}function Tl(a){return ia(a,false,true)}function sa(){kn!==void 0&&(clearTimeout(kn),kn=void 0),jn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),jn=void 0;}async function jl(a,i){let t=n.getGeneration();try{let l=await Ds(n,a);return U||t!==n.getGeneration()||i!==Un?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(C$1.value=l,z$1.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==Un)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=$e(l,"directory.search");return K.value=u,z$1.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function mo(){Un+=1,sa(),te.value="",C$1.value=null,z$1.value=false,K.value=null,wn=void 0;}function wl(a,i={}){let t=a.trim();if(t==="")return mo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&jn?.keyword===t)return jn.promise;if(wn?.keyword===t)return wn.promise;if(!i.immediate&&te.value===t&&C$1.value?.keyword===t.toLocaleLowerCase()&&K.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Un;sa(),te.value=t,C$1.value=null,z$1.value=true,K.value=null;let u=()=>{let L=jl(t,l);return wn={keyword:t,promise:L},L.finally(()=>{wn?.promise===L&&(wn=void 0);}),L};if(i.immediate)return u();let f,E=new Promise(L=>{f=L;});return jn={keyword:t,promise:E,resolve:f},kn=setTimeout(()=>{kn=void 0,jn=void 0,u().then(f);},300),E}function la(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function xl(a,i){!Z(y.value,a)||g.value===null||(g.value=Object.freeze({...g.value,name:i}));}function zl(a,i){!Z(y.value,a)||g.value===null||(g.value=Object.freeze({...g.value,avatar:i}));}function Al(a,i,t){if(!Z(y.value,a)||g.value===null)return;let{inviteCode:l,...u}=g.value;g.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ca(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=We.get(a.conversationId)??new Map;f.set(l,u),We.set(a.conversationId,f),Z(y.value,a)&&(G.value=Object.freeze(G.value.map(E=>E.userId===l?Object.freeze({...E,nickname:u}):E)));}function ua$1(a,i){zt(a.conversationId,i);}function po(a,i){let t=i.trim();if(t===""||(zt(a.conversationId,t),or(Pn,a.conversationId,t),!Z(y.value,a)))return;let l=G.value.filter(f=>f.userId!==t),u=l.length!==G.value.length;u&&(G.value=Object.freeze(l),fr(a)),u&&g.value!==null&&g.value.memberCount!==void 0&&(g.value=Object.freeze({...g.value,memberCount:Math.max(0,g.value.memberCount-1)}));}function vo(a,i){zt(a.conversationId,i),ar(Pn,a.conversationId,i);}function da(a,i){return xt(Pn,a.conversationId,i)}function go(a){Pn.delete(a.conversationId),We.delete(a.conversationId);}function fa(a,i){!Z(M.value,a)||T.value===null||(T.value=Object.freeze({...T.value,name:i}));}function ma(a,i){!Z(M.value,a)||T.value===null||(T.value=Object.freeze({...T.value,description:i}));}function pa(a,i){!Z(M.value,a)||T.value===null||(T.value=Object.freeze({...T.value,avatar:i}));}function va(a,i,t){if(!Z(M.value,a)||T.value===null)return;let{inviteCode:l,...u}=T.value;T.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Io(a,i){if(!Z(M.value,a)||T.value===null)return;let t={...T.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};T.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ho(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),E=f||l?.trim()||u,L=Ve.get(a.conversationId)??new Map;L.set(u,{nickname:f,displayName:E}),Ve.set(a.conversationId,L),Tn.value+=1,Z(P.value,a)&&(O.value=Ye(a.conversationId,O.value)),Vn(a,u)&&(F.value=Ye(a.conversationId,F.value===null?[]:[F.value])[0]??null),Z(ue.value,a)&&(Ce.value=Object.freeze(Ce.value.map(J=>J.userId===u?Object.freeze({...J,displayName:E}):J)));}function qn(a,i,t){let l=i.trim();if(l==="")return;let u=pn.get(a.conversationId)??new Map;u.set(l,t),pn.set(a.conversationId,u),Z(P.value,a)&&(O.value=Ye(a.conversationId,O.value)),Vn(a,l)&&(F.value=Ye(a.conversationId,F.value===null?[]:[F.value])[0]??null);}function ga(a,i){d(a.conversationId,i);}function Gl(a,i){return Tn.value,Ve.get(a.conversationId)?.get(i.trim())?.nickname}function yo(a,i){let t=i.trim();if(t==="")return;let l=Z(P.value,a),u=Z(ue.value,a);if(d(a.conversationId,t),v(a.conversationId,t),or(Ge,a.conversationId,t),!l&&!u)return;let f=l&&O.value.some(L=>L.userId===t),E=u&&Ce.value.some(L=>L.userId===t);l&&(O.value=Object.freeze(O.value.filter(L=>L.userId!==t))),u&&(Ce.value=Object.freeze(Ce.value.filter(L=>L.userId!==t))),Vn(a,t)&&(F.value=null),(f||E)&&Z(M.value,a)&&T.value?.memberCount!==void 0&&(T.value=Object.freeze({...T.value,memberCount:Math.max(0,T.value.memberCount-1)}));}function bo(a,i){d(a.conversationId,i),v(a.conversationId,i),ar(Ge,a.conversationId,i);}function Co(a,i){return xt(Ge,a.conversationId,i)}function gr(a){Ge.delete(a.conversationId),pn.delete(a.conversationId),Ve.delete(a.conversationId)&&(Tn.value+=1);}function Mn(a,i,t){return !U&&n.getGeneration()===i&&On===t&&Z(P.value,a)}function Vn(a,i,t,l){let u=de.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||at===l)&&u!==null&&Z(u,a)&&u.userId===i}function Ro(a,i){let t=i.trim();if(t!==""){if(Z(P.value,a)){let l=O.value.find(u=>u.userId===t);if(l!==void 0)return l}return Vn(a,t)?F.value??void 0:void 0}}async function Dl(a,i,t={forceRefresh:true}){let l=Re(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++at,E=n.getGeneration();de.value=Object.freeze({...l,userId:u}),F.value=null,Y.value=true,me.value=null;try{let L=await Fs(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Vn(l,u,E,f)?L===null||Co(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(F.value=Ye(l.conversationId,[L])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(L){if(!Vn(l,u,E,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let J=$e(L,"profile.channel-member",l);return me.value=J,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:J})}finally{Vn(l,u,E,f)&&(Y.value=false);}}async function Po(a,i,t){S.value=true,le.value=null;try{let l=await Ks(n,a,b.value);return Mn(a,i,t)?(sr(a.conversationId,l.items),p(a.conversationId,l.items),O.value=Ye(a.conversationId,Xe(Ge,a.conversationId,l.items)),rn=l.nextCursor,V.value=l.exhausted||l.nextCursor===void 0,hn=void 0,S.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Mn(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=$e(l,"profile.channel-members.refresh",a);return hn="initial",le.value=u,S.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function Ia(a){if(S.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Re(a),t=On,l=n.getGeneration();S.value=true,le.value=null;try{let u=await Wo(n,i,b.value);return Mn(i,l,t)?(u!==null&&(O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,u.items)),rn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0),await Po(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!Mn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=$e(u,"profile.channel-members.cache",i);return hn="initial",le.value=f,S.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ha(a){if(S.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(V.value||rn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Re(a),t=On,l=n.getGeneration();S.value=true,le.value=null;try{let u=await _s(n,i,{query:b.value,cursor:rn});return Mn(i,l,t)?(sr(i.conversationId,u.items),p(i.conversationId,u.items),O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,la(O.value,u.items))),rn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0,hn=void 0,S.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!Mn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=$e(u,"profile.channel-members.page",i);return hn="more",le.value=f,S.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function $n(a=null){on!==void 0&&(clearTimeout(on),on=void 0),On+=1,P.value=a===null?null:Re(a),O.value=[],b.value="",S.value=false,V.value=false,le.value=null,rn=void 0,hn=void 0;}function ko(a,i={}){let t=Re(a);if(i.preserveExisting===true&&Z(P.value,t)){on!==void 0&&(clearTimeout(on),on=void 0);let l=++On,u=n.getGeneration();return le.value=null,Po(t,u,l)}return $n(t),Ia(t)}function _l(a){let i=P.value;if(i===null)return;b.value=a,On+=1,O.value=[],V.value=false,le.value=null,rn=void 0,S.value=false,on!==void 0&&clearTimeout(on);let t=On,l=n.getGeneration();(async()=>{try{let u=await Wo(n,i,b.value);if(!Mn(i,l,t))return;u!==null&&(O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,u.items)),rn=u.nextCursor,V.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!Mn(i,l,t))return;le.value=$e(u,"profile.channel-members.cache",i);}Mn(i,l,t)&&(on=setTimeout(()=>{on=void 0,Po(i,l,t);},300));})();}function Fl(){let a=P.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ha(a)}function Kl(){let a=P.value;return a===null||hn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):hn==="more"?ha(a):Ia(a)}function _n(a,i,t){return !U&&n.getGeneration()===i&&vn===t&&Z(ue.value,a)}async function Ht(a,i={}){if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Re(a),l=vn,u=n.getGeneration();Te.value=true,_.value=null;try{let f=i.useCache===!1?null:await Jo(n,t,Oe.value||void 0);if(!_n(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(Ce.value=ut(t.conversationId,Xe(Ge,t.conversationId,f.items)),gn=f.nextPageToken,we.value=f.exhausted||f.nextPageToken===void 0);let E=await Hs(n,t,Oe.value||void 0);return _n(t,u,l)?(Ce.value=ut(t.conversationId,Xe(Ge,t.conversationId,E.items)),gn=E.nextPageToken,we.value=E.exhausted||E.nextPageToken===void 0,Je=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!_n(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let E=$e(f,"profile.channel-mentions",t);return Je="initial",_.value=E,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:E})}}async function ya$1(){let a=ue.value,i=gn;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(we.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=vn,l=n.getGeneration();Te.value=true,_.value=null;try{let u=await Ns(n,Oe.value,i);return _n(a,l,t)?(Ce.value=ut(a.conversationId,Xe(Ge,a.conversationId,la(Ce.value,u.items))),gn=u.nextPageToken,we.value=u.exhausted||u.nextPageToken===void 0,Je=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!_n(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=$e(u,"profile.channel-mentions.page",a);return Je="more",_.value=f,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function Ir(a=null,i=""){Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,ue.value=a===null?null:Re(a),Ce.value=[],Oe.value=i,Te.value=false,we.value=false,_.value=null,gn=void 0,Je=void 0;}function Hl(a,i=""){return Z(ue.value,a)&&Oe.value===i?(Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,Te.value=false,_.value=null,gn=void 0,Je=void 0,Ht(a,{useCache:false})):(Ir(a,i),Ht(a))}function Nl(a){let i=ue.value;if(i===null)return;Ir(i,a);let t=vn,l=n.getGeneration();(async()=>{try{let u=await Jo(n,i,a||void 0);if(!_n(i,l,t))return;u!==null&&(Ce.value=ut(i.conversationId,Xe(Ge,i.conversationId,u.items)),gn=u.nextPageToken,we.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!_n(i,l,t))return;_.value=$e(u,"profile.channel-mentions.cache",i);}_n(i,l,t)&&(Qe=setTimeout(()=>{Qe=void 0,Ht(i);},300));})();}function Ll(){let a=ue.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,Te.value=false,_.value=null,gn=void 0,we.value=false,Je=void 0,Ht(a,{useCache:false}))}function Ul(){let a=ue.value;return a===null||Je===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):Je==="more"?ya$1():Ht(a)}function Oo(a){Z(y.value,a)&&(st(a,{forceRefresh:true}),pt(a,{forceRefresh:true,preserveExisting:true}));}function hr(a){Z(P.value,a)&&ko(a,{preserveExisting:true});}async function ba(a){if(!Z(M.value,a))return;(await Kt(a,{forceRefresh:true})).ok&&T.value?.canViewMembers===true&&hr(a);}function ql(a){if(a.type==="profile:updated"){if(a.profileType==="user")rr(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&R({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let J={conversationType:"group",conversationId:a.id};if(Gt(J)||dr(J)){B$1.add(J.conversationId);return}Z(y.value,J)?Ft(J,{includeMembers:true,forceRefresh:true}):st(J,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let J={conversationType:"channel",conversationId:a.channelId};sn(J)||mr(J)?En.add(J.conversationId):ba(J);return}if(a.type==="sync:complete"){for(let J of a.conversations)if(J.conversationType==="group"){let Ee={conversationType:"group",conversationId:J.conversationId};Z(y.value,Ee)&&Oo(Ee);}else if(J.conversationType==="channel"){let Ee={conversationType:"channel",conversationId:J.conversationId};(Z(M.value,Ee)||Z(P.value,Ee)||Z(ue.value,Ee))&&(xn(Ee),hr(Ee));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Fu.has(t)){let J={conversationType:"group",conversationId:i.conversationId},Ee=(a.source??"live")==="live",cn=t==="group_member_renamed"&&l.some(Fn=>Fn.trim()===u)&&Gt(J,"set-my-nickname"),Wl=t==="group_member_renamed"&&!cn;if(t==="group_member_renamed"){cn||va$1(n,i);for(let Fn of l)cn&&Fn.trim()===u||ua$1(J,Fn);}if(t==="group_member_joined"||t==="group_member_invited")for(let Fn of l)vo(J,Fn);if(Ee&&(t==="group_member_left"||t==="group_member_removed"))for(let Fn of l)po(J,Fn);if(dr(J)){ie.add(J.conversationId);return}Ee&&!cn&&(Wl?Z(y.value,J)&&pt(J,{forceRefresh:true,preserveExisting:true}):Oo(J));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Ku.has(t)||!f)return;let E={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(J=>sn(E,J.trim()===u?"set-my-nickname":"set-member-nickname",J)))){if(t==="channel_member_renamed")for(let J of l)ga(E,J);if(t==="channel_admin_added"||t==="channel_admin_removed"){let J=t==="channel_admin_added"?"admin":"member";for(let Ee of l)qn(E,Ee,J);}if(t==="channel_owner_transferred"){for(let Ee of l)qn(E,Ee,"owner");let J=i.body.system?.operatorId;J!==void 0&&!l.includes(J)&&qn(E,J,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let J of l)bo(E,J);if(t==="channel_member_left"||t==="channel_member_removed")for(let J of l)yo(E,J);if(mr(E)){yl(E,Us.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Us.has(t)?xn(E,l):ct(E,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&<(E,l,{forceRefresh:true}),hr(E);}}let Vl=n.subscribeProfileChange(()=>{o.value+=1;}),$l=n.subscribeEvents(ql);function Ca(){k["set-remark"]+=1,k.block+=1,k.report+=1,k["delete-friendship"]+=1,fe.direct+=1,c.value=null,m.value=null,I.value="unknown",w.value=false,x.value=null,_e+=1,H.value=[],D$1.value=false,X.value=null;}function Ra(){for(let a of Object.keys(N))N[a]+=1;for(let a of Object.keys(ce))ce[a]+=1;A$1.clear(),q.clear(),pe.clear(),B$1.clear(),ie.clear(),fe.group+=1,fn+=1,y.value=null,g.value=null,G.value=[],W.value=false,$.value=false,oe.value=null;}function yr(){for(let a of Object.keys(Ue))Ue[a]+=1;un.clear(),Cn.clear(),ke.clear(),be.clear(),En.clear(),Rn.clear(),fe.channel+=1,M.value=null,T.value=null,Q.value=false,ee.value=null,at+=1,de.value=null,F.value=null,Y.value=false,me.value=null,$n(),Ir();}function Pa(){Ca(),k["search-user"]+=1,k["resolve-application-target"]+=1,k["request-friendship"]+=1,Ra(),yr(),dn.clear();for(let a of ["individual","group","channel"])it[a]+=1,Object.assign(ae[a],Wr());Ln.clear(),mo(),Pn.clear(),qe.clear(),Ge.clear(),mn.clear(),We.clear(),pn.clear(),ve.clear(),s.value={},Ve.size>0&&(Ve.clear(),Tn.value+=1);}function Bl(){U||(Pa(),U=true,A$1.clear(),q.clear(),pe.clear(),ke.clear(),be.clear(),un.clear(),Cn.clear(),Vl(),$l(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:I,directLoading:w,directError:x,directMutualGroups:H,directMutualGroupsLoading:D$1,directMutualGroupsError:X,groupRef:y,groupProfile:g,groupMembers:G,groupLoading:W,groupMembersLoading:$,groupError:oe,channelRef:M,channelProfile:T,channelLoading:Q,channelError:ee,directories:ae,directorySearchKeyword:te,directorySearchResult:C$1,directorySearchLoading:z$1,directorySearchError:K,channelMembersRef:P,channelMembers:O,channelMemberQuery:b,channelMembersLoading:S,channelMembersExhausted:V,channelMembersError:le,channelMemberDetailRef:de,channelMemberDetail:F,channelMemberDetailLoading:Y,channelMemberDetailError:me,channelMentionsRef:ue,channelMentions:Ce,channelMentionQuery:Oe,channelMentionsLoading:Te,channelMentionsExhausted:we,channelMentionsError:_,resolveDisplayName:lo,resolveAvatarUrl:tr,resolvePublicNickname:co,resolveSenderProfile:rr,resolveGroupMemberProfiles:st,resolveChannelMemberProfiles:lt,invalidateChannelMemberProfiles:ct,invalidateChannelMemberSet:xn,channelMentionRevision:so,loadDirect:R,resolveProfileAccess:j,loadDirectMutualGroups:re,setDirectContactRemark:Ie,blockDirectContact:he,reportDirectContact:Ae,deleteDirectFriendship:Fe,searchDirectContact:je,resolveDirectContactTarget:He,requestDirectFriendship:Ze,loadGroup:Ft,updateGroupName:xe,updateGroupAvatar:en,setMyGroupNickname:Gn,updateGroupVerification:Dn,isGroupProfileWritePending:Gt,inviteGroupMembers:dl,removeGroupMember:fl,transferGroupOwnership:ml,leaveGroup:pl,isGroupMemberManagementPending:dr,ensureGroupMembers:pt,loadChannel:Kt,requestMembershipJoin:Sl,updateChannelName:el,updateChannelDescription:nl,updateChannelAvatar:tl,setMyChannelNickname:rl,setChannelMemberNickname:ol,updateChannelVerification:al,setChannelAllMuted:il,setChannelMemberPrivateChatDisabled:sl,isChannelProfileWritePending:sn,inviteChannelMembers:Cl,removeChannelMember:Rl,setChannelMemberAdmin:Pl,transferChannelOwnership:kl,leaveChannel:Ol,dismissChannel:Ml,isChannelMemberManagementPending:mr,loadDirectory:El,refreshDirectory:Tl,searchDirectory:wl,clearDirectorySearch:mo,openChannelMembers:ko,getChannelMember:Ro,loadChannelMember:Dl,setChannelMemberQuery:_l,loadMoreChannelMembers:Fl,retryChannelMembers:Kl,resetChannelMembers:$n,updateGroupMemberNicknameProjection:ca,clearGroupMemberNicknameProjection:ua$1,removeGroupMemberProjection:po,restoreGroupMemberProjection:vo,isGroupMemberRemovedProjection:da,clearGroupMemberProjections:go,updateChannelNameProjection:fa,updateChannelDescriptionProjection:ma,updateChannelAvatarProjection:pa,updateChannelVerificationProjection:va,updateChannelManagementProjection:Io,updateChannelMemberDisplayNameProjection:ho,updateChannelMemberRoleProjection:qn,clearChannelMemberDisplayNameProjection:ga,channelMemberNicknameProjection:Gl,removeChannelMemberProjection:yo,restoreChannelMemberProjection:bo,isChannelMemberRemovedProjection:Co,clearChannelMemberProjections:gr,openChannelMentions:Hl,setChannelMentionQuery:Nl,loadMoreChannelMentions:ya$1,refreshChannelMentions:Ll,retryChannelMentions:Ul,resetChannelMentions:Ir,resetDirect:Ca,resetGroup:Ra,resetChannel:yr,reset:Pa,dispose:Bl}})}var qs=new WeakMap,Qr=new WeakMap;function Lu(e=Me()){ye(e);let n=qs.get(e);n===void 0&&(n=Nu(e),qs.set(e,n));let r=n(e);return Qr.get(e)!==r&&(Qr.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),Qr.get(e)===r&&Qr.delete(e);})),r}var Yr=new WeakMap,Bu=Object.freeze({status:"loading",message:null}),Vs=Object.freeze({status:"missing",message:null});function Jr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Xo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function Wu(e){return defineStore("k2-im-quoted-message",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef({}),c=new Set,m=new Set,I=0,w=new Map,x=false,H=false,D=false,X=computed(()=>{let z=new Map;for(let K of o.messages)z.set(K.id,K);return z});function y(){I+=1,c.clear(),w.clear(),m=new Set,D=false,s.value={};}let g=watch(()=>Jr(o.activeRef),(z,K)=>{z!==K&&y();},{flush:"sync"}),G=n.subscribeEvents(z=>{x||z.type!=="connection:changed"||z.state!=="authenticated"||ae();});function W(z){let K=z.trim();if(K==="")return Vs;let P=X.value.get(K);return P!==void 0?Object.freeze({status:"ready",message:P}):s.value[K]??Bu}function $(z,K){if(z.length===0)return;let P={...s.value},O=false;for(let[b,S]of z)K.get(b)===(w.get(b)??0)&&(P[b]=S,O=true);O&&(s.value=P);}async function oe(z){let K=I,P=new Map(z.map(F=>[F,w.get(F)??0])),O=n.getGeneration(),b=o.getHandle(),S=Jr(o.activeRef);if(b===void 0||Jr(b.ref)!==S)return;let V=()=>!x&&I===K&&n.getGeneration()===O&&o.getHandle()===b&&Jr(o.activeRef)===S,le=[],de=[];try{let F=await Promise.all(z.map(async Y=>({messageId:Y,message:await b.resolveMessage(Y)})));if(!V())return;for(let{messageId:Y,message:me}of F)me===null?de.push(Y):le.push([Y,Object.freeze({status:"ready",message:me})]);}catch(F){if(!V())return;$(z.map(Y=>[Y,Object.freeze({status:"failed",message:null,retryable:true})]),P),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:O,conversation:{...b.ref},data:{requestedCount:z.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:F}}));return}if($(le,P),de.length!==0)try{let F=await b.messages.fetchByIds(de);if(!V())return;let Y=[];for(let ue of F.messages)Y.push([ue.id,Object.freeze({status:"ready",message:ue})]);for(let ue of F.missingMessageIds)Y.push([ue,Vs]);let me=F.failure?.retryable??!0;for(let ue of F.unresolvedMessageIds)Y.push([ue,Object.freeze({status:"failed",message:null,retryable:me})]);$(Y,P),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:O,conversation:{...b.ref},data:{requestedCount:de.length,resolvedCount:F.messages.length,missingCount:F.missingMessageIds.length,unresolvedCount:F.unresolvedMessageIds.length,retryable:F.failure?.retryable}}));}catch(F){if(!V())return;$(de.map(Y=>[Y,Object.freeze({status:"failed",message:null,retryable:false})]),P),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:O,conversation:{...b.ref},data:{requestedCount:de.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:F}}));}}function M(){let z=[];for(let K of m)X.value.has(K)||c.has(K)||s.value[K]===void 0&&z.push(K);return z}function T(){if(x)return;if(H){D=true;return}let z=M();if(z.length!==0){H=true;for(let K of z)c.add(K);oe(z).catch(K=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:z.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:K}}));}).finally(()=>{for(let K of z)c.delete(K);H=false,D&&(D=false,T());});}}function Q(z){if(x)return;m=new Set(Xo(z));let K=Object.fromEntries(Object.entries(s.value).filter(([P])=>m.has(P)&&!X.value.has(P)));Object.keys(K).length!==Object.keys(s.value).length&&(s.value=K),T();}function ee(z){if(x)return;let K=Xo(z).filter(O=>s.value[O]!==void 0);if(K.length===0)return;let P={...s.value};for(let O of K)delete P[O],c.delete(O),w.set(O,(w.get(O)??0)+1);s.value=P,T();}function ae(z){if(x)return;let P=(z===void 0?[...m]:Xo(z)).filter(b=>{let S=s.value[b];return S?.status==="failed"&&S.retryable});if(P.length===0)return;let O={...s.value};for(let b of P)delete O[b],c.delete(b),w.set(b,(w.get(b)??0)+1);s.value=O,T();}function te(){y();}function C(){x||(x=true,g(),G(),y());}return Yr.set(e,Object.freeze({dispose:C})),{lookup:W,prefetch:Q,retry:ae,invalidate:ee,reset:te}})}var $s=new WeakMap,Xr=new WeakMap;function Qu(e=Me()){ye(e);let n=$s.get(e);n===void 0&&(n=Wu(e),$s.set(e,n));let r=n(e),o=Yr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Xr.get(e)!==r&&(Xr.set(e,r),Se(e,()=>{o.dispose(),r.$dispose(),Xr.get(e)===r&&(Xr.delete(e),Yr.get(e)===o&&Yr.delete(e));})),r}var no=new WeakMap;function Zr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function ed(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function nd(e,n){return ed(e)?Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}):Object.freeze({code:"IM_CHAT_KIT_REACTION_OPERATION_FAILED",category:"state",operation:`reaction.${n}`,retryable:false})}function td(e){return defineStore("k2-im-reaction",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=false,I=0,w=new Map;function x(){I+=1,w.clear(),s.value=[],c.value=null;}let H=watch(()=>Zr(o.activeRef),(M,T)=>{M!==T&&x();},{flush:"sync"});function D(M,T){let Q=o.activeRef,ee=o.getHandle(),ae=Zr(Q);if(m||Q===null||ee===void 0||Zr(ee.ref)!==ae||!o.messages.some(C=>C.id===M))return Object.freeze({ok:false,operation:T,reason:"not-ready"});if(w.has(M))return Object.freeze({ok:false,operation:T,reason:"busy"});let te=Symbol(M);return w.set(M,te),s.value=Object.freeze([...w.keys()]),{generation:n.getGeneration(),contextEpoch:I,handle:ee,conversationKey:ae,token:te}}function X(M){return !m&&M.contextEpoch===I&&M.generation===n.getGeneration()&&o.getHandle()===M.handle&&Zr(o.activeRef)===M.conversationKey}function y(M,T){w.get(M)===T&&(w.delete(M),s.value=Object.freeze([...w.keys()]));}async function g(M,T,Q){let ee=D(M,T);if(!("handle"in ee))return ee;try{let ae=await Q(ee.handle);return X(ee)?(c.value=null,r.record("debug","pinia","message",`reaction-${T}-settled`,()=>({generation:ee.generation,conversation:{...ee.handle.ref},messageId:M,result:{ok:!0,action:ae.action}})),Object.freeze({ok:!0,operation:T,change:ae})):Object.freeze({ok:!1,operation:T,reason:"stale"})}catch(ae){if(!X(ee))return Object.freeze({ok:false,operation:T,reason:"stale"});let te=nd(ae,T);return c.value=te,r.record("error","pinia","message",`reaction-${T}-settled`,()=>({generation:ee.generation,conversation:{...ee.handle.ref},messageId:M,result:{ok:false,reason:"sdk-rejected",error:te}})),Object.freeze({ok:false,operation:T,reason:"sdk-rejected",error:te})}finally{y(M,ee.token);}}function G(M,T){return g(M,"toggle",Q=>Q.messages.toggleReaction(M,T))}function W(M,T,Q){return g(M,"set",ee=>ee.messages.setReaction(M,T,Q))}function $(){x();}function oe(){m||(m=true,H(),x());}return no.set(e,Object.freeze({dispose:oe})),{operatingMessageIds:s,error:c,toggle:G,set:W,reset:$}})}var Bs=new WeakMap,eo=new WeakMap;function rd(e=Me()){ye(e);let n=Bs.get(e);n===void 0&&(n=td(e),Bs.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return eo.get(e)!==r&&(eo.set(e,r),Se(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}function to(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function sd(e){let n=Me(e),r=ye(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let te=new Map;for(let C of o.value)C.msgId!==""&&C.collectId!==""&&te.set(C.msgId,C.collectId);return te}),I=false,w=0,x=0,H,D;function X(){w+=1,x+=1,o.value=[],s.value=false,c.value=null;}function y(te){return {client:te,generation:r.getGeneration(),stateEpoch:w}}function g(te){return !I&&te.client===r.getProductClient()&&te.generation===r.getGeneration()&&te.stateEpoch===w}function G(te){return m.value.get(te.trim())??""}function W(te){return G(te)!==""}async function $(){if(I)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let te=++x,C;try{C=y(r.ensureProductClient()),ae(C.client);}catch(z){let K=to(z,"reload");return c.value=K,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:K})}s.value=true,c.value=null;try{let z=await C.client.sessionFavorites.list();return te!==x||!g(C)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=z,Object.freeze({ok:!0,operation:"reload"}))}catch(z){if(te!==x||!g(C))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let K=to(z,"reload");return c.value=K,Object.freeze({ok:false,operation:"reload",reason:"failed",error:K})}finally{te===x&&g(C)&&(s.value=false);}}function oe(){x+=1,s.value=false;}async function M(te){if(I)return Object.freeze({ok:false,operation:"add",reason:"stale"});let C;try{C=y(r.ensureProductClient()),ae(C.client);let z=await C.client.sessionFavorites.addFromMessage(te);return g(C)?(oe(),o.value=Object.freeze([z,...o.value.filter(K=>K.collectId!==z.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:z.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(z){return Object.freeze({ok:false,operation:"add",reason:"failed",error:to(z,"add")})}}async function T(te){if(I)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let C=[...new Set(te.map(z=>z.trim()).filter(z=>z!==""))];if(C.length===0)return Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})});try{let z=y(r.ensureProductClient());if(await z.client.sessionFavorites.delete(C),!g(z))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});oe();let K=new Set(C);return o.value=Object.freeze(o.value.filter(P=>!K.has(P.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:C[0]??""})}catch(z){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:to(z,"delete")})}}async function Q(te){let C=G(te);return C===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):T([C])}function ee(){H?.(),H=void 0,D=void 0,X();}function ae(te){if(D===te)return;H?.(),D=te;let C=y(te);H=te.events.subscribe(z=>{D===te&&g(C)&&z.type==="session-favorites:changed"&&$();});}return Se(n,()=>{I=true,H?.(),H=void 0,D=void 0,X();}),{items:o,loading:s,error:c,collectIdOf:G,isFavorited:W,reload:$,addFromMessage:M,removeByCollectIds:T,removeByMessageId:Q,reset:ee}})(n)}function cd(e){return defineStore("k2-im-session",()=>{let n=ye(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getGeneration()),m=ref("idle"),I=ref(""),w=ref({}),x=false,H=0,D="",X=n.getDiagnostics(),y=n.subscribeEvents(ae=>{if(!x){if(ae.type==="receiving:changed"&&(s.value=ae.receiving),ae.type==="session:replaced"){H+=1,m.value="error",s.value=false,o.value=n.getConnectionState(),I.value="lifecycle.connectionOccupied",w.value={};return}ae.type==="connection:changed"&&(o.value=ae.state,ae.state==="authenticated"&&(m.value="ready"));}});function g(ae,te){return !x&&ae===H&&n.getGeneration()===te}function G(ae){if(x)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(ae);}function W(ae){if(x)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let te=ae.session===null?"":`${ae.session.userId}\0${ae.session.token}`;te!==D&&(H+=1,D=te);let C=n.applySession(ae.session,ae.endpoints,ae.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,r.value=ae.session?.userId??"",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=o.value==="authenticated"?"ready":"idle",I.value="",w.value={},X.record("info","pinia","session","session-applied",()=>({generation:c.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:C.hasToken,didReset:C.didReset}})),C}async function $(ae,te,C){if(x)return {ok:false,errorKey:"lifecycle.disposed"};let z=++H,K=n.getGeneration(),P=Date.now();m.value=ae,I.value="",w.value={},X.record("info","pinia",te==="prepare"?"session":"connection",`${te}-start`,()=>({generation:K}));let O=await C();return g(z,K)?(c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=O.ok?o.value==="authenticated"?"ready":"idle":"error",I.value=O.errorKey??"",w.value=O.errorParams??{},X.record(O.ok?"info":"error","pinia",te==="prepare"?"session":"connection",`${te}-${O.ok?"complete":"failed"}`,()=>({generation:c.value,durationMs:Date.now()-P,...O.ok?{}:{error:{message:O.errorKey??`${te}-failed`,data:O.errorParams}}})),O):(X.record("debug","pinia","session",`${te}-stale-result-dropped`,()=>({generation:K,durationMs:Date.now()-P})),O)}function oe(){return $("preparing","prepare",()=>n.prepare())}function M(){return $("connecting","connect",()=>n.connect())}function T(){x||(H+=1,n.disconnect(),o.value=n.getConnectionState(),m.value="idle");}async function Q(ae){if(x)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");H+=1;try{await n.logout(ae);}finally{r.value="",s.value=false,D="",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value="idle",I.value="",w.value={};}}function ee(){x||(x=true,H+=1,y(),r.value="",o.value="idle",s.value=false,c.value=n.getGeneration(),m.value="disposed",I.value="",w.value={});}return {accountId:r,connectionState:o,receiving:s,generation:c,phase:m,errorKey:I,errorParams:w,configureHost:G,applySession:W,prepare:oe,connect:M,disconnect:T,logout:Q,dispose:ee,getRuntime:()=>n}})}var Qs=new WeakMap,ro=new WeakMap;function ud(e=Me()){ye(e);let n=Qs.get(e);n===void 0&&(n=cd(e),Qs.set(e,n));let r=n(e);return ro.get(e)!==r&&(ro.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),ro.get(e)===r&&ro.delete(e);})),r}function ao(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zs(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Zt(e,n){return `${Zs(e)}\0${n}`}function wt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Xs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function fd(e){return defineStore("k2-im-thread-paging",()=>{let n=ye(e).runtime,r=n.getDiagnostics(),o=De(e),s=Sn(e),c=ref(false),m=ref(false),I=ref(null),w=ref(null),x=false,H="",D="",X=0,y=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:wt(o.messages,"older"),newerBoundary:wt(o.messages,"newer")}),g=(C,z)=>{let K=y();return !x&&z===X&&C.generation===K.generation&&ao(C.ref,K.ref)&&C.ref!==null},G=C=>{(C===void 0||C==="older")&&(H="",I.value=null),(C===void 0||C==="newer")&&(D="",w.value=null);},W=()=>{X+=1,c.value=false,m.value=false,G();},$=async(C,z)=>{let K=y(),P=C==="older"?H:D,O=C==="older"?o.hasOlder:o.hasNewer;if(K.ref===null||!O||(C==="older"?c.value:m.value))return 0;let b=K.ref,S=C==="older"?K.olderBoundary:K.newerBoundary,V=Zt(b,S);if(C==="older"?m.value:c.value)return 0;if(!z&&P!==""&&P===V)return r.record("debug","pinia","history",`thread-paging-${C}-circuit-open`,()=>({conversation:b,data:{boundary:S}})),0;z&&(G(C),r.record("debug","pinia","history",`thread-paging-${C}-retry`,()=>({conversation:b})));let le=new Set(o.messages.map(F=>F.id)),de=++X;C==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${C}-start`,()=>({conversation:b,generation:K.generation,data:{boundary:S,force:z}}));try{let F=C==="older"?await o.loadOlder():await o.loadNewer();if(!g(K,de))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:b,generation:K.generation,data:{side:C}})),0;if(!F)return 0;G(C);let Y=o.messages.reduce((me,ue)=>me+ +!le.has(ue.id),0);return r.record("debug","pinia","history",`thread-paging-${C}-success`,()=>({conversation:b,generation:K.generation,data:{added:Y}})),Y}catch(F){if(!g(K,de))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:b,generation:K.generation,data:{side:C,outcome:"failed"}})),0;throw wt(o.messages,C)===S&&(C==="older"?(H=V,I.value=F):(D=V,w.value=F),r.record("warn","pinia","history",`thread-paging-${C}-failed`,()=>({conversation:b,generation:K.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${C} \u5206\u9875\u5931\u8D25`,data:Xs(F)}}))),F}finally{de===X&&(C==="older"?c.value=false:m.value=false);}},oe=(C={})=>$("older",C.force===true),M=(C={})=>$("newer",C.force===true),T=async C=>{if(C!==void 0&&!ao(o.activeRef,C))return false;s.clearLocation(),W();let z=y();if(z.ref===null)return false;let K=z.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:K})),!o.hasNewer)return true;let P;try{P=await o.loadLatest();}catch(O){if(ao(o.activeRef,K)&&n.getGeneration()===z.generation){let b=wt(o.messages,"newer");D=Zt(K,b),w.value=O,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:K,generation:z.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Xs(O)}}));}throw O}return !ao(o.activeRef,K)||n.getGeneration()!==z.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:K})),false):(G("newer"),P)},Q=watch(()=>Zs(o.activeRef),()=>W(),{flush:"sync"}),ee=watch(()=>`${Zt(o.activeRef,wt(o.messages,"older"))}\0${wt(o.messages,"newer")}`,()=>{let C=y(),z=Zt(C.ref,C.olderBoundary),K=Zt(C.ref,C.newerBoundary);H!==""&&H!==z&&G("older"),D!==""&&D!==K&&G("newer");},{flush:"sync"}),ae=o.$onAction(({name:C})=>{(C==="loadLatest"||C==="loadAround"||C==="open"||C==="close"||C==="reset")&&W();});return {loadingOlder:c,loadingNewer:m,olderError:I,newerError:w,loadOlder:oe,loadNewer:M,retryOlder:()=>oe({force:true}),retryNewer:()=>M({force:true}),jumpToLatest:T,reset:W,dispose:()=>{x||(x=true,Q(),ee(),ae(),W());}}})}var Ys=new WeakMap,io=new WeakMap;function md(e=Me()){ye(e);let n=Ys.get(e);n===void 0&&(n=fd(e),Ys.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),Se(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function pd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function vd(e=Me()){let n=De(e),r=Sn(e);return Object.freeze({async returnToLatest(o){return pd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{kr as applicationKey,Xl as createAndInstallImChatKit,ii as createImChatKitContext,Zl as disposeImChatKit,Yl as ensureImChatKitSelfProfile,ye as getImChatKitContext,Vi as imMediaDownloadKey,si as installImChatKit,ac as useImApplicationsStore,Cc as useImCapabilitiesStore,Qn as useImComposerStore,kc as useImConversationActivationCoordinator,Hc as useImConversationDeletionCoordinator,_o as useImConversationListStore,Jc as useImExpressionStore,eu as useImHistoryReturnAfterSendCoordinator,su as useImMediaStore,qt as useImMessageOperationsStore,Lu as useImProfileDirectoryStore,Qu as useImQuotedMessageStore,rd as useImReactionStore,Sn as useImSearchStore,sd as useImSessionFavoritesStore,ud as useImSessionStore,md as useImThreadPagingStore,vd as useImThreadReturnToLatestCoordinator,De as useImThreadStore};
|
|
1
|
+
import {u,za,pa,s,y,oa,na,ma,ka,ja,ia,ha,fa,J,K,I,Ha,d,va as va$1,ya,xa,ra,ua,ta,sa as sa$1,D,B,C,A,z,Ga,Fa,Ea,Da,Ca,Ba,c,b,k,h,wa}from'./chunk-WYYUGVXE.js';export{t as resolveMessageNotificationDecision}from'./chunk-WYYUGVXE.js';import'./chunk-DHHXLOOH.js';import'./chunk-EBZORU2A.js';import {va,sa}from'./chunk-6OC4FEH7.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Zl(e,n,r={}){let o=u(n);try{return li(e,si({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function ec(e){za(be(e).runtime);}var Qn=new WeakMap;function Te(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function si(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function li(e,n){let r=Qn.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(),Qn.get(e)===o&&Qn.delete(e);}}});return o.installation=s,Qn.set(e,o),s}function be(e){let n=Qn.get(e);if(n===void 0||n.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return n.context}function Ee(e,n){let r=Qn.get(e);if(r===void 0||r.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return r.storeDisposers.add(n),()=>r.storeDisposers.delete(n)}function nc(e){Qn.get(e)?.installation.dispose();}function kr(e){return `${e.domain}:${e.applicationId}`}function rc(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"group",conversationId:e.conversation.conversationId})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"channel",conversationId:e.conversation.conversationId})})}function oc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Rr(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&oc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`applications.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="reload"})}function ac(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function ic(e){return defineStore("k2-im-applications",()=>{let n=be(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),S=computed(()=>{let P=0,O=0,Q=0;for(let J of r.value)J.ref.domain==="contact"?P+=1:J.ref.domain==="group"?O+=1:Q+=1;return Object.freeze({contact:P,group:O,channel:Q})}),M=false,K=0,D=0,B=0,b=false,I=0,G=new Map;function X(){K+=1,D+=1,B+=1,I+=1,b=false,G.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function $(P){return {client:P,generation:n.getGeneration(),stateEpoch:K}}function ie(P){return !M&&P.client===n.getProductClient()&&P.generation===n.getGeneration()&&P.stateEpoch===K}async function T(){if(M)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let P=++D,O;try{O=$(n.ensureProductClient());}catch(Q){let J=Rr(Q,"reload");return s.value=J,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:J})}o.value=true,s.value=null;try{let Q=await O.client.applications.listPending();return P!==D||!ie(O)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...Q]),Object.freeze({ok:!0,operation:"reload"}))}catch(Q){if(P!==D||!ie(O))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let J=Rr(Q,"reload");return s.value=J,Object.freeze({ok:false,operation:"reload",reason:"failed",error:J})}finally{P===D&&ie(O)&&(o.value=false);}}function E(){if(M||b)return;b=true;let P=K,O=++I;queueMicrotask(()=>{O===I&&(b=false,!(M||P!==K)&&T());});}function Z(P){(P.type==="contact-application:received"||P.type==="channel-join-application:received"||P.type==="application:updated")&&E();}let re=n.subscribeProductEvents(Z);async function ae(P,O){let Q=rc(P),J=kr(Q);if(M)return Object.freeze({ok:false,operation:O,reason:"stale",application:Q});let fe=++B;G.set(J,fe),c.value={...c.value,[J]:O};let{[J]:me,...Pe}=m.value;m.value=Pe;let F;try{F=$(n.ensureProductClient());}catch(H){let _=Rr(H,O);m.value={...m.value,[J]:_};let{[J]:se,...ue}=c.value;return c.value=ue,G.delete(J),Object.freeze({ok:false,operation:O,reason:"failed",application:Q,error:_})}let y=()=>ie(F)&&G.get(J)===fe;try{return await F.client.applications[O](Q),y()?(D+=1,o.value=!1,r.value=Object.freeze(r.value.filter(H=>kr(H.ref)!==J)),Object.freeze({ok:!0,operation:O,application:Q})):Object.freeze({ok:!1,operation:O,reason:"stale",application:Q})}catch(H){if(!y())return Object.freeze({ok:false,operation:O,reason:"stale",application:Q});let _=Rr(H,O);return ac(_)?(D+=1,o.value=false,r.value=Object.freeze(r.value.filter(se=>kr(se.ref)!==J)),Object.freeze({ok:false,operation:O,reason:"failed",application:Q,error:_})):(m.value={...m.value,[J]:_},Object.freeze({ok:false,operation:O,reason:"failed",application:Q,error:_}))}finally{if(y()){G.delete(J);let{[J]:H,..._}=c.value;c.value=_;}}}function ne(P){return ae(P,"accept")}function C(P){return ae(P,"ignore")}function A(){M||X();}function N(){M||(M=true,re(),X());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:S,reload:T,accept:ne,ignore:C,reset:A,dispose:N}})}var di=new WeakMap,Pr=new WeakMap;function sc(e=Te()){be(e);let n=di.get(e);n===void 0&&(n=ic(e),di.set(e,n));let r=n(e);return Pr.get(e)!==r&&(Pr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Pr.get(e)===r&&Pr.delete(e);})),r}function pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function cc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var fi=Object.freeze({state:"none"});function uc(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_THREAD_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:pi(r)}})}function dc(e){return defineStore("k2-im-thread",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(fi),g=shallowRef(null),S=ref(false),M=ref(false),K=ref(false),D=ref(false),B=ref(false),b=shallowRef(null),I=ref(0),G=false,X,$=0,ie=0,T,E,Z,re,ae,ne=[],C=new Map,A=new Set;function N(){ne.length=0,I.value=0;}let P=n.subscribeEvents(z=>{if(G||z.type!=="message:received"||(z.source??"live")!=="live")return;let V=o.value;V===null||z.message.conversationId!==V.conversationId||z.message.conversationType!==V.conversationType||z.message.senderId===n.getCredentials().userId||!fe(z.message)||(ne.push(z.message.id),I.value+=1);});function O(z=null){N(),o.value=z,s.value=null,c.value=[],m.value=fi,g.value=null,S.value=z!==null,M.value=false,K.value=false,D.value=false,B.value=false,b.value=null;}function Q(z){if((C.get(z)??0)>0){A.add(z);return}z.close();}function J(){ae?.(),ae=void 0,re?.(),re=void 0;let z=Z;Z=void 0,z!==void 0&&Q(z);}function fe(z){if(z.body.system?.timelineVisibility==="hidden")return false;if(z.conversationType!=="channel"||z.deletedForEveryone===void 0)return true;let V=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:z.conversationId});return V.conversationType==="channel"&&V.ref.conversationType==="channel"&&V.ref.conversationId===z.conversationId&&(V.value.role==="owner"||V.value.role==="admin")}function me(z,V,W){let le=o.value;if(G||Z!==z||n.getGeneration()!==W||le===null||V.ref.conversationId!==le.conversationId||V.ref.conversationType!==le.conversationType)return false;let Re=V.messages.filter(fe);if(cc(c.value,Re)||(c.value=Object.freeze(Re)),m.value=V.entryUnread,V.entryUnread.state==="located"){let Se=V.entryUnread.firstMessageId,$e=V.messages.findIndex(Ue=>Ue.id===Se);if($e>=0&&!Re.some(Ue=>Ue.id===Se)){let Ue=V.messages.slice($e+1).find(fe);m.value=Object.freeze(Ue===void 0?{state:"unavailable"}:{...V.entryUnread,firstMessageId:Ue.id});}}return s.value=V.display??null,g.value=V.draft,S.value=V.loading,M.value=M.value||Re.length>0||!V.loading,K.value=V.stale,D.value=V.hasOlder,B.value=V.hasNewer,b.value=V.error??null,true}async function Pe(z,V){let W=n.ensureProductClient();return z.conversationType==="direct"?W.openConversation({conversationType:"direct",conversationId:z.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:V}):z.conversationType==="group"?W.openConversation({conversationType:"group",conversationId:z.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:V}):z.conversationType==="robot"?W.openConversation({conversationType:"robot",conversationId:z.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:V}):W.openConversation({conversationType:"channel",conversationId:z.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:V})}async function F(z){try{let V=n.ensureProductClient();if(V.conversations.list().find(le=>le.ref.conversationType===z.conversationType&&le.ref.conversationId===z.conversationId)?.manuallyUnread!==!0)return;await V.conversations.markRead(z);}catch(V){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:z,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:V}}));}}async function y(z){if(G)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");ie+=1,T=void 0,E=void 0;let V=pi(z);X?.abort();let W=new AbortController;X=W;let le=++$,Re=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:Re,conversation:V}));let Se;try{Se=await Pe(V,W.signal);}catch($e){if(W.signal.aborted)return;throw !G&&le===$&&Re===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:Re,conversation:V,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:uc($e,"thread.open",V)}})),$e}finally{X===W&&(X=void 0);}if(G||le!==$||Re!==n.getGeneration()){Se.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:Re,conversation:V}));return}return J(),O(V),Z=Se,re=Se.subscribe($e=>me(Se,$e,Re)),me(Se,Se.getSnapshot(),Re),V.conversationType==="channel"&&(ae=n.ensureProductClient().capabilities.subscribe(V,()=>{!G&&Z===Se&&n.getGeneration()===Re&&me(Se,Se.getSnapshot(),Re);})),F(V),r.record("debug","pinia","history","thread-open-complete",()=>({generation:Re,conversation:V})),Se}function H(){X?.abort(),X=void 0,$+=1;}function _(z){if(G||Z===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${z}`);return Z}function se(z,V,W){return !G&&ie===z&&Z===V&&n.getGeneration()===W}async function ue(z,V){if(T!==void 0||E!==void 0)return false;let W=_(z),le=n.getGeneration(),Re=++ie;T=Re;try{return await V(W),se(Re,W,le)?(me(W,W.getSnapshot(),le),!0):!1}finally{T===Re&&(T=void 0);}}async function Ce(z,V,W){let le=_(z),Re=n.getGeneration(),Se=++ie;T=void 0,E=Se;try{if(await V(le),!se(Se,le,Re))return !1;let $e=le.getSnapshot();return W($e)?(me(le,$e,Re),!0):!1}finally{E===Se&&(E=void 0);}}function Oe(){return Ce("loadLatest",z=>z.history.loadLatest(),z=>!z.hasNewer)}function j(){return ue("loadOlder",z=>z.history.loadOlder())}function q(){return ue("loadNewer",z=>z.history.loadNewer())}function ge(z){return Ce("loadAround",V=>V.history.loadAround(z),V=>V.messages.some(W=>W.id===z)).then(V=>V?c.value.some(W=>W.id===z):false)}function Ie(z){return _("resolveMessage").resolveMessage(z)}function pe(z=_("retainHandle")){if(G)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");C.set(z,(C.get(z)??0)+1);let V=false;return ()=>{if(V)return;V=true;let W=(C.get(z)??1)-1;if(W>0){C.set(z,W);return}C.delete(z),A.delete(z)&&z.close();}}function _e(){return pe()}function k(){X?.abort(),X=void 0,$+=1,ie+=1,T=void 0,E=void 0,J(),O();}function L(z){let V=o.value;return V===null||V.conversationType!==z.conversationType||V.conversationId!==z.conversationId?false:(ie+=1,T=void 0,E=void 0,J(),O(),true)}function de(){X?.abort(),X=void 0,$+=1,ie+=1,T=void 0,E=void 0,re?.(),re=void 0,ae?.(),ae=void 0;let z=new Set([...Z===void 0?[]:[Z],...A,...C.keys()]);Z=void 0,A.clear(),C.clear();for(let V of z)V.close();O();}function ve(){G||(de(),G=true,P());}function Me(){return ne.splice(0,ne.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,draft:g,loading:S,ready:M,stale:K,hasOlder:D,hasNewer:B,error:b,activeRemoteMessageRevision:I,open:y,invalidatePendingOpen:H,loadLatest:Oe,loadOlder:j,loadNewer:q,loadAround:ge,resolveMessage:Ie,retainHandle:pe,retainCurrentHandle:_e,close:k,closeActiveConversation:L,reset:de,dispose:ve,drainActiveRemoteMessageIds:Me,getHandle:()=>Z}})}var mi=new WeakMap,Or=new WeakMap;function De(e=Te()){be(e);let n=mi.get(e);n===void 0&&(n=dc(e),mi.set(e,n));let r=n(e);return Or.get(e)!==r&&(Or.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Or.get(e)===r&&Or.delete(e);})),r}var jr=new WeakMap;function zo(e){let n=jr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function It(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Er(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function gi(e){return e===null?null:Er({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function xo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Ao(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function pc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Lt(e,n,r){return pc(e)?e:Object.freeze({code:n==="composer.draft"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_COMPOSER_OPERATION_FAILED",category:"state",operation:n,retryable:n==="composer.draft",...r===void 0?{}:{conversation:It(r)},cause:e})}function Sr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function vc(e){return defineStore("k2-im-composer",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),S=ref(0),M=shallowRef(null),K=false,D=0,B=0,b=0,I,G=Promise.resolve(),X=Promise.resolve(),$=new Set,ie=new Map,T,E;function Z(){return o.getHandle()}function re(j,q){let ge=o.activeRef;return !K&&Z()===j&&n.getGeneration()===q&&ge!==null&&ge.conversationId===j.ref.conversationId&&ge.conversationType===j.ref.conversationType}function ae(j=Z()){if(j===void 0)return false;let q=n.getGeneration();return I?.handle===j&&I.generation===q||[...$].some(ge=>ge.handle===j&&ge.generation===q)}async function ne(j=Z()){if(j===void 0)return;let q=n.getGeneration(),ge=I?.handle===j&&I.generation===q?I:void 0;if(ge===void 0){let k=[...$].filter(L=>L.handle===j&&L.generation===q).map(L=>L.promise);k.length>0?await Promise.all(k):await X;return}I=void 0;let pe=G.then(async()=>{xo(ge.input)?await j.draft.clear():await j.draft.save(ge.input);}),_e={handle:j,generation:q,promise:pe};$.add(_e),X=pe,G=pe.catch(()=>{});try{await pe,re(j,q)&&(M.value=null,S.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:q,conversation:It(j.ref)})));}catch(k){throw re(j,q)&&(I===void 0&&b===ge.version&&(I=ge),M.value=Lt(k,"composer.draft",j.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:q,conversation:It(j.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:M.value}}))),k}finally{$.delete(_e);}}function C(j){let q=Z(),ge=n.getGeneration();if(q===void 0||!re(q,ge))return M.value=Lt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let Ie=Er(j);return b+=1,s.value=xo(Ie)?null:Ie,I={handle:q,generation:ge,version:b,input:Ie},M.value=null,A(),xo(Ie)&&ne(q).catch(()=>{}),true}async function A(){if(m.value!==null)return;let j=s.value?.replyToMessageId;if(j===void 0){B+=1,c.value=null;return}let q=Z();if(q===void 0){c.value=null;return}let ge=o.messages.find(k=>k.id===j);if(ge!==void 0){B+=1,c.value=ge;return}let Ie=n.getGeneration(),pe=++B,_e=await q.resolveMessage(j).catch(()=>null);pe!==B||!re(q,Ie)||m.value!==null||s.value?.replyToMessageId!==j||(c.value=_e);}function N(j){let q=Z();return q===void 0||!Sr(j,q)?false:(m.value=null,c.value=j,C({...s.value??{text:"",attachments:[]},replyToMessageId:j.id}))}function P(j){if(j!==void 0&&s.value?.replyToMessageId!==j)return;c.value=null;let q=s.value;if(q===null)return;let{replyToMessageId:ge,...Ie}=q;C({...Ie});}function O(j){let q=Z();return q===void 0||!Sr(j,q)?false:(c.value=null,m.value=j,true)}function Q(){m.value=null,A();}function J(){B+=1,c.value=null,m.value=null;}function fe(j,q){return !K&&n.getGeneration()===j&&D===q}function me(j){return [...ie.values()].some(q=>q.handle===j)}function Pe(j,q){return j!==null&&Ao(gi(j),q)}function F(j,q,ge){!re(j,q)||s.value===null||!Ao(s.value,ge)||(b+=1,I?.handle===j&&I.generation===q&&Ao(I.input,ge)&&(I=void 0),s.value=null,B+=1,c.value=null);}async function y(j){let q=[...$].filter(Ie=>Ie.handle===j.handle&&Ie.generation===j.generation).map(Ie=>Ie.promise.catch(()=>{}));if(q.length>0&&await Promise.all(q),!re(j.handle,j.generation))return;let ge=await j.handle.draft.get();if(!Pe(ge,j.input)){T?.token===j.token&&(T=void 0);return}T=j;try{await j.handle.draft.clear(),T?.token===j.token&&(T=void 0);}catch(Ie){if(re(j.handle,j.generation)){if(s.value===null&&I===void 0){let pe={text:"",attachments:[]};b+=1,I={handle:j.handle,generation:j.generation,version:b,input:pe};}M.value=Lt(Ie,"composer.draft",j.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:j.generation,conversation:It(j.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:M.value}}));}}}function H(j){if(!re(j.handle,j.generation)||s.value!==null)return;T=void 0;let q=Er(j.input);b+=1,s.value=q,I={handle:j.handle,generation:j.generation,version:b,input:q},A();}async function _(j){let q=m.value,ge=q===null?"send":"edit";if(q!==null&&E!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let Ie=Z(),pe=n.getGeneration();if(Ie===void 0||!re(Ie,pe))return Object.freeze({ok:false,operation:ge,reason:"not-ready"});let _e=j.text.trim();if(_e==="")return Object.freeze({ok:false,operation:ge,reason:"empty"});let k=D;if(q!==null&&!Sr(q,Ie))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let L=Symbol(ge);q!==null&&(E=L),g.value=E!==void 0,M.value=null;let de=o.retainHandle(Ie),ve;if(q===null){let Me=Er(j);ve={token:L,handle:Ie,generation:pe,input:Me},ie.set(L,ve),F(Ie,pe,Me);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:pe,operation:ge,conversation:It(Ie.ref),...q===null?{}:{messageId:q.id}}));try{if(q===null){if(!fe(pe,k)||!re(Ie,pe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let Me=await Ie.messages.sendText(_e,{...j.mentions===void 0?{}:{mentions:j.mentions},...j.replyToMessageId===void 0?{}:{replyToMessageId:j.replyToMessageId}});if(!fe(pe,k)||!re(Ie,pe))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!Me.ok)return ve!==void 0&&H(ve),M.value=Me.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:Me.error});if(ve!==void 0&&(await y(ve),!fe(pe,k)||!re(Ie,pe)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await Ie.messages.editText(q.id,_e,{...j.mentions===void 0?{}:{mentions:j.mentions}});}catch(Me){if(!fe(pe,k)||!re(Ie,pe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let z=Lt(Me,"composer.edit",Ie.ref);return M.value=z,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:z})}if(!fe(pe,k)||!re(Ie,pe))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===q&&Q();}return M.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:pe,operation:ge,conversation:It(Ie.ref)})),Object.freeze({ok:!0,operation:ge})}catch(Me){if(!fe(pe,k)||!re(Ie,pe))return Object.freeze({ok:false,operation:ge,reason:"stale"});ve!==void 0&&H(ve);let z=Lt(Me,`composer.${ge}`,Ie.ref);return M.value=z,Object.freeze({ok:false,operation:ge,reason:"sdk-rejected",error:z})}finally{de(),ie.delete(L),E===L&&(E=void 0),g.value=E!==void 0,re(Ie,pe)&&se();}}function se(){let j=Z();if(j===void 0)return;let q=T,ge=q!==void 0&&q.handle===j&&q.generation===n.getGeneration()&&Pe(o.draft,q.input);q!==void 0&&!ge&&(T=void 0),!ae(j)&&!me(j)&&!ge&&(s.value=gi(o.draft)),m.value!==null&&!Sr(m.value,j)&&(m.value=null),A();}function ue(){D+=1,B+=1,b+=1,I=void 0,ie.clear(),T=void 0,G=Promise.resolve(),X=Promise.resolve(),s.value=null,c.value=null,m.value=null,E=void 0,g.value=false,S.value=0,M.value=null;}let Ce=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(j,q)=>{if(j.ref!==q?.ref){ue(),j.ref!==null&&se();return}se();},{immediate:true});function Oe(){K||(K=true,Ce(),ue());}return jr.set(e,Object.freeze({suspendInteraction:J,syncReplyTarget:A,dispose:Oe})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:S,error:M,updateDraft:C,flush:ne,hasPendingWork:ae,submitText:_,setReplyTo:N,clearReplyTo:P,setEditing:O,clearEditing:Q,reset:ue}})}var Ii=new WeakMap,Tr=new WeakMap;function Jn(e=Te()){be(e);let n=Ii.get(e);n===void 0&&(n=vc(e),Ii.set(e,n));let r=n(e),o=zo(e);return Tr.get(e)!==r&&(Tr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),Tr.get(e)===r&&(Tr.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var xr=new WeakMap;function qt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function yi(e){return [...e]}function hc(e){return defineStore("k2-im-message-operations",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=Jn(e),c=zo(e),m=shallowRef(null),g=ref(false),S=ref([]),M=ref(null),K=ref(false),D=ref([]),B=shallowRef(null),b=false,I=0,G=0,X=0;function $(){return o.getHandle()}function ie(k,L=$()){let de=o.activeRef;return !b&&L!==void 0&&de!==null&&k.conversationType!=="supergroup"&&de.conversationId===k.conversationId&&de.conversationType===k.conversationType&&L.ref.conversationId===k.conversationId&&L.ref.conversationType===k.conversationType}function T(k){return y(m.value,k)}function E(){K.value=false,D.value=[];}function Z(){M.value=null;}function re(){let k=g.value;E(),Z(),g.value=false,S.value=[],k&&c.syncReplyTarget();}function ae(k){if(k!==void 0){if(!ie(k))return Object.freeze({ok:false,reason:"not-ready"});if(!qt(k))return Object.freeze({ok:false,reason:"not-selectable"});if(T(k))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,S.value=k===void 0?[]:[k],Object.freeze({ok:true})}function ne(k){return S.value.some(L=>L.id===k)}function C(k){return !g.value||!ie(k)?Object.freeze({ok:false,reason:"not-ready"}):qt(k)?T(k)?Object.freeze({ok:false,reason:"pinned-protected"}):(ne(k.id)?S.value=S.value.filter(L=>L.id!==k.id):S.value=[...S.value,k],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function A(k){let L=$();return k.length===0||!k.every(de=>ie(de,L))?Object.freeze({ok:false,reason:"not-ready"}):(M.value=yi(k),Object.freeze({ok:true}))}function N(){let k=S.value;if(k.length===0)return Object.freeze({outcome:"empty"});let L=k.filter(va);return k.some(sa)?(D.value=L,K.value=true,Object.freeze({outcome:"confirmation-required"})):L.length===0?Object.freeze({outcome:"all-skipped"}):(A(L),Object.freeze({outcome:"picker-opened"}))}function P(){let k=yi(D.value);return E(),k.length===0?Object.freeze({outcome:"all-skipped"}):(A(k),Object.freeze({outcome:"picker-opened"}))}async function O(k){let L=M.value,de=$();if(L===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let ve=n.getGeneration(),Me=++I,z=await fa(n,{handle:de,messages:L,targets:k});return b||Me!==I||n.getGeneration()!==ve||$()!==de?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((z.ok||z.reason!=="stale")&&Z(),z.ok&&re(),B.value=z.ok?null:z.error??null,r.record(z.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:ve,conversation:de===void 0?void 0:{...de.ref},result:z.ok?{ok:true,sentCount:z.sentCount,skippedCount:z.skippedCount}:{ok:false,reason:z.reason,error:z.error}})),z)}function Q(k,L,de){B.value=k.ok?null:k.error??null,r.record(k.ok?"debug":"error","pinia","message",`message-${k.operation}-settled`,()=>({generation:n.getGeneration(),conversation:de===void 0?void 0:{...de.ref},messageId:L,result:k.ok?{ok:true}:{ok:false,reason:k.reason,error:k.error}}));}function J(k,L){return L!==void 0&&(b||$()!==L)?Object.freeze({ok:false,operation:k.operation,reason:"stale"}):k}async function fe(k){let L=$(),de=J(await ha(n,{handle:L,message:k}),L);return Q(de,k.id,L),de}async function me(k){let L=$(),de=J(await ia(n,{handle:L,message:k}),L);return Q(de,k.id,L),de}async function Pe(k){let L=$(),de=J(await ja(n,{handle:L,message:k}),L);return Q(de,k.id,L),de}async function F(k,L){let de=$(),ve=J(await ka(n,{handle:de,messageId:k,options:L}),de);return Q(ve,k,de),ve}function y$1(){let k=o.activeRef;if(!(k?.conversationType!=="group"&&k?.conversationType!=="channel"))return Object.freeze({conversationId:k.conversationId,conversationType:k.conversationType})}function H(k,L,de){let ve=y$1();return !b&&k===G&&L!==void 0&&$()===L&&ve?.conversationId===de.conversationId&&ve.conversationType===de.conversationType}function _(k,L,de){let ve=y$1();return !b&&k===X&&$()===L&&ve?.conversationId===de.conversationId&&ve.conversationType===de.conversationType}function se(k){if(S.value=S.value.filter(L=>L.id!==k),D.value=D.value.filter(L=>L.id!==k),M.value!==null){let L=M.value.filter(de=>de.id!==k);M.value=L.length===0?null:L;}s.editingMessage?.id===k&&s.clearEditing();}async function ue(k){let L=y$1(),de=$();if(L===void 0||!ie(k,de))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let ve=++G;X+=1;let Me=await ma(n,{conversation:L,message:k});return H(ve,de,L)?(Me.ok&&Me.operation==="pin"?(m.value=Me.value,se(Me.value.messageId),B.value=null):B.value=Me.ok?null:Me.error??null,Me):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Ce(){let k=y$1(),L=$();if(k===void 0||L===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let de=++G;X+=1;let ve=await na(n,k);return H(de,L,k)?(ve.ok&&ve.operation==="unpin"?(m.value=null,B.value=null):B.value=ve.ok?null:ve.error??null,ve):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Oe(){let k=y$1();if(k===void 0){m.value=null;return}try{m.value=pa(n,k);}catch{m.value=null;}}async function j(){let k=y$1(),L=$();if(k===void 0||L===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let de=n.getGeneration(),ve=++X;Oe();let Me=await oa(n,k);return n.getGeneration()!==de||!_(ve,L,k)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(Me.ok&&Me.operation==="sync-pin"?(m.value=Me.value,B.value=null):B.value=Me.ok?null:Me.error??null,Me)}function q(k){let L=new Map(k.map(z=>[z.id,z])),de=z=>z.flatMap(V=>{let W=L.get(V.id);return W!==void 0&&qt(W)?[W]:[]});if(S.value=de(S.value),D.value=de(D.value),M.value!==null){let z=de(M.value);M.value=z.length===0?null:z;}let ve=s.editingMessage;if(ve!==null){let z=L.get(ve.id);(z===void 0||!qt(z))&&s.clearEditing();}let Me=s.input?.replyToMessageId;if(Me!==void 0){let z=L.get(Me);z!==void 0&&!qt(z)&&s.clearReplyTo(Me);}}let ge=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(k,L)=>{k.ref!==L?.ref&&(I+=1,G+=1,X+=1,Oe(),g.value=false,S.value=[],M.value=null,E(),B.value=null),q(k.messages);},{immediate:true}),Ie=n.subscribeEvents(k=>{if(k.type!=="pinned-message:updated")return;let L=y$1();if(!(L===void 0||L.conversationId!==k.conversation.conversationId||L.conversationType!==k.conversation.conversationType)){if(X+=1,k.pinnedMessage===null){m.value=null;return}try{m.value=pa(n,L),se(k.pinnedMessage.messageId);}catch{}}});function pe(){I+=1,G+=1,X+=1,g.value=false,S.value=[],M.value=null,E(),B.value=null,Oe();}function _e(){b||(b=true,ge(),Ie(),pe());}return xr.set(e,Object.freeze({dispose:_e})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:S,forwardPickerMessages:M,forwardTypeConfirmOpen:K,pendingForwardReadyMessages:D,error:B,enterMultiSelect:ae,exitMultiSelect:re,isSelected:ne,toggleSelection:C,openForwardPicker:A,closeForwardPicker:Z,prepareForwardFromSelection:N,cancelForwardTypeConfirmation:E,confirmForwardTypeConfirmation:P,forward:O,recall:fe,deleteLocal:me,deleteForEveryone:Pe,retry:F,pin:ue,unpin:Ce,syncPinned:j,isPinnedMessageProtected:T,reset:pe}})}var bi=new WeakMap,wr=new WeakMap;function Bt(e=Te()){be(e);let n=bi.get(e);n===void 0&&(n=hc(e),bi.set(e,n));let r=n(e),o=xr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return wr.get(e)!==r&&(wr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),wr.get(e)===r&&(wr.delete(e),xr.get(e)===o&&xr.delete(e));})),r}var Go=Object.freeze({availability:"unknown",reason:"not-ready"});function Rc(e){return defineStore("k2-im-capabilities",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=Bt(e),c=shallowRef(null),m=false,g,S,M;function K$1(){S!==void 0&&(clearTimeout(S),S=void 0);}function D(C){K$1();let A=C.nextEvaluationAt;if(A===void 0)return;let N=Math.max(0,A-Date.now());S=setTimeout(()=>{S=void 0,I$1();},N);}function B(C){m||(c.value=C,D(C));}function b(C){let A=o.activeRef;return A!==null&&A.conversationType===C.conversationType&&A.conversationId===C.conversationId}function I$1(C=Date.now()){let A=o.activeRef,N=n.getProductClient();A===null||N===null||B(N.capabilities.get(A,{nowMs:C}));}function G(){g?.(),g=void 0,K$1(),c.value=null;let C=o.activeRef,A=n.getProductClient();C===null||A===null||(g=A.capabilities.subscribe(C,B));}function X(){G();}function $(){g?.(),g=void 0,K$1(),c.value=null;}async function ie(){let C=o.activeRef,A=n.getProductClient();if(C===null||A===null)return;let N=n.getGeneration();try{let P=await A.capabilities.refresh(C);if(m||N!==n.getGeneration()||!b(C))return;B(P);}catch(P){if(m||N!==n.getGeneration()||!b(C))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...C},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:P}})),B(A.capabilities.get(C));}}function T(C){return c.value===null?Go:I(c.value,C)}function E(C){return T(C)}function Z(C){return T(C)}function re(C,A){let N=c.value;return N===null?Go:K(C,{snapshot:N,selfId:n.getCredentials().userId,...A})}function ae(C,A){let N=c.value;return N===null?Go:J(C,{snapshot:N,message:A,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function ne(){m||(m=true,M?.(),M=void 0,$());}return M=watch(()=>o.activeRef,G,{deep:true,immediate:true}),{activeSnapshot:c,start:X,reset:$,refresh:ie,conversationAction:T,profileAction:E,memberAction:Z,memberTargetAction:re,messageAction:ae,dispose:ne}})}var Ci=new WeakMap,Ar=new WeakMap;function Pc(e=Te()){be(e);let n=Ci.get(e);n===void 0&&(n=Rc(e),Ci.set(e,n));let r=n(e);return Ar.get(e)!==r&&(Ar.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Ar.get(e)===r&&Ar.delete(e);})),r}var Vt=new WeakMap;function Pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function kc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Oc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ri(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&Oc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:Pi(r)})}function ki(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Mc(e=Te()){let n=be(e),r=Vt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Jn(e),m=De(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function S(M,K){let D=Pi(M),B=K?.signal;if(B?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:D});g.conversation=D;let b=++g.epoch,I=o.getGeneration(),G=()=>!g.disposed&&g.epoch===b&&o.getGeneration()===I;m.invalidatePendingOpen();let X=()=>{G()&&(g.epoch+=1,m.invalidatePendingOpen());};B?.addEventListener("abort",X,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:I,conversation:D})),!kc(D))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:I,conversation:D})),Object.freeze({ok:!1,reason:"unsupported",conversation:D});let $=m.getHandle();if($!==void 0&&c.hasPendingWork($))try{await c.flush($);}catch(ie){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let T=Ri(ie,"flush",D);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:I,conversation:D,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:T}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:D,error:T})}if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});if(m.getHandle()!==void 0&&ki(m.activeRef,D))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:D,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:D});try{if(await m.open(D)===void 0||!G())return Object.freeze({ok:!1,reason:"stale",conversation:D})}catch(ie){if(!G())return Object.freeze({ok:!1,reason:"stale",conversation:D});let T=Ri(ie,"open",D);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:I,conversation:D,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:T}})),Object.freeze({ok:!1,reason:"open-failed",conversation:D,error:T})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:I,conversation:D})),Object.freeze({ok:!0,status:"opened",conversation:D})}finally{B?.removeEventListener("abort",X);}}return g.coordinator=Object.freeze({activate:S}),Vt.set(e,g),Ee(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Vt.get(e)===g&&Vt.delete(e);}),g.coordinator}function Oi(e,n){let r=Vt.get(e);r===void 0||r.disposed||!ki(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function jc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ht(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&jc(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function wc(e){return defineStore("k2-im-conversation-list",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),S=false,M=null,K,D=0;function B(P="idle"){o.value=[],s$1.value=P,c.value=0,g.value=null;}function b(P,O,Q){S||M!==O||n.getGeneration()!==Q||(o.value=P.items,s$1.value=P.state,c.value=P.totalUnread,g.value=P.error??null);}function I(P){if(S)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(M===P||(K?.(),K=void 0,M=P,D+=1,B(),P===null))return;let O=n.getGeneration();K=P.conversations.subscribe(Q=>b(Q,P,O)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:O}));}function G(){I(n.getProductClient());}function X(){I(null);}function $(P){return !S&&M===P.client&&n.getProductClient()===P.client&&n.getGeneration()===P.generation&&D===P.bindingEpoch}function ie(){let P=n.ensureProductClient();return I(P),{client:P,generation:n.getGeneration(),bindingEpoch:D}}async function T(){if(S)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let P;try{P=ie();}catch(O){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:ht(O,"refresh")})}try{return await P.client.conversations.refresh(),$(P)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(O){return $(P)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:ht(O,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function E(P,O,Q){let J=Mi(O);if(S)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:J});let fe;try{fe=ie();}catch(me){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:J,error:ht(me,P,J)})}try{Q(fe.client,J);}catch(me){return $(fe)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:J,error:ht(me,P,J)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:J})}return $(fe)?Object.freeze({ok:true,operation:P,conversation:J}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:J})}async function Z(P,O,Q){let J=Mi(O);if(S)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:J});let fe;try{fe=ie();}catch(me){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:J,error:ht(me,P,J)})}try{return await Q(fe.client,J),$(fe)?Object.freeze({ok:!0,operation:P,conversation:J}):Object.freeze({ok:!1,operation:P,reason:"stale",conversation:J})}catch(me){return $(fe)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:J,error:ht(me,P,J)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:J})}}function re(P,O){return E("set-pinned",P,(Q,J)=>Q.conversations.setPinned(J,O))}function ae(P,O){return Z("set-muted",P,(Q,J)=>Q.conversations.setMuted(J,O))}function ne(P){return Z("mark-read",P,(O,Q)=>O.conversations.markRead(Q))}function C(P){return E("mark-unread",P,(O,Q)=>O.conversations.markUnread(Q))}function A(P){return E("delete-local",P,(O,Q)=>O.conversations.deleteLocal(Q))}function N(){S||(K?.(),K=void 0,M=null,B(),S=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:G,reset:X,refresh:T,setPinned:re,setMuted:ae,markRead:ne,markUnread:C,deleteLocal:A,dispose:N}})}var Si=new WeakMap,zr=new WeakMap;function _o(e=Te()){be(e);let n=Si.get(e);n===void 0&&(n=wc(e),Si.set(e,n));let r=n(e);return zr.get(e)!==r&&(zr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),zr.get(e)===r&&zr.delete(e);})),r}var Dc=250,_c=2e3;function Ei(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Ko(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ei(r)}})}function Fc(e){return defineStore("k2-im-search",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref(""),c=ref([]),m=ref(false),g=ref(false),S=ref("all"),M=ref(""),K=ref(""),D=shallowRef(null),B=false,b=0,I=0,G,X,$,ie;function T(){let F=o.activeRef,y=o.getHandle();if(!(B||F===null||y===void 0||!Fo(F,y.ref)))return {ref:Ei(F),handle:y,generation:n.getGeneration()}}function E(F){return !B&&n.getGeneration()===F.generation&&o.getHandle()===F.handle&&Fo(o.activeRef,F.ref)}function Z(){let F=X;F!==void 0&&(clearTimeout(F.timer),X=void 0,F.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function re(){$!==void 0&&(clearTimeout($),$=void 0);}function ae(F,y){return y===b&&(m.value=false),Object.freeze({ok:false,operation:F,reason:"stale"})}function ne(F,y){return F===I&&M.value===y&&(M.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function C(F,y,H){switch(H){case "all":return Ba(n,{conversation:F.ref,keyword:y});case "text":return Ca(n,{conversation:F.ref,keyword:y});case "file":return Da(n,{conversation:F.ref,keyword:y});case "image":return Ea(n,{conversation:F.ref});case "video":return Fa(n,{conversation:F.ref});case "voice":return Ga(n,{conversation:F.ref})}}function A(F,y){return F!==""?true:y!=="all"&&y!=="text"}function N(F){s.value=F,Z();let y=++b,H=F.trim(),_=S.value,se=A(H,_);if(G=void 0,c.value=[],g.value=false,D.value=null,!se)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ue=T();return ue===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(Ce=>{let Oe=setTimeout(()=>{if(X?.timer===Oe&&(X=void 0),y!==b||!E(ue)){Ce(ae("search",y));return}r.record("debug","pinia","history","search-start",()=>({generation:ue.generation,conversation:ue.ref,category:_})),C(ue,H,_).then(j=>{if(y!==b||!E(ue)){Ce(ae("search",y));return}c.value=[...j.results],G=j.nextPageToken,g.value=!j.exhausted,m.value=false,Ce(Object.freeze({ok:true,operation:"search"}));}).catch(j=>{if(y!==b||!E(ue)){Ce(ae("search",y));return}let q=Ko(j,"search.first-page",ue.ref);D.value=q,m.value=false,Ce(Object.freeze({ok:false,operation:"search",reason:"failed",error:q}));});},Dc);X={timer:Oe,resolve:Ce};}))}function P(F){return S.value=F,(F==="image"||F==="video"||F==="voice")&&(s.value=""),N(s.value)}async function O(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!g.value||G===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let F=T();if(F===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let y=G,H=++b;m.value=true,D.value=null;try{let _=await Ha(n,y);return H!==b||!E(F)?ae("load-more",H):(c.value=[...c.value,..._.results],G=_.nextPageToken,g.value=!_.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(_){if(H!==b||!E(F))return ae("load-more",H);let se=Ko(_,"search.next-page",F.ref);return D.value=se,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:se})}}async function Q(F,y){let H=T();if(H===void 0||!Fo(H.ref,F))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let _=++I;re(),K.value="",M.value=y,D.value=null;try{return !o.messages.some(ue=>ue.id===y)&&!await o.loadAround(y)||(await nextTick(),_!==I||!E(H))?ne(_,y):(K.value=y,Object.freeze({ok:!0,operation:"locate"}))}catch(se){if(_!==I||!E(H))return ne(_,y);let ue=Ko(se,"search.locate",H.ref);return M.value="",D.value=ue,Object.freeze({ok:false,operation:"locate",reason:"failed",error:ue})}}function J(F){if(M.value!==F)return false;M.value="";let y=I,H=T();return re(),H===void 0||K.value!==F||($=setTimeout(()=>{$=void 0,y===I&&E(H)&&K.value===F&&(K.value="");},_c)),true}function fe(){I+=1,re(),M.value="",K.value="";}function me(F){b+=1,Z(),s.value="",c.value=[],m.value=false,g.value=false,S.value="all",G=void 0,D.value=null,F?.preserveLocation!==true&&fe();}function Pe(){B||(me(),B=true,ie?.(),ie=void 0);}return ie=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>me(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:g,category:S,locatingMessageId:M,highlightMessageId:K,error:D,search:N,setCategory:P,loadMore:O,locate:Q,completeLocation:J,clearLocation:fe,reset:me,dispose:Pe}})}var Ti=new WeakMap,Gr=new WeakMap;function Sn(e=Te()){be(e);let n=Ti.get(e);n===void 0&&(n=Fc(e),Ti.set(e,n));let r=n(e);return Gr.get(e)!==r&&(Gr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Gr.get(e)===r&&Gr.delete(e);})),r}var Dr=new WeakMap;function ji(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Kc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Nc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Hc(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CONVERSATION_DELETE_FAILED",category:r!==null&&Nc(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:ji(n)})}function Lc(e=Te()){let n=be(e),r=Dr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=_o(e),m=De(e),g=Jn(e),S=Bt(e),M=Sn(e),K={disposed:false};function D(B){let b=ji(B);if(K.disposed)return Object.freeze({ok:false,reason:"stale",conversation:b});let I=o.getGeneration(),G=m.activeRef!==null&&m.activeRef.conversationType===b.conversationType&&m.activeRef.conversationId===b.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:b})),!Kc(b))return Object.freeze({ok:false,reason:"unsupported",conversation:b});let X=c.deleteLocal(b);if(!X.ok){if(X.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:b});let T=Hc(X.error,b);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:I,conversation:b,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:T}})),Object.freeze({ok:false,reason:"delete-failed",conversation:b,error:T})}if(K.disposed||o.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:b});Oi(e,b);let $=m.closeActiveConversation(b),ie=G||$;return ie&&(g.reset(),S.reset(),M.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:b,data:{activeConversationCleared:ie}})),Object.freeze({ok:true,status:"deleted",conversation:b,activeConversationCleared:ie})}return K.coordinator=Object.freeze({deleteLocal:D}),Dr.set(e,K),Ee(e,()=>{K.disposed=true,Dr.get(e)===K&&Dr.delete(e);}),K.coordinator}var wi=30,qc=15,Bc=20,Vc=4294967295,xi=new WeakMap;function Fr(e){return typeof e=="object"&&e!==null}function Pt(e,n){if(typeof e!="string"||e.trim()==="")throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Ai(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Vc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function $c(e,n){if(!Fr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=Pt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Ai(e.width,"asset.width"),c=Ai(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:Pt(e.packageId,"asset.packageId"),resourceId:Pt(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:Pt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function Wt(e,n){let r=xi.get(e);r===void 0&&(r=new Map,xi.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function zi(e,n,r,o){let s=Wt(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Kr=new WeakMap;function $t(){return reactive({loading:false,loaded:false,error:null})}function bt(e){return {sticker:e(),gif:e()}}function Gi(e){return {sticker:e(),gif:e(),emoji:e()}}function Nn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function Wc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ct(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&Wc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function No(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Di(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function Rt(e){return "recordId"in e?e.recordId:void 0}function Qc(e){let n=[];for(let r=0;r<e.length;r+=wi)n.push(e.slice(r,r+wi));return n}function Nr(e){return e==="gif"?Bc:qc}function He(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function Ho(e,n){let r=He(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:He(o)!==r)].slice(0,Nr(n.kind)))}function Jc(e,n){let r=He(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>He(o)!==r)])}function _i(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=He(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Nr(e)))break}return Object.freeze(o)}function Fi(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function qo(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function Lo(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:qo(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function Uo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Xc(e){return defineStore("k2-im-expression",()=>{let n=be(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),S=$t(),M=reactive({}),K=ref({sticker:[],gif:[]}),D=bt($t),B=ref({sticker:[],gif:[]}),b=ref({sticker:[],gif:[],emoji:[]}),I=Gi($t),G=ref({sticker:[],gif:[],emoji:[]}),X=ref([]),$=ref("idle"),ie=ref(""),T=ref([]),E=ref(0),Z=$t(),re=ref(void 0),ae=computed(()=>Nn(S,m.value.length)),ne=computed(()=>{let d=new Set([...Object.keys(M),...Object.keys(g.value)]);return Object.fromEntries([...d].map(p=>{let v=M[p]??{loading:false,loaded:true,error:null};return [p,Nn(v,g.value[p]?.length??0)]}))}),C=computed(()=>({sticker:Nn(D.sticker,K.value.sticker.length),gif:Nn(D.gif,K.value.gif.length)})),A=computed(()=>({sticker:Nn(I.sticker,b.value.sticker.length),gif:Nn(I.gif,b.value.gif.length),emoji:Nn(I.emoji,X.value.length)})),N=computed(()=>Nn(Z,T.value.length)),P=computed(()=>re.value!==void 0),O=false,Q=0,J=0,fe={},me=bt(()=>0),Pe=Gi(()=>0),F=0,y=0,H=0,_=0,se=0,ue=null,Ce=null,Oe=null,j="emoji",q=new Set,ge=[],Ie=null,pe=null,_e=null,k=null,L=bt(()=>new Map),de=bt(()=>new Map),ve=new Map,Me=new Map,z=bt(()=>Promise.resolve());function V(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:Q,accountId:d.userId}}function W(d){return !O&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===Q&&d.accountId===r.getCredentials().userId}function le(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function Re(d,p,v){let h=Ct(p,d);return v.error=h,Object.freeze({ok:false,operation:d,reason:"failed",error:h})}function Se(){return Object.freeze({ok:false,reason:"stale"})}function $e(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 Ue(){let d=p=>Object.freeze(b.value[p].flatMap(v=>{let h=$e(v);return h===null?[]:[Object.freeze({asset:h,pendingSync:L[p].has(He(h))})]}).slice(0,Nr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(X.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:ve.has(p.stableKey)})))})}function Cn(){for(let d of ["sticker","gif","emoji"])I[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(I[d].error=null);}function un(d,p){let v=No({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function er(d,p,v,h=[p]){let R=o,x=++H,oe=zi(R,d.accountId,v,h);se=oe.revision;let ce=oe.promise.then(()=>(W(d)&&x===H&&Cn(),true),te=>{if(!W(d)||x!==H)return false;let he=No({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[p].error=he,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:he.code,data:te}})),false});return {...oe,settled:ce}}function En(d){return ue!==null&&We(ue,d)}function Rn(d){if(_e!==null)return _e;let v=(async()=>{for(;W(d)&&!En(d);){let R=k!==null&&We(k.context,d)?k:null;if(R!==null){let oe=await R.promise;if(oe.ok||!W(d)||oe.reason!=="stale")return;continue}let x=await Be();if(x.ok||!W(d)||x.reason!=="stale")return}})();_e=v;let h=()=>{_e===v&&(_e=null);};return v.then(h,h),v}function dn(d,p,v){if(!W(d))return Promise.resolve();if(_+=1,o===void 0||d.accountId==="")return ue=d,Promise.resolve();let h=Ue();return En(d)?er(d,p,h).settled.then(()=>{}):(Oe=h,j=p,q.add(p),ge.push(v),Rn(d))}function nr(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function fn(d$1,p){let v=[...d$1.sticker],h=[...d$1.gif],R=[...d$1.emoji],x=new Map(d$1.pendingSticker),oe=new Map(d$1.pendingGif),ce=new Map(d$1.pendingEmoji);for(let te of p){if(te.type==="prepend-asset"){(te.kind==="sticker"?x:oe).set(He(te.asset),te.asset),te.kind==="sticker"?v=[...Ho(v,te.asset)]:h=[...Ho(h,te.asset)];continue}if(te.type==="prepend-emoji"||te.type==="prepend-emojis"){let ye=te.type==="prepend-emoji"?[te.entry]:te.entries;for(let ze of ye)ze.kind==="emoji"&&ce.set(ze.stableKey,ze),R=[...d(R,ze)];continue}if(te.type==="authoritative"){if(te.kind==="emoji"){for(let ye of te.items)if(ye.kind==="emoji")for(let[ze,Fe]of ce)Fe.resourceId===ye.resourceId&&ce.delete(ze);R=[...Lo(te.items,R,new Set(ce.keys()))];}else {let ye=te.kind==="sticker"?x:oe;for(let Fe of te.items)Fe.kind===te.kind&&ye.delete(He(Fe));let ze=_i(te.kind,te.items,ye);te.kind==="sticker"?v=[...ze]:h=[...ze];}continue}if(te.type==="delete-assets"){let ye=new Set(te.identities),ze=te.kind==="sticker"?x:oe,Fe=we=>we.kind==="emoji"||!ye.has(He(we))||ze.has(He(we));te.kind==="sticker"?v=v.filter(Fe):h=h.filter(Fe);continue}let he=new Set(te.resourceIds);R=R.filter(ye=>ye.kind==="game"||!he.has(ye.resourceId)||ce.has(ye.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(h),emoji:Object.freeze(R),pendingSticker:x,pendingGif:oe,pendingEmoji:ce}}function at(d){if(!Fr(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(ce,te)=>{let he=[],ye=new Map,ze=new Set;for(let Fe of te){if(!Fr(Fe)||typeof Fe.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let we=$c(Fe.asset,ce),Ne=He(we);ze.has(Ne)||(ze.add(Ne),he.length<Nr(ce)&&(he.push(we),Fe.pendingSync&&ye.set(Ne,we)));}return {items:Object.freeze(he),pending:ye}},v=p("sticker",d.sticker),h=p("gif",d.gif),R=[],x=new Map,oe=new Set;for(let ce of d.emoji){if(!Fr(ce)||typeof ce.stableKey!="string"||ce.stableKey.trim()===""||ce.kind!=="emoji"&&ce.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let te=ce.stableKey.trim(),he,ye=false;if(ce.kind==="game"){if(ce.gameType!=="dice"&&ce.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(he=Uo(ce.gameType),he.stableKey!==te)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let ze=Pt(ce.token,"emoji.token"),Fe=Pt(ce.resourceId,"emoji.resourceId");if(typeof ce.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");ye=ce.pendingSync,he=Object.freeze({kind:"emoji",stableKey:te,token:ze,resourceId:Fe});}oe.has(te)||(oe.add(te),R.length<14&&(R.push(he),he.kind==="emoji"&&ye&&x.set(te,he)));}return {sticker:v.items,gif:h.items,emoji:Object.freeze(R),pendingSticker:v.pending,pendingGif:h.pending,pendingEmoji:x}}function Pn(d){b.value={sticker:d.sticker,gif:d.gif,emoji:[]},G.value={sticker:[],gif:[],emoji:[]},X.value=d.emoji,L.sticker.clear(),L.gif.clear(),ve.clear();for(let[p,v]of d.pendingSticker)L.sticker.set(p,v);for(let[p,v]of d.pendingGif)L.gif.set(p,v);for(let[p,v]of d.pendingEmoji)ve.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(I[p],{loading:false,loaded:true,error:null});}function qe(d,p){if(o===void 0||d.accountId==="")return 0;let v=Wt(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ge(d){if(o===void 0||d.accountId===""||!En(d))return;let p=Wt(o,d.accountId);if(p.revision===se)return;let v=p.latestSnapshot===null?nr():at(p.latestSnapshot),h=(R,x)=>{let oe=R==="sticker"?v.pendingSticker:v.pendingGif,ce=new Map(b.value[R].flatMap(te=>te.kind==="emoji"||te.kind!==R?[]:[[He(te),te]]));return Object.freeze(x.map(te=>{if(te.kind==="emoji"||te.kind!==R)return te;let he=He(te);if(oe.has(he))return te;let ye=Rt(ce.get(he)??te);return Object.freeze({...te,...ye===void 0?{}:{recordId:ye}})}))};b.value={sticker:h("sticker",v.sticker),gif:h("gif",v.gif),emoji:b.value.emoji},X.value=v.emoji,L.sticker.clear(),L.gif.clear(),ve.clear();for(let[R,x]of v.pendingSticker)L.sticker.set(R,x);for(let[R,x]of v.pendingGif)L.gif.set(R,x);for(let[R,x]of v.pendingEmoji)ve.set(R,x);for(let R of ["sticker","gif"]){let x=new Set(b.value[R].flatMap(oe=>Rt(oe)===void 0?[]:[Rt(oe)]));G.value={...G.value,[R]:Object.freeze(G.value[R].filter(oe=>x.has(oe)))};}se=p.revision;}async function mn(d,p,v,h){let R="hydrate-recent";I.emoji.error=null;try{let x=null,oe=0;if(o!==void 0&&d.accountId!==""){x=Wt(o,d.accountId);let we=x.latestSnapshot;if(!h&&x.status==="failed"&&we!==null&&zi(o,d.accountId,we,[]),oe=x.revision,await x.tail.catch(()=>{}),p!==y||!W(d)||_!==v||x.revision!==oe)return le(R);if(!h&&x.status==="failed")return un(R,I.emoji);x.status==="saved"&&Ie!==null&&x.latestSnapshot===Ie&&Oe===pe&&(Oe=null,q.clear(),ge.length=0,Ie=null,pe=null);}let ce=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==y||!W(d)||_!==v||x!==null&&x.revision!==oe)return le(R);let te;try{te=ce===null?nr():at(ce);}catch(we){let Ne=o?.clearInvalid;if(ce!==null&&d.accountId!==""&&Ne!==void 0)try{await Ne(d.accountId,ce);}catch(Ze){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Ze})}throw we}let he=h?null:Oe,ye=new Set(q),ze=[...ge],Fe=he===null?te:fn(te,ze);if(Pn(Fe),se=oe,h){if(Oe=null,q.clear(),ge.length=0,Ie=null,pe=null,x!==null){x.revision+=1;for(let we of ["sticker","gif","emoji"])x.kindRevisions[we]+=1;x.status="saved",x.latestSnapshot=ce,x.error=null,se=x.revision;}return ue=d,Cn(),Object.freeze({ok:!0,operation:R})}if(he!==null&&o!==void 0&&d.accountId!==""){let we=Ue();Ie=we,pe=he;let Ne=er(d,j,we,[...ye]),Ze=await Ne.settled;if(p!==y||!W(d)||_!==v||Ne.coordinator.revision!==Ne.revision)return le(R);if(!Ze)return un(R,I.emoji);Oe===he&&(Oe=null,q.clear(),ge.length=0,Ie=null,pe=null);}return ue=d,Object.freeze({ok:!0,operation:R})}catch(x){return p!==y||!W(d)?le(R):Re(R,x,I.emoji)}}function We(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function Be(d={}){let p="hydrate-recent";if(O)return Promise.resolve(le(p));let v;try{v=V();}catch(he){let ye=Re(p,he,I.emoji);return !ye.ok&&ye.reason==="failed"&&(Ce=ye.error??I.emoji.error),Promise.resolve(ye)}let h=o===void 0||v.accountId===""?null:Wt(o,v.accountId);if(!d.force&&En(v)&&Oe===null&&(h===null||(h.status==="idle"||h.status==="saved")&&h.revision===se))return Ce=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&k!==null&&!k.force&&k.stateRevision===_&&We(k.context,v))return k.promise;let R=++y,x=_,oe=mn(v,R,x,d.force===true).then(he=>(he.ok?Ce=null:he.reason==="failed"&&(Ce=he.error??I.emoji.error),he)),ce={context:v,stateRevision:x,force:d.force===true,promise:oe};k=ce;let te=()=>{k===ce&&(k=null);};return oe.then(te,te),oe}async function pn(d){let p="load-packs";if(O)return le(p);let v=++J,h;try{h=V();}catch(R){return Re(p,R,S)}S.loading=true,S.error=null;try{let R=await h.client.expressions.packs.list(d);return v!==J||!W(h)?le(p):(c.value=R.version,m.value=Object.freeze([...R.items]),S.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(R){return v!==J||!W(h)?le(p):Re(p,R,S)}finally{v===J&&W(h)&&(S.loading=false);}}async function jn(d){let p="load-pack-items";if(O)return le(p);let v=d.trim();if(v===""){let oe=Ct(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:oe})}let h=M[v]??=$t(),R=(fe[v]??0)+1;fe[v]=R;let x;try{x=V();}catch(oe){return Re(p,oe,h)}h.loading=true,h.error=null;try{let oe=await x.client.expressions.packs.listItems(v);return fe[v]!==R||!W(x)?le(p):(g.value={...g.value,[v]:Object.freeze([...oe])},h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(oe){return fe[v]!==R||!W(x)?le(p):Re(p,oe,h)}finally{fe[v]===R&&W(x)&&(h.loading=false);}}async function it(d){let p="load-favorites";if(O)return le(p);let v=++me[d],h=D[d],R;try{R=V();}catch(x){return Re(p,x,h)}h.loading=true,h.error=null;try{let x=await R.client.expressions.favorites.list(d);return me[d]!==v||!W(R)?le(p):(Un(d,x),h.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(x){return me[d]!==v||!W(R)?le(p):Re(p,x,h)}finally{me[d]===v&&W(R)&&(h.loading=false);}}function Un(d,p){for(let x of p)de[d].delete(He(x));let v=[],h=new Set;for(let x of [...de[d].values(),...p]){let oe=He(x);h.has(oe)||(h.add(oe),v.push(Object.freeze({...x})));}K.value={...K.value,[d]:Object.freeze(v)};let R=new Set(p.flatMap(x=>x.recordId===void 0?[]:[x.recordId]));B.value={...B.value,[d]:Object.freeze(B.value[d].filter(x=>R.has(x)))};}async function qn(d,p,v){let h=D[p];try{let R=await d.client.expressions.favorites.list(p);if(me[p]!==v||!W(d))return;Un(p,R),h.loaded=!0;}catch(R){me[p]===v&&W(d)&&(h.error=Ct(R,"load-favorites"));}}function kn(d,p){let v="set-favorite";if(O)return Promise.resolve(le(v));let h=He(d),R=Me.get(h);if(R?.desired===p)return R.promise;let x;try{x=V();}catch(he){return Promise.resolve(Re(v,he,D[d.kind]))}let oe=R?.promise.catch(()=>{})??Promise.resolve(),ce=z[d.kind].catch(()=>{}),te=Promise.all([oe,ce]).then(async()=>{if(!W(x))return le(v);let he=d.kind,ye=D[he];ye.error=null;let ze=K.value[he].find(we=>He(we)===h);if(p&&ze!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&ze?.recordId===void 0){let we=No({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return ye.error=we,Object.freeze({ok:false,operation:v,reason:"failed",error:we})}let Fe=++me[he];try{if(p?await x.client.expressions.favorites.add(d):await x.client.expressions.favorites.delete([ze.recordId]),!W(x))return le(v);p?(de[he].set(h,Object.freeze({...d})),K.value={...K.value,[he]:Jc(K.value[he],d)}):(de[he].delete(h),K.value={...K.value,[he]:Object.freeze(K.value[he].filter(Ne=>Ne.recordId!==ze.recordId))});let we=++me[he];return Fe=we,await qn(x,he,we),!W(x)||me[he]!==we?le(v):Object.freeze({ok:!0,operation:v})}catch(we){return !W(x)||me[he]!==Fe?le(v):Re(v,we,ye)}finally{me[he]===Fe&&W(x)&&(ye.loading=false);}});return Me.set(h,{desired:p,promise:te}),z[d.kind]=te.then(()=>{},()=>{}),te.finally(()=>{Me.get(h)?.promise===te&&Me.delete(h);}),te}async function wn(d){let p=await kn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function xn(d){return kn(d,false)}function On(d,p,v){if(O)return;let h=Di(p),R=new Set(B.value[d]);v??!R.has(h)?R.add(h):R.delete(h),B.value={...B.value,[d]:Object.freeze([...R])};}function rn(d,p,v){if(Ge(v),d==="emoji"){for(let R of p)if(R.kind==="emoji")for(let[x,oe]of ve)oe.resourceId===R.resourceId&&ve.delete(x);b.value={...b.value,emoji:Object.freeze([...p])},X.value=Lo(p,X.value,new Set(ve.keys()));}else {for(let R of p)R.kind===d&&L[d].delete(He(R));b.value={...b.value,[d]:_i(d,p,L[d])};}let h=new Set(p.flatMap(R=>R.recordId===void 0?[]:[R.recordId]));G.value={...G.value,[d]:Object.freeze(G.value[d].filter(R=>h.has(R)))},I[d].loaded=true,dn(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function on(d){let p="load-recent";if(O)return le(p);let v=I[d],h=await Be();if(!h.ok)return h.reason==="stale"?le(p):(v.error=h.error??I.emoji.error,Object.freeze({...h,operation:p}));let R=++Pe[d],x;try{x=V();}catch(oe){return Re(p,oe,v)}v.loading=true,v.error=null;try{let oe=qe(x,d),ce=await x.client.expressions.recent.list(d);return Pe[d]!==R||!W(x)?le(p):qe(x,d)!==oe?(Ge(x),le(p)):(rn(d,ce,x),Object.freeze({ok:!0,operation:p}))}catch(oe){return Pe[d]!==R||!W(x)?le(p):Re(p,oe,v)}finally{Pe[d]===R&&W(x)&&(v.loading=false);}}async function hn(d,p){if(!W(d))return;let v=++Pe[p],h=I[p];h.loading=true,h.error=null;try{Ge(d);let R=qe(d,p),x=await d.client.expressions.recent.list(p);if(Pe[p]!==v||!W(d))return;if(qe(d,p)!==R){Ge(d);return}rn(p,x,d);}catch(R){Pe[p]===v&&W(d)&&(h.error=Ct(R,"load-recent"));}finally{Pe[p]===v&&W(d)&&(h.loading=false);}}function vn(d,p){if(!W(d))return false;Ge(d),y+=1;let v=p.kind,h=Object.freeze({...p});return L[v].set(He(h),h),b.value={...b.value,[v]:Ho(b.value[v],h)},I[v].loaded=true,dn(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:h})),true}function gn(d$1,p){if(!W(d$1))return false;Ge(d$1),y+=1;let v=Object.freeze(p.map(R=>Object.freeze({...R}))),h=X.value;for(let R of v)ve.set(R.stableKey,R),h=d(h,R);return X.value=h,I.emoji.loaded=true,dn(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Qe(d,p){return gn(d,[p])}async function Je(d,p,v=true){let h="report-recent";if(!W(d))return le(h);let R=p.kind,x=++Pe[R],oe=I[R];oe.error=null;try{if(await d.client.expressions.recent.report(p),Pe[R]!==x||!W(d))return le(h);if(!v)return Object.freeze({ok:!0,operation:h});try{Ge(d);let ce=qe(d,R),te=await d.client.expressions.recent.list(R);if(Pe[R]!==x||!W(d))return le(h);if(qe(d,R)!==ce)return Ge(d),le(h);rn(R,te,d);}catch(ce){Pe[R]===x&&W(d)&&(oe.error=Ct(ce,"load-recent"));}return Object.freeze({ok:!0,operation:h})}catch(ce){return Pe[R]!==x||!W(d)?le(h):Re(h,ce,oe)}}async function so(d){let p="report-recent";if(O)return le(p);let v;try{v=V();}catch(h){return Re(p,h,I[d.kind])}return d.kind==="emoji"?Qe(v,Object.freeze({...d,stableKey:qo(d)})):vn(v,d),Je(v,d)}function lo(d,p,v){if(O)return;let h=Di(p),R=new Set(G.value[d]);v??!R.has(h)?R.add(h):R.delete(h),G.value={...G.value,[d]:Object.freeze([...R])};}async function tr(d,p,v){let h=d==="favorites"?"delete-favorites":"delete-recent";if(O)return le(h);let R=d==="favorites"?B:G,x=d==="favorites"?me:Pe,oe=d==="favorites"?D:I,ce=v?.selected??R.value[p];if(ce.length===0)return Object.freeze({ok:false,operation:h,reason:"empty"});let te=oe[p];if(te.loading)return Object.freeze({ok:false,operation:h,reason:"busy"});let he=++x[p],ye;try{ye=v?.context??V();}catch(xe){return Re(h,xe,te)}d==="recent"&&Ge(ye);let ze=d==="recent"?qe(ye,p):0,Fe=new Set(ce),we=d==="recent"?b.value[p].filter(xe=>{let en=Rt(xe);return en!==void 0&&Fe.has(en)}):[];te.loading=true,te.error=null;let Ne=[],Ze=new Set,zn,Gn,an=false;for(let xe of Qc(ce)){if(!W(ye))return le(h);if(d==="recent"&&x[p]!==he){an=true;break}try{d==="favorites"?await ye.client.expressions.favorites.delete(xe):await ye.client.expressions.recent.delete(xe);for(let en of xe)Ze.add(en);}catch(en){let Dn=Ct(en,h);zn??=Dn,Ne.push(...xe);}}if(!W(ye))return le(h);if(d==="recent"&&x[p]!==he&&(an=true),d==="recent"&&qe(ye,p)!==ze&&(an=true),d==="favorites"){let xe=p;K.value={...K.value,[xe]:Object.freeze(K.value[xe].filter(_n=>_n.recordId===void 0||!Ze.has(_n.recordId)))};let en=new Set(ce),Dn=B.value[xe].filter(_n=>!en.has(_n));if(B.value={...B.value,[xe]:Object.freeze([...new Set([...Dn,...Ne])])},Gn=++me[xe],await qn(ye,xe,Gn),!W(ye))return le(h)}else {let xe=p;Ge(ye);let en=we.filter(Ae=>{let sn=Rt(Ae);return sn!==void 0&&Ze.has(sn)}),Dn=new Set(en.filter(Ae=>Ae.kind==="emoji").map(Ae=>Ae.resourceId)),_n=new Set(en.filter(Ae=>Ae.kind!=="emoji").map(He));xe==="emoji"&&(X.value=Object.freeze(X.value.filter(Ae=>Ae.kind==="game"||!Dn.has(Ae.resourceId)||ve.has(Ae.stableKey)))),b.value={...b.value,[xe]:Object.freeze(b.value[xe].filter(Ae=>{let sn=Rt(Ae);return sn===void 0||!Ze.has(sn)}))};let uo=new Set(ce),In=an?G.value[xe].filter(Ae=>!Ze.has(Ae)):G.value[xe].filter(Ae=>!uo.has(Ae));if(G.value={...G.value,[xe]:Object.freeze(an?In:[...new Set([...In,...Ne])])},xe==="emoji"){let Ae=b.value.emoji.filter(sn=>sn.kind==="emoji");X.value=Lo(Ae,X.value,new Set(ve.keys()));}let yn=Object.freeze(xe==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Dn])}:{type:"delete-assets",kind:xe,identities:Object.freeze([..._n])});if(dn(ye,xe,yn),an&&Ze.size>0&&await hn(ye,xe),!W(ye))return le(h)}return (d==="recent"?Pe[p]===he:me[p]===Gn)&&(te.loaded=true,(zn!==void 0||d==="recent")&&(te.error=zn??null),te.loading=false),an?le(h):Ne.length===0?Object.freeze({ok:true,operation:h}):Object.freeze({ok:false,operation:h,reason:Ze.size===0?"failed":"partial",error:zn,failedRecordIds:Object.freeze(Ne)})}function co(d){let p="delete-favorites";if(O)return Promise.resolve(le(p));let v=Object.freeze([...B.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let h;try{h=V();}catch(oe){return Promise.resolve(Re(p,oe,D[d]))}let x=z[d].catch(()=>{}).then(()=>W(h)?tr("favorites",d,{context:h,selected:v}):le(p));return z[d]=x.then(()=>{},()=>{}),x}function rr(d){return tr("recent",d)}function st(d,p){let v=++F;return $.value=d,ie.value=p,T.value=[],E.value=0,re.value=void 0,Z.loading=true,Z.loaded=false,Z.error=null,v}async function lt(d,p){let v="load-giphy";if(O)return le(v);let h={mode:$.value,query:ie.value,items:T.value,totalCount:E.value,nextOffset:re.value,loaded:Z.loaded},R=st(d,p),x=()=>{$.value=h.mode,ie.value=h.query,T.value=h.items,E.value=h.totalCount,re.value=h.nextOffset,Z.loaded=h.loaded;},oe;try{oe=V();}catch(ce){return x(),Z.loading=false,Re(v,ce,Z)}try{let ce=d==="trending"?await oe.client.expressions.giphy.trending():await oe.client.expressions.giphy.search(p);return R!==F||!W(oe)?le(v):(T.value=Fi(ce.items),E.value=ce.totalCount,re.value=ce.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ce){return R!==F||!W(oe)?le(v):(x(),Re(v,ce,Z))}finally{R===F&&W(oe)&&(Z.loading=false);}}function ct(){return lt("trending","")}function An(d){if(O)return Promise.resolve(le("load-giphy"));let p=d.trim();return p===""?(st("search",""),Z.loading=false,Z.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):lt("search",p)}async function or(){let d="load-more-giphy";if(O)return le(d);if(Z.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if($.value==="idle"||re.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++F,v=$.value,h=ie.value,R=re.value,x;try{x=V();}catch(oe){return Re(d,oe,Z)}Z.loading=true,Z.error=null;try{let oe=v==="trending"?await x.client.expressions.giphy.trending({offset:R}):await x.client.expressions.giphy.search(h,{offset:R});return p!==F||!W(x)?le(d):(T.value=Fi([...T.value,...oe.items]),E.value=oe.totalCount,re.value=oe.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(oe){return p!==F||!W(x)?le(d):Re(d,oe,Z)}finally{p===F&&W(x)&&(Z.loading=false);}}async function ar(d){return At([d])}async function At(d){let p="report-recent";if(O)return le(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=V();}catch(x){return Re(p,x,I.emoji)}let h=Object.freeze(d.map(x=>Object.freeze({...x,stableKey:qo(x)})));if(!gn(v,h))return le(p);let R=Object.freeze({ok:true,operation:p});for(let[x,oe]of h.entries())if(R=await Je(v,{kind:"emoji",token:oe.token,resourceId:oe.resourceId},x===h.length-1),!R.ok&&R.reason==="stale")return R;return R}function Xe(d,p){Je(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function ir(d,p){if(O)return Se();let v;try{v=V();}catch{return Se()}let h;try{h=await d.messages.sendSticker(p);}catch(R){if(!W(v))return Se();throw R}return W(v)?(h.ok&&vn(v,p)&&Xe(v,p),h):Se()}async function zt(d,p){if(O)return Se();let v;try{v=V();}catch{return Se()}let h;try{h=await d.messages.sendGifAsset(p);}catch(R){if(!W(v))return Se();throw R}return W(v)?(h.ok&&vn(v,p)&&Xe(v,p),h):Se()}async function ut(d$1,p){if(O)return Se();let v;try{v=V();}catch{return Se()}let h;try{h=await d$1.messages.sendGame(p);}catch(R){if(!W(v))return Se();throw R}return W(v)?(h.ok&&(Ge(v),y+=1,X.value=d(X.value,Uo(p)),I.emoji.loaded=true,dn(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Uo(p)}))),h):Se()}function Ye(d={}){if(O)return;let p=d.preserveRecentHydrationFailure===true?Ce:null;Q+=1,J+=1,F+=1,y+=1,H+=1,_=0,se=0,ue=null,Oe=null,q.clear(),ge.length=0,Ie=null,pe=null,_e=null,k=null,Ce=p,Me.clear(),z=bt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(S,{loading:false,loaded:false,error:null});for(let v of Object.keys(M))delete M[v];for(let v of Object.keys(fe))fe[v]=(fe[v]??0)+1;K.value={sticker:[],gif:[]},B.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])me[v]+=1,Object.assign(D[v],{loading:false,loaded:false,error:null});b.value={sticker:[],gif:[],emoji:[]},G.value={sticker:[],gif:[],emoji:[]},X.value=[],L.sticker.clear(),L.gif.clear(),de.sticker.clear(),de.gif.clear(),ve.clear();for(let v of ["sticker","gif","emoji"])Pe[v]+=1,Object.assign(I[v],{loading:false,loaded:false,error:null});p!==null&&(I.emoji.error=p),$.value="idle",ie.value="",T.value=[],E.value=0,re.value=void 0,Object.assign(Z,{loading:false,loaded:false,error:null});}function sr(){O||(Ye(),O=true);}return Kr.set(e,Object.freeze({dispose:sr})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:ae,packItemStatus:ne,favorites:K,favoriteStatus:C,favoriteSelection:B,recent:b,recentStatus:A,recentSelection:G,emojiRecent:X,giphyMode:$,giphyQuery:ie,giphyItems:T,giphyTotalCount:E,giphyHasMore:P,giphyStatus:N,hydrateRecent:Be,loadPacks:pn,loadPackItems:jn,loadFavorites:it,addFavorite:wn,setFavorite:kn,unsetFavorite:xn,toggleFavoriteSelection:On,deleteSelectedFavorites:co,loadRecent:on,reportRecent:so,rememberEmoji:ar,rememberEmojis:At,toggleRecentSelection:lo,deleteSelectedRecent:rr,loadGiphyTrending:ct,searchGiphy:An,loadMoreGiphy:or,sendSticker:ir,sendGif:zt,sendGame:ut,reset:Ye}})}var Ki=new WeakMap,_r=new WeakMap;function Yc(e=Te()){be(e);let n=Ki.get(e);n===void 0&&(n=Xc(e),Ki.set(e,n));let r=n(e),o=Kr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return _r.get(e)!==r&&(_r.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),_r.get(e)===r&&(_r.delete(e),Kr.get(e)===o&&Kr.delete(e));})),r}var Hr=new WeakMap;function Hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Lr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function eu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function nu(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:r!==null&&eu(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Hi(n)})}function tu(e=Te()){let n=be(e),r=Hr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=De(e),m=Sn(e),g={disposed:false};function S(I){return !g.disposed&&o.getGeneration()===I.generation&&c.getHandle()===I.handle&&Lr(c.activeRef,I.conversation)}function M(){let I=g.activeIntent;I!==void 0&&(g.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function K(I){if(!S(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:I.generation,conversation:I.conversation}));try{if(!await c.loadLatest()||!S(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:I.generation,conversation:I.conversation})),I.complete(Object.freeze({status:"applied",conversation:I.conversation}));}catch(G){if(!S(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let X=nu(G,I.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:I.generation,conversation:I.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:X}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:X}));}}function D(I){let G=g.activeIntent;G===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==G.selfId||I.message.status==="sent"||!Lr(I.ref,G.conversation)||(g.activeIntent=void 0,K(G));}async function B(I,G){let X=c.getHandle();if(!Zc(I)||g.disposed||!c.hasNewer||X===void 0||!Lr(X.ref,I)||!Lr(c.activeRef,I))return Object.freeze({value:await G(),history:Object.freeze({status:"not-needed"})});M();let $=Hi(I),ie,T=new Promise(Z=>{let re=false;ie=ae=>{re||(re=true,Z(ae));};}),E={token:Symbol("history-return-after-send"),conversation:$,handle:X,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:ie};g.activeIntent=E;try{let Z=await G();return g.activeIntent?.token===E.token&&(g.activeIntent=void 0,E.complete(S(E)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),Object.freeze({value:Z,history:await T})}catch(Z){throw g.activeIntent?.token===E.token&&(g.activeIntent=void 0,E.complete(S(E)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),await T,Z}}let b=o.subscribeProductEvents(D);return g.coordinator=Object.freeze({run:B}),Hr.set(e,g),Ee(e,()=>{g.disposed=true,M(),b(),Hr.get(e)===g&&Hr.delete(e);}),g.coordinator}function Li(e,n,r){let o=e.bytesTransferred,s=e.bytesTotal;if(e.state!=="running"||e.phase!=="transferring"||o===void 0||s===void 0||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<0||s<=0||o>=s)return {};let c=n===void 0||n.attempt!==e.attempt||n.bytesTotal!==s||o<n.lastBytes||r<n.lastAt||r-n.lastAt>=3e4,m=c?[{at:r,bytes:o}]:[...n.measurements];!c&&o>n.lastBytes&&r-m.at(-1).at>=1e3&&m.push({at:r,bytes:o});let g=!c&&o===n.lastBytes?n.lastAt:r;for(;m.length>1&&m[1].at<=g-5e3;)m.shift();let S=m[0],M={startedAt:S.at,startedBytes:S.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},K=M.lastAt-M.startedAt,D=o-M.startedBytes;if(K<1e3||D<=0)return {sample:M};let B=D*1e3/K,b=(s-o)*1e3/B;return !Number.isFinite(B)||!Number.isFinite(b)?{sample:M}:{sample:M,estimate:{bytesPerSecond:B,estimatedRemainingMs:Math.ceil(b)}}}function Bi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Vi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Bi(e.conversation)}})}function au(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Bo(e,n){return au(e)?Vi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function iu(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:Bi(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Vi(e.error)}})}function $i(e,n){return n===void 0?e:`${e}\0${n}`}function Tn(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function su(e){return defineStore("k2-im-media",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),g=false,S=0,M=null,K=-1,D,B=new Map,b=computed(()=>{let y={};for(let H of s.value)H.direction==="upload"&&Tn(o.activeRef,H.ref)&&(y[H.messageId]=H);return y}),I=computed(()=>{let y=o.activeRef,H={};for(let _ of s.value)_.direction!=="upload"||_.state!=="queued"&&_.state!=="running"&&_.state!=="paused"||!Tn(y,_.ref)||(H[_.messageId]=_.state==="queued"?0:_.percent);return H}),G=computed(()=>{let y={};for(let H of s.value)H.direction==="download"&&Tn(o.activeRef,H.ref)&&(y[$i(H.messageId,H.itemIndex)]=H);return y}),X=computed(()=>{let y={};for(let[H,_]of Object.entries(G.value))(_.state==="queued"||_.state==="running")&&(y[H]=_.percent);return y}),$=computed(()=>{let y=o.activeRef,H={};for(let _ of s.value)_.direction==="upload"&&_.state==="queued"&&_.phase==="waiting-upload-slot"&&Tn(y,_.ref)&&(H[_.messageId]=true);return H}),ie=computed(()=>{let y=o.activeRef,H={};for(let _ of s.value)_.direction==="upload"&&_.state==="running"&&_.phase==="finalizing"&&Tn(y,_.ref)&&(H[_.messageId]=true);return H});function T(y,H,_){if(g||M!==H||K!==_||n.getGeneration()!==_)return;let se=new Set,ue=Date.now();s.value=y.map(Ce=>{let Oe=JSON.stringify([Ce.id,Ce.ref.conversationType,Ce.ref.conversationId]);se.add(Oe);let{sample:j,estimate:q}=Li(Ce,B.get(Oe),ue);return j===void 0?B.delete(Oe):B.set(Oe,j),iu(Ce,q)});for(let Ce of B.keys())se.has(Ce)||B.delete(Ce);}function E(y){let H=n.getGeneration();if(g)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(M===y&&K===H||(S+=1,D?.(),D=void 0,M=y,K=y===null?-1:H,s.value=[],B.clear(),c.value=null,m.value=null,y===null))return;let _=false;D=y.media.subscribe(se=>{_=true,T(se,y,H);}),_||T(y.media.getSnapshot(),y,H),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:H}));}function Z(){E(n.getProductClient());}function re(){E(null),m.value=null;}async function ae(y,H,_){let se=n.getProductClient();if(se===null)return Object.freeze({ok:false,operation:y,reason:"not-ready"});if(E(se),!s.value.some(Oe=>Oe.id===H))return Object.freeze({ok:false,operation:y,reason:"not-found"});let ue=n.getGeneration(),Ce=S;c.value=null;try{return y==="retry"&&_!==void 0?await se.media.retry(H,_):await se.media[y](H),g||Ce!==S||n.getGeneration()!==ue||M!==se?Object.freeze({ok:!1,operation:y,reason:"stale"}):Object.freeze({ok:!0,operation:y})}catch(Oe){if(g||Ce!==S||n.getGeneration()!==ue||M!==se)return Object.freeze({ok:false,operation:y,reason:"stale"});let j=Bo(Oe,y);return c.value=j,r.record("error","pinia","media",`media-task-${y}-failed`,()=>({generation:ue,data:{taskId:H},error:{message:j.code,data:j}})),Object.freeze({ok:false,operation:y,reason:"failed",error:j})}}function ne(y){return ae("cancel",y)}function C(y,H){return ae("retry",y,H)}function A(y){return ae("pause",y)}function N(y){return ae("resume",y)}async function P(y){let H=n.getProductClient();if(H===null)return {available:false,reason:"not-ready"};E(H);let _=n.getGeneration(),se=S;try{let ue=await H.media.getUploadRecovery(y);return g||se!==S||n.getGeneration()!==_||M!==H?{available:!1,reason:"stale"}:Object.freeze({available:ue.available,...ue.reason===void 0?{}:{reason:ue.reason},...ue.expiresAt===void 0?{}:{expiresAt:ue.expiresAt}})}catch(ue){return g||se!==S||n.getGeneration()!==_||M!==H?{available:false,reason:"stale"}:(c.value=Bo(ue,"getUploadRecovery"),{available:false,reason:"failed"})}}async function O(y,H){let _="resumeUpload",se=n.getProductClient();if(se===null)return Object.freeze({ok:false,operation:_,reason:"not-ready"});E(se);let ue=n.getGeneration(),Ce=S;c.value=null;try{return await se.media.resumeUpload(y,H),g||Ce!==S||n.getGeneration()!==ue||M!==se?Object.freeze({ok:!1,operation:_,reason:"stale"}):Object.freeze({ok:!0,operation:_})}catch(Oe){if(g||Ce!==S||n.getGeneration()!==ue||M!==se)return Object.freeze({ok:false,operation:_,reason:"stale"});let j=Bo(Oe,_);return j.code!=="IM_SDK_MEDIA_PAUSED"&&j.code!=="IM_SDK_MEDIA_CANCELLED"&&(c.value=j),Object.freeze({ok:false,operation:_,reason:"failed",error:j})}}async function Q(y){let H=o.activeRef,_=s.value.find(ue=>ue.direction==="upload"&&(ue.state==="queued"||ue.state==="running"||ue.state==="paused")&&ue.messageId===y&&Tn(H,ue.ref));if(_===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let se=await ne(_.id);return Tn(o.activeRef,_.ref)?se:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function J(y,H){let _=typeof y=="string"?y:y.messageId,se=typeof y=="string"?H:y.itemIndex,ue=s.value.filter(j=>j.direction==="download"&&(j.state==="queued"||j.state==="running")&&j.messageId===_&&j.itemIndex===se&&(typeof y=="string"||Tn(y.conversation,j.ref)));if(ue.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(ue.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let Ce=ue[0],Oe=await ne(Ce.id);return Tn(o.activeRef,Ce.ref)?Oe:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function fe(y){let H=o.activeRef;return y.status!=="failed"||!(y.failure?.displayCode==="media.uploadInterrupted"||y.failure?.displayCode==="media.cancelled"||y.failure?.displayCode==="media.uploadTimeout"&&y.failure.retryable===false)||y.contentType!=="video"&&y.contentType!=="file"&&!(y.contentType==="filesAlbum"&&y.body.filesAlbum?.items.length===1)||H===null||y.conversationId!==H.conversationId||y.conversationType!==H.conversationType?false:(m.value=Object.freeze({messageId:y.id,conversationId:y.conversationId,conversationType:y.conversationType,kind:y.contentType==="video"?"video":"file"}),true)}function me(){let y=m.value;return m.value=null,y}function Pe(){m.value=null;}function F(){g||(S+=1,D?.(),D=void 0,M=null,K=-1,s.value=[],B.clear(),c.value=null,m.value=null,g=true);}return {tasks:s,error:c,uploadProgress:I,uploadTasks:b,downloadTasks:G,downloadProgress:X,uploadWaiting:$,uploadFinalizing:ie,replacementRequest:m,start:Z,reset:re,cancel:ne,retry:C,pause:A,resume:N,getUploadRecovery:P,resumeUpload:O,cancelUpload:Q,cancelDownload:J,requestReplacement:fe,takeReplacementRequest:me,clearReplacementRequest:Pe,dispose:F}})}var qi=new WeakMap,Ur=new WeakMap;function lu(e=Te()){be(e);let n=qi.get(e);n===void 0&&(n=su(e),qi.set(e,n));let r=n(e);return Ur.get(e)!==r&&(Ur.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Ur.get(e)===r&&Ur.delete(e);})),r}function Yn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function qr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function uu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&cu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function 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 Mt(e,n){return Ot(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`channel-member-management.${e}`,retryable:false,conversation:n}))}function du(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Wi(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function fu(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Wi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:Wi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function mu(e,n,r,o){let s=Yn(r);if(s.conversationId==="")return {ok:false,result:Mt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ot(n,s,"not-ready")};let m=e.getGeneration(),g=fu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Ot(n,s,"not-allowed",du(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function St(e,n,r,o,s){let c=mu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ot(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Ot(n,c.captured.conversation,"stale");let g=uu(m,n,c.captured.conversation),S=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Ot(n,c.captured.conversation,S,g)}}function pu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Qi(e,n,r){let o=Yn(n),s=pu(r);return s.length===0?Promise.resolve(Mt("invite-members",o)):St(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Ji(e,n,r){let o=Yn(n),s=qr(r);return s.userId===""?Promise.resolve(Mt("remove-member",o)):St(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Xi(e,n,r,o){let s=Yn(n),c=qr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Mt(m,s)):St(e,m,s,async({client:g})=>(o?await g.channels.addAdmin(s,c.userId):await g.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Yi(e,n,r){return Xi(e,n,r,true)}function Zi(e,n,r){return Xi(e,n,r,false)}function es(e,n,r){let o=Yn(n),s=qr(r);return s.userId===""?Promise.resolve(Mt("transfer-ownership",o)):St(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function ns(e,n,r){let o=Yn(n),s=r===void 0?void 0:qr(r);return s!==void 0&&s.userId===""?Promise.resolve(Mt("leave",o)):St(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function ts(e,n){let r=Yn(n);return St(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 Qt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function vu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function gu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&vu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function 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 Et(e,n){return Tt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function Iu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function hu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):K("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function yu(e,n,r,o){let s=Qt(r);if(s.conversationId==="")return {ok:false,result:Et(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Tt(n,s,"not-ready")};let m=e.getGeneration(),g=hu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Tt(n,s,"not-allowed",Iu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Hn(e,n,r,o,s){let c=yu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Tt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Tt(n,c.captured.conversation,"failed",gu(m,n,c.captured.conversation)):Tt(n,c.captured.conversation,"stale")}}function rs(e,n,r){let o=Qt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Et(e,o)}:{ok:true,value:s}}function os(e,n,r){let o=r.trim();return o===""?Promise.resolve(Et("update-name",Qt(n))):Hn(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var bu=100;function as(e,n,r){let o=r.trim();return o===""||[...o].length>bu?Promise.resolve(Et("update-description",Qt(n))):Hn(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function is(e,n,r){return Hn(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?Et("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function ss(e,n,r){let o=rs("set-my-nickname",n,r);return o.ok?Hn(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function ls(e,n,r,o,s){let c=r.trim(),m=rs("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?Et("set-member-nickname",Qt(n)):m.result);let g=Object.freeze({userId:c,role:o});return Hn(e,"set-member-nickname",n,async({client:S,conversation:M})=>(await S.channels.setMemberNickname(M,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:M,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function cs(e,n,r,o){return Hn(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function us(e,n,r){return Hn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ds(e,n,r){return Hn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Cu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Ru(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function Pu(e){let n=e.getProductClient();if(n===null)return null;let r=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===r&&e.getProductClient()===n})}function ku(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ou(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&ku(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Zn(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 Br(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 et(e,n,r,o){let s=Pu(e);if(s===null)return {ok:false,result:Zn(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:Zn(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:Zn(n,r,"failed",Ou(c,n,r))}:{ok:false,result:Zn(n,r,"stale")}}}function jt(e,n){let r=Cu(n);return r.conversationId===""?{ok:false,result:Zn(e,r,"failed",Br(e,r))}:{ok:true,conversation:r}}async function fs(e,n,r){let o=jt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await et(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(g=>Object.freeze({countryCode:g.countryCode,mobile:g.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function ms(e,n){let r=jt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ps(e,n,r){let o=jt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return Zn("report",s,"failed",Br("report",s));let m=await et(e,"report",s,g=>g.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function vs(e,n){let r=jt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function gs(e,n){let r=n.trim();if(r==="")return Zn("search-user",null,"failed",Br("search-user",null));let o=await et(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:Ru(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function Is(e,n){let r=jt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await et(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 Br("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function hs(e,n,r){let o=jt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await et(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 Jt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Mu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Su(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Mu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function wt(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 Xt(e,n){return wt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`group-member-management.${e}`,retryable:false,conversation:n}))}function Tu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Eu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function ju(e,n,r,o=false){let s=Jt(r);if(s.conversationId==="")return {ok:false,result:Xt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:wt(n,s,"not-ready")};let m=e.getGeneration(),g=Eu(c,s,n,o);return g.availability!=="available"?{ok:false,result:wt(n,s,"not-allowed",Tu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Vr(e,n,r,o,s=false){let c=ju(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:wt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return wt(n,c.captured.conversation,"stale");let g=Su(m,n,c.captured.conversation),S=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return wt(n,c.captured.conversation,S,g)}}function wu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ys(e,n,r){let o=Jt(n),s=wu(r);return s.length===0?Promise.resolve(Xt("invite-members",o)):Vr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function bs(e,n,r){let o=Jt(n),s=r.trim();return s===""?Promise.resolve(Xt("remove-member",o)):Vr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Cs(e,n,r){let o=Jt(n),s=r.trim();return s===""?Promise.resolve(Xt("transfer-ownership",o)):Vr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Rs(e,n,r={}){let o=Jt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Xt("leave",o)):Vr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Vo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function xu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ps(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&xu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function tn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Au(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function zu(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function ks(e,n,r){let o=Vo(r);if(o.conversationId==="")return {ok:false,result:tn(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:tn(n,o,"not-ready")};let c=e.getGeneration(),m=zu(s,o,n);return m.availability!=="available"?{ok:false,result:tn(n,o,"not-allowed",Au(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function $o(e,n,r,o){let s=ks(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:tn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?tn(n,s.captured.conversation,"failed",Ps(c,n,s.captured.conversation)):tn(n,s.captured.conversation,"stale")}}function Os(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(tn("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return $o(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ms(e,n,r){let o=r.trim();if(o===""){let s=Vo(n);return Promise.resolve(tn("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return $o(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ss(e,n,r,o){return $o(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ts(e,n,r){let o=ks(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?tn("update-avatar",s.conversation,"failed",Ps(c,"update-avatar",s.conversation)):tn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return tn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return tn("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}):tn("update-avatar",s.conversation,"stale")}}function Gu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Du(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Gu(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function Es(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function js(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function ws(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Du(n,r.value)}function xs(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function As(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let g=[];for(let S of c){let M=await s.group.listMembers(S.id,{forceRefresh:false});M!==null&&M.some(K=>K.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:S.id}),name:S.displayName||S.cardDisplayName||S.id,...S.avatarUrl===void 0?{}:{avatar:S.avatarUrl}}));}return Object.freeze(g)}async function zs(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Es(r.value),stale:r.stale})}async function Gs(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Es(r)}async function Ds(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function _s(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Fs(e,n){return e.ensureProductClient().directory.search(n)}async function Ks(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Wo(c)}function Wo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function Ns(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let g=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(S=>S.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function Qo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Wo(c)}async function Hs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Wo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Jo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Xo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Jo(o)}async function Ls(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Jo(c)}async function Us(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Jo(s)}function qs(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Ku=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Nu=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Bs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function ke(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ee(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function $r(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Ln(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function tt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function bn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Yt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function rt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ve(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Hu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:ke(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:ke(r)}})}function Wr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Lu(e){return defineStore("k2-im-profile-directory",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),S=ref(false),M=shallowRef(null),K=shallowRef([]),D$1=ref(false),B$1=shallowRef(null),b=shallowRef(null),I=shallowRef(null),G=shallowRef([]),X=ref(false),$=ref(false),ie=shallowRef(null),T=shallowRef(null),E=shallowRef(null),Z=ref(false),re=shallowRef(null),ae=reactive({individual:Wr(),group:Wr(),channel:Wr()}),ne=ref(""),C$1=shallowRef(null),A$1=ref(false),N=shallowRef(null),P=shallowRef(null),O=shallowRef([]),Q=ref(""),J=ref(false),fe=ref(false),me=shallowRef(null),Pe=shallowRef(null),F=shallowRef(null),y=ref(false),H=shallowRef(null),_=shallowRef(null),se=shallowRef([]),ue=ref(""),Ce=ref(false),Oe=ref(false),j=shallowRef(null),q=false,ge=new Map,Ie=0,pe={direct:0,group:0,channel:0},_e=0,k={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},L={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},de={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},ve=new Map,Me=0,z$1=new Map,V=new Map,W=new Set,le=new Set,Re=new Map,Se=new Map,$e=0,Ue={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},Cn=new Map,un=new Map,er=0,En=new Set,Rn=new Map,dn=new Map,nr=0,fn=0,at=0,Pn=new Map,qe=new Map,Ge=new Map,mn=new Map,We=new Map,Be=new Map,pn=new Map,jn=ref(0),it={individual:0,group:0,channel:0},Un=new Map,qn=0,kn,wn,xn,On=0,rn,on,hn,vn=0,gn,Qe,Je;function so(a){return s.value[a.conversationId]??0}function lo(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=A(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?z(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?z(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function tr(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?B(t,n.getChannelMemberProfiles(),a.conversationId,i):C(t,i)}function co(a){return o.value,D(n.getSenderProfileCache(),a)}function rr(a,i){return sa$1(n,a,i)}function st(a,i){return ta(n,a.conversationId,i)}function lt(a,i,t){let l=n.getGeneration(),u=ge.get(a.conversationId)??0;return ua(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!q&&n.getGeneration()===l&&(ge.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function ct(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 An(a,i){let t=a.conversationId.trim();t!==""&&(ct(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function or(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function ar(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function At(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function Xe(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function ir(a,i,t={}){let l=We.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(U=>U.userId)),f=new Map(l),w=i.map(U=>{let Y=l.get(U.userId);return Y===void 0?U:(t.reconcile===true&&Y===U.nickname&&f.delete(U.userId),Object.freeze({...U,nickname:Y}))});if(t.reconcile===true)for(let U of f.keys())u.has(U)||f.delete(U);return f.size===0?We.delete(a):We.set(a,f),Object.freeze(w)}function zt(a,i){let t=We.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&We.delete(a));}function ut(a,i){let t=Be.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 Ye(a,i){let t=Be.get(a),l=pn.get(a),u=T.value?.conversationId===a?E.value?.ownerId:mn.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),U=l?.get(f.userId),Y=u!==void 0&&f.userId===u;if(w===void 0&&U===void 0&&!Y)return f;let{nickname:je,...cn}=f;return Object.freeze({...cn,...w===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:w.nickname===""?{}:{nickname:w.nickname},displayName:w?.displayName??f.displayName,role:Y?"owner":U??f.role})}))}function sr(a,i){let t=Be.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&&Be.delete(a),l&&(jn.value+=1);}function d(a,i){let t=Be.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&Be.delete(a),jn.value+=1);}function p(a,i){let t=pn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&pn.delete(a);}}function v(a,i){let t=pn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&pn.delete(a));}function h(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?b.value:T.value;return !q&&n.getGeneration()===i&&Ie===t&&pe[a.conversationType]===l&&ee(u,a)}async function R(a,i={}){let t=ke(a),l=++Ie,u=pe.direct,f=n.getGeneration(),w=!ee(c.value,t);c.value=t,w&&(m.value=null,g.value="unknown"),S.value=true,M.value=null;try{let U=await js(n,t,i);return h(t,f,l,u)?(m.value=U.profile,g.value=U.relationship,S.value=!1,U.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(U){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let Y=Ve(U,"profile.direct",t);return M.value=Y,S.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:Y})}}async function x(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let U=await Nt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!U.ok)return Object.freeze({ok:false,reason:"channel-profile",result:U});if(f=ee(T.value,a)?E.value:null,ra({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let w=await R({conversationType:"direct",conversationId:l},{forceRefresh:u});return w.ok?Object.freeze({ok:true,destination:ra({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:w})}async function oe(a){let i=ke(a),t=++_e,l=n.getGeneration();c.value=i,D$1.value=true,B$1.value=null;try{let u=await As(n,i.conversationId);return !ee(c.value,i)||l!==n.getGeneration()||t!==_e?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(K.value=u,D$1.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!ee(c.value,i)||l!==n.getGeneration()||t!==_e)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ve(u,"profile.direct-mutual-groups",i);return B$1.value=f,D$1.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ce(a){return k[a]+=1,k[a]}function te(a,i){return !q&&k[a]===i}async function he(a,i){let t=ke(a),l=ce("set-remark"),u=await fs(n,t,i);if(!te("set-remark",l)||!ee(c.value,t))return nt("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(U=>Object.freeze({countryCode:U.countryCode,mobile:U.mobile})))}})),Object.freeze({...u,projectionUpdated:w})}async function ye(a){let i=ke(a),t=ce("block"),l=await ms(n,i);return !te("block",t)||!ee(c.value,i)?nt("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a,i){let t=ke(a),l=ce("report"),u=await ps(n,t,i);return !te("report",l)||!ee(c.value,t)?nt("report",t):u}async function Fe(a){let i=ke(a),t=ce("delete-friendship"),l=await vs(n,i);return !te("delete-friendship",t)||!ee(c.value,i)?nt("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function we(a){let i=ce("search-user"),t=await gs(n,a);return te("search-user",i)?t:nt("search-user",t.conversation)}async function Ne(a){let i=ke(a),t=ce("resolve-application-target"),l=await Is(n,i);return te("resolve-application-target",t)?l:nt("resolve-application-target",i)}async function Ze(a,i){let t=ke(a),l=ce("request-friendship"),u=await hs(n,t,i);return te("request-friendship",l)?u:nt("request-friendship",t)}function zn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function Gn(a,i){L[a]+=1;let t=n.getGeneration(),l=pe.group,u=zn(i,a,t,l);return z$1.set(u,(z$1.get(u)??0)+1),Object.freeze({epoch:L[a],generation:t,key:u,resetEpoch:l})}function an(a,i){let t=z$1.get(i.key)??0;t<=1?z$1.delete(i.key):z$1.set(i.key,t-1),na(a);}function Gt(a,i){return !q&&n.getGeneration()===i.generation&&pe.group===i.resetEpoch&&L[a]===i.epoch}function Dt(a,i){let t=n.getGeneration(),l=pe.group;return i!==void 0?(z$1.get(zn(a,i,t,l))??0)>0:Object.keys(L).some(u=>(z$1.get(zn(a,u,t,l))??0)>0)}async function xe(a,i){let t=ke(a),l=i.trim(),u=Gn("update-name",t);try{let f=await Os(n,t,l);if(!Gt("update-name",u)||!ee(b.value,t))return $r("update-name",t);if(!f.ok)return f;let w=I.value!==null;return w&&zl(t,l),Object.freeze({...f,projectionUpdated:w})}finally{an(t,u);}}async function en(a,i){let t=ke(a),l=Gn("update-avatar",t);try{let u=await Ts(n,t,i);if(!Gt("update-avatar",l)||!ee(b.value,t))return $r("update-avatar",t);if(!u.ok)return u;let f=I.value!==null&&u.avatar!==void 0;return f&&Gl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{an(t,l);}}async function Dn(a,i){let t=ke(a),l=i.trim(),u=Gn("set-my-nickname",t);try{let f=await Ms(n,t,l);if(!Gt("set-my-nickname",u)||!ee(b.value,t))return $r("set-my-nickname",t);if(!f.ok)return f;let w=G.value.some(U=>U.userId===f.memberId);return ua$1(t,f.memberId,l),xa(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:w})}finally{an(t,u);}}async function _n(a,i,t){let l=ke(a),u=i===4?t?.trim():void 0,f=Gn("update-verification",l);try{let w=await Ss(n,l,i,u);if(!Gt("update-verification",f)||!ee(b.value,l))return $r("update-verification",l);if(!w.ok)return w;let U=I.value!==null;return U&&Dl(l,i,u),Object.freeze({...w,projectionUpdated:U})}finally{an(l,f);}}function uo(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function In(a,i,t="profile"){let l=n.getGeneration(),u=pe.channel,f=uo(i,a,t,l,u),w=++$e;return Re.set(f,w),Se.set(f,(Se.get(f)??0)+1),Object.freeze({conversation:ke(i),epoch:w,generation:l,resetEpoch:u,key:f})}function yn(a){let i=Se.get(a.key)??0;i<=1?Se.delete(a.key):Se.set(a.key,i-1),Re.get(a.key)===a.epoch&&Re.delete(a.key),aa(a.conversation);}function Ae(a){return !q&&n.getGeneration()===a.generation&&pe.channel===a.resetEpoch&&Re.get(a.key)===a.epoch}function sn(a,i,t){let l=`${n.getGeneration()}:${pe.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of Se){let w=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(w)&&(t===void 0||u===`${w}${t.trim()}`))return true}return false}function Zo(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function tl(a,i){let t=ke(a);if(ln(t))return tt("update-name",t);let l=i.trim(),u=In("update-name",t);try{let f=await os(n,t,l);if(!Ae(u)||!ee(T.value,t))return Ln("update-name",t);if(!f.ok)return f;let w=E.value!==null;return w&&ma(t,l),Object.freeze({...f,projectionUpdated:w})}finally{yn(u);}}async function rl(a,i){let t=ke(a);if(ln(t))return tt("update-description",t);let l=i.trim(),u=In("update-description",t);try{let f=await as(n,t,l);if(!Ae(u)||!ee(T.value,t))return Ln("update-description",t);if(!f.ok)return f;let w=E.value!==null;return w&&pa(t,l),Object.freeze({...f,projectionUpdated:w})}finally{yn(u);}}async function ol(a,i){let t=ke(a);if(ln(t))return tt("update-avatar",t);let l=In("update-avatar",t);try{let u=await is(n,t,i);if(!Ae(l)||!ee(T.value,t))return Ln("update-avatar",t);if(!u.ok)return u;let f=E.value!==null;return f&&va(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}async function al(a,i){let t=ke(a),l=i.trim(),u=In("set-my-nickname",t,n.getCredentials().userId);try{let f=await ss(n,t,l);return !Ae(u)||!ee(T.value,t)?Ln("set-my-nickname",t):f.ok?(ho(t,f.memberId,l,l),Zo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{yn(u);}}async function il(a,i,t){let l=ke(a);if(ln(l))return tt("set-member-nickname",l);let u=i.trim(),f=t.trim(),w=Ro(l,u),U=In("set-member-nickname",l,u);try{let Y=await ls(n,l,u,w?.role??"unknown",f);return !Ae(U)||!ee(T.value,l)?Ln("set-member-nickname",l):Y.ok?(ho(l,Y.memberId,f,f),Zo(l,Y.memberId,f),Object.freeze({...Y,projectionUpdated:!0})):Y}finally{yn(U);}}async function sl(a,i,t){let l=ke(a);if(ln(l))return tt("update-verification",l);let u=i===4?t?.trim():void 0,f=In("update-verification",l);try{let w=await cs(n,l,i,u);if(!Ae(f)||!ee(T.value,l))return Ln("update-verification",l);if(!w.ok)return w;let U=E.value!==null;return U&&ga(l,i,u),Object.freeze({...w,projectionUpdated:U})}finally{yn(f);}}async function ll(a,i){let t=ke(a);if(ln(t))return tt("set-all-muted",t);let l=In("set-all-muted",t);try{let u=await us(n,t,i);if(!Ae(l)||!ee(T.value,t))return Ln("set-all-muted",t);if(!u.ok)return u;let f=E.value!==null;return f&&Io(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}async function cl(a,i){let t=ke(a);if(ln(t))return tt("set-member-private-chat-disabled",t);let l=In("set-member-private-chat-disabled",t);try{let u=await ds(n,t,i);if(!Ae(l)||!ee(T.value,t))return Ln("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=E.value!==null;return f&&Io(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{yn(l);}}function ul(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function fo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function lr(a,i,t){let l=n.getGeneration(),u=de[a],f=fo(i,a,l,u),w=ul(i,a,t,l,u),U=++Me;return ve.set(w,U),V.set(f,(V.get(f)??0)+1),Object.freeze({actionEpoch:U,actionKey:w,generation:l,resetEpoch:u,writeKey:f})}function cr(a,i){let t=V.get(i.writeKey)??0;t<=1?V.delete(i.writeKey):V.set(i.writeKey,t-1),ve.get(i.actionKey)===i.actionEpoch&&ve.delete(i.actionKey),na(a);}function ur(a,i){return !q&&n.getGeneration()===i.generation&&de[a]===i.resetEpoch&&ve.get(i.actionKey)===i.actionEpoch}function dr(a,i){let t=n.getGeneration();return i!==void 0?(V.get(fo(a,i,t,de[i]))??0)>0:Object.keys(de).some(l=>(V.get(fo(a,l,t,de[l]))??0)>0)}function dl(a,i){let t=i.trim();t!==""&&qe.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function fl(a,i){if(i===null||i.isInGroup===false)return qe.delete(a.conversationId),i;let t=qe.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(qe.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function ea(a){ee(b.value,a)&&pt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!ee(b.value,a)||fr(a);});}function _t(a){ee(b.value,a)&&Kt(a,{forceRefresh:true});}function na(a){Dt(a)||dr(a)||(W.delete(a.conversationId)&&_t(a),le.delete(a.conversationId)&&Oo(a));}function fr(a){ee(b.value,a)&&wa(n,a.conversationId,G.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function ml(a,i){let t=ke(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=lr("invite-members",t,l);try{let f=await ys(n,t,i);if(!ur("invite-members",u))return rt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&ee(b.value,t)&&_t(t),f;if(!ee(b.value,t))return rt("invite-members",t);let w=f.memberIds.some(U=>fa(t,U));for(let U of f.memberIds)vo(t,U);return ea(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{cr(t,u);}}async function pl(a,i){let t=ke(a),l=lr("remove-member",t,i.trim());try{let u=await bs(n,t,i);if(!ur("remove-member",l))return rt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&ee(b.value,t)&&_t(t),u;if(!ee(b.value,t))return rt("remove-member",t);let f=G.value.some(w=>w.userId===u.memberId);return po(t,u.memberId),ea(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{cr(t,l);}}async function vl(a,i){let t=ke(a),l=lr("transfer-ownership",t,"group-owner");try{let u=await Cs(n,t,i);if(!ur("transfer-ownership",l))return rt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&ee(b.value,t)&&_t(t),u;if(!ee(b.value,t))return rt("transfer-ownership",t);dl(t,u.ownerId);let f=I.value,w=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:u.ownerId})),_t(t),Object.freeze({...u,projectionUpdated:w,refreshRequired:!1})}finally{cr(t,l);}}async function gl(a,i={}){let t=ke(a),l=lr("leave",t,"membership");try{let u=await Rs(n,t,i);if(!u.ok&&!ur("leave",l))return rt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&ee(b.value,t)&&await Kt(t,{forceRefresh:!0}),u;go(t),ya(n,t.conversationId,{clearCachedNames:!0}),qe.delete(t.conversationId);let f=ee(b.value,t)&&(I.value!==null||G.value.length>0);return ee(b.value,t)&&(b.value=null,I.value=null,G.value=[],X.value=!1,$.value=!1,ie.value=null),Object.freeze({...u,projectionUpdated:f})}finally{cr(t,l);}}function Il(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function ta$1(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function dt(a,i,t){let l=n.getGeneration(),u=Ue[a],f=Il(i,a,t,l,u),w=ta$1(i,a,l,u),U=++er;return Cn.set(f,U),un.set(w,(un.get(w)??0)+1),Object.freeze({actionEpoch:U,actionKey:f,conversation:ke(i),writeKey:w,generation:l,resetEpoch:u})}function ft(a){let i=un.get(a.writeKey)??0;i<=1?un.delete(a.writeKey):un.set(a.writeKey,i-1),Cn.get(a.actionKey)===a.actionEpoch&&Cn.delete(a.actionKey),aa(a.conversation);}function mt(a,i){return !q&&n.getGeneration()===i.generation&&Ue[a]===i.resetEpoch&&Cn.get(i.actionKey)===i.actionEpoch}function mr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(Ue):[i]).some(u=>(un.get(ta$1(a,u,t,Ue[u]))??0)>0)}function pr(a,i){let t=i.trim();if(t==="")return;let l=Ro(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function hl(a,i){let t=i.trim();t!==""&&mn.set(a.conversationId,{ownerId:t});}function ln(a){let i=mn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ra$1(a,i){if(i===null)return mn.delete(a.conversationId),null;let t=mn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(mn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function yl(a){return !ee(T.value,a)||E.value===null?false:(E.value=ra$1(a,E.value),true)}function bl(a){ee(P.value,a)&&ko(a,{preserveExisting:true});}function Ft(a){ee(T.value,a)&&Nt(a,{forceRefresh:true});}function vr(a){Ft(a),bl(a);}function Cl(a,i,t,l){let u=Rn.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,Rn.set(a.conversationId,u);}function oa(a,i){let t=Rn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&Rn.delete(a.conversationId);}}function aa(a){if(sn(a)||mr(a))return;En.delete(a.conversationId)&&Ca(a);let i=Rn.get(a.conversationId);if(i===void 0)return;Rn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?An(a,t):ct(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&<(a,t,{forceRefresh:true}),hr(a);}function Rl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function ia(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function Pl(a,i){let t=ke(a);if(ln(t))return Yt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=dt("invite-members",t,l);try{let f=await Qi(n,t,i);if(!mt("invite-members",u))return bn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ft(t),f;if(!ee(T.value,t))return bn("invite-members",t);let w=f.memberIds.some(U=>Co(t,U));for(let U of f.memberIds)bo(t,U);return An(t,f.memberIds),oa(t,f.memberIds),vr(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{ft(u);}}async function kl(a,i){let t=ke(a);if(ln(t))return Yt("remove-member",t);let l=pr(t,i),u=dt("remove-member",t,i.trim());try{let f=await Ji(n,t,l??{userId:i,role:"unknown"});if(!mt("remove-member",u))return bn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ft(t),f;if(!ee(T.value,t))return bn("remove-member",t);let w=Rl(t,f.memberId),U=O.value.some(Y=>Y.userId===f.memberId)||se.value.some(Y=>Y.userId===f.memberId)||w;return yo(t,f.memberId),An(t,[f.memberId]),oa(t,[f.memberId]),vr(t),Object.freeze({...f,projectionUpdated:U,refreshRequired:!1})}finally{ft(u);}}async function Ol(a,i,t){let l=ke(a),u=pr(l,i),f=t?"add-admin":"remove-admin";if(ln(l))return Yt(f,l);let w=dt(f,l,i.trim());try{let U=t?await Yi(n,l,u??{userId:i,role:"unknown"}):await Zi(n,l,u??{userId:i,role:"unknown"});if(!mt(f,w))return bn(f,l);if(!U.ok)return U.outcome!=="stale"&&Ft(l),U;if(!ee(T.value,l))return bn(f,l);let Y=t?"admin":"member",je=u?.role!==Y;return Bn(l,U.memberId,Y),vr(l),Object.freeze({...U,projectionUpdated:je,refreshRequired:!1})}finally{ft(w);}}async function Ml(a,i){let t=ke(a);if(ln(t))return Yt("transfer-ownership",t);let l=pr(t,i),u=dt("transfer-ownership",t,"channel-owner");try{let f=await es(n,t,l??{userId:i,role:"unknown"});if(!mt("transfer-ownership",u))return bn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ft(t),f;if(!ee(T.value,t))return bn("transfer-ownership",t);hl(t,f.ownerId);let w=yl(t);return Bn(t,f.ownerId,"owner"),Bn(t,n.getCredentials().userId,"member"),vr(t),Object.freeze({...f,projectionUpdated:w,refreshRequired:!1})}finally{ft(u);}}async function Sl(a,i={}){let t=ke(a),l=i.newOwnerId===void 0?void 0:pr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=dt("leave",t,"membership");try{let f=await ns(n,t,l);if(!f.ok&&!mt("leave",u))return bn("leave",t);if(!f.ok)return f;let w=ee(T.value,t)&&(E.value!==null||O.value.length>0||se.value.length>0);return gr(t),mn.delete(t.conversationId),ia(t),ee(T.value,t)&&yr(),Object.freeze({...f,projectionUpdated:w})}finally{ft(u);}}async function Tl(a){let i=ke(a);if(ln(i))return Yt("dismiss",i);let t=dt("dismiss",i,"membership");try{let l=await ts(n,i);if(!l.ok&&!mt("dismiss",t))return bn("dismiss",i);if(!l.ok)return l;let u=ee(T.value,i)&&(E.value!==null||O.value.length>0||se.value.length>0);return gr(i),mn.delete(i.conversationId),ia(i),ee(T.value,i)&&yr(),Object.freeze({...l,projectionUpdated:u})}finally{ft(t);}}async function Kt(a,i={}){let t=ke(a),l=++Ie,u=pe.group,f=n.getGeneration(),w=!ee(b.value,t);b.value=t,w&&(I.value=null,fn+=1,G.value=[],$.value=false),X.value=true,ie.value=null;try{let U=i.forceRefresh===!0?null:await ws(n,t);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(U!==null&&(I.value=U),i.restricted===!0)return i.includeMembers===!0&&await pt(t,{restricted:!0,forceRefresh:!0}),h(t,f,l,u)?(X.value=!1,I.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Y=await xs(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 je=fl(t,Y);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:je?.ref.conversationId??null,name:je?.name??null,isInGroup:je?.isInGroup??null,verifyWay:je?.verifyWay??null,memberCount:je?.memberCount??null,membershipDecision:je?.isInGroup===!0?"joined":je?.isInGroup===!1?"not-joined":"unknown"}})),je===null||je.isInGroup===!1?(fn+=1,G.value=[],$.value=!1,go(t),ya(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await pt(t,{restricted:!1,forceRefresh:!0}),h(t,f,l,u)?(I.value=je,X.value=!1,Object.freeze(je===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(U){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let Y=Ve(U,"profile.group",t);return i.forceRefresh===true&&(I.value=null,fn+=1,G.value=[],$.value=false),ie.value=Y,X.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:Y})}}async function pt(a,i={}){let t=ke(a);if(ee(b.value,t)||(b.value=t,G.value=[]),ee(b.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return fn+=1,G.value=[],$.value=false,Object.freeze({ok:true,operation:"group-members"});if(G.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++fn,u=n.getGeneration();$.value=true;try{let f=i.preserveExisting===!0?null:await zs(n,t);if(q||n.getGeneration()!==u||l!==fn||!ee(b.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let w=f===null?null:Xe(Pn,t.conversationId,f.items);if(w!==null&&(G.value=ir(t.conversationId,w),fr(t)),i.restricted===!0||i.forceRefresh!==!0&&w!==null&&w.length>0)return $.value=!1,Object.freeze({ok:!0,operation:"group-members"});let U=await Gs(n,t);return q||n.getGeneration()!==u||l!==fn||!ee(b.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(U!==null&&(G.value=ir(t.conversationId,Xe(Pn,t.conversationId,U),{reconcile:!0}),fr(t)),$.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(q||n.getGeneration()!==u||l!==fn||!ee(b.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let w=Ve(f,"profile.group-members",t);return ie.value=w,$.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:w})}}async function Nt(a,i){let t=ke(a),l=++Ie,u=pe.channel,f=n.getGeneration(),w=!ee(T.value,t);T.value=t,w&&(E.value=null,$n(t)),Z.value=true,re.value=null;try{let U=await Ds(n,t,i);if(!h(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let Y=ra$1(t,U);return E.value=Y,Y!==null&&ee(P.value,t)&&(O.value=Ye(t.conversationId,O.value)),Y===null?(gr(t),$n()):Y.canViewMembers!==!0&&$n(),Z.value=!1,Object.freeze(Y===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(U){if(!h(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let Y=Ve(U,"profile.channel",t);return i?.forceRefresh===true&&(E.value=null,$n()),re.value=Y,Z.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:Y})}}async function El(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,w=++nr,U=n.getGeneration(),Y=pe[t.conversationType];dn.set(f,w);let je=()=>!q&&n.getGeneration()===U&&pe[t.conversationType]===Y&&dn.get(f)===w&&(t.conversationType==="group"?ee(b.value,t):ee(T.value,t));try{let cn=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);return je()?(cn.outcome==="joined"&&(t.conversationType==="group"?await Kt(t,{forceRefresh:!0}):await Nt(t,{forceRefresh:!0})),je()?Object.freeze({ok:!0,operation:l,outcome:cn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(cn){return je()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ve(cn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{dn.get(f)===w&&dn.delete(f);}}async function sa(a,i,t){let l=ae[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?Un.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++it[a],w=n.getGeneration();l.loading=true,l.error=null;try{let U=await _s(n,a,u);return q||w!==n.getGeneration()||f!==it[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=qs(i?l.items:[],U.items),l.loaded=!0,l.exhausted=U.exhausted,l.loading=!1,U.nextPageToken===void 0?Un.delete(a):Un.set(a,U.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(U){if(q||w!==n.getGeneration()||f!==it[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let Y=Ve(U,`directory.${a}`);return l.error=Y,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:Y})}}function jl(a,i=false){return sa(a,i,false)}function wl(a){return sa(a,false,true)}function la(){kn!==void 0&&(clearTimeout(kn),kn=void 0),wn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),wn=void 0;}async function xl(a,i){let t=n.getGeneration();try{let l=await Fs(n,a);return q||t!==n.getGeneration()||i!==qn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(C$1.value=l,A$1.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(q||t!==n.getGeneration()||i!==qn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ve(l,"directory.search");return N.value=u,A$1.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function mo(){qn+=1,la(),ne.value="",C$1.value=null,A$1.value=false,N.value=null,xn=void 0;}function Al(a,i={}){let t=a.trim();if(t==="")return mo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&wn?.keyword===t)return wn.promise;if(xn?.keyword===t)return xn.promise;if(!i.immediate&&ne.value===t&&C$1.value?.keyword===t.toLocaleLowerCase()&&N.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++qn;la(),ne.value=t,C$1.value=null,A$1.value=true,N.value=null;let u=()=>{let U=xl(t,l);return xn={keyword:t,promise:U},U.finally(()=>{xn?.promise===U&&(xn=void 0);}),U};if(i.immediate)return u();let f,w=new Promise(U=>{f=U;});return wn={keyword:t,promise:w,resolve:f},kn=setTimeout(()=>{kn=void 0,wn=void 0,u().then(f);},300),w}function ca(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function zl(a,i){!ee(b.value,a)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Gl(a,i){!ee(b.value,a)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function Dl(a,i,t){if(!ee(b.value,a)||I.value===null)return;let{inviteCode:l,...u}=I.value;I.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ua$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=We.get(a.conversationId)??new Map;f.set(l,u),We.set(a.conversationId,f),ee(b.value,a)&&(G.value=Object.freeze(G.value.map(w=>w.userId===l?Object.freeze({...w,nickname:u}):w)));}function da(a,i){zt(a.conversationId,i);}function po(a,i){let t=i.trim();if(t===""||(zt(a.conversationId,t),or(Pn,a.conversationId,t),!ee(b.value,a)))return;let l=G.value.filter(f=>f.userId!==t),u=l.length!==G.value.length;u&&(G.value=Object.freeze(l),fr(a)),u&&I.value!==null&&I.value.memberCount!==void 0&&(I.value=Object.freeze({...I.value,memberCount:Math.max(0,I.value.memberCount-1)}));}function vo(a,i){zt(a.conversationId,i),ar(Pn,a.conversationId,i);}function fa(a,i){return At(Pn,a.conversationId,i)}function go(a){Pn.delete(a.conversationId),We.delete(a.conversationId);}function ma(a,i){!ee(T.value,a)||E.value===null||(E.value=Object.freeze({...E.value,name:i}));}function pa(a,i){!ee(T.value,a)||E.value===null||(E.value=Object.freeze({...E.value,description:i}));}function va(a,i){!ee(T.value,a)||E.value===null||(E.value=Object.freeze({...E.value,avatar:i}));}function ga(a,i,t){if(!ee(T.value,a)||E.value===null)return;let{inviteCode:l,...u}=E.value;E.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Io(a,i){if(!ee(T.value,a)||E.value===null)return;let t={...E.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};E.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ho(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),w=f||l?.trim()||u,U=Be.get(a.conversationId)??new Map;U.set(u,{nickname:f,displayName:w}),Be.set(a.conversationId,U),jn.value+=1,ee(P.value,a)&&(O.value=Ye(a.conversationId,O.value)),Vn(a,u)&&(F.value=Ye(a.conversationId,F.value===null?[]:[F.value])[0]??null),ee(_.value,a)&&(se.value=Object.freeze(se.value.map(Y=>Y.userId===u?Object.freeze({...Y,displayName:w}):Y)));}function Bn(a,i,t){let l=i.trim();if(l==="")return;let u=pn.get(a.conversationId)??new Map;u.set(l,t),pn.set(a.conversationId,u),ee(P.value,a)&&(O.value=Ye(a.conversationId,O.value)),Vn(a,l)&&(F.value=Ye(a.conversationId,F.value===null?[]:[F.value])[0]??null);}function Ia(a,i){d(a.conversationId,i);}function _l(a,i){return jn.value,Be.get(a.conversationId)?.get(i.trim())?.nickname}function yo(a,i){let t=i.trim();if(t==="")return;let l=ee(P.value,a),u=ee(_.value,a);if(d(a.conversationId,t),v(a.conversationId,t),or(Ge,a.conversationId,t),!l&&!u)return;let f=l&&O.value.some(U=>U.userId===t),w=u&&se.value.some(U=>U.userId===t);l&&(O.value=Object.freeze(O.value.filter(U=>U.userId!==t))),u&&(se.value=Object.freeze(se.value.filter(U=>U.userId!==t))),Vn(a,t)&&(F.value=null),(f||w)&&ee(T.value,a)&&E.value?.memberCount!==void 0&&(E.value=Object.freeze({...E.value,memberCount:Math.max(0,E.value.memberCount-1)}));}function bo(a,i){d(a.conversationId,i),v(a.conversationId,i),ar(Ge,a.conversationId,i);}function Co(a,i){return At(Ge,a.conversationId,i)}function gr(a){Ge.delete(a.conversationId),pn.delete(a.conversationId),Be.delete(a.conversationId)&&(jn.value+=1);}function Mn(a,i,t){return !q&&n.getGeneration()===i&&On===t&&ee(P.value,a)}function Vn(a,i,t,l){let u=Pe.value;return !q&&(t===void 0||n.getGeneration()===t)&&(l===void 0||at===l)&&u!==null&&ee(u,a)&&u.userId===i}function Ro(a,i){let t=i.trim();if(t!==""){if(ee(P.value,a)){let l=O.value.find(u=>u.userId===t);if(l!==void 0)return l}return Vn(a,t)?F.value??void 0:void 0}}async function Fl(a,i,t={forceRefresh:true}){let l=ke(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++at,w=n.getGeneration();Pe.value=Object.freeze({...l,userId:u}),F.value=null,y.value=true,H.value=null;try{let U=await Ns(n,l,u,{forceRefresh:t.forceRefresh!==!1});return Vn(l,u,w,f)?U===null||Co(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(F.value=Ye(l.conversationId,[U])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(U){if(!Vn(l,u,w,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let Y=Ve(U,"profile.channel-member",l);return H.value=Y,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:Y})}finally{Vn(l,u,w,f)&&(y.value=false);}}async function Po(a,i,t){J.value=true,me.value=null;try{let l=await Hs(n,a,Q.value);return Mn(a,i,t)?(sr(a.conversationId,l.items),p(a.conversationId,l.items),O.value=Ye(a.conversationId,Xe(Ge,a.conversationId,l.items)),rn=l.nextCursor,fe.value=l.exhausted||l.nextCursor===void 0,hn=void 0,J.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Mn(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Ve(l,"profile.channel-members.refresh",a);return hn="initial",me.value=u,J.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function ha(a){if(J.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=ke(a),t=On,l=n.getGeneration();J.value=true,me.value=null;try{let u=await Qo(n,i,Q.value);return Mn(i,l,t)?(u!==null&&(O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,u.items)),rn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0),await Po(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!Mn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.cache",i);return hn="initial",me.value=f,J.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ya$1(a){if(J.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(fe.value||rn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=ke(a),t=On,l=n.getGeneration();J.value=true,me.value=null;try{let u=await Ks(n,i,{query:Q.value,cursor:rn});return Mn(i,l,t)?(sr(i.conversationId,u.items),p(i.conversationId,u.items),O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,ca(O.value,u.items))),rn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0,hn=void 0,J.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!Mn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.page",i);return hn="more",me.value=f,J.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function $n(a=null){on!==void 0&&(clearTimeout(on),on=void 0),On+=1,P.value=a===null?null:ke(a),O.value=[],Q.value="",J.value=false,fe.value=false,me.value=null,rn=void 0,hn=void 0;}function ko(a,i={}){let t=ke(a);if(i.preserveExisting===true&&ee(P.value,t)){on!==void 0&&(clearTimeout(on),on=void 0);let l=++On,u=n.getGeneration();return me.value=null,Po(t,u,l)}return $n(t),ha(t)}function Kl(a){let i=P.value;if(i===null)return;Q.value=a,On+=1,O.value=[],fe.value=false,me.value=null,rn=void 0,J.value=false,on!==void 0&&clearTimeout(on);let t=On,l=n.getGeneration();(async()=>{try{let u=await Qo(n,i,Q.value);if(!Mn(i,l,t))return;u!==null&&(O.value=Ye(i.conversationId,Xe(Ge,i.conversationId,u.items)),rn=u.nextCursor,fe.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!Mn(i,l,t))return;me.value=Ve(u,"profile.channel-members.cache",i);}Mn(i,l,t)&&(on=setTimeout(()=>{on=void 0,Po(i,l,t);},300));})();}function Nl(){let a=P.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ya$1(a)}function Hl(){let a=P.value;return a===null||hn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):hn==="more"?ya$1(a):ha(a)}function Fn(a,i,t){return !q&&n.getGeneration()===i&&vn===t&&ee(_.value,a)}async function Ht(a,i={}){if(Ce.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=ke(a),l=vn,u=n.getGeneration();Ce.value=true,j.value=null;try{let f=i.useCache===!1?null:await Xo(n,t,ue.value||void 0);if(!Fn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(se.value=ut(t.conversationId,Xe(Ge,t.conversationId,f.items)),gn=f.nextPageToken,Oe.value=f.exhausted||f.nextPageToken===void 0);let w=await Ls(n,t,ue.value||void 0);return Fn(t,u,l)?(se.value=ut(t.conversationId,Xe(Ge,t.conversationId,w.items)),gn=w.nextPageToken,Oe.value=w.exhausted||w.nextPageToken===void 0,Je=void 0,Ce.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Fn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let w=Ve(f,"profile.channel-mentions",t);return Je="initial",j.value=w,Ce.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:w})}}async function ba(){let a=_.value,i=gn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Ce.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Oe.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=vn,l=n.getGeneration();Ce.value=true,j.value=null;try{let u=await Us(n,ue.value,i);return Fn(a,l,t)?(se.value=ut(a.conversationId,Xe(Ge,a.conversationId,ca(se.value,u.items))),gn=u.nextPageToken,Oe.value=u.exhausted||u.nextPageToken===void 0,Je=void 0,Ce.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Fn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ve(u,"profile.channel-mentions.page",a);return Je="more",j.value=f,Ce.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function Ir(a=null,i=""){Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,_.value=a===null?null:ke(a),se.value=[],ue.value=i,Ce.value=false,Oe.value=false,j.value=null,gn=void 0,Je=void 0;}function Ll(a,i=""){return ee(_.value,a)&&ue.value===i?(Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,Ce.value=false,j.value=null,gn=void 0,Je=void 0,Ht(a,{useCache:false})):(Ir(a,i),Ht(a))}function Ul(a){let i=_.value;if(i===null)return;Ir(i,a);let t=vn,l=n.getGeneration();(async()=>{try{let u=await Xo(n,i,a||void 0);if(!Fn(i,l,t))return;u!==null&&(se.value=ut(i.conversationId,Xe(Ge,i.conversationId,u.items)),gn=u.nextPageToken,Oe.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Fn(i,l,t))return;j.value=Ve(u,"profile.channel-mentions.cache",i);}Fn(i,l,t)&&(Qe=setTimeout(()=>{Qe=void 0,Ht(i);},300));})();}function ql(){let a=_.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Qe!==void 0&&(clearTimeout(Qe),Qe=void 0),vn+=1,Ce.value=false,j.value=null,gn=void 0,Oe.value=false,Je=void 0,Ht(a,{useCache:false}))}function Bl(){let a=_.value;return a===null||Je===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):Je==="more"?ba():Ht(a)}function Oo(a){ee(b.value,a)&&(st(a,{forceRefresh:true}),pt(a,{forceRefresh:true,preserveExisting:true}));}function hr(a){ee(P.value,a)&&ko(a,{preserveExisting:true});}async function Ca(a){if(!ee(T.value,a))return;(await Nt(a,{forceRefresh:true})).ok&&E.value?.canViewMembers===true&&hr(a);}function Vl(a){if(a.type==="profile:updated"){if(a.profileType==="user")rr(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&R({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let Y={conversationType:"group",conversationId:a.id};if(Dt(Y)||dr(Y)){W.add(Y.conversationId);return}ee(b.value,Y)?Kt(Y,{includeMembers:true,forceRefresh:true}):st(Y,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let Y={conversationType:"channel",conversationId:a.channelId};sn(Y)||mr(Y)?En.add(Y.conversationId):Ca(Y);return}if(a.type==="sync:complete"){for(let Y of a.conversations)if(Y.conversationType==="group"){let je={conversationType:"group",conversationId:Y.conversationId};ee(b.value,je)&&Oo(je);}else if(Y.conversationType==="channel"){let je={conversationType:"channel",conversationId:Y.conversationId};(ee(T.value,je)||ee(P.value,je)||ee(_.value,je))&&(An(je),hr(je));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Ku.has(t)){let Y={conversationType:"group",conversationId:i.conversationId},je=(a.source??"live")==="live",cn=t==="group_member_renamed"&&l.some(Kn=>Kn.trim()===u)&&Dt(Y,"set-my-nickname"),Jl=t==="group_member_renamed"&&!cn;if(t==="group_member_renamed"){cn||va$1(n,i);for(let Kn of l)cn&&Kn.trim()===u||da(Y,Kn);}if(t==="group_member_joined"||t==="group_member_invited")for(let Kn of l)vo(Y,Kn);if(je&&(t==="group_member_left"||t==="group_member_removed"))for(let Kn of l)po(Y,Kn);if(dr(Y)){le.add(Y.conversationId);return}je&&!cn&&(Jl?ee(b.value,Y)&&pt(Y,{forceRefresh:true,preserveExisting:true}):Oo(Y));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Nu.has(t)||!f)return;let w={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(Y=>sn(w,Y.trim()===u?"set-my-nickname":"set-member-nickname",Y)))){if(t==="channel_member_renamed")for(let Y of l)Ia(w,Y);if(t==="channel_admin_added"||t==="channel_admin_removed"){let Y=t==="channel_admin_added"?"admin":"member";for(let je of l)Bn(w,je,Y);}if(t==="channel_owner_transferred"){for(let je of l)Bn(w,je,"owner");let Y=i.body.system?.operatorId;Y!==void 0&&!l.includes(Y)&&Bn(w,Y,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let Y of l)bo(w,Y);if(t==="channel_member_left"||t==="channel_member_removed")for(let Y of l)yo(w,Y);if(mr(w)){Cl(w,Bs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Bs.has(t)?An(w,l):ct(w,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&<(w,l,{forceRefresh:true}),hr(w);}}let $l=n.subscribeProfileChange(()=>{o.value+=1;}),Wl=n.subscribeEvents(Vl);function Ra(){k["set-remark"]+=1,k.block+=1,k.report+=1,k["delete-friendship"]+=1,pe.direct+=1,c.value=null,m.value=null,g.value="unknown",S.value=false,M.value=null,_e+=1,K.value=[],D$1.value=false,B$1.value=null;}function Pa(){for(let a of Object.keys(L))L[a]+=1;for(let a of Object.keys(de))de[a]+=1;z$1.clear(),V.clear(),ve.clear(),W.clear(),le.clear(),pe.group+=1,fn+=1,b.value=null,I.value=null,G.value=[],X.value=false,$.value=false,ie.value=null;}function yr(){for(let a of Object.keys(Ue))Ue[a]+=1;un.clear(),Cn.clear(),Se.clear(),Re.clear(),En.clear(),Rn.clear(),pe.channel+=1,T.value=null,E.value=null,Z.value=false,re.value=null,at+=1,Pe.value=null,F.value=null,y.value=false,H.value=null,$n(),Ir();}function ka(){Ra(),k["search-user"]+=1,k["resolve-application-target"]+=1,k["request-friendship"]+=1,Pa(),yr(),dn.clear();for(let a of ["individual","group","channel"])it[a]+=1,Object.assign(ae[a],Wr());Un.clear(),mo(),Pn.clear(),qe.clear(),Ge.clear(),mn.clear(),We.clear(),pn.clear(),ge.clear(),s.value={},Be.size>0&&(Be.clear(),jn.value+=1);}function Ql(){q||(ka(),q=true,z$1.clear(),V.clear(),ve.clear(),Se.clear(),Re.clear(),un.clear(),Cn.clear(),$l(),Wl(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:S,directError:M,directMutualGroups:K,directMutualGroupsLoading:D$1,directMutualGroupsError:B$1,groupRef:b,groupProfile:I,groupMembers:G,groupLoading:X,groupMembersLoading:$,groupError:ie,channelRef:T,channelProfile:E,channelLoading:Z,channelError:re,directories:ae,directorySearchKeyword:ne,directorySearchResult:C$1,directorySearchLoading:A$1,directorySearchError:N,channelMembersRef:P,channelMembers:O,channelMemberQuery:Q,channelMembersLoading:J,channelMembersExhausted:fe,channelMembersError:me,channelMemberDetailRef:Pe,channelMemberDetail:F,channelMemberDetailLoading:y,channelMemberDetailError:H,channelMentionsRef:_,channelMentions:se,channelMentionQuery:ue,channelMentionsLoading:Ce,channelMentionsExhausted:Oe,channelMentionsError:j,resolveDisplayName:lo,resolveAvatarUrl:tr,resolvePublicNickname:co,resolveSenderProfile:rr,resolveGroupMemberProfiles:st,resolveChannelMemberProfiles:lt,invalidateChannelMemberProfiles:ct,invalidateChannelMemberSet:An,channelMentionRevision:so,loadDirect:R,resolveProfileAccess:x,loadDirectMutualGroups:oe,setDirectContactRemark:he,blockDirectContact:ye,reportDirectContact:ze,deleteDirectFriendship:Fe,searchDirectContact:we,resolveDirectContactTarget:Ne,requestDirectFriendship:Ze,loadGroup:Kt,updateGroupName:xe,updateGroupAvatar:en,setMyGroupNickname:Dn,updateGroupVerification:_n,isGroupProfileWritePending:Dt,inviteGroupMembers:ml,removeGroupMember:pl,transferGroupOwnership:vl,leaveGroup:gl,isGroupMemberManagementPending:dr,ensureGroupMembers:pt,loadChannel:Nt,requestMembershipJoin:El,updateChannelName:tl,updateChannelDescription:rl,updateChannelAvatar:ol,setMyChannelNickname:al,setChannelMemberNickname:il,updateChannelVerification:sl,setChannelAllMuted:ll,setChannelMemberPrivateChatDisabled:cl,isChannelProfileWritePending:sn,inviteChannelMembers:Pl,removeChannelMember:kl,setChannelMemberAdmin:Ol,transferChannelOwnership:Ml,leaveChannel:Sl,dismissChannel:Tl,isChannelMemberManagementPending:mr,loadDirectory:jl,refreshDirectory:wl,searchDirectory:Al,clearDirectorySearch:mo,openChannelMembers:ko,getChannelMember:Ro,loadChannelMember:Fl,setChannelMemberQuery:Kl,loadMoreChannelMembers:Nl,retryChannelMembers:Hl,resetChannelMembers:$n,updateGroupMemberNicknameProjection:ua$1,clearGroupMemberNicknameProjection:da,removeGroupMemberProjection:po,restoreGroupMemberProjection:vo,isGroupMemberRemovedProjection:fa,clearGroupMemberProjections:go,updateChannelNameProjection:ma,updateChannelDescriptionProjection:pa,updateChannelAvatarProjection:va,updateChannelVerificationProjection:ga,updateChannelManagementProjection:Io,updateChannelMemberDisplayNameProjection:ho,updateChannelMemberRoleProjection:Bn,clearChannelMemberDisplayNameProjection:Ia,channelMemberNicknameProjection:_l,removeChannelMemberProjection:yo,restoreChannelMemberProjection:bo,isChannelMemberRemovedProjection:Co,clearChannelMemberProjections:gr,openChannelMentions:Ll,setChannelMentionQuery:Ul,loadMoreChannelMentions:ba,refreshChannelMentions:ql,retryChannelMentions:Bl,resetChannelMentions:Ir,resetDirect:Ra,resetGroup:Pa,resetChannel:yr,reset:ka,dispose:Ql}})}var Vs=new WeakMap,Qr=new WeakMap;function Uu(e=Te()){be(e);let n=Vs.get(e);n===void 0&&(n=Lu(e),Vs.set(e,n));let r=n(e);return Qr.get(e)!==r&&(Qr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Qr.get(e)===r&&Qr.delete(e);})),r}var Yr=new WeakMap,Wu=Object.freeze({status:"loading",message:null}),$s=Object.freeze({status:"missing",message:null});function Jr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Yo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function Qu(e){return defineStore("k2-im-quoted-message",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=shallowRef({}),c=new Set,m=new Set,g=0,S=new Map,M=false,K=false,D=false,B=computed(()=>{let A=new Map;for(let N of o.messages)A.set(N.id,N);return A});function b(){g+=1,c.clear(),S.clear(),m=new Set,D=false,s.value={};}let I=watch(()=>Jr(o.activeRef),(A,N)=>{A!==N&&b();},{flush:"sync"}),G=n.subscribeEvents(A=>{M||A.type!=="connection:changed"||A.state!=="authenticated"||ae();});function X(A){let N=A.trim();if(N==="")return $s;let P=B.value.get(N);return P!==void 0?Object.freeze({status:"ready",message:P}):s.value[N]??Wu}function $(A,N){if(A.length===0)return;let P={...s.value},O=false;for(let[Q,J]of A)N.get(Q)===(S.get(Q)??0)&&(P[Q]=J,O=true);O&&(s.value=P);}async function ie(A){let N=g,P=new Map(A.map(F=>[F,S.get(F)??0])),O=n.getGeneration(),Q=o.getHandle(),J=Jr(o.activeRef);if(Q===void 0||Jr(Q.ref)!==J)return;let fe=()=>!M&&g===N&&n.getGeneration()===O&&o.getHandle()===Q&&Jr(o.activeRef)===J,me=[],Pe=[];try{let F=await Promise.all(A.map(async y=>({messageId:y,message:await Q.resolveMessage(y)})));if(!fe())return;for(let{messageId:y,message:H}of F)H===null?Pe.push(y):me.push([y,Object.freeze({status:"ready",message:H})]);}catch(F){if(!fe())return;$(A.map(y=>[y,Object.freeze({status:"failed",message:null,retryable:true})]),P),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:O,conversation:{...Q.ref},data:{requestedCount:A.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:F}}));return}if($(me,P),Pe.length!==0)try{let F=await Q.messages.fetchByIds(Pe);if(!fe())return;let y=[];for(let _ of F.messages)y.push([_.id,Object.freeze({status:"ready",message:_})]);for(let _ of F.missingMessageIds)y.push([_,$s]);let H=F.failure?.retryable??!0;for(let _ of F.unresolvedMessageIds)y.push([_,Object.freeze({status:"failed",message:null,retryable:H})]);$(y,P),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:O,conversation:{...Q.ref},data:{requestedCount:Pe.length,resolvedCount:F.messages.length,missingCount:F.missingMessageIds.length,unresolvedCount:F.unresolvedMessageIds.length,retryable:F.failure?.retryable}}));}catch(F){if(!fe())return;$(Pe.map(y=>[y,Object.freeze({status:"failed",message:null,retryable:false})]),P),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:O,conversation:{...Q.ref},data:{requestedCount:Pe.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:F}}));}}function T(){let A=[];for(let N of m)B.value.has(N)||c.has(N)||s.value[N]===void 0&&A.push(N);return A}function E(){if(M)return;if(K){D=true;return}let A=T();if(A.length!==0){K=true;for(let N of A)c.add(N);ie(A).catch(N=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:A.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:N}}));}).finally(()=>{for(let N of A)c.delete(N);K=false,D&&(D=false,E());});}}function Z(A){if(M)return;m=new Set(Yo(A));let N=Object.fromEntries(Object.entries(s.value).filter(([P])=>m.has(P)&&!B.value.has(P)));Object.keys(N).length!==Object.keys(s.value).length&&(s.value=N),E();}function re(A){if(M)return;let N=Yo(A).filter(O=>s.value[O]!==void 0);if(N.length===0)return;let P={...s.value};for(let O of N)delete P[O],c.delete(O),S.set(O,(S.get(O)??0)+1);s.value=P,E();}function ae(A){if(M)return;let P=(A===void 0?[...m]:Yo(A)).filter(Q=>{let J=s.value[Q];return J?.status==="failed"&&J.retryable});if(P.length===0)return;let O={...s.value};for(let Q of P)delete O[Q],c.delete(Q),S.set(Q,(S.get(Q)??0)+1);s.value=O,E();}function ne(){b();}function C(){M||(M=true,I(),G(),b());}return Yr.set(e,Object.freeze({dispose:C})),{lookup:X,prefetch:Z,retry:ae,invalidate:re,reset:ne}})}var Ws=new WeakMap,Xr=new WeakMap;function Ju(e=Te()){be(e);let n=Ws.get(e);n===void 0&&(n=Qu(e),Ws.set(e,n));let r=n(e),o=Yr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Xr.get(e)!==r&&(Xr.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),Xr.get(e)===r&&(Xr.delete(e),Yr.get(e)===o&&Yr.delete(e));})),r}var no=new WeakMap;function Zr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function nd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function td(e,n){return nd(e)?Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}):Object.freeze({code:"IM_CHAT_KIT_REACTION_OPERATION_FAILED",category:"state",operation:`reaction.${n}`,retryable:false})}function rd(e){return defineStore("k2-im-reaction",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=ref([]),c=shallowRef(null),m=false,g=0,S=new Map;function M(){g+=1,S.clear(),s.value=[],c.value=null;}let K=watch(()=>Zr(o.activeRef),(T,E)=>{T!==E&&M();},{flush:"sync"});function D(T,E){let Z=o.activeRef,re=o.getHandle(),ae=Zr(Z);if(m||Z===null||re===void 0||Zr(re.ref)!==ae||!o.messages.some(C=>C.id===T))return Object.freeze({ok:false,operation:E,reason:"not-ready"});if(S.has(T))return Object.freeze({ok:false,operation:E,reason:"busy"});let ne=Symbol(T);return S.set(T,ne),s.value=Object.freeze([...S.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:re,conversationKey:ae,token:ne}}function B(T){return !m&&T.contextEpoch===g&&T.generation===n.getGeneration()&&o.getHandle()===T.handle&&Zr(o.activeRef)===T.conversationKey}function b(T,E){S.get(T)===E&&(S.delete(T),s.value=Object.freeze([...S.keys()]));}async function I(T,E,Z){let re=D(T,E);if(!("handle"in re))return re;try{let ae=await Z(re.handle);return B(re)?(c.value=null,r.record("debug","pinia","message",`reaction-${E}-settled`,()=>({generation:re.generation,conversation:{...re.handle.ref},messageId:T,result:{ok:!0,action:ae.action}})),Object.freeze({ok:!0,operation:E,change:ae})):Object.freeze({ok:!1,operation:E,reason:"stale"})}catch(ae){if(!B(re))return Object.freeze({ok:false,operation:E,reason:"stale"});let ne=td(ae,E);return c.value=ne,r.record("error","pinia","message",`reaction-${E}-settled`,()=>({generation:re.generation,conversation:{...re.handle.ref},messageId:T,result:{ok:false,reason:"sdk-rejected",error:ne}})),Object.freeze({ok:false,operation:E,reason:"sdk-rejected",error:ne})}finally{b(T,re.token);}}function G(T,E){return I(T,"toggle",Z=>Z.messages.toggleReaction(T,E))}function X(T,E,Z){return I(T,"set",re=>re.messages.setReaction(T,E,Z))}function $(){M();}function ie(){m||(m=true,K(),M());}return no.set(e,Object.freeze({dispose:ie})),{operatingMessageIds:s,error:c,toggle:G,set:X,reset:$}})}var Qs=new WeakMap,eo=new WeakMap;function od(e=Te()){be(e);let n=Qs.get(e);n===void 0&&(n=rd(e),Qs.set(e,n));let r=n(e),o=no.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return eo.get(e)!==r&&(eo.set(e,r),Ee(e,()=>{o.dispose(),r.$dispose(),eo.get(e)===r&&(eo.delete(e),no.get(e)===o&&no.delete(e));})),r}function to(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function ld(e){let n=Te(e),r=be(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let ne=new Map;for(let C of o.value)C.msgId!==""&&C.collectId!==""&&ne.set(C.msgId,C.collectId);return ne}),g=false,S=0,M=0,K,D;function B(){S+=1,M+=1,o.value=[],s.value=false,c.value=null;}function b(ne){return {client:ne,generation:r.getGeneration(),stateEpoch:S}}function I(ne){return !g&&ne.client===r.getProductClient()&&ne.generation===r.getGeneration()&&ne.stateEpoch===S}function G(ne){return m.value.get(ne.trim())??""}function X(ne){return G(ne)!==""}async function $(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let ne=++M,C;try{C=b(r.ensureProductClient()),ae(C.client);}catch(A){let N=to(A,"reload");return c.value=N,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}s.value=true,c.value=null;try{let A=await C.client.sessionFavorites.list();return ne!==M||!I(C)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=A,Object.freeze({ok:!0,operation:"reload"}))}catch(A){if(ne!==M||!I(C))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=to(A,"reload");return c.value=N,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}finally{ne===M&&I(C)&&(s.value=false);}}function ie(){M+=1,s.value=false;}async function T(ne){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let C;try{C=b(r.ensureProductClient()),ae(C.client);let A=await C.client.sessionFavorites.addFromMessage(ne);return I(C)?(ie(),o.value=Object.freeze([A,...o.value.filter(N=>N.collectId!==A.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:A.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(A){return Object.freeze({ok:false,operation:"add",reason:"failed",error:to(A,"add")})}}async function E(ne){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let C=[...new Set(ne.map(A=>A.trim()).filter(A=>A!==""))];if(C.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 A=b(r.ensureProductClient());if(await A.client.sessionFavorites.delete(C),!I(A))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});ie();let N=new Set(C);return o.value=Object.freeze(o.value.filter(P=>!N.has(P.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:C[0]??""})}catch(A){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:to(A,"delete")})}}async function Z(ne){let C=G(ne);return C===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):E([C])}function re(){K?.(),K=void 0,D=void 0,B();}function ae(ne){if(D===ne)return;K?.(),D=ne;let C=b(ne);K=ne.events.subscribe(A=>{D===ne&&I(C)&&A.type==="session-favorites:changed"&&$();});}return Ee(n,()=>{g=true,K?.(),K=void 0,D=void 0,B();}),{items:o,loading:s,error:c,collectIdOf:G,isFavorited:X,reload:$,addFromMessage:T,removeByCollectIds:E,removeByMessageId:Z,reset:re}})(n)}function ud(e){return defineStore("k2-im-session",()=>{let n=be(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getGeneration()),m=ref("idle"),g=ref(""),S=ref({}),M=false,K=0,D="",B=n.getDiagnostics(),b=n.subscribeEvents(ae=>{if(!M){if(ae.type==="receiving:changed"&&(s.value=ae.receiving),ae.type==="session:replaced"){K+=1,m.value="error",s.value=false,o.value=n.getConnectionState(),g.value="lifecycle.connectionOccupied",S.value={};return}ae.type==="connection:changed"&&(o.value=ae.state,ae.state==="authenticated"&&(m.value="ready"));}});function I(ae,ne){return !M&&ae===K&&n.getGeneration()===ne}function G(ae){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(ae);}function X(ae){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let ne=ae.session===null?"":`${ae.session.userId}\0${ae.session.token}`;ne!==D&&(K+=1,D=ne);let C=n.applySession(ae.session,ae.endpoints,ae.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,r.value=ae.session?.userId??"",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=o.value==="authenticated"?"ready":"idle",g.value="",S.value={},B.record("info","pinia","session","session-applied",()=>({generation:c.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:C.hasToken,didReset:C.didReset}})),C}async function $(ae,ne,C){if(M)return {ok:false,errorKey:"lifecycle.disposed"};let A=++K,N=n.getGeneration(),P=Date.now();m.value=ae,g.value="",S.value={},B.record("info","pinia",ne==="prepare"?"session":"connection",`${ne}-start`,()=>({generation:N}));let O=await C();return I(A,N)?(c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value=O.ok?o.value==="authenticated"?"ready":"idle":"error",g.value=O.errorKey??"",S.value=O.errorParams??{},B.record(O.ok?"info":"error","pinia",ne==="prepare"?"session":"connection",`${ne}-${O.ok?"complete":"failed"}`,()=>({generation:c.value,durationMs:Date.now()-P,...O.ok?{}:{error:{message:O.errorKey??`${ne}-failed`,data:O.errorParams}}})),O):(B.record("debug","pinia","session",`${ne}-stale-result-dropped`,()=>({generation:N,durationMs:Date.now()-P})),O)}function ie(){return $("preparing","prepare",()=>n.prepare())}function T(){return $("connecting","connect",()=>n.connect())}function E(){M||(K+=1,n.disconnect(),o.value=n.getConnectionState(),m.value="idle");}async function Z(ae){if(M)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");K+=1;try{await n.logout(ae);}finally{r.value="",s.value=false,D="",c.value=n.getGeneration(),o.value=n.getConnectionState(),m.value="idle",g.value="",S.value={};}}function re(){M||(M=true,K+=1,b(),r.value="",o.value="idle",s.value=false,c.value=n.getGeneration(),m.value="disposed",g.value="",S.value={});}return {accountId:r,connectionState:o,receiving:s,generation:c,phase:m,errorKey:g,errorParams:S,configureHost:G,applySession:X,prepare:ie,connect:T,disconnect:E,logout:Z,dispose:re,getRuntime:()=>n}})}var Xs=new WeakMap,ro=new WeakMap;function dd(e=Te()){be(e);let n=Xs.get(e);n===void 0&&(n=ud(e),Xs.set(e,n));let r=n(e);return ro.get(e)!==r&&(ro.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),ro.get(e)===r&&ro.delete(e);})),r}function ao(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function nl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Zt(e,n){return `${nl(e)}\0${n}`}function xt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Zs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function md(e){return defineStore("k2-im-thread-paging",()=>{let n=be(e).runtime,r=n.getDiagnostics(),o=De(e),s=Sn(e),c=ref(false),m=ref(false),g=ref(null),S=ref(null),M=false,K="",D="",B=0,b=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:xt(o.messages,"older"),newerBoundary:xt(o.messages,"newer")}),I=(C,A)=>{let N=b();return !M&&A===B&&C.generation===N.generation&&ao(C.ref,N.ref)&&C.ref!==null},G=C=>{(C===void 0||C==="older")&&(K="",g.value=null),(C===void 0||C==="newer")&&(D="",S.value=null);},X=()=>{B+=1,c.value=false,m.value=false,G();},$=async(C,A)=>{let N=b(),P=C==="older"?K:D,O=C==="older"?o.hasOlder:o.hasNewer;if(N.ref===null||!O||(C==="older"?c.value:m.value))return 0;let Q=N.ref,J=C==="older"?N.olderBoundary:N.newerBoundary,fe=Zt(Q,J);if(C==="older"?m.value:c.value)return 0;if(!A&&P!==""&&P===fe)return r.record("debug","pinia","history",`thread-paging-${C}-circuit-open`,()=>({conversation:Q,data:{boundary:J}})),0;A&&(G(C),r.record("debug","pinia","history",`thread-paging-${C}-retry`,()=>({conversation:Q})));let me=new Set(o.messages.map(F=>F.id)),Pe=++B;C==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${C}-start`,()=>({conversation:Q,generation:N.generation,data:{boundary:J,force:A}}));try{let F=C==="older"?await o.loadOlder():await o.loadNewer();if(!I(N,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:Q,generation:N.generation,data:{side:C}})),0;if(!F)return 0;G(C);let y=o.messages.reduce((H,_)=>H+ +!me.has(_.id),0);return r.record("debug","pinia","history",`thread-paging-${C}-success`,()=>({conversation:Q,generation:N.generation,data:{added:y}})),y}catch(F){if(!I(N,Pe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:Q,generation:N.generation,data:{side:C,outcome:"failed"}})),0;throw xt(o.messages,C)===J&&(C==="older"?(K=fe,g.value=F):(D=fe,S.value=F),r.record("warn","pinia","history",`thread-paging-${C}-failed`,()=>({conversation:Q,generation:N.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${C} \u5206\u9875\u5931\u8D25`,data:Zs(F)}}))),F}finally{Pe===B&&(C==="older"?c.value=false:m.value=false);}},ie=(C={})=>$("older",C.force===true),T=(C={})=>$("newer",C.force===true),E=async C=>{if(C!==void 0&&!ao(o.activeRef,C))return false;s.clearLocation(),X();let A=b();if(A.ref===null)return false;let N=A.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:N})),!o.hasNewer)return true;let P;try{P=await o.loadLatest();}catch(O){if(ao(o.activeRef,N)&&n.getGeneration()===A.generation){let Q=xt(o.messages,"newer");D=Zt(N,Q),S.value=O,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:N,generation:A.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Zs(O)}}));}throw O}return !ao(o.activeRef,N)||n.getGeneration()!==A.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:N})),false):(G("newer"),P)},Z=watch(()=>nl(o.activeRef),()=>X(),{flush:"sync"}),re=watch(()=>`${Zt(o.activeRef,xt(o.messages,"older"))}\0${xt(o.messages,"newer")}`,()=>{let C=b(),A=Zt(C.ref,C.olderBoundary),N=Zt(C.ref,C.newerBoundary);K!==""&&K!==A&&G("older"),D!==""&&D!==N&&G("newer");},{flush:"sync"}),ae=o.$onAction(({name:C})=>{(C==="loadLatest"||C==="loadAround"||C==="open"||C==="close"||C==="reset")&&X();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:S,loadOlder:ie,loadNewer:T,retryOlder:()=>ie({force:true}),retryNewer:()=>T({force:true}),jumpToLatest:E,reset:X,dispose:()=>{M||(M=true,Z(),re(),ae(),X());}}})}var el=new WeakMap,io=new WeakMap;function pd(e=Te()){be(e);let n=el.get(e);n===void 0&&(n=md(e),el.set(e,n));let r=n(e);return io.get(e)!==r&&(io.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),io.get(e)===r&&io.delete(e);})),r}function vd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function gd(e=Te()){let n=De(e),r=Sn(e);return Object.freeze({async returnToLatest(o){return vd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{kr as applicationKey,Zl as createAndInstallImChatKit,si as createImChatKitContext,nc as disposeImChatKit,ec as ensureImChatKitSelfProfile,be as getImChatKitContext,$i as imMediaDownloadKey,li as installImChatKit,sc as useImApplicationsStore,Pc as useImCapabilitiesStore,Jn as useImComposerStore,Mc as useImConversationActivationCoordinator,Lc as useImConversationDeletionCoordinator,_o as useImConversationListStore,Yc as useImExpressionStore,tu as useImHistoryReturnAfterSendCoordinator,lu as useImMediaStore,Bt as useImMessageOperationsStore,Uu as useImProfileDirectoryStore,Ju as useImQuotedMessageStore,od as useImReactionStore,Sn as useImSearchStore,ld as useImSessionFavoritesStore,dd as useImSessionStore,pd as useImThreadPagingStore,gd as useImThreadReturnToLatestCoordinator,De as useImThreadStore};
|