k2-im 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {r,ta,ja,v,ia,ha,ga,ea,da,ca,ba,$ as $$1,G,H,F,Ba,d,pa,sa,ra,la,oa,na,ma,A,y,z,x,w,Aa,za,ya,xa,wa,va,c,b,k,h,qa}from'./chunk-EBM5MOQO.js';import'./chunk-CVBX4JM4.js';import'./chunk-K3DSNX5G.js';import {ba as ba$1,_}from'./chunk-AFW5LCKV.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {ref,shallowRef,computed,watch,reactive,nextTick}from'vue';function Hc(e,n,r$1={}){let a=r(n);try{return ei(e,Za({runtime:a,...r$1}))}catch(s){throw a.dispose(),s}}function Nc(e){ta(ve(e).runtime);}var Un=new WeakMap;function Oe(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 Za(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function ei(e,n){let r=Un.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 a={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!a.disposed){a.disposed=true;for(let u of [...a.storeDisposers])u();a.storeDisposers.clear(),n.runtime.dispose(),Un.get(e)===a&&Un.delete(e);}}});return a.installation=s,Un.set(e,a),s}function ve(e){let n=Un.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=Un.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 Lc(e){Un.get(e)?.installation.dispose();}function br(e){return `${e.domain}:${e.applicationId}`}function qc(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 $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function hr(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&&$c(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 Vc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Bc(e){return defineStore("k2-im-applications",()=>{let n=ve(e).runtime,r=ref([]),a=ref(false),s=shallowRef(null),u=ref({}),p=shallowRef({}),h=computed(()=>r.value.length),j=computed(()=>{let O=0,A=0,q=0;for(let Z of r.value)Z.ref.domain==="contact"?O+=1:Z.ref.domain==="group"?A+=1:q+=1;return Object.freeze({contact:O,group:A,channel:q})}),D=false,G=0,W=0,V=0,b=false,I=0,z=new Map;function N(){G+=1,W+=1,V+=1,I+=1,b=false,z.clear(),r.value=[],a.value=false,s.value=null,u.value={},p.value={};}function B(O){return {client:O,generation:n.getGeneration(),stateEpoch:G}}function oe(O){return !D&&O.client===n.getProductClient()&&O.generation===n.getGeneration()&&O.stateEpoch===G}async function k(){if(D)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let O=++W,A;try{A=B(n.ensureProductClient());}catch(q){let Z=hr(q,"reload");return s.value=Z,a.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}a.value=true,s.value=null;try{let q=await A.client.applications.listPending();return O!==W||!oe(A)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...q]),Object.freeze({ok:!0,operation:"reload"}))}catch(q){if(O!==W||!oe(A))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Z=hr(q,"reload");return s.value=Z,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}finally{O===W&&oe(A)&&(a.value=false);}}function T(){if(D||b)return;b=true;let O=G,A=++I;queueMicrotask(()=>{A===I&&(b=false,!(D||O!==G)&&k());});}function Q(O){(O.type==="contact-application:received"||O.type==="channel-join-application:received"||O.type==="application:updated")&&T();}let H=n.subscribeProductEvents(Q);async function le(O,A){let q=qc(O),Z=br(q);if(D)return Object.freeze({ok:false,operation:A,reason:"stale",application:q});let me=++V;z.set(Z,me),u.value={...u.value,[Z]:A};let{[Z]:be,...Ce}=p.value;p.value=Ce;let U;try{U=B(n.ensureProductClient());}catch(ge){let de=hr(ge,A);p.value={...p.value,[Z]:de};let{[Z]:he,...Pe}=u.value;return u.value=Pe,z.delete(Z),Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:de})}let ee=()=>oe(U)&&z.get(Z)===me;try{return await U.client.applications[A](q),ee()?(W+=1,a.value=!1,r.value=Object.freeze(r.value.filter(ge=>br(ge.ref)!==Z)),Object.freeze({ok:!0,operation:A,application:q})):Object.freeze({ok:!1,operation:A,reason:"stale",application:q})}catch(ge){if(!ee())return Object.freeze({ok:false,operation:A,reason:"stale",application:q});let de=hr(ge,A);return Vc(de)?(W+=1,a.value=false,r.value=Object.freeze(r.value.filter(he=>br(he.ref)!==Z)),Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:de})):(p.value={...p.value,[Z]:de},Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:de}))}finally{if(ee()){z.delete(Z);let{[Z]:ge,...de}=u.value;u.value=de;}}}function ye(O){return le(O,"accept")}function _(O){return le(O,"ignore")}function x(){D||N();}function R(){D||(D=true,H(),N());}return {items:r,loading:a,error:s,processingKeys:u,itemErrors:p,pendingCount:h,domainCounts:j,reload:k,accept:ye,ignore:_,reset:x,dispose:R}})}var ri=new WeakMap,yr=new WeakMap;function Wc(e=Oe()){ve(e);let n=ri.get(e);n===void 0&&(n=Bc(e),ri.set(e,n));let r=n(e);return yr.get(e)!==r&&(yr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),yr.get(e)===r&&yr.delete(e);})),r}function ii(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qc(e,n){return e.length===n.length&&e.every((r,a)=>r===n[a])}var oi=Object.freeze({state:"none"});function Xc(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:ii(r)}})}function Yc(e){return defineStore("k2-im-thread",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=shallowRef(null),s=shallowRef([]),u=shallowRef(oi),p=shallowRef(null),h=ref(false),j=ref(false),D=ref(false),G=ref(false),W=ref(false),V=shallowRef(null),b=ref(0),I=false,z=0,N=0,B,oe,k,T,Q=[],H=new Map,le=new Set;function ye(){Q.length=0,b.value=0;}let _=n.subscribeEvents(g=>{if(I||g.type!=="message:received"||(g.source??"live")!=="live"||g.message.body.system?.timelineVisibility==="hidden")return;let E=a.value;E===null||g.message.conversationId!==E.conversationId||g.message.conversationType!==E.conversationType||g.message.senderId===n.getCredentials().userId||(Q.push(g.message.id),b.value+=1);});function x(g=null){ye(),a.value=g,s.value=[],u.value=oi,p.value=null,h.value=g!==null,j.value=false,D.value=false,G.value=false,W.value=false,V.value=null;}function R(g){if((H.get(g)??0)>0){le.add(g);return}g.close();}function O(){T?.(),T=void 0;let g=k;k=void 0,g!==void 0&&R(g);}function A(g,E,X){let re=a.value;if(I||k!==g||n.getGeneration()!==X||re===null||E.ref.conversationId!==re.conversationId||E.ref.conversationType!==re.conversationType)return false;let ne=E.messages.filter(Re=>Re.body.system?.timelineVisibility!=="hidden");return Qc(s.value,ne)||(s.value=Object.freeze(ne)),u.value=E.entryUnread,p.value=E.draft,h.value=E.loading,j.value=true,D.value=E.stale,G.value=E.hasOlder,W.value=E.hasNewer,V.value=E.error??null,true}async function q(g){let E=n.ensureProductClient();return g.conversationType==="direct"?E.openConversation({conversationType:"direct",conversationId:g.conversationId},{initialPosition:"first-unread"}):g.conversationType==="group"?E.openConversation({conversationType:"group",conversationId:g.conversationId},{initialPosition:"first-unread"}):E.openConversation({conversationType:"channel",conversationId:g.conversationId},{initialPosition:"first-unread"})}async function Z(g){let E=n.ensureProductClient();if(E.conversations.list().find(re=>re.ref.conversationType===g.conversationType&&re.ref.conversationId===g.conversationId)?.manuallyUnread===true)try{await E.conversations.markRead(g);}catch(re){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:g,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:re}}));}}async function me(g){if(I)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");N+=1,B=void 0,oe=void 0;let E=ii(g),X=++z,re=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:re,conversation:E}));let ne;try{ne=await q(E);}catch(Re){throw !I&&X===z&&re===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:re,conversation:E,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Xc(Re,"thread.open",E)}})),Re}if(I||X!==z||re!==n.getGeneration()){ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:re,conversation:E}));return}if(await Z(E),I||X!==z||re!==n.getGeneration()){ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:re,conversation:E}));return}return O(),x(E),k=ne,T=ne.subscribe(Re=>A(ne,Re,re)),A(ne,ne.getSnapshot(),re),r.record("debug","pinia","history","thread-open-complete",()=>({generation:re,conversation:E})),ne}function be(){z+=1;}function Ce(g){if(I||k===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${g}`);return k}function U(g,E,X){return !I&&N===g&&k===E&&n.getGeneration()===X}async function ee(g,E){if(B!==void 0||oe!==void 0)return false;let X=Ce(g),re=n.getGeneration(),ne=++N;B=ne;try{return await E(X),U(ne,X,re)?(A(X,X.getSnapshot(),re),!0):!1}finally{B===ne&&(B=void 0);}}async function ge(g,E,X){let re=Ce(g),ne=n.getGeneration(),Re=++N;B=void 0,oe=Re;try{if(await E(re),!U(Re,re,ne))return !1;let te=re.getSnapshot();return X(te)?(A(re,te,ne),!0):!1}finally{oe===Re&&(oe=void 0);}}function de(){return ge("loadLatest",g=>g.history.loadLatest(),g=>!g.hasNewer)}function he(){return ee("loadOlder",g=>g.history.loadOlder())}function Pe(){return ee("loadNewer",g=>g.history.loadNewer())}function Me(g){return ge("loadAround",E=>E.history.loadAround(g),E=>E.messages.some(X=>X.id===g)).then(E=>E?s.value.some(X=>X.id===g):false)}function je(g){return Ce("resolveMessage").resolveMessage(g)}function w(g=Ce("retainHandle")){if(I)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");H.set(g,(H.get(g)??0)+1);let E=false;return ()=>{if(E)return;E=true;let X=(H.get(g)??1)-1;if(X>0){H.set(g,X);return}H.delete(g),le.delete(g)&&g.close();}}function K(){return w()}function ue(){z+=1,N+=1,B=void 0,oe=void 0,O(),x();}function fe(g){let E=a.value;return E===null||E.conversationType!==g.conversationType||E.conversationId!==g.conversationId?false:(N+=1,B=void 0,oe=void 0,O(),x(),true)}function se(){z+=1,N+=1,B=void 0,oe=void 0,T?.(),T=void 0;let g=new Set([...k===void 0?[]:[k],...le,...H.keys()]);k=void 0,le.clear(),H.clear();for(let E of g)E.close();x();}function ze(){I||(se(),I=true,_());}function C(){return Q.splice(0,Q.length)}return {activeRef:a,messages:s,entryUnread:u,draft:p,loading:h,ready:j,stale:D,hasOlder:G,hasNewer:W,error:V,activeRemoteMessageRevision:b,open:me,invalidatePendingOpen:be,loadLatest:de,loadOlder:he,loadNewer:Pe,loadAround:Me,resolveMessage:je,retainHandle:w,retainCurrentHandle:K,close:ue,closeActiveConversation:fe,reset:se,dispose:ze,drainActiveRemoteMessageIds:C,getHandle:()=>k}})}var ai=new WeakMap,Cr=new WeakMap;function De(e=Oe()){ve(e);let n=ai.get(e);n===void 0&&(n=Yc(e),ai.set(e,n));let r=n(e);return Cr.get(e)!==r&&(Cr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Cr.get(e)===r&&Cr.delete(e);})),r}var Mr=new WeakMap;function Eo(e){let n=Mr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function ut(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Or(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 ci(e){return e===null?null:Or({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function So(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function To(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,a)=>{let s=n.mentions?.[a];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function nl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Ft(e,n,r){return nl(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:ut(r)},cause:e})}function Pr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function tl(e){return defineStore("k2-im-composer",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=shallowRef(null),u=shallowRef(null),p=shallowRef(null),h=ref(false),j=ref(0),D=shallowRef(null),G=false,W=0,V=0,b=0,I,z=Promise.resolve(),N=Promise.resolve(),B=new Set,oe=new Map,k,T;function Q(){return a.getHandle()}function H(w,K){let ue=a.activeRef;return !G&&Q()===w&&n.getGeneration()===K&&ue!==null&&ue.conversationId===w.ref.conversationId&&ue.conversationType===w.ref.conversationType}function le(w=Q()){if(w===void 0)return false;let K=n.getGeneration();return I?.handle===w&&I.generation===K||[...B].some(ue=>ue.handle===w&&ue.generation===K)}async function ye(w=Q()){if(w===void 0)return;let K=n.getGeneration(),ue=I?.handle===w&&I.generation===K?I:void 0;if(ue===void 0){let C=[...B].filter(g=>g.handle===w&&g.generation===K).map(g=>g.promise);C.length>0?await Promise.all(C):await N;return}I=void 0;let se=z.then(async()=>{So(ue.input)?await w.draft.clear():await w.draft.save(ue.input);}),ze={handle:w,generation:K,promise:se};B.add(ze),N=se,z=se.catch(()=>{});try{await se,H(w,K)&&(D.value=null,j.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:K,conversation:ut(w.ref)})));}catch(C){throw H(w,K)&&(I===void 0&&b===ue.version&&(I=ue),D.value=Ft(C,"composer.draft",w.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:K,conversation:ut(w.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:D.value}}))),C}finally{B.delete(ze);}}function _(w){let K=Q(),ue=n.getGeneration();if(K===void 0||!H(K,ue))return D.value=Ft(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let fe=Or(w);return b+=1,s.value=So(fe)?null:fe,I={handle:K,generation:ue,version:b,input:fe},D.value=null,x(),So(fe)&&ye(K).catch(()=>{}),true}async function x(){if(p.value!==null)return;let w=s.value?.replyToMessageId;if(w===void 0){V+=1,u.value=null;return}let K=Q();if(K===void 0){u.value=null;return}let ue=a.messages.find(C=>C.id===w);if(ue!==void 0){V+=1,u.value=ue;return}let fe=n.getGeneration(),se=++V,ze=await K.resolveMessage(w).catch(()=>null);se!==V||!H(K,fe)||p.value!==null||s.value?.replyToMessageId!==w||(u.value=ze);}function R(w){let K=Q();return K===void 0||!Pr(w,K)?false:(p.value=null,u.value=w,_({...s.value??{text:"",attachments:[]},replyToMessageId:w.id}))}function O(w){if(w!==void 0&&s.value?.replyToMessageId!==w)return;u.value=null;let K=s.value;if(K===null)return;let{replyToMessageId:ue,...fe}=K;_({...fe});}function A(w){let K=Q();return K===void 0||!Pr(w,K)?false:(u.value=null,p.value=w,true)}function q(){p.value=null,x();}function Z(){V+=1,u.value=null,p.value=null;}function me(w,K){return !G&&n.getGeneration()===w&&W===K}function be(w){return [...oe.values()].some(K=>K.handle===w)}function Ce(w,K){return w!==null&&To(ci(w),K)}function U(w,K,ue){!H(w,K)||s.value===null||!To(s.value,ue)||(b+=1,I?.handle===w&&I.generation===K&&To(I.input,ue)&&(I=void 0),s.value=null,V+=1,u.value=null);}async function ee(w){let K=[...B].filter(fe=>fe.handle===w.handle&&fe.generation===w.generation).map(fe=>fe.promise.catch(()=>{}));if(K.length>0&&await Promise.all(K),!H(w.handle,w.generation))return;let ue=await w.handle.draft.get();if(!Ce(ue,w.input)){k?.token===w.token&&(k=void 0);return}k=w;try{await w.handle.draft.clear(),k?.token===w.token&&(k=void 0);}catch(fe){if(H(w.handle,w.generation)){if(s.value===null&&I===void 0){let se={text:"",attachments:[]};b+=1,I={handle:w.handle,generation:w.generation,version:b,input:se};}D.value=Ft(fe,"composer.draft",w.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:w.generation,conversation:ut(w.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:D.value}}));}}}function ge(w){if(!H(w.handle,w.generation)||s.value!==null)return;k=void 0;let K=Or(w.input);b+=1,s.value=K,I={handle:w.handle,generation:w.generation,version:b,input:K},x();}async function de(w){let K=p.value,ue=K===null?"send":"edit";if(K!==null&&T!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let fe=Q(),se=n.getGeneration();if(fe===void 0||!H(fe,se))return Object.freeze({ok:false,operation:ue,reason:"not-ready"});let ze=w.text.trim();if(ze==="")return Object.freeze({ok:false,operation:ue,reason:"empty"});let C=W;if(K!==null&&!Pr(K,fe))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let g=Symbol(ue);K!==null&&(T=g),h.value=T!==void 0,D.value=null;let E=a.retainHandle(fe),X;if(K===null){let re=Or(w);X={token:g,handle:fe,generation:se,input:re},oe.set(g,X),U(fe,se,re);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:se,operation:ue,conversation:ut(fe.ref),...K===null?{}:{messageId:K.id}}));try{if(K===null){if(!me(se,C)||!H(fe,se))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let re=await fe.messages.sendText(ze,{...w.mentions===void 0?{}:{mentions:w.mentions},...w.replyToMessageId===void 0?{}:{replyToMessageId:w.replyToMessageId}});if(!me(se,C)||!H(fe,se))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!re.ok)return X!==void 0&&ge(X),D.value=re.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:re.error});if(X!==void 0&&(await ee(X),!me(se,C)||!H(fe,se)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await fe.messages.editText(K.id,ze,{...w.mentions===void 0?{}:{mentions:w.mentions}});}catch(re){if(!me(se,C)||!H(fe,se))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ne=Ft(re,"composer.edit",fe.ref);return D.value=ne,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ne})}if(!me(se,C)||!H(fe,se))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});p.value===K&&q();}return D.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:se,operation:ue,conversation:ut(fe.ref)})),Object.freeze({ok:!0,operation:ue})}catch(re){if(!me(se,C)||!H(fe,se))return Object.freeze({ok:false,operation:ue,reason:"stale"});X!==void 0&&ge(X);let ne=Ft(re,`composer.${ue}`,fe.ref);return D.value=ne,Object.freeze({ok:false,operation:ue,reason:"sdk-rejected",error:ne})}finally{E(),oe.delete(g),T===g&&(T=void 0),h.value=T!==void 0,H(fe,se)&&he();}}function he(){let w=Q();if(w===void 0)return;let K=k,ue=K!==void 0&&K.handle===w&&K.generation===n.getGeneration()&&Ce(a.draft,K.input);K!==void 0&&!ue&&(k=void 0),!le(w)&&!be(w)&&!ue&&(s.value=ci(a.draft)),p.value!==null&&!Pr(p.value,w)&&(p.value=null),x();}function Pe(){W+=1,V+=1,b+=1,I=void 0,oe.clear(),k=void 0,z=Promise.resolve(),N=Promise.resolve(),s.value=null,u.value=null,p.value=null,T=void 0,h.value=false,j.value=0,D.value=null;}let Me=watch(()=>({ref:a.activeRef===null?null:`${a.activeRef.conversationType}:${a.activeRef.conversationId}`,draft:a.draft,messages:a.messages}),(w,K)=>{if(w.ref!==K?.ref){Pe(),w.ref!==null&&he();return}he();},{immediate:true});function je(){G||(G=true,Me(),Pe());}return Mr.set(e,Object.freeze({suspendInteraction:Z,syncReplyTarget:x,dispose:je})),{input:s,replyTo:u,editingMessage:p,submitting:h,draftCommitVersion:j,error:D,updateDraft:_,flush:ye,hasPendingWork:le,submitText:de,setReplyTo:R,clearReplyTo:O,setEditing:A,clearEditing:q,reset:Pe}})}var li=new WeakMap,kr=new WeakMap;function qn(e=Oe()){ve(e);let n=li.get(e);n===void 0&&(n=tl(e),li.set(e,n));let r=n(e),a=Eo(e);return kr.get(e)!==r&&(kr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),kr.get(e)===r&&(kr.delete(e),Mr.get(e)===a&&Mr.delete(e));})),r}var Tr=new WeakMap;function Ht(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function di(e){return [...e]}function al(e){return defineStore("k2-im-message-operations",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=qn(e),u=Eo(e),p=shallowRef(null),h=ref(false),j=ref([]),D=ref(null),G=ref(false),W=ref([]),V=shallowRef(null),b=false,I=0,z=0,N=0;function B(){return a.getHandle()}function oe(C,g=B()){let E=a.activeRef;return !b&&g!==void 0&&E!==null&&C.conversationType!=="supergroup"&&E.conversationId===C.conversationId&&E.conversationType===C.conversationType&&g.ref.conversationId===C.conversationId&&g.ref.conversationType===C.conversationType}function k(C){return v(p.value,C)}function T(){G.value=false,W.value=[];}function Q(){D.value=null;}function H(){let C=h.value;T(),Q(),h.value=false,j.value=[],C&&u.syncReplyTarget();}function le(C){if(C!==void 0){if(!oe(C))return Object.freeze({ok:false,reason:"not-ready"});if(!Ht(C))return Object.freeze({ok:false,reason:"not-selectable"});if(k(C))return Object.freeze({ok:false,reason:"pinned-protected"})}return u.suspendInteraction(),h.value=true,j.value=C===void 0?[]:[C],Object.freeze({ok:true})}function ye(C){return j.value.some(g=>g.id===C)}function _$1(C){return !h.value||!oe(C)?Object.freeze({ok:false,reason:"not-ready"}):Ht(C)?k(C)?Object.freeze({ok:false,reason:"pinned-protected"}):(ye(C.id)?j.value=j.value.filter(g=>g.id!==C.id):j.value=[...j.value,C],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function x(C){let g=B();return C.length===0||!C.every(E=>oe(E,g))?Object.freeze({ok:false,reason:"not-ready"}):(D.value=di(C),Object.freeze({ok:true}))}function R(){let C=j.value;if(C.length===0)return Object.freeze({outcome:"empty"});let g=C.filter(ba$1);return C.some(_)?(W.value=g,G.value=true,Object.freeze({outcome:"confirmation-required"})):g.length===0?Object.freeze({outcome:"all-skipped"}):(x(g),Object.freeze({outcome:"picker-opened"}))}function O(){let C=di(W.value);return T(),C.length===0?Object.freeze({outcome:"all-skipped"}):(x(C),Object.freeze({outcome:"picker-opened"}))}async function A(C){let g=D.value,E=B();if(g===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let X=n.getGeneration(),re=++I,ne=await $$1(n,{handle:E,messages:g,targets:C});return b||re!==I||n.getGeneration()!==X||B()!==E?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((ne.ok||ne.reason!=="stale")&&Q(),ne.ok&&H(),V.value=ne.ok?null:ne.error??null,r.record(ne.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:X,conversation:E===void 0?void 0:{...E.ref},result:ne.ok?{ok:true,sentCount:ne.sentCount,skippedCount:ne.skippedCount}:{ok:false,reason:ne.reason,error:ne.error}})),ne)}function q(C,g,E){V.value=C.ok?null:C.error??null,r.record(C.ok?"debug":"error","pinia","message",`message-${C.operation}-settled`,()=>({generation:n.getGeneration(),conversation:E===void 0?void 0:{...E.ref},messageId:g,result:C.ok?{ok:true}:{ok:false,reason:C.reason,error:C.error}}));}function Z(C,g){return g!==void 0&&(b||B()!==g)?Object.freeze({ok:false,operation:C.operation,reason:"stale"}):C}async function me(C){let g=B(),E=Z(await ba(n,{handle:g,message:C}),g);return q(E,C.id,g),E}async function be(C){let g=B(),E=Z(await ca(n,{handle:g,message:C}),g);return q(E,C.id,g),E}async function Ce(C){let g=B(),E=Z(await da(n,{handle:g,message:C}),g);return q(E,C.id,g),E}async function U(C){let g=B(),E=Z(await ea(n,{handle:g,messageId:C}),g);return q(E,C,g),E}function ee(){let C=a.activeRef;if(!(C?.conversationType!=="group"&&C?.conversationType!=="channel"))return Object.freeze({conversationId:C.conversationId,conversationType:C.conversationType})}function ge(C,g,E){let X=ee();return !b&&C===z&&g!==void 0&&B()===g&&X?.conversationId===E.conversationId&&X.conversationType===E.conversationType}function de(C,g,E){let X=ee();return !b&&C===N&&B()===g&&X?.conversationId===E.conversationId&&X.conversationType===E.conversationType}function he(C){if(j.value=j.value.filter(g=>g.id!==C),W.value=W.value.filter(g=>g.id!==C),D.value!==null){let g=D.value.filter(E=>E.id!==C);D.value=g.length===0?null:g;}s.editingMessage?.id===C&&s.clearEditing();}async function Pe(C){let g=ee(),E=B();if(g===void 0||!oe(C,E))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let X=++z;N+=1;let re=await ga(n,{conversation:g,message:C});return ge(X,E,g)?(re.ok&&re.operation==="pin"?(p.value=re.value,he(re.value.messageId),V.value=null):V.value=re.ok?null:re.error??null,re):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Me(){let C=ee(),g=B();if(C===void 0||g===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let E=++z;N+=1;let X=await ha(n,C);return ge(E,g,C)?(X.ok&&X.operation==="unpin"?(p.value=null,V.value=null):V.value=X.ok?null:X.error??null,X):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function je(){let C=ee();if(C===void 0){p.value=null;return}try{p.value=ja(n,C);}catch{p.value=null;}}async function w(){let C=ee(),g=B();if(C===void 0||g===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let E=n.getGeneration(),X=++N;je();let re=await ia(n,C);return n.getGeneration()!==E||!de(X,g,C)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(re.ok&&re.operation==="sync-pin"?(p.value=re.value,V.value=null):V.value=re.ok?null:re.error??null,re)}function K(C){let g=new Map(C.map(ne=>[ne.id,ne])),E=ne=>ne.flatMap(Re=>{let te=g.get(Re.id);return te!==void 0&&Ht(te)?[te]:[]});if(j.value=E(j.value),W.value=E(W.value),D.value!==null){let ne=E(D.value);D.value=ne.length===0?null:ne;}let X=s.editingMessage;if(X!==null){let ne=g.get(X.id);(ne===void 0||!Ht(ne))&&s.clearEditing();}let re=s.input?.replyToMessageId;if(re!==void 0){let ne=g.get(re);ne!==void 0&&!Ht(ne)&&s.clearReplyTo(re);}}let ue=watch(()=>({ref:a.activeRef===null?null:`${a.activeRef.conversationType}:${a.activeRef.conversationId}`,messages:a.messages}),(C,g)=>{C.ref!==g?.ref&&(I+=1,z+=1,N+=1,je(),h.value=false,j.value=[],D.value=null,T(),V.value=null),K(C.messages);},{immediate:true}),fe=n.subscribeEvents(C=>{if(C.type!=="pinned-message:updated")return;let g=ee();if(!(g===void 0||g.conversationId!==C.conversation.conversationId||g.conversationType!==C.conversation.conversationType)){if(N+=1,C.pinnedMessage===null){p.value=null;return}try{p.value=ja(n,g),he(C.pinnedMessage.messageId);}catch{}}});function se(){I+=1,z+=1,N+=1,h.value=false,j.value=[],D.value=null,T(),V.value=null,je();}function ze(){b||(b=true,ue(),fe(),se());}return Tr.set(e,Object.freeze({dispose:ze})),{activePinnedMessage:p,isMessageMultiSelect:h,selectedMessages:j,forwardPickerMessages:D,forwardTypeConfirmOpen:G,pendingForwardReadyMessages:W,error:V,enterMultiSelect:le,exitMultiSelect:H,isSelected:ye,toggleSelection:_$1,openForwardPicker:x,closeForwardPicker:Q,prepareForwardFromSelection:R,cancelForwardTypeConfirmation:T,confirmForwardTypeConfirmation:O,forward:A,recall:me,deleteLocal:be,deleteForEveryone:Ce,retry:U,pin:Pe,unpin:Me,syncPinned:w,isPinnedMessageProtected:k,reset:se}})}var fi=new WeakMap,Sr=new WeakMap;function Nt(e=Oe()){ve(e);let n=fi.get(e);n===void 0&&(n=al(e),fi.set(e,n));let r=n(e),a=Tr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Sr.get(e)!==r&&(Sr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Sr.get(e)===r&&(Sr.delete(e),Tr.get(e)===a&&Tr.delete(e));})),r}var jo=Object.freeze({availability:"unknown",reason:"not-ready"});function ll(e){return defineStore("k2-im-capabilities",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=Nt(e),u=shallowRef(null),p=false,h,j,D;function G$1(){j!==void 0&&(clearTimeout(j),j=void 0);}function W(_){G$1();let x=_.nextEvaluationAt;if(x===void 0)return;let R=Math.max(0,x-Date.now());j=setTimeout(()=>{j=void 0,I();},R);}function V(_){p||(u.value=_,W(_));}function b(_){let x=a.activeRef;return x!==null&&x.conversationType===_.conversationType&&x.conversationId===_.conversationId}function I(_=Date.now()){let x=a.activeRef,R=n.getProductClient();x===null||R===null||V(R.capabilities.get(x,{nowMs:_}));}function z(){h?.(),h=void 0,G$1(),u.value=null;let _=a.activeRef,x=n.getProductClient();_===null||x===null||(h=x.capabilities.subscribe(_,V));}function N(){z();}function B(){h?.(),h=void 0,G$1(),u.value=null;}async function oe(){let _=a.activeRef,x=n.getProductClient();if(_===null||x===null)return;let R=n.getGeneration();try{let O=await x.capabilities.refresh(_);if(p||R!==n.getGeneration()||!b(_))return;V(O);}catch(O){if(p||R!==n.getGeneration()||!b(_))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{..._},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:O}})),V(x.capabilities.get(_));}}function k(_){return u.value===null?jo:F(u.value,_)}function T(_){return k(_)}function Q(_){return k(_)}function H$1(_,x){let R=u.value;return R===null?jo:H(_,{snapshot:R,selfId:n.getCredentials().userId,...x})}function le(_,x){let R=u.value;return R===null?jo:G(_,{snapshot:R,message:x,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function ye(){p||(p=true,D?.(),D=void 0,B());}return D=watch(()=>a.activeRef,z,{deep:true,immediate:true}),{activeSnapshot:u,start:N,reset:B,refresh:oe,conversationAction:k,profileAction:T,memberAction:Q,memberTargetAction:H$1,messageAction:le,dispose:ye}})}var mi=new WeakMap,Er=new WeakMap;function ul(e=Oe()){ve(e);let n=mi.get(e);n===void 0&&(n=ll(e),mi.set(e,n));let r=n(e);return Er.get(e)!==r&&(Er.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Er.get(e)===r&&Er.delete(e);})),r}var Lt=new WeakMap;function vi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function dl(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function fl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pi(e,n,r){let a=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:a!==null&&typeof a.code=="string"?a.code:s,category:a!==null&&fl(a.category)?a.category:"state",operation:`conversation.activate.${n}`,retryable:a!==null&&typeof a.retryable=="boolean"?a.retryable:n==="flush",conversation:vi(r)})}function gi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ml(e=Oe()){let n=ve(e),r=Lt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=qn(e),p=De(e),h={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:p.invalidatePendingOpen};async function j(D){let G=vi(D);h.conversation=G;let W=++h.epoch,V=a.getGeneration(),b=()=>!h.disposed&&h.epoch===W&&a.getGeneration()===V;if(p.invalidatePendingOpen(),s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:V,conversation:G})),!dl(G))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:V,conversation:G})),Object.freeze({ok:false,reason:"unsupported",conversation:G});let I=p.getHandle();if(I!==void 0&&u.hasPendingWork(I))try{await u.flush(I);}catch(z){if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});let N=pi(z,"flush",G);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:V,conversation:G,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:N}})),Object.freeze({ok:false,reason:"draft-save-failed",conversation:G,error:N})}if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});if(p.getHandle()!==void 0&&gi(p.activeRef,G))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:G,data:{reused:true}})),Object.freeze({ok:true,status:"opened",conversation:G});try{if(await p.open(G)===void 0||!b())return Object.freeze({ok:!1,reason:"stale",conversation:G})}catch(z){if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});let N=pi(z,"open",G);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:V,conversation:G,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:N}})),Object.freeze({ok:false,reason:"open-failed",conversation:G,error:N})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:G})),Object.freeze({ok:true,status:"opened",conversation:G})}return h.coordinator=Object.freeze({activate:j}),Lt.set(e,h),Ee(e,()=>{h.disposed=true,h.conversation=null,h.epoch+=1,Lt.get(e)===h&&Lt.delete(e);}),h.coordinator}function Ii(e,n){let r=Lt.get(e);r===void 0||r.disposed||!gi(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function gl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function dt(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:a!==null&&gl(a.category)?a.category:"state",operation:a!==null&&typeof a.operation=="string"?a.operation:`conversation-list.${n}`,retryable:a!==null&&typeof a.retryable=="boolean"?a.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Il(e){return defineStore("k2-im-conversation-list",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=ref([]),s=ref("idle"),u=ref(0),p=shallowRef(null),h=false,j=null,D,G=0;function W(R="idle"){a.value=[],s.value=R,u.value=0,p.value=null;}function V(R,O,A){h||j!==O||n.getGeneration()!==A||(a.value=R.items,s.value=R.state,u.value=R.totalUnread,p.value=R.error??null);}function b(R){if(h)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(j===R||(D?.(),D=void 0,j=R,G+=1,W(),R===null))return;let O=n.getGeneration();D=R.conversations.subscribe(A=>V(A,R,O)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:O}));}function I(){b(n.getProductClient());}function z(){b(null);}function N(R){return !h&&j===R.client&&n.getProductClient()===R.client&&n.getGeneration()===R.generation&&G===R.bindingEpoch}function B(){let R=n.ensureProductClient();return b(R),{client:R,generation:n.getGeneration(),bindingEpoch:G}}async function oe(){if(h)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let R;try{R=B();}catch(O){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:dt(O,"refresh")})}try{return await R.client.conversations.refresh(),N(R)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(O){return N(R)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:dt(O,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function k(R,O,A){let q=hi(O);if(h)return Object.freeze({ok:false,operation:R,reason:"stale",conversation:q});let Z;try{Z=B();}catch(me){return Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)})}try{A(Z.client,q);}catch(me){return N(Z)?Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}return N(Z)?Object.freeze({ok:true,operation:R,conversation:q}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}async function T(R,O,A){let q=hi(O);if(h)return Object.freeze({ok:false,operation:R,reason:"stale",conversation:q});let Z;try{Z=B();}catch(me){return Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)})}try{return await A(Z.client,q),N(Z)?Object.freeze({ok:!0,operation:R,conversation:q}):Object.freeze({ok:!1,operation:R,reason:"stale",conversation:q})}catch(me){return N(Z)?Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}}function Q(R,O){return k("set-pinned",R,(A,q)=>A.conversations.setPinned(q,O))}function H(R,O){return T("set-muted",R,(A,q)=>A.conversations.setMuted(q,O))}function le(R){return T("mark-read",R,(O,A)=>O.conversations.markRead(A))}function ye(R){return k("mark-unread",R,(O,A)=>O.conversations.markUnread(A))}function _(R){return k("delete-local",R,(O,A)=>O.conversations.deleteLocal(A))}function x(){h||(D?.(),D=void 0,j=null,W(),h=true);}return {items:a,state:s,totalUnread:u,error:p,start:I,reset:z,refresh:oe,setPinned:Q,setMuted:H,markRead:le,markUnread:ye,deleteLocal:_,dispose:x}})}var yi=new WeakMap,jr=new WeakMap;function xo(e=Oe()){ve(e);let n=yi.get(e);n===void 0&&(n=Il(e),yi.set(e,n));let r=n(e);return jr.get(e)!==r&&(jr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),jr.get(e)===r&&jr.delete(e);})),r}var Rl=250,Pl=2e3;function Ci(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ao(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function zo(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:Ci(r)}})}function kl(e){return defineStore("k2-im-search",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref(""),u=ref([]),p=ref(false),h=ref(false),j=ref("all"),D=ref(""),G=ref(""),W=shallowRef(null),V=false,b=0,I=0,z,N,B,oe;function k(){let U=a.activeRef,ee=a.getHandle();if(!(V||U===null||ee===void 0||!Ao(U,ee.ref)))return {ref:Ci(U),handle:ee,generation:n.getGeneration()}}function T(U){return !V&&n.getGeneration()===U.generation&&a.getHandle()===U.handle&&Ao(a.activeRef,U.ref)}function Q(){let U=N;U!==void 0&&(clearTimeout(U.timer),N=void 0,U.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function H(){B!==void 0&&(clearTimeout(B),B=void 0);}function le(U,ee){return ee===b&&(p.value=false),Object.freeze({ok:false,operation:U,reason:"stale"})}function ye(U,ee){return U===I&&D.value===ee&&(D.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function _(U,ee,ge){switch(ge){case "all":return va(n,{conversation:U.ref,keyword:ee});case "text":return wa(n,{conversation:U.ref,keyword:ee});case "file":return xa(n,{conversation:U.ref,keyword:ee});case "image":return ya(n,{conversation:U.ref});case "video":return za(n,{conversation:U.ref});case "voice":return Aa(n,{conversation:U.ref})}}function x(U,ee){return U!==""?true:ee!=="all"&&ee!=="text"}function R(U){s.value=U,Q();let ee=++b,ge=U.trim(),de=j.value,he=x(ge,de);if(z=void 0,u.value=[],h.value=false,W.value=null,!he)return p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Pe=k();return Pe===void 0?(p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(p.value=true,new Promise(Me=>{let je=setTimeout(()=>{if(N?.timer===je&&(N=void 0),ee!==b||!T(Pe)){Me(le("search",ee));return}r.record("debug","pinia","history","search-start",()=>({generation:Pe.generation,conversation:Pe.ref,category:de})),_(Pe,ge,de).then(w=>{if(ee!==b||!T(Pe)){Me(le("search",ee));return}u.value=[...w.results],z=w.nextPageToken,h.value=!w.exhausted,p.value=false,Me(Object.freeze({ok:true,operation:"search"}));}).catch(w=>{if(ee!==b||!T(Pe)){Me(le("search",ee));return}let K=zo(w,"search.first-page",Pe.ref);W.value=K,p.value=false,Me(Object.freeze({ok:false,operation:"search",reason:"failed",error:K}));});},Rl);N={timer:je,resolve:Me};}))}function O(U){return j.value=U,(U==="image"||U==="video"||U==="voice")&&(s.value=""),R(s.value)}async function A(){if(p.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!h.value||z===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let U=k();if(U===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let ee=z,ge=++b;p.value=true,W.value=null;try{let de=await Ba(n,ee);return ge!==b||!T(U)?le("load-more",ge):(u.value=[...u.value,...de.results],z=de.nextPageToken,h.value=!de.exhausted,p.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(de){if(ge!==b||!T(U))return le("load-more",ge);let he=zo(de,"search.next-page",U.ref);return W.value=he,p.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:he})}}async function q(U,ee){let ge=k();if(ge===void 0||!Ao(ge.ref,U))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let de=++I;H(),G.value="",D.value=ee,W.value=null;try{return !a.messages.some(Pe=>Pe.id===ee)&&!await a.loadAround(ee)||(await nextTick(),de!==I||!T(ge))?ye(de,ee):(G.value=ee,Object.freeze({ok:!0,operation:"locate"}))}catch(he){if(de!==I||!T(ge))return ye(de,ee);let Pe=zo(he,"search.locate",ge.ref);return D.value="",W.value=Pe,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Pe})}}function Z(U){if(D.value!==U)return false;D.value="";let ee=I,ge=k();return H(),ge===void 0||G.value!==U||(B=setTimeout(()=>{B=void 0,ee===I&&T(ge)&&G.value===U&&(G.value="");},Pl)),true}function me(){I+=1,H(),D.value="",G.value="";}function be(U){b+=1,Q(),s.value="",u.value=[],p.value=false,h.value=false,j.value="all",z=void 0,W.value=null,U?.preserveLocation!==true&&me();}function Ce(){V||(be(),V=true,oe?.(),oe=void 0);}return oe=watch(()=>a.activeRef===null?"":`${a.activeRef.conversationType}\0${a.activeRef.conversationId}`,()=>be(),{flush:"sync"}),{keyword:s,results:u,searching:p,hasMore:h,category:j,locatingMessageId:D,highlightMessageId:G,error:W,search:R,setCategory:O,loadMore:A,locate:q,completeLocation:Z,clearLocation:me,reset:be,dispose:Ce}})}var bi=new WeakMap,wr=new WeakMap;function Pn(e=Oe()){ve(e);let n=bi.get(e);n===void 0&&(n=kl(e),bi.set(e,n));let r=n(e);return wr.get(e)!==r&&(wr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),wr.get(e)===r&&wr.delete(e);})),r}var xr=new WeakMap;function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ol(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Ml(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Sl(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&&Ml(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ri(n)})}function Tl(e=Oe()){let n=ve(e),r=xr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=xo(e),p=De(e),h=qn(e),j=Nt(e),D=Pn(e),G={disposed:false};function W(V){let b=Ri(V);if(G.disposed)return Object.freeze({ok:false,reason:"stale",conversation:b});let I=a.getGeneration(),z=p.activeRef!==null&&p.activeRef.conversationType===b.conversationType&&p.activeRef.conversationId===b.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:b})),!Ol(b))return Object.freeze({ok:false,reason:"unsupported",conversation:b});let N=u.deleteLocal(b);if(!N.ok){if(N.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:b});let k=Sl(N.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:k}})),Object.freeze({ok:false,reason:"delete-failed",conversation:b,error:k})}if(G.disposed||a.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:b});Ii(e,b);let B=p.closeActiveConversation(b),oe=z||B;return oe&&(h.reset(),j.reset(),D.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:b,data:{activeConversationCleared:oe}})),Object.freeze({ok:true,status:"deleted",conversation:b,activeConversationCleared:oe})}return G.coordinator=Object.freeze({deleteLocal:W}),xr.set(e,G),Ee(e,()=>{G.disposed=true,xr.get(e)===G&&xr.delete(e);}),G.coordinator}var Pi=30,jl=15,wl=20,xl=4294967295,ki=new WeakMap;function zr(e){return typeof e=="object"&&e!==null}function gt(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 Oi(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>xl)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Al(e,n){if(!zr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=gt(e.url,"asset.url"),a;try{a=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(a.protocol!=="http:"&&a.protocol!=="https:"||a.username!==""||a.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Oi(e.width,"asset.width"),u=Oi(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:gt(e.packageId,"asset.packageId"),resourceId:gt(e.resourceId,"asset.resourceId"),url:r,width:s,height:u});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let p=e.resourceId===void 0?void 0:gt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...p===void 0?{}:{resourceId:p},url:r,width:s,height:u})}function qt(e,n){let r=ki.get(e);r===void 0&&(r=new Map,ki.set(e,r));let a=r.get(n);return a===void 0&&(a={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,a)),a}function Mi(e,n,r,a){let s=qt(e,n),u=++s.revision;for(let h of a)s.kindRevisions[h]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let p=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=p,p.then(()=>{s.revision===u&&(s.status="saved",s.error=null);},h=>{s.revision===u&&(s.status="failed",s.error=h);}),{coordinator:s,revision:u,promise:p}}var Gr=new WeakMap;function Ut(){return reactive({loading:false,loaded:false,error:null})}function mt(e){return {sticker:e(),gif:e()}}function Si(e){return {sticker:e(),gif:e(),emoji:e()}}function zn(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 zl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pt(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&zl(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 Go(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Ti(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function vt(e){return "recordId"in e?e.recordId:void 0}function Gl(e){let n=[];for(let r=0;r<e.length;r+=Pi)n.push(e.slice(r,r+Pi));return n}function Dr(e){return e==="gif"?wl:jl}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 Do(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(a=>a.kind==="emoji"?true:Ne(a)!==r)].slice(0,Dr(n.kind)))}function Dl(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(a=>Ne(a)!==r)])}function Ei(e,n,r){let a=[],s=new Set;for(let u of [...r.values(),...n]){if(u.kind==="emoji")continue;let p=Ne(u);if(!(u.kind!==e||s.has(p))&&(s.add(p),a.push(Object.freeze({...u})),a.length===Dr(e)))break}return Object.freeze(a)}function ji(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function Ko(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 _o(e,n,r){let a=e.filter(h=>h.kind==="emoji").slice(0,14).map(h=>Object.freeze({kind:"emoji",stableKey:Ko(h),token:h.token,resourceId:h.resourceId})),s=n.filter(h=>h.kind==="game"||r.has(h.stableKey)),u=[],p=new Set;for(let h of [...s,...a])if(!p.has(h.stableKey)&&(p.add(h.stableKey),u.push(h),u.length===14))break;return Object.freeze(u)}function Fo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function _l(e){return defineStore("k2-im-expression",()=>{let n=ve(e),r=n.runtime,a=n.expressionRecentPersistence,s=r.getDiagnostics(),u=ref(""),p=ref([]),h=ref({}),j=Ut(),D=reactive({}),G=ref({sticker:[],gif:[]}),W=mt(Ut),V=ref({sticker:[],gif:[]}),b=ref({sticker:[],gif:[],emoji:[]}),I=Si(Ut),z=ref({sticker:[],gif:[],emoji:[]}),N=ref([]),B=ref("idle"),oe=ref(""),k=ref([]),T=ref(0),Q=Ut(),H=ref(void 0),le=computed(()=>zn(j,p.value.length)),ye=computed(()=>{let d=new Set([...Object.keys(D),...Object.keys(h.value)]);return Object.fromEntries([...d].map(m=>{let v=D[m]??{loading:false,loaded:true,error:null};return [m,zn(v,h.value[m]?.length??0)]}))}),_=computed(()=>({sticker:zn(W.sticker,G.value.sticker.length),gif:zn(W.gif,G.value.gif.length)})),x=computed(()=>({sticker:zn(I.sticker,b.value.sticker.length),gif:zn(I.gif,b.value.gif.length),emoji:zn(I.emoji,N.value.length)})),R=computed(()=>zn(Q,k.value.length)),O=computed(()=>H.value!==void 0),A=false,q=0,Z=0,me={},be=mt(()=>0),Ce=Si(()=>0),U=0,ee=0,ge=0,de=0,he=0,Pe=null,Me=null,je=null,w="emoji",K=new Set,ue=[],fe=null,se=null,ze=null,C=null,g=mt(()=>new Map),E=mt(()=>new Map),X=new Map,re=new Map,ne=mt(()=>Promise.resolve());function Re(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:q,accountId:d.userId}}function te(d){return !A&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===q&&d.accountId===r.getCredentials().userId}function pe(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,m,v){let y=pt(m,d);return v.error=y,Object.freeze({ok:false,operation:d,reason:"failed",error:y})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function eo(d){return d.kind==="emoji"?null:d.kind==="sticker"?Object.freeze({kind:"sticker",packageId:d.packageId,resourceId:d.resourceId,url:d.url,width:d.width,height:d.height}):Object.freeze({kind:"gif",...d.resourceId===void 0||d.resourceId===""?{}:{resourceId:d.resourceId},url:d.url,width:d.width,height:d.height})}function gn(){let d=m=>Object.freeze(b.value[m].flatMap(v=>{let y=eo(v);return y===null?[]:[Object.freeze({asset:y,pendingSync:g[m].has(Ne(y))})]}).slice(0,Dr(m)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(N.value.map(m=>m.kind==="game"?Object.freeze({...m}):Object.freeze({...m,pendingSync:X.has(m.stableKey)})))})}function In(){for(let d of ["sticker","gif","emoji"])I[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(I[d].error=null);}function on(d,m){let v=Go({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return m.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function Qt(d,m,v,y=[m]){let M=a,S=++ge,J=Mi(M,d.accountId,v,y);he=J.revision;let ae=J.promise.then(()=>(te(d)&&S===ge&&In(),true),Y=>{if(!te(d)||S!==ge)return false;let ie=Go({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[m].error=ie,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ie.code,data:Y}})),false});return {...J,settled:ae}}function kn(d){return Pe!==null&&Je(Pe,d)}function hn(d){if(ze!==null)return ze;let v=(async()=>{for(;te(d)&&!kn(d);){let M=C!==null&&Je(C.context,d)?C:null;if(M!==null){let J=await M.promise;if(J.ok||!te(d)||J.reason!=="stale")return;continue}let S=await qe();if(S.ok||!te(d)||S.reason!=="stale")return}})();ze=v;let y=()=>{ze===v&&(ze=null);};return v.then(y,y),v}function an(d,m,v){if(!te(d))return Promise.resolve();if(de+=1,a===void 0||d.accountId==="")return Pe=d,Promise.resolve();let y=gn();return kn(d)?Qt(d,m,y).settled.then(()=>{}):(je=y,w=m,K.add(m),ue.push(v),hn(d))}function Xt(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function sn(d$1,m){let v=[...d$1.sticker],y=[...d$1.gif],M=[...d$1.emoji],S=new Map(d$1.pendingSticker),J=new Map(d$1.pendingGif),ae=new Map(d$1.pendingEmoji);for(let Y of m){if(Y.type==="prepend-asset"){(Y.kind==="sticker"?S:J).set(Ne(Y.asset),Y.asset),Y.kind==="sticker"?v=[...Do(v,Y.asset)]:y=[...Do(y,Y.asset)];continue}if(Y.type==="prepend-emoji"){Y.entry.kind==="emoji"&&ae.set(Y.entry.stableKey,Y.entry),M=[...d(M,Y.entry)];continue}if(Y.type==="authoritative"){if(Y.kind==="emoji"){for(let ce of Y.items)if(ce.kind==="emoji")for(let[Fe,Ge]of ae)Ge.resourceId===ce.resourceId&&ae.delete(Fe);M=[..._o(Y.items,M,new Set(ae.keys()))];}else {let ce=Y.kind==="sticker"?S:J;for(let Ge of Y.items)Ge.kind===Y.kind&&ce.delete(Ne(Ge));let Fe=Ei(Y.kind,Y.items,ce);Y.kind==="sticker"?v=[...Fe]:y=[...Fe];}continue}if(Y.type==="delete-assets"){let ce=new Set(Y.identities),Fe=Y.kind==="sticker"?S:J,Ge=Se=>Se.kind==="emoji"||!ce.has(Ne(Se))||Fe.has(Ne(Se));Y.kind==="sticker"?v=v.filter(Ge):y=y.filter(Ge);continue}let ie=new Set(Y.resourceIds);M=M.filter(ce=>ce.kind==="game"||!ie.has(ce.resourceId)||ae.has(ce.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(y),emoji:Object.freeze(M),pendingSticker:S,pendingGif:J,pendingEmoji:ae}}function Yn(d){if(!zr(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 m=(ae,Y)=>{let ie=[],ce=new Map,Fe=new Set;for(let Ge of Y){if(!zr(Ge)||typeof Ge.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Se=Al(Ge.asset,ae),He=Ne(Se);Fe.has(He)||(Fe.add(He),ie.length<Dr(ae)&&(ie.push(Se),Ge.pendingSync&&ce.set(He,Se)));}return {items:Object.freeze(ie),pending:ce}},v=m("sticker",d.sticker),y=m("gif",d.gif),M=[],S=new Map,J=new Set;for(let ae of d.emoji){if(!zr(ae)||typeof ae.stableKey!="string"||ae.stableKey.trim()===""||ae.kind!=="emoji"&&ae.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let Y=ae.stableKey.trim(),ie,ce=false;if(ae.kind==="game"){if(ae.gameType!=="dice"&&ae.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ie=Fo(ae.gameType),ie.stableKey!==Y)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Fe=gt(ae.token,"emoji.token"),Ge=gt(ae.resourceId,"emoji.resourceId");if(typeof ae.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");ce=ae.pendingSync,ie=Object.freeze({kind:"emoji",stableKey:Y,token:Fe,resourceId:Ge});}J.has(Y)||(J.add(Y),M.length<14&&(M.push(ie),ie.kind==="emoji"&&ce&&S.set(Y,ie)));}return {sticker:v.items,gif:y.items,emoji:Object.freeze(M),pendingSticker:v.pending,pendingGif:y.pending,pendingEmoji:S}}function yn(d){b.value={sticker:d.sticker,gif:d.gif,emoji:[]},z.value={sticker:[],gif:[],emoji:[]},N.value=d.emoji,g.sticker.clear(),g.gif.clear(),X.clear();for(let[m,v]of d.pendingSticker)g.sticker.set(m,v);for(let[m,v]of d.pendingGif)g.gif.set(m,v);for(let[m,v]of d.pendingEmoji)X.set(m,v);for(let m of ["sticker","gif","emoji"])Object.assign(I[m],{loading:false,loaded:true,error:null});}function Ue(d,m){if(a===void 0||d.accountId==="")return 0;let v=qt(a,d.accountId);return m===void 0?v.revision:v.kindRevisions[m]}function Ae(d){if(a===void 0||d.accountId===""||!kn(d))return;let m=qt(a,d.accountId);if(m.revision===he)return;let v=m.latestSnapshot===null?Xt():Yn(m.latestSnapshot),y=(M,S)=>{let J=M==="sticker"?v.pendingSticker:v.pendingGif,ae=new Map(b.value[M].flatMap(Y=>Y.kind==="emoji"||Y.kind!==M?[]:[[Ne(Y),Y]]));return Object.freeze(S.map(Y=>{if(Y.kind==="emoji"||Y.kind!==M)return Y;let ie=Ne(Y);if(J.has(ie))return Y;let ce=vt(ae.get(ie)??Y);return Object.freeze({...Y,...ce===void 0?{}:{recordId:ce}})}))};b.value={sticker:y("sticker",v.sticker),gif:y("gif",v.gif),emoji:b.value.emoji},N.value=v.emoji,g.sticker.clear(),g.gif.clear(),X.clear();for(let[M,S]of v.pendingSticker)g.sticker.set(M,S);for(let[M,S]of v.pendingGif)g.gif.set(M,S);for(let[M,S]of v.pendingEmoji)X.set(M,S);for(let M of ["sticker","gif"]){let S=new Set(b.value[M].flatMap(J=>vt(J)===void 0?[]:[vt(J)]));z.value={...z.value,[M]:Object.freeze(z.value[M].filter(J=>S.has(J)))};}he=m.revision;}async function cn(d,m,v,y){let M="hydrate-recent";I.emoji.error=null;try{let S=null,J=0;if(a!==void 0&&d.accountId!==""){S=qt(a,d.accountId);let Se=S.latestSnapshot;if(!y&&S.status==="failed"&&Se!==null&&Mi(a,d.accountId,Se,[]),J=S.revision,await S.tail.catch(()=>{}),m!==ee||!te(d)||de!==v||S.revision!==J)return pe(M);if(!y&&S.status==="failed")return on(M,I.emoji);S.status==="saved"&&fe!==null&&S.latestSnapshot===fe&&je===se&&(je=null,K.clear(),ue.length=0,fe=null,se=null);}let ae=a===void 0||d.accountId===""?null:await a.load(d.accountId);if(m!==ee||!te(d)||de!==v||S!==null&&S.revision!==J)return pe(M);let Y;try{Y=ae===null?Xt():Yn(ae);}catch(Se){let He=a?.clearInvalid;if(ae!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,ae);}catch(Qe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Qe})}throw Se}let ie=y?null:je,ce=new Set(K),Fe=[...ue],Ge=ie===null?Y:sn(Y,Fe);if(yn(Ge),he=J,y){if(je=null,K.clear(),ue.length=0,fe=null,se=null,S!==null){S.revision+=1;for(let Se of ["sticker","gif","emoji"])S.kindRevisions[Se]+=1;S.status="saved",S.latestSnapshot=ae,S.error=null,he=S.revision;}return Pe=d,In(),Object.freeze({ok:!0,operation:M})}if(ie!==null&&a!==void 0&&d.accountId!==""){let Se=gn();fe=Se,se=ie;let He=Qt(d,w,Se,[...ce]),Qe=await He.settled;if(m!==ee||!te(d)||de!==v||He.coordinator.revision!==He.revision)return pe(M);if(!Qe)return on(M,I.emoji);je===ie&&(je=null,K.clear(),ue.length=0,fe=null,se=null);}return Pe=d,Object.freeze({ok:!0,operation:M})}catch(S){return m!==ee||!te(d)?pe(M):we(M,S,I.emoji)}}function Je(d,m){return d.client===m.client&&d.generation===m.generation&&d.stateEpoch===m.stateEpoch&&d.accountId===m.accountId}function qe(d={}){let m="hydrate-recent";if(A)return Promise.resolve(pe(m));let v;try{v=Re();}catch(ie){let ce=we(m,ie,I.emoji);return !ce.ok&&ce.reason==="failed"&&(Me=ce.error??I.emoji.error),Promise.resolve(ce)}let y=a===void 0||v.accountId===""?null:qt(a,v.accountId);if(!d.force&&kn(v)&&je===null&&(y===null||(y.status==="idle"||y.status==="saved")&&y.revision===he))return Me=null,Promise.resolve(Object.freeze({ok:true,operation:m}));if(!d.force&&C!==null&&!C.force&&C.stateRevision===de&&Je(C.context,v))return C.promise;let M=++ee,S=de,J=cn(v,M,S,d.force===true).then(ie=>(ie.ok?Me=null:ie.reason==="failed"&&(Me=ie.error??I.emoji.error),ie)),ae={context:v,stateRevision:S,force:d.force===true,promise:J};C=ae;let Y=()=>{C===ae&&(C=null);};return J.then(Y,Y),J}async function ln(d){let m="load-packs";if(A)return pe(m);let v=++Z,y;try{y=Re();}catch(M){return we(m,M,j)}j.loading=true,j.error=null;try{let M=await y.client.expressions.packs.list(d);return v!==Z||!te(y)?pe(m):(u.value=M.version,p.value=Object.freeze([...M.items]),j.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(M){return v!==Z||!te(y)?pe(m):we(m,M,j)}finally{v===Z&&te(y)&&(j.loading=false);}}async function On(d){let m="load-pack-items";if(A)return pe(m);let v=d.trim();if(v===""){let J=pt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),m);return Object.freeze({ok:false,operation:m,reason:"failed",error:J})}let y=D[v]??=Ut(),M=(me[v]??0)+1;me[v]=M;let S;try{S=Re();}catch(J){return we(m,J,y)}y.loading=true,y.error=null;try{let J=await S.client.expressions.packs.listItems(v);return me[v]!==M||!te(S)?pe(m):(h.value={...h.value,[v]:Object.freeze([...J])},y.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(J){return me[v]!==M||!te(S)?pe(m):we(m,J,y)}finally{me[v]===M&&te(S)&&(y.loading=false);}}async function Zn(d){let m="load-favorites";if(A)return pe(m);let v=++be[d],y=W[d],M;try{M=Re();}catch(S){return we(m,S,y)}y.loading=true,y.error=null;try{let S=await M.client.expressions.favorites.list(d);return be[d]!==v||!te(M)?pe(m):(_n(d,S),y.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(S){return be[d]!==v||!te(M)?pe(m):we(m,S,y)}finally{be[d]===v&&te(M)&&(y.loading=false);}}function _n(d,m){for(let S of m)E[d].delete(Ne(S));let v=[],y=new Set;for(let S of [...E[d].values(),...m]){let J=Ne(S);y.has(J)||(y.add(J),v.push(Object.freeze({...S})));}G.value={...G.value,[d]:Object.freeze(v)};let M=new Set(m.flatMap(S=>S.recordId===void 0?[]:[S.recordId]));V.value={...V.value,[d]:Object.freeze(V.value[d].filter(S=>M.has(S)))};}async function Fn(d,m,v){let y=W[m];try{let M=await d.client.expressions.favorites.list(m);if(be[m]!==v||!te(d))return;_n(m,M),y.loaded=!0;}catch(M){be[m]===v&&te(d)&&(y.error=pt(M,"load-favorites"));}}function bn(d,m){let v="set-favorite";if(A)return Promise.resolve(pe(v));let y=Ne(d),M=re.get(y);if(M?.desired===m)return M.promise;let S;try{S=Re();}catch(ie){return Promise.resolve(we(v,ie,W[d.kind]))}let J=M?.promise.catch(()=>{})??Promise.resolve(),ae=ne[d.kind].catch(()=>{}),Y=Promise.all([J,ae]).then(async()=>{if(!te(S))return pe(v);let ie=d.kind,ce=W[ie];ce.error=null;let Fe=G.value[ie].find(Se=>Ne(Se)===y);if(m&&Fe!==void 0)return Object.freeze({ok:true,operation:v});if(!m&&Fe?.recordId===void 0){let Se=Go({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return ce.error=Se,Object.freeze({ok:false,operation:v,reason:"failed",error:Se})}let Ge=++be[ie];try{if(m?await S.client.expressions.favorites.add(d):await S.client.expressions.favorites.delete([Fe.recordId]),!te(S))return pe(v);m?(E[ie].set(y,Object.freeze({...d})),G.value={...G.value,[ie]:Dl(G.value[ie],d)}):(E[ie].delete(y),G.value={...G.value,[ie]:Object.freeze(G.value[ie].filter(He=>He.recordId!==Fe.recordId))});let Se=++be[ie];return Ge=Se,await Fn(S,ie,Se),!te(S)||be[ie]!==Se?pe(v):Object.freeze({ok:!0,operation:v})}catch(Se){return !te(S)||be[ie]!==Ge?pe(v):we(v,Se,ce)}finally{be[ie]===Ge&&te(S)&&(ce.loading=false);}});return re.set(y,{desired:m,promise:Y}),ne[d.kind]=Y.then(()=>{},()=>{}),Y.finally(()=>{re.get(y)?.promise===Y&&re.delete(y);}),Y}async function Mn(d){let m=await bn(d,true);return Object.freeze({...m,operation:"add-favorite"})}function Sn(d){return bn(d,false)}function Cn(d,m,v){if(A)return;let y=Ti(m),M=new Set(V.value[d]);v??!M.has(y)?M.add(y):M.delete(y),V.value={...V.value,[d]:Object.freeze([...M])};}function Ze(d,m,v){if(Ae(v),d==="emoji"){for(let M of m)if(M.kind==="emoji")for(let[S,J]of X)J.resourceId===M.resourceId&&X.delete(S);b.value={...b.value,emoji:Object.freeze([...m])},N.value=_o(m,N.value,new Set(X.keys()));}else {for(let M of m)M.kind===d&&g[d].delete(Ne(M));b.value={...b.value,[d]:Ei(d,m,g[d])};}let y=new Set(m.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));z.value={...z.value,[d]:Object.freeze(z.value[d].filter(M=>y.has(M)))},I[d].loaded=true,an(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...m])}));}async function en(d){let m="load-recent";if(A)return pe(m);let v=I[d],y=await qe();if(!y.ok)return y.reason==="stale"?pe(m):(v.error=y.error??I.emoji.error,Object.freeze({...y,operation:m}));let M=++Ce[d],S;try{S=Re();}catch(J){return we(m,J,v)}v.loading=true,v.error=null;try{let J=Ue(S,d),ae=await S.client.expressions.recent.list(d);return Ce[d]!==M||!te(S)?pe(m):Ue(S,d)!==J?(Ae(S),pe(m)):(Ze(d,ae,S),Object.freeze({ok:!0,operation:m}))}catch(J){return Ce[d]!==M||!te(S)?pe(m):we(m,J,v)}finally{Ce[d]===M&&te(S)&&(v.loading=false);}}async function pn(d,m){if(!te(d))return;let v=++Ce[m],y=I[m];y.loading=true,y.error=null;try{Ae(d);let M=Ue(d,m),S=await d.client.expressions.recent.list(m);if(Ce[m]!==v||!te(d))return;if(Ue(d,m)!==M){Ae(d);return}Ze(m,S,d);}catch(M){Ce[m]===v&&te(d)&&(y.error=pt(M,"load-recent"));}finally{Ce[m]===v&&te(d)&&(y.loading=false);}}function un(d,m){if(!te(d))return false;Ae(d),ee+=1;let v=m.kind,y=Object.freeze({...m});return g[v].set(Ne(y),y),b.value={...b.value,[v]:Do(b.value[v],y)},I[v].loaded=true,an(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:y})),true}function dn(d$1,m){if(!te(d$1))return false;Ae(d$1),ee+=1;let v=Object.freeze({...m});return X.set(v.stableKey,v),N.value=d(N.value,v),I.emoji.loaded=true,an(d$1,"emoji",Object.freeze({type:"prepend-emoji",entry:v})),true}async function We(d,m){let v="report-recent";if(!te(d))return pe(v);let y=m.kind,M=++Ce[y],S=I[y];S.error=null;try{if(await d.client.expressions.recent.report(m),Ce[y]!==M||!te(d))return pe(v);try{Ae(d);let J=Ue(d,y),ae=await d.client.expressions.recent.list(y);if(Ce[y]!==M||!te(d))return pe(v);if(Ue(d,y)!==J)return Ae(d),pe(v);Ze(y,ae,d);}catch(J){Ce[y]===M&&te(d)&&(S.error=pt(J,"load-recent"));}return Object.freeze({ok:!0,operation:v})}catch(J){return Ce[y]!==M||!te(d)?pe(v):we(v,J,S)}}async function fn(d){let m="report-recent";if(A)return pe(m);let v;try{v=Re();}catch(y){return we(m,y,I[d.kind])}return d.kind==="emoji"?dn(v,Object.freeze({...d,stableKey:Ko(d)})):un(v,d),We(v,d)}function no(d,m,v){if(A)return;let y=Ti(m),M=new Set(z.value[d]);v??!M.has(y)?M.add(y):M.delete(y),z.value={...z.value,[d]:Object.freeze([...M])};}async function Yt(d,m,v){let y=d==="favorites"?"delete-favorites":"delete-recent";if(A)return pe(y);let M=d==="favorites"?V:z,S=d==="favorites"?be:Ce,J=d==="favorites"?W:I,ae=v?.selected??M.value[m];if(ae.length===0)return Object.freeze({ok:false,operation:y,reason:"empty"});let Y=J[m];if(Y.loading)return Object.freeze({ok:false,operation:y,reason:"busy"});let ie=++S[m],ce;try{ce=v?.context??Re();}catch(Te){return we(y,Te,Y)}d==="recent"&&Ae(ce);let Fe=d==="recent"?Ue(ce,m):0,Ge=new Set(ae),Se=d==="recent"?b.value[m].filter(Te=>{let $e=vt(Te);return $e!==void 0&&Ge.has($e)}):[];Y.loading=true,Y.error=null;let He=[],Qe=new Set,ot,Et,mn=false;for(let Te of Gl(ae)){if(!te(ce))return pe(y);if(d==="recent"&&S[m]!==ie){mn=true;break}try{d==="favorites"?await ce.client.expressions.favorites.delete(Te):await ce.client.expressions.recent.delete(Te);for(let $e of Te)Qe.add($e);}catch($e){let En=pt($e,y);ot??=En,He.push(...Te);}}if(!te(ce))return pe(y);if(d==="recent"&&S[m]!==ie&&(mn=true),d==="recent"&&Ue(ce,m)!==Fe&&(mn=true),d==="favorites"){let Te=m;G.value={...G.value,[Te]:Object.freeze(G.value[Te].filter(jn=>jn.recordId===void 0||!Qe.has(jn.recordId)))};let $e=new Set(ae),En=V.value[Te].filter(jn=>!$e.has(jn));if(V.value={...V.value,[Te]:Object.freeze([...new Set([...En,...He])])},Et=++be[Te],await Fn(ce,Te,Et),!te(ce))return pe(y)}else {let Te=m;Ae(ce);let $e=Se.filter(xe=>{let Ve=vt(xe);return Ve!==void 0&&Qe.has(Ve)}),En=new Set($e.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),jn=new Set($e.filter(xe=>xe.kind!=="emoji").map(Ne));Te==="emoji"&&(N.value=Object.freeze(N.value.filter(xe=>xe.kind==="game"||!En.has(xe.resourceId)||X.has(xe.stableKey)))),b.value={...b.value,[Te]:Object.freeze(b.value[Te].filter(xe=>{let Ve=vt(xe);return Ve===void 0||!Qe.has(Ve)}))};let oo=new Set(ae),tr=mn?z.value[Te].filter(xe=>!Qe.has(xe)):z.value[Te].filter(xe=>!oo.has(xe));if(z.value={...z.value,[Te]:Object.freeze(mn?tr:[...new Set([...tr,...He])])},Te==="emoji"){let xe=b.value.emoji.filter(Ve=>Ve.kind==="emoji");N.value=_o(xe,N.value,new Set(X.keys()));}let ao=Object.freeze(Te==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...En])}:{type:"delete-assets",kind:Te,identities:Object.freeze([...jn])});if(an(ce,Te,ao),mn&&Qe.size>0&&await pn(ce,Te),!te(ce))return pe(y)}return (d==="recent"?Ce[m]===ie:be[m]===Et)&&(Y.loaded=true,(ot!==void 0||d==="recent")&&(Y.error=ot??null),Y.loading=false),mn?pe(y):He.length===0?Object.freeze({ok:true,operation:y}):Object.freeze({ok:false,operation:y,reason:Qe.size===0?"failed":"partial",error:ot,failedRecordIds:Object.freeze(He)})}function to(d){let m="delete-favorites";if(A)return Promise.resolve(pe(m));let v=Object.freeze([...V.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:m,reason:"empty"}));let y;try{y=Re();}catch(J){return Promise.resolve(we(m,J,W[d]))}let S=ne[d].catch(()=>{}).then(()=>te(y)?Yt("favorites",d,{context:y,selected:v}):pe(m));return ne[d]=S.then(()=>{},()=>{}),S}function ro(d){return Yt("recent",d)}function Mt(d,m){let v=++U;return B.value=d,oe.value=m,k.value=[],T.value=0,H.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,v}async function et(d,m){let v="load-giphy";if(A)return pe(v);let y={mode:B.value,query:oe.value,items:k.value,totalCount:T.value,nextOffset:H.value,loaded:Q.loaded},M=Mt(d,m),S=()=>{B.value=y.mode,oe.value=y.query,k.value=y.items,T.value=y.totalCount,H.value=y.nextOffset,Q.loaded=y.loaded;},J;try{J=Re();}catch(ae){return S(),Q.loading=false,we(v,ae,Q)}try{let ae=d==="trending"?await J.client.expressions.giphy.trending():await J.client.expressions.giphy.search(m);return M!==U||!te(J)?pe(v):(k.value=ji(ae.items),T.value=ae.totalCount,H.value=ae.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ae){return M!==U||!te(J)?pe(v):(S(),we(v,ae,Q))}finally{M===U&&te(J)&&(Q.loading=false);}}function St(){return et("trending","")}function nt(d){if(A)return Promise.resolve(pe("load-giphy"));let m=d.trim();return m===""?(Mt("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):et("search",m)}async function Tn(){let d="load-more-giphy";if(A)return pe(d);if(Q.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(B.value==="idle"||H.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let m=++U,v=B.value,y=oe.value,M=H.value,S;try{S=Re();}catch(J){return we(d,J,Q)}Q.loading=true,Q.error=null;try{let J=v==="trending"?await S.client.expressions.giphy.trending({offset:M}):await S.client.expressions.giphy.search(y,{offset:M});return m!==U||!te(S)?pe(d):(k.value=ji([...k.value,...J.items]),T.value=J.totalCount,H.value=J.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(J){return m!==U||!te(S)?pe(d):we(d,J,Q)}finally{m===U&&te(S)&&(Q.loading=false);}}async function Zt(d){let m="report-recent";if(A)return pe(m);let v;try{v=Re();}catch(M){return we(m,M,I.emoji)}let y=Object.freeze({...d,stableKey:Ko(d)});return dn(v,y)?We(v,{kind:"emoji",token:y.token,resourceId:y.resourceId}):pe(m)}function Tt(d,m){We(d,m).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:m.kind,ok:v.ok}}));});}async function er(d,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendSticker(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&un(v,m)&&Tt(v,m),y):Ke()}async function nn(d,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendGifAsset(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&un(v,m)&&Tt(v,m),y):Ke()}async function nr(d$1,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d$1.messages.sendGame(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&(Ae(v),ee+=1,N.value=d(N.value,Fo(m)),I.emoji.loaded=true,an(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Fo(m)}))),y):Ke()}function tt(d={}){if(A)return;let m=d.preserveRecentHydrationFailure===true?Me:null;q+=1,Z+=1,U+=1,ee+=1,ge+=1,de=0,he=0,Pe=null,je=null,K.clear(),ue.length=0,fe=null,se=null,ze=null,C=null,Me=m,re.clear(),ne=mt(()=>Promise.resolve()),u.value="",p.value=[],h.value={},Object.assign(j,{loading:false,loaded:false,error:null});for(let v of Object.keys(D))delete D[v];for(let v of Object.keys(me))me[v]=(me[v]??0)+1;G.value={sticker:[],gif:[]},V.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])be[v]+=1,Object.assign(W[v],{loading:false,loaded:false,error:null});b.value={sticker:[],gif:[],emoji:[]},z.value={sticker:[],gif:[],emoji:[]},N.value=[],g.sticker.clear(),g.gif.clear(),E.sticker.clear(),E.gif.clear(),X.clear();for(let v of ["sticker","gif","emoji"])Ce[v]+=1,Object.assign(I[v],{loading:false,loaded:false,error:null});m!==null&&(I.emoji.error=m),B.value="idle",oe.value="",k.value=[],T.value=0,H.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function rt(){A||(tt(),A=true);}return Gr.set(e,Object.freeze({dispose:rt})),{packVersion:u,packs:p,packItemsByPackage:h,packStatus:le,packItemStatus:ye,favorites:G,favoriteStatus:_,favoriteSelection:V,recent:b,recentStatus:x,recentSelection:z,emojiRecent:N,giphyMode:B,giphyQuery:oe,giphyItems:k,giphyTotalCount:T,giphyHasMore:O,giphyStatus:R,hydrateRecent:qe,loadPacks:ln,loadPackItems:On,loadFavorites:Zn,addFavorite:Mn,setFavorite:bn,unsetFavorite:Sn,toggleFavoriteSelection:Cn,deleteSelectedFavorites:to,loadRecent:en,reportRecent:fn,rememberEmoji:Zt,toggleRecentSelection:no,deleteSelectedRecent:ro,loadGiphyTrending:St,searchGiphy:nt,loadMoreGiphy:Tn,sendSticker:er,sendGif:nn,sendGame:nr,reset:tt}})}var wi=new WeakMap,Ar=new WeakMap;function Fl(e=Oe()){ve(e);let n=wi.get(e);n===void 0&&(n=_l(e),wi.set(e,n));let r=n(e),a=Gr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Ar.get(e)!==r&&(Ar.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Ar.get(e)===r&&(Ar.delete(e),Gr.get(e)===a&&Gr.delete(e));})),r}var _r=new WeakMap;function Ai(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Kl(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Hl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Nl(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&&Hl(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ai(n)})}function Ll(e=Oe()){let n=ve(e),r=_r.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=De(e),p=Pn(e),h={disposed:false};function j(I){return !h.disposed&&a.getGeneration()===I.generation&&u.getHandle()===I.handle&&Fr(u.activeRef,I.conversation)}function D(){let I=h.activeIntent;I!==void 0&&(h.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function G(I){if(!j(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}p.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:I.generation,conversation:I.conversation}));try{if(!await u.loadLatest()||!j(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(z){if(!j(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let N=Nl(z,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:N}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:N}));}}function W(I){let z=h.activeIntent;z===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==z.selfId||I.message.status==="sent"||!Fr(I.ref,z.conversation)||(h.activeIntent=void 0,G(z));}async function V(I,z){let N=u.getHandle();if(!Kl(I)||h.disposed||!u.hasNewer||N===void 0||!Fr(N.ref,I)||!Fr(u.activeRef,I))return Object.freeze({value:await z(),history:Object.freeze({status:"not-needed"})});D();let B=Ai(I),oe,k=new Promise(Q=>{let H=false;oe=le=>{H||(H=true,Q(le));};}),T={token:Symbol("history-return-after-send"),conversation:B,handle:N,generation:a.getGeneration(),selfId:a.getCredentials().userId,complete:oe};h.activeIntent=T;try{let Q=await z();return h.activeIntent?.token===T.token&&(h.activeIntent=void 0,T.complete(j(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),Object.freeze({value:Q,history:await k})}catch(Q){throw h.activeIntent?.token===T.token&&(h.activeIntent=void 0,T.complete(j(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),await k,Q}}let b=a.subscribeProductEvents(W);return h.coordinator=Object.freeze({run:V}),_r.set(e,h),Ee(e,()=>{h.disposed=true,D(),b(),_r.get(e)===h&&_r.delete(e);}),h.coordinator}function _i(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:_i(e.conversation)}})}function $l(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Vl(e,n){return $l(e)?Fi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function Bl(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:_i(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Fi(e.error)}})}function Kr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Wl(e){return defineStore("k2-im-media",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref([]),u=shallowRef(null),p=shallowRef(null),h=false,j=0,D=null,G=-1,W,V=computed(()=>{let x=a.activeRef,R={};for(let O of s.value)O.direction!=="upload"||O.state!=="queued"&&O.state!=="running"||!Kr(x,O.ref)||(R[O.messageId]=O.state==="queued"?0:O.percent);return R}),b=computed(()=>{let x=a.activeRef,R={};for(let O of s.value)O.direction==="upload"&&O.state==="running"&&O.phase==="finalizing"&&Kr(x,O.ref)&&(R[O.messageId]=true);return R});function I(x,R,O){h||D!==R||G!==O||n.getGeneration()!==O||(s.value=x.map(Bl));}function z(x){let R=n.getGeneration();if(h)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(D===x&&G===R||(j+=1,W?.(),W=void 0,D=x,G=x===null?-1:R,s.value=[],u.value=null,x===null))return;let O=false;W=x.media.subscribe(A=>{O=true,I(A,x,R);}),O||I(x.media.getSnapshot(),x,R),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:R}));}function N(){z(n.getProductClient());}function B(){z(null),p.value=null;}async function oe(x,R){let O=n.getProductClient();if(O===null)return Object.freeze({ok:false,operation:x,reason:"not-ready"});if(z(O),!s.value.some(Z=>Z.id===R))return Object.freeze({ok:false,operation:x,reason:"not-found"});let A=n.getGeneration(),q=j;u.value=null;try{return await O.media[x](R),h||q!==j||n.getGeneration()!==A||D!==O?Object.freeze({ok:!1,operation:x,reason:"stale"}):Object.freeze({ok:!0,operation:x})}catch(Z){if(h||q!==j||n.getGeneration()!==A||D!==O)return Object.freeze({ok:false,operation:x,reason:"stale"});let me=Vl(Z,x);return u.value=me,r.record("error","pinia","media",`media-task-${x}-failed`,()=>({generation:A,data:{taskId:R},error:{message:me.code,data:me}})),Object.freeze({ok:false,operation:x,reason:"failed",error:me})}}function k(x){return oe("cancel",x)}function T(x){return oe("retry",x)}async function Q(x){let R=a.activeRef,O=s.value.find(q=>q.direction==="upload"&&(q.state==="queued"||q.state==="running")&&q.messageId===x&&Kr(R,q.ref));if(O===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let A=await k(O.id);return Kr(a.activeRef,O.ref)?A:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function H(x){let R=a.activeRef;return x.status!=="failed"||x.failure?.displayCode!=="media.uploadInterrupted"||x.contentType!=="video"&&x.contentType!=="file"||R===null||x.conversationId!==R.conversationId||x.conversationType!==R.conversationType?false:(p.value=Object.freeze({messageId:x.id,conversationId:x.conversationId,conversationType:x.conversationType,kind:x.contentType}),true)}function le(){let x=p.value;return p.value=null,x}function ye(){p.value=null;}function _(){h||(j+=1,W?.(),W=void 0,D=null,G=-1,s.value=[],u.value=null,p.value=null,h=true);}return {tasks:s,error:u,uploadProgress:V,uploadFinalizing:b,replacementRequest:p,start:N,reset:B,cancel:k,retry:T,cancelUpload:Q,requestReplacement:H,takeReplacementRequest:le,clearReplacementRequest:ye,dispose:_}})}var Di=new WeakMap,Hr=new WeakMap;function Jl(e=Oe()){ve(e);let n=Di.get(e);n===void 0&&(n=Wl(e),Di.set(e,n));let r=n(e);return Hr.get(e)!==r&&(Hr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Hr.get(e)===r&&Hr.delete(e);})),r}function Vn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Nr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Ql(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Xl(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:a!==null&&Ql(a.category)?a.category:"state",operation:`channel-member-management.${n}`,retryable:a?.retryable===true,conversation:r})}function It(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function ht(e,n){return It(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 Yl(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Ki(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function Zl(e,n,r,a,s){let u=n.capabilities.get(r);if(u.conversationType!=="channel"||u.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(a==="invite-members")return u.value.canInviteMembers;if(a==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.removeTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(a==="add-admin"||a==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H(a==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(a==="transfer-ownership")return Ki(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(a==="leave"){if(s===void 0)return u.value.canLeave;let p=u.value.canLeave;return p.availability!=="available"?p:Ki(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return u.value.canDismiss}function eu(e,n,r,a){let s=Vn(r);if(s.conversationId==="")return {ok:false,result:ht(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:It(n,s,"not-ready")};let p=e.getGeneration(),h=Zl(e,u,s,n,a);return h.availability!=="available"?{ok:false,result:It(n,s,"not-allowed",Yl(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function yt(e,n,r,a,s){let u=eu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:It(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return It(n,u.captured.conversation,"stale");let h=Xl(p,n,u.captured.conversation),j=n==="leave"&&h.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return It(n,u.captured.conversation,j,h)}}function nu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Hi(e,n,r){let a=Vn(n),s=nu(r);return s.length===0?Promise.resolve(ht("invite-members",a)):yt(e,"invite-members",a,async({client:u})=>(await u.channels.inviteMembers(a,s),Object.freeze({ok:!0,operation:"invite-members",conversation:a,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Ni(e,n,r){let a=Vn(n),s=Nr(r);return s.userId===""?Promise.resolve(ht("remove-member",a)):yt(e,"remove-member",a,async({client:u})=>(await u.channels.removeMember(a,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:a,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Li(e,n,r,a){let s=Vn(n),u=Nr(r),p=a?"add-admin":"remove-admin";return u.userId===""?Promise.resolve(ht(p,s)):yt(e,p,s,async({client:h})=>(a?await h.channels.addAdmin(s,u.userId):await h.channels.removeAdmin(s,u.userId),Object.freeze({ok:!0,operation:p,conversation:s,outcome:a?"admin-added":"admin-removed",memberId:u.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),u)}function Ui(e,n,r){return Li(e,n,r,true)}function qi(e,n,r){return Li(e,n,r,false)}function $i(e,n,r){let a=Vn(n),s=Nr(r);return s.userId===""?Promise.resolve(ht("transfer-ownership",a)):yt(e,"transfer-ownership",a,async({client:u})=>(await u.channels.transferOwnership(a,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:a,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Vi(e,n,r){let a=Vn(n),s=r===void 0?void 0:Nr(r);return s!==void 0&&s.userId===""?Promise.resolve(ht("leave",a)):yt(e,"leave",a,async({client:u})=>(await u.channels.leave(a,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:a,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Bi(e,n){let r=Vn(n);return yt(e,"dismiss",r,async({client:a})=>(await a.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function $t(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function tu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ru(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:a!==null&&tu(a.category)?a.category:"state",operation:`channel-profile.${n}`,retryable:a?.retryable===true,conversation:r})}function bt(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Ct(e,n){return bt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function ou(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 au(e,n,r,a,s){let u=n.capabilities.get(r);return u.conversationType!=="channel"||u.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):a==="set-my-nickname"?u.value.canLeave:a==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.editNicknameTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):a==="set-all-muted"?u.value.canManageMute:a==="set-member-private-chat-disabled"?u.value.canSetMemberPrivateChat:u.value.canEditProfile}function iu(e,n,r,a){let s=$t(r);if(s.conversationId==="")return {ok:false,result:Ct(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:bt(n,s,"not-ready")};let p=e.getGeneration(),h=au(e,u,s,n,a);return h.availability!=="available"?{ok:false,result:bt(n,s,"not-allowed",ou(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function Gn(e,n,r,a,s){let u=iu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:bt(n,u.captured.conversation,"stale")}catch(p){return u.captured.isCurrent()?bt(n,u.captured.conversation,"failed",ru(p,n,u.captured.conversation)):bt(n,u.captured.conversation,"stale")}}function Wi(e,n,r){let a=$t(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ct(e,a)}:{ok:true,value:s}}function Ji(e,n,r){let a=r.trim();return a===""?Promise.resolve(Ct("update-name",$t(n))):Gn(e,"update-name",n,async({client:s,conversation:u})=>(await s.channels.updateName(u,a),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var su=100;function Qi(e,n,r){let a=r.trim();return a===""||[...a].length>su?Promise.resolve(Ct("update-description",$t(n))):Gn(e,"update-description",n,async({client:s,conversation:u})=>(await s.channels.updateDescription(u,a),Object.freeze({ok:!0,operation:"update-description",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Xi(e,n,r){return Gn(e,"update-avatar",n,async({client:a,conversation:s})=>{let u=(await a.channels.updateAvatar(s,r)).trim();return u===""?Ct("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Yi(e,n,r){let a=Wi("set-my-nickname",n,r);return a.ok?Gn(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.channels.setMyNickname(u,a.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:u,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(a.result)}function Zi(e,n,r,a,s){let u=r.trim(),p=Wi("set-member-nickname",n,s);if(u===""||!p.ok)return Promise.resolve(p.ok?Ct("set-member-nickname",$t(n)):p.result);let h=Object.freeze({userId:u,role:a});return Gn(e,"set-member-nickname",n,async({client:j,conversation:D})=>(await j.channels.setMemberNickname(D,u,p.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:D,outcome:"updated",memberId:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})),h)}function es(e,n,r,a){return Gn(e,"update-verification",n,async({client:s,conversation:u})=>(await s.channels.updateVerification(u,r,a),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ns(e,n,r){return Gn(e,"set-all-muted",n,async({client:a,conversation:s})=>(await a.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ts(e,n,r){return Gn(e,"set-member-private-chat-disabled",n,async({client:a,conversation:s})=>(await a.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 lu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function uu(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 du(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function fu(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:a!==null&&du(a.category)?a.category:"state",operation:`direct-contact.${n}`,retryable:a?.retryable===true,...r===null?{}:{conversation:r}})}function Bn(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Lr(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 Wn(e,n,r,a){let s=uu(e);if(s===null)return {ok:false,result:Bn(n,r,"not-ready")};try{let u=await a(s.client);return s.isCurrent()?{ok:!0,value:u}:{ok:!1,result:Bn(n,r,"stale")}}catch(u){return s.isCurrent()?{ok:false,result:Bn(n,r,"failed",fu(u,n,r))}:{ok:false,result:Bn(n,r,"stale")}}}function Rt(e,n){let r=cu(n);return r.conversationId===""?{ok:false,result:Bn(e,r,"failed",Lr(e,r))}:{ok:true,conversation:r}}async function rs(e,n,r){let a=Rt("set-remark",n);if(!a.ok)return a.result;let{conversation:s}=a,u=await Wn(e,"set-remark",s,p=>p.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(h=>Object.freeze({countryCode:h.countryCode,mobile:h.mobile})))}})));return u.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):u.result}async function os(e,n){let r=Rt("block",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"block",a,u=>u.contacts.blockUser(a.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:a,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function as(e,n,r){let a=Rt("report",n);if(!a.ok)return a.result;let{conversation:s}=a,u=r.trim();if(u==="")return Bn("report",s,"failed",Lr("report",s));let p=await Wn(e,"report",s,h=>h.contacts.reportUser(s.conversationId,u));return p.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):p.result}async function is(e,n){let r=Rt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"delete-friendship",a,u=>u.contacts.deleteFriendship(a.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:a,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ss(e,n){let r=n.trim();if(r==="")return Bn("search-user",null,"failed",Lr("search-user",null));let a=await Wn(e,"search-user",null,p=>p.contacts.searchUser(r));if(!a.ok)return !a.result.ok&&!a.result.stale&&a.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}):a.result;let s=a.value,u=s===null?null:lu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:u,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function cs(e,n){let r=Rt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"resolve-application-target",a,async u=>{let[p,h]=await Promise.all([u.contacts.getProfile(a.conversationId),u.contacts.getRelationship(a.conversationId)]);if(p===null)return null;if(p.userId!==a.conversationId)throw Lr("resolve-application-target",a);return Object.freeze({userId:p.userId,displayName:p.displayName,nickname:p.nickname,relationship:h,...p.avatar===void 0?{}:{avatarUrl:p.avatar},...p.miCallId===void 0?{}:{miCallId:p.miCallId},...p.signature===void 0?{}:{signature:p.signature},...p.age===void 0?{}:{age:p.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:a,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ls(e,n,r){let a=Rt("request-friendship",n);if(!a.ok)return a.result;let{conversation:s}=a,u=await Wn(e,"request-friendship",s,p=>p.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return u.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:u.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):u.result}function Vt(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 pu(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:a!==null&&mu(a.category)?a.category:"state",operation:`group-member-management.${n}`,retryable:a?.retryable===true,conversation:r})}function Pt(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Bt(e,n){return Pt(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 vu(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 gu(e,n,r,a){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 u=s.value.canLeave;return u.availability!=="available"||!a?u:s.value.canTransferOwnership}function Iu(e,n,r,a=false){let s=Vt(r);if(s.conversationId==="")return {ok:false,result:Bt(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:Pt(n,s,"not-ready")};let p=e.getGeneration(),h=gu(u,s,n,a);return h.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",vu(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function Ur(e,n,r,a,s=false){let u=Iu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:Pt(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return Pt(n,u.captured.conversation,"stale");let h=pu(p,n,u.captured.conversation),j=n==="leave"&&h.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Pt(n,u.captured.conversation,j,h)}}function hu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function us(e,n,r){let a=Vt(n),s=hu(r);return s.length===0?Promise.resolve(Bt("invite-members",a)):Ur(e,"invite-members",a,async({client:u})=>(await u.groups.inviteMembers(a,s),Object.freeze({ok:!0,operation:"invite-members",conversation:a,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ds(e,n,r){let a=Vt(n),s=r.trim();return s===""?Promise.resolve(Bt("remove-member",a)):Ur(e,"remove-member",a,async({client:u})=>(await u.groups.removeMember(a,s),Object.freeze({ok:!0,operation:"remove-member",conversation:a,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function fs(e,n,r){let a=Vt(n),s=r.trim();return s===""?Promise.resolve(Bt("transfer-ownership",a)):Ur(e,"transfer-ownership",a,async({client:u})=>(await u.groups.transferOwnership(a,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:a,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ms(e,n,r={}){let a=Vt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Bt("leave",a)):Ur(e,"leave",a,async({client:u})=>(await u.groups.leave(a,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:a,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Ho(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function yu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ps(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:a!==null&&yu(a.category)?a.category:"state",operation:`group-profile.${n}`,retryable:a?.retryable===true,conversation:r})}function Ye(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function bu(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 Cu(e,n,r){let a=e.capabilities.get(n);return a.conversationType!=="group"||a.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?a.value.canUpdateVerification:r==="set-my-nickname"?a.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:a.value.membership==="unknown"?"unknown":"unavailable",reason:a.value.membership==="unknown_restricted"?"unknown-restricted":a.value.membership}):a.value.canEditProfile}function vs(e,n,r){let a=Ho(r);if(a.conversationId==="")return {ok:false,result:Ye(n,a,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:a}))};let s=e.getProductClient();if(s===null)return {ok:false,result:Ye(n,a,"not-ready")};let u=e.getGeneration(),p=Cu(s,a,n);return p.availability!=="available"?{ok:false,result:Ye(n,a,"not-allowed",bu(n,a,p))}:{ok:true,captured:Object.freeze({client:s,conversation:a,isCurrent:()=>e.getGeneration()===u&&e.getProductClient()===s})}}async function No(e,n,r,a){let s=vs(e,n,r);if(!s.ok)return s.result;try{let u=await a(s.captured);return s.captured.isCurrent()?u:Ye(n,s.captured.conversation,"stale")}catch(u){return s.captured.isCurrent()?Ye(n,s.captured.conversation,"failed",ps(u,n,s.captured.conversation)):Ye(n,s.captured.conversation,"stale")}}function gs(e,n,r){let a=r.trim();if(a===""){let s=Ho(n);return Promise.resolve(Ye("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 No(e,"update-name",n,async({client:s,conversation:u})=>(await s.groups.updateName(u,a),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Is(e,n,r){let a=r.trim();if(a===""){let s=Ho(n);return Promise.resolve(Ye("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 No(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.groups.setMyNickname(u,a),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:u,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function hs(e,n,r,a){return No(e,"update-verification",n,async({client:s,conversation:u})=>(await s.groups.updateVerification(u,r,a),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function ys(e,n,r){let a=vs(e,"update-avatar",n);if(!a.ok)return a.result;let{captured:s}=a;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(u){return s.isCurrent()?Ye("update-avatar",s.conversation,"failed",ps(u,"update-avatar",s.conversation)):Ye("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return Ye("update-avatar",s.conversation,"stale");try{let u=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return Ye("update-avatar",s.conversation,"stale");let p=u?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...p===void 0||p===""?{}:{avatar:p},stale:!1,projectionUpdated:!1,refreshRequired:p===void 0||p===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):Ye("update-avatar",s.conversation,"stale")}}function Ru(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Pu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Ru(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function bs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Cs(e,n,r={}){let a=e.ensureProductClient(),[s,u]=await Promise.all([r.forceRefresh===true?a.contacts.getProfile(n.conversationId,r):a.contacts.getProfile(n.conversationId),a.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:u})}async function Rs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Pu(n,r.value)}function Ps(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ks(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let a=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let u=[],p=await a.groups.listFirstPage({pageSize:100});for(u.push(...p.items);!p.exhausted&&p.nextPageToken!==void 0;)p=await a.groups.listNextPage(p.nextPageToken),u.push(...p.items);let h=[];for(let j of u){let D=await s.group.listMembers(j.id,{forceRefresh:false});D!==null&&D.some(G=>G.userId===r)&&h.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:j.id}),name:j.displayName||j.cardDisplayName||j.id,...j.avatarUrl===void 0?{}:{avatar:j.avatarUrl}}));}return Object.freeze(h)}async function Os(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:bs(r.value),stale:r.stale})}async function Ms(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:bs(r)}async function Ss(e,n,r){let a=await e.ensureProductClient().channels.getProfile(n,r);if(a===null)return null;if(a.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...a,canViewMembers:a.permissions.manageMembers===true||a.memberPrivateChatDisabled===false})}function Ts(e,n,r){let a=e.ensureProductClient(),s=n==="individual"?a.contacts:n==="group"?a.groups:a.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Es(e,n){return e.ensureProductClient().directory.search(n)}async function js(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",u=s===""?await a.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await a.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Lo(u)}function Lo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function ws(e,n,r,a={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let u=r.trim();if(u==="")return null;let h=(await s.channel.getMembersByIds(n.conversationId,[u],a.forceRefresh===true?{forceRefresh:true}:void 0)).find(j=>j.userId===u);return h===void 0?null:Object.freeze({userId:h.userId,...h.nickname===void 0?{}:{nickname:h.nickname},displayName:h.displayName,...h.avatar===void 0?{}:{avatar:h.avatar},role:h.role})}async function Uo(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",u=await a.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return u===null?null:Lo(u)}async function xs(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Lo(await a.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 $o(e,n,r){let a=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return a===null?null:qo(a)}async function As(e,n,r){let a=e.ensureProductClient().channels.mentions,s=r?.trim()??"",u=s===""?await a.refreshFirstPage(n):await a.refreshSearchFirstPage(n,s);return qo(u)}async function zs(e,n,r){let a=e.ensureProductClient().channels.mentions,s=n.trim()===""?await a.listNextPage(r):await a.searchNextPage(r);return qo(s)}function Gs(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),a=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let u=`${s.kind}:${s.id}`;a.has(u)||r.push(u),a.set(u,s);}return Object.freeze(r.map(s=>a.get(s)))}var Mu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Su=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"]),Ds=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Ie(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function $(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Jn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Dn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function vn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Wt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Xn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Tu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Be(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return a!==null&&typeof a.code=="string"&&Tu(a.category)?Object.freeze({code:a.code,category:a.category,operation:n,retryable:a.retryable===true,...r===void 0?{}:{conversation:Ie(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ie(r)}})}function $r(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Eu(e){return defineStore("k2-im-profile-directory",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=ref(0),s=ref({}),u=shallowRef(null),p=shallowRef(null),h=ref("unknown"),j=ref(false),D=shallowRef(null),G=shallowRef([]),W=ref(false),V=shallowRef(null),b=shallowRef(null),I=shallowRef(null),z$1=shallowRef([]),N=ref(false),B=ref(false),oe=shallowRef(null),k=shallowRef(null),T=shallowRef(null),Q=ref(false),H=shallowRef(null),le=reactive({individual:$r(),group:$r(),channel:$r()}),ye=ref(""),_=shallowRef(null),x$1=ref(false),R=shallowRef(null),O=shallowRef(null),A$1=shallowRef([]),q=ref(""),Z=ref(false),me=ref(false),be=shallowRef(null),Ce=shallowRef(null),U=shallowRef(null),ee=ref(false),ge=shallowRef(null),de=shallowRef(null),he=shallowRef([]),Pe=ref(""),Me=ref(false),je=ref(false),w$1=shallowRef(null),K=false,ue=new Map,fe=0,se={direct:0,group:0,channel:0},ze=0,C={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},g={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},E={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},X=new Map,re=0,ne=new Map,Re=new Map,te=new Set,pe=new Set,we=new Map,Ke=new Map,eo=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,on=new Map,Qt=0,kn=new Set,hn=new Map,an=new Map,Xt=0,sn=0,Yn=0,yn=new Map,Ue=new Map,Ae=new Map,cn=new Map,Je=new Map,qe=new Map,ln=new Map,On=ref(0),Zn={individual:0,group:0,channel:0},_n=new Map,Fn=0,bn,Mn,Sn,Cn=0,Ze,en,pn,un=0,dn,We,fn;function no(o){return s.value[o.conversationId]??0}function Yt(o,i,t){a.value;let c=n.getSenderProfileCache();if(o.conversationType==="channel"){let l=x(c,n.getChannelMemberProfiles(),o.conversationId,i),f=(t??"").trim();return l===i&&f!==""?f:l}return o.conversationType==="group"?w(c,n.getGroupMemberNames(),o.conversationId,i,t):o.conversationType==="direct"?w(c,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function to(o,i){a.value;let t=n.getSenderProfileCache();return o.conversationType==="channel"?y(t,n.getChannelMemberProfiles(),o.conversationId,i):z(t,i)}function ro(o){return a.value,A(n.getSenderProfileCache(),o)}function Mt(o,i){return ma(n,o,i)}function et(o,i){return na(n,o.conversationId,i)}function St(o,i,t){let c=n.getGeneration(),l=ue.get(o.conversationId)??0;return oa(n,o.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!K&&n.getGeneration()===c&&(ue.get(o.conversationId)??0)===l&&t?.isCurrent?.()!==false})}function nt(o,i){let t=o.conversationId.trim();if(t==="")return;ue.set(t,(ue.get(t)??0)+1);let c={...n.getChannelMemberProfiles()},l=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(l.length===0)delete c[t];else {let f={...c[t]??{}};for(let P of l)delete f[P];Object.keys(f).length===0?delete c[t]:c[t]=f;}n.setChannelMemberProfiles(c);}function Tn(o,i){let t=o.conversationId.trim();t!==""&&(nt(o,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function Zt(o,i,t){let c=t.trim();if(c==="")return;let l=o.get(i)??new Set;l.add(c),o.set(i,l);}function Tt(o,i,t){let c=o.get(i);c!==void 0&&(c.delete(t.trim()),c.size===0&&o.delete(i));}function er(o,i,t){let c=t.trim();return c!==""&&o.get(i)?.has(c)===true}function nn(o,i,t){let c=o.get(i);return c===void 0||c.size===0?t:t.filter(l=>!c.has(l.userId))}function nr(o,i,t={}){let c=Je.get(o);if(c===void 0||c.size===0)return i;let l=new Set(i.map(F=>F.userId)),f=new Map(c),P=i.map(F=>{let L=c.get(F.userId);return L===void 0?F:(t.reconcile===true&&L===F.nickname&&f.delete(F.userId),Object.freeze({...F,nickname:L}))});if(t.reconcile===true)for(let F of f.keys())l.has(F)||f.delete(F);return f.size===0?Je.delete(o):Je.set(o,f),Object.freeze(P)}function tt(o,i){let t=Je.get(o);t!==void 0&&(t.delete(i.trim()),t.size===0&&Je.delete(o));}function rt(o,i){let t=qe.get(o);return t===void 0||t.size===0?i:Object.freeze(i.map(c=>{let l=t.get(c.userId);return l===void 0?c:Object.freeze({...c,displayName:l.displayName})}))}function d(o,i){let t=qe.get(o),c=ln.get(o),l=k.value?.conversationId===o?T.value?.ownerId:cn.get(o)?.ownerId;return (t===void 0||t.size===0)&&(c===void 0||c.size===0)&&l===void 0?i:Object.freeze(i.map(f=>{let P=t?.get(f.userId),F=c?.get(f.userId),L=l!==void 0&&f.userId===l;if(P===void 0&&F===void 0&&!L)return f;let{nickname:ke,...rn}=f;return Object.freeze({...rn,...P===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:P.nickname===""?{}:{nickname:P.nickname},displayName:P?.displayName??f.displayName,role:L?"owner":F??f.role})}))}function m(o,i){let t=qe.get(o);if(t===void 0)return;let c=false;for(let l of i)t.get(l.userId)?.nickname===(l.nickname??"")&&(t.delete(l.userId),c=true);t.size===0&&qe.delete(o),c&&(On.value+=1);}function v(o,i){let t=qe.get(o);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(o),On.value+=1);}function y$1(o,i){let t=ln.get(o);if(t!==void 0){for(let c of i)t.get(c.userId)===c.role&&t.delete(c.userId);t.size===0&&ln.delete(o);}}function M(o,i){let t=ln.get(o);t!==void 0&&(t.delete(i.trim()),t.size===0&&ln.delete(o));}function S(o,i,t,c){let l=o.conversationType==="direct"?u.value:o.conversationType==="group"?b.value:k.value;return !K&&n.getGeneration()===i&&fe===t&&se[o.conversationType]===c&&$(l,o)}async function J(o,i={}){let t=Ie(o),c=++fe,l=se.direct,f=n.getGeneration(),P=!$(u.value,t);u.value=t,P&&(p.value=null,h.value="unknown"),j.value=true,D.value=null;try{let F=await Cs(n,t,i);return S(t,f,c,l)?(p.value=F.profile,h.value=F.relationship,j.value=!1,F.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(F){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let L=Be(F,"profile.direct",t);return D.value=L,j.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:L})}}async function ae(o,i,t={}){let c=i.trim();if(c==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let l=t.forceRefresh===true,f;if(o.conversationType==="channel"){let F=await Gt({conversationType:"channel",conversationId:o.conversationId},{forceRefresh:l});if(!F.ok)return Object.freeze({ok:false,reason:"channel-profile",result:F});if(f=$(k.value,o)?T.value:null,la({conversation:o,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let P=await J({conversationType:"direct",conversationId:c},{forceRefresh:l});return P.ok?Object.freeze({ok:true,destination:la({conversation:o,relationship:h.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:P})}async function Y(o){let i=Ie(o),t=++ze,c=n.getGeneration();u.value=i,W.value=true,V.value=null;try{let l=await ks(n,i.conversationId);return !$(u.value,i)||c!==n.getGeneration()||t!==ze?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(G.value=l,W.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(l){if(!$(u.value,i)||c!==n.getGeneration()||t!==ze)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Be(l,"profile.direct-mutual-groups",i);return V.value=f,W.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ie(o){return C[o]+=1,C[o]}function ce(o,i){return !K&&C[o]===i}async function Fe(o,i){let t=Ie(o),c=ie("set-remark"),l=await rs(n,t,i);if(!ce("set-remark",c)||!$(u.value,t))return Jn("set-remark",t);if(!l.ok)return l;let f=p.value,P=f!==null&&f.userId===t.conversationId;return P&&(p.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(F=>Object.freeze({countryCode:F.countryCode,mobile:F.mobile})))}})),Object.freeze({...l,projectionUpdated:P})}async function Ge(o){let i=Ie(o),t=ie("block"),c=await os(n,i);return !ce("block",t)||!$(u.value,i)?Jn("block",i):c.ok?(h.value="blocked",Object.freeze({...c,projectionUpdated:true})):c}async function Se(o,i){let t=Ie(o),c=ie("report"),l=await as(n,t,i);return !ce("report",c)||!$(u.value,t)?Jn("report",t):l}async function He(o){let i=Ie(o),t=ie("delete-friendship"),c=await is(n,i);return !ce("delete-friendship",t)||!$(u.value,i)?Jn("delete-friendship",i):c.ok?(h.value="none",Object.freeze({...c,projectionUpdated:true})):c}async function Qe(o){let i=ie("search-user"),t=await ss(n,o);return ce("search-user",i)?t:Jn("search-user",t.conversation)}async function ot(o){let i=Ie(o),t=ie("resolve-application-target"),c=await cs(n,i);return ce("resolve-application-target",t)?c:Jn("resolve-application-target",i)}async function Et(o,i){let t=Ie(o),c=ie("request-friendship"),l=await ls(n,t,i);return ce("request-friendship",c)?l:Jn("request-friendship",t)}function mn(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function jt(o,i){g[o]+=1;let t=n.getGeneration(),c=se.group,l=mn(i,o,t,c);return ne.set(l,(ne.get(l)??0)+1),Object.freeze({epoch:g[o],generation:t,key:l,resetEpoch:c})}function wt(o,i){let t=ne.get(i.key)??0;t<=1?ne.delete(i.key):ne.set(i.key,t-1),Wo(o);}function Te(o,i){return !K&&n.getGeneration()===i.generation&&se.group===i.resetEpoch&&g[o]===i.epoch}function $e(o,i){let t=n.getGeneration(),c=se.group;return i!==void 0?(ne.get(mn(o,i,t,c))??0)>0:Object.keys(g).some(l=>(ne.get(mn(o,l,t,c))??0)>0)}async function En(o,i){let t=Ie(o),c=i.trim(),l=jt("update-name",t);try{let f=await gs(n,t,c);if(!Te("update-name",l)||!$(b.value,t))return qr("update-name",t);if(!f.ok)return f;let P=I.value!==null;return P&&Rc(t,c),Object.freeze({...f,projectionUpdated:P})}finally{wt(t,l);}}async function jn(o,i){let t=Ie(o),c=jt("update-avatar",t);try{let l=await ys(n,t,i);if(!Te("update-avatar",c)||!$(b.value,t))return qr("update-avatar",t);if(!l.ok)return l;let f=I.value!==null&&l.avatar!==void 0;return f&&Pc(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{wt(t,c);}}async function oo(o,i){let t=Ie(o),c=i.trim(),l=jt("set-my-nickname",t);try{let f=await Is(n,t,c);if(!Te("set-my-nickname",l)||!$(b.value,t))return qr("set-my-nickname",t);if(!f.ok)return f;let P=z$1.value.some(F=>F.userId===f.memberId);return ra$1(t,f.memberId,c),ra(n,t.conversationId,f.memberId,c),Object.freeze({...f,projectionUpdated:P})}finally{wt(t,l);}}async function tr(o,i,t){let c=Ie(o),l=i===4?t?.trim():void 0,f=jt("update-verification",c);try{let P=await hs(n,c,i,l);if(!Te("update-verification",f)||!$(b.value,c))return qr("update-verification",c);if(!P.ok)return P;let F=I.value!==null;return F&&kc(c,i,l),Object.freeze({...P,projectionUpdated:F})}finally{wt(c,f);}}function ao(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function xe(o,i,t="profile"){let c=n.getGeneration(),l=se.channel,f=ao(i,o,t,c,l),P=++eo;return we.set(f,P),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:Ie(i),epoch:P,generation:c,resetEpoch:l,key:f})}function Ve(o){let i=Ke.get(o.key)??0;i<=1?Ke.delete(o.key):Ke.set(o.key,i-1),we.get(o.key)===o.epoch&&we.delete(o.key),Yo(o.conversation);}function wn(o){return !K&&n.getGeneration()===o.generation&&se.channel===o.resetEpoch&&we.get(o.key)===o.epoch}function rr(o,i,t){let c=`${n.getGeneration()}:${se.channel}:${o.conversationType}:${o.conversationId}:`;for(let[l,f]of Ke){let P=i===void 0?c:`${c}${i}:`;if(f>0&&l.startsWith(P)&&(t===void 0||l===`${P}${t.trim()}`))return true}return false}function Vo(o,i,t){let c=n.getChannelMemberProfiles(),l=c[o.conversationId],f=l?.[i];l===void 0||f===void 0||n.setChannelMemberProfiles({...c,[o.conversationId]:{...l,[i]:{...f,displayName:t}}});}async function qs(o,i){let t=Ie(o);if(tn(t))return Qn("update-name",t);let c=i.trim(),l=xe("update-name",t);try{let f=await Ji(n,t,c);if(!wn(l)||!$(k.value,t))return Dn("update-name",t);if(!f.ok)return f;let P=T.value!==null;return P&&ia(t,c),Object.freeze({...f,projectionUpdated:P})}finally{Ve(l);}}async function $s(o,i){let t=Ie(o);if(tn(t))return Qn("update-description",t);let c=i.trim(),l=xe("update-description",t);try{let f=await Qi(n,t,c);if(!wn(l)||!$(k.value,t))return Dn("update-description",t);if(!f.ok)return f;let P=T.value!==null;return P&&sa$1(t,c),Object.freeze({...f,projectionUpdated:P})}finally{Ve(l);}}async function Vs(o,i){let t=Ie(o);if(tn(t))return Qn("update-avatar",t);let c=xe("update-avatar",t);try{let l=await Xi(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("update-avatar",t);if(!l.ok)return l;let f=T.value!==null;return f&&ca(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}async function Bs(o,i){let t=Ie(o),c=i.trim(),l=xe("set-my-nickname",t,n.getCredentials().userId);try{let f=await Yi(n,t,c);return !wn(l)||!$(k.value,t)?Dn("set-my-nickname",t):f.ok?(mo(t,f.memberId,c,c),Vo(t,f.memberId,c),Object.freeze({...f,projectionUpdated:!0})):f}finally{Ve(l);}}async function Ws(o,i,t){let c=Ie(o);if(tn(c))return Qn("set-member-nickname",c);let l=i.trim(),f=t.trim(),P=Io(c,l),F=xe("set-member-nickname",c,l);try{let L=await Zi(n,c,l,P?.role??"unknown",f);return !wn(F)||!$(k.value,c)?Dn("set-member-nickname",c):L.ok?(mo(c,L.memberId,f,f),Vo(c,L.memberId,f),Object.freeze({...L,projectionUpdated:!0})):L}finally{Ve(F);}}async function Js(o,i,t){let c=Ie(o);if(tn(c))return Qn("update-verification",c);let l=i===4?t?.trim():void 0,f=xe("update-verification",c);try{let P=await es(n,c,i,l);if(!wn(f)||!$(k.value,c))return Dn("update-verification",c);if(!P.ok)return P;let F=T.value!==null;return F&&la$1(c,i,l),Object.freeze({...P,projectionUpdated:F})}finally{Ve(f);}}async function Qs(o,i){let t=Ie(o);if(tn(t))return Qn("set-all-muted",t);let c=xe("set-all-muted",t);try{let l=await ns(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("set-all-muted",t);if(!l.ok)return l;let f=T.value!==null;return f&&fo(t,{allMembersMuted:i}),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}async function Xs(o,i){let t=Ie(o);if(tn(t))return Qn("set-member-private-chat-disabled",t);let c=xe("set-member-private-chat-disabled",t);try{let l=await ts(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("set-member-private-chat-disabled",t);if(!l.ok)return l;let f=T.value!==null;return f&&fo(t,{memberPrivateChatDisabled:i}),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}function Ys(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function io(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function or(o,i,t){let c=n.getGeneration(),l=E[o],f=io(i,o,c,l),P=Ys(i,o,t,c,l),F=++re;return X.set(P,F),Re.set(f,(Re.get(f)??0)+1),Object.freeze({actionEpoch:F,actionKey:P,generation:c,resetEpoch:l,writeKey:f})}function ar(o,i){let t=Re.get(i.writeKey)??0;t<=1?Re.delete(i.writeKey):Re.set(i.writeKey,t-1),X.get(i.actionKey)===i.actionEpoch&&X.delete(i.actionKey),Wo(o);}function ir(o,i){return !K&&n.getGeneration()===i.generation&&E[o]===i.resetEpoch&&X.get(i.actionKey)===i.actionEpoch}function sr(o,i){let t=n.getGeneration();return i!==void 0?(Re.get(io(o,i,t,E[i]))??0)>0:Object.keys(E).some(c=>(Re.get(io(o,c,t,E[c]))??0)>0)}function Zs(o,i){let t=i.trim();t!==""&&Ue.set(o.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ec(o,i){if(i===null||i.isInGroup===false)return Ue.delete(o.conversationId),i;let t=Ue.get(o.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(o.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Bo(o){$(b.value,o)&&ct(o,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!$(b.value,o)||cr(o);});}function xt(o){$(b.value,o)&&zt(o,{forceRefresh:true});}function Wo(o){$e(o)||sr(o)||(te.delete(o.conversationId)&&xt(o),pe.delete(o.conversationId)&&bo(o));}function cr(o){$(b.value,o)&&qa(n,o.conversationId,z$1.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function nc(o,i){let t=Ie(o),c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=or("invite-members",t,c);try{let f=await us(n,t,i);if(!ir("invite-members",l))return Xn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&$(b.value,t)&&xt(t),f;if(!$(b.value,t))return Xn("invite-members",t);let P=f.memberIds.some(F=>aa(t,F));for(let F of f.memberIds)lo(t,F);return Bo(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{ar(t,l);}}async function tc(o,i){let t=Ie(o),c=or("remove-member",t,i.trim());try{let l=await ds(n,t,i);if(!ir("remove-member",c))return Xn("remove-member",t);if(!l.ok)return l.outcome!=="stale"&&$(b.value,t)&&xt(t),l;if(!$(b.value,t))return Xn("remove-member",t);let f=z$1.value.some(P=>P.userId===l.memberId);return co(t,l.memberId),Bo(t),Object.freeze({...l,projectionUpdated:f,refreshRequired:!1})}finally{ar(t,c);}}async function rc(o,i){let t=Ie(o),c=or("transfer-ownership",t,"group-owner");try{let l=await fs(n,t,i);if(!ir("transfer-ownership",c))return Xn("transfer-ownership",t);if(!l.ok)return l.outcome!=="stale"&&$(b.value,t)&&xt(t),l;if(!$(b.value,t))return Xn("transfer-ownership",t);Zs(t,l.ownerId);let f=I.value,P=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:l.ownerId})),xt(t),Object.freeze({...l,projectionUpdated:P,refreshRequired:!1})}finally{ar(t,c);}}async function oc(o,i={}){let t=Ie(o),c=or("leave",t,"membership");try{let l=await ms(n,t,i);if(!l.ok&&!ir("leave",c))return Xn("leave",t);if(!l.ok)return l.outcome==="transfer-required"&&$(b.value,t)&&await zt(t,{forceRefresh:!0}),l;uo(t),sa(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=$(b.value,t)&&(I.value!==null||z$1.value.length>0);return $(b.value,t)&&(b.value=null,I.value=null,z$1.value=[],N.value=!1,B.value=!1,oe.value=null),Object.freeze({...l,projectionUpdated:f})}finally{ar(t,c);}}function ac(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function Jo(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function at(o,i,t){let c=n.getGeneration(),l=gn[o],f=ac(i,o,t,c,l),P=Jo(i,o,c,l),F=++Qt;return In.set(f,F),on.set(P,(on.get(P)??0)+1),Object.freeze({actionEpoch:F,actionKey:f,conversation:Ie(i),writeKey:P,generation:c,resetEpoch:l})}function it(o){let i=on.get(o.writeKey)??0;i<=1?on.delete(o.writeKey):on.set(o.writeKey,i-1),In.get(o.actionKey)===o.actionEpoch&&In.delete(o.actionKey),Yo(o.conversation);}function st(o,i){return !K&&n.getGeneration()===i.generation&&gn[o]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function lr(o,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(l=>(on.get(Jo(o,l,t,gn[l]))??0)>0)}function ur(o,i){let t=i.trim();if(t==="")return;let c=Io(o,t);return c===void 0?void 0:Object.freeze({userId:t,role:c.role})}function ic(o,i){let t=i.trim();t!==""&&cn.set(o.conversationId,{ownerId:t});}function tn(o){let i=cn.get(o.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function Qo(o,i){if(i===null)return cn.delete(o.conversationId),null;let t=cn.get(o.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(cn.delete(o.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function sc(o){return !$(k.value,o)||T.value===null?false:(T.value=Qo(o,T.value),true)}function cc(o){$(O.value,o)&&yo(o,{preserveExisting:true});}function At(o){$(k.value,o)&&Gt(o,{forceRefresh:true});}function dr(o){At(o),cc(o);}function lc(o,i,t,c){let l=hn.get(o.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=c.map(P=>P.trim()).filter(Boolean);f.length===0&&(l.allTargets=true);for(let P of f)l.userIds.add(P);l.affectsMentions||=i,l.resolvesProfiles||=t,hn.set(o.conversationId,l);}function Xo(o,i){let t=hn.get(o.conversationId);if(!(t===void 0||t.allTargets)){for(let c of i)t.userIds.delete(c.trim());t.userIds.size===0&&hn.delete(o.conversationId);}}function Yo(o){if(rr(o)||lr(o))return;kn.delete(o.conversationId)&&pa$1(o);let i=hn.get(o.conversationId);if(i===void 0)return;hn.delete(o.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Tn(o,t):nt(o,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&St(o,t,{forceRefresh:true}),pr(o);}function uc(o,i){let t=n.getChannelMemberProfiles(),c=t[o.conversationId];if(c===void 0||c[i]===void 0)return false;let l={...c};return delete l[i],n.setChannelMemberProfiles({...t,[o.conversationId]:l}),true}function Zo(o){let i=n.getChannelMemberProfiles();if(i[o.conversationId]===void 0)return false;let t={...i};return delete t[o.conversationId],n.setChannelMemberProfiles(t),true}async function dc(o,i){let t=Ie(o);if(tn(t))return Wt("invite-members",t);let c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=at("invite-members",t,c);try{let f=await Hi(n,t,i);if(!st("invite-members",l))return vn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("invite-members",t);let P=f.memberIds.some(F=>go(t,F));for(let F of f.memberIds)vo(t,F);return Tn(t,f.memberIds),Xo(t,f.memberIds),dr(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{it(l);}}async function fc(o,i){let t=Ie(o);if(tn(t))return Wt("remove-member",t);let c=ur(t,i),l=at("remove-member",t,i.trim());try{let f=await Ni(n,t,c??{userId:i,role:"unknown"});if(!st("remove-member",l))return vn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("remove-member",t);let P=uc(t,f.memberId),F=A$1.value.some(L=>L.userId===f.memberId)||he.value.some(L=>L.userId===f.memberId)||P;return po(t,f.memberId),Tn(t,[f.memberId]),Xo(t,[f.memberId]),dr(t),Object.freeze({...f,projectionUpdated:F,refreshRequired:!1})}finally{it(l);}}async function mc(o,i,t){let c=Ie(o),l=ur(c,i),f=t?"add-admin":"remove-admin";if(tn(c))return Wt(f,c);let P=at(f,c,i.trim());try{let F=t?await Ui(n,c,l??{userId:i,role:"unknown"}):await qi(n,c,l??{userId:i,role:"unknown"});if(!st(f,P))return vn(f,c);if(!F.ok)return F.outcome!=="stale"&&At(c),F;if(!$(k.value,c))return vn(f,c);let L=t?"admin":"member",ke=l?.role!==L;return Kn(c,F.memberId,L),dr(c),Object.freeze({...F,projectionUpdated:ke,refreshRequired:!1})}finally{it(P);}}async function pc(o,i){let t=Ie(o);if(tn(t))return Wt("transfer-ownership",t);let c=ur(t,i),l=at("transfer-ownership",t,"channel-owner");try{let f=await $i(n,t,c??{userId:i,role:"unknown"});if(!st("transfer-ownership",l))return vn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("transfer-ownership",t);ic(t,f.ownerId);let P=sc(t);return Kn(t,f.ownerId,"owner"),Kn(t,n.getCredentials().userId,"member"),dr(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{it(l);}}async function vc(o,i={}){let t=Ie(o),c=i.newOwnerId===void 0?void 0:ur(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},l=at("leave",t,"membership");try{let f=await Vi(n,t,c);if(!f.ok&&!st("leave",l))return vn("leave",t);if(!f.ok)return f;let P=$(k.value,t)&&(T.value!==null||A$1.value.length>0||he.value.length>0);return fr(t),cn.delete(t.conversationId),Zo(t),$(k.value,t)&&vr(),Object.freeze({...f,projectionUpdated:P})}finally{it(l);}}async function gc(o){let i=Ie(o);if(tn(i))return Wt("dismiss",i);let t=at("dismiss",i,"membership");try{let c=await Bi(n,i);if(!c.ok&&!st("dismiss",t))return vn("dismiss",i);if(!c.ok)return c;let l=$(k.value,i)&&(T.value!==null||A$1.value.length>0||he.value.length>0);return fr(i),cn.delete(i.conversationId),Zo(i),$(k.value,i)&&vr(),Object.freeze({...c,projectionUpdated:l})}finally{it(t);}}async function zt(o,i={}){let t=Ie(o),c=++fe,l=se.group,f=n.getGeneration(),P=!$(b.value,t);b.value=t,P&&(I.value=null,sn+=1,z$1.value=[],B.value=false),N.value=true,oe.value=null;try{let F=i.forceRefresh===!0?null:await Rs(n,t);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(F!==null&&(I.value=F),i.restricted===!0)return i.includeMembers===!0&&await ct(t,{restricted:!0,forceRefresh:!0}),S(t,f,c,l)?(N.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 L=await Ps(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let ke=ec(t,L);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:ke?.ref.conversationId??null,name:ke?.name??null,isInGroup:ke?.isInGroup??null,verifyWay:ke?.verifyWay??null,memberCount:ke?.memberCount??null,membershipDecision:ke?.isInGroup===!0?"joined":ke?.isInGroup===!1?"not-joined":"unknown"}})),ke===null||ke.isInGroup===!1?(sn+=1,z$1.value=[],B.value=!1,uo(t),sa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ct(t,{restricted:!1,forceRefresh:!0}),S(t,f,c,l)?(I.value=ke,N.value=!1,Object.freeze(ke===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(F){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let L=Be(F,"profile.group",t);return i.forceRefresh===true&&(I.value=null,sn+=1,z$1.value=[],B.value=false),oe.value=L,N.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:L})}}async function ct(o,i={}){let t=Ie(o);if($(b.value,t)||(b.value=t,z$1.value=[]),$(b.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return sn+=1,z$1.value=[],B.value=false,Object.freeze({ok:true,operation:"group-members"});if(z$1.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let c=++sn,l=n.getGeneration();B.value=true;try{let f=i.preserveExisting===!0?null:await Os(n,t);if(K||n.getGeneration()!==l||c!==sn||!$(b.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let P=f===null?null:nn(yn,t.conversationId,f.items);if(P!==null&&(z$1.value=nr(t.conversationId,P),cr(t)),i.restricted===!0||i.forceRefresh!==!0&&P!==null&&P.length>0)return B.value=!1,Object.freeze({ok:!0,operation:"group-members"});let F=await Ms(n,t);return K||n.getGeneration()!==l||c!==sn||!$(b.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(F!==null&&(z$1.value=nr(t.conversationId,nn(yn,t.conversationId,F),{reconcile:!0}),cr(t)),B.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(K||n.getGeneration()!==l||c!==sn||!$(b.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let P=Be(f,"profile.group-members",t);return oe.value=P,B.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:P})}}async function Gt(o,i){let t=Ie(o),c=++fe,l=se.channel,f=n.getGeneration(),P=!$(k.value,t);k.value=t,P&&(T.value=null,Nn(t)),Q.value=true,H.value=null;try{let F=await Ss(n,t,i);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let L=Qo(t,F);return T.value=L,L!==null&&$(O.value,t)&&(A$1.value=d(t.conversationId,A$1.value)),L===null?(fr(t),Nn()):L.canViewMembers!==!0&&Nn(),Q.value=!1,Object.freeze(L===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(F){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let L=Be(F,"profile.channel",t);return i?.forceRefresh===true&&(T.value=null,Nn()),H.value=L,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:L})}}async function Ic(o,i={}){let t=o.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:o.conversationId}):Object.freeze({conversationType:"channel",conversationId:o.conversationId}),c=t.conversationType==="group"?"request-group-join":"request-channel-join",l=n.getProductClient();if(l===null)return Object.freeze({ok:false,operation:c,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,P=++Xt,F=n.getGeneration(),L=se[t.conversationType];an.set(f,P);let ke=()=>!K&&n.getGeneration()===F&&se[t.conversationType]===L&&an.get(f)===P&&(t.conversationType==="group"?$(b.value,t):$(k.value,t));try{let rn=t.conversationType==="group"?i.inviteCode===void 0?await l.groups.requestJoin(t):await l.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?await l.channels.requestJoin(t):await l.channels.joinByInviteCode(t,i.inviteCode);return ke()?(rn.outcome==="joined"&&(t.conversationType==="group"?await zt(t,{forceRefresh:!0}):await Gt(t,{forceRefresh:!0})),ke()?Object.freeze({ok:!0,operation:c,outcome:rn.outcome}):Object.freeze({ok:!1,operation:c,reason:"stale"})):Object.freeze({ok:!1,operation:c,reason:"stale"})}catch(rn){return ke()?Object.freeze({ok:false,operation:c,reason:"failed",error:Be(rn,c,t)}):Object.freeze({ok:false,operation:c,reason:"stale"})}finally{an.get(f)===P&&an.delete(f);}}async function ea(o,i,t){let c=le[o];if(c.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&c.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&c.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let l=i?_n.get(o):void 0;if(i&&l===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++Zn[o],P=n.getGeneration();c.loading=true,c.error=null;try{let F=await Ts(n,o,l);return K||P!==n.getGeneration()||f!==Zn[o]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(c.items=Gs(i?c.items:[],F.items),c.loaded=!0,c.exhausted=F.exhausted,c.loading=!1,F.nextPageToken===void 0?_n.delete(o):_n.set(o,F.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(F){if(K||P!==n.getGeneration()||f!==Zn[o])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let L=Be(F,`directory.${o}`);return c.error=L,c.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:L})}}function hc(o,i=false){return ea(o,i,false)}function yc(o){return ea(o,false,true)}function na$1(){bn!==void 0&&(clearTimeout(bn),bn=void 0),Mn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),Mn=void 0;}async function bc(o,i){let t=n.getGeneration();try{let c=await Es(n,o);return K||t!==n.getGeneration()||i!==Fn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(_.value=c,x$1.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(c){if(K||t!==n.getGeneration()||i!==Fn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let l=Be(c,"directory.search");return R.value=l,x$1.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:l})}}function so(){Fn+=1,na$1(),ye.value="",_.value=null,x$1.value=false,R.value=null,Sn=void 0;}function Cc(o,i={}){let t=o.trim();if(t==="")return so(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&Mn?.keyword===t)return Mn.promise;if(Sn?.keyword===t)return Sn.promise;if(!i.immediate&&ye.value===t&&_.value?.keyword===t.toLocaleLowerCase()&&R.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let c=++Fn;na$1(),ye.value=t,_.value=null,x$1.value=true,R.value=null;let l=()=>{let F=bc(t,c);return Sn={keyword:t,promise:F},F.finally(()=>{Sn?.promise===F&&(Sn=void 0);}),F};if(i.immediate)return l();let f,P=new Promise(F=>{f=F;});return Mn={keyword:t,promise:P,resolve:f},bn=setTimeout(()=>{bn=void 0,Mn=void 0,l().then(f);},300),P}function ta(o,i){let t=o.map(l=>l.userId),c=new Map(o.map(l=>[l.userId,l]));for(let l of i)c.has(l.userId)||t.push(l.userId),c.set(l.userId,l);return Object.freeze(t.map(l=>c.get(l)))}function Rc(o,i){!$(b.value,o)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Pc(o,i){!$(b.value,o)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function kc(o,i,t){if(!$(b.value,o)||I.value===null)return;let{inviteCode:c,...l}=I.value;I.value=Object.freeze({...l,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ra$1(o,i,t){let c=i.trim();if(c==="")return;let l=t.trim(),f=Je.get(o.conversationId)??new Map;f.set(c,l),Je.set(o.conversationId,f),$(b.value,o)&&(z$1.value=Object.freeze(z$1.value.map(P=>P.userId===c?Object.freeze({...P,nickname:l}):P)));}function oa$1(o,i){tt(o.conversationId,i);}function co(o,i){let t=i.trim();if(t===""||(tt(o.conversationId,t),Zt(yn,o.conversationId,t),!$(b.value,o)))return;let c=z$1.value.filter(f=>f.userId!==t),l=c.length!==z$1.value.length;l&&(z$1.value=Object.freeze(c),cr(o)),l&&I.value!==null&&I.value.memberCount!==void 0&&(I.value=Object.freeze({...I.value,memberCount:Math.max(0,I.value.memberCount-1)}));}function lo(o,i){tt(o.conversationId,i),Tt(yn,o.conversationId,i);}function aa(o,i){return er(yn,o.conversationId,i)}function uo(o){yn.delete(o.conversationId),Je.delete(o.conversationId);}function ia(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,name:i}));}function sa$1(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,description:i}));}function ca(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,avatar:i}));}function la$1(o,i,t){if(!$(k.value,o)||T.value===null)return;let{inviteCode:c,...l}=T.value;T.value=Object.freeze({...l,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function fo(o,i){if(!$(k.value,o)||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 mo(o,i,t,c){let l=i.trim();if(l==="")return;let f=t.trim(),P=f||c?.trim()||l,F=qe.get(o.conversationId)??new Map;F.set(l,{nickname:f,displayName:P}),qe.set(o.conversationId,F),On.value+=1,$(O.value,o)&&(A$1.value=d(o.conversationId,A$1.value)),Hn(o,l)&&(U.value=d(o.conversationId,U.value===null?[]:[U.value])[0]??null),$(de.value,o)&&(he.value=Object.freeze(he.value.map(L=>L.userId===l?Object.freeze({...L,displayName:P}):L)));}function Kn(o,i,t){let c=i.trim();if(c==="")return;let l=ln.get(o.conversationId)??new Map;l.set(c,t),ln.set(o.conversationId,l),$(O.value,o)&&(A$1.value=d(o.conversationId,A$1.value)),Hn(o,c)&&(U.value=d(o.conversationId,U.value===null?[]:[U.value])[0]??null);}function ua(o,i){v(o.conversationId,i);}function Oc(o,i){return On.value,qe.get(o.conversationId)?.get(i.trim())?.nickname}function po(o,i){let t=i.trim();if(t==="")return;let c=$(O.value,o),l=$(de.value,o);if(v(o.conversationId,t),M(o.conversationId,t),Zt(Ae,o.conversationId,t),!c&&!l)return;let f=c&&A$1.value.some(F=>F.userId===t),P=l&&he.value.some(F=>F.userId===t);c&&(A$1.value=Object.freeze(A$1.value.filter(F=>F.userId!==t))),l&&(he.value=Object.freeze(he.value.filter(F=>F.userId!==t))),Hn(o,t)&&(U.value=null),(f||P)&&$(k.value,o)&&T.value?.memberCount!==void 0&&(T.value=Object.freeze({...T.value,memberCount:Math.max(0,T.value.memberCount-1)}));}function vo(o,i){v(o.conversationId,i),M(o.conversationId,i),Tt(Ae,o.conversationId,i);}function go(o,i){return er(Ae,o.conversationId,i)}function fr(o){Ae.delete(o.conversationId),ln.delete(o.conversationId),qe.delete(o.conversationId)&&(On.value+=1);}function Rn(o,i,t){return !K&&n.getGeneration()===i&&Cn===t&&$(O.value,o)}function Hn(o,i,t,c){let l=Ce.value;return !K&&(t===void 0||n.getGeneration()===t)&&(c===void 0||Yn===c)&&l!==null&&$(l,o)&&l.userId===i}function Io(o,i){let t=i.trim();if(t!==""){if($(O.value,o)){let c=A$1.value.find(l=>l.userId===t);if(c!==void 0)return c}return Hn(o,t)?U.value??void 0:void 0}}async function Mc(o,i,t={forceRefresh:true}){let c=Ie(o),l=i.trim();if(l==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Yn,P=n.getGeneration();Ce.value=Object.freeze({...c,userId:l}),U.value=null,ee.value=true,ge.value=null;try{let F=await ws(n,c,l,{forceRefresh:t.forceRefresh!==!1});return Hn(c,l,P,f)?F===null||go(c,l)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(U.value=d(c.conversationId,[F])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(F){if(!Hn(c,l,P,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let L=Be(F,"profile.channel-member",c);return ge.value=L,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:L})}finally{Hn(c,l,P,f)&&(ee.value=false);}}async function ho(o,i,t){Z.value=true,be.value=null;try{let c=await xs(n,o,q.value);return Rn(o,i,t)?(m(o.conversationId,c.items),y$1(o.conversationId,c.items),A$1.value=d(o.conversationId,nn(Ae,o.conversationId,c.items)),Ze=c.nextCursor,me.value=c.exhausted||c.nextCursor===void 0,pn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(c){if(!Rn(o,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let l=Be(c,"profile.channel-members.refresh",o);return pn="initial",be.value=l,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:l})}}async function da(o){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Ie(o),t=Cn,c=n.getGeneration();Z.value=true,be.value=null;try{let l=await Uo(n,i,q.value);return Rn(i,c,t)?(l!==null&&(A$1.value=d(i.conversationId,nn(Ae,i.conversationId,l.items)),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0),await ho(i,c,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Rn(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Be(l,"profile.channel-members.cache",i);return pn="initial",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function fa(o){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(me.value||Ze===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Ie(o),t=Cn,c=n.getGeneration();Z.value=true,be.value=null;try{let l=await js(n,i,{query:q.value,cursor:Ze});return Rn(i,c,t)?(m(i.conversationId,l.items),y$1(i.conversationId,l.items),A$1.value=d(i.conversationId,nn(Ae,i.conversationId,ta(A$1.value,l.items))),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0,pn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Rn(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Be(l,"profile.channel-members.page",i);return pn="more",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Nn(o=null){en!==void 0&&(clearTimeout(en),en=void 0),Cn+=1,O.value=o===null?null:Ie(o),A$1.value=[],q.value="",Z.value=false,me.value=false,be.value=null,Ze=void 0,pn=void 0;}function yo(o,i={}){let t=Ie(o);if(i.preserveExisting===true&&$(O.value,t)){en!==void 0&&(clearTimeout(en),en=void 0);let c=++Cn,l=n.getGeneration();return be.value=null,ho(t,l,c)}return Nn(t),da(t)}function Sc(o){let i=O.value;if(i===null)return;q.value=o,Cn+=1,A$1.value=[],me.value=false,be.value=null,Ze=void 0,Z.value=false,en!==void 0&&clearTimeout(en);let t=Cn,c=n.getGeneration();(async()=>{try{let l=await Uo(n,i,q.value);if(!Rn(i,c,t))return;l!==null&&(A$1.value=d(i.conversationId,nn(Ae,i.conversationId,l.items)),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0);}catch(l){if(!Rn(i,c,t))return;be.value=Be(l,"profile.channel-members.cache",i);}Rn(i,c,t)&&(en=setTimeout(()=>{en=void 0,ho(i,c,t);},300));})();}function Tc(){let o=O.value;return o===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):fa(o)}function Ec(){let o=O.value;return o===null||pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):pn==="more"?fa(o):da(o)}function xn(o,i,t){return !K&&n.getGeneration()===i&&un===t&&$(de.value,o)}async function Dt(o,i={}){if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Ie(o),c=un,l=n.getGeneration();Me.value=true,w$1.value=null;try{let f=i.useCache===!1?null:await $o(n,t,Pe.value||void 0);if(!xn(t,l,c))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(he.value=rt(t.conversationId,nn(Ae,t.conversationId,f.items)),dn=f.nextPageToken,je.value=f.exhausted||f.nextPageToken===void 0);let P=await As(n,t,Pe.value||void 0);return xn(t,l,c)?(he.value=rt(t.conversationId,nn(Ae,t.conversationId,P.items)),dn=P.nextPageToken,je.value=P.exhausted||P.nextPageToken===void 0,fn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!xn(t,l,c))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let P=Be(f,"profile.channel-mentions",t);return fn="initial",w$1.value=P,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:P})}}async function ma$1(){let o=de.value,i=dn;if(o===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(je.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=un,c=n.getGeneration();Me.value=true,w$1.value=null;try{let l=await zs(n,Pe.value,i);return xn(o,c,t)?(he.value=rt(o.conversationId,nn(Ae,o.conversationId,ta(he.value,l.items))),dn=l.nextPageToken,je.value=l.exhausted||l.nextPageToken===void 0,fn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(l){if(!xn(o,c,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Be(l,"profile.channel-mentions.page",o);return fn="more",w$1.value=f,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function mr(o=null,i=""){We!==void 0&&(clearTimeout(We),We=void 0),un+=1,de.value=o===null?null:Ie(o),he.value=[],Pe.value=i,Me.value=false,je.value=false,w$1.value=null,dn=void 0,fn=void 0;}function jc(o,i=""){return $(de.value,o)&&Pe.value===i?(We!==void 0&&(clearTimeout(We),We=void 0),un+=1,Me.value=false,w$1.value=null,dn=void 0,fn=void 0,Dt(o,{useCache:false})):(mr(o,i),Dt(o))}function wc(o){let i=de.value;if(i===null)return;mr(i,o);let t=un,c=n.getGeneration();(async()=>{try{let l=await $o(n,i,o||void 0);if(!xn(i,c,t))return;l!==null&&(he.value=rt(i.conversationId,nn(Ae,i.conversationId,l.items)),dn=l.nextPageToken,je.value=l.exhausted||l.nextPageToken===void 0);}catch(l){if(!xn(i,c,t))return;w$1.value=Be(l,"profile.channel-mentions.cache",i);}xn(i,c,t)&&(We=setTimeout(()=>{We=void 0,Dt(i);},300));})();}function xc(){let o=de.value;return o===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(We!==void 0&&(clearTimeout(We),We=void 0),un+=1,Me.value=false,w$1.value=null,dn=void 0,je.value=false,fn=void 0,Dt(o,{useCache:false}))}function Ac(){let o=de.value;return o===null||fn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):fn==="more"?ma$1():Dt(o)}function bo(o){$(b.value,o)&&(et(o,{forceRefresh:true}),ct(o,{forceRefresh:true,preserveExisting:true}));}function pr(o){$(O.value,o)&&yo(o,{preserveExisting:true});}async function pa$1(o){if(!$(k.value,o))return;(await Gt(o,{forceRefresh:true})).ok&&T.value?.canViewMembers===true&&pr(o);}function zc(o){if(o.type==="profile:updated"){if(o.profileType==="user")Mt(o.id,{forceRefresh:true}),u.value?.conversationId===o.id&&J({conversationType:"direct",conversationId:o.id},{forceRefresh:true});else {let L={conversationType:"group",conversationId:o.id};if($e(L)||sr(L)){te.add(L.conversationId);return}$(b.value,L)?zt(L,{includeMembers:true,forceRefresh:true}):et(L,{forceRefresh:true});}return}if(o.type==="channel-profile:updated"){let L={conversationType:"channel",conversationId:o.channelId};rr(L)||lr(L)?kn.add(L.conversationId):pa$1(L);return}if(o.type==="sync:complete"){for(let L of o.conversations)if(L.conversationType==="group"){let ke={conversationType:"group",conversationId:L.conversationId};$(b.value,ke)&&bo(ke);}else if(L.conversationType==="channel"){let ke={conversationType:"channel",conversationId:L.conversationId};($(k.value,ke)||$(O.value,ke)||$(de.value,ke))&&(Tn(ke),pr(ke));}return}if(o.type!=="message:received"&&o.type!=="message:updated")return;let i=o.message,t=i.body.system?.eventType;if(t===void 0)return;let c=i.body.system?.targetUserIds??[],l=n.getCredentials().userId;if(i.conversationType==="group"&&Mu.has(t)){let L={conversationType:"group",conversationId:i.conversationId},ke=(o.source??"live")==="live",rn=t==="group_member_renamed"&&c.some(An=>An.trim()===l)&&$e(L,"set-my-nickname"),Fc=t==="group_member_renamed"&&!rn;if(t==="group_member_renamed"){rn||pa(n,i);for(let An of c)rn&&An.trim()===l||oa$1(L,An);}if(t==="group_member_joined"||t==="group_member_invited")for(let An of c)lo(L,An);if(ke&&(t==="group_member_left"||t==="group_member_removed"))for(let An of c)co(L,An);if(sr(L)){pe.add(L.conversationId);return}ke&&!rn&&(Fc?$(b.value,L)&&ct(L,{forceRefresh:true,preserveExisting:true}):bo(L));return}let f=(o.source??"live")==="live"||o.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Su.has(t)||!f)return;let P={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&c.some(L=>rr(P,L.trim()===l?"set-my-nickname":"set-member-nickname",L)))){if(t==="channel_member_renamed")for(let L of c)ua(P,L);if(t==="channel_admin_added"||t==="channel_admin_removed"){let L=t==="channel_admin_added"?"admin":"member";for(let ke of c)Kn(P,ke,L);}if(t==="channel_owner_transferred"){for(let ke of c)Kn(P,ke,"owner");let L=i.body.system?.operatorId;L!==void 0&&!c.includes(L)&&Kn(P,L,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let L of c)vo(P,L);if(t==="channel_member_left"||t==="channel_member_removed")for(let L of c)po(P,L);if(lr(P)){lc(P,Ds.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0,c);return}Ds.has(t)?Tn(P,c):nt(P,c),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0&&St(P,c,{forceRefresh:true}),pr(P);}}let Gc=n.subscribeProfileChange(()=>{a.value+=1;}),Dc=n.subscribeEvents(zc);function va(){C["set-remark"]+=1,C.block+=1,C.report+=1,C["delete-friendship"]+=1,se.direct+=1,u.value=null,p.value=null,h.value="unknown",j.value=false,D.value=null,ze+=1,G.value=[],W.value=false,V.value=null;}function ga(){for(let o of Object.keys(g))g[o]+=1;for(let o of Object.keys(E))E[o]+=1;ne.clear(),Re.clear(),X.clear(),te.clear(),pe.clear(),se.group+=1,sn+=1,b.value=null,I.value=null,z$1.value=[],N.value=false,B.value=false,oe.value=null;}function vr(){for(let o of Object.keys(gn))gn[o]+=1;on.clear(),In.clear(),Ke.clear(),we.clear(),kn.clear(),hn.clear(),se.channel+=1,k.value=null,T.value=null,Q.value=false,H.value=null,Yn+=1,Ce.value=null,U.value=null,ee.value=false,ge.value=null,Nn(),mr();}function Ia(){va(),C["search-user"]+=1,C["resolve-application-target"]+=1,C["request-friendship"]+=1,ga(),vr(),an.clear();for(let o of ["individual","group","channel"])Zn[o]+=1,Object.assign(le[o],$r());_n.clear(),so(),yn.clear(),Ue.clear(),Ae.clear(),cn.clear(),Je.clear(),ln.clear(),ue.clear(),s.value={},qe.size>0&&(qe.clear(),On.value+=1);}function _c(){K||(Ia(),K=true,ne.clear(),Re.clear(),X.clear(),Ke.clear(),we.clear(),on.clear(),In.clear(),Gc(),Dc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:a,directRef:u,directProfile:p,directRelationship:h,directLoading:j,directError:D,directMutualGroups:G,directMutualGroupsLoading:W,directMutualGroupsError:V,groupRef:b,groupProfile:I,groupMembers:z$1,groupLoading:N,groupMembersLoading:B,groupError:oe,channelRef:k,channelProfile:T,channelLoading:Q,channelError:H,directories:le,directorySearchKeyword:ye,directorySearchResult:_,directorySearchLoading:x$1,directorySearchError:R,channelMembersRef:O,channelMembers:A$1,channelMemberQuery:q,channelMembersLoading:Z,channelMembersExhausted:me,channelMembersError:be,channelMemberDetailRef:Ce,channelMemberDetail:U,channelMemberDetailLoading:ee,channelMemberDetailError:ge,channelMentionsRef:de,channelMentions:he,channelMentionQuery:Pe,channelMentionsLoading:Me,channelMentionsExhausted:je,channelMentionsError:w$1,resolveDisplayName:Yt,resolveAvatarUrl:to,resolvePublicNickname:ro,resolveSenderProfile:Mt,resolveGroupMemberProfiles:et,resolveChannelMemberProfiles:St,invalidateChannelMemberProfiles:nt,invalidateChannelMemberSet:Tn,channelMentionRevision:no,loadDirect:J,resolveProfileAccess:ae,loadDirectMutualGroups:Y,setDirectContactRemark:Fe,blockDirectContact:Ge,reportDirectContact:Se,deleteDirectFriendship:He,searchDirectContact:Qe,resolveDirectContactTarget:ot,requestDirectFriendship:Et,loadGroup:zt,updateGroupName:En,updateGroupAvatar:jn,setMyGroupNickname:oo,updateGroupVerification:tr,isGroupProfileWritePending:$e,inviteGroupMembers:nc,removeGroupMember:tc,transferGroupOwnership:rc,leaveGroup:oc,isGroupMemberManagementPending:sr,ensureGroupMembers:ct,loadChannel:Gt,requestMembershipJoin:Ic,updateChannelName:qs,updateChannelDescription:$s,updateChannelAvatar:Vs,setMyChannelNickname:Bs,setChannelMemberNickname:Ws,updateChannelVerification:Js,setChannelAllMuted:Qs,setChannelMemberPrivateChatDisabled:Xs,isChannelProfileWritePending:rr,inviteChannelMembers:dc,removeChannelMember:fc,setChannelMemberAdmin:mc,transferChannelOwnership:pc,leaveChannel:vc,dismissChannel:gc,isChannelMemberManagementPending:lr,loadDirectory:hc,refreshDirectory:yc,searchDirectory:Cc,clearDirectorySearch:so,openChannelMembers:yo,getChannelMember:Io,loadChannelMember:Mc,setChannelMemberQuery:Sc,loadMoreChannelMembers:Tc,retryChannelMembers:Ec,resetChannelMembers:Nn,updateGroupMemberNicknameProjection:ra$1,clearGroupMemberNicknameProjection:oa$1,removeGroupMemberProjection:co,restoreGroupMemberProjection:lo,isGroupMemberRemovedProjection:aa,clearGroupMemberProjections:uo,updateChannelNameProjection:ia,updateChannelDescriptionProjection:sa$1,updateChannelAvatarProjection:ca,updateChannelVerificationProjection:la$1,updateChannelManagementProjection:fo,updateChannelMemberDisplayNameProjection:mo,updateChannelMemberRoleProjection:Kn,clearChannelMemberDisplayNameProjection:ua,channelMemberNicknameProjection:Oc,removeChannelMemberProjection:po,restoreChannelMemberProjection:vo,isChannelMemberRemovedProjection:go,clearChannelMemberProjections:fr,openChannelMentions:jc,setChannelMentionQuery:wc,loadMoreChannelMentions:ma$1,refreshChannelMentions:xc,retryChannelMentions:Ac,resetChannelMentions:mr,resetDirect:va,resetGroup:ga,resetChannel:vr,reset:Ia,dispose:_c}})}var _s=new WeakMap,Vr=new WeakMap;function ju(e=Oe()){ve(e);let n=_s.get(e);n===void 0&&(n=Eu(e),_s.set(e,n));let r=n(e);return Vr.get(e)!==r&&(Vr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Vr.get(e)===r&&Vr.delete(e);})),r}var Jr=new WeakMap;function Br(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Gu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Du(e,n){return Gu(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 _u(e){return defineStore("k2-im-reaction",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref([]),u=shallowRef(null),p=false,h=0,j=new Map;function D(){h+=1,j.clear(),s.value=[],u.value=null;}let G=watch(()=>Br(a.activeRef),(k,T)=>{k!==T&&D();},{flush:"sync"});function W(k,T){let Q=a.activeRef,H=a.getHandle(),le=Br(Q);if(p||Q===null||H===void 0||Br(H.ref)!==le||!a.messages.some(_=>_.id===k))return Object.freeze({ok:false,operation:T,reason:"not-ready"});if(j.has(k))return Object.freeze({ok:false,operation:T,reason:"busy"});let ye=Symbol(k);return j.set(k,ye),s.value=Object.freeze([...j.keys()]),{generation:n.getGeneration(),contextEpoch:h,handle:H,conversationKey:le,token:ye}}function V(k){return !p&&k.contextEpoch===h&&k.generation===n.getGeneration()&&a.getHandle()===k.handle&&Br(a.activeRef)===k.conversationKey}function b(k,T){j.get(k)===T&&(j.delete(k),s.value=Object.freeze([...j.keys()]));}async function I(k,T,Q){let H=W(k,T);if(!("handle"in H))return H;try{let le=await Q(H.handle);return V(H)?(u.value=null,r.record("debug","pinia","message",`reaction-${T}-settled`,()=>({generation:H.generation,conversation:{...H.handle.ref},messageId:k,result:{ok:!0,action:le.action}})),Object.freeze({ok:!0,operation:T,change:le})):Object.freeze({ok:!1,operation:T,reason:"stale"})}catch(le){if(!V(H))return Object.freeze({ok:false,operation:T,reason:"stale"});let ye=Du(le,T);return u.value=ye,r.record("error","pinia","message",`reaction-${T}-settled`,()=>({generation:H.generation,conversation:{...H.handle.ref},messageId:k,result:{ok:false,reason:"sdk-rejected",error:ye}})),Object.freeze({ok:false,operation:T,reason:"sdk-rejected",error:ye})}finally{b(k,H.token);}}function z(k,T){return I(k,"toggle",Q=>Q.messages.toggleReaction(k,T))}function N(k,T,Q){return I(k,"set",H=>H.messages.setReaction(k,T,Q))}function B(){D();}function oe(){p||(p=true,G(),D());}return Jr.set(e,Object.freeze({dispose:oe})),{operatingMessageIds:s,error:u,toggle:z,set:N,reset:B}})}var Fs=new WeakMap,Wr=new WeakMap;function Fu(e=Oe()){ve(e);let n=Fs.get(e);n===void 0&&(n=_u(e),Fs.set(e,n));let r=n(e),a=Jr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Wr.get(e)!==r&&(Wr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Wr.get(e)===r&&(Wr.delete(e),Jr.get(e)===a&&Jr.delete(e));})),r}function Hu(e){return defineStore("k2-im-session",()=>{let n=ve(e).runtime,r=ref(""),a=ref(n.getConnectionState()),s=ref(n.getGeneration()),u=ref("idle"),p=ref(""),h=ref({}),j=false,D=0,G="",W=n.getDiagnostics(),V=n.subscribeEvents(H=>{j||H.type==="connection:changed"&&(a.value=H.state,H.state==="authenticated"&&(u.value="ready"));});function b(H,le){return !j&&H===D&&n.getGeneration()===le}function I(H){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(H);}function z(H){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let le=H.session===null?"":`${H.session.userId}\0${H.session.token}`;le!==G&&(D+=1,G=le);let ye=n.applySession(H.session,H.endpoints,H.deviceToken);return r.value=H.session?.userId??"",s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value=a.value==="authenticated"?"ready":"idle",p.value="",h.value={},W.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:ye.hasToken,didReset:ye.didReset}})),ye}async function N(H,le,ye){if(j)return {ok:false,errorKey:"lifecycle.disposed"};let _=++D,x=n.getGeneration(),R=Date.now();u.value=H,p.value="",h.value={},W.record("info","pinia",le==="prepare"?"session":"connection",`${le}-start`,()=>({generation:x}));let O=await ye();return b(_,x)?(s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value=O.ok?a.value==="authenticated"?"ready":"idle":"error",p.value=O.errorKey??"",h.value=O.errorParams??{},W.record(O.ok?"info":"error","pinia",le==="prepare"?"session":"connection",`${le}-${O.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-R,...O.ok?{}:{error:{message:O.errorKey??`${le}-failed`,data:O.errorParams}}})),O):(W.record("debug","pinia","session",`${le}-stale-result-dropped`,()=>({generation:x,durationMs:Date.now()-R})),O)}function B(){return N("preparing","prepare",()=>n.prepare())}function oe(){return N("connecting","connect",()=>n.connect())}function k(){j||(D+=1,n.disconnect(),a.value=n.getConnectionState(),u.value="idle");}async function T(H){if(j)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");D+=1;try{await n.logout(H);}finally{r.value="",G="",s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value="idle",p.value="",h.value={};}}function Q(){j||(j=true,D+=1,V(),r.value="",a.value="idle",s.value=n.getGeneration(),u.value="disposed",p.value="",h.value={});}return {accountId:r,connectionState:a,generation:s,phase:u,errorKey:p,errorParams:h,configureHost:I,applySession:z,prepare:B,connect:oe,disconnect:k,logout:T,dispose:Q,getRuntime:()=>n}})}var Ks=new WeakMap,Qr=new WeakMap;function Nu(e=Oe()){ve(e);let n=Ks.get(e);n===void 0&&(n=Hu(e),Ks.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}function Yr(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Us(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Jt(e,n){return `${Us(e)}\0${n}`}function Ot(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Ns(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function Uu(e){return defineStore("k2-im-thread-paging",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=Pn(e),u=ref(false),p=ref(false),h=ref(null),j=ref(null),D=false,G="",W="",V=0,b=()=>({ref:a.activeRef,generation:n.getGeneration(),olderBoundary:Ot(a.messages,"older"),newerBoundary:Ot(a.messages,"newer")}),I=(_,x)=>{let R=b();return !D&&x===V&&_.generation===R.generation&&Yr(_.ref,R.ref)&&_.ref!==null},z=_=>{(_===void 0||_==="older")&&(G="",h.value=null),(_===void 0||_==="newer")&&(W="",j.value=null);},N=()=>{V+=1,u.value=false,p.value=false,z();},B=async(_,x)=>{let R=b(),O=_==="older"?G:W,A=_==="older"?a.hasOlder:a.hasNewer;if(R.ref===null||!A||(_==="older"?u.value:p.value))return 0;let q=R.ref,Z=_==="older"?R.olderBoundary:R.newerBoundary,me=Jt(q,Z);if(_==="older"?p.value:u.value)return 0;if(!x&&O!==""&&O===me)return r.record("debug","pinia","history",`thread-paging-${_}-circuit-open`,()=>({conversation:q,data:{boundary:Z}})),0;x&&(z(_),r.record("debug","pinia","history",`thread-paging-${_}-retry`,()=>({conversation:q})));let be=new Set(a.messages.map(U=>U.id)),Ce=++V;_==="older"?u.value=true:p.value=true,r.record("debug","pinia","history",`thread-paging-${_}-start`,()=>({conversation:q,generation:R.generation,data:{boundary:Z,force:x}}));try{let U=_==="older"?await a.loadOlder():await a.loadNewer();if(!I(R,Ce))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:q,generation:R.generation,data:{side:_}})),0;if(!U)return 0;z(_);let ee=a.messages.reduce((ge,de)=>ge+ +!be.has(de.id),0);return r.record("debug","pinia","history",`thread-paging-${_}-success`,()=>({conversation:q,generation:R.generation,data:{added:ee}})),ee}catch(U){if(!I(R,Ce))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:q,generation:R.generation,data:{side:_,outcome:"failed"}})),0;throw Ot(a.messages,_)===Z&&(_==="older"?(G=me,h.value=U):(W=me,j.value=U),r.record("warn","pinia","history",`thread-paging-${_}-failed`,()=>({conversation:q,generation:R.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${_} \u5206\u9875\u5931\u8D25`,data:Ns(U)}}))),U}finally{Ce===V&&(_==="older"?u.value=false:p.value=false);}},oe=(_={})=>B("older",_.force===true),k=(_={})=>B("newer",_.force===true),T=async _=>{if(_!==void 0&&!Yr(a.activeRef,_))return false;s.clearLocation(),N();let x=b();if(x.ref===null)return false;let R=x.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:R})),!a.hasNewer)return true;let O;try{O=await a.loadLatest();}catch(A){if(Yr(a.activeRef,R)&&n.getGeneration()===x.generation){let q=Ot(a.messages,"newer");W=Jt(R,q),j.value=A,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:R,generation:x.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Ns(A)}}));}throw A}return !Yr(a.activeRef,R)||n.getGeneration()!==x.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:R})),false):(z("newer"),O)},Q=watch(()=>Us(a.activeRef),()=>N(),{flush:"sync"}),H=watch(()=>`${Jt(a.activeRef,Ot(a.messages,"older"))}\0${Ot(a.messages,"newer")}`,()=>{let _=b(),x=Jt(_.ref,_.olderBoundary),R=Jt(_.ref,_.newerBoundary);G!==""&&G!==x&&z("older"),W!==""&&W!==R&&z("newer");},{flush:"sync"}),le=a.$onAction(({name:_})=>{(_==="loadLatest"||_==="loadAround"||_==="open"||_==="close"||_==="reset")&&N();});return {loadingOlder:u,loadingNewer:p,olderError:h,newerError:j,loadOlder:oe,loadNewer:k,retryOlder:()=>oe({force:true}),retryNewer:()=>k({force:true}),jumpToLatest:T,reset:N,dispose:()=>{D||(D=true,Q(),H(),le(),N());}}})}var Ls=new WeakMap,Zr=new WeakMap;function qu(e=Oe()){ve(e);let n=Ls.get(e);n===void 0&&(n=Uu(e),Ls.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}function $u(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Vu(e=Oe()){let n=De(e),r=Pn(e);return Object.freeze({async returnToLatest(a){return $u(n.activeRef,a)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{br as applicationKey,Hc as createAndInstallImChatKit,Za as createImChatKitContext,Lc as disposeImChatKit,Nc as ensureImChatKitSelfProfile,ve as getImChatKitContext,ei as installImChatKit,Wc as useImApplicationsStore,ul as useImCapabilitiesStore,qn as useImComposerStore,ml as useImConversationActivationCoordinator,Tl as useImConversationDeletionCoordinator,xo as useImConversationListStore,Fl as useImExpressionStore,Ll as useImHistoryReturnAfterSendCoordinator,Jl as useImMediaStore,Nt as useImMessageOperationsStore,ju as useImProfileDirectoryStore,Fu as useImReactionStore,Pn as useImSearchStore,Nu as useImSessionStore,qu as useImThreadPagingStore,Vu as useImThreadReturnToLatestCoordinator,De as useImThreadStore};
|
|
1
|
+
import {r,ta,ja,v,ia,ha,ga,ea,da,ca,ba,$ as $$1,G,H,F,Ba,d,pa,sa,ra,la,oa,na,ma,A,y,z,x,w,Aa,za,ya,xa,wa,va,c,b,k,h,qa}from'./chunk-EBM5MOQO.js';import'./chunk-CVBX4JM4.js';import'./chunk-K3DSNX5G.js';import {ba as ba$1,_}from'./chunk-AFW5LCKV.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {ref,shallowRef,computed,watch,reactive,nextTick}from'vue';function Hc(e,n,r$1={}){let a=r(n);try{return ei(e,Za({runtime:a,...r$1}))}catch(s){throw a.dispose(),s}}function Nc(e){ta(ve(e).runtime);}var Un=new WeakMap;function Oe(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 Za(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function ei(e,n){let r=Un.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 a={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!a.disposed){a.disposed=true;for(let u of [...a.storeDisposers])u();a.storeDisposers.clear(),n.runtime.dispose(),Un.get(e)===a&&Un.delete(e);}}});return a.installation=s,Un.set(e,a),s}function ve(e){let n=Un.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=Un.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 Lc(e){Un.get(e)?.installation.dispose();}function br(e){return `${e.domain}:${e.applicationId}`}function qc(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 $c(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function hr(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&&$c(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 Vc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Bc(e){return defineStore("k2-im-applications",()=>{let n=ve(e).runtime,r=ref([]),a=ref(false),s=shallowRef(null),u=ref({}),p=shallowRef({}),h=computed(()=>r.value.length),w=computed(()=>{let O=0,A=0,q=0;for(let Z of r.value)Z.ref.domain==="contact"?O+=1:Z.ref.domain==="group"?A+=1:q+=1;return Object.freeze({contact:O,group:A,channel:q})}),D=false,G=0,W=0,V=0,b=false,I=0,z=new Map;function N(){G+=1,W+=1,V+=1,I+=1,b=false,z.clear(),r.value=[],a.value=false,s.value=null,u.value={},p.value={};}function B(O){return {client:O,generation:n.getGeneration(),stateEpoch:G}}function oe(O){return !D&&O.client===n.getProductClient()&&O.generation===n.getGeneration()&&O.stateEpoch===G}async function k(){if(D)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let O=++W,A;try{A=B(n.ensureProductClient());}catch(q){let Z=hr(q,"reload");return s.value=Z,a.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}a.value=true,s.value=null;try{let q=await A.client.applications.listPending();return O!==W||!oe(A)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...q]),Object.freeze({ok:!0,operation:"reload"}))}catch(q){if(O!==W||!oe(A))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Z=hr(q,"reload");return s.value=Z,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}finally{O===W&&oe(A)&&(a.value=false);}}function T(){if(D||b)return;b=true;let O=G,A=++I;queueMicrotask(()=>{A===I&&(b=false,!(D||O!==G)&&k());});}function Q(O){(O.type==="contact-application:received"||O.type==="channel-join-application:received"||O.type==="application:updated")&&T();}let H=n.subscribeProductEvents(Q);async function ue(O,A){let q=qc(O),Z=br(q);if(D)return Object.freeze({ok:false,operation:A,reason:"stale",application:q});let me=++V;z.set(Z,me),u.value={...u.value,[Z]:A};let{[Z]:be,...Ce}=p.value;p.value=Ce;let U;try{U=B(n.ensureProductClient());}catch(ge){let fe=hr(ge,A);p.value={...p.value,[Z]:fe};let{[Z]:he,...Pe}=u.value;return u.value=Pe,z.delete(Z),Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:fe})}let ee=()=>oe(U)&&z.get(Z)===me;try{return await U.client.applications[A](q),ee()?(W+=1,a.value=!1,r.value=Object.freeze(r.value.filter(ge=>br(ge.ref)!==Z)),Object.freeze({ok:!0,operation:A,application:q})):Object.freeze({ok:!1,operation:A,reason:"stale",application:q})}catch(ge){if(!ee())return Object.freeze({ok:false,operation:A,reason:"stale",application:q});let fe=hr(ge,A);return Vc(fe)?(W+=1,a.value=false,r.value=Object.freeze(r.value.filter(he=>br(he.ref)!==Z)),Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:fe})):(p.value={...p.value,[Z]:fe},Object.freeze({ok:false,operation:A,reason:"failed",application:q,error:fe}))}finally{if(ee()){z.delete(Z);let{[Z]:ge,...fe}=u.value;u.value=fe;}}}function ye(O){return ue(O,"accept")}function _(O){return ue(O,"ignore")}function x(){D||N();}function R(){D||(D=true,H(),N());}return {items:r,loading:a,error:s,processingKeys:u,itemErrors:p,pendingCount:h,domainCounts:w,reload:k,accept:ye,ignore:_,reset:x,dispose:R}})}var ri=new WeakMap,yr=new WeakMap;function Wc(e=Oe()){ve(e);let n=ri.get(e);n===void 0&&(n=Bc(e),ri.set(e,n));let r=n(e);return yr.get(e)!==r&&(yr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),yr.get(e)===r&&yr.delete(e);})),r}function ii(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qc(e,n){return e.length===n.length&&e.every((r,a)=>r===n[a])}var oi=Object.freeze({state:"none"});function Xc(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:ii(r)}})}function Yc(e){return defineStore("k2-im-thread",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=shallowRef(null),s=shallowRef([]),u=shallowRef(oi),p=shallowRef(null),h=ref(false),w=ref(false),D=ref(false),G=ref(false),W=ref(false),V=shallowRef(null),b=ref(0),I=false,z=0,N=0,B,oe,k,T,Q=[],H=new Map,ue=new Set;function ye(){Q.length=0,b.value=0;}let _=n.subscribeEvents(g=>{if(I||g.type!=="message:received"||(g.source??"live")!=="live"||g.message.body.system?.timelineVisibility==="hidden")return;let j=a.value;j===null||g.message.conversationId!==j.conversationId||g.message.conversationType!==j.conversationType||g.message.senderId===n.getCredentials().userId||(Q.push(g.message.id),b.value+=1);});function x(g=null){ye(),a.value=g,s.value=[],u.value=oi,p.value=null,h.value=g!==null,w.value=false,D.value=false,G.value=false,W.value=false,V.value=null;}function R(g){if((H.get(g)??0)>0){ue.add(g);return}g.close();}function O(){T?.(),T=void 0;let g=k;k=void 0,g!==void 0&&R(g);}function A(g,j,X){let re=a.value;if(I||k!==g||n.getGeneration()!==X||re===null||j.ref.conversationId!==re.conversationId||j.ref.conversationType!==re.conversationType)return false;let ne=j.messages.filter(Re=>Re.body.system?.timelineVisibility!=="hidden");return Qc(s.value,ne)||(s.value=Object.freeze(ne)),u.value=j.entryUnread,p.value=j.draft,h.value=j.loading,w.value=true,D.value=j.stale,G.value=j.hasOlder,W.value=j.hasNewer,V.value=j.error??null,true}async function q(g){let j=n.ensureProductClient();return g.conversationType==="direct"?j.openConversation({conversationType:"direct",conversationId:g.conversationId},{initialPosition:"first-unread"}):g.conversationType==="group"?j.openConversation({conversationType:"group",conversationId:g.conversationId},{initialPosition:"first-unread"}):j.openConversation({conversationType:"channel",conversationId:g.conversationId},{initialPosition:"first-unread"})}async function Z(g){let j=n.ensureProductClient();if(j.conversations.list().find(re=>re.ref.conversationType===g.conversationType&&re.ref.conversationId===g.conversationId)?.manuallyUnread===true)try{await j.conversations.markRead(g);}catch(re){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:g,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:re}}));}}async function me(g){if(I)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");N+=1,B=void 0,oe=void 0;let j=ii(g),X=++z,re=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:re,conversation:j}));let ne;try{ne=await q(j);}catch(Re){throw !I&&X===z&&re===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:re,conversation:j,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Xc(Re,"thread.open",j)}})),Re}if(I||X!==z||re!==n.getGeneration()){ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:re,conversation:j}));return}if(await Z(j),I||X!==z||re!==n.getGeneration()){ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:re,conversation:j}));return}return O(),x(j),k=ne,T=ne.subscribe(Re=>A(ne,Re,re)),A(ne,ne.getSnapshot(),re),r.record("debug","pinia","history","thread-open-complete",()=>({generation:re,conversation:j})),ne}function be(){z+=1;}function Ce(g){if(I||k===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${g}`);return k}function U(g,j,X){return !I&&N===g&&k===j&&n.getGeneration()===X}async function ee(g,j){if(B!==void 0||oe!==void 0)return false;let X=Ce(g),re=n.getGeneration(),ne=++N;B=ne;try{return await j(X),U(ne,X,re)?(A(X,X.getSnapshot(),re),!0):!1}finally{B===ne&&(B=void 0);}}async function ge(g,j,X){let re=Ce(g),ne=n.getGeneration(),Re=++N;B=void 0,oe=Re;try{if(await j(re),!U(Re,re,ne))return !1;let te=re.getSnapshot();return X(te)?(A(re,te,ne),!0):!1}finally{oe===Re&&(oe=void 0);}}function fe(){return ge("loadLatest",g=>g.history.loadLatest(),g=>!g.hasNewer)}function he(){return ee("loadOlder",g=>g.history.loadOlder())}function Pe(){return ee("loadNewer",g=>g.history.loadNewer())}function Me(g){return ge("loadAround",j=>j.history.loadAround(g),j=>j.messages.some(X=>X.id===g)).then(j=>j?s.value.some(X=>X.id===g):false)}function je(g){return Ce("resolveMessage").resolveMessage(g)}function E(g=Ce("retainHandle")){if(I)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");H.set(g,(H.get(g)??0)+1);let j=false;return ()=>{if(j)return;j=true;let X=(H.get(g)??1)-1;if(X>0){H.set(g,X);return}H.delete(g),ue.delete(g)&&g.close();}}function F(){return E()}function de(){z+=1,N+=1,B=void 0,oe=void 0,O(),x();}function le(g){let j=a.value;return j===null||j.conversationType!==g.conversationType||j.conversationId!==g.conversationId?false:(N+=1,B=void 0,oe=void 0,O(),x(),true)}function se(){z+=1,N+=1,B=void 0,oe=void 0,T?.(),T=void 0;let g=new Set([...k===void 0?[]:[k],...ue,...H.keys()]);k=void 0,ue.clear(),H.clear();for(let j of g)j.close();x();}function Ae(){I||(se(),I=true,_());}function C(){return Q.splice(0,Q.length)}return {activeRef:a,messages:s,entryUnread:u,draft:p,loading:h,ready:w,stale:D,hasOlder:G,hasNewer:W,error:V,activeRemoteMessageRevision:b,open:me,invalidatePendingOpen:be,loadLatest:fe,loadOlder:he,loadNewer:Pe,loadAround:Me,resolveMessage:je,retainHandle:E,retainCurrentHandle:F,close:de,closeActiveConversation:le,reset:se,dispose:Ae,drainActiveRemoteMessageIds:C,getHandle:()=>k}})}var ai=new WeakMap,Cr=new WeakMap;function De(e=Oe()){ve(e);let n=ai.get(e);n===void 0&&(n=Yc(e),ai.set(e,n));let r=n(e);return Cr.get(e)!==r&&(Cr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Cr.get(e)===r&&Cr.delete(e);})),r}var Mr=new WeakMap;function Eo(e){let n=Mr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function ut(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Or(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 ci(e){return e===null?null:Or({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function So(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function To(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,a)=>{let s=n.mentions?.[a];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function nl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Ft(e,n,r){return nl(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:ut(r)},cause:e})}function Pr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function tl(e){return defineStore("k2-im-composer",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=shallowRef(null),u=shallowRef(null),p=shallowRef(null),h=ref(false),w=ref(0),D=shallowRef(null),G=false,W=0,V=0,b=0,I,z=Promise.resolve(),N=Promise.resolve(),B=new Set,oe=new Map,k,T;function Q(){return a.getHandle()}function H(E,F){let de=a.activeRef;return !G&&Q()===E&&n.getGeneration()===F&&de!==null&&de.conversationId===E.ref.conversationId&&de.conversationType===E.ref.conversationType}function ue(E=Q()){if(E===void 0)return false;let F=n.getGeneration();return I?.handle===E&&I.generation===F||[...B].some(de=>de.handle===E&&de.generation===F)}async function ye(E=Q()){if(E===void 0)return;let F=n.getGeneration(),de=I?.handle===E&&I.generation===F?I:void 0;if(de===void 0){let C=[...B].filter(g=>g.handle===E&&g.generation===F).map(g=>g.promise);C.length>0?await Promise.all(C):await N;return}I=void 0;let se=z.then(async()=>{So(de.input)?await E.draft.clear():await E.draft.save(de.input);}),Ae={handle:E,generation:F,promise:se};B.add(Ae),N=se,z=se.catch(()=>{});try{await se,H(E,F)&&(D.value=null,w.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:F,conversation:ut(E.ref)})));}catch(C){throw H(E,F)&&(I===void 0&&b===de.version&&(I=de),D.value=Ft(C,"composer.draft",E.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:F,conversation:ut(E.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:D.value}}))),C}finally{B.delete(Ae);}}function _(E){let F=Q(),de=n.getGeneration();if(F===void 0||!H(F,de))return D.value=Ft(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let le=Or(E);return b+=1,s.value=So(le)?null:le,I={handle:F,generation:de,version:b,input:le},D.value=null,x(),So(le)&&ye(F).catch(()=>{}),true}async function x(){if(p.value!==null)return;let E=s.value?.replyToMessageId;if(E===void 0){V+=1,u.value=null;return}let F=Q();if(F===void 0){u.value=null;return}let de=a.messages.find(C=>C.id===E);if(de!==void 0){V+=1,u.value=de;return}let le=n.getGeneration(),se=++V,Ae=await F.resolveMessage(E).catch(()=>null);Ae===null&&se===V&&H(F,le)&&p.value===null&&s.value?.replyToMessageId===E&&(await F.history.loadAround(E).catch(()=>{}),se===V&&H(F,le)&&p.value===null&&s.value?.replyToMessageId===E&&(Ae=await F.resolveMessage(E).catch(()=>null))),!(se!==V||!H(F,le)||p.value!==null||s.value?.replyToMessageId!==E)&&(u.value=Ae);}function R(E){let F=Q();return F===void 0||!Pr(E,F)?false:(p.value=null,u.value=E,_({...s.value??{text:"",attachments:[]},replyToMessageId:E.id}))}function O(E){if(E!==void 0&&s.value?.replyToMessageId!==E)return;u.value=null;let F=s.value;if(F===null)return;let{replyToMessageId:de,...le}=F;_({...le});}function A(E){let F=Q();return F===void 0||!Pr(E,F)?false:(u.value=null,p.value=E,true)}function q(){p.value=null,x();}function Z(){V+=1,u.value=null,p.value=null;}function me(E,F){return !G&&n.getGeneration()===E&&W===F}function be(E){return [...oe.values()].some(F=>F.handle===E)}function Ce(E,F){return E!==null&&To(ci(E),F)}function U(E,F,de){!H(E,F)||s.value===null||!To(s.value,de)||(b+=1,I?.handle===E&&I.generation===F&&To(I.input,de)&&(I=void 0),s.value=null,V+=1,u.value=null);}async function ee(E){let F=[...B].filter(le=>le.handle===E.handle&&le.generation===E.generation).map(le=>le.promise.catch(()=>{}));if(F.length>0&&await Promise.all(F),!H(E.handle,E.generation))return;let de=await E.handle.draft.get();if(!Ce(de,E.input)){k?.token===E.token&&(k=void 0);return}k=E;try{await E.handle.draft.clear(),k?.token===E.token&&(k=void 0);}catch(le){if(H(E.handle,E.generation)){if(s.value===null&&I===void 0){let se={text:"",attachments:[]};b+=1,I={handle:E.handle,generation:E.generation,version:b,input:se};}D.value=Ft(le,"composer.draft",E.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:E.generation,conversation:ut(E.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:D.value}}));}}}function ge(E){if(!H(E.handle,E.generation)||s.value!==null)return;k=void 0;let F=Or(E.input);b+=1,s.value=F,I={handle:E.handle,generation:E.generation,version:b,input:F},x();}async function fe(E){let F=p.value,de=F===null?"send":"edit";if(F!==null&&T!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let le=Q(),se=n.getGeneration();if(le===void 0||!H(le,se))return Object.freeze({ok:false,operation:de,reason:"not-ready"});let Ae=E.text.trim();if(Ae==="")return Object.freeze({ok:false,operation:de,reason:"empty"});let C=W;if(F!==null&&!Pr(F,le))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let g=Symbol(de);F!==null&&(T=g),h.value=T!==void 0,D.value=null;let j=a.retainHandle(le),X;if(F===null){let re=Or(E);X={token:g,handle:le,generation:se,input:re},oe.set(g,X),U(le,se,re);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:se,operation:de,conversation:ut(le.ref),...F===null?{}:{messageId:F.id}}));try{if(F===null){if(!me(se,C)||!H(le,se))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let re=await le.messages.sendText(Ae,{...E.mentions===void 0?{}:{mentions:E.mentions},...E.replyToMessageId===void 0?{}:{replyToMessageId:E.replyToMessageId}});if(!me(se,C)||!H(le,se))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!re.ok)return X!==void 0&&ge(X),D.value=re.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:re.error});if(X!==void 0&&(await ee(X),!me(se,C)||!H(le,se)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await le.messages.editText(F.id,Ae,{...E.mentions===void 0?{}:{mentions:E.mentions}});}catch(re){if(!me(se,C)||!H(le,se))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let ne=Ft(re,"composer.edit",le.ref);return D.value=ne,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:ne})}if(!me(se,C)||!H(le,se))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});p.value===F&&q();}return D.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:se,operation:de,conversation:ut(le.ref)})),Object.freeze({ok:!0,operation:de})}catch(re){if(!me(se,C)||!H(le,se))return Object.freeze({ok:false,operation:de,reason:"stale"});X!==void 0&&ge(X);let ne=Ft(re,`composer.${de}`,le.ref);return D.value=ne,Object.freeze({ok:false,operation:de,reason:"sdk-rejected",error:ne})}finally{j(),oe.delete(g),T===g&&(T=void 0),h.value=T!==void 0,H(le,se)&&he();}}function he(){let E=Q();if(E===void 0)return;let F=k,de=F!==void 0&&F.handle===E&&F.generation===n.getGeneration()&&Ce(a.draft,F.input);F!==void 0&&!de&&(k=void 0),!ue(E)&&!be(E)&&!de&&(s.value=ci(a.draft)),p.value!==null&&!Pr(p.value,E)&&(p.value=null),x();}function Pe(){W+=1,V+=1,b+=1,I=void 0,oe.clear(),k=void 0,z=Promise.resolve(),N=Promise.resolve(),s.value=null,u.value=null,p.value=null,T=void 0,h.value=false,w.value=0,D.value=null;}let Me=watch(()=>({ref:a.activeRef===null?null:`${a.activeRef.conversationType}:${a.activeRef.conversationId}`,draft:a.draft,messages:a.messages}),(E,F)=>{if(E.ref!==F?.ref){Pe(),E.ref!==null&&he();return}he();},{immediate:true});function je(){G||(G=true,Me(),Pe());}return Mr.set(e,Object.freeze({suspendInteraction:Z,syncReplyTarget:x,dispose:je})),{input:s,replyTo:u,editingMessage:p,submitting:h,draftCommitVersion:w,error:D,updateDraft:_,flush:ye,hasPendingWork:ue,submitText:fe,setReplyTo:R,clearReplyTo:O,setEditing:A,clearEditing:q,reset:Pe}})}var li=new WeakMap,kr=new WeakMap;function qn(e=Oe()){ve(e);let n=li.get(e);n===void 0&&(n=tl(e),li.set(e,n));let r=n(e),a=Eo(e);return kr.get(e)!==r&&(kr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),kr.get(e)===r&&(kr.delete(e),Mr.get(e)===a&&Mr.delete(e));})),r}var Tr=new WeakMap;function Ht(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function di(e){return [...e]}function al(e){return defineStore("k2-im-message-operations",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=qn(e),u=Eo(e),p=shallowRef(null),h=ref(false),w=ref([]),D=ref(null),G=ref(false),W=ref([]),V=shallowRef(null),b=false,I=0,z=0,N=0;function B(){return a.getHandle()}function oe(C,g=B()){let j=a.activeRef;return !b&&g!==void 0&&j!==null&&C.conversationType!=="supergroup"&&j.conversationId===C.conversationId&&j.conversationType===C.conversationType&&g.ref.conversationId===C.conversationId&&g.ref.conversationType===C.conversationType}function k(C){return v(p.value,C)}function T(){G.value=false,W.value=[];}function Q(){D.value=null;}function H(){let C=h.value;T(),Q(),h.value=false,w.value=[],C&&u.syncReplyTarget();}function ue(C){if(C!==void 0){if(!oe(C))return Object.freeze({ok:false,reason:"not-ready"});if(!Ht(C))return Object.freeze({ok:false,reason:"not-selectable"});if(k(C))return Object.freeze({ok:false,reason:"pinned-protected"})}return u.suspendInteraction(),h.value=true,w.value=C===void 0?[]:[C],Object.freeze({ok:true})}function ye(C){return w.value.some(g=>g.id===C)}function _$1(C){return !h.value||!oe(C)?Object.freeze({ok:false,reason:"not-ready"}):Ht(C)?k(C)?Object.freeze({ok:false,reason:"pinned-protected"}):(ye(C.id)?w.value=w.value.filter(g=>g.id!==C.id):w.value=[...w.value,C],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function x(C){let g=B();return C.length===0||!C.every(j=>oe(j,g))?Object.freeze({ok:false,reason:"not-ready"}):(D.value=di(C),Object.freeze({ok:true}))}function R(){let C=w.value;if(C.length===0)return Object.freeze({outcome:"empty"});let g=C.filter(ba$1);return C.some(_)?(W.value=g,G.value=true,Object.freeze({outcome:"confirmation-required"})):g.length===0?Object.freeze({outcome:"all-skipped"}):(x(g),Object.freeze({outcome:"picker-opened"}))}function O(){let C=di(W.value);return T(),C.length===0?Object.freeze({outcome:"all-skipped"}):(x(C),Object.freeze({outcome:"picker-opened"}))}async function A(C){let g=D.value,j=B();if(g===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let X=n.getGeneration(),re=++I,ne=await $$1(n,{handle:j,messages:g,targets:C});return b||re!==I||n.getGeneration()!==X||B()!==j?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((ne.ok||ne.reason!=="stale")&&Q(),ne.ok&&H(),V.value=ne.ok?null:ne.error??null,r.record(ne.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:X,conversation:j===void 0?void 0:{...j.ref},result:ne.ok?{ok:true,sentCount:ne.sentCount,skippedCount:ne.skippedCount}:{ok:false,reason:ne.reason,error:ne.error}})),ne)}function q(C,g,j){V.value=C.ok?null:C.error??null,r.record(C.ok?"debug":"error","pinia","message",`message-${C.operation}-settled`,()=>({generation:n.getGeneration(),conversation:j===void 0?void 0:{...j.ref},messageId:g,result:C.ok?{ok:true}:{ok:false,reason:C.reason,error:C.error}}));}function Z(C,g){return g!==void 0&&(b||B()!==g)?Object.freeze({ok:false,operation:C.operation,reason:"stale"}):C}async function me(C){let g=B(),j=Z(await ba(n,{handle:g,message:C}),g);return q(j,C.id,g),j}async function be(C){let g=B(),j=Z(await ca(n,{handle:g,message:C}),g);return q(j,C.id,g),j}async function Ce(C){let g=B(),j=Z(await da(n,{handle:g,message:C}),g);return q(j,C.id,g),j}async function U(C){let g=B(),j=Z(await ea(n,{handle:g,messageId:C}),g);return q(j,C,g),j}function ee(){let C=a.activeRef;if(!(C?.conversationType!=="group"&&C?.conversationType!=="channel"))return Object.freeze({conversationId:C.conversationId,conversationType:C.conversationType})}function ge(C,g,j){let X=ee();return !b&&C===z&&g!==void 0&&B()===g&&X?.conversationId===j.conversationId&&X.conversationType===j.conversationType}function fe(C,g,j){let X=ee();return !b&&C===N&&B()===g&&X?.conversationId===j.conversationId&&X.conversationType===j.conversationType}function he(C){if(w.value=w.value.filter(g=>g.id!==C),W.value=W.value.filter(g=>g.id!==C),D.value!==null){let g=D.value.filter(j=>j.id!==C);D.value=g.length===0?null:g;}s.editingMessage?.id===C&&s.clearEditing();}async function Pe(C){let g=ee(),j=B();if(g===void 0||!oe(C,j))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let X=++z;N+=1;let re=await ga(n,{conversation:g,message:C});return ge(X,j,g)?(re.ok&&re.operation==="pin"?(p.value=re.value,he(re.value.messageId),V.value=null):V.value=re.ok?null:re.error??null,re):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Me(){let C=ee(),g=B();if(C===void 0||g===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let j=++z;N+=1;let X=await ha(n,C);return ge(j,g,C)?(X.ok&&X.operation==="unpin"?(p.value=null,V.value=null):V.value=X.ok?null:X.error??null,X):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function je(){let C=ee();if(C===void 0){p.value=null;return}try{p.value=ja(n,C);}catch{p.value=null;}}async function E(){let C=ee(),g=B();if(C===void 0||g===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let j=n.getGeneration(),X=++N;je();let re=await ia(n,C);return n.getGeneration()!==j||!fe(X,g,C)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(re.ok&&re.operation==="sync-pin"?(p.value=re.value,V.value=null):V.value=re.ok?null:re.error??null,re)}function F(C){let g=new Map(C.map(ne=>[ne.id,ne])),j=ne=>ne.flatMap(Re=>{let te=g.get(Re.id);return te!==void 0&&Ht(te)?[te]:[]});if(w.value=j(w.value),W.value=j(W.value),D.value!==null){let ne=j(D.value);D.value=ne.length===0?null:ne;}let X=s.editingMessage;if(X!==null){let ne=g.get(X.id);(ne===void 0||!Ht(ne))&&s.clearEditing();}let re=s.input?.replyToMessageId;if(re!==void 0){let ne=g.get(re);ne!==void 0&&!Ht(ne)&&s.clearReplyTo(re);}}let de=watch(()=>({ref:a.activeRef===null?null:`${a.activeRef.conversationType}:${a.activeRef.conversationId}`,messages:a.messages}),(C,g)=>{C.ref!==g?.ref&&(I+=1,z+=1,N+=1,je(),h.value=false,w.value=[],D.value=null,T(),V.value=null),F(C.messages);},{immediate:true}),le=n.subscribeEvents(C=>{if(C.type!=="pinned-message:updated")return;let g=ee();if(!(g===void 0||g.conversationId!==C.conversation.conversationId||g.conversationType!==C.conversation.conversationType)){if(N+=1,C.pinnedMessage===null){p.value=null;return}try{p.value=ja(n,g),he(C.pinnedMessage.messageId);}catch{}}});function se(){I+=1,z+=1,N+=1,h.value=false,w.value=[],D.value=null,T(),V.value=null,je();}function Ae(){b||(b=true,de(),le(),se());}return Tr.set(e,Object.freeze({dispose:Ae})),{activePinnedMessage:p,isMessageMultiSelect:h,selectedMessages:w,forwardPickerMessages:D,forwardTypeConfirmOpen:G,pendingForwardReadyMessages:W,error:V,enterMultiSelect:ue,exitMultiSelect:H,isSelected:ye,toggleSelection:_$1,openForwardPicker:x,closeForwardPicker:Q,prepareForwardFromSelection:R,cancelForwardTypeConfirmation:T,confirmForwardTypeConfirmation:O,forward:A,recall:me,deleteLocal:be,deleteForEveryone:Ce,retry:U,pin:Pe,unpin:Me,syncPinned:E,isPinnedMessageProtected:k,reset:se}})}var fi=new WeakMap,Sr=new WeakMap;function Nt(e=Oe()){ve(e);let n=fi.get(e);n===void 0&&(n=al(e),fi.set(e,n));let r=n(e),a=Tr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Sr.get(e)!==r&&(Sr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Sr.get(e)===r&&(Sr.delete(e),Tr.get(e)===a&&Tr.delete(e));})),r}var jo=Object.freeze({availability:"unknown",reason:"not-ready"});function ll(e){return defineStore("k2-im-capabilities",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=Nt(e),u=shallowRef(null),p=false,h,w,D;function G$1(){w!==void 0&&(clearTimeout(w),w=void 0);}function W(_){G$1();let x=_.nextEvaluationAt;if(x===void 0)return;let R=Math.max(0,x-Date.now());w=setTimeout(()=>{w=void 0,I();},R);}function V(_){p||(u.value=_,W(_));}function b(_){let x=a.activeRef;return x!==null&&x.conversationType===_.conversationType&&x.conversationId===_.conversationId}function I(_=Date.now()){let x=a.activeRef,R=n.getProductClient();x===null||R===null||V(R.capabilities.get(x,{nowMs:_}));}function z(){h?.(),h=void 0,G$1(),u.value=null;let _=a.activeRef,x=n.getProductClient();_===null||x===null||(h=x.capabilities.subscribe(_,V));}function N(){z();}function B(){h?.(),h=void 0,G$1(),u.value=null;}async function oe(){let _=a.activeRef,x=n.getProductClient();if(_===null||x===null)return;let R=n.getGeneration();try{let O=await x.capabilities.refresh(_);if(p||R!==n.getGeneration()||!b(_))return;V(O);}catch(O){if(p||R!==n.getGeneration()||!b(_))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{..._},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:O}})),V(x.capabilities.get(_));}}function k(_){return u.value===null?jo:F(u.value,_)}function T(_){return k(_)}function Q(_){return k(_)}function H$1(_,x){let R=u.value;return R===null?jo:H(_,{snapshot:R,selfId:n.getCredentials().userId,...x})}function ue(_,x){let R=u.value;return R===null?jo:G(_,{snapshot:R,message:x,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function ye(){p||(p=true,D?.(),D=void 0,B());}return D=watch(()=>a.activeRef,z,{deep:true,immediate:true}),{activeSnapshot:u,start:N,reset:B,refresh:oe,conversationAction:k,profileAction:T,memberAction:Q,memberTargetAction:H$1,messageAction:ue,dispose:ye}})}var mi=new WeakMap,Er=new WeakMap;function ul(e=Oe()){ve(e);let n=mi.get(e);n===void 0&&(n=ll(e),mi.set(e,n));let r=n(e);return Er.get(e)!==r&&(Er.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Er.get(e)===r&&Er.delete(e);})),r}var Lt=new WeakMap;function vi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function dl(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function fl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pi(e,n,r){let a=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:a!==null&&typeof a.code=="string"?a.code:s,category:a!==null&&fl(a.category)?a.category:"state",operation:`conversation.activate.${n}`,retryable:a!==null&&typeof a.retryable=="boolean"?a.retryable:n==="flush",conversation:vi(r)})}function gi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ml(e=Oe()){let n=ve(e),r=Lt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=qn(e),p=De(e),h={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:p.invalidatePendingOpen};async function w(D){let G=vi(D);h.conversation=G;let W=++h.epoch,V=a.getGeneration(),b=()=>!h.disposed&&h.epoch===W&&a.getGeneration()===V;if(p.invalidatePendingOpen(),s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:V,conversation:G})),!dl(G))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:V,conversation:G})),Object.freeze({ok:false,reason:"unsupported",conversation:G});let I=p.getHandle();if(I!==void 0&&u.hasPendingWork(I))try{await u.flush(I);}catch(z){if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});let N=pi(z,"flush",G);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:V,conversation:G,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:N}})),Object.freeze({ok:false,reason:"draft-save-failed",conversation:G,error:N})}if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});if(p.getHandle()!==void 0&&gi(p.activeRef,G))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:G,data:{reused:true}})),Object.freeze({ok:true,status:"opened",conversation:G});try{if(await p.open(G)===void 0||!b())return Object.freeze({ok:!1,reason:"stale",conversation:G})}catch(z){if(!b())return Object.freeze({ok:false,reason:"stale",conversation:G});let N=pi(z,"open",G);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:V,conversation:G,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:N}})),Object.freeze({ok:false,reason:"open-failed",conversation:G,error:N})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:G})),Object.freeze({ok:true,status:"opened",conversation:G})}return h.coordinator=Object.freeze({activate:w}),Lt.set(e,h),Ee(e,()=>{h.disposed=true,h.conversation=null,h.epoch+=1,Lt.get(e)===h&&Lt.delete(e);}),h.coordinator}function Ii(e,n){let r=Lt.get(e);r===void 0||r.disposed||!gi(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function gl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function dt(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:a!==null&&gl(a.category)?a.category:"state",operation:a!==null&&typeof a.operation=="string"?a.operation:`conversation-list.${n}`,retryable:a!==null&&typeof a.retryable=="boolean"?a.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Il(e){return defineStore("k2-im-conversation-list",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=ref([]),s=ref("idle"),u=ref(0),p=shallowRef(null),h=false,w=null,D,G=0;function W(R="idle"){a.value=[],s.value=R,u.value=0,p.value=null;}function V(R,O,A){h||w!==O||n.getGeneration()!==A||(a.value=R.items,s.value=R.state,u.value=R.totalUnread,p.value=R.error??null);}function b(R){if(h)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(w===R||(D?.(),D=void 0,w=R,G+=1,W(),R===null))return;let O=n.getGeneration();D=R.conversations.subscribe(A=>V(A,R,O)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:O}));}function I(){b(n.getProductClient());}function z(){b(null);}function N(R){return !h&&w===R.client&&n.getProductClient()===R.client&&n.getGeneration()===R.generation&&G===R.bindingEpoch}function B(){let R=n.ensureProductClient();return b(R),{client:R,generation:n.getGeneration(),bindingEpoch:G}}async function oe(){if(h)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let R;try{R=B();}catch(O){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:dt(O,"refresh")})}try{return await R.client.conversations.refresh(),N(R)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(O){return N(R)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:dt(O,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function k(R,O,A){let q=hi(O);if(h)return Object.freeze({ok:false,operation:R,reason:"stale",conversation:q});let Z;try{Z=B();}catch(me){return Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)})}try{A(Z.client,q);}catch(me){return N(Z)?Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}return N(Z)?Object.freeze({ok:true,operation:R,conversation:q}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}async function T(R,O,A){let q=hi(O);if(h)return Object.freeze({ok:false,operation:R,reason:"stale",conversation:q});let Z;try{Z=B();}catch(me){return Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)})}try{return await A(Z.client,q),N(Z)?Object.freeze({ok:!0,operation:R,conversation:q}):Object.freeze({ok:!1,operation:R,reason:"stale",conversation:q})}catch(me){return N(Z)?Object.freeze({ok:false,operation:R,reason:"failed",conversation:q,error:dt(me,R,q)}):Object.freeze({ok:false,operation:R,reason:"stale",conversation:q})}}function Q(R,O){return k("set-pinned",R,(A,q)=>A.conversations.setPinned(q,O))}function H(R,O){return T("set-muted",R,(A,q)=>A.conversations.setMuted(q,O))}function ue(R){return T("mark-read",R,(O,A)=>O.conversations.markRead(A))}function ye(R){return k("mark-unread",R,(O,A)=>O.conversations.markUnread(A))}function _(R){return k("delete-local",R,(O,A)=>O.conversations.deleteLocal(A))}function x(){h||(D?.(),D=void 0,w=null,W(),h=true);}return {items:a,state:s,totalUnread:u,error:p,start:I,reset:z,refresh:oe,setPinned:Q,setMuted:H,markRead:ue,markUnread:ye,deleteLocal:_,dispose:x}})}var yi=new WeakMap,jr=new WeakMap;function xo(e=Oe()){ve(e);let n=yi.get(e);n===void 0&&(n=Il(e),yi.set(e,n));let r=n(e);return jr.get(e)!==r&&(jr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),jr.get(e)===r&&jr.delete(e);})),r}var Rl=250,Pl=2e3;function Ci(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ao(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function zo(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:Ci(r)}})}function kl(e){return defineStore("k2-im-search",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref(""),u=ref([]),p=ref(false),h=ref(false),w=ref("all"),D=ref(""),G=ref(""),W=shallowRef(null),V=false,b=0,I=0,z,N,B,oe;function k(){let U=a.activeRef,ee=a.getHandle();if(!(V||U===null||ee===void 0||!Ao(U,ee.ref)))return {ref:Ci(U),handle:ee,generation:n.getGeneration()}}function T(U){return !V&&n.getGeneration()===U.generation&&a.getHandle()===U.handle&&Ao(a.activeRef,U.ref)}function Q(){let U=N;U!==void 0&&(clearTimeout(U.timer),N=void 0,U.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function H(){B!==void 0&&(clearTimeout(B),B=void 0);}function ue(U,ee){return ee===b&&(p.value=false),Object.freeze({ok:false,operation:U,reason:"stale"})}function ye(U,ee){return U===I&&D.value===ee&&(D.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function _(U,ee,ge){switch(ge){case "all":return va(n,{conversation:U.ref,keyword:ee});case "text":return wa(n,{conversation:U.ref,keyword:ee});case "file":return xa(n,{conversation:U.ref,keyword:ee});case "image":return ya(n,{conversation:U.ref});case "video":return za(n,{conversation:U.ref});case "voice":return Aa(n,{conversation:U.ref})}}function x(U,ee){return U!==""?true:ee!=="all"&&ee!=="text"}function R(U){s.value=U,Q();let ee=++b,ge=U.trim(),fe=w.value,he=x(ge,fe);if(z=void 0,u.value=[],h.value=false,W.value=null,!he)return p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Pe=k();return Pe===void 0?(p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(p.value=true,new Promise(Me=>{let je=setTimeout(()=>{if(N?.timer===je&&(N=void 0),ee!==b||!T(Pe)){Me(ue("search",ee));return}r.record("debug","pinia","history","search-start",()=>({generation:Pe.generation,conversation:Pe.ref,category:fe})),_(Pe,ge,fe).then(E=>{if(ee!==b||!T(Pe)){Me(ue("search",ee));return}u.value=[...E.results],z=E.nextPageToken,h.value=!E.exhausted,p.value=false,Me(Object.freeze({ok:true,operation:"search"}));}).catch(E=>{if(ee!==b||!T(Pe)){Me(ue("search",ee));return}let F=zo(E,"search.first-page",Pe.ref);W.value=F,p.value=false,Me(Object.freeze({ok:false,operation:"search",reason:"failed",error:F}));});},Rl);N={timer:je,resolve:Me};}))}function O(U){return w.value=U,(U==="image"||U==="video"||U==="voice")&&(s.value=""),R(s.value)}async function A(){if(p.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!h.value||z===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let U=k();if(U===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let ee=z,ge=++b;p.value=true,W.value=null;try{let fe=await Ba(n,ee);return ge!==b||!T(U)?ue("load-more",ge):(u.value=[...u.value,...fe.results],z=fe.nextPageToken,h.value=!fe.exhausted,p.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(fe){if(ge!==b||!T(U))return ue("load-more",ge);let he=zo(fe,"search.next-page",U.ref);return W.value=he,p.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:he})}}async function q(U,ee){let ge=k();if(ge===void 0||!Ao(ge.ref,U))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let fe=++I;H(),G.value="",D.value=ee,W.value=null;try{return !a.messages.some(Pe=>Pe.id===ee)&&!await a.loadAround(ee)||(await nextTick(),fe!==I||!T(ge))?ye(fe,ee):(G.value=ee,Object.freeze({ok:!0,operation:"locate"}))}catch(he){if(fe!==I||!T(ge))return ye(fe,ee);let Pe=zo(he,"search.locate",ge.ref);return D.value="",W.value=Pe,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Pe})}}function Z(U){if(D.value!==U)return false;D.value="";let ee=I,ge=k();return H(),ge===void 0||G.value!==U||(B=setTimeout(()=>{B=void 0,ee===I&&T(ge)&&G.value===U&&(G.value="");},Pl)),true}function me(){I+=1,H(),D.value="",G.value="";}function be(U){b+=1,Q(),s.value="",u.value=[],p.value=false,h.value=false,w.value="all",z=void 0,W.value=null,U?.preserveLocation!==true&&me();}function Ce(){V||(be(),V=true,oe?.(),oe=void 0);}return oe=watch(()=>a.activeRef===null?"":`${a.activeRef.conversationType}\0${a.activeRef.conversationId}`,()=>be(),{flush:"sync"}),{keyword:s,results:u,searching:p,hasMore:h,category:w,locatingMessageId:D,highlightMessageId:G,error:W,search:R,setCategory:O,loadMore:A,locate:q,completeLocation:Z,clearLocation:me,reset:be,dispose:Ce}})}var bi=new WeakMap,wr=new WeakMap;function Pn(e=Oe()){ve(e);let n=bi.get(e);n===void 0&&(n=kl(e),bi.set(e,n));let r=n(e);return wr.get(e)!==r&&(wr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),wr.get(e)===r&&wr.delete(e);})),r}var xr=new WeakMap;function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ol(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Ml(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Sl(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&&Ml(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ri(n)})}function Tl(e=Oe()){let n=ve(e),r=xr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=xo(e),p=De(e),h=qn(e),w=Nt(e),D=Pn(e),G={disposed:false};function W(V){let b=Ri(V);if(G.disposed)return Object.freeze({ok:false,reason:"stale",conversation:b});let I=a.getGeneration(),z=p.activeRef!==null&&p.activeRef.conversationType===b.conversationType&&p.activeRef.conversationId===b.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:I,conversation:b})),!Ol(b))return Object.freeze({ok:false,reason:"unsupported",conversation:b});let N=u.deleteLocal(b);if(!N.ok){if(N.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:b});let k=Sl(N.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:k}})),Object.freeze({ok:false,reason:"delete-failed",conversation:b,error:k})}if(G.disposed||a.getGeneration()!==I)return Object.freeze({ok:false,reason:"stale",conversation:b});Ii(e,b);let B=p.closeActiveConversation(b),oe=z||B;return oe&&(h.reset(),w.reset(),D.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:I,conversation:b,data:{activeConversationCleared:oe}})),Object.freeze({ok:true,status:"deleted",conversation:b,activeConversationCleared:oe})}return G.coordinator=Object.freeze({deleteLocal:W}),xr.set(e,G),Ee(e,()=>{G.disposed=true,xr.get(e)===G&&xr.delete(e);}),G.coordinator}var Pi=30,jl=15,wl=20,xl=4294967295,ki=new WeakMap;function zr(e){return typeof e=="object"&&e!==null}function gt(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 Oi(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>xl)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Al(e,n){if(!zr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=gt(e.url,"asset.url"),a;try{a=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(a.protocol!=="http:"&&a.protocol!=="https:"||a.username!==""||a.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Oi(e.width,"asset.width"),u=Oi(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:gt(e.packageId,"asset.packageId"),resourceId:gt(e.resourceId,"asset.resourceId"),url:r,width:s,height:u});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let p=e.resourceId===void 0?void 0:gt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...p===void 0?{}:{resourceId:p},url:r,width:s,height:u})}function qt(e,n){let r=ki.get(e);r===void 0&&(r=new Map,ki.set(e,r));let a=r.get(n);return a===void 0&&(a={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,a)),a}function Mi(e,n,r,a){let s=qt(e,n),u=++s.revision;for(let h of a)s.kindRevisions[h]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let p=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=p,p.then(()=>{s.revision===u&&(s.status="saved",s.error=null);},h=>{s.revision===u&&(s.status="failed",s.error=h);}),{coordinator:s,revision:u,promise:p}}var Gr=new WeakMap;function Ut(){return reactive({loading:false,loaded:false,error:null})}function mt(e){return {sticker:e(),gif:e()}}function Si(e){return {sticker:e(),gif:e(),emoji:e()}}function zn(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 zl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pt(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&zl(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 Go(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Ti(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function vt(e){return "recordId"in e?e.recordId:void 0}function Gl(e){let n=[];for(let r=0;r<e.length;r+=Pi)n.push(e.slice(r,r+Pi));return n}function Dr(e){return e==="gif"?wl:jl}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 Do(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(a=>a.kind==="emoji"?true:Ne(a)!==r)].slice(0,Dr(n.kind)))}function Dl(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(a=>Ne(a)!==r)])}function Ei(e,n,r){let a=[],s=new Set;for(let u of [...r.values(),...n]){if(u.kind==="emoji")continue;let p=Ne(u);if(!(u.kind!==e||s.has(p))&&(s.add(p),a.push(Object.freeze({...u})),a.length===Dr(e)))break}return Object.freeze(a)}function ji(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function Ko(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 _o(e,n,r){let a=e.filter(h=>h.kind==="emoji").slice(0,14).map(h=>Object.freeze({kind:"emoji",stableKey:Ko(h),token:h.token,resourceId:h.resourceId})),s=n.filter(h=>h.kind==="game"||r.has(h.stableKey)),u=[],p=new Set;for(let h of [...s,...a])if(!p.has(h.stableKey)&&(p.add(h.stableKey),u.push(h),u.length===14))break;return Object.freeze(u)}function Fo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function _l(e){return defineStore("k2-im-expression",()=>{let n=ve(e),r=n.runtime,a=n.expressionRecentPersistence,s=r.getDiagnostics(),u=ref(""),p=ref([]),h=ref({}),w=Ut(),D=reactive({}),G=ref({sticker:[],gif:[]}),W=mt(Ut),V=ref({sticker:[],gif:[]}),b=ref({sticker:[],gif:[],emoji:[]}),I=Si(Ut),z=ref({sticker:[],gif:[],emoji:[]}),N=ref([]),B=ref("idle"),oe=ref(""),k=ref([]),T=ref(0),Q=Ut(),H=ref(void 0),ue=computed(()=>zn(w,p.value.length)),ye=computed(()=>{let d=new Set([...Object.keys(D),...Object.keys(h.value)]);return Object.fromEntries([...d].map(m=>{let v=D[m]??{loading:false,loaded:true,error:null};return [m,zn(v,h.value[m]?.length??0)]}))}),_=computed(()=>({sticker:zn(W.sticker,G.value.sticker.length),gif:zn(W.gif,G.value.gif.length)})),x=computed(()=>({sticker:zn(I.sticker,b.value.sticker.length),gif:zn(I.gif,b.value.gif.length),emoji:zn(I.emoji,N.value.length)})),R=computed(()=>zn(Q,k.value.length)),O=computed(()=>H.value!==void 0),A=false,q=0,Z=0,me={},be=mt(()=>0),Ce=Si(()=>0),U=0,ee=0,ge=0,fe=0,he=0,Pe=null,Me=null,je=null,E="emoji",F=new Set,de=[],le=null,se=null,Ae=null,C=null,g=mt(()=>new Map),j=mt(()=>new Map),X=new Map,re=new Map,ne=mt(()=>Promise.resolve());function Re(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:q,accountId:d.userId}}function te(d){return !A&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===q&&d.accountId===r.getCredentials().userId}function pe(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,m,v){let y=pt(m,d);return v.error=y,Object.freeze({ok:false,operation:d,reason:"failed",error:y})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function eo(d){return d.kind==="emoji"?null:d.kind==="sticker"?Object.freeze({kind:"sticker",packageId:d.packageId,resourceId:d.resourceId,url:d.url,width:d.width,height:d.height}):Object.freeze({kind:"gif",...d.resourceId===void 0||d.resourceId===""?{}:{resourceId:d.resourceId},url:d.url,width:d.width,height:d.height})}function gn(){let d=m=>Object.freeze(b.value[m].flatMap(v=>{let y=eo(v);return y===null?[]:[Object.freeze({asset:y,pendingSync:g[m].has(Ne(y))})]}).slice(0,Dr(m)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(N.value.map(m=>m.kind==="game"?Object.freeze({...m}):Object.freeze({...m,pendingSync:X.has(m.stableKey)})))})}function In(){for(let d of ["sticker","gif","emoji"])I[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(I[d].error=null);}function on(d,m){let v=Go({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return m.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function Qt(d,m,v,y=[m]){let M=a,S=++ge,J=Mi(M,d.accountId,v,y);he=J.revision;let ae=J.promise.then(()=>(te(d)&&S===ge&&In(),true),Y=>{if(!te(d)||S!==ge)return false;let ie=Go({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return I[m].error=ie,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ie.code,data:Y}})),false});return {...J,settled:ae}}function kn(d){return Pe!==null&&Je(Pe,d)}function hn(d){if(Ae!==null)return Ae;let v=(async()=>{for(;te(d)&&!kn(d);){let M=C!==null&&Je(C.context,d)?C:null;if(M!==null){let J=await M.promise;if(J.ok||!te(d)||J.reason!=="stale")return;continue}let S=await qe();if(S.ok||!te(d)||S.reason!=="stale")return}})();Ae=v;let y=()=>{Ae===v&&(Ae=null);};return v.then(y,y),v}function an(d,m,v){if(!te(d))return Promise.resolve();if(fe+=1,a===void 0||d.accountId==="")return Pe=d,Promise.resolve();let y=gn();return kn(d)?Qt(d,m,y).settled.then(()=>{}):(je=y,E=m,F.add(m),de.push(v),hn(d))}function Xt(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function sn(d$1,m){let v=[...d$1.sticker],y=[...d$1.gif],M=[...d$1.emoji],S=new Map(d$1.pendingSticker),J=new Map(d$1.pendingGif),ae=new Map(d$1.pendingEmoji);for(let Y of m){if(Y.type==="prepend-asset"){(Y.kind==="sticker"?S:J).set(Ne(Y.asset),Y.asset),Y.kind==="sticker"?v=[...Do(v,Y.asset)]:y=[...Do(y,Y.asset)];continue}if(Y.type==="prepend-emoji"){Y.entry.kind==="emoji"&&ae.set(Y.entry.stableKey,Y.entry),M=[...d(M,Y.entry)];continue}if(Y.type==="authoritative"){if(Y.kind==="emoji"){for(let ce of Y.items)if(ce.kind==="emoji")for(let[Fe,Ge]of ae)Ge.resourceId===ce.resourceId&&ae.delete(Fe);M=[..._o(Y.items,M,new Set(ae.keys()))];}else {let ce=Y.kind==="sticker"?S:J;for(let Ge of Y.items)Ge.kind===Y.kind&&ce.delete(Ne(Ge));let Fe=Ei(Y.kind,Y.items,ce);Y.kind==="sticker"?v=[...Fe]:y=[...Fe];}continue}if(Y.type==="delete-assets"){let ce=new Set(Y.identities),Fe=Y.kind==="sticker"?S:J,Ge=Se=>Se.kind==="emoji"||!ce.has(Ne(Se))||Fe.has(Ne(Se));Y.kind==="sticker"?v=v.filter(Ge):y=y.filter(Ge);continue}let ie=new Set(Y.resourceIds);M=M.filter(ce=>ce.kind==="game"||!ie.has(ce.resourceId)||ae.has(ce.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(y),emoji:Object.freeze(M),pendingSticker:S,pendingGif:J,pendingEmoji:ae}}function Yn(d){if(!zr(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 m=(ae,Y)=>{let ie=[],ce=new Map,Fe=new Set;for(let Ge of Y){if(!zr(Ge)||typeof Ge.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Se=Al(Ge.asset,ae),He=Ne(Se);Fe.has(He)||(Fe.add(He),ie.length<Dr(ae)&&(ie.push(Se),Ge.pendingSync&&ce.set(He,Se)));}return {items:Object.freeze(ie),pending:ce}},v=m("sticker",d.sticker),y=m("gif",d.gif),M=[],S=new Map,J=new Set;for(let ae of d.emoji){if(!zr(ae)||typeof ae.stableKey!="string"||ae.stableKey.trim()===""||ae.kind!=="emoji"&&ae.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let Y=ae.stableKey.trim(),ie,ce=false;if(ae.kind==="game"){if(ae.gameType!=="dice"&&ae.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ie=Fo(ae.gameType),ie.stableKey!==Y)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Fe=gt(ae.token,"emoji.token"),Ge=gt(ae.resourceId,"emoji.resourceId");if(typeof ae.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");ce=ae.pendingSync,ie=Object.freeze({kind:"emoji",stableKey:Y,token:Fe,resourceId:Ge});}J.has(Y)||(J.add(Y),M.length<14&&(M.push(ie),ie.kind==="emoji"&&ce&&S.set(Y,ie)));}return {sticker:v.items,gif:y.items,emoji:Object.freeze(M),pendingSticker:v.pending,pendingGif:y.pending,pendingEmoji:S}}function yn(d){b.value={sticker:d.sticker,gif:d.gif,emoji:[]},z.value={sticker:[],gif:[],emoji:[]},N.value=d.emoji,g.sticker.clear(),g.gif.clear(),X.clear();for(let[m,v]of d.pendingSticker)g.sticker.set(m,v);for(let[m,v]of d.pendingGif)g.gif.set(m,v);for(let[m,v]of d.pendingEmoji)X.set(m,v);for(let m of ["sticker","gif","emoji"])Object.assign(I[m],{loading:false,loaded:true,error:null});}function Ue(d,m){if(a===void 0||d.accountId==="")return 0;let v=qt(a,d.accountId);return m===void 0?v.revision:v.kindRevisions[m]}function ze(d){if(a===void 0||d.accountId===""||!kn(d))return;let m=qt(a,d.accountId);if(m.revision===he)return;let v=m.latestSnapshot===null?Xt():Yn(m.latestSnapshot),y=(M,S)=>{let J=M==="sticker"?v.pendingSticker:v.pendingGif,ae=new Map(b.value[M].flatMap(Y=>Y.kind==="emoji"||Y.kind!==M?[]:[[Ne(Y),Y]]));return Object.freeze(S.map(Y=>{if(Y.kind==="emoji"||Y.kind!==M)return Y;let ie=Ne(Y);if(J.has(ie))return Y;let ce=vt(ae.get(ie)??Y);return Object.freeze({...Y,...ce===void 0?{}:{recordId:ce}})}))};b.value={sticker:y("sticker",v.sticker),gif:y("gif",v.gif),emoji:b.value.emoji},N.value=v.emoji,g.sticker.clear(),g.gif.clear(),X.clear();for(let[M,S]of v.pendingSticker)g.sticker.set(M,S);for(let[M,S]of v.pendingGif)g.gif.set(M,S);for(let[M,S]of v.pendingEmoji)X.set(M,S);for(let M of ["sticker","gif"]){let S=new Set(b.value[M].flatMap(J=>vt(J)===void 0?[]:[vt(J)]));z.value={...z.value,[M]:Object.freeze(z.value[M].filter(J=>S.has(J)))};}he=m.revision;}async function cn(d,m,v,y){let M="hydrate-recent";I.emoji.error=null;try{let S=null,J=0;if(a!==void 0&&d.accountId!==""){S=qt(a,d.accountId);let Se=S.latestSnapshot;if(!y&&S.status==="failed"&&Se!==null&&Mi(a,d.accountId,Se,[]),J=S.revision,await S.tail.catch(()=>{}),m!==ee||!te(d)||fe!==v||S.revision!==J)return pe(M);if(!y&&S.status==="failed")return on(M,I.emoji);S.status==="saved"&&le!==null&&S.latestSnapshot===le&&je===se&&(je=null,F.clear(),de.length=0,le=null,se=null);}let ae=a===void 0||d.accountId===""?null:await a.load(d.accountId);if(m!==ee||!te(d)||fe!==v||S!==null&&S.revision!==J)return pe(M);let Y;try{Y=ae===null?Xt():Yn(ae);}catch(Se){let He=a?.clearInvalid;if(ae!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,ae);}catch(Qe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Qe})}throw Se}let ie=y?null:je,ce=new Set(F),Fe=[...de],Ge=ie===null?Y:sn(Y,Fe);if(yn(Ge),he=J,y){if(je=null,F.clear(),de.length=0,le=null,se=null,S!==null){S.revision+=1;for(let Se of ["sticker","gif","emoji"])S.kindRevisions[Se]+=1;S.status="saved",S.latestSnapshot=ae,S.error=null,he=S.revision;}return Pe=d,In(),Object.freeze({ok:!0,operation:M})}if(ie!==null&&a!==void 0&&d.accountId!==""){let Se=gn();le=Se,se=ie;let He=Qt(d,E,Se,[...ce]),Qe=await He.settled;if(m!==ee||!te(d)||fe!==v||He.coordinator.revision!==He.revision)return pe(M);if(!Qe)return on(M,I.emoji);je===ie&&(je=null,F.clear(),de.length=0,le=null,se=null);}return Pe=d,Object.freeze({ok:!0,operation:M})}catch(S){return m!==ee||!te(d)?pe(M):we(M,S,I.emoji)}}function Je(d,m){return d.client===m.client&&d.generation===m.generation&&d.stateEpoch===m.stateEpoch&&d.accountId===m.accountId}function qe(d={}){let m="hydrate-recent";if(A)return Promise.resolve(pe(m));let v;try{v=Re();}catch(ie){let ce=we(m,ie,I.emoji);return !ce.ok&&ce.reason==="failed"&&(Me=ce.error??I.emoji.error),Promise.resolve(ce)}let y=a===void 0||v.accountId===""?null:qt(a,v.accountId);if(!d.force&&kn(v)&&je===null&&(y===null||(y.status==="idle"||y.status==="saved")&&y.revision===he))return Me=null,Promise.resolve(Object.freeze({ok:true,operation:m}));if(!d.force&&C!==null&&!C.force&&C.stateRevision===fe&&Je(C.context,v))return C.promise;let M=++ee,S=fe,J=cn(v,M,S,d.force===true).then(ie=>(ie.ok?Me=null:ie.reason==="failed"&&(Me=ie.error??I.emoji.error),ie)),ae={context:v,stateRevision:S,force:d.force===true,promise:J};C=ae;let Y=()=>{C===ae&&(C=null);};return J.then(Y,Y),J}async function ln(d){let m="load-packs";if(A)return pe(m);let v=++Z,y;try{y=Re();}catch(M){return we(m,M,w)}w.loading=true,w.error=null;try{let M=await y.client.expressions.packs.list(d);return v!==Z||!te(y)?pe(m):(u.value=M.version,p.value=Object.freeze([...M.items]),w.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(M){return v!==Z||!te(y)?pe(m):we(m,M,w)}finally{v===Z&&te(y)&&(w.loading=false);}}async function On(d){let m="load-pack-items";if(A)return pe(m);let v=d.trim();if(v===""){let J=pt(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),m);return Object.freeze({ok:false,operation:m,reason:"failed",error:J})}let y=D[v]??=Ut(),M=(me[v]??0)+1;me[v]=M;let S;try{S=Re();}catch(J){return we(m,J,y)}y.loading=true,y.error=null;try{let J=await S.client.expressions.packs.listItems(v);return me[v]!==M||!te(S)?pe(m):(h.value={...h.value,[v]:Object.freeze([...J])},y.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(J){return me[v]!==M||!te(S)?pe(m):we(m,J,y)}finally{me[v]===M&&te(S)&&(y.loading=false);}}async function Zn(d){let m="load-favorites";if(A)return pe(m);let v=++be[d],y=W[d],M;try{M=Re();}catch(S){return we(m,S,y)}y.loading=true,y.error=null;try{let S=await M.client.expressions.favorites.list(d);return be[d]!==v||!te(M)?pe(m):(_n(d,S),y.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(S){return be[d]!==v||!te(M)?pe(m):we(m,S,y)}finally{be[d]===v&&te(M)&&(y.loading=false);}}function _n(d,m){for(let S of m)j[d].delete(Ne(S));let v=[],y=new Set;for(let S of [...j[d].values(),...m]){let J=Ne(S);y.has(J)||(y.add(J),v.push(Object.freeze({...S})));}G.value={...G.value,[d]:Object.freeze(v)};let M=new Set(m.flatMap(S=>S.recordId===void 0?[]:[S.recordId]));V.value={...V.value,[d]:Object.freeze(V.value[d].filter(S=>M.has(S)))};}async function Fn(d,m,v){let y=W[m];try{let M=await d.client.expressions.favorites.list(m);if(be[m]!==v||!te(d))return;_n(m,M),y.loaded=!0;}catch(M){be[m]===v&&te(d)&&(y.error=pt(M,"load-favorites"));}}function bn(d,m){let v="set-favorite";if(A)return Promise.resolve(pe(v));let y=Ne(d),M=re.get(y);if(M?.desired===m)return M.promise;let S;try{S=Re();}catch(ie){return Promise.resolve(we(v,ie,W[d.kind]))}let J=M?.promise.catch(()=>{})??Promise.resolve(),ae=ne[d.kind].catch(()=>{}),Y=Promise.all([J,ae]).then(async()=>{if(!te(S))return pe(v);let ie=d.kind,ce=W[ie];ce.error=null;let Fe=G.value[ie].find(Se=>Ne(Se)===y);if(m&&Fe!==void 0)return Object.freeze({ok:true,operation:v});if(!m&&Fe?.recordId===void 0){let Se=Go({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return ce.error=Se,Object.freeze({ok:false,operation:v,reason:"failed",error:Se})}let Ge=++be[ie];try{if(m?await S.client.expressions.favorites.add(d):await S.client.expressions.favorites.delete([Fe.recordId]),!te(S))return pe(v);m?(j[ie].set(y,Object.freeze({...d})),G.value={...G.value,[ie]:Dl(G.value[ie],d)}):(j[ie].delete(y),G.value={...G.value,[ie]:Object.freeze(G.value[ie].filter(He=>He.recordId!==Fe.recordId))});let Se=++be[ie];return Ge=Se,await Fn(S,ie,Se),!te(S)||be[ie]!==Se?pe(v):Object.freeze({ok:!0,operation:v})}catch(Se){return !te(S)||be[ie]!==Ge?pe(v):we(v,Se,ce)}finally{be[ie]===Ge&&te(S)&&(ce.loading=false);}});return re.set(y,{desired:m,promise:Y}),ne[d.kind]=Y.then(()=>{},()=>{}),Y.finally(()=>{re.get(y)?.promise===Y&&re.delete(y);}),Y}async function Mn(d){let m=await bn(d,true);return Object.freeze({...m,operation:"add-favorite"})}function Sn(d){return bn(d,false)}function Cn(d,m,v){if(A)return;let y=Ti(m),M=new Set(V.value[d]);v??!M.has(y)?M.add(y):M.delete(y),V.value={...V.value,[d]:Object.freeze([...M])};}function Ze(d,m,v){if(ze(v),d==="emoji"){for(let M of m)if(M.kind==="emoji")for(let[S,J]of X)J.resourceId===M.resourceId&&X.delete(S);b.value={...b.value,emoji:Object.freeze([...m])},N.value=_o(m,N.value,new Set(X.keys()));}else {for(let M of m)M.kind===d&&g[d].delete(Ne(M));b.value={...b.value,[d]:Ei(d,m,g[d])};}let y=new Set(m.flatMap(M=>M.recordId===void 0?[]:[M.recordId]));z.value={...z.value,[d]:Object.freeze(z.value[d].filter(M=>y.has(M)))},I[d].loaded=true,an(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...m])}));}async function en(d){let m="load-recent";if(A)return pe(m);let v=I[d],y=await qe();if(!y.ok)return y.reason==="stale"?pe(m):(v.error=y.error??I.emoji.error,Object.freeze({...y,operation:m}));let M=++Ce[d],S;try{S=Re();}catch(J){return we(m,J,v)}v.loading=true,v.error=null;try{let J=Ue(S,d),ae=await S.client.expressions.recent.list(d);return Ce[d]!==M||!te(S)?pe(m):Ue(S,d)!==J?(ze(S),pe(m)):(Ze(d,ae,S),Object.freeze({ok:!0,operation:m}))}catch(J){return Ce[d]!==M||!te(S)?pe(m):we(m,J,v)}finally{Ce[d]===M&&te(S)&&(v.loading=false);}}async function pn(d,m){if(!te(d))return;let v=++Ce[m],y=I[m];y.loading=true,y.error=null;try{ze(d);let M=Ue(d,m),S=await d.client.expressions.recent.list(m);if(Ce[m]!==v||!te(d))return;if(Ue(d,m)!==M){ze(d);return}Ze(m,S,d);}catch(M){Ce[m]===v&&te(d)&&(y.error=pt(M,"load-recent"));}finally{Ce[m]===v&&te(d)&&(y.loading=false);}}function un(d,m){if(!te(d))return false;ze(d),ee+=1;let v=m.kind,y=Object.freeze({...m});return g[v].set(Ne(y),y),b.value={...b.value,[v]:Do(b.value[v],y)},I[v].loaded=true,an(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:y})),true}function dn(d$1,m){if(!te(d$1))return false;ze(d$1),ee+=1;let v=Object.freeze({...m});return X.set(v.stableKey,v),N.value=d(N.value,v),I.emoji.loaded=true,an(d$1,"emoji",Object.freeze({type:"prepend-emoji",entry:v})),true}async function We(d,m){let v="report-recent";if(!te(d))return pe(v);let y=m.kind,M=++Ce[y],S=I[y];S.error=null;try{if(await d.client.expressions.recent.report(m),Ce[y]!==M||!te(d))return pe(v);try{ze(d);let J=Ue(d,y),ae=await d.client.expressions.recent.list(y);if(Ce[y]!==M||!te(d))return pe(v);if(Ue(d,y)!==J)return ze(d),pe(v);Ze(y,ae,d);}catch(J){Ce[y]===M&&te(d)&&(S.error=pt(J,"load-recent"));}return Object.freeze({ok:!0,operation:v})}catch(J){return Ce[y]!==M||!te(d)?pe(v):we(v,J,S)}}async function fn(d){let m="report-recent";if(A)return pe(m);let v;try{v=Re();}catch(y){return we(m,y,I[d.kind])}return d.kind==="emoji"?dn(v,Object.freeze({...d,stableKey:Ko(d)})):un(v,d),We(v,d)}function no(d,m,v){if(A)return;let y=Ti(m),M=new Set(z.value[d]);v??!M.has(y)?M.add(y):M.delete(y),z.value={...z.value,[d]:Object.freeze([...M])};}async function Yt(d,m,v){let y=d==="favorites"?"delete-favorites":"delete-recent";if(A)return pe(y);let M=d==="favorites"?V:z,S=d==="favorites"?be:Ce,J=d==="favorites"?W:I,ae=v?.selected??M.value[m];if(ae.length===0)return Object.freeze({ok:false,operation:y,reason:"empty"});let Y=J[m];if(Y.loading)return Object.freeze({ok:false,operation:y,reason:"busy"});let ie=++S[m],ce;try{ce=v?.context??Re();}catch(Te){return we(y,Te,Y)}d==="recent"&&ze(ce);let Fe=d==="recent"?Ue(ce,m):0,Ge=new Set(ae),Se=d==="recent"?b.value[m].filter(Te=>{let $e=vt(Te);return $e!==void 0&&Ge.has($e)}):[];Y.loading=true,Y.error=null;let He=[],Qe=new Set,ot,Et,mn=false;for(let Te of Gl(ae)){if(!te(ce))return pe(y);if(d==="recent"&&S[m]!==ie){mn=true;break}try{d==="favorites"?await ce.client.expressions.favorites.delete(Te):await ce.client.expressions.recent.delete(Te);for(let $e of Te)Qe.add($e);}catch($e){let En=pt($e,y);ot??=En,He.push(...Te);}}if(!te(ce))return pe(y);if(d==="recent"&&S[m]!==ie&&(mn=true),d==="recent"&&Ue(ce,m)!==Fe&&(mn=true),d==="favorites"){let Te=m;G.value={...G.value,[Te]:Object.freeze(G.value[Te].filter(jn=>jn.recordId===void 0||!Qe.has(jn.recordId)))};let $e=new Set(ae),En=V.value[Te].filter(jn=>!$e.has(jn));if(V.value={...V.value,[Te]:Object.freeze([...new Set([...En,...He])])},Et=++be[Te],await Fn(ce,Te,Et),!te(ce))return pe(y)}else {let Te=m;ze(ce);let $e=Se.filter(xe=>{let Ve=vt(xe);return Ve!==void 0&&Qe.has(Ve)}),En=new Set($e.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),jn=new Set($e.filter(xe=>xe.kind!=="emoji").map(Ne));Te==="emoji"&&(N.value=Object.freeze(N.value.filter(xe=>xe.kind==="game"||!En.has(xe.resourceId)||X.has(xe.stableKey)))),b.value={...b.value,[Te]:Object.freeze(b.value[Te].filter(xe=>{let Ve=vt(xe);return Ve===void 0||!Qe.has(Ve)}))};let oo=new Set(ae),tr=mn?z.value[Te].filter(xe=>!Qe.has(xe)):z.value[Te].filter(xe=>!oo.has(xe));if(z.value={...z.value,[Te]:Object.freeze(mn?tr:[...new Set([...tr,...He])])},Te==="emoji"){let xe=b.value.emoji.filter(Ve=>Ve.kind==="emoji");N.value=_o(xe,N.value,new Set(X.keys()));}let ao=Object.freeze(Te==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...En])}:{type:"delete-assets",kind:Te,identities:Object.freeze([...jn])});if(an(ce,Te,ao),mn&&Qe.size>0&&await pn(ce,Te),!te(ce))return pe(y)}return (d==="recent"?Ce[m]===ie:be[m]===Et)&&(Y.loaded=true,(ot!==void 0||d==="recent")&&(Y.error=ot??null),Y.loading=false),mn?pe(y):He.length===0?Object.freeze({ok:true,operation:y}):Object.freeze({ok:false,operation:y,reason:Qe.size===0?"failed":"partial",error:ot,failedRecordIds:Object.freeze(He)})}function to(d){let m="delete-favorites";if(A)return Promise.resolve(pe(m));let v=Object.freeze([...V.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:m,reason:"empty"}));let y;try{y=Re();}catch(J){return Promise.resolve(we(m,J,W[d]))}let S=ne[d].catch(()=>{}).then(()=>te(y)?Yt("favorites",d,{context:y,selected:v}):pe(m));return ne[d]=S.then(()=>{},()=>{}),S}function ro(d){return Yt("recent",d)}function Mt(d,m){let v=++U;return B.value=d,oe.value=m,k.value=[],T.value=0,H.value=void 0,Q.loading=true,Q.loaded=false,Q.error=null,v}async function et(d,m){let v="load-giphy";if(A)return pe(v);let y={mode:B.value,query:oe.value,items:k.value,totalCount:T.value,nextOffset:H.value,loaded:Q.loaded},M=Mt(d,m),S=()=>{B.value=y.mode,oe.value=y.query,k.value=y.items,T.value=y.totalCount,H.value=y.nextOffset,Q.loaded=y.loaded;},J;try{J=Re();}catch(ae){return S(),Q.loading=false,we(v,ae,Q)}try{let ae=d==="trending"?await J.client.expressions.giphy.trending():await J.client.expressions.giphy.search(m);return M!==U||!te(J)?pe(v):(k.value=ji(ae.items),T.value=ae.totalCount,H.value=ae.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ae){return M!==U||!te(J)?pe(v):(S(),we(v,ae,Q))}finally{M===U&&te(J)&&(Q.loading=false);}}function St(){return et("trending","")}function nt(d){if(A)return Promise.resolve(pe("load-giphy"));let m=d.trim();return m===""?(Mt("search",""),Q.loading=false,Q.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):et("search",m)}async function Tn(){let d="load-more-giphy";if(A)return pe(d);if(Q.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(B.value==="idle"||H.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let m=++U,v=B.value,y=oe.value,M=H.value,S;try{S=Re();}catch(J){return we(d,J,Q)}Q.loading=true,Q.error=null;try{let J=v==="trending"?await S.client.expressions.giphy.trending({offset:M}):await S.client.expressions.giphy.search(y,{offset:M});return m!==U||!te(S)?pe(d):(k.value=ji([...k.value,...J.items]),T.value=J.totalCount,H.value=J.nextOffset,Q.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(J){return m!==U||!te(S)?pe(d):we(d,J,Q)}finally{m===U&&te(S)&&(Q.loading=false);}}async function Zt(d){let m="report-recent";if(A)return pe(m);let v;try{v=Re();}catch(M){return we(m,M,I.emoji)}let y=Object.freeze({...d,stableKey:Ko(d)});return dn(v,y)?We(v,{kind:"emoji",token:y.token,resourceId:y.resourceId}):pe(m)}function Tt(d,m){We(d,m).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:m.kind,ok:v.ok}}));});}async function er(d,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendSticker(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&un(v,m)&&Tt(v,m),y):Ke()}async function nn(d,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d.messages.sendGifAsset(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&un(v,m)&&Tt(v,m),y):Ke()}async function nr(d$1,m){if(A)return Ke();let v;try{v=Re();}catch{return Ke()}let y;try{y=await d$1.messages.sendGame(m);}catch(M){if(!te(v))return Ke();throw M}return te(v)?(y.ok&&(ze(v),ee+=1,N.value=d(N.value,Fo(m)),I.emoji.loaded=true,an(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Fo(m)}))),y):Ke()}function tt(d={}){if(A)return;let m=d.preserveRecentHydrationFailure===true?Me:null;q+=1,Z+=1,U+=1,ee+=1,ge+=1,fe=0,he=0,Pe=null,je=null,F.clear(),de.length=0,le=null,se=null,Ae=null,C=null,Me=m,re.clear(),ne=mt(()=>Promise.resolve()),u.value="",p.value=[],h.value={},Object.assign(w,{loading:false,loaded:false,error:null});for(let v of Object.keys(D))delete D[v];for(let v of Object.keys(me))me[v]=(me[v]??0)+1;G.value={sticker:[],gif:[]},V.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])be[v]+=1,Object.assign(W[v],{loading:false,loaded:false,error:null});b.value={sticker:[],gif:[],emoji:[]},z.value={sticker:[],gif:[],emoji:[]},N.value=[],g.sticker.clear(),g.gif.clear(),j.sticker.clear(),j.gif.clear(),X.clear();for(let v of ["sticker","gif","emoji"])Ce[v]+=1,Object.assign(I[v],{loading:false,loaded:false,error:null});m!==null&&(I.emoji.error=m),B.value="idle",oe.value="",k.value=[],T.value=0,H.value=void 0,Object.assign(Q,{loading:false,loaded:false,error:null});}function rt(){A||(tt(),A=true);}return Gr.set(e,Object.freeze({dispose:rt})),{packVersion:u,packs:p,packItemsByPackage:h,packStatus:ue,packItemStatus:ye,favorites:G,favoriteStatus:_,favoriteSelection:V,recent:b,recentStatus:x,recentSelection:z,emojiRecent:N,giphyMode:B,giphyQuery:oe,giphyItems:k,giphyTotalCount:T,giphyHasMore:O,giphyStatus:R,hydrateRecent:qe,loadPacks:ln,loadPackItems:On,loadFavorites:Zn,addFavorite:Mn,setFavorite:bn,unsetFavorite:Sn,toggleFavoriteSelection:Cn,deleteSelectedFavorites:to,loadRecent:en,reportRecent:fn,rememberEmoji:Zt,toggleRecentSelection:no,deleteSelectedRecent:ro,loadGiphyTrending:St,searchGiphy:nt,loadMoreGiphy:Tn,sendSticker:er,sendGif:nn,sendGame:nr,reset:tt}})}var wi=new WeakMap,Ar=new WeakMap;function Fl(e=Oe()){ve(e);let n=wi.get(e);n===void 0&&(n=_l(e),wi.set(e,n));let r=n(e),a=Gr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Ar.get(e)!==r&&(Ar.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Ar.get(e)===r&&(Ar.delete(e),Gr.get(e)===a&&Gr.delete(e));})),r}var _r=new WeakMap;function Ai(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Kl(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Hl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Nl(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&&Hl(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Ai(n)})}function Ll(e=Oe()){let n=ve(e),r=_r.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let a=n.runtime,s=a.getDiagnostics(),u=De(e),p=Pn(e),h={disposed:false};function w(I){return !h.disposed&&a.getGeneration()===I.generation&&u.getHandle()===I.handle&&Fr(u.activeRef,I.conversation)}function D(){let I=h.activeIntent;I!==void 0&&(h.activeIntent=void 0,I.complete(Object.freeze({status:"stale",conversation:I.conversation})));}async function G(I){if(!w(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}p.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:I.generation,conversation:I.conversation}));try{if(!await u.loadLatest()||!w(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(z){if(!w(I)){I.complete(Object.freeze({status:"stale",conversation:I.conversation}));return}let N=Nl(z,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:N}})),I.complete(Object.freeze({status:"failed",conversation:I.conversation,error:N}));}}function W(I){let z=h.activeIntent;z===void 0||I.type!=="message:received"||I.source!=="live"||I.message.senderId!==z.selfId||I.message.status==="sent"||!Fr(I.ref,z.conversation)||(h.activeIntent=void 0,G(z));}async function V(I,z){let N=u.getHandle();if(!Kl(I)||h.disposed||!u.hasNewer||N===void 0||!Fr(N.ref,I)||!Fr(u.activeRef,I))return Object.freeze({value:await z(),history:Object.freeze({status:"not-needed"})});D();let B=Ai(I),oe,k=new Promise(Q=>{let H=false;oe=ue=>{H||(H=true,Q(ue));};}),T={token:Symbol("history-return-after-send"),conversation:B,handle:N,generation:a.getGeneration(),selfId:a.getCredentials().userId,complete:oe};h.activeIntent=T;try{let Q=await z();return h.activeIntent?.token===T.token&&(h.activeIntent=void 0,T.complete(w(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),Object.freeze({value:Q,history:await k})}catch(Q){throw h.activeIntent?.token===T.token&&(h.activeIntent=void 0,T.complete(w(T)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),await k,Q}}let b=a.subscribeProductEvents(W);return h.coordinator=Object.freeze({run:V}),_r.set(e,h),Ee(e,()=>{h.disposed=true,D(),b(),_r.get(e)===h&&_r.delete(e);}),h.coordinator}function _i(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fi(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:_i(e.conversation)}})}function $l(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Vl(e,n){return $l(e)?Fi(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function Bl(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:_i(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Fi(e.error)}})}function Kr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Wl(e){return defineStore("k2-im-media",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref([]),u=shallowRef(null),p=shallowRef(null),h=false,w=0,D=null,G=-1,W,V=computed(()=>{let x=a.activeRef,R={};for(let O of s.value)O.direction!=="upload"||O.state!=="queued"&&O.state!=="running"||!Kr(x,O.ref)||(R[O.messageId]=O.state==="queued"?0:O.percent);return R}),b=computed(()=>{let x=a.activeRef,R={};for(let O of s.value)O.direction==="upload"&&O.state==="running"&&O.phase==="finalizing"&&Kr(x,O.ref)&&(R[O.messageId]=true);return R});function I(x,R,O){h||D!==R||G!==O||n.getGeneration()!==O||(s.value=x.map(Bl));}function z(x){let R=n.getGeneration();if(h)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(D===x&&G===R||(w+=1,W?.(),W=void 0,D=x,G=x===null?-1:R,s.value=[],u.value=null,x===null))return;let O=false;W=x.media.subscribe(A=>{O=true,I(A,x,R);}),O||I(x.media.getSnapshot(),x,R),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:R}));}function N(){z(n.getProductClient());}function B(){z(null),p.value=null;}async function oe(x,R){let O=n.getProductClient();if(O===null)return Object.freeze({ok:false,operation:x,reason:"not-ready"});if(z(O),!s.value.some(Z=>Z.id===R))return Object.freeze({ok:false,operation:x,reason:"not-found"});let A=n.getGeneration(),q=w;u.value=null;try{return await O.media[x](R),h||q!==w||n.getGeneration()!==A||D!==O?Object.freeze({ok:!1,operation:x,reason:"stale"}):Object.freeze({ok:!0,operation:x})}catch(Z){if(h||q!==w||n.getGeneration()!==A||D!==O)return Object.freeze({ok:false,operation:x,reason:"stale"});let me=Vl(Z,x);return u.value=me,r.record("error","pinia","media",`media-task-${x}-failed`,()=>({generation:A,data:{taskId:R},error:{message:me.code,data:me}})),Object.freeze({ok:false,operation:x,reason:"failed",error:me})}}function k(x){return oe("cancel",x)}function T(x){return oe("retry",x)}async function Q(x){let R=a.activeRef,O=s.value.find(q=>q.direction==="upload"&&(q.state==="queued"||q.state==="running")&&q.messageId===x&&Kr(R,q.ref));if(O===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let A=await k(O.id);return Kr(a.activeRef,O.ref)?A:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function H(x){let R=a.activeRef;return x.status!=="failed"||x.failure?.displayCode!=="media.uploadInterrupted"||x.contentType!=="video"&&x.contentType!=="file"||R===null||x.conversationId!==R.conversationId||x.conversationType!==R.conversationType?false:(p.value=Object.freeze({messageId:x.id,conversationId:x.conversationId,conversationType:x.conversationType,kind:x.contentType}),true)}function ue(){let x=p.value;return p.value=null,x}function ye(){p.value=null;}function _(){h||(w+=1,W?.(),W=void 0,D=null,G=-1,s.value=[],u.value=null,p.value=null,h=true);}return {tasks:s,error:u,uploadProgress:V,uploadFinalizing:b,replacementRequest:p,start:N,reset:B,cancel:k,retry:T,cancelUpload:Q,requestReplacement:H,takeReplacementRequest:ue,clearReplacementRequest:ye,dispose:_}})}var Di=new WeakMap,Hr=new WeakMap;function Jl(e=Oe()){ve(e);let n=Di.get(e);n===void 0&&(n=Wl(e),Di.set(e,n));let r=n(e);return Hr.get(e)!==r&&(Hr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Hr.get(e)===r&&Hr.delete(e);})),r}function Vn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Nr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Ql(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Xl(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:a!==null&&Ql(a.category)?a.category:"state",operation:`channel-member-management.${n}`,retryable:a?.retryable===true,conversation:r})}function It(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function ht(e,n){return It(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 Yl(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Ki(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function Zl(e,n,r,a,s){let u=n.capabilities.get(r);if(u.conversationType!=="channel"||u.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(a==="invite-members")return u.value.canInviteMembers;if(a==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.removeTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(a==="add-admin"||a==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H(a==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(a==="transfer-ownership")return Ki(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(a==="leave"){if(s===void 0)return u.value.canLeave;let p=u.value.canLeave;return p.availability!=="available"?p:Ki(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return u.value.canDismiss}function eu(e,n,r,a){let s=Vn(r);if(s.conversationId==="")return {ok:false,result:ht(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:It(n,s,"not-ready")};let p=e.getGeneration(),h=Zl(e,u,s,n,a);return h.availability!=="available"?{ok:false,result:It(n,s,"not-allowed",Yl(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function yt(e,n,r,a,s){let u=eu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:It(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return It(n,u.captured.conversation,"stale");let h=Xl(p,n,u.captured.conversation),w=n==="leave"&&h.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return It(n,u.captured.conversation,w,h)}}function nu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Hi(e,n,r){let a=Vn(n),s=nu(r);return s.length===0?Promise.resolve(ht("invite-members",a)):yt(e,"invite-members",a,async({client:u})=>(await u.channels.inviteMembers(a,s),Object.freeze({ok:!0,operation:"invite-members",conversation:a,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Ni(e,n,r){let a=Vn(n),s=Nr(r);return s.userId===""?Promise.resolve(ht("remove-member",a)):yt(e,"remove-member",a,async({client:u})=>(await u.channels.removeMember(a,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:a,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Li(e,n,r,a){let s=Vn(n),u=Nr(r),p=a?"add-admin":"remove-admin";return u.userId===""?Promise.resolve(ht(p,s)):yt(e,p,s,async({client:h})=>(a?await h.channels.addAdmin(s,u.userId):await h.channels.removeAdmin(s,u.userId),Object.freeze({ok:!0,operation:p,conversation:s,outcome:a?"admin-added":"admin-removed",memberId:u.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),u)}function Ui(e,n,r){return Li(e,n,r,true)}function qi(e,n,r){return Li(e,n,r,false)}function $i(e,n,r){let a=Vn(n),s=Nr(r);return s.userId===""?Promise.resolve(ht("transfer-ownership",a)):yt(e,"transfer-ownership",a,async({client:u})=>(await u.channels.transferOwnership(a,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:a,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Vi(e,n,r){let a=Vn(n),s=r===void 0?void 0:Nr(r);return s!==void 0&&s.userId===""?Promise.resolve(ht("leave",a)):yt(e,"leave",a,async({client:u})=>(await u.channels.leave(a,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:a,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Bi(e,n){let r=Vn(n);return yt(e,"dismiss",r,async({client:a})=>(await a.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function $t(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function tu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ru(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:a!==null&&tu(a.category)?a.category:"state",operation:`channel-profile.${n}`,retryable:a?.retryable===true,conversation:r})}function bt(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Ct(e,n){return bt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function ou(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 au(e,n,r,a,s){let u=n.capabilities.get(r);return u.conversationType!=="channel"||u.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):a==="set-my-nickname"?u.value.canLeave:a==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.editNicknameTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):a==="set-all-muted"?u.value.canManageMute:a==="set-member-private-chat-disabled"?u.value.canSetMemberPrivateChat:u.value.canEditProfile}function iu(e,n,r,a){let s=$t(r);if(s.conversationId==="")return {ok:false,result:Ct(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:bt(n,s,"not-ready")};let p=e.getGeneration(),h=au(e,u,s,n,a);return h.availability!=="available"?{ok:false,result:bt(n,s,"not-allowed",ou(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function Gn(e,n,r,a,s){let u=iu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:bt(n,u.captured.conversation,"stale")}catch(p){return u.captured.isCurrent()?bt(n,u.captured.conversation,"failed",ru(p,n,u.captured.conversation)):bt(n,u.captured.conversation,"stale")}}function Wi(e,n,r){let a=$t(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:Ct(e,a)}:{ok:true,value:s}}function Ji(e,n,r){let a=r.trim();return a===""?Promise.resolve(Ct("update-name",$t(n))):Gn(e,"update-name",n,async({client:s,conversation:u})=>(await s.channels.updateName(u,a),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var su=100;function Qi(e,n,r){let a=r.trim();return a===""||[...a].length>su?Promise.resolve(Ct("update-description",$t(n))):Gn(e,"update-description",n,async({client:s,conversation:u})=>(await s.channels.updateDescription(u,a),Object.freeze({ok:!0,operation:"update-description",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Xi(e,n,r){return Gn(e,"update-avatar",n,async({client:a,conversation:s})=>{let u=(await a.channels.updateAvatar(s,r)).trim();return u===""?Ct("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function Yi(e,n,r){let a=Wi("set-my-nickname",n,r);return a.ok?Gn(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.channels.setMyNickname(u,a.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:u,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(a.result)}function Zi(e,n,r,a,s){let u=r.trim(),p=Wi("set-member-nickname",n,s);if(u===""||!p.ok)return Promise.resolve(p.ok?Ct("set-member-nickname",$t(n)):p.result);let h=Object.freeze({userId:u,role:a});return Gn(e,"set-member-nickname",n,async({client:w,conversation:D})=>(await w.channels.setMemberNickname(D,u,p.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:D,outcome:"updated",memberId:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})),h)}function es(e,n,r,a){return Gn(e,"update-verification",n,async({client:s,conversation:u})=>(await s.channels.updateVerification(u,r,a),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ns(e,n,r){return Gn(e,"set-all-muted",n,async({client:a,conversation:s})=>(await a.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ts(e,n,r){return Gn(e,"set-member-private-chat-disabled",n,async({client:a,conversation:s})=>(await a.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 lu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function uu(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 du(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function fu(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:a!==null&&du(a.category)?a.category:"state",operation:`direct-contact.${n}`,retryable:a?.retryable===true,...r===null?{}:{conversation:r}})}function Bn(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Lr(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 Wn(e,n,r,a){let s=uu(e);if(s===null)return {ok:false,result:Bn(n,r,"not-ready")};try{let u=await a(s.client);return s.isCurrent()?{ok:!0,value:u}:{ok:!1,result:Bn(n,r,"stale")}}catch(u){return s.isCurrent()?{ok:false,result:Bn(n,r,"failed",fu(u,n,r))}:{ok:false,result:Bn(n,r,"stale")}}}function Rt(e,n){let r=cu(n);return r.conversationId===""?{ok:false,result:Bn(e,r,"failed",Lr(e,r))}:{ok:true,conversation:r}}async function rs(e,n,r){let a=Rt("set-remark",n);if(!a.ok)return a.result;let{conversation:s}=a,u=await Wn(e,"set-remark",s,p=>p.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(h=>Object.freeze({countryCode:h.countryCode,mobile:h.mobile})))}})));return u.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):u.result}async function os(e,n){let r=Rt("block",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"block",a,u=>u.contacts.blockUser(a.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:a,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function as(e,n,r){let a=Rt("report",n);if(!a.ok)return a.result;let{conversation:s}=a,u=r.trim();if(u==="")return Bn("report",s,"failed",Lr("report",s));let p=await Wn(e,"report",s,h=>h.contacts.reportUser(s.conversationId,u));return p.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):p.result}async function is(e,n){let r=Rt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"delete-friendship",a,u=>u.contacts.deleteFriendship(a.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:a,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ss(e,n){let r=n.trim();if(r==="")return Bn("search-user",null,"failed",Lr("search-user",null));let a=await Wn(e,"search-user",null,p=>p.contacts.searchUser(r));if(!a.ok)return !a.result.ok&&!a.result.stale&&a.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}):a.result;let s=a.value,u=s===null?null:lu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:u,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function cs(e,n){let r=Rt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:a}=r,s=await Wn(e,"resolve-application-target",a,async u=>{let[p,h]=await Promise.all([u.contacts.getProfile(a.conversationId),u.contacts.getRelationship(a.conversationId)]);if(p===null)return null;if(p.userId!==a.conversationId)throw Lr("resolve-application-target",a);return Object.freeze({userId:p.userId,displayName:p.displayName,nickname:p.nickname,relationship:h,...p.avatar===void 0?{}:{avatarUrl:p.avatar},...p.miCallId===void 0?{}:{miCallId:p.miCallId},...p.signature===void 0?{}:{signature:p.signature},...p.age===void 0?{}:{age:p.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:a,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ls(e,n,r){let a=Rt("request-friendship",n);if(!a.ok)return a.result;let{conversation:s}=a,u=await Wn(e,"request-friendship",s,p=>p.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return u.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:u.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):u.result}function Vt(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 pu(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:a!==null&&mu(a.category)?a.category:"state",operation:`group-member-management.${n}`,retryable:a?.retryable===true,conversation:r})}function Pt(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function Bt(e,n){return Pt(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 vu(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 gu(e,n,r,a){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 u=s.value.canLeave;return u.availability!=="available"||!a?u:s.value.canTransferOwnership}function Iu(e,n,r,a=false){let s=Vt(r);if(s.conversationId==="")return {ok:false,result:Bt(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:Pt(n,s,"not-ready")};let p=e.getGeneration(),h=gu(u,s,n,a);return h.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",vu(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function Ur(e,n,r,a,s=false){let u=Iu(e,n,r,s);if(!u.ok)return u.result;try{let p=await a(u.captured);return u.captured.isCurrent()?p:Pt(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return Pt(n,u.captured.conversation,"stale");let h=pu(p,n,u.captured.conversation),w=n==="leave"&&h.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Pt(n,u.captured.conversation,w,h)}}function hu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function us(e,n,r){let a=Vt(n),s=hu(r);return s.length===0?Promise.resolve(Bt("invite-members",a)):Ur(e,"invite-members",a,async({client:u})=>(await u.groups.inviteMembers(a,s),Object.freeze({ok:!0,operation:"invite-members",conversation:a,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ds(e,n,r){let a=Vt(n),s=r.trim();return s===""?Promise.resolve(Bt("remove-member",a)):Ur(e,"remove-member",a,async({client:u})=>(await u.groups.removeMember(a,s),Object.freeze({ok:!0,operation:"remove-member",conversation:a,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function fs(e,n,r){let a=Vt(n),s=r.trim();return s===""?Promise.resolve(Bt("transfer-ownership",a)):Ur(e,"transfer-ownership",a,async({client:u})=>(await u.groups.transferOwnership(a,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:a,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function ms(e,n,r={}){let a=Vt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Bt("leave",a)):Ur(e,"leave",a,async({client:u})=>(await u.groups.leave(a,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:a,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Ho(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function yu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ps(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:a!==null&&typeof a.code=="string"?a.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:a!==null&&yu(a.category)?a.category:"state",operation:`group-profile.${n}`,retryable:a?.retryable===true,conversation:r})}function Ye(e,n,r,a){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...a===void 0?{}:{error:a}})}function bu(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 Cu(e,n,r){let a=e.capabilities.get(n);return a.conversationType!=="group"||a.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?a.value.canUpdateVerification:r==="set-my-nickname"?a.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:a.value.membership==="unknown"?"unknown":"unavailable",reason:a.value.membership==="unknown_restricted"?"unknown-restricted":a.value.membership}):a.value.canEditProfile}function vs(e,n,r){let a=Ho(r);if(a.conversationId==="")return {ok:false,result:Ye(n,a,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:a}))};let s=e.getProductClient();if(s===null)return {ok:false,result:Ye(n,a,"not-ready")};let u=e.getGeneration(),p=Cu(s,a,n);return p.availability!=="available"?{ok:false,result:Ye(n,a,"not-allowed",bu(n,a,p))}:{ok:true,captured:Object.freeze({client:s,conversation:a,isCurrent:()=>e.getGeneration()===u&&e.getProductClient()===s})}}async function No(e,n,r,a){let s=vs(e,n,r);if(!s.ok)return s.result;try{let u=await a(s.captured);return s.captured.isCurrent()?u:Ye(n,s.captured.conversation,"stale")}catch(u){return s.captured.isCurrent()?Ye(n,s.captured.conversation,"failed",ps(u,n,s.captured.conversation)):Ye(n,s.captured.conversation,"stale")}}function gs(e,n,r){let a=r.trim();if(a===""){let s=Ho(n);return Promise.resolve(Ye("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 No(e,"update-name",n,async({client:s,conversation:u})=>(await s.groups.updateName(u,a),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Is(e,n,r){let a=r.trim();if(a===""){let s=Ho(n);return Promise.resolve(Ye("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 No(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.groups.setMyNickname(u,a),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:u,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function hs(e,n,r,a){return No(e,"update-verification",n,async({client:s,conversation:u})=>(await s.groups.updateVerification(u,r,a),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function ys(e,n,r){let a=vs(e,"update-avatar",n);if(!a.ok)return a.result;let{captured:s}=a;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(u){return s.isCurrent()?Ye("update-avatar",s.conversation,"failed",ps(u,"update-avatar",s.conversation)):Ye("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return Ye("update-avatar",s.conversation,"stale");try{let u=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return Ye("update-avatar",s.conversation,"stale");let p=u?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...p===void 0||p===""?{}:{avatar:p},stale:!1,projectionUpdated:!1,refreshRequired:p===void 0||p===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):Ye("update-avatar",s.conversation,"stale")}}function Ru(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Pu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Ru(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function bs(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Cs(e,n,r={}){let a=e.ensureProductClient(),[s,u]=await Promise.all([r.forceRefresh===true?a.contacts.getProfile(n.conversationId,r):a.contacts.getProfile(n.conversationId),a.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:u})}async function Rs(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Pu(n,r.value)}function Ps(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function ks(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let a=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let u=[],p=await a.groups.listFirstPage({pageSize:100});for(u.push(...p.items);!p.exhausted&&p.nextPageToken!==void 0;)p=await a.groups.listNextPage(p.nextPageToken),u.push(...p.items);let h=[];for(let w of u){let D=await s.group.listMembers(w.id,{forceRefresh:false});D!==null&&D.some(G=>G.userId===r)&&h.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(h)}async function Os(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:bs(r.value),stale:r.stale})}async function Ms(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:bs(r)}async function Ss(e,n,r){let a=await e.ensureProductClient().channels.getProfile(n,r);if(a===null)return null;if(a.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...a,canViewMembers:a.permissions.manageMembers===true||a.memberPrivateChatDisabled===false})}function Ts(e,n,r){let a=e.ensureProductClient(),s=n==="individual"?a.contacts:n==="group"?a.groups:a.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function Es(e,n){return e.ensureProductClient().directory.search(n)}async function js(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",u=s===""?await a.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await a.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Lo(u)}function Lo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function ws(e,n,r,a={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let u=r.trim();if(u==="")return null;let h=(await s.channel.getMembersByIds(n.conversationId,[u],a.forceRefresh===true?{forceRefresh:true}:void 0)).find(w=>w.userId===u);return h===void 0?null:Object.freeze({userId:h.userId,...h.nickname===void 0?{}:{nickname:h.nickname},displayName:h.displayName,...h.avatar===void 0?{}:{avatar:h.avatar},role:h.role})}async function Uo(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",u=await a.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return u===null?null:Lo(u)}async function xs(e,n,r){let a=e.getClient();if(a===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Lo(await a.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 $o(e,n,r){let a=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return a===null?null:qo(a)}async function As(e,n,r){let a=e.ensureProductClient().channels.mentions,s=r?.trim()??"",u=s===""?await a.refreshFirstPage(n):await a.refreshSearchFirstPage(n,s);return qo(u)}async function zs(e,n,r){let a=e.ensureProductClient().channels.mentions,s=n.trim()===""?await a.listNextPage(r):await a.searchNextPage(r);return qo(s)}function Gs(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),a=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let u=`${s.kind}:${s.id}`;a.has(u)||r.push(u),a.set(u,s);}return Object.freeze(r.map(s=>a.get(s)))}var Mu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Su=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"]),Ds=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function Ie(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function $(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Jn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function qr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Dn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Qn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function vn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Wt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function Xn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Tu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Be(e,n,r){let a=typeof e=="object"&&e!==null?e:null;return a!==null&&typeof a.code=="string"&&Tu(a.category)?Object.freeze({code:a.code,category:a.category,operation:n,retryable:a.retryable===true,...r===void 0?{}:{conversation:Ie(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ie(r)}})}function $r(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Eu(e){return defineStore("k2-im-profile-directory",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=ref(0),s=ref({}),u=shallowRef(null),p=shallowRef(null),h=ref("unknown"),w$1=ref(false),D=shallowRef(null),G=shallowRef([]),W=ref(false),V=shallowRef(null),b=shallowRef(null),I=shallowRef(null),z$1=shallowRef([]),N=ref(false),B=ref(false),oe=shallowRef(null),k=shallowRef(null),T=shallowRef(null),Q=ref(false),H=shallowRef(null),ue=reactive({individual:$r(),group:$r(),channel:$r()}),ye=ref(""),_=shallowRef(null),x$1=ref(false),R=shallowRef(null),O=shallowRef(null),A$1=shallowRef([]),q=ref(""),Z=ref(false),me=ref(false),be=shallowRef(null),Ce=shallowRef(null),U=shallowRef(null),ee=ref(false),ge=shallowRef(null),fe=shallowRef(null),he=shallowRef([]),Pe=ref(""),Me=ref(false),je=ref(false),E=shallowRef(null),F=false,de=new Map,le=0,se={direct:0,group:0,channel:0},Ae=0,C={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},g={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},j={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},X=new Map,re=0,ne=new Map,Re=new Map,te=new Set,pe=new Set,we=new Map,Ke=new Map,eo=0,gn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},In=new Map,on=new Map,Qt=0,kn=new Set,hn=new Map,an=new Map,Xt=0,sn=0,Yn=0,yn=new Map,Ue=new Map,ze=new Map,cn=new Map,Je=new Map,qe=new Map,ln=new Map,On=ref(0),Zn={individual:0,group:0,channel:0},_n=new Map,Fn=0,bn,Mn,Sn,Cn=0,Ze,en,pn,un=0,dn,We,fn;function no(o){return s.value[o.conversationId]??0}function Yt(o,i,t){a.value;let c=n.getSenderProfileCache();if(o.conversationType==="channel"){let l=x(c,n.getChannelMemberProfiles(),o.conversationId,i),f=(t??"").trim();return l===i&&f!==""?f:l}return o.conversationType==="group"?w(c,n.getGroupMemberNames(),o.conversationId,i,t):o.conversationType==="direct"?w(c,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function to(o,i){a.value;let t=n.getSenderProfileCache();return o.conversationType==="channel"?y(t,n.getChannelMemberProfiles(),o.conversationId,i):z(t,i)}function ro(o){return a.value,A(n.getSenderProfileCache(),o)}function Mt(o,i){return ma(n,o,i)}function et(o,i){return na(n,o.conversationId,i)}function St(o,i,t){let c=n.getGeneration(),l=de.get(o.conversationId)??0;return oa(n,o.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!F&&n.getGeneration()===c&&(de.get(o.conversationId)??0)===l&&t?.isCurrent?.()!==false})}function nt(o,i){let t=o.conversationId.trim();if(t==="")return;de.set(t,(de.get(t)??0)+1);let c={...n.getChannelMemberProfiles()},l=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(l.length===0)delete c[t];else {let f={...c[t]??{}};for(let P of l)delete f[P];Object.keys(f).length===0?delete c[t]:c[t]=f;}n.setChannelMemberProfiles(c);}function Tn(o,i){let t=o.conversationId.trim();t!==""&&(nt(o,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function Zt(o,i,t){let c=t.trim();if(c==="")return;let l=o.get(i)??new Set;l.add(c),o.set(i,l);}function Tt(o,i,t){let c=o.get(i);c!==void 0&&(c.delete(t.trim()),c.size===0&&o.delete(i));}function er(o,i,t){let c=t.trim();return c!==""&&o.get(i)?.has(c)===true}function nn(o,i,t){let c=o.get(i);return c===void 0||c.size===0?t:t.filter(l=>!c.has(l.userId))}function nr(o,i,t={}){let c=Je.get(o);if(c===void 0||c.size===0)return i;let l=new Set(i.map(K=>K.userId)),f=new Map(c),P=i.map(K=>{let L=c.get(K.userId);return L===void 0?K:(t.reconcile===true&&L===K.nickname&&f.delete(K.userId),Object.freeze({...K,nickname:L}))});if(t.reconcile===true)for(let K of f.keys())l.has(K)||f.delete(K);return f.size===0?Je.delete(o):Je.set(o,f),Object.freeze(P)}function tt(o,i){let t=Je.get(o);t!==void 0&&(t.delete(i.trim()),t.size===0&&Je.delete(o));}function rt(o,i){let t=qe.get(o);return t===void 0||t.size===0?i:Object.freeze(i.map(c=>{let l=t.get(c.userId);return l===void 0?c:Object.freeze({...c,displayName:l.displayName})}))}function d(o,i){let t=qe.get(o),c=ln.get(o),l=k.value?.conversationId===o?T.value?.ownerId:cn.get(o)?.ownerId;return (t===void 0||t.size===0)&&(c===void 0||c.size===0)&&l===void 0?i:Object.freeze(i.map(f=>{let P=t?.get(f.userId),K=c?.get(f.userId),L=l!==void 0&&f.userId===l;if(P===void 0&&K===void 0&&!L)return f;let{nickname:ke,...rn}=f;return Object.freeze({...rn,...P===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:P.nickname===""?{}:{nickname:P.nickname},displayName:P?.displayName??f.displayName,role:L?"owner":K??f.role})}))}function m(o,i){let t=qe.get(o);if(t===void 0)return;let c=false;for(let l of i)t.get(l.userId)?.nickname===(l.nickname??"")&&(t.delete(l.userId),c=true);t.size===0&&qe.delete(o),c&&(On.value+=1);}function v(o,i){let t=qe.get(o);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(o),On.value+=1);}function y$1(o,i){let t=ln.get(o);if(t!==void 0){for(let c of i)t.get(c.userId)===c.role&&t.delete(c.userId);t.size===0&&ln.delete(o);}}function M(o,i){let t=ln.get(o);t!==void 0&&(t.delete(i.trim()),t.size===0&&ln.delete(o));}function S(o,i,t,c){let l=o.conversationType==="direct"?u.value:o.conversationType==="group"?b.value:k.value;return !F&&n.getGeneration()===i&&le===t&&se[o.conversationType]===c&&$(l,o)}async function J(o,i={}){let t=Ie(o),c=++le,l=se.direct,f=n.getGeneration(),P=!$(u.value,t);u.value=t,P&&(p.value=null,h.value="unknown"),w$1.value=true,D.value=null;try{let K=await Cs(n,t,i);return S(t,f,c,l)?(p.value=K.profile,h.value=K.relationship,w$1.value=!1,K.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(K){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let L=Be(K,"profile.direct",t);return D.value=L,w$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:L})}}async function ae(o,i,t={}){let c=i.trim();if(c==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let l=t.forceRefresh===true,f;if(o.conversationType==="channel"){let K=await Gt({conversationType:"channel",conversationId:o.conversationId},{forceRefresh:l});if(!K.ok)return Object.freeze({ok:false,reason:"channel-profile",result:K});if(f=$(k.value,o)?T.value:null,la({conversation:o,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let P=await J({conversationType:"direct",conversationId:c},{forceRefresh:l});return P.ok?Object.freeze({ok:true,destination:la({conversation:o,relationship:h.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:P})}async function Y(o){let i=Ie(o),t=++Ae,c=n.getGeneration();u.value=i,W.value=true,V.value=null;try{let l=await ks(n,i.conversationId);return !$(u.value,i)||c!==n.getGeneration()||t!==Ae?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(G.value=l,W.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(l){if(!$(u.value,i)||c!==n.getGeneration()||t!==Ae)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Be(l,"profile.direct-mutual-groups",i);return V.value=f,W.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ie(o){return C[o]+=1,C[o]}function ce(o,i){return !F&&C[o]===i}async function Fe(o,i){let t=Ie(o),c=ie("set-remark"),l=await rs(n,t,i);if(!ce("set-remark",c)||!$(u.value,t))return Jn("set-remark",t);if(!l.ok)return l;let f=p.value,P=f!==null&&f.userId===t.conversationId;return P&&(p.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(K=>Object.freeze({countryCode:K.countryCode,mobile:K.mobile})))}})),Object.freeze({...l,projectionUpdated:P})}async function Ge(o){let i=Ie(o),t=ie("block"),c=await os(n,i);return !ce("block",t)||!$(u.value,i)?Jn("block",i):c.ok?(h.value="blocked",Object.freeze({...c,projectionUpdated:true})):c}async function Se(o,i){let t=Ie(o),c=ie("report"),l=await as(n,t,i);return !ce("report",c)||!$(u.value,t)?Jn("report",t):l}async function He(o){let i=Ie(o),t=ie("delete-friendship"),c=await is(n,i);return !ce("delete-friendship",t)||!$(u.value,i)?Jn("delete-friendship",i):c.ok?(h.value="none",Object.freeze({...c,projectionUpdated:true})):c}async function Qe(o){let i=ie("search-user"),t=await ss(n,o);return ce("search-user",i)?t:Jn("search-user",t.conversation)}async function ot(o){let i=Ie(o),t=ie("resolve-application-target"),c=await cs(n,i);return ce("resolve-application-target",t)?c:Jn("resolve-application-target",i)}async function Et(o,i){let t=Ie(o),c=ie("request-friendship"),l=await ls(n,t,i);return ce("request-friendship",c)?l:Jn("request-friendship",t)}function mn(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function jt(o,i){g[o]+=1;let t=n.getGeneration(),c=se.group,l=mn(i,o,t,c);return ne.set(l,(ne.get(l)??0)+1),Object.freeze({epoch:g[o],generation:t,key:l,resetEpoch:c})}function wt(o,i){let t=ne.get(i.key)??0;t<=1?ne.delete(i.key):ne.set(i.key,t-1),Wo(o);}function Te(o,i){return !F&&n.getGeneration()===i.generation&&se.group===i.resetEpoch&&g[o]===i.epoch}function $e(o,i){let t=n.getGeneration(),c=se.group;return i!==void 0?(ne.get(mn(o,i,t,c))??0)>0:Object.keys(g).some(l=>(ne.get(mn(o,l,t,c))??0)>0)}async function En(o,i){let t=Ie(o),c=i.trim(),l=jt("update-name",t);try{let f=await gs(n,t,c);if(!Te("update-name",l)||!$(b.value,t))return qr("update-name",t);if(!f.ok)return f;let P=I.value!==null;return P&&Rc(t,c),Object.freeze({...f,projectionUpdated:P})}finally{wt(t,l);}}async function jn(o,i){let t=Ie(o),c=jt("update-avatar",t);try{let l=await ys(n,t,i);if(!Te("update-avatar",c)||!$(b.value,t))return qr("update-avatar",t);if(!l.ok)return l;let f=I.value!==null&&l.avatar!==void 0;return f&&Pc(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{wt(t,c);}}async function oo(o,i){let t=Ie(o),c=i.trim(),l=jt("set-my-nickname",t);try{let f=await Is(n,t,c);if(!Te("set-my-nickname",l)||!$(b.value,t))return qr("set-my-nickname",t);if(!f.ok)return f;let P=z$1.value.some(K=>K.userId===f.memberId);return ra$1(t,f.memberId,c),ra(n,t.conversationId,f.memberId,c),Object.freeze({...f,projectionUpdated:P})}finally{wt(t,l);}}async function tr(o,i,t){let c=Ie(o),l=i===4?t?.trim():void 0,f=jt("update-verification",c);try{let P=await hs(n,c,i,l);if(!Te("update-verification",f)||!$(b.value,c))return qr("update-verification",c);if(!P.ok)return P;let K=I.value!==null;return K&&kc(c,i,l),Object.freeze({...P,projectionUpdated:K})}finally{wt(c,f);}}function ao(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function xe(o,i,t="profile"){let c=n.getGeneration(),l=se.channel,f=ao(i,o,t,c,l),P=++eo;return we.set(f,P),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:Ie(i),epoch:P,generation:c,resetEpoch:l,key:f})}function Ve(o){let i=Ke.get(o.key)??0;i<=1?Ke.delete(o.key):Ke.set(o.key,i-1),we.get(o.key)===o.epoch&&we.delete(o.key),Yo(o.conversation);}function wn(o){return !F&&n.getGeneration()===o.generation&&se.channel===o.resetEpoch&&we.get(o.key)===o.epoch}function rr(o,i,t){let c=`${n.getGeneration()}:${se.channel}:${o.conversationType}:${o.conversationId}:`;for(let[l,f]of Ke){let P=i===void 0?c:`${c}${i}:`;if(f>0&&l.startsWith(P)&&(t===void 0||l===`${P}${t.trim()}`))return true}return false}function Vo(o,i,t){let c=n.getChannelMemberProfiles(),l=c[o.conversationId],f=l?.[i];l===void 0||f===void 0||n.setChannelMemberProfiles({...c,[o.conversationId]:{...l,[i]:{...f,displayName:t}}});}async function qs(o,i){let t=Ie(o);if(tn(t))return Qn("update-name",t);let c=i.trim(),l=xe("update-name",t);try{let f=await Ji(n,t,c);if(!wn(l)||!$(k.value,t))return Dn("update-name",t);if(!f.ok)return f;let P=T.value!==null;return P&&ia(t,c),Object.freeze({...f,projectionUpdated:P})}finally{Ve(l);}}async function $s(o,i){let t=Ie(o);if(tn(t))return Qn("update-description",t);let c=i.trim(),l=xe("update-description",t);try{let f=await Qi(n,t,c);if(!wn(l)||!$(k.value,t))return Dn("update-description",t);if(!f.ok)return f;let P=T.value!==null;return P&&sa$1(t,c),Object.freeze({...f,projectionUpdated:P})}finally{Ve(l);}}async function Vs(o,i){let t=Ie(o);if(tn(t))return Qn("update-avatar",t);let c=xe("update-avatar",t);try{let l=await Xi(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("update-avatar",t);if(!l.ok)return l;let f=T.value!==null;return f&&ca(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}async function Bs(o,i){let t=Ie(o),c=i.trim(),l=xe("set-my-nickname",t,n.getCredentials().userId);try{let f=await Yi(n,t,c);return !wn(l)||!$(k.value,t)?Dn("set-my-nickname",t):f.ok?(mo(t,f.memberId,c,c),Vo(t,f.memberId,c),Object.freeze({...f,projectionUpdated:!0})):f}finally{Ve(l);}}async function Ws(o,i,t){let c=Ie(o);if(tn(c))return Qn("set-member-nickname",c);let l=i.trim(),f=t.trim(),P=Io(c,l),K=xe("set-member-nickname",c,l);try{let L=await Zi(n,c,l,P?.role??"unknown",f);return !wn(K)||!$(k.value,c)?Dn("set-member-nickname",c):L.ok?(mo(c,L.memberId,f,f),Vo(c,L.memberId,f),Object.freeze({...L,projectionUpdated:!0})):L}finally{Ve(K);}}async function Js(o,i,t){let c=Ie(o);if(tn(c))return Qn("update-verification",c);let l=i===4?t?.trim():void 0,f=xe("update-verification",c);try{let P=await es(n,c,i,l);if(!wn(f)||!$(k.value,c))return Dn("update-verification",c);if(!P.ok)return P;let K=T.value!==null;return K&&la$1(c,i,l),Object.freeze({...P,projectionUpdated:K})}finally{Ve(f);}}async function Qs(o,i){let t=Ie(o);if(tn(t))return Qn("set-all-muted",t);let c=xe("set-all-muted",t);try{let l=await ns(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("set-all-muted",t);if(!l.ok)return l;let f=T.value!==null;return f&&fo(t,{allMembersMuted:i}),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}async function Xs(o,i){let t=Ie(o);if(tn(t))return Qn("set-member-private-chat-disabled",t);let c=xe("set-member-private-chat-disabled",t);try{let l=await ts(n,t,i);if(!wn(c)||!$(k.value,t))return Dn("set-member-private-chat-disabled",t);if(!l.ok)return l;let f=T.value!==null;return f&&fo(t,{memberPrivateChatDisabled:i}),Object.freeze({...l,projectionUpdated:f})}finally{Ve(c);}}function Ys(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function io(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function or(o,i,t){let c=n.getGeneration(),l=j[o],f=io(i,o,c,l),P=Ys(i,o,t,c,l),K=++re;return X.set(P,K),Re.set(f,(Re.get(f)??0)+1),Object.freeze({actionEpoch:K,actionKey:P,generation:c,resetEpoch:l,writeKey:f})}function ar(o,i){let t=Re.get(i.writeKey)??0;t<=1?Re.delete(i.writeKey):Re.set(i.writeKey,t-1),X.get(i.actionKey)===i.actionEpoch&&X.delete(i.actionKey),Wo(o);}function ir(o,i){return !F&&n.getGeneration()===i.generation&&j[o]===i.resetEpoch&&X.get(i.actionKey)===i.actionEpoch}function sr(o,i){let t=n.getGeneration();return i!==void 0?(Re.get(io(o,i,t,j[i]))??0)>0:Object.keys(j).some(c=>(Re.get(io(o,c,t,j[c]))??0)>0)}function Zs(o,i){let t=i.trim();t!==""&&Ue.set(o.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ec(o,i){if(i===null||i.isInGroup===false)return Ue.delete(o.conversationId),i;let t=Ue.get(o.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(o.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Bo(o){$(b.value,o)&&ct(o,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!$(b.value,o)||cr(o);});}function xt(o){$(b.value,o)&&zt(o,{forceRefresh:true});}function Wo(o){$e(o)||sr(o)||(te.delete(o.conversationId)&&xt(o),pe.delete(o.conversationId)&&bo(o));}function cr(o){$(b.value,o)&&qa(n,o.conversationId,z$1.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function nc(o,i){let t=Ie(o),c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=or("invite-members",t,c);try{let f=await us(n,t,i);if(!ir("invite-members",l))return Xn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&$(b.value,t)&&xt(t),f;if(!$(b.value,t))return Xn("invite-members",t);let P=f.memberIds.some(K=>aa(t,K));for(let K of f.memberIds)lo(t,K);return Bo(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{ar(t,l);}}async function tc(o,i){let t=Ie(o),c=or("remove-member",t,i.trim());try{let l=await ds(n,t,i);if(!ir("remove-member",c))return Xn("remove-member",t);if(!l.ok)return l.outcome!=="stale"&&$(b.value,t)&&xt(t),l;if(!$(b.value,t))return Xn("remove-member",t);let f=z$1.value.some(P=>P.userId===l.memberId);return co(t,l.memberId),Bo(t),Object.freeze({...l,projectionUpdated:f,refreshRequired:!1})}finally{ar(t,c);}}async function rc(o,i){let t=Ie(o),c=or("transfer-ownership",t,"group-owner");try{let l=await fs(n,t,i);if(!ir("transfer-ownership",c))return Xn("transfer-ownership",t);if(!l.ok)return l.outcome!=="stale"&&$(b.value,t)&&xt(t),l;if(!$(b.value,t))return Xn("transfer-ownership",t);Zs(t,l.ownerId);let f=I.value,P=f!==null;return f!==null&&(I.value=Object.freeze({...f,ownerId:l.ownerId})),xt(t),Object.freeze({...l,projectionUpdated:P,refreshRequired:!1})}finally{ar(t,c);}}async function oc(o,i={}){let t=Ie(o),c=or("leave",t,"membership");try{let l=await ms(n,t,i);if(!l.ok&&!ir("leave",c))return Xn("leave",t);if(!l.ok)return l.outcome==="transfer-required"&&$(b.value,t)&&await zt(t,{forceRefresh:!0}),l;uo(t),sa(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=$(b.value,t)&&(I.value!==null||z$1.value.length>0);return $(b.value,t)&&(b.value=null,I.value=null,z$1.value=[],N.value=!1,B.value=!1,oe.value=null),Object.freeze({...l,projectionUpdated:f})}finally{ar(t,c);}}function ac(o,i,t,c,l){return `${c}:${l}:${o.conversationType}:${o.conversationId}:${i}:${t}`}function Jo(o,i,t,c){return `${t}:${c}:${o.conversationType}:${o.conversationId}:${i}`}function at(o,i,t){let c=n.getGeneration(),l=gn[o],f=ac(i,o,t,c,l),P=Jo(i,o,c,l),K=++Qt;return In.set(f,K),on.set(P,(on.get(P)??0)+1),Object.freeze({actionEpoch:K,actionKey:f,conversation:Ie(i),writeKey:P,generation:c,resetEpoch:l})}function it(o){let i=on.get(o.writeKey)??0;i<=1?on.delete(o.writeKey):on.set(o.writeKey,i-1),In.get(o.actionKey)===o.actionEpoch&&In.delete(o.actionKey),Yo(o.conversation);}function st(o,i){return !F&&n.getGeneration()===i.generation&&gn[o]===i.resetEpoch&&In.get(i.actionKey)===i.actionEpoch}function lr(o,i){let t=n.getGeneration();return (i===void 0?Object.keys(gn):[i]).some(l=>(on.get(Jo(o,l,t,gn[l]))??0)>0)}function ur(o,i){let t=i.trim();if(t==="")return;let c=Io(o,t);return c===void 0?void 0:Object.freeze({userId:t,role:c.role})}function ic(o,i){let t=i.trim();t!==""&&cn.set(o.conversationId,{ownerId:t});}function tn(o){let i=cn.get(o.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function Qo(o,i){if(i===null)return cn.delete(o.conversationId),null;let t=cn.get(o.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(cn.delete(o.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function sc(o){return !$(k.value,o)||T.value===null?false:(T.value=Qo(o,T.value),true)}function cc(o){$(O.value,o)&&yo(o,{preserveExisting:true});}function At(o){$(k.value,o)&&Gt(o,{forceRefresh:true});}function dr(o){At(o),cc(o);}function lc(o,i,t,c){let l=hn.get(o.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=c.map(P=>P.trim()).filter(Boolean);f.length===0&&(l.allTargets=true);for(let P of f)l.userIds.add(P);l.affectsMentions||=i,l.resolvesProfiles||=t,hn.set(o.conversationId,l);}function Xo(o,i){let t=hn.get(o.conversationId);if(!(t===void 0||t.allTargets)){for(let c of i)t.userIds.delete(c.trim());t.userIds.size===0&&hn.delete(o.conversationId);}}function Yo(o){if(rr(o)||lr(o))return;kn.delete(o.conversationId)&&pa$1(o);let i=hn.get(o.conversationId);if(i===void 0)return;hn.delete(o.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Tn(o,t):nt(o,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&St(o,t,{forceRefresh:true}),pr(o);}function uc(o,i){let t=n.getChannelMemberProfiles(),c=t[o.conversationId];if(c===void 0||c[i]===void 0)return false;let l={...c};return delete l[i],n.setChannelMemberProfiles({...t,[o.conversationId]:l}),true}function Zo(o){let i=n.getChannelMemberProfiles();if(i[o.conversationId]===void 0)return false;let t={...i};return delete t[o.conversationId],n.setChannelMemberProfiles(t),true}async function dc(o,i){let t=Ie(o);if(tn(t))return Wt("invite-members",t);let c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=at("invite-members",t,c);try{let f=await Hi(n,t,i);if(!st("invite-members",l))return vn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("invite-members",t);let P=f.memberIds.some(K=>go(t,K));for(let K of f.memberIds)vo(t,K);return Tn(t,f.memberIds),Xo(t,f.memberIds),dr(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{it(l);}}async function fc(o,i){let t=Ie(o);if(tn(t))return Wt("remove-member",t);let c=ur(t,i),l=at("remove-member",t,i.trim());try{let f=await Ni(n,t,c??{userId:i,role:"unknown"});if(!st("remove-member",l))return vn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("remove-member",t);let P=uc(t,f.memberId),K=A$1.value.some(L=>L.userId===f.memberId)||he.value.some(L=>L.userId===f.memberId)||P;return po(t,f.memberId),Tn(t,[f.memberId]),Xo(t,[f.memberId]),dr(t),Object.freeze({...f,projectionUpdated:K,refreshRequired:!1})}finally{it(l);}}async function mc(o,i,t){let c=Ie(o),l=ur(c,i),f=t?"add-admin":"remove-admin";if(tn(c))return Wt(f,c);let P=at(f,c,i.trim());try{let K=t?await Ui(n,c,l??{userId:i,role:"unknown"}):await qi(n,c,l??{userId:i,role:"unknown"});if(!st(f,P))return vn(f,c);if(!K.ok)return K.outcome!=="stale"&&At(c),K;if(!$(k.value,c))return vn(f,c);let L=t?"admin":"member",ke=l?.role!==L;return Kn(c,K.memberId,L),dr(c),Object.freeze({...K,projectionUpdated:ke,refreshRequired:!1})}finally{it(P);}}async function pc(o,i){let t=Ie(o);if(tn(t))return Wt("transfer-ownership",t);let c=ur(t,i),l=at("transfer-ownership",t,"channel-owner");try{let f=await $i(n,t,c??{userId:i,role:"unknown"});if(!st("transfer-ownership",l))return vn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!$(k.value,t))return vn("transfer-ownership",t);ic(t,f.ownerId);let P=sc(t);return Kn(t,f.ownerId,"owner"),Kn(t,n.getCredentials().userId,"member"),dr(t),Object.freeze({...f,projectionUpdated:P,refreshRequired:!1})}finally{it(l);}}async function vc(o,i={}){let t=Ie(o),c=i.newOwnerId===void 0?void 0:ur(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},l=at("leave",t,"membership");try{let f=await Vi(n,t,c);if(!f.ok&&!st("leave",l))return vn("leave",t);if(!f.ok)return f;let P=$(k.value,t)&&(T.value!==null||A$1.value.length>0||he.value.length>0);return fr(t),cn.delete(t.conversationId),Zo(t),$(k.value,t)&&vr(),Object.freeze({...f,projectionUpdated:P})}finally{it(l);}}async function gc(o){let i=Ie(o);if(tn(i))return Wt("dismiss",i);let t=at("dismiss",i,"membership");try{let c=await Bi(n,i);if(!c.ok&&!st("dismiss",t))return vn("dismiss",i);if(!c.ok)return c;let l=$(k.value,i)&&(T.value!==null||A$1.value.length>0||he.value.length>0);return fr(i),cn.delete(i.conversationId),Zo(i),$(k.value,i)&&vr(),Object.freeze({...c,projectionUpdated:l})}finally{it(t);}}async function zt(o,i={}){let t=Ie(o),c=++le,l=se.group,f=n.getGeneration(),P=!$(b.value,t);b.value=t,P&&(I.value=null,sn+=1,z$1.value=[],B.value=false),N.value=true,oe.value=null;try{let K=i.forceRefresh===!0?null:await Rs(n,t);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(K!==null&&(I.value=K),i.restricted===!0)return i.includeMembers===!0&&await ct(t,{restricted:!0,forceRefresh:!0}),S(t,f,c,l)?(N.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 L=await Ps(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let ke=ec(t,L);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:ke?.ref.conversationId??null,name:ke?.name??null,isInGroup:ke?.isInGroup??null,verifyWay:ke?.verifyWay??null,memberCount:ke?.memberCount??null,membershipDecision:ke?.isInGroup===!0?"joined":ke?.isInGroup===!1?"not-joined":"unknown"}})),ke===null||ke.isInGroup===!1?(sn+=1,z$1.value=[],B.value=!1,uo(t),sa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await ct(t,{restricted:!1,forceRefresh:!0}),S(t,f,c,l)?(I.value=ke,N.value=!1,Object.freeze(ke===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(K){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let L=Be(K,"profile.group",t);return i.forceRefresh===true&&(I.value=null,sn+=1,z$1.value=[],B.value=false),oe.value=L,N.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:L})}}async function ct(o,i={}){let t=Ie(o);if($(b.value,t)||(b.value=t,z$1.value=[]),$(b.value,t)&&I.value?.ref.conversationId===t.conversationId&&I.value.isInGroup===false)return sn+=1,z$1.value=[],B.value=false,Object.freeze({ok:true,operation:"group-members"});if(z$1.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let c=++sn,l=n.getGeneration();B.value=true;try{let f=i.preserveExisting===!0?null:await Os(n,t);if(F||n.getGeneration()!==l||c!==sn||!$(b.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let P=f===null?null:nn(yn,t.conversationId,f.items);if(P!==null&&(z$1.value=nr(t.conversationId,P),cr(t)),i.restricted===!0||i.forceRefresh!==!0&&P!==null&&P.length>0)return B.value=!1,Object.freeze({ok:!0,operation:"group-members"});let K=await Ms(n,t);return F||n.getGeneration()!==l||c!==sn||!$(b.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(K!==null&&(z$1.value=nr(t.conversationId,nn(yn,t.conversationId,K),{reconcile:!0}),cr(t)),B.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(F||n.getGeneration()!==l||c!==sn||!$(b.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let P=Be(f,"profile.group-members",t);return oe.value=P,B.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:P})}}async function Gt(o,i){let t=Ie(o),c=++le,l=se.channel,f=n.getGeneration(),P=!$(k.value,t);k.value=t,P&&(T.value=null,Nn(t)),Q.value=true,H.value=null;try{let K=await Ss(n,t,i);if(!S(t,f,c,l))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let L=Qo(t,K);return T.value=L,L!==null&&$(O.value,t)&&(A$1.value=d(t.conversationId,A$1.value)),L===null?(fr(t),Nn()):L.canViewMembers!==!0&&Nn(),Q.value=!1,Object.freeze(L===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(K){if(!S(t,f,c,l))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let L=Be(K,"profile.channel",t);return i?.forceRefresh===true&&(T.value=null,Nn()),H.value=L,Q.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:L})}}async function Ic(o,i={}){let t=o.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:o.conversationId}):Object.freeze({conversationType:"channel",conversationId:o.conversationId}),c=t.conversationType==="group"?"request-group-join":"request-channel-join",l=n.getProductClient();if(l===null)return Object.freeze({ok:false,operation:c,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,P=++Xt,K=n.getGeneration(),L=se[t.conversationType];an.set(f,P);let ke=()=>!F&&n.getGeneration()===K&&se[t.conversationType]===L&&an.get(f)===P&&(t.conversationType==="group"?$(b.value,t):$(k.value,t));try{let rn=t.conversationType==="group"?i.inviteCode===void 0?await l.groups.requestJoin(t):await l.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?await l.channels.requestJoin(t):await l.channels.joinByInviteCode(t,i.inviteCode);return ke()?(rn.outcome==="joined"&&(t.conversationType==="group"?await zt(t,{forceRefresh:!0}):await Gt(t,{forceRefresh:!0})),ke()?Object.freeze({ok:!0,operation:c,outcome:rn.outcome}):Object.freeze({ok:!1,operation:c,reason:"stale"})):Object.freeze({ok:!1,operation:c,reason:"stale"})}catch(rn){return ke()?Object.freeze({ok:false,operation:c,reason:"failed",error:Be(rn,c,t)}):Object.freeze({ok:false,operation:c,reason:"stale"})}finally{an.get(f)===P&&an.delete(f);}}async function ea(o,i,t){let c=ue[o];if(c.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&c.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&c.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let l=i?_n.get(o):void 0;if(i&&l===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++Zn[o],P=n.getGeneration();c.loading=true,c.error=null;try{let K=await Ts(n,o,l);return F||P!==n.getGeneration()||f!==Zn[o]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(c.items=Gs(i?c.items:[],K.items),c.loaded=!0,c.exhausted=K.exhausted,c.loading=!1,K.nextPageToken===void 0?_n.delete(o):_n.set(o,K.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(K){if(F||P!==n.getGeneration()||f!==Zn[o])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let L=Be(K,`directory.${o}`);return c.error=L,c.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:L})}}function hc(o,i=false){return ea(o,i,false)}function yc(o){return ea(o,false,true)}function na$1(){bn!==void 0&&(clearTimeout(bn),bn=void 0),Mn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),Mn=void 0;}async function bc(o,i){let t=n.getGeneration();try{let c=await Es(n,o);return F||t!==n.getGeneration()||i!==Fn?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(_.value=c,x$1.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(c){if(F||t!==n.getGeneration()||i!==Fn)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let l=Be(c,"directory.search");return R.value=l,x$1.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:l})}}function so(){Fn+=1,na$1(),ye.value="",_.value=null,x$1.value=false,R.value=null,Sn=void 0;}function Cc(o,i={}){let t=o.trim();if(t==="")return so(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&Mn?.keyword===t)return Mn.promise;if(Sn?.keyword===t)return Sn.promise;if(!i.immediate&&ye.value===t&&_.value?.keyword===t.toLocaleLowerCase()&&R.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let c=++Fn;na$1(),ye.value=t,_.value=null,x$1.value=true,R.value=null;let l=()=>{let K=bc(t,c);return Sn={keyword:t,promise:K},K.finally(()=>{Sn?.promise===K&&(Sn=void 0);}),K};if(i.immediate)return l();let f,P=new Promise(K=>{f=K;});return Mn={keyword:t,promise:P,resolve:f},bn=setTimeout(()=>{bn=void 0,Mn=void 0,l().then(f);},300),P}function ta(o,i){let t=o.map(l=>l.userId),c=new Map(o.map(l=>[l.userId,l]));for(let l of i)c.has(l.userId)||t.push(l.userId),c.set(l.userId,l);return Object.freeze(t.map(l=>c.get(l)))}function Rc(o,i){!$(b.value,o)||I.value===null||(I.value=Object.freeze({...I.value,name:i}));}function Pc(o,i){!$(b.value,o)||I.value===null||(I.value=Object.freeze({...I.value,avatar:i}));}function kc(o,i,t){if(!$(b.value,o)||I.value===null)return;let{inviteCode:c,...l}=I.value;I.value=Object.freeze({...l,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function ra$1(o,i,t){let c=i.trim();if(c==="")return;let l=t.trim(),f=Je.get(o.conversationId)??new Map;f.set(c,l),Je.set(o.conversationId,f),$(b.value,o)&&(z$1.value=Object.freeze(z$1.value.map(P=>P.userId===c?Object.freeze({...P,nickname:l}):P)));}function oa$1(o,i){tt(o.conversationId,i);}function co(o,i){let t=i.trim();if(t===""||(tt(o.conversationId,t),Zt(yn,o.conversationId,t),!$(b.value,o)))return;let c=z$1.value.filter(f=>f.userId!==t),l=c.length!==z$1.value.length;l&&(z$1.value=Object.freeze(c),cr(o)),l&&I.value!==null&&I.value.memberCount!==void 0&&(I.value=Object.freeze({...I.value,memberCount:Math.max(0,I.value.memberCount-1)}));}function lo(o,i){tt(o.conversationId,i),Tt(yn,o.conversationId,i);}function aa(o,i){return er(yn,o.conversationId,i)}function uo(o){yn.delete(o.conversationId),Je.delete(o.conversationId);}function ia(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,name:i}));}function sa$1(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,description:i}));}function ca(o,i){!$(k.value,o)||T.value===null||(T.value=Object.freeze({...T.value,avatar:i}));}function la$1(o,i,t){if(!$(k.value,o)||T.value===null)return;let{inviteCode:c,...l}=T.value;T.value=Object.freeze({...l,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function fo(o,i){if(!$(k.value,o)||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 mo(o,i,t,c){let l=i.trim();if(l==="")return;let f=t.trim(),P=f||c?.trim()||l,K=qe.get(o.conversationId)??new Map;K.set(l,{nickname:f,displayName:P}),qe.set(o.conversationId,K),On.value+=1,$(O.value,o)&&(A$1.value=d(o.conversationId,A$1.value)),Hn(o,l)&&(U.value=d(o.conversationId,U.value===null?[]:[U.value])[0]??null),$(fe.value,o)&&(he.value=Object.freeze(he.value.map(L=>L.userId===l?Object.freeze({...L,displayName:P}):L)));}function Kn(o,i,t){let c=i.trim();if(c==="")return;let l=ln.get(o.conversationId)??new Map;l.set(c,t),ln.set(o.conversationId,l),$(O.value,o)&&(A$1.value=d(o.conversationId,A$1.value)),Hn(o,c)&&(U.value=d(o.conversationId,U.value===null?[]:[U.value])[0]??null);}function ua(o,i){v(o.conversationId,i);}function Oc(o,i){return On.value,qe.get(o.conversationId)?.get(i.trim())?.nickname}function po(o,i){let t=i.trim();if(t==="")return;let c=$(O.value,o),l=$(fe.value,o);if(v(o.conversationId,t),M(o.conversationId,t),Zt(ze,o.conversationId,t),!c&&!l)return;let f=c&&A$1.value.some(K=>K.userId===t),P=l&&he.value.some(K=>K.userId===t);c&&(A$1.value=Object.freeze(A$1.value.filter(K=>K.userId!==t))),l&&(he.value=Object.freeze(he.value.filter(K=>K.userId!==t))),Hn(o,t)&&(U.value=null),(f||P)&&$(k.value,o)&&T.value?.memberCount!==void 0&&(T.value=Object.freeze({...T.value,memberCount:Math.max(0,T.value.memberCount-1)}));}function vo(o,i){v(o.conversationId,i),M(o.conversationId,i),Tt(ze,o.conversationId,i);}function go(o,i){return er(ze,o.conversationId,i)}function fr(o){ze.delete(o.conversationId),ln.delete(o.conversationId),qe.delete(o.conversationId)&&(On.value+=1);}function Rn(o,i,t){return !F&&n.getGeneration()===i&&Cn===t&&$(O.value,o)}function Hn(o,i,t,c){let l=Ce.value;return !F&&(t===void 0||n.getGeneration()===t)&&(c===void 0||Yn===c)&&l!==null&&$(l,o)&&l.userId===i}function Io(o,i){let t=i.trim();if(t!==""){if($(O.value,o)){let c=A$1.value.find(l=>l.userId===t);if(c!==void 0)return c}return Hn(o,t)?U.value??void 0:void 0}}async function Mc(o,i,t={forceRefresh:true}){let c=Ie(o),l=i.trim();if(l==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Yn,P=n.getGeneration();Ce.value=Object.freeze({...c,userId:l}),U.value=null,ee.value=true,ge.value=null;try{let K=await ws(n,c,l,{forceRefresh:t.forceRefresh!==!1});return Hn(c,l,P,f)?K===null||go(c,l)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(U.value=d(c.conversationId,[K])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(K){if(!Hn(c,l,P,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let L=Be(K,"profile.channel-member",c);return ge.value=L,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:L})}finally{Hn(c,l,P,f)&&(ee.value=false);}}async function ho(o,i,t){Z.value=true,be.value=null;try{let c=await xs(n,o,q.value);return Rn(o,i,t)?(m(o.conversationId,c.items),y$1(o.conversationId,c.items),A$1.value=d(o.conversationId,nn(ze,o.conversationId,c.items)),Ze=c.nextCursor,me.value=c.exhausted||c.nextCursor===void 0,pn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(c){if(!Rn(o,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let l=Be(c,"profile.channel-members.refresh",o);return pn="initial",be.value=l,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:l})}}async function da(o){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=Ie(o),t=Cn,c=n.getGeneration();Z.value=true,be.value=null;try{let l=await Uo(n,i,q.value);return Rn(i,c,t)?(l!==null&&(A$1.value=d(i.conversationId,nn(ze,i.conversationId,l.items)),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0),await ho(i,c,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Rn(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Be(l,"profile.channel-members.cache",i);return pn="initial",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function fa(o){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(me.value||Ze===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=Ie(o),t=Cn,c=n.getGeneration();Z.value=true,be.value=null;try{let l=await js(n,i,{query:q.value,cursor:Ze});return Rn(i,c,t)?(m(i.conversationId,l.items),y$1(i.conversationId,l.items),A$1.value=d(i.conversationId,nn(ze,i.conversationId,ta(A$1.value,l.items))),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0,pn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!Rn(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Be(l,"profile.channel-members.page",i);return pn="more",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Nn(o=null){en!==void 0&&(clearTimeout(en),en=void 0),Cn+=1,O.value=o===null?null:Ie(o),A$1.value=[],q.value="",Z.value=false,me.value=false,be.value=null,Ze=void 0,pn=void 0;}function yo(o,i={}){let t=Ie(o);if(i.preserveExisting===true&&$(O.value,t)){en!==void 0&&(clearTimeout(en),en=void 0);let c=++Cn,l=n.getGeneration();return be.value=null,ho(t,l,c)}return Nn(t),da(t)}function Sc(o){let i=O.value;if(i===null)return;q.value=o,Cn+=1,A$1.value=[],me.value=false,be.value=null,Ze=void 0,Z.value=false,en!==void 0&&clearTimeout(en);let t=Cn,c=n.getGeneration();(async()=>{try{let l=await Uo(n,i,q.value);if(!Rn(i,c,t))return;l!==null&&(A$1.value=d(i.conversationId,nn(ze,i.conversationId,l.items)),Ze=l.nextCursor,me.value=l.exhausted||l.nextCursor===void 0);}catch(l){if(!Rn(i,c,t))return;be.value=Be(l,"profile.channel-members.cache",i);}Rn(i,c,t)&&(en=setTimeout(()=>{en=void 0,ho(i,c,t);},300));})();}function Tc(){let o=O.value;return o===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):fa(o)}function Ec(){let o=O.value;return o===null||pn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):pn==="more"?fa(o):da(o)}function xn(o,i,t){return !F&&n.getGeneration()===i&&un===t&&$(fe.value,o)}async function Dt(o,i={}){if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=Ie(o),c=un,l=n.getGeneration();Me.value=true,E.value=null;try{let f=i.useCache===!1?null:await $o(n,t,Pe.value||void 0);if(!xn(t,l,c))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(he.value=rt(t.conversationId,nn(ze,t.conversationId,f.items)),dn=f.nextPageToken,je.value=f.exhausted||f.nextPageToken===void 0);let P=await As(n,t,Pe.value||void 0);return xn(t,l,c)?(he.value=rt(t.conversationId,nn(ze,t.conversationId,P.items)),dn=P.nextPageToken,je.value=P.exhausted||P.nextPageToken===void 0,fn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!xn(t,l,c))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let P=Be(f,"profile.channel-mentions",t);return fn="initial",E.value=P,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:P})}}async function ma$1(){let o=fe.value,i=dn;if(o===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Me.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(je.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=un,c=n.getGeneration();Me.value=true,E.value=null;try{let l=await zs(n,Pe.value,i);return xn(o,c,t)?(he.value=rt(o.conversationId,nn(ze,o.conversationId,ta(he.value,l.items))),dn=l.nextPageToken,je.value=l.exhausted||l.nextPageToken===void 0,fn=void 0,Me.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(l){if(!xn(o,c,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Be(l,"profile.channel-mentions.page",o);return fn="more",E.value=f,Me.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function mr(o=null,i=""){We!==void 0&&(clearTimeout(We),We=void 0),un+=1,fe.value=o===null?null:Ie(o),he.value=[],Pe.value=i,Me.value=false,je.value=false,E.value=null,dn=void 0,fn=void 0;}function jc(o,i=""){return $(fe.value,o)&&Pe.value===i?(We!==void 0&&(clearTimeout(We),We=void 0),un+=1,Me.value=false,E.value=null,dn=void 0,fn=void 0,Dt(o,{useCache:false})):(mr(o,i),Dt(o))}function wc(o){let i=fe.value;if(i===null)return;mr(i,o);let t=un,c=n.getGeneration();(async()=>{try{let l=await $o(n,i,o||void 0);if(!xn(i,c,t))return;l!==null&&(he.value=rt(i.conversationId,nn(ze,i.conversationId,l.items)),dn=l.nextPageToken,je.value=l.exhausted||l.nextPageToken===void 0);}catch(l){if(!xn(i,c,t))return;E.value=Be(l,"profile.channel-mentions.cache",i);}xn(i,c,t)&&(We=setTimeout(()=>{We=void 0,Dt(i);},300));})();}function xc(){let o=fe.value;return o===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(We!==void 0&&(clearTimeout(We),We=void 0),un+=1,Me.value=false,E.value=null,dn=void 0,je.value=false,fn=void 0,Dt(o,{useCache:false}))}function Ac(){let o=fe.value;return o===null||fn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):fn==="more"?ma$1():Dt(o)}function bo(o){$(b.value,o)&&(et(o,{forceRefresh:true}),ct(o,{forceRefresh:true,preserveExisting:true}));}function pr(o){$(O.value,o)&&yo(o,{preserveExisting:true});}async function pa$1(o){if(!$(k.value,o))return;(await Gt(o,{forceRefresh:true})).ok&&T.value?.canViewMembers===true&&pr(o);}function zc(o){if(o.type==="profile:updated"){if(o.profileType==="user")Mt(o.id,{forceRefresh:true}),u.value?.conversationId===o.id&&J({conversationType:"direct",conversationId:o.id},{forceRefresh:true});else {let L={conversationType:"group",conversationId:o.id};if($e(L)||sr(L)){te.add(L.conversationId);return}$(b.value,L)?zt(L,{includeMembers:true,forceRefresh:true}):et(L,{forceRefresh:true});}return}if(o.type==="channel-profile:updated"){let L={conversationType:"channel",conversationId:o.channelId};rr(L)||lr(L)?kn.add(L.conversationId):pa$1(L);return}if(o.type==="sync:complete"){for(let L of o.conversations)if(L.conversationType==="group"){let ke={conversationType:"group",conversationId:L.conversationId};$(b.value,ke)&&bo(ke);}else if(L.conversationType==="channel"){let ke={conversationType:"channel",conversationId:L.conversationId};($(k.value,ke)||$(O.value,ke)||$(fe.value,ke))&&(Tn(ke),pr(ke));}return}if(o.type!=="message:received"&&o.type!=="message:updated")return;let i=o.message,t=i.body.system?.eventType;if(t===void 0)return;let c=i.body.system?.targetUserIds??[],l=n.getCredentials().userId;if(i.conversationType==="group"&&Mu.has(t)){let L={conversationType:"group",conversationId:i.conversationId},ke=(o.source??"live")==="live",rn=t==="group_member_renamed"&&c.some(An=>An.trim()===l)&&$e(L,"set-my-nickname"),Fc=t==="group_member_renamed"&&!rn;if(t==="group_member_renamed"){rn||pa(n,i);for(let An of c)rn&&An.trim()===l||oa$1(L,An);}if(t==="group_member_joined"||t==="group_member_invited")for(let An of c)lo(L,An);if(ke&&(t==="group_member_left"||t==="group_member_removed"))for(let An of c)co(L,An);if(sr(L)){pe.add(L.conversationId);return}ke&&!rn&&(Fc?$(b.value,L)&&ct(L,{forceRefresh:true,preserveExisting:true}):bo(L));return}let f=(o.source??"live")==="live"||o.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Su.has(t)||!f)return;let P={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&c.some(L=>rr(P,L.trim()===l?"set-my-nickname":"set-member-nickname",L)))){if(t==="channel_member_renamed")for(let L of c)ua(P,L);if(t==="channel_admin_added"||t==="channel_admin_removed"){let L=t==="channel_admin_added"?"admin":"member";for(let ke of c)Kn(P,ke,L);}if(t==="channel_owner_transferred"){for(let ke of c)Kn(P,ke,"owner");let L=i.body.system?.operatorId;L!==void 0&&!c.includes(L)&&Kn(P,L,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let L of c)vo(P,L);if(t==="channel_member_left"||t==="channel_member_removed")for(let L of c)po(P,L);if(lr(P)){lc(P,Ds.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0,c);return}Ds.has(t)?Tn(P,c):nt(P,c),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0&&St(P,c,{forceRefresh:true}),pr(P);}}let Gc=n.subscribeProfileChange(()=>{a.value+=1;}),Dc=n.subscribeEvents(zc);function va(){C["set-remark"]+=1,C.block+=1,C.report+=1,C["delete-friendship"]+=1,se.direct+=1,u.value=null,p.value=null,h.value="unknown",w$1.value=false,D.value=null,Ae+=1,G.value=[],W.value=false,V.value=null;}function ga(){for(let o of Object.keys(g))g[o]+=1;for(let o of Object.keys(j))j[o]+=1;ne.clear(),Re.clear(),X.clear(),te.clear(),pe.clear(),se.group+=1,sn+=1,b.value=null,I.value=null,z$1.value=[],N.value=false,B.value=false,oe.value=null;}function vr(){for(let o of Object.keys(gn))gn[o]+=1;on.clear(),In.clear(),Ke.clear(),we.clear(),kn.clear(),hn.clear(),se.channel+=1,k.value=null,T.value=null,Q.value=false,H.value=null,Yn+=1,Ce.value=null,U.value=null,ee.value=false,ge.value=null,Nn(),mr();}function Ia(){va(),C["search-user"]+=1,C["resolve-application-target"]+=1,C["request-friendship"]+=1,ga(),vr(),an.clear();for(let o of ["individual","group","channel"])Zn[o]+=1,Object.assign(ue[o],$r());_n.clear(),so(),yn.clear(),Ue.clear(),ze.clear(),cn.clear(),Je.clear(),ln.clear(),de.clear(),s.value={},qe.size>0&&(qe.clear(),On.value+=1);}function _c(){F||(Ia(),F=true,ne.clear(),Re.clear(),X.clear(),Ke.clear(),we.clear(),on.clear(),In.clear(),Gc(),Dc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:a,directRef:u,directProfile:p,directRelationship:h,directLoading:w$1,directError:D,directMutualGroups:G,directMutualGroupsLoading:W,directMutualGroupsError:V,groupRef:b,groupProfile:I,groupMembers:z$1,groupLoading:N,groupMembersLoading:B,groupError:oe,channelRef:k,channelProfile:T,channelLoading:Q,channelError:H,directories:ue,directorySearchKeyword:ye,directorySearchResult:_,directorySearchLoading:x$1,directorySearchError:R,channelMembersRef:O,channelMembers:A$1,channelMemberQuery:q,channelMembersLoading:Z,channelMembersExhausted:me,channelMembersError:be,channelMemberDetailRef:Ce,channelMemberDetail:U,channelMemberDetailLoading:ee,channelMemberDetailError:ge,channelMentionsRef:fe,channelMentions:he,channelMentionQuery:Pe,channelMentionsLoading:Me,channelMentionsExhausted:je,channelMentionsError:E,resolveDisplayName:Yt,resolveAvatarUrl:to,resolvePublicNickname:ro,resolveSenderProfile:Mt,resolveGroupMemberProfiles:et,resolveChannelMemberProfiles:St,invalidateChannelMemberProfiles:nt,invalidateChannelMemberSet:Tn,channelMentionRevision:no,loadDirect:J,resolveProfileAccess:ae,loadDirectMutualGroups:Y,setDirectContactRemark:Fe,blockDirectContact:Ge,reportDirectContact:Se,deleteDirectFriendship:He,searchDirectContact:Qe,resolveDirectContactTarget:ot,requestDirectFriendship:Et,loadGroup:zt,updateGroupName:En,updateGroupAvatar:jn,setMyGroupNickname:oo,updateGroupVerification:tr,isGroupProfileWritePending:$e,inviteGroupMembers:nc,removeGroupMember:tc,transferGroupOwnership:rc,leaveGroup:oc,isGroupMemberManagementPending:sr,ensureGroupMembers:ct,loadChannel:Gt,requestMembershipJoin:Ic,updateChannelName:qs,updateChannelDescription:$s,updateChannelAvatar:Vs,setMyChannelNickname:Bs,setChannelMemberNickname:Ws,updateChannelVerification:Js,setChannelAllMuted:Qs,setChannelMemberPrivateChatDisabled:Xs,isChannelProfileWritePending:rr,inviteChannelMembers:dc,removeChannelMember:fc,setChannelMemberAdmin:mc,transferChannelOwnership:pc,leaveChannel:vc,dismissChannel:gc,isChannelMemberManagementPending:lr,loadDirectory:hc,refreshDirectory:yc,searchDirectory:Cc,clearDirectorySearch:so,openChannelMembers:yo,getChannelMember:Io,loadChannelMember:Mc,setChannelMemberQuery:Sc,loadMoreChannelMembers:Tc,retryChannelMembers:Ec,resetChannelMembers:Nn,updateGroupMemberNicknameProjection:ra$1,clearGroupMemberNicknameProjection:oa$1,removeGroupMemberProjection:co,restoreGroupMemberProjection:lo,isGroupMemberRemovedProjection:aa,clearGroupMemberProjections:uo,updateChannelNameProjection:ia,updateChannelDescriptionProjection:sa$1,updateChannelAvatarProjection:ca,updateChannelVerificationProjection:la$1,updateChannelManagementProjection:fo,updateChannelMemberDisplayNameProjection:mo,updateChannelMemberRoleProjection:Kn,clearChannelMemberDisplayNameProjection:ua,channelMemberNicknameProjection:Oc,removeChannelMemberProjection:po,restoreChannelMemberProjection:vo,isChannelMemberRemovedProjection:go,clearChannelMemberProjections:fr,openChannelMentions:jc,setChannelMentionQuery:wc,loadMoreChannelMentions:ma$1,refreshChannelMentions:xc,retryChannelMentions:Ac,resetChannelMentions:mr,resetDirect:va,resetGroup:ga,resetChannel:vr,reset:Ia,dispose:_c}})}var _s=new WeakMap,Vr=new WeakMap;function ju(e=Oe()){ve(e);let n=_s.get(e);n===void 0&&(n=Eu(e),_s.set(e,n));let r=n(e);return Vr.get(e)!==r&&(Vr.set(e,r),Ee(e,()=>{r.dispose(),r.$dispose(),Vr.get(e)===r&&Vr.delete(e);})),r}var Jr=new WeakMap;function Br(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Gu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Du(e,n){return Gu(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 _u(e){return defineStore("k2-im-reaction",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=ref([]),u=shallowRef(null),p=false,h=0,w=new Map;function D(){h+=1,w.clear(),s.value=[],u.value=null;}let G=watch(()=>Br(a.activeRef),(k,T)=>{k!==T&&D();},{flush:"sync"});function W(k,T){let Q=a.activeRef,H=a.getHandle(),ue=Br(Q);if(p||Q===null||H===void 0||Br(H.ref)!==ue||!a.messages.some(_=>_.id===k))return Object.freeze({ok:false,operation:T,reason:"not-ready"});if(w.has(k))return Object.freeze({ok:false,operation:T,reason:"busy"});let ye=Symbol(k);return w.set(k,ye),s.value=Object.freeze([...w.keys()]),{generation:n.getGeneration(),contextEpoch:h,handle:H,conversationKey:ue,token:ye}}function V(k){return !p&&k.contextEpoch===h&&k.generation===n.getGeneration()&&a.getHandle()===k.handle&&Br(a.activeRef)===k.conversationKey}function b(k,T){w.get(k)===T&&(w.delete(k),s.value=Object.freeze([...w.keys()]));}async function I(k,T,Q){let H=W(k,T);if(!("handle"in H))return H;try{let ue=await Q(H.handle);return V(H)?(u.value=null,r.record("debug","pinia","message",`reaction-${T}-settled`,()=>({generation:H.generation,conversation:{...H.handle.ref},messageId:k,result:{ok:!0,action:ue.action}})),Object.freeze({ok:!0,operation:T,change:ue})):Object.freeze({ok:!1,operation:T,reason:"stale"})}catch(ue){if(!V(H))return Object.freeze({ok:false,operation:T,reason:"stale"});let ye=Du(ue,T);return u.value=ye,r.record("error","pinia","message",`reaction-${T}-settled`,()=>({generation:H.generation,conversation:{...H.handle.ref},messageId:k,result:{ok:false,reason:"sdk-rejected",error:ye}})),Object.freeze({ok:false,operation:T,reason:"sdk-rejected",error:ye})}finally{b(k,H.token);}}function z(k,T){return I(k,"toggle",Q=>Q.messages.toggleReaction(k,T))}function N(k,T,Q){return I(k,"set",H=>H.messages.setReaction(k,T,Q))}function B(){D();}function oe(){p||(p=true,G(),D());}return Jr.set(e,Object.freeze({dispose:oe})),{operatingMessageIds:s,error:u,toggle:z,set:N,reset:B}})}var Fs=new WeakMap,Wr=new WeakMap;function Fu(e=Oe()){ve(e);let n=Fs.get(e);n===void 0&&(n=_u(e),Fs.set(e,n));let r=n(e),a=Jr.get(e);if(a===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Wr.get(e)!==r&&(Wr.set(e,r),Ee(e,()=>{a.dispose(),r.$dispose(),Wr.get(e)===r&&(Wr.delete(e),Jr.get(e)===a&&Jr.delete(e));})),r}function Hu(e){return defineStore("k2-im-session",()=>{let n=ve(e).runtime,r=ref(""),a=ref(n.getConnectionState()),s=ref(n.getGeneration()),u=ref("idle"),p=ref(""),h=ref({}),w=false,D=0,G="",W=n.getDiagnostics(),V=n.subscribeEvents(H=>{w||H.type==="connection:changed"&&(a.value=H.state,H.state==="authenticated"&&(u.value="ready"));});function b(H,ue){return !w&&H===D&&n.getGeneration()===ue}function I(H){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(H);}function z(H){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let ue=H.session===null?"":`${H.session.userId}\0${H.session.token}`;ue!==G&&(D+=1,G=ue);let ye=n.applySession(H.session,H.endpoints,H.deviceToken);return r.value=H.session?.userId??"",s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value=a.value==="authenticated"?"ready":"idle",p.value="",h.value={},W.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:ye.hasToken,didReset:ye.didReset}})),ye}async function N(H,ue,ye){if(w)return {ok:false,errorKey:"lifecycle.disposed"};let _=++D,x=n.getGeneration(),R=Date.now();u.value=H,p.value="",h.value={},W.record("info","pinia",ue==="prepare"?"session":"connection",`${ue}-start`,()=>({generation:x}));let O=await ye();return b(_,x)?(s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value=O.ok?a.value==="authenticated"?"ready":"idle":"error",p.value=O.errorKey??"",h.value=O.errorParams??{},W.record(O.ok?"info":"error","pinia",ue==="prepare"?"session":"connection",`${ue}-${O.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-R,...O.ok?{}:{error:{message:O.errorKey??`${ue}-failed`,data:O.errorParams}}})),O):(W.record("debug","pinia","session",`${ue}-stale-result-dropped`,()=>({generation:x,durationMs:Date.now()-R})),O)}function B(){return N("preparing","prepare",()=>n.prepare())}function oe(){return N("connecting","connect",()=>n.connect())}function k(){w||(D+=1,n.disconnect(),a.value=n.getConnectionState(),u.value="idle");}async function T(H){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");D+=1;try{await n.logout(H);}finally{r.value="",G="",s.value=n.getGeneration(),a.value=n.getConnectionState(),u.value="idle",p.value="",h.value={};}}function Q(){w||(w=true,D+=1,V(),r.value="",a.value="idle",s.value=n.getGeneration(),u.value="disposed",p.value="",h.value={});}return {accountId:r,connectionState:a,generation:s,phase:u,errorKey:p,errorParams:h,configureHost:I,applySession:z,prepare:B,connect:oe,disconnect:k,logout:T,dispose:Q,getRuntime:()=>n}})}var Ks=new WeakMap,Qr=new WeakMap;function Nu(e=Oe()){ve(e);let n=Ks.get(e);n===void 0&&(n=Hu(e),Ks.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}function Yr(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Us(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Jt(e,n){return `${Us(e)}\0${n}`}function Ot(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Ns(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function Uu(e){return defineStore("k2-im-thread-paging",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),a=De(e),s=Pn(e),u=ref(false),p=ref(false),h=ref(null),w=ref(null),D=false,G="",W="",V=0,b=()=>({ref:a.activeRef,generation:n.getGeneration(),olderBoundary:Ot(a.messages,"older"),newerBoundary:Ot(a.messages,"newer")}),I=(_,x)=>{let R=b();return !D&&x===V&&_.generation===R.generation&&Yr(_.ref,R.ref)&&_.ref!==null},z=_=>{(_===void 0||_==="older")&&(G="",h.value=null),(_===void 0||_==="newer")&&(W="",w.value=null);},N=()=>{V+=1,u.value=false,p.value=false,z();},B=async(_,x)=>{let R=b(),O=_==="older"?G:W,A=_==="older"?a.hasOlder:a.hasNewer;if(R.ref===null||!A||(_==="older"?u.value:p.value))return 0;let q=R.ref,Z=_==="older"?R.olderBoundary:R.newerBoundary,me=Jt(q,Z);if(_==="older"?p.value:u.value)return 0;if(!x&&O!==""&&O===me)return r.record("debug","pinia","history",`thread-paging-${_}-circuit-open`,()=>({conversation:q,data:{boundary:Z}})),0;x&&(z(_),r.record("debug","pinia","history",`thread-paging-${_}-retry`,()=>({conversation:q})));let be=new Set(a.messages.map(U=>U.id)),Ce=++V;_==="older"?u.value=true:p.value=true,r.record("debug","pinia","history",`thread-paging-${_}-start`,()=>({conversation:q,generation:R.generation,data:{boundary:Z,force:x}}));try{let U=_==="older"?await a.loadOlder():await a.loadNewer();if(!I(R,Ce))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:q,generation:R.generation,data:{side:_}})),0;if(!U)return 0;z(_);let ee=a.messages.reduce((ge,fe)=>ge+ +!be.has(fe.id),0);return r.record("debug","pinia","history",`thread-paging-${_}-success`,()=>({conversation:q,generation:R.generation,data:{added:ee}})),ee}catch(U){if(!I(R,Ce))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:q,generation:R.generation,data:{side:_,outcome:"failed"}})),0;throw Ot(a.messages,_)===Z&&(_==="older"?(G=me,h.value=U):(W=me,w.value=U),r.record("warn","pinia","history",`thread-paging-${_}-failed`,()=>({conversation:q,generation:R.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${_} \u5206\u9875\u5931\u8D25`,data:Ns(U)}}))),U}finally{Ce===V&&(_==="older"?u.value=false:p.value=false);}},oe=(_={})=>B("older",_.force===true),k=(_={})=>B("newer",_.force===true),T=async _=>{if(_!==void 0&&!Yr(a.activeRef,_))return false;s.clearLocation(),N();let x=b();if(x.ref===null)return false;let R=x.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:R})),!a.hasNewer)return true;let O;try{O=await a.loadLatest();}catch(A){if(Yr(a.activeRef,R)&&n.getGeneration()===x.generation){let q=Ot(a.messages,"newer");W=Jt(R,q),w.value=A,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:R,generation:x.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Ns(A)}}));}throw A}return !Yr(a.activeRef,R)||n.getGeneration()!==x.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:R})),false):(z("newer"),O)},Q=watch(()=>Us(a.activeRef),()=>N(),{flush:"sync"}),H=watch(()=>`${Jt(a.activeRef,Ot(a.messages,"older"))}\0${Ot(a.messages,"newer")}`,()=>{let _=b(),x=Jt(_.ref,_.olderBoundary),R=Jt(_.ref,_.newerBoundary);G!==""&&G!==x&&z("older"),W!==""&&W!==R&&z("newer");},{flush:"sync"}),ue=a.$onAction(({name:_})=>{(_==="loadLatest"||_==="loadAround"||_==="open"||_==="close"||_==="reset")&&N();});return {loadingOlder:u,loadingNewer:p,olderError:h,newerError:w,loadOlder:oe,loadNewer:k,retryOlder:()=>oe({force:true}),retryNewer:()=>k({force:true}),jumpToLatest:T,reset:N,dispose:()=>{D||(D=true,Q(),H(),ue(),N());}}})}var Ls=new WeakMap,Zr=new WeakMap;function qu(e=Oe()){ve(e);let n=Ls.get(e);n===void 0&&(n=Uu(e),Ls.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}function $u(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Vu(e=Oe()){let n=De(e),r=Pn(e);return Object.freeze({async returnToLatest(a){return $u(n.activeRef,a)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{br as applicationKey,Hc as createAndInstallImChatKit,Za as createImChatKitContext,Lc as disposeImChatKit,Nc as ensureImChatKitSelfProfile,ve as getImChatKitContext,ei as installImChatKit,Wc as useImApplicationsStore,ul as useImCapabilitiesStore,qn as useImComposerStore,ml as useImConversationActivationCoordinator,Tl as useImConversationDeletionCoordinator,xo as useImConversationListStore,Fl as useImExpressionStore,Ll as useImHistoryReturnAfterSendCoordinator,Jl as useImMediaStore,Nt as useImMessageOperationsStore,ju as useImProfileDirectoryStore,Fu as useImReactionStore,Pn as useImSearchStore,Nu as useImSessionStore,qu as useImThreadPagingStore,Vu as useImThreadReturnToLatestCoordinator,De as useImThreadStore};
|