k2-im 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +120 -3
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +7 -0
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +77 -1
- package/dist/chat-kit.js +1 -1
- package/dist/{chunk-7HTZ3OXY.js → chunk-C6HKXQPW.js} +1 -1
- package/dist/chunk-FA3RKHIR.js +2 -0
- package/dist/chunk-GBIHVXZP.js +1 -0
- package/dist/chunk-K6P5ZYHG.js +7 -0
- package/dist/chunk-KTWXKQ4J.js +1 -0
- package/dist/{chunk-HFB7A67C.js → chunk-RT3IRN3M.js} +1 -1
- package/dist/{chunk-CLEJGY6F.js → chunk-VYHK4LIZ.js} +1 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +85 -3
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +61 -2
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2R5T6ZOX.js +0 -1
- package/dist/chunk-KBKZ27GY.js +0 -7
- package/dist/chunk-KZM3GLRL.js +0 -1
- package/dist/chunk-UY3JAQMB.js +0 -2
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {r,ta,ja,v,ia,ha,ga,ea,da,ca,ba,$,G,H,F,Ba,d,pa,sa,ra,la,oa,na,ma as ma$1,A,y,z,x,w,Aa,za,ya,xa,wa,va,c,b,k,h,qa}from'./chunk-2R5T6ZOX.js';import'./chunk-UY3JAQMB.js';import'./chunk-KBKZ27GY.js';import {ma,ja as ja$1}from'./chunk-KZM3GLRL.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {ref,shallowRef,computed,watch,reactive,nextTick}from'vue';function Vc(e,n,r$1={}){let o=r(n);try{return oi(e,ri({runtime:o,...r$1}))}catch(s){throw o.dispose(),s}}function Bc(e){ta(ge(e).runtime);}var Bn=new WeakMap;function ke(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 ri(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function oi(e,n){let r=Bn.get(e);if(r!==void 0&&!r.disposed){if(r.context===n)return r.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let o={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!o.disposed){o.disposed=true;for(let u of [...o.storeDisposers])u();o.storeDisposers.clear(),n.runtime.dispose(),Bn.get(e)===o&&Bn.delete(e);}}});return o.installation=s,Bn.set(e,o),s}function ge(e){let n=Bn.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 Me(e,n){let r=Bn.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 Wc(e){Bn.get(e)?.installation.dispose();}function Cr(e){return `${e.domain}:${e.applicationId}`}function Jc(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 Xc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function yr(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&&Xc(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 Yc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Zc(e){return defineStore("k2-im-applications",()=>{let n=ge(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),u=ref({}),p=shallowRef({}),h=computed(()=>r.value.length),w=computed(()=>{let C=0,T=0,F=0;for(let X of r.value)X.ref.domain==="contact"?C+=1:X.ref.domain==="group"?T+=1:F+=1;return Object.freeze({contact:C,group:T,channel:F})}),x=false,G=0,B=0,W=0,R=false,g=0,D=new Map;function U(){G+=1,B+=1,W+=1,g+=1,R=false,D.clear(),r.value=[],o.value=false,s.value=null,u.value={},p.value={};}function $(C){return {client:C,generation:n.getGeneration(),stateEpoch:G}}function ae(C){return !x&&C.client===n.getProductClient()&&C.generation===n.getGeneration()&&C.stateEpoch===G}async function S(){if(x)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let C=++B,T;try{T=$(n.ensureProductClient());}catch(F){let X=yr(F,"reload");return s.value=X,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:X})}o.value=true,s.value=null;try{let F=await T.client.applications.listPending();return C!==B||!ae(T)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...F]),Object.freeze({ok:!0,operation:"reload"}))}catch(F){if(C!==B||!ae(T))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let X=yr(F,"reload");return s.value=X,Object.freeze({ok:false,operation:"reload",reason:"failed",error:X})}finally{C===B&&ae(T)&&(o.value=false);}}function j(){if(x||R)return;R=true;let C=G,T=++g;queueMicrotask(()=>{T===g&&(R=false,!(x||C!==G)&&S());});}function Z(C){(C.type==="contact-application:received"||C.type==="channel-join-application:received"||C.type==="application:updated")&&j();}let L=n.subscribeProductEvents(Z);async function se(C,T){let F=Jc(C),X=Cr(F);if(x)return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let ce=++W;D.set(X,ce),u.value={...u.value,[X]:T};let{[X]:ye,...Ie}=p.value;p.value=Ie;let K;try{K=$(n.ensureProductClient());}catch(pe){let ie=yr(pe,T);p.value={...p.value,[X]:ie};let{[X]:be,...Pe}=u.value;return u.value=Pe,D.delete(X),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:ie})}let Q=()=>ae(K)&&D.get(X)===ce;try{return await K.client.applications[T](F),Q()?(B+=1,o.value=!1,r.value=Object.freeze(r.value.filter(pe=>Cr(pe.ref)!==X)),Object.freeze({ok:!0,operation:T,application:F})):Object.freeze({ok:!1,operation:T,reason:"stale",application:F})}catch(pe){if(!Q())return Object.freeze({ok:false,operation:T,reason:"stale",application:F});let ie=yr(pe,T);return Yc(ie)?(B+=1,o.value=false,r.value=Object.freeze(r.value.filter(be=>Cr(be.ref)!==X)),Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:ie})):(p.value={...p.value,[X]:ie},Object.freeze({ok:false,operation:T,reason:"failed",application:F,error:ie}))}finally{if(Q()){D.delete(X);let{[X]:pe,...ie}=u.value;u.value=ie;}}}function Ce(C){return se(C,"accept")}function _(C){return se(C,"ignore")}function P(){x||U();}function y(){x||(x=true,L(),U());}return {items:r,loading:o,error:s,processingKeys:u,itemErrors:p,pendingCount:h,domainCounts:w,reload:S,accept:Ce,ignore:_,reset:P,dispose:y}})}var si=new WeakMap,br=new WeakMap;function el(e=ke()){ge(e);let n=si.get(e);n===void 0&&(n=Zc(e),si.set(e,n));let r=n(e);return br.get(e)!==r&&(br.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),br.get(e)===r&&br.delete(e);})),r}function ui(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function tl(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var ci=Object.freeze({state:"none"});function rl(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:ui(r)}})}function ol(e){return defineStore("k2-im-thread",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef([]),u=shallowRef(ci),p=shallowRef(null),h=ref(false),w=ref(false),x=ref(false),G=ref(false),B=ref(false),W=shallowRef(null),R=ref(0),g=false,D=0,U=0,$,ae,S,j,Z=[],L=new Map,se=new Set;function Ce(){Z.length=0,R.value=0;}let _=n.subscribeEvents(I=>{if(g||I.type!=="message:received"||(I.source??"live")!=="live"||I.message.body.system?.timelineVisibility==="hidden")return;let A=o.value;A===null||I.message.conversationId!==A.conversationId||I.message.conversationType!==A.conversationType||I.message.senderId===n.getCredentials().userId||(Z.push(I.message.id),R.value+=1);});function P(I=null){Ce(),o.value=I,s.value=[],u.value=ci,p.value=null,h.value=I!==null,w.value=false,x.value=false,G.value=false,B.value=false,W.value=null;}function y(I){if((L.get(I)??0)>0){se.add(I);return}I.close();}function C(){j?.(),j=void 0;let I=S;S=void 0,I!==void 0&&y(I);}function T(I,A,ee){let oe=o.value;if(g||S!==I||n.getGeneration()!==ee||oe===null||A.ref.conversationId!==oe.conversationId||A.ref.conversationType!==oe.conversationType)return false;let te=A.messages.filter(Re=>Re.body.system?.timelineVisibility!=="hidden");return tl(s.value,te)||(s.value=Object.freeze(te)),u.value=A.entryUnread,p.value=A.draft,h.value=A.loading,w.value=true,x.value=A.stale,G.value=A.hasOlder,B.value=A.hasNewer,W.value=A.error??null,true}async function F(I){let A=n.ensureProductClient();return I.conversationType==="direct"?A.openConversation({conversationType:"direct",conversationId:I.conversationId},{initialPosition:"first-unread"}):I.conversationType==="group"?A.openConversation({conversationType:"group",conversationId:I.conversationId},{initialPosition:"first-unread"}):A.openConversation({conversationType:"channel",conversationId:I.conversationId},{initialPosition:"first-unread"})}async function X(I){let A=n.ensureProductClient();if(A.conversations.list().find(oe=>oe.ref.conversationType===I.conversationType&&oe.ref.conversationId===I.conversationId)?.manuallyUnread===true)try{await A.conversations.markRead(I);}catch(oe){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:I,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:oe}}));}}async function ce(I){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");U+=1,$=void 0,ae=void 0;let A=ui(I),ee=++D,oe=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:oe,conversation:A}));let te;try{te=await F(A);}catch(Re){throw !g&&ee===D&&oe===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:oe,conversation:A,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:rl(Re,"thread.open",A)}})),Re}if(g||ee!==D||oe!==n.getGeneration()){te.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:oe,conversation:A}));return}if(await X(A),g||ee!==D||oe!==n.getGeneration()){te.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:oe,conversation:A}));return}return C(),P(A),S=te,j=te.subscribe(Re=>T(te,Re,oe)),T(te,te.getSnapshot(),oe),r.record("debug","pinia","history","thread-open-complete",()=>({generation:oe,conversation:A})),te}function ye(){D+=1;}function Ie(I){if(g||S===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${I}`);return S}function K(I,A,ee){return !g&&U===I&&S===A&&n.getGeneration()===ee}async function Q(I,A){if($!==void 0||ae!==void 0)return false;let ee=Ie(I),oe=n.getGeneration(),te=++U;$=te;try{return await A(ee),K(te,ee,oe)?(T(ee,ee.getSnapshot(),oe),!0):!1}finally{$===te&&($=void 0);}}async function pe(I,A,ee){let oe=Ie(I),te=n.getGeneration(),Re=++U;$=void 0,ae=Re;try{if(await A(oe),!K(Re,oe,te))return !1;let re=oe.getSnapshot();return ee(re)?(T(oe,re,te),!0):!1}finally{ae===Re&&(ae=void 0);}}function ie(){return pe("loadLatest",I=>I.history.loadLatest(),I=>!I.hasNewer)}function be(){return Q("loadOlder",I=>I.history.loadOlder())}function Pe(){return Q("loadNewer",I=>I.history.loadNewer())}function Se(I){return pe("loadAround",A=>A.history.loadAround(I),A=>A.messages.some(ee=>ee.id===I)).then(A=>A?s.value.some(ee=>ee.id===I):false)}function Ee(I){return Ie("resolveMessage").resolveMessage(I)}function z(I=Ie("retainHandle")){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");L.set(I,(L.get(I)??0)+1);let A=false;return ()=>{if(A)return;A=true;let ee=(L.get(I)??1)-1;if(ee>0){L.set(I,ee);return}L.delete(I),se.delete(I)&&I.close();}}function N(){return z()}function ue(){D+=1,U+=1,$=void 0,ae=void 0,C(),P();}function de(I){let A=o.value;return A===null||A.conversationType!==I.conversationType||A.conversationId!==I.conversationId?false:(U+=1,$=void 0,ae=void 0,C(),P(),true)}function le(){D+=1,U+=1,$=void 0,ae=void 0,j?.(),j=void 0;let I=new Set([...S===void 0?[]:[S],...se,...L.keys()]);S=void 0,se.clear(),L.clear();for(let A of I)A.close();P();}function De(){g||(le(),g=true,_());}function O(){return Z.splice(0,Z.length)}return {activeRef:o,messages:s,entryUnread:u,draft:p,loading:h,ready:w,stale:x,hasOlder:G,hasNewer:B,error:W,activeRemoteMessageRevision:R,open:ce,invalidatePendingOpen:ye,loadLatest:ie,loadOlder:be,loadNewer:Pe,loadAround:Se,resolveMessage:Ee,retainHandle:z,retainCurrentHandle:N,close:ue,closeActiveConversation:de,reset:le,dispose:De,drainActiveRemoteMessageIds:O,getHandle:()=>S}})}var li=new WeakMap,Rr=new WeakMap;function Ge(e=ke()){ge(e);let n=li.get(e);n===void 0&&(n=ol(e),li.set(e,n));let r=n(e);return Rr.get(e)!==r&&(Rr.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),Rr.get(e)===r&&Rr.delete(e);})),r}var Sr=new WeakMap;function xo(e){let n=Sr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function mt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Mr(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 fi(e){return e===null?null:Mr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function jo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function wo(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function sl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Kt(e,n,r){return sl(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:mt(r)},cause:e})}function kr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function cl(e){return defineStore("k2-im-composer",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef(null),u=shallowRef(null),p=shallowRef(null),h=ref(false),w=ref(0),x=shallowRef(null),G=false,B=0,W=0,R=0,g,D=Promise.resolve(),U=Promise.resolve(),$=new Set,ae=new Map,S,j;function Z(){return o.getHandle()}function L(z,N){let ue=o.activeRef;return !G&&Z()===z&&n.getGeneration()===N&&ue!==null&&ue.conversationId===z.ref.conversationId&&ue.conversationType===z.ref.conversationType}function se(z=Z()){if(z===void 0)return false;let N=n.getGeneration();return g?.handle===z&&g.generation===N||[...$].some(ue=>ue.handle===z&&ue.generation===N)}async function Ce(z=Z()){if(z===void 0)return;let N=n.getGeneration(),ue=g?.handle===z&&g.generation===N?g:void 0;if(ue===void 0){let O=[...$].filter(I=>I.handle===z&&I.generation===N).map(I=>I.promise);O.length>0?await Promise.all(O):await U;return}g=void 0;let le=D.then(async()=>{jo(ue.input)?await z.draft.clear():await z.draft.save(ue.input);}),De={handle:z,generation:N,promise:le};$.add(De),U=le,D=le.catch(()=>{});try{await le,L(z,N)&&(x.value=null,w.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:N,conversation:mt(z.ref)})));}catch(O){throw L(z,N)&&(g===void 0&&R===ue.version&&(g=ue),x.value=Kt(O,"composer.draft",z.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:N,conversation:mt(z.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:x.value}}))),O}finally{$.delete(De);}}function _(z){let N=Z(),ue=n.getGeneration();if(N===void 0||!L(N,ue))return x.value=Kt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let de=Mr(z);return R+=1,s.value=jo(de)?null:de,g={handle:N,generation:ue,version:R,input:de},x.value=null,P(),jo(de)&&Ce(N).catch(()=>{}),true}async function P(){if(p.value!==null)return;let z=s.value?.replyToMessageId;if(z===void 0){W+=1,u.value=null;return}let N=Z();if(N===void 0){u.value=null;return}let ue=o.messages.find(O=>O.id===z);if(ue!==void 0){W+=1,u.value=ue;return}let de=n.getGeneration(),le=++W,De=await N.resolveMessage(z).catch(()=>null);le!==W||!L(N,de)||p.value!==null||s.value?.replyToMessageId!==z||(u.value=De);}function y(z){let N=Z();return N===void 0||!kr(z,N)?false:(p.value=null,u.value=z,_({...s.value??{text:"",attachments:[]},replyToMessageId:z.id}))}function C(z){if(z!==void 0&&s.value?.replyToMessageId!==z)return;u.value=null;let N=s.value;if(N===null)return;let{replyToMessageId:ue,...de}=N;_({...de});}function T(z){let N=Z();return N===void 0||!kr(z,N)?false:(u.value=null,p.value=z,true)}function F(){p.value=null,P();}function X(){W+=1,u.value=null,p.value=null;}function ce(z,N){return !G&&n.getGeneration()===z&&B===N}function ye(z){return [...ae.values()].some(N=>N.handle===z)}function Ie(z,N){return z!==null&&wo(fi(z),N)}function K(z,N,ue){!L(z,N)||s.value===null||!wo(s.value,ue)||(R+=1,g?.handle===z&&g.generation===N&&wo(g.input,ue)&&(g=void 0),s.value=null,W+=1,u.value=null);}async function Q(z){let N=[...$].filter(de=>de.handle===z.handle&&de.generation===z.generation).map(de=>de.promise.catch(()=>{}));if(N.length>0&&await Promise.all(N),!L(z.handle,z.generation))return;let ue=await z.handle.draft.get();if(!Ie(ue,z.input)){S?.token===z.token&&(S=void 0);return}S=z;try{await z.handle.draft.clear(),S?.token===z.token&&(S=void 0);}catch(de){if(L(z.handle,z.generation)){if(s.value===null&&g===void 0){let le={text:"",attachments:[]};R+=1,g={handle:z.handle,generation:z.generation,version:R,input:le};}x.value=Kt(de,"composer.draft",z.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:z.generation,conversation:mt(z.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:x.value}}));}}}function pe(z){if(!L(z.handle,z.generation)||s.value!==null)return;S=void 0;let N=Mr(z.input);R+=1,s.value=N,g={handle:z.handle,generation:z.generation,version:R,input:N},P();}async function ie(z){let N=p.value,ue=N===null?"send":"edit";if(N!==null&&j!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let de=Z(),le=n.getGeneration();if(de===void 0||!L(de,le))return Object.freeze({ok:false,operation:ue,reason:"not-ready"});let De=z.text.trim();if(De==="")return Object.freeze({ok:false,operation:ue,reason:"empty"});let O=B;if(N!==null&&!kr(N,de))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let I=Symbol(ue);N!==null&&(j=I),h.value=j!==void 0,x.value=null;let A=o.retainHandle(de),ee;if(N===null){let oe=Mr(z);ee={token:I,handle:de,generation:le,input:oe},ae.set(I,ee),K(de,le,oe);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:le,operation:ue,conversation:mt(de.ref),...N===null?{}:{messageId:N.id}}));try{if(N===null){if(!ce(le,O)||!L(de,le))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let oe=await de.messages.sendText(De,{...z.mentions===void 0?{}:{mentions:z.mentions},...z.replyToMessageId===void 0?{}:{replyToMessageId:z.replyToMessageId}});if(!ce(le,O)||!L(de,le))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!oe.ok)return ee!==void 0&&pe(ee),x.value=oe.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:oe.error});if(ee!==void 0&&(await Q(ee),!ce(le,O)||!L(de,le)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await de.messages.editText(N.id,De,{...z.mentions===void 0?{}:{mentions:z.mentions}});}catch(oe){if(!ce(le,O)||!L(de,le))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let te=Kt(oe,"composer.edit",de.ref);return x.value=te,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:te})}if(!ce(le,O)||!L(de,le))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});p.value===N&&F();}return x.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:le,operation:ue,conversation:mt(de.ref)})),Object.freeze({ok:!0,operation:ue})}catch(oe){if(!ce(le,O)||!L(de,le))return Object.freeze({ok:false,operation:ue,reason:"stale"});ee!==void 0&&pe(ee);let te=Kt(oe,`composer.${ue}`,de.ref);return x.value=te,Object.freeze({ok:false,operation:ue,reason:"sdk-rejected",error:te})}finally{A(),ae.delete(I),j===I&&(j=void 0),h.value=j!==void 0,L(de,le)&&be();}}function be(){let z=Z();if(z===void 0)return;let N=S,ue=N!==void 0&&N.handle===z&&N.generation===n.getGeneration()&&Ie(o.draft,N.input);N!==void 0&&!ue&&(S=void 0),!se(z)&&!ye(z)&&!ue&&(s.value=fi(o.draft)),p.value!==null&&!kr(p.value,z)&&(p.value=null),P();}function Pe(){B+=1,W+=1,R+=1,g=void 0,ae.clear(),S=void 0,D=Promise.resolve(),U=Promise.resolve(),s.value=null,u.value=null,p.value=null,j=void 0,h.value=false,w.value=0,x.value=null;}let Se=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(z,N)=>{if(z.ref!==N?.ref){Pe(),z.ref!==null&&be();return}be();},{immediate:true});function Ee(){G||(G=true,Se(),Pe());}return Sr.set(e,Object.freeze({suspendInteraction:X,syncReplyTarget:P,dispose:Ee})),{input:s,replyTo:u,editingMessage:p,submitting:h,draftCommitVersion:w,error:x,updateDraft:_,flush:Ce,hasPendingWork:se,submitText:ie,setReplyTo:y,clearReplyTo:C,setEditing:T,clearEditing:F,reset:Pe}})}var mi=new WeakMap,Or=new WeakMap;function Wn(e=ke()){ge(e);let n=mi.get(e);n===void 0&&(n=cl(e),mi.set(e,n));let r=n(e),o=xo(e);return Or.get(e)!==r&&(Or.set(e,r),Me(e,()=>{o.dispose(),r.$dispose(),Or.get(e)===r&&(Or.delete(e),Sr.get(e)===o&&Sr.delete(e));})),r}var Er=new WeakMap;function Nt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function vi(e){return [...e]}function dl(e){return defineStore("k2-im-message-operations",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Wn(e),u=xo(e),p=shallowRef(null),h=ref(false),w=ref([]),x=ref(null),G=ref(false),B=ref([]),W=shallowRef(null),R=false,g=0,D=0,U=0;function $$1(){return o.getHandle()}function ae(O,I=$$1()){let A=o.activeRef;return !R&&I!==void 0&&A!==null&&O.conversationType!=="supergroup"&&A.conversationId===O.conversationId&&A.conversationType===O.conversationType&&I.ref.conversationId===O.conversationId&&I.ref.conversationType===O.conversationType}function S(O){return v(p.value,O)}function j(){G.value=false,B.value=[];}function Z(){x.value=null;}function L(){let O=h.value;j(),Z(),h.value=false,w.value=[],O&&u.syncReplyTarget();}function se(O){if(O!==void 0){if(!ae(O))return Object.freeze({ok:false,reason:"not-ready"});if(!Nt(O))return Object.freeze({ok:false,reason:"not-selectable"});if(S(O))return Object.freeze({ok:false,reason:"pinned-protected"})}return u.suspendInteraction(),h.value=true,w.value=O===void 0?[]:[O],Object.freeze({ok:true})}function Ce(O){return w.value.some(I=>I.id===O)}function _(O){return !h.value||!ae(O)?Object.freeze({ok:false,reason:"not-ready"}):Nt(O)?S(O)?Object.freeze({ok:false,reason:"pinned-protected"}):(Ce(O.id)?w.value=w.value.filter(I=>I.id!==O.id):w.value=[...w.value,O],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function P(O){let I=$$1();return O.length===0||!O.every(A=>ae(A,I))?Object.freeze({ok:false,reason:"not-ready"}):(x.value=vi(O),Object.freeze({ok:true}))}function y(){let O=w.value;if(O.length===0)return Object.freeze({outcome:"empty"});let I=O.filter(ma);return O.some(ja$1)?(B.value=I,G.value=true,Object.freeze({outcome:"confirmation-required"})):I.length===0?Object.freeze({outcome:"all-skipped"}):(P(I),Object.freeze({outcome:"picker-opened"}))}function C(){let O=vi(B.value);return j(),O.length===0?Object.freeze({outcome:"all-skipped"}):(P(O),Object.freeze({outcome:"picker-opened"}))}async function T(O){let I=x.value,A=$$1();if(I===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let ee=n.getGeneration(),oe=++g,te=await $(n,{handle:A,messages:I,targets:O});return R||oe!==g||n.getGeneration()!==ee||$$1()!==A?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((te.ok||te.reason!=="stale")&&Z(),te.ok&&L(),W.value=te.ok?null:te.error??null,r.record(te.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:ee,conversation:A===void 0?void 0:{...A.ref},result:te.ok?{ok:true,sentCount:te.sentCount,skippedCount:te.skippedCount}:{ok:false,reason:te.reason,error:te.error}})),te)}function F(O,I,A){W.value=O.ok?null:O.error??null,r.record(O.ok?"debug":"error","pinia","message",`message-${O.operation}-settled`,()=>({generation:n.getGeneration(),conversation:A===void 0?void 0:{...A.ref},messageId:I,result:O.ok?{ok:true}:{ok:false,reason:O.reason,error:O.error}}));}function X(O,I){return I!==void 0&&(R||$$1()!==I)?Object.freeze({ok:false,operation:O.operation,reason:"stale"}):O}async function ce(O){let I=$$1(),A=X(await ba(n,{handle:I,message:O}),I);return F(A,O.id,I),A}async function ye(O){let I=$$1(),A=X(await ca(n,{handle:I,message:O}),I);return F(A,O.id,I),A}async function Ie(O){let I=$$1(),A=X(await da(n,{handle:I,message:O}),I);return F(A,O.id,I),A}async function K(O){let I=$$1(),A=X(await ea(n,{handle:I,messageId:O}),I);return F(A,O,I),A}function Q(){let O=o.activeRef;if(!(O?.conversationType!=="group"&&O?.conversationType!=="channel"))return Object.freeze({conversationId:O.conversationId,conversationType:O.conversationType})}function pe(O,I,A){let ee=Q();return !R&&O===D&&I!==void 0&&$$1()===I&&ee?.conversationId===A.conversationId&&ee.conversationType===A.conversationType}function ie(O,I,A){let ee=Q();return !R&&O===U&&$$1()===I&&ee?.conversationId===A.conversationId&&ee.conversationType===A.conversationType}function be(O){if(w.value=w.value.filter(I=>I.id!==O),B.value=B.value.filter(I=>I.id!==O),x.value!==null){let I=x.value.filter(A=>A.id!==O);x.value=I.length===0?null:I;}s.editingMessage?.id===O&&s.clearEditing();}async function Pe(O){let I=Q(),A=$$1();if(I===void 0||!ae(O,A))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let ee=++D;U+=1;let oe=await ga(n,{conversation:I,message:O});return pe(ee,A,I)?(oe.ok&&oe.operation==="pin"?(p.value=oe.value,be(oe.value.messageId),W.value=null):W.value=oe.ok?null:oe.error??null,oe):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Se(){let O=Q(),I=$$1();if(O===void 0||I===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let A=++D;U+=1;let ee=await ha(n,O);return pe(A,I,O)?(ee.ok&&ee.operation==="unpin"?(p.value=null,W.value=null):W.value=ee.ok?null:ee.error??null,ee):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function Ee(){let O=Q();if(O===void 0){p.value=null;return}try{p.value=ja(n,O);}catch{p.value=null;}}async function z(){let O=Q(),I=$$1();if(O===void 0||I===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let A=n.getGeneration(),ee=++U;Ee();let oe=await ia(n,O);return n.getGeneration()!==A||!ie(ee,I,O)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(oe.ok&&oe.operation==="sync-pin"?(p.value=oe.value,W.value=null):W.value=oe.ok?null:oe.error??null,oe)}function N(O){let I=new Map(O.map(te=>[te.id,te])),A=te=>te.flatMap(Re=>{let re=I.get(Re.id);return re!==void 0&&Nt(re)?[re]:[]});if(w.value=A(w.value),B.value=A(B.value),x.value!==null){let te=A(x.value);x.value=te.length===0?null:te;}let ee=s.editingMessage;if(ee!==null){let te=I.get(ee.id);(te===void 0||!Nt(te))&&s.clearEditing();}let oe=s.input?.replyToMessageId;if(oe!==void 0){let te=I.get(oe);te!==void 0&&!Nt(te)&&s.clearReplyTo(oe);}}let ue=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(O,I)=>{O.ref!==I?.ref&&(g+=1,D+=1,U+=1,Ee(),h.value=false,w.value=[],x.value=null,j(),W.value=null),N(O.messages);},{immediate:true}),de=n.subscribeEvents(O=>{if(O.type!=="pinned-message:updated")return;let I=Q();if(!(I===void 0||I.conversationId!==O.conversation.conversationId||I.conversationType!==O.conversation.conversationType)){if(U+=1,O.pinnedMessage===null){p.value=null;return}try{p.value=ja(n,I),be(O.pinnedMessage.messageId);}catch{}}});function le(){g+=1,D+=1,U+=1,h.value=false,w.value=[],x.value=null,j(),W.value=null,Ee();}function De(){R||(R=true,ue(),de(),le());}return Er.set(e,Object.freeze({dispose:De})),{activePinnedMessage:p,isMessageMultiSelect:h,selectedMessages:w,forwardPickerMessages:x,forwardTypeConfirmOpen:G,pendingForwardReadyMessages:B,error:W,enterMultiSelect:se,exitMultiSelect:L,isSelected:Ce,toggleSelection:_,openForwardPicker:P,closeForwardPicker:Z,prepareForwardFromSelection:y,cancelForwardTypeConfirmation:j,confirmForwardTypeConfirmation:C,forward:T,recall:ce,deleteLocal:ye,deleteForEveryone:Ie,retry:K,pin:Pe,unpin:Se,syncPinned:z,isPinnedMessageProtected:S,reset:le}})}var gi=new WeakMap,Tr=new WeakMap;function Lt(e=ke()){ge(e);let n=gi.get(e);n===void 0&&(n=dl(e),gi.set(e,n));let r=n(e),o=Er.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Tr.get(e)!==r&&(Tr.set(e,r),Me(e,()=>{o.dispose(),r.$dispose(),Tr.get(e)===r&&(Tr.delete(e),Er.get(e)===o&&Er.delete(e));})),r}var Ao=Object.freeze({availability:"unknown",reason:"not-ready"});function vl(e){return defineStore("k2-im-capabilities",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Lt(e),u=shallowRef(null),p=false,h,w,x;function G$1(){w!==void 0&&(clearTimeout(w),w=void 0);}function B(_){G$1();let P=_.nextEvaluationAt;if(P===void 0)return;let y=Math.max(0,P-Date.now());w=setTimeout(()=>{w=void 0,g();},y);}function W(_){p||(u.value=_,B(_));}function R(_){let P=o.activeRef;return P!==null&&P.conversationType===_.conversationType&&P.conversationId===_.conversationId}function g(_=Date.now()){let P=o.activeRef,y=n.getProductClient();P===null||y===null||W(y.capabilities.get(P,{nowMs:_}));}function D(){h?.(),h=void 0,G$1(),u.value=null;let _=o.activeRef,P=n.getProductClient();_===null||P===null||(h=P.capabilities.subscribe(_,W));}function U(){D();}function $(){h?.(),h=void 0,G$1(),u.value=null;}async function ae(){let _=o.activeRef,P=n.getProductClient();if(_===null||P===null)return;let y=n.getGeneration();try{let C=await P.capabilities.refresh(_);if(p||y!==n.getGeneration()||!R(_))return;W(C);}catch(C){if(p||y!==n.getGeneration()||!R(_))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:C}})),W(P.capabilities.get(_));}}function S(_){return u.value===null?Ao:F(u.value,_)}function j(_){return S(_)}function Z(_){return S(_)}function L(_,P){let y=u.value;return y===null?Ao:H(_,{snapshot:y,selfId:n.getCredentials().userId,...P})}function se(_,P){let y=u.value;return y===null?Ao:G(_,{snapshot:y,message:P,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function Ce(){p||(p=true,x?.(),x=void 0,$());}return x=watch(()=>o.activeRef,D,{deep:true,immediate:true}),{activeSnapshot:u,start:U,reset:$,refresh:ae,conversationAction:S,profileAction:j,memberAction:Z,memberTargetAction:L,messageAction:se,dispose:Ce}})}var Ii=new WeakMap,jr=new WeakMap;function gl(e=ke()){ge(e);let n=Ii.get(e);n===void 0&&(n=vl(e),Ii.set(e,n));let r=n(e);return jr.get(e)!==r&&(jr.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),jr.get(e)===r&&jr.delete(e);})),r}var Ut=new WeakMap;function yi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Il(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 hi(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&hl(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:yi(r)})}function bi(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function yl(e=ke()){let n=ge(e),r=Ut.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),u=Wn(e),p=Ge(e),h={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:p.invalidatePendingOpen};async function w(x){let G=yi(x);h.conversation=G;let B=++h.epoch,W=o.getGeneration(),R=()=>!h.disposed&&h.epoch===B&&o.getGeneration()===W;if(p.invalidatePendingOpen(),s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:W,conversation:G})),!Il(G))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:W,conversation:G})),Object.freeze({ok:false,reason:"unsupported",conversation:G});let g=p.getHandle();if(g!==void 0&&u.hasPendingWork(g))try{await u.flush(g);}catch(D){if(!R())return Object.freeze({ok:false,reason:"stale",conversation:G});let U=hi(D,"flush",G);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:W,conversation:G,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:U}})),Object.freeze({ok:false,reason:"draft-save-failed",conversation:G,error:U})}if(!R())return Object.freeze({ok:false,reason:"stale",conversation:G});if(p.getHandle()!==void 0&&bi(p.activeRef,G))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:W,conversation:G,data:{reused:true}})),Object.freeze({ok:true,status:"opened",conversation:G});try{if(await p.open(G)===void 0||!R())return Object.freeze({ok:!1,reason:"stale",conversation:G})}catch(D){if(!R())return Object.freeze({ok:false,reason:"stale",conversation:G});let U=hi(D,"open",G);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:W,conversation:G,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:U}})),Object.freeze({ok:false,reason:"open-failed",conversation:G,error:U})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:W,conversation:G})),Object.freeze({ok:true,status:"opened",conversation:G})}return h.coordinator=Object.freeze({activate:w}),Ut.set(e,h),Me(e,()=>{h.disposed=true,h.conversation=null,h.epoch+=1,Ut.get(e)===h&&Ut.delete(e);}),h.coordinator}function Ci(e,n){let r=Ut.get(e);r===void 0||r.disposed||!bi(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Ri(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pt(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&Rl(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Pl(e){return defineStore("k2-im-conversation-list",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=ref([]),s=ref("idle"),u=ref(0),p=shallowRef(null),h=false,w=null,x,G=0;function B(y="idle"){o.value=[],s.value=y,u.value=0,p.value=null;}function W(y,C,T){h||w!==C||n.getGeneration()!==T||(o.value=y.items,s.value=y.state,u.value=y.totalUnread,p.value=y.error??null);}function R(y){if(h)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(w===y||(x?.(),x=void 0,w=y,G+=1,B(),y===null))return;let C=n.getGeneration();x=y.conversations.subscribe(T=>W(T,y,C)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:C}));}function g(){R(n.getProductClient());}function D(){R(null);}function U(y){return !h&&w===y.client&&n.getProductClient()===y.client&&n.getGeneration()===y.generation&&G===y.bindingEpoch}function $(){let y=n.ensureProductClient();return R(y),{client:y,generation:n.getGeneration(),bindingEpoch:G}}async function ae(){if(h)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let y;try{y=$();}catch(C){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:pt(C,"refresh")})}try{return await y.client.conversations.refresh(),U(y)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(C){return U(y)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:pt(C,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function S(y,C,T){let F=Ri(C);if(h)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:F});let X;try{X=$();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)})}try{T(X.client,F);}catch(ce){return U(X)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}return U(X)?Object.freeze({ok:true,operation:y,conversation:F}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}async function j(y,C,T){let F=Ri(C);if(h)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:F});let X;try{X=$();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)})}try{return await T(X.client,F),U(X)?Object.freeze({ok:!0,operation:y,conversation:F}):Object.freeze({ok:!1,operation:y,reason:"stale",conversation:F})}catch(ce){return U(X)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}}function Z(y,C){return S("set-pinned",y,(T,F)=>T.conversations.setPinned(F,C))}function L(y,C){return j("set-muted",y,(T,F)=>T.conversations.setMuted(F,C))}function se(y){return j("mark-read",y,(C,T)=>C.conversations.markRead(T))}function Ce(y){return S("mark-unread",y,(C,T)=>C.conversations.markUnread(T))}function _(y){return S("delete-local",y,(C,T)=>C.conversations.deleteLocal(T))}function P(){h||(x?.(),x=void 0,w=null,B(),h=true);}return {items:o,state:s,totalUnread:u,error:p,start:g,reset:D,refresh:ae,setPinned:Z,setMuted:L,markRead:se,markUnread:Ce,deleteLocal:_,dispose:P}})}var Pi=new WeakMap,wr=new WeakMap;function Go(e=ke()){ge(e);let n=Pi.get(e);n===void 0&&(n=Pl(e),Pi.set(e,n));let r=n(e);return wr.get(e)!==r&&(wr.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),wr.get(e)===r&&wr.delete(e);})),r}var Tl=250,El=2e3;function Oi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Do(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function _o(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:Oi(r)}})}function jl(e){return defineStore("k2-im-search",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref(""),u=ref([]),p=ref(false),h=ref(false),w=ref("all"),x=ref(""),G=ref(""),B=shallowRef(null),W=false,R=0,g=0,D,U,$,ae;function S(){let K=o.activeRef,Q=o.getHandle();if(!(W||K===null||Q===void 0||!Do(K,Q.ref)))return {ref:Oi(K),handle:Q,generation:n.getGeneration()}}function j(K){return !W&&n.getGeneration()===K.generation&&o.getHandle()===K.handle&&Do(o.activeRef,K.ref)}function Z(){let K=U;K!==void 0&&(clearTimeout(K.timer),U=void 0,K.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function L(){$!==void 0&&(clearTimeout($),$=void 0);}function se(K,Q){return Q===R&&(p.value=false),Object.freeze({ok:false,operation:K,reason:"stale"})}function Ce(K,Q){return K===g&&x.value===Q&&(x.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function _(K,Q,pe){switch(pe){case "all":return va(n,{conversation:K.ref,keyword:Q});case "text":return wa(n,{conversation:K.ref,keyword:Q});case "file":return xa(n,{conversation:K.ref,keyword:Q});case "image":return ya(n,{conversation:K.ref});case "video":return za(n,{conversation:K.ref});case "voice":return Aa(n,{conversation:K.ref})}}function P(K,Q){return K!==""?true:Q!=="all"&&Q!=="text"}function y(K){s.value=K,Z();let Q=++R,pe=K.trim(),ie=w.value,be=P(pe,ie);if(D=void 0,u.value=[],h.value=false,B.value=null,!be)return p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let Pe=S();return Pe===void 0?(p.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(p.value=true,new Promise(Se=>{let Ee=setTimeout(()=>{if(U?.timer===Ee&&(U=void 0),Q!==R||!j(Pe)){Se(se("search",Q));return}r.record("debug","pinia","history","search-start",()=>({generation:Pe.generation,conversation:Pe.ref,category:ie})),_(Pe,pe,ie).then(z=>{if(Q!==R||!j(Pe)){Se(se("search",Q));return}u.value=[...z.results],D=z.nextPageToken,h.value=!z.exhausted,p.value=false,Se(Object.freeze({ok:true,operation:"search"}));}).catch(z=>{if(Q!==R||!j(Pe)){Se(se("search",Q));return}let N=_o(z,"search.first-page",Pe.ref);B.value=N,p.value=false,Se(Object.freeze({ok:false,operation:"search",reason:"failed",error:N}));});},Tl);U={timer:Ee,resolve:Se};}))}function C(K){return w.value=K,(K==="image"||K==="video"||K==="voice")&&(s.value=""),y(s.value)}async function T(){if(p.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!h.value||D===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let K=S();if(K===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let Q=D,pe=++R;p.value=true,B.value=null;try{let ie=await Ba(n,Q);return pe!==R||!j(K)?se("load-more",pe):(u.value=[...u.value,...ie.results],D=ie.nextPageToken,h.value=!ie.exhausted,p.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(ie){if(pe!==R||!j(K))return se("load-more",pe);let be=_o(ie,"search.next-page",K.ref);return B.value=be,p.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:be})}}async function F(K,Q){let pe=S();if(pe===void 0||!Do(pe.ref,K))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let ie=++g;L(),G.value="",x.value=Q,B.value=null;try{return !o.messages.some(Pe=>Pe.id===Q)&&!await o.loadAround(Q)||(await nextTick(),ie!==g||!j(pe))?Ce(ie,Q):(G.value=Q,Object.freeze({ok:!0,operation:"locate"}))}catch(be){if(ie!==g||!j(pe))return Ce(ie,Q);let Pe=_o(be,"search.locate",pe.ref);return x.value="",B.value=Pe,Object.freeze({ok:false,operation:"locate",reason:"failed",error:Pe})}}function X(K){if(x.value!==K)return false;x.value="";let Q=g,pe=S();return L(),pe===void 0||G.value!==K||($=setTimeout(()=>{$=void 0,Q===g&&j(pe)&&G.value===K&&(G.value="");},El)),true}function ce(){g+=1,L(),x.value="",G.value="";}function ye(K){R+=1,Z(),s.value="",u.value=[],p.value=false,h.value=false,w.value="all",D=void 0,B.value=null,K?.preserveLocation!==true&&ce();}function Ie(){W||(ye(),W=true,ae?.(),ae=void 0);}return ae=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>ye(),{flush:"sync"}),{keyword:s,results:u,searching:p,hasMore:h,category:w,locatingMessageId:x,highlightMessageId:G,error:B,search:y,setCategory:C,loadMore:T,locate:F,completeLocation:X,clearLocation:ce,reset:ye,dispose:Ie}})}var ki=new WeakMap,xr=new WeakMap;function Mn(e=ke()){ge(e);let n=ki.get(e);n===void 0&&(n=jl(e),ki.set(e,n));let r=n(e);return xr.get(e)!==r&&(xr.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),xr.get(e)===r&&xr.delete(e);})),r}var Ar=new WeakMap;function Mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function wl(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function xl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Al(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&&xl(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Mi(n)})}function zl(e=ke()){let n=ge(e),r=Ar.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),u=Go(e),p=Ge(e),h=Wn(e),w=Lt(e),x=Mn(e),G={disposed:false};function B(W){let R=Mi(W);if(G.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let g=o.getGeneration(),D=p.activeRef!==null&&p.activeRef.conversationType===R.conversationType&&p.activeRef.conversationId===R.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:g,conversation:R})),!wl(R))return Object.freeze({ok:false,reason:"unsupported",conversation:R});let U=u.deleteLocal(R);if(!U.ok){if(U.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:R});let S=Al(U.error,R);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:g,conversation:R,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:S}})),Object.freeze({ok:false,reason:"delete-failed",conversation:R,error:S})}if(G.disposed||o.getGeneration()!==g)return Object.freeze({ok:false,reason:"stale",conversation:R});Ci(e,R);let $=p.closeActiveConversation(R),ae=D||$;return ae&&(h.reset(),w.reset(),x.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:g,conversation:R,data:{activeConversationCleared:ae}})),Object.freeze({ok:true,status:"deleted",conversation:R,activeConversationCleared:ae})}return G.coordinator=Object.freeze({deleteLocal:B}),Ar.set(e,G),Me(e,()=>{G.disposed=true,Ar.get(e)===G&&Ar.delete(e);}),G.coordinator}var Si=30,Dl=15,_l=20,Fl=4294967295,Ti=new WeakMap;function Gr(e){return typeof e=="object"&&e!==null}function yt(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 Ei(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Fl)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Kl(e,n){if(!Gr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=yt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Ei(e.width,"asset.width"),u=Ei(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:yt(e.packageId,"asset.packageId"),resourceId:yt(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:yt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...p===void 0?{}:{resourceId:p},url:r,width:s,height:u})}function $t(e,n){let r=Ti.get(e);r===void 0&&(r=new Map,Ti.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function ji(e,n,r,o){let s=$t(e,n),u=++s.revision;for(let h of o)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 Dr=new WeakMap;function qt(){return reactive({loading:false,loaded:false,error:null})}function gt(e){return {sticker:e(),gif:e()}}function wi(e){return {sticker:e(),gif:e(),emoji:e()}}function Fn(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 Hl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function It(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&&Hl(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 Fo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function xi(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function ht(e){return "recordId"in e?e.recordId:void 0}function Nl(e){let n=[];for(let r=0;r<e.length;r+=Si)n.push(e.slice(r,r+Si));return n}function _r(e){return e==="gif"?_l:Dl}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 Ko(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ne(o)!==r)].slice(0,_r(n.kind)))}function Ll(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ne(o)!==r)])}function Ai(e,n,r){let o=[],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),o.push(Object.freeze({...u})),o.length===_r(e)))break}return Object.freeze(o)}function zi(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function Lo(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 Ho(e,n,r){let o=e.filter(h=>h.kind==="emoji").slice(0,14).map(h=>Object.freeze({kind:"emoji",stableKey:Lo(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,...o])if(!p.has(h.stableKey)&&(p.add(h.stableKey),u.push(h),u.length===14))break;return Object.freeze(u)}function No(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Ul(e){return defineStore("k2-im-expression",()=>{let n=ge(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),u=ref(""),p=ref([]),h=ref({}),w=qt(),x=reactive({}),G=ref({sticker:[],gif:[]}),B=gt(qt),W=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),g=wi(qt),D=ref({sticker:[],gif:[],emoji:[]}),U=ref([]),$=ref("idle"),ae=ref(""),S=ref([]),j=ref(0),Z=qt(),L=ref(void 0),se=computed(()=>Fn(w,p.value.length)),Ce=computed(()=>{let d=new Set([...Object.keys(x),...Object.keys(h.value)]);return Object.fromEntries([...d].map(m=>{let v=x[m]??{loading:false,loaded:true,error:null};return [m,Fn(v,h.value[m]?.length??0)]}))}),_=computed(()=>({sticker:Fn(B.sticker,G.value.sticker.length),gif:Fn(B.gif,G.value.gif.length)})),P=computed(()=>({sticker:Fn(g.sticker,R.value.sticker.length),gif:Fn(g.gif,R.value.gif.length),emoji:Fn(g.emoji,U.value.length)})),y=computed(()=>Fn(Z,S.value.length)),C=computed(()=>L.value!==void 0),T=false,F=0,X=0,ce={},ye=gt(()=>0),Ie=wi(()=>0),K=0,Q=0,pe=0,ie=0,be=0,Pe=null,Se=null,Ee=null,z="emoji",N=new Set,ue=[],de=null,le=null,De=null,O=null,I=gt(()=>new Map),A=gt(()=>new Map),ee=new Map,oe=new Map,te=gt(()=>Promise.resolve());function Re(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:F,accountId:d.userId}}function re(d){return !T&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===F&&d.accountId===r.getCredentials().userId}function ve(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,m,v){let b=It(m,d);return v.error=b,Object.freeze({ok:false,operation:d,reason:"failed",error:b})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function oo(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 yn(){let d=m=>Object.freeze(R.value[m].flatMap(v=>{let b=oo(v);return b===null?[]:[Object.freeze({asset:b,pendingSync:I[m].has(Ne(b))})]}).slice(0,_r(m)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(U.value.map(m=>m.kind==="game"?Object.freeze({...m}):Object.freeze({...m,pendingSync:ee.has(m.stableKey)})))})}function bn(){for(let d of ["sticker","gif","emoji"])g[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(g[d].error=null);}function cn(d,m){let v=Fo({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 Xt(d,m,v,b=[m]){let k=o,E=++pe,Y=ji(k,d.accountId,v,b);be=Y.revision;let ne=Y.promise.then(()=>(re(d)&&E===pe&&bn(),true),J=>{if(!re(d)||E!==pe)return false;let fe=Fo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return g[m].error=fe,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:fe.code,data:J}})),false});return {...Y,settled:ne}}function Sn(d){return Pe!==null&&Ve(Pe,d)}function Cn(d){if(De!==null)return De;let v=(async()=>{for(;re(d)&&!Sn(d);){let k=O!==null&&Ve(O.context,d)?O:null;if(k!==null){let Y=await k.promise;if(Y.ok||!re(d)||Y.reason!=="stale")return;continue}let E=await qe();if(E.ok||!re(d)||E.reason!=="stale")return}})();De=v;let b=()=>{De===v&&(De=null);};return v.then(b,b),v}function ln(d,m,v){if(!re(d))return Promise.resolve();if(ie+=1,o===void 0||d.accountId==="")return Pe=d,Promise.resolve();let b=yn();return Sn(d)?Xt(d,m,b).settled.then(()=>{}):(Ee=b,z=m,N.add(m),ue.push(v),Cn(d))}function Yt(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function un(d$1,m){let v=[...d$1.sticker],b=[...d$1.gif],k=[...d$1.emoji],E=new Map(d$1.pendingSticker),Y=new Map(d$1.pendingGif),ne=new Map(d$1.pendingEmoji);for(let J of m){if(J.type==="prepend-asset"){(J.kind==="sticker"?E:Y).set(Ne(J.asset),J.asset),J.kind==="sticker"?v=[...Ko(v,J.asset)]:b=[...Ko(b,J.asset)];continue}if(J.type==="prepend-emoji"||J.type==="prepend-emojis"){let me=J.type==="prepend-emoji"?[J.entry]:J.entries;for(let Ae of me)Ae.kind==="emoji"&&ne.set(Ae.stableKey,Ae),k=[...d(k,Ae)];continue}if(J.type==="authoritative"){if(J.kind==="emoji"){for(let me of J.items)if(me.kind==="emoji")for(let[Ae,_e]of ne)_e.resourceId===me.resourceId&&ne.delete(Ae);k=[...Ho(J.items,k,new Set(ne.keys()))];}else {let me=J.kind==="sticker"?E:Y;for(let _e of J.items)_e.kind===J.kind&&me.delete(Ne(_e));let Ae=Ai(J.kind,J.items,me);J.kind==="sticker"?v=[...Ae]:b=[...Ae];}continue}if(J.type==="delete-assets"){let me=new Set(J.identities),Ae=J.kind==="sticker"?E:Y,_e=Te=>Te.kind==="emoji"||!me.has(Ne(Te))||Ae.has(Ne(Te));J.kind==="sticker"?v=v.filter(_e):b=b.filter(_e);continue}let fe=new Set(J.resourceIds);k=k.filter(me=>me.kind==="game"||!fe.has(me.resourceId)||ne.has(me.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(b),emoji:Object.freeze(k),pendingSticker:E,pendingGif:Y,pendingEmoji:ne}}function tt(d){if(!Gr(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=(ne,J)=>{let fe=[],me=new Map,Ae=new Set;for(let _e of J){if(!Gr(_e)||typeof _e.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Te=Kl(_e.asset,ne),He=Ne(Te);Ae.has(He)||(Ae.add(He),fe.length<_r(ne)&&(fe.push(Te),_e.pendingSync&&me.set(He,Te)));}return {items:Object.freeze(fe),pending:me}},v=m("sticker",d.sticker),b=m("gif",d.gif),k=[],E=new Map,Y=new Set;for(let ne of d.emoji){if(!Gr(ne)||typeof ne.stableKey!="string"||ne.stableKey.trim()===""||ne.kind!=="emoji"&&ne.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let J=ne.stableKey.trim(),fe,me=false;if(ne.kind==="game"){if(ne.gameType!=="dice"&&ne.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(fe=No(ne.gameType),fe.stableKey!==J)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let Ae=yt(ne.token,"emoji.token"),_e=yt(ne.resourceId,"emoji.resourceId");if(typeof ne.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");me=ne.pendingSync,fe=Object.freeze({kind:"emoji",stableKey:J,token:Ae,resourceId:_e});}Y.has(J)||(Y.add(J),k.length<14&&(k.push(fe),fe.kind==="emoji"&&me&&E.set(J,fe)));}return {sticker:v.items,gif:b.items,emoji:Object.freeze(k),pendingSticker:v.pending,pendingGif:b.pending,pendingEmoji:E}}function Rn(d){R.value={sticker:d.sticker,gif:d.gif,emoji:[]},D.value={sticker:[],gif:[],emoji:[]},U.value=d.emoji,I.sticker.clear(),I.gif.clear(),ee.clear();for(let[m,v]of d.pendingSticker)I.sticker.set(m,v);for(let[m,v]of d.pendingGif)I.gif.set(m,v);for(let[m,v]of d.pendingEmoji)ee.set(m,v);for(let m of ["sticker","gif","emoji"])Object.assign(g[m],{loading:false,loaded:true,error:null});}function Ue(d,m){if(o===void 0||d.accountId==="")return 0;let v=$t(o,d.accountId);return m===void 0?v.revision:v.kindRevisions[m]}function ze(d){if(o===void 0||d.accountId===""||!Sn(d))return;let m=$t(o,d.accountId);if(m.revision===be)return;let v=m.latestSnapshot===null?Yt():tt(m.latestSnapshot),b=(k,E)=>{let Y=k==="sticker"?v.pendingSticker:v.pendingGif,ne=new Map(R.value[k].flatMap(J=>J.kind==="emoji"||J.kind!==k?[]:[[Ne(J),J]]));return Object.freeze(E.map(J=>{if(J.kind==="emoji"||J.kind!==k)return J;let fe=Ne(J);if(Y.has(fe))return J;let me=ht(ne.get(fe)??J);return Object.freeze({...J,...me===void 0?{}:{recordId:me}})}))};R.value={sticker:b("sticker",v.sticker),gif:b("gif",v.gif),emoji:R.value.emoji},U.value=v.emoji,I.sticker.clear(),I.gif.clear(),ee.clear();for(let[k,E]of v.pendingSticker)I.sticker.set(k,E);for(let[k,E]of v.pendingGif)I.gif.set(k,E);for(let[k,E]of v.pendingEmoji)ee.set(k,E);for(let k of ["sticker","gif"]){let E=new Set(R.value[k].flatMap(Y=>ht(Y)===void 0?[]:[ht(Y)]));D.value={...D.value,[k]:Object.freeze(D.value[k].filter(Y=>E.has(Y)))};}be=m.revision;}async function dn(d,m,v,b){let k="hydrate-recent";g.emoji.error=null;try{let E=null,Y=0;if(o!==void 0&&d.accountId!==""){E=$t(o,d.accountId);let Te=E.latestSnapshot;if(!b&&E.status==="failed"&&Te!==null&&ji(o,d.accountId,Te,[]),Y=E.revision,await E.tail.catch(()=>{}),m!==Q||!re(d)||ie!==v||E.revision!==Y)return ve(k);if(!b&&E.status==="failed")return cn(k,g.emoji);E.status==="saved"&&de!==null&&E.latestSnapshot===de&&Ee===le&&(Ee=null,N.clear(),ue.length=0,de=null,le=null);}let ne=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(m!==Q||!re(d)||ie!==v||E!==null&&E.revision!==Y)return ve(k);let J;try{J=ne===null?Yt():tt(ne);}catch(Te){let He=o?.clearInvalid;if(ne!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,ne);}catch(Xe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Xe})}throw Te}let fe=b?null:Ee,me=new Set(N),Ae=[...ue],_e=fe===null?J:un(J,Ae);if(Rn(_e),be=Y,b){if(Ee=null,N.clear(),ue.length=0,de=null,le=null,E!==null){E.revision+=1;for(let Te of ["sticker","gif","emoji"])E.kindRevisions[Te]+=1;E.status="saved",E.latestSnapshot=ne,E.error=null,be=E.revision;}return Pe=d,bn(),Object.freeze({ok:!0,operation:k})}if(fe!==null&&o!==void 0&&d.accountId!==""){let Te=yn();de=Te,le=fe;let He=Xt(d,z,Te,[...me]),Xe=await He.settled;if(m!==Q||!re(d)||ie!==v||He.coordinator.revision!==He.revision)return ve(k);if(!Xe)return cn(k,g.emoji);Ee===fe&&(Ee=null,N.clear(),ue.length=0,de=null,le=null);}return Pe=d,Object.freeze({ok:!0,operation:k})}catch(E){return m!==Q||!re(d)?ve(k):we(k,E,g.emoji)}}function Ve(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(T)return Promise.resolve(ve(m));let v;try{v=Re();}catch(fe){let me=we(m,fe,g.emoji);return !me.ok&&me.reason==="failed"&&(Se=me.error??g.emoji.error),Promise.resolve(me)}let b=o===void 0||v.accountId===""?null:$t(o,v.accountId);if(!d.force&&Sn(v)&&Ee===null&&(b===null||(b.status==="idle"||b.status==="saved")&&b.revision===be))return Se=null,Promise.resolve(Object.freeze({ok:true,operation:m}));if(!d.force&&O!==null&&!O.force&&O.stateRevision===ie&&Ve(O.context,v))return O.promise;let k=++Q,E=ie,Y=dn(v,k,E,d.force===true).then(fe=>(fe.ok?Se=null:fe.reason==="failed"&&(Se=fe.error??g.emoji.error),fe)),ne={context:v,stateRevision:E,force:d.force===true,promise:Y};O=ne;let J=()=>{O===ne&&(O=null);};return Y.then(J,J),Y}async function fn(d){let m="load-packs";if(T)return ve(m);let v=++X,b;try{b=Re();}catch(k){return we(m,k,w)}w.loading=true,w.error=null;try{let k=await b.client.expressions.packs.list(d);return v!==X||!re(b)?ve(m):(u.value=k.version,p.value=Object.freeze([...k.items]),w.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(k){return v!==X||!re(b)?ve(m):we(m,k,w)}finally{v===X&&re(b)&&(w.loading=false);}}async function Tn(d){let m="load-pack-items";if(T)return ve(m);let v=d.trim();if(v===""){let Y=It(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),m);return Object.freeze({ok:false,operation:m,reason:"failed",error:Y})}let b=x[v]??=qt(),k=(ce[v]??0)+1;ce[v]=k;let E;try{E=Re();}catch(Y){return we(m,Y,b)}b.loading=true,b.error=null;try{let Y=await E.client.expressions.packs.listItems(v);return ce[v]!==k||!re(E)?ve(m):(h.value={...h.value,[v]:Object.freeze([...Y])},b.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(Y){return ce[v]!==k||!re(E)?ve(m):we(m,Y,b)}finally{ce[v]===k&&re(E)&&(b.loading=false);}}async function rt(d){let m="load-favorites";if(T)return ve(m);let v=++ye[d],b=B[d],k;try{k=Re();}catch(E){return we(m,E,b)}b.loading=true,b.error=null;try{let E=await k.client.expressions.favorites.list(d);return ye[d]!==v||!re(k)?ve(m):(Nn(d,E),b.loaded=!0,Object.freeze({ok:!0,operation:m}))}catch(E){return ye[d]!==v||!re(k)?ve(m):we(m,E,b)}finally{ye[d]===v&&re(k)&&(b.loading=false);}}function Nn(d,m){for(let E of m)A[d].delete(Ne(E));let v=[],b=new Set;for(let E of [...A[d].values(),...m]){let Y=Ne(E);b.has(Y)||(b.add(Y),v.push(Object.freeze({...E})));}G.value={...G.value,[d]:Object.freeze(v)};let k=new Set(m.flatMap(E=>E.recordId===void 0?[]:[E.recordId]));W.value={...W.value,[d]:Object.freeze(W.value[d].filter(E=>k.has(E)))};}async function Ln(d,m,v){let b=B[m];try{let k=await d.client.expressions.favorites.list(m);if(ye[m]!==v||!re(d))return;Nn(m,k),b.loaded=!0;}catch(k){ye[m]===v&&re(d)&&(b.error=It(k,"load-favorites"));}}function Pn(d,m){let v="set-favorite";if(T)return Promise.resolve(ve(v));let b=Ne(d),k=oe.get(b);if(k?.desired===m)return k.promise;let E;try{E=Re();}catch(fe){return Promise.resolve(we(v,fe,B[d.kind]))}let Y=k?.promise.catch(()=>{})??Promise.resolve(),ne=te[d.kind].catch(()=>{}),J=Promise.all([Y,ne]).then(async()=>{if(!re(E))return ve(v);let fe=d.kind,me=B[fe];me.error=null;let Ae=G.value[fe].find(Te=>Ne(Te)===b);if(m&&Ae!==void 0)return Object.freeze({ok:true,operation:v});if(!m&&Ae?.recordId===void 0){let Te=Fo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return me.error=Te,Object.freeze({ok:false,operation:v,reason:"failed",error:Te})}let _e=++ye[fe];try{if(m?await E.client.expressions.favorites.add(d):await E.client.expressions.favorites.delete([Ae.recordId]),!re(E))return ve(v);m?(A[fe].set(b,Object.freeze({...d})),G.value={...G.value,[fe]:Ll(G.value[fe],d)}):(A[fe].delete(b),G.value={...G.value,[fe]:Object.freeze(G.value[fe].filter(He=>He.recordId!==Ae.recordId))});let Te=++ye[fe];return _e=Te,await Ln(E,fe,Te),!re(E)||ye[fe]!==Te?ve(v):Object.freeze({ok:!0,operation:v})}catch(Te){return !re(E)||ye[fe]!==_e?ve(v):we(v,Te,me)}finally{ye[fe]===_e&&re(E)&&(me.loading=false);}});return oe.set(b,{desired:m,promise:J}),te[d.kind]=J.then(()=>{},()=>{}),J.finally(()=>{oe.get(b)?.promise===J&&oe.delete(b);}),J}async function En(d){let m=await Pn(d,true);return Object.freeze({...m,operation:"add-favorite"})}function jn(d){return Pn(d,false)}function kn(d,m,v){if(T)return;let b=xi(m),k=new Set(W.value[d]);v??!k.has(b)?k.add(b):k.delete(b),W.value={...W.value,[d]:Object.freeze([...k])};}function nn(d,m,v){if(ze(v),d==="emoji"){for(let k of m)if(k.kind==="emoji")for(let[E,Y]of ee)Y.resourceId===k.resourceId&&ee.delete(E);R.value={...R.value,emoji:Object.freeze([...m])},U.value=Ho(m,U.value,new Set(ee.keys()));}else {for(let k of m)k.kind===d&&I[d].delete(Ne(k));R.value={...R.value,[d]:Ai(d,m,I[d])};}let b=new Set(m.flatMap(k=>k.recordId===void 0?[]:[k.recordId]));D.value={...D.value,[d]:Object.freeze(D.value[d].filter(k=>b.has(k)))},g[d].loaded=true,ln(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...m])}));}async function tn(d){let m="load-recent";if(T)return ve(m);let v=g[d],b=await qe();if(!b.ok)return b.reason==="stale"?ve(m):(v.error=b.error??g.emoji.error,Object.freeze({...b,operation:m}));let k=++Ie[d],E;try{E=Re();}catch(Y){return we(m,Y,v)}v.loading=true,v.error=null;try{let Y=Ue(E,d),ne=await E.client.expressions.recent.list(d);return Ie[d]!==k||!re(E)?ve(m):Ue(E,d)!==Y?(ze(E),ve(m)):(nn(d,ne,E),Object.freeze({ok:!0,operation:m}))}catch(Y){return Ie[d]!==k||!re(E)?ve(m):we(m,Y,v)}finally{Ie[d]===k&&re(E)&&(v.loading=false);}}async function gn(d,m){if(!re(d))return;let v=++Ie[m],b=g[m];b.loading=true,b.error=null;try{ze(d);let k=Ue(d,m),E=await d.client.expressions.recent.list(m);if(Ie[m]!==v||!re(d))return;if(Ue(d,m)!==k){ze(d);return}nn(m,E,d);}catch(k){Ie[m]===v&&re(d)&&(b.error=It(k,"load-recent"));}finally{Ie[m]===v&&re(d)&&(b.loading=false);}}function mn(d,m){if(!re(d))return false;ze(d),Q+=1;let v=m.kind,b=Object.freeze({...m});return I[v].set(Ne(b),b),R.value={...R.value,[v]:Ko(R.value[v],b)},g[v].loaded=true,ln(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:b})),true}function pn(d$1,m){if(!re(d$1))return false;ze(d$1),Q+=1;let v=Object.freeze(m.map(k=>Object.freeze({...k}))),b=U.value;for(let k of v)ee.set(k.stableKey,k),b=d(b,k);return U.value=b,g.emoji.loaded=true,ln(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Be(d,m){return pn(d,[m])}async function We(d,m,v=true){let b="report-recent";if(!re(d))return ve(b);let k=m.kind,E=++Ie[k],Y=g[k];Y.error=null;try{if(await d.client.expressions.recent.report(m),Ie[k]!==E||!re(d))return ve(b);if(!v)return Object.freeze({ok:!0,operation:b});try{ze(d);let ne=Ue(d,k),J=await d.client.expressions.recent.list(k);if(Ie[k]!==E||!re(d))return ve(b);if(Ue(d,k)!==ne)return ze(d),ve(b);nn(k,J,d);}catch(ne){Ie[k]===E&&re(d)&&(Y.error=It(ne,"load-recent"));}return Object.freeze({ok:!0,operation:b})}catch(ne){return Ie[k]!==E||!re(d)?ve(b):we(b,ne,Y)}}async function ao(d){let m="report-recent";if(T)return ve(m);let v;try{v=Re();}catch(b){return we(m,b,g[d.kind])}return d.kind==="emoji"?Be(v,Object.freeze({...d,stableKey:Lo(d)})):mn(v,d),We(v,d)}function io(d,m,v){if(T)return;let b=xi(m),k=new Set(D.value[d]);v??!k.has(b)?k.add(b):k.delete(b),D.value={...D.value,[d]:Object.freeze([...k])};}async function Zt(d,m,v){let b=d==="favorites"?"delete-favorites":"delete-recent";if(T)return ve(b);let k=d==="favorites"?W:D,E=d==="favorites"?ye:Ie,Y=d==="favorites"?B:g,ne=v?.selected??k.value[m];if(ne.length===0)return Object.freeze({ok:false,operation:b,reason:"empty"});let J=Y[m];if(J.loading)return Object.freeze({ok:false,operation:b,reason:"busy"});let fe=++E[m],me;try{me=v?.context??Re();}catch(je){return we(b,je,J)}d==="recent"&&ze(me);let Ae=d==="recent"?Ue(me,m):0,_e=new Set(ne),Te=d==="recent"?R.value[m].filter(je=>{let Ye=ht(je);return Ye!==void 0&&_e.has(Ye)}):[];J.loading=true,J.error=null;let He=[],Xe=new Set,xn,An,rn=false;for(let je of Nl(ne)){if(!re(me))return ve(b);if(d==="recent"&&E[m]!==fe){rn=true;break}try{d==="favorites"?await me.client.expressions.favorites.delete(je):await me.client.expressions.recent.delete(je);for(let Ye of je)Xe.add(Ye);}catch(Ye){let zn=It(Ye,b);xn??=zn,He.push(...je);}}if(!re(me))return ve(b);if(d==="recent"&&E[m]!==fe&&(rn=true),d==="recent"&&Ue(me,m)!==Ae&&(rn=true),d==="favorites"){let je=m;G.value={...G.value,[je]:Object.freeze(G.value[je].filter(Gn=>Gn.recordId===void 0||!Xe.has(Gn.recordId)))};let Ye=new Set(ne),zn=W.value[je].filter(Gn=>!Ye.has(Gn));if(W.value={...W.value,[je]:Object.freeze([...new Set([...zn,...He])])},An=++ye[je],await Ln(me,je,An),!re(me))return ve(b)}else {let je=m;ze(me);let Ye=Te.filter(xe=>{let on=ht(xe);return on!==void 0&&Xe.has(on)}),zn=new Set(Ye.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),Gn=new Set(Ye.filter(xe=>xe.kind!=="emoji").map(Ne));je==="emoji"&&(U.value=Object.freeze(U.value.filter(xe=>xe.kind==="game"||!zn.has(xe.resourceId)||ee.has(xe.stableKey)))),R.value={...R.value,[je]:Object.freeze(R.value[je].filter(xe=>{let on=ht(xe);return on===void 0||!Xe.has(on)}))};let co=new Set(ne),vn=rn?D.value[je].filter(xe=>!Xe.has(xe)):D.value[je].filter(xe=>!co.has(xe));if(D.value={...D.value,[je]:Object.freeze(rn?vn:[...new Set([...vn,...He])])},je==="emoji"){let xe=R.value.emoji.filter(on=>on.kind==="emoji");U.value=Ho(xe,U.value,new Set(ee.keys()));}let In=Object.freeze(je==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...zn])}:{type:"delete-assets",kind:je,identities:Object.freeze([...Gn])});if(ln(me,je,In),rn&&Xe.size>0&&await gn(me,je),!re(me))return ve(b)}return (d==="recent"?Ie[m]===fe:ye[m]===An)&&(J.loaded=true,(xn!==void 0||d==="recent")&&(J.error=xn??null),J.loading=false),rn?ve(b):He.length===0?Object.freeze({ok:true,operation:b}):Object.freeze({ok:false,operation:b,reason:Xe.size===0?"failed":"partial",error:xn,failedRecordIds:Object.freeze(He)})}function so(d){let m="delete-favorites";if(T)return Promise.resolve(ve(m));let v=Object.freeze([...W.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:m,reason:"empty"}));let b;try{b=Re();}catch(Y){return Promise.resolve(we(m,Y,B[d]))}let E=te[d].catch(()=>{}).then(()=>re(b)?Zt("favorites",d,{context:b,selected:v}):ve(m));return te[d]=E.then(()=>{},()=>{}),E}function er(d){return Zt("recent",d)}function ot(d,m){let v=++K;return $.value=d,ae.value=m,S.value=[],j.value=0,L.value=void 0,Z.loading=true,Z.loaded=false,Z.error=null,v}async function at(d,m){let v="load-giphy";if(T)return ve(v);let b={mode:$.value,query:ae.value,items:S.value,totalCount:j.value,nextOffset:L.value,loaded:Z.loaded},k=ot(d,m),E=()=>{$.value=b.mode,ae.value=b.query,S.value=b.items,j.value=b.totalCount,L.value=b.nextOffset,Z.loaded=b.loaded;},Y;try{Y=Re();}catch(ne){return E(),Z.loading=false,we(v,ne,Z)}try{let ne=d==="trending"?await Y.client.expressions.giphy.trending():await Y.client.expressions.giphy.search(m);return k!==K||!re(Y)?ve(v):(S.value=zi(ne.items),j.value=ne.totalCount,L.value=ne.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(ne){return k!==K||!re(Y)?ve(v):(E(),we(v,ne,Z))}finally{k===K&&re(Y)&&(Z.loading=false);}}function it(){return at("trending","")}function wn(d){if(T)return Promise.resolve(ve("load-giphy"));let m=d.trim();return m===""?(ot("search",""),Z.loading=false,Z.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):at("search",m)}async function nr(){let d="load-more-giphy";if(T)return ve(d);if(Z.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if($.value==="idle"||L.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let m=++K,v=$.value,b=ae.value,k=L.value,E;try{E=Re();}catch(Y){return we(d,Y,Z)}Z.loading=true,Z.error=null;try{let Y=v==="trending"?await E.client.expressions.giphy.trending({offset:k}):await E.client.expressions.giphy.search(b,{offset:k});return m!==K||!re(E)?ve(d):(S.value=zi([...S.value,...Y.items]),j.value=Y.totalCount,L.value=Y.nextOffset,Z.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(Y){return m!==K||!re(E)?ve(d):we(d,Y,Z)}finally{m===K&&re(E)&&(Z.loading=false);}}async function tr(d){return Et([d])}async function Et(d){let m="report-recent";if(T)return ve(m);if(d.length===0)return Object.freeze({ok:true,operation:m});let v;try{v=Re();}catch(E){return we(m,E,g.emoji)}let b=Object.freeze(d.map(E=>Object.freeze({...E,stableKey:Lo(E)})));if(!pn(v,b))return ve(m);let k=Object.freeze({ok:true,operation:m});for(let[E,Y]of b.entries())if(k=await We(v,{kind:"emoji",token:Y.token,resourceId:Y.resourceId},E===b.length-1),!k.ok&&k.reason==="stale")return k;return k}function Qe(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 rr(d,m){if(T)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d.messages.sendSticker(m);}catch(k){if(!re(v))return Ke();throw k}return re(v)?(b.ok&&mn(v,m)&&Qe(v,m),b):Ke()}async function jt(d,m){if(T)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d.messages.sendGifAsset(m);}catch(k){if(!re(v))return Ke();throw k}return re(v)?(b.ok&&mn(v,m)&&Qe(v,m),b):Ke()}async function st(d$1,m){if(T)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d$1.messages.sendGame(m);}catch(k){if(!re(v))return Ke();throw k}return re(v)?(b.ok&&(ze(v),Q+=1,U.value=d(U.value,No(m)),g.emoji.loaded=true,ln(v,"emoji",Object.freeze({type:"prepend-emoji",entry:No(m)}))),b):Ke()}function Je(d={}){if(T)return;let m=d.preserveRecentHydrationFailure===true?Se:null;F+=1,X+=1,K+=1,Q+=1,pe+=1,ie=0,be=0,Pe=null,Ee=null,N.clear(),ue.length=0,de=null,le=null,De=null,O=null,Se=m,oe.clear(),te=gt(()=>Promise.resolve()),u.value="",p.value=[],h.value={},Object.assign(w,{loading:false,loaded:false,error:null});for(let v of Object.keys(x))delete x[v];for(let v of Object.keys(ce))ce[v]=(ce[v]??0)+1;G.value={sticker:[],gif:[]},W.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])ye[v]+=1,Object.assign(B[v],{loading:false,loaded:false,error:null});R.value={sticker:[],gif:[],emoji:[]},D.value={sticker:[],gif:[],emoji:[]},U.value=[],I.sticker.clear(),I.gif.clear(),A.sticker.clear(),A.gif.clear(),ee.clear();for(let v of ["sticker","gif","emoji"])Ie[v]+=1,Object.assign(g[v],{loading:false,loaded:false,error:null});m!==null&&(g.emoji.error=m),$.value="idle",ae.value="",S.value=[],j.value=0,L.value=void 0,Object.assign(Z,{loading:false,loaded:false,error:null});}function or(){T||(Je(),T=true);}return Dr.set(e,Object.freeze({dispose:or})),{packVersion:u,packs:p,packItemsByPackage:h,packStatus:se,packItemStatus:Ce,favorites:G,favoriteStatus:_,favoriteSelection:W,recent:R,recentStatus:P,recentSelection:D,emojiRecent:U,giphyMode:$,giphyQuery:ae,giphyItems:S,giphyTotalCount:j,giphyHasMore:C,giphyStatus:y,hydrateRecent:qe,loadPacks:fn,loadPackItems:Tn,loadFavorites:rt,addFavorite:En,setFavorite:Pn,unsetFavorite:jn,toggleFavoriteSelection:kn,deleteSelectedFavorites:so,loadRecent:tn,reportRecent:ao,rememberEmoji:tr,rememberEmojis:Et,toggleRecentSelection:io,deleteSelectedRecent:er,loadGiphyTrending:it,searchGiphy:wn,loadMoreGiphy:nr,sendSticker:rr,sendGif:jt,sendGame:st,reset:Je}})}var Gi=new WeakMap,zr=new WeakMap;function ql(e=ke()){ge(e);let n=Gi.get(e);n===void 0&&(n=Ul(e),Gi.set(e,n));let r=n(e),o=Dr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return zr.get(e)!==r&&(zr.set(e,r),Me(e,()=>{o.dispose(),r.$dispose(),zr.get(e)===r&&(zr.delete(e),Dr.get(e)===o&&Dr.delete(e));})),r}var Fr=new WeakMap;function _i(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Kr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function $l(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Vl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Bl(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&&Vl(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:_i(n)})}function Wl(e=ke()){let n=ge(e),r=Fr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),u=Ge(e),p=Mn(e),h={disposed:false};function w(g){return !h.disposed&&o.getGeneration()===g.generation&&u.getHandle()===g.handle&&Kr(u.activeRef,g.conversation)}function x(){let g=h.activeIntent;g!==void 0&&(h.activeIntent=void 0,g.complete(Object.freeze({status:"stale",conversation:g.conversation})));}async function G(g){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}p.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:g.generation,conversation:g.conversation}));try{if(!await u.loadLatest()||!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:g.generation,conversation:g.conversation})),g.complete(Object.freeze({status:"applied",conversation:g.conversation}));}catch(D){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}let U=Bl(D,g.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:g.generation,conversation:g.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:U}})),g.complete(Object.freeze({status:"failed",conversation:g.conversation,error:U}));}}function B(g){let D=h.activeIntent;D===void 0||g.type!=="message:received"||g.source!=="live"||g.message.senderId!==D.selfId||g.message.status==="sent"||!Kr(g.ref,D.conversation)||(h.activeIntent=void 0,G(D));}async function W(g,D){let U=u.getHandle();if(!$l(g)||h.disposed||!u.hasNewer||U===void 0||!Kr(U.ref,g)||!Kr(u.activeRef,g))return Object.freeze({value:await D(),history:Object.freeze({status:"not-needed"})});x();let $=_i(g),ae,S=new Promise(Z=>{let L=false;ae=se=>{L||(L=true,Z(se));};}),j={token:Symbol("history-return-after-send"),conversation:$,handle:U,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:ae};h.activeIntent=j;try{let Z=await D();return h.activeIntent?.token===j.token&&(h.activeIntent=void 0,j.complete(w(j)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),Object.freeze({value:Z,history:await S})}catch(Z){throw h.activeIntent?.token===j.token&&(h.activeIntent=void 0,j.complete(w(j)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:$}))),await S,Z}}let R=o.subscribeProductEvents(B);return h.coordinator=Object.freeze({run:W}),Fr.set(e,h),Me(e,()=>{h.disposed=true,x(),R(),Fr.get(e)===h&&Fr.delete(e);}),h.coordinator}function Ni(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Li(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Ni(e.conversation)}})}function Xl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yl(e,n){return Xl(e)?Li(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function Zl(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:Ni(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Li(e.error)}})}function Hr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function eu(e){return defineStore("k2-im-media",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),u=shallowRef(null),p=shallowRef(null),h=false,w=0,x=null,G=-1,B,W=computed(()=>{let P=o.activeRef,y={};for(let C of s.value)C.direction!=="upload"||C.state!=="queued"&&C.state!=="running"||!Hr(P,C.ref)||(y[C.messageId]=C.state==="queued"?0:C.percent);return y}),R=computed(()=>{let P=o.activeRef,y={};for(let C of s.value)C.direction==="upload"&&C.state==="running"&&C.phase==="finalizing"&&Hr(P,C.ref)&&(y[C.messageId]=true);return y});function g(P,y,C){h||x!==y||G!==C||n.getGeneration()!==C||(s.value=P.map(Zl));}function D(P){let y=n.getGeneration();if(h)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(x===P&&G===y||(w+=1,B?.(),B=void 0,x=P,G=P===null?-1:y,s.value=[],u.value=null,P===null))return;let C=false;B=P.media.subscribe(T=>{C=true,g(T,P,y);}),C||g(P.media.getSnapshot(),P,y),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:y}));}function U(){D(n.getProductClient());}function $(){D(null),p.value=null;}async function ae(P,y){let C=n.getProductClient();if(C===null)return Object.freeze({ok:false,operation:P,reason:"not-ready"});if(D(C),!s.value.some(X=>X.id===y))return Object.freeze({ok:false,operation:P,reason:"not-found"});let T=n.getGeneration(),F=w;u.value=null;try{return await C.media[P](y),h||F!==w||n.getGeneration()!==T||x!==C?Object.freeze({ok:!1,operation:P,reason:"stale"}):Object.freeze({ok:!0,operation:P})}catch(X){if(h||F!==w||n.getGeneration()!==T||x!==C)return Object.freeze({ok:false,operation:P,reason:"stale"});let ce=Yl(X,P);return u.value=ce,r.record("error","pinia","media",`media-task-${P}-failed`,()=>({generation:T,data:{taskId:y},error:{message:ce.code,data:ce}})),Object.freeze({ok:false,operation:P,reason:"failed",error:ce})}}function S(P){return ae("cancel",P)}function j(P){return ae("retry",P)}async function Z(P){let y=o.activeRef,C=s.value.find(F=>F.direction==="upload"&&(F.state==="queued"||F.state==="running")&&F.messageId===P&&Hr(y,F.ref));if(C===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let T=await S(C.id);return Hr(o.activeRef,C.ref)?T:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function L(P){let y=o.activeRef;return P.status!=="failed"||P.failure?.displayCode!=="media.uploadInterrupted"||P.contentType!=="video"&&P.contentType!=="file"||y===null||P.conversationId!==y.conversationId||P.conversationType!==y.conversationType?false:(p.value=Object.freeze({messageId:P.id,conversationId:P.conversationId,conversationType:P.conversationType,kind:P.contentType}),true)}function se(){let P=p.value;return p.value=null,P}function Ce(){p.value=null;}function _(){h||(w+=1,B?.(),B=void 0,x=null,G=-1,s.value=[],u.value=null,p.value=null,h=true);}return {tasks:s,error:u,uploadProgress:W,uploadFinalizing:R,replacementRequest:p,start:U,reset:$,cancel:S,retry:j,cancelUpload:Z,requestReplacement:L,takeReplacementRequest:se,clearReplacementRequest:Ce,dispose:_}})}var Hi=new WeakMap,Nr=new WeakMap;function nu(e=ke()){ge(e);let n=Hi.get(e);n===void 0&&(n=eu(e),Hi.set(e,n));let r=n(e);return Nr.get(e)!==r&&(Nr.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),Nr.get(e)===r&&Nr.delete(e);})),r}function Jn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Lr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}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 o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&tu(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function bt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ct(e,n){return bt(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 ou(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 Ui(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function au(e,n,r,o,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(o==="invite-members")return u.value.canInviteMembers;if(o==="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(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:u,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Ui(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return u.value.canLeave;let p=u.value.canLeave;return p.availability!=="available"?p:Ui(e,s)?u.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return u.value.canDismiss}function iu(e,n,r,o){let s=Jn(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,o);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 Rt(e,n,r,o,s){let u=iu(e,n,r,s);if(!u.ok)return u.result;try{let p=await o(u.captured);return u.captured.isCurrent()?p:bt(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return bt(n,u.captured.conversation,"stale");let h=ru(p,n,u.captured.conversation),w=n==="leave"&&h.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return bt(n,u.captured.conversation,w,h)}}function su(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function qi(e,n,r){let o=Jn(n),s=su(r);return s.length===0?Promise.resolve(Ct("invite-members",o)):Rt(e,"invite-members",o,async({client:u})=>(await u.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function $i(e,n,r){let o=Jn(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("remove-member",o)):Rt(e,"remove-member",o,async({client:u})=>(await u.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Vi(e,n,r,o){let s=Jn(n),u=Lr(r),p=o?"add-admin":"remove-admin";return u.userId===""?Promise.resolve(Ct(p,s)):Rt(e,p,s,async({client:h})=>(o?await h.channels.addAdmin(s,u.userId):await h.channels.removeAdmin(s,u.userId),Object.freeze({ok:!0,operation:p,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:u.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),u)}function Bi(e,n,r){return Vi(e,n,r,true)}function Wi(e,n,r){return Vi(e,n,r,false)}function Qi(e,n,r){let o=Jn(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("transfer-ownership",o)):Rt(e,"transfer-ownership",o,async({client:u})=>(await u.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Ji(e,n,r){let o=Jn(n),s=r===void 0?void 0:Lr(r);return s!==void 0&&s.userId===""?Promise.resolve(Ct("leave",o)):Rt(e,"leave",o,async({client:u})=>(await u.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Xi(e,n){let r=Jn(n);return Rt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Vt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function lu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&cu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Pt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function kt(e,n){return Pt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function uu(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 du(e,n,r,o,s){let u=n.capabilities.get(r);return u.conversationType!=="channel"||u.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?u.value.canLeave:o==="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}):o==="set-all-muted"?u.value.canManageMute:o==="set-member-private-chat-disabled"?u.value.canSetMemberPrivateChat:u.value.canEditProfile}function fu(e,n,r,o){let s=Vt(r);if(s.conversationId==="")return {ok:false,result:kt(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:Pt(n,s,"not-ready")};let p=e.getGeneration(),h=du(e,u,s,n,o);return h.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",uu(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function Kn(e,n,r,o,s){let u=fu(e,n,r,s);if(!u.ok)return u.result;try{let p=await o(u.captured);return u.captured.isCurrent()?p:Pt(n,u.captured.conversation,"stale")}catch(p){return u.captured.isCurrent()?Pt(n,u.captured.conversation,"failed",lu(p,n,u.captured.conversation)):Pt(n,u.captured.conversation,"stale")}}function Yi(e,n,r){let o=Vt(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:kt(e,o)}:{ok:true,value:s}}function Zi(e,n,r){let o=r.trim();return o===""?Promise.resolve(kt("update-name",Vt(n))):Kn(e,"update-name",n,async({client:s,conversation:u})=>(await s.channels.updateName(u,o),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var mu=100;function es(e,n,r){let o=r.trim();return o===""||[...o].length>mu?Promise.resolve(kt("update-description",Vt(n))):Kn(e,"update-description",n,async({client:s,conversation:u})=>(await s.channels.updateDescription(u,o),Object.freeze({ok:!0,operation:"update-description",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ns(e,n,r){return Kn(e,"update-avatar",n,async({client:o,conversation:s})=>{let u=(await o.channels.updateAvatar(s,r)).trim();return u===""?kt("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function ts(e,n,r){let o=Yi("set-my-nickname",n,r);return o.ok?Kn(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.channels.setMyNickname(u,o.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(o.result)}function rs(e,n,r,o,s){let u=r.trim(),p=Yi("set-member-nickname",n,s);if(u===""||!p.ok)return Promise.resolve(p.ok?kt("set-member-nickname",Vt(n)):p.result);let h=Object.freeze({userId:u,role:o});return Kn(e,"set-member-nickname",n,async({client:w,conversation:x})=>(await w.channels.setMemberNickname(x,u,p.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:x,outcome:"updated",memberId:u,stale:!1,projectionUpdated:!1,refreshRequired:!1})),h)}function os(e,n,r,o){return Kn(e,"update-verification",n,async({client:s,conversation:u})=>(await s.channels.updateVerification(u,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function as(e,n,r){return Kn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function is(e,n,r){return Kn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function pu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function vu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function gu(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 Iu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function hu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&Iu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Xn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ur(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 Yn(e,n,r,o){let s=gu(e);if(s===null)return {ok:false,result:Xn(n,r,"not-ready")};try{let u=await o(s.client);return s.isCurrent()?{ok:!0,value:u}:{ok:!1,result:Xn(n,r,"stale")}}catch(u){return s.isCurrent()?{ok:false,result:Xn(n,r,"failed",hu(u,n,r))}:{ok:false,result:Xn(n,r,"stale")}}}function Ot(e,n){let r=pu(n);return r.conversationId===""?{ok:false,result:Xn(e,r,"failed",Ur(e,r))}:{ok:true,conversation:r}}async function ss(e,n,r){let o=Ot("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,u=await Yn(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 cs(e,n){let r=Ot("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"block",o,u=>u.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ls(e,n,r){let o=Ot("report",n);if(!o.ok)return o.result;let{conversation:s}=o,u=r.trim();if(u==="")return Xn("report",s,"failed",Ur("report",s));let p=await Yn(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 us(e,n){let r=Ot("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"delete-friendship",o,u=>u.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ds(e,n){let r=n.trim();if(r==="")return Xn("search-user",null,"failed",Ur("search-user",null));let o=await Yn(e,"search-user",null,p=>p.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,u=s===null?null:vu(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 fs(e,n){let r=Ot("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"resolve-application-target",o,async u=>{let[p,h]=await Promise.all([u.contacts.getProfile(o.conversationId),u.contacts.getRelationship(o.conversationId)]);if(p===null)return null;if(p.userId!==o.conversationId)throw Ur("resolve-application-target",o);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:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ms(e,n,r){let o=Ot("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,u=await Yn(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 Bt(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 bu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&yu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Mt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Wt(e,n){return Mt(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 Cu(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 Ru(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let u=s.value.canLeave;return u.availability!=="available"||!o?u:s.value.canTransferOwnership}function Pu(e,n,r,o=false){let s=Bt(r);if(s.conversationId==="")return {ok:false,result:Wt(n,s)};let u=e.getProductClient();if(u===null)return {ok:false,result:Mt(n,s,"not-ready")};let p=e.getGeneration(),h=Ru(u,s,n,o);return h.availability!=="available"?{ok:false,result:Mt(n,s,"not-allowed",Cu(n,s,h))}:{ok:true,captured:Object.freeze({client:u,conversation:s,isCurrent:()=>e.getGeneration()===p&&e.getProductClient()===u})}}async function qr(e,n,r,o,s=false){let u=Pu(e,n,r,s);if(!u.ok)return u.result;try{let p=await o(u.captured);return u.captured.isCurrent()?p:Mt(n,u.captured.conversation,"stale")}catch(p){if(!u.captured.isCurrent())return Mt(n,u.captured.conversation,"stale");let h=bu(p,n,u.captured.conversation),w=n==="leave"&&h.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Mt(n,u.captured.conversation,w,h)}}function ku(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ps(e,n,r){let o=Bt(n),s=ku(r);return s.length===0?Promise.resolve(Wt("invite-members",o)):qr(e,"invite-members",o,async({client:u})=>(await u.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function vs(e,n,r){let o=Bt(n),s=r.trim();return s===""?Promise.resolve(Wt("remove-member",o)):qr(e,"remove-member",o,async({client:u})=>(await u.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function gs(e,n,r){let o=Bt(n),s=r.trim();return s===""?Promise.resolve(Wt("transfer-ownership",o)):qr(e,"transfer-ownership",o,async({client:u})=>(await u.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Is(e,n,r={}){let o=Bt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Wt("leave",o)):qr(e,"leave",o,async({client:u})=>(await u.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function Uo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function hs(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&Ou(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function en(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Mu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function Su(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function ys(e,n,r){let o=Uo(r);if(o.conversationId==="")return {ok:false,result:en(n,o,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:o}))};let s=e.getProductClient();if(s===null)return {ok:false,result:en(n,o,"not-ready")};let u=e.getGeneration(),p=Su(s,o,n);return p.availability!=="available"?{ok:false,result:en(n,o,"not-allowed",Mu(n,o,p))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===u&&e.getProductClient()===s})}}async function qo(e,n,r,o){let s=ys(e,n,r);if(!s.ok)return s.result;try{let u=await o(s.captured);return s.captured.isCurrent()?u:en(n,s.captured.conversation,"stale")}catch(u){return s.captured.isCurrent()?en(n,s.captured.conversation,"failed",hs(u,n,s.captured.conversation)):en(n,s.captured.conversation,"stale")}}function bs(e,n,r){let o=r.trim();if(o===""){let s=Uo(n);return Promise.resolve(en("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 qo(e,"update-name",n,async({client:s,conversation:u})=>(await s.groups.updateName(u,o),Object.freeze({ok:!0,operation:"update-name",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Cs(e,n,r){let o=r.trim();if(o===""){let s=Uo(n);return Promise.resolve(en("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 qo(e,"set-my-nickname",n,async({client:s,conversation:u})=>(await s.groups.setMyNickname(u,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:u,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Rs(e,n,r,o){return qo(e,"update-verification",n,async({client:s,conversation:u})=>(await s.groups.updateVerification(u,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:u,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ps(e,n,r){let o=ys(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(u){return s.isCurrent()?en("update-avatar",s.conversation,"failed",hs(u,"update-avatar",s.conversation)):en("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");try{let u=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return en("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}):en("update-avatar",s.conversation,"stale")}}function Tu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Eu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Tu(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 ks(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Os(e,n,r={}){let o=e.ensureProductClient(),[s,u]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:u})}async function Ms(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:Eu(n,r.value)}function Ss(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function Ts(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let u=[],p=await o.groups.listFirstPage({pageSize:100});for(u.push(...p.items);!p.exhausted&&p.nextPageToken!==void 0;)p=await o.groups.listNextPage(p.nextPageToken),u.push(...p.items);let h=[];for(let w of u){let x=await s.group.listMembers(w.id,{forceRefresh:false});x!==null&&x.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 Es(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:ks(r.value),stale:r.stale})}async function js(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:ks(r)}async function ws(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function xs(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function As(e,n){return e.ensureProductClient().directory.search(n)}async function zs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",u=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return $o(u)}function $o(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 Gs(e,n,r,o={}){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],o.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 Vo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",u=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return u===null?null:$o(u)}async function Ds(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return $o(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Bo(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 Wo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Bo(o)}async function _s(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",u=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Bo(u)}async function Fs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Bo(s)}function Ks(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let u=`${s.kind}:${s.id}`;o.has(u)||r.push(u),o.set(u,s);}return Object.freeze(r.map(s=>o.get(s)))}var xu=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Au=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"]),Hs=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function he(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function V(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function $r(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function et(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Qt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function zu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function $e(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&zu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:he(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:he(r)}})}function Vr(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function Gu(e){return defineStore("k2-im-profile-directory",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),u=shallowRef(null),p=shallowRef(null),h=ref("unknown"),w$1=ref(false),x$1=shallowRef(null),G=shallowRef([]),B=ref(false),W=shallowRef(null),R=shallowRef(null),g=shallowRef(null),D=shallowRef([]),U=ref(false),$=ref(false),ae=shallowRef(null),S=shallowRef(null),j=shallowRef(null),Z=ref(false),L=shallowRef(null),se=reactive({individual:Vr(),group:Vr(),channel:Vr()}),Ce=ref(""),_=shallowRef(null),P=ref(false),y$1=shallowRef(null),C=shallowRef(null),T=shallowRef([]),F=ref(""),X=ref(false),ce=ref(false),ye=shallowRef(null),Ie=shallowRef(null),K=shallowRef(null),Q=ref(false),pe=shallowRef(null),ie=shallowRef(null),be=shallowRef([]),Pe=ref(""),Se=ref(false),Ee=ref(false),z$1=shallowRef(null),N=false,ue=new Map,de=0,le={direct:0,group:0,channel:0},De=0,O={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},I={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},A$1={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},ee=new Map,oe=0,te=new Map,Re=new Map,re=new Set,ve=new Set,we=new Map,Ke=new Map,oo=0,yn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},bn=new Map,cn=new Map,Xt=0,Sn=new Set,Cn=new Map,ln=new Map,Yt=0,un=0,tt=0,Rn=new Map,Ue=new Map,ze=new Map,dn=new Map,Ve=new Map,qe=new Map,fn=new Map,Tn=ref(0),rt={individual:0,group:0,channel:0},Nn=new Map,Ln=0,Pn,En,jn,kn=0,nn,tn,gn,mn=0,pn,Be,We;function ao(a){return s.value[a.conversationId]??0}function io(a,i,t){o.value;let c=n.getSenderProfileCache();if(a.conversationType==="channel"){let l=x(c,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return l===i&&f!==""?f:l}return a.conversationType==="group"?w(c,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?w(c,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function Zt(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?y(t,n.getChannelMemberProfiles(),a.conversationId,i):z(t,i)}function so(a){return o.value,A(n.getSenderProfileCache(),a)}function er(a,i){return ma$1(n,a,i)}function ot(a,i){return na(n,a.conversationId,i)}function at(a,i,t){let c=n.getGeneration(),l=ue.get(a.conversationId)??0;return oa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!N&&n.getGeneration()===c&&(ue.get(a.conversationId)??0)===l&&t?.isCurrent?.()!==false})}function it(a,i){let t=a.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 M of l)delete f[M];Object.keys(f).length===0?delete c[t]:c[t]=f;}n.setChannelMemberProfiles(c);}function wn(a,i){let t=a.conversationId.trim();t!==""&&(it(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function nr(a,i,t){let c=t.trim();if(c==="")return;let l=a.get(i)??new Set;l.add(c),a.set(i,l);}function tr(a,i,t){let c=a.get(i);c!==void 0&&(c.delete(t.trim()),c.size===0&&a.delete(i));}function Et(a,i,t){let c=t.trim();return c!==""&&a.get(i)?.has(c)===true}function Qe(a,i,t){let c=a.get(i);return c===void 0||c.size===0?t:t.filter(l=>!c.has(l.userId))}function rr(a,i,t={}){let c=Ve.get(a);if(c===void 0||c.size===0)return i;let l=new Set(i.map(H=>H.userId)),f=new Map(c),M=i.map(H=>{let q=c.get(H.userId);return q===void 0?H:(t.reconcile===true&&q===H.nickname&&f.delete(H.userId),Object.freeze({...H,nickname:q}))});if(t.reconcile===true)for(let H of f.keys())l.has(H)||f.delete(H);return f.size===0?Ve.delete(a):Ve.set(a,f),Object.freeze(M)}function jt(a,i){let t=Ve.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&Ve.delete(a));}function st(a,i){let t=qe.get(a);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 Je(a,i){let t=qe.get(a),c=fn.get(a),l=S.value?.conversationId===a?j.value?.ownerId:dn.get(a)?.ownerId;return (t===void 0||t.size===0)&&(c===void 0||c.size===0)&&l===void 0?i:Object.freeze(i.map(f=>{let M=t?.get(f.userId),H=c?.get(f.userId),q=l!==void 0&&f.userId===l;if(M===void 0&&H===void 0&&!q)return f;let{nickname:Oe,...sn}=f;return Object.freeze({...sn,...M===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:M.nickname===""?{}:{nickname:M.nickname},displayName:M?.displayName??f.displayName,role:q?"owner":H??f.role})}))}function or(a,i){let t=qe.get(a);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(a),c&&(Tn.value+=1);}function d(a,i){let t=qe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(a),Tn.value+=1);}function m(a,i){let t=fn.get(a);if(t!==void 0){for(let c of i)t.get(c.userId)===c.role&&t.delete(c.userId);t.size===0&&fn.delete(a);}}function v(a,i){let t=fn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&fn.delete(a));}function b(a,i,t,c){let l=a.conversationType==="direct"?u.value:a.conversationType==="group"?R.value:S.value;return !N&&n.getGeneration()===i&&de===t&&le[a.conversationType]===c&&V(l,a)}async function k(a,i={}){let t=he(a),c=++de,l=le.direct,f=n.getGeneration(),M=!V(u.value,t);u.value=t,M&&(p.value=null,h.value="unknown"),w$1.value=true,x$1.value=null;try{let H=await Os(n,t,i);return b(t,f,c,l)?(p.value=H.profile,h.value=H.relationship,w$1.value=!1,H.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(H){if(!b(t,f,c,l))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let q=$e(H,"profile.direct",t);return x$1.value=q,w$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:q})}}async function E(a,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(a.conversationType==="channel"){let H=await Dt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:l});if(!H.ok)return Object.freeze({ok:false,reason:"channel-profile",result:H});if(f=V(S.value,a)?j.value:null,la({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let M=await k({conversationType:"direct",conversationId:c},{forceRefresh:l});return M.ok?Object.freeze({ok:true,destination:la({conversation:a,relationship:h.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:M})}async function Y(a){let i=he(a),t=++De,c=n.getGeneration();u.value=i,B.value=true,W.value=null;try{let l=await Ts(n,i.conversationId);return !V(u.value,i)||c!==n.getGeneration()||t!==De?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(G.value=l,B.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(l){if(!V(u.value,i)||c!==n.getGeneration()||t!==De)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=$e(l,"profile.direct-mutual-groups",i);return W.value=f,B.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ne(a){return O[a]+=1,O[a]}function J(a,i){return !N&&O[a]===i}async function fe(a,i){let t=he(a),c=ne("set-remark"),l=await ss(n,t,i);if(!J("set-remark",c)||!V(u.value,t))return Zn("set-remark",t);if(!l.ok)return l;let f=p.value,M=f!==null&&f.userId===t.conversationId;return M&&(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(H=>Object.freeze({countryCode:H.countryCode,mobile:H.mobile})))}})),Object.freeze({...l,projectionUpdated:M})}async function me(a){let i=he(a),t=ne("block"),c=await cs(n,i);return !J("block",t)||!V(u.value,i)?Zn("block",i):c.ok?(h.value="blocked",Object.freeze({...c,projectionUpdated:true})):c}async function Ae(a,i){let t=he(a),c=ne("report"),l=await ls(n,t,i);return !J("report",c)||!V(u.value,t)?Zn("report",t):l}async function _e(a){let i=he(a),t=ne("delete-friendship"),c=await us(n,i);return !J("delete-friendship",t)||!V(u.value,i)?Zn("delete-friendship",i):c.ok?(h.value="none",Object.freeze({...c,projectionUpdated:true})):c}async function Te(a){let i=ne("search-user"),t=await ds(n,a);return J("search-user",i)?t:Zn("search-user",t.conversation)}async function He(a){let i=he(a),t=ne("resolve-application-target"),c=await fs(n,i);return J("resolve-application-target",t)?c:Zn("resolve-application-target",i)}async function Xe(a,i){let t=he(a),c=ne("request-friendship"),l=await ms(n,t,i);return J("request-friendship",c)?l:Zn("request-friendship",t)}function xn(a,i,t,c){return `${t}:${c}:${a.conversationType}:${a.conversationId}:${i}`}function An(a,i){I[a]+=1;let t=n.getGeneration(),c=le.group,l=xn(i,a,t,c);return te.set(l,(te.get(l)??0)+1),Object.freeze({epoch:I[a],generation:t,key:l,resetEpoch:c})}function rn(a,i){let t=te.get(i.key)??0;t<=1?te.delete(i.key):te.set(i.key,t-1),Yo(a);}function wt(a,i){return !N&&n.getGeneration()===i.generation&&le.group===i.resetEpoch&&I[a]===i.epoch}function xt(a,i){let t=n.getGeneration(),c=le.group;return i!==void 0?(te.get(xn(a,i,t,c))??0)>0:Object.keys(I).some(l=>(te.get(xn(a,l,t,c))??0)>0)}async function je(a,i){let t=he(a),c=i.trim(),l=An("update-name",t);try{let f=await bs(n,t,c);if(!wt("update-name",l)||!V(R.value,t))return $r("update-name",t);if(!f.ok)return f;let M=g.value!==null;return M&&Tc(t,c),Object.freeze({...f,projectionUpdated:M})}finally{rn(t,l);}}async function Ye(a,i){let t=he(a),c=An("update-avatar",t);try{let l=await Ps(n,t,i);if(!wt("update-avatar",c)||!V(R.value,t))return $r("update-avatar",t);if(!l.ok)return l;let f=g.value!==null&&l.avatar!==void 0;return f&&Ec(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{rn(t,c);}}async function zn(a,i){let t=he(a),c=i.trim(),l=An("set-my-nickname",t);try{let f=await Cs(n,t,c);if(!wt("set-my-nickname",l)||!V(R.value,t))return $r("set-my-nickname",t);if(!f.ok)return f;let M=D.value.some(H=>H.userId===f.memberId);return sa$1(t,f.memberId,c),ra(n,t.conversationId,f.memberId,c),Object.freeze({...f,projectionUpdated:M})}finally{rn(t,l);}}async function Gn(a,i,t){let c=he(a),l=i===4?t?.trim():void 0,f=An("update-verification",c);try{let M=await Rs(n,c,i,l);if(!wt("update-verification",f)||!V(R.value,c))return $r("update-verification",c);if(!M.ok)return M;let H=g.value!==null;return H&&jc(c,i,l),Object.freeze({...M,projectionUpdated:H})}finally{rn(c,f);}}function co(a,i,t,c,l){return `${c}:${l}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function vn(a,i,t="profile"){let c=n.getGeneration(),l=le.channel,f=co(i,a,t,c,l),M=++oo;return we.set(f,M),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:he(i),epoch:M,generation:c,resetEpoch:l,key:f})}function In(a){let i=Ke.get(a.key)??0;i<=1?Ke.delete(a.key):Ke.set(a.key,i-1),we.get(a.key)===a.epoch&&we.delete(a.key),ta(a.conversation);}function xe(a){return !N&&n.getGeneration()===a.generation&&le.channel===a.resetEpoch&&we.get(a.key)===a.epoch}function on(a,i,t){let c=`${n.getGeneration()}:${le.channel}:${a.conversationType}:${a.conversationId}:`;for(let[l,f]of Ke){let M=i===void 0?c:`${c}${i}:`;if(f>0&&l.startsWith(M)&&(t===void 0||l===`${M}${t.trim()}`))return true}return false}function Jo(a,i,t){let c=n.getChannelMemberProfiles(),l=c[a.conversationId],f=l?.[i];l===void 0||f===void 0||n.setChannelMemberProfiles({...c,[a.conversationId]:{...l,[i]:{...f,displayName:t}}});}async function Js(a,i){let t=he(a);if(an(t))return et("update-name",t);let c=i.trim(),l=vn("update-name",t);try{let f=await Zi(n,t,c);if(!xe(l)||!V(S.value,t))return Hn("update-name",t);if(!f.ok)return f;let M=j.value!==null;return M&&ua(t,c),Object.freeze({...f,projectionUpdated:M})}finally{In(l);}}async function Xs(a,i){let t=he(a);if(an(t))return et("update-description",t);let c=i.trim(),l=vn("update-description",t);try{let f=await es(n,t,c);if(!xe(l)||!V(S.value,t))return Hn("update-description",t);if(!f.ok)return f;let M=j.value!==null;return M&&da(t,c),Object.freeze({...f,projectionUpdated:M})}finally{In(l);}}async function Ys(a,i){let t=he(a);if(an(t))return et("update-avatar",t);let c=vn("update-avatar",t);try{let l=await ns(n,t,i);if(!xe(c)||!V(S.value,t))return Hn("update-avatar",t);if(!l.ok)return l;let f=j.value!==null;return f&&fa(t,l.avatar),Object.freeze({...l,projectionUpdated:f})}finally{In(c);}}async function Zs(a,i){let t=he(a),c=i.trim(),l=vn("set-my-nickname",t,n.getCredentials().userId);try{let f=await ts(n,t,c);return !xe(l)||!V(S.value,t)?Hn("set-my-nickname",t):f.ok?(go(t,f.memberId,c,c),Jo(t,f.memberId,c),Object.freeze({...f,projectionUpdated:!0})):f}finally{In(l);}}async function ec(a,i,t){let c=he(a);if(an(c))return et("set-member-nickname",c);let l=i.trim(),f=t.trim(),M=bo(c,l),H=vn("set-member-nickname",c,l);try{let q=await rs(n,c,l,M?.role??"unknown",f);return !xe(H)||!V(S.value,c)?Hn("set-member-nickname",c):q.ok?(go(c,q.memberId,f,f),Jo(c,q.memberId,f),Object.freeze({...q,projectionUpdated:!0})):q}finally{In(H);}}async function nc(a,i,t){let c=he(a);if(an(c))return et("update-verification",c);let l=i===4?t?.trim():void 0,f=vn("update-verification",c);try{let M=await os(n,c,i,l);if(!xe(f)||!V(S.value,c))return Hn("update-verification",c);if(!M.ok)return M;let H=j.value!==null;return H&&ma(c,i,l),Object.freeze({...M,projectionUpdated:H})}finally{In(f);}}async function tc(a,i){let t=he(a);if(an(t))return et("set-all-muted",t);let c=vn("set-all-muted",t);try{let l=await as(n,t,i);if(!xe(c)||!V(S.value,t))return Hn("set-all-muted",t);if(!l.ok)return l;let f=j.value!==null;return f&&vo(t,{allMembersMuted:i}),Object.freeze({...l,projectionUpdated:f})}finally{In(c);}}async function rc(a,i){let t=he(a);if(an(t))return et("set-member-private-chat-disabled",t);let c=vn("set-member-private-chat-disabled",t);try{let l=await is(n,t,i);if(!xe(c)||!V(S.value,t))return Hn("set-member-private-chat-disabled",t);if(!l.ok)return l;let f=j.value!==null;return f&&vo(t,{memberPrivateChatDisabled:i}),Object.freeze({...l,projectionUpdated:f})}finally{In(c);}}function oc(a,i,t,c,l){return `${c}:${l}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function lo(a,i,t,c){return `${t}:${c}:${a.conversationType}:${a.conversationId}:${i}`}function ar(a,i,t){let c=n.getGeneration(),l=A$1[a],f=lo(i,a,c,l),M=oc(i,a,t,c,l),H=++oe;return ee.set(M,H),Re.set(f,(Re.get(f)??0)+1),Object.freeze({actionEpoch:H,actionKey:M,generation:c,resetEpoch:l,writeKey:f})}function ir(a,i){let t=Re.get(i.writeKey)??0;t<=1?Re.delete(i.writeKey):Re.set(i.writeKey,t-1),ee.get(i.actionKey)===i.actionEpoch&&ee.delete(i.actionKey),Yo(a);}function sr(a,i){return !N&&n.getGeneration()===i.generation&&A$1[a]===i.resetEpoch&&ee.get(i.actionKey)===i.actionEpoch}function cr(a,i){let t=n.getGeneration();return i!==void 0?(Re.get(lo(a,i,t,A$1[i]))??0)>0:Object.keys(A$1).some(c=>(Re.get(lo(a,c,t,A$1[c]))??0)>0)}function ac(a,i){let t=i.trim();t!==""&&Ue.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ic(a,i){if(i===null||i.isInGroup===false)return Ue.delete(a.conversationId),i;let t=Ue.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Xo(a){V(R.value,a)&&dt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!V(R.value,a)||lr(a);});}function At(a){V(R.value,a)&&Gt(a,{forceRefresh:true});}function Yo(a){xt(a)||cr(a)||(re.delete(a.conversationId)&&At(a),ve.delete(a.conversationId)&&Po(a));}function lr(a){V(R.value,a)&&qa(n,a.conversationId,D.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function sc(a,i){let t=he(a),c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=ar("invite-members",t,c);try{let f=await ps(n,t,i);if(!sr("invite-members",l))return nt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&V(R.value,t)&&At(t),f;if(!V(R.value,t))return nt("invite-members",t);let M=f.memberIds.some(H=>la$1(t,H));for(let H of f.memberIds)mo(t,H);return Xo(t),Object.freeze({...f,projectionUpdated:M,refreshRequired:!1})}finally{ir(t,l);}}async function cc(a,i){let t=he(a),c=ar("remove-member",t,i.trim());try{let l=await vs(n,t,i);if(!sr("remove-member",c))return nt("remove-member",t);if(!l.ok)return l.outcome!=="stale"&&V(R.value,t)&&At(t),l;if(!V(R.value,t))return nt("remove-member",t);let f=D.value.some(M=>M.userId===l.memberId);return fo(t,l.memberId),Xo(t),Object.freeze({...l,projectionUpdated:f,refreshRequired:!1})}finally{ir(t,c);}}async function lc(a,i){let t=he(a),c=ar("transfer-ownership",t,"group-owner");try{let l=await gs(n,t,i);if(!sr("transfer-ownership",c))return nt("transfer-ownership",t);if(!l.ok)return l.outcome!=="stale"&&V(R.value,t)&&At(t),l;if(!V(R.value,t))return nt("transfer-ownership",t);ac(t,l.ownerId);let f=g.value,M=f!==null;return f!==null&&(g.value=Object.freeze({...f,ownerId:l.ownerId})),At(t),Object.freeze({...l,projectionUpdated:M,refreshRequired:!1})}finally{ir(t,c);}}async function uc(a,i={}){let t=he(a),c=ar("leave",t,"membership");try{let l=await Is(n,t,i);if(!l.ok&&!sr("leave",c))return nt("leave",t);if(!l.ok)return l.outcome==="transfer-required"&&V(R.value,t)&&await Gt(t,{forceRefresh:!0}),l;po(t),sa(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=V(R.value,t)&&(g.value!==null||D.value.length>0);return V(R.value,t)&&(R.value=null,g.value=null,D.value=[],U.value=!1,$.value=!1,ae.value=null),Object.freeze({...l,projectionUpdated:f})}finally{ir(t,c);}}function dc(a,i,t,c,l){return `${c}:${l}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function Zo(a,i,t,c){return `${t}:${c}:${a.conversationType}:${a.conversationId}:${i}`}function ct(a,i,t){let c=n.getGeneration(),l=yn[a],f=dc(i,a,t,c,l),M=Zo(i,a,c,l),H=++Xt;return bn.set(f,H),cn.set(M,(cn.get(M)??0)+1),Object.freeze({actionEpoch:H,actionKey:f,conversation:he(i),writeKey:M,generation:c,resetEpoch:l})}function lt(a){let i=cn.get(a.writeKey)??0;i<=1?cn.delete(a.writeKey):cn.set(a.writeKey,i-1),bn.get(a.actionKey)===a.actionEpoch&&bn.delete(a.actionKey),ta(a.conversation);}function ut(a,i){return !N&&n.getGeneration()===i.generation&&yn[a]===i.resetEpoch&&bn.get(i.actionKey)===i.actionEpoch}function ur(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(yn):[i]).some(l=>(cn.get(Zo(a,l,t,yn[l]))??0)>0)}function dr(a,i){let t=i.trim();if(t==="")return;let c=bo(a,t);return c===void 0?void 0:Object.freeze({userId:t,role:c.role})}function fc(a,i){let t=i.trim();t!==""&&dn.set(a.conversationId,{ownerId:t});}function an(a){let i=dn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function ea(a,i){if(i===null)return dn.delete(a.conversationId),null;let t=dn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(dn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function mc(a){return !V(S.value,a)||j.value===null?false:(j.value=ea(a,j.value),true)}function pc(a){V(C.value,a)&&Ro(a,{preserveExisting:true});}function zt(a){V(S.value,a)&&Dt(a,{forceRefresh:true});}function fr(a){zt(a),pc(a);}function vc(a,i,t,c){let l=Cn.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=c.map(M=>M.trim()).filter(Boolean);f.length===0&&(l.allTargets=true);for(let M of f)l.userIds.add(M);l.affectsMentions||=i,l.resolvesProfiles||=t,Cn.set(a.conversationId,l);}function na$1(a,i){let t=Cn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let c of i)t.userIds.delete(c.trim());t.userIds.size===0&&Cn.delete(a.conversationId);}}function ta(a){if(on(a)||ur(a))return;Sn.delete(a.conversationId)&&ha(a);let i=Cn.get(a.conversationId);if(i===void 0)return;Cn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?wn(a,t):it(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&at(a,t,{forceRefresh:true}),vr(a);}function gc(a,i){let t=n.getChannelMemberProfiles(),c=t[a.conversationId];if(c===void 0||c[i]===void 0)return false;let l={...c};return delete l[i],n.setChannelMemberProfiles({...t,[a.conversationId]:l}),true}function ra$1(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function Ic(a,i){let t=he(a);if(an(t))return Qt("invite-members",t);let c=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),l=ct("invite-members",t,c);try{let f=await qi(n,t,i);if(!ut("invite-members",l))return hn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&zt(t),f;if(!V(S.value,t))return hn("invite-members",t);let M=f.memberIds.some(H=>yo(t,H));for(let H of f.memberIds)ho(t,H);return wn(t,f.memberIds),na$1(t,f.memberIds),fr(t),Object.freeze({...f,projectionUpdated:M,refreshRequired:!1})}finally{lt(l);}}async function hc(a,i){let t=he(a);if(an(t))return Qt("remove-member",t);let c=dr(t,i),l=ct("remove-member",t,i.trim());try{let f=await $i(n,t,c??{userId:i,role:"unknown"});if(!ut("remove-member",l))return hn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&zt(t),f;if(!V(S.value,t))return hn("remove-member",t);let M=gc(t,f.memberId),H=T.value.some(q=>q.userId===f.memberId)||be.value.some(q=>q.userId===f.memberId)||M;return Io(t,f.memberId),wn(t,[f.memberId]),na$1(t,[f.memberId]),fr(t),Object.freeze({...f,projectionUpdated:H,refreshRequired:!1})}finally{lt(l);}}async function yc(a,i,t){let c=he(a),l=dr(c,i),f=t?"add-admin":"remove-admin";if(an(c))return Qt(f,c);let M=ct(f,c,i.trim());try{let H=t?await Bi(n,c,l??{userId:i,role:"unknown"}):await Wi(n,c,l??{userId:i,role:"unknown"});if(!ut(f,M))return hn(f,c);if(!H.ok)return H.outcome!=="stale"&&zt(c),H;if(!V(S.value,c))return hn(f,c);let q=t?"admin":"member",Oe=l?.role!==q;return Un(c,H.memberId,q),fr(c),Object.freeze({...H,projectionUpdated:Oe,refreshRequired:!1})}finally{lt(M);}}async function bc(a,i){let t=he(a);if(an(t))return Qt("transfer-ownership",t);let c=dr(t,i),l=ct("transfer-ownership",t,"channel-owner");try{let f=await Qi(n,t,c??{userId:i,role:"unknown"});if(!ut("transfer-ownership",l))return hn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&zt(t),f;if(!V(S.value,t))return hn("transfer-ownership",t);fc(t,f.ownerId);let M=mc(t);return Un(t,f.ownerId,"owner"),Un(t,n.getCredentials().userId,"member"),fr(t),Object.freeze({...f,projectionUpdated:M,refreshRequired:!1})}finally{lt(l);}}async function Cc(a,i={}){let t=he(a),c=i.newOwnerId===void 0?void 0:dr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},l=ct("leave",t,"membership");try{let f=await Ji(n,t,c);if(!f.ok&&!ut("leave",l))return hn("leave",t);if(!f.ok)return f;let M=V(S.value,t)&&(j.value!==null||T.value.length>0||be.value.length>0);return mr(t),dn.delete(t.conversationId),ra$1(t),V(S.value,t)&&gr(),Object.freeze({...f,projectionUpdated:M})}finally{lt(l);}}async function Rc(a){let i=he(a);if(an(i))return Qt("dismiss",i);let t=ct("dismiss",i,"membership");try{let c=await Xi(n,i);if(!c.ok&&!ut("dismiss",t))return hn("dismiss",i);if(!c.ok)return c;let l=V(S.value,i)&&(j.value!==null||T.value.length>0||be.value.length>0);return mr(i),dn.delete(i.conversationId),ra$1(i),V(S.value,i)&&gr(),Object.freeze({...c,projectionUpdated:l})}finally{lt(t);}}async function Gt(a,i={}){let t=he(a),c=++de,l=le.group,f=n.getGeneration(),M=!V(R.value,t);R.value=t,M&&(g.value=null,un+=1,D.value=[],$.value=false),U.value=true,ae.value=null;try{let H=i.forceRefresh===!0?null:await Ms(n,t);if(!b(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(H!==null&&(g.value=H),i.restricted===!0)return i.includeMembers===!0&&await dt(t,{restricted:!0,forceRefresh:!0}),b(t,f,c,l)?(U.value=!1,g.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let q=await Ss(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!b(t,f,c,l))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Oe=ic(t,q);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Oe?.ref.conversationId??null,name:Oe?.name??null,isInGroup:Oe?.isInGroup??null,verifyWay:Oe?.verifyWay??null,memberCount:Oe?.memberCount??null,membershipDecision:Oe?.isInGroup===!0?"joined":Oe?.isInGroup===!1?"not-joined":"unknown"}})),Oe===null||Oe.isInGroup===!1?(un+=1,D.value=[],$.value=!1,po(t),sa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await dt(t,{restricted:!1,forceRefresh:!0}),b(t,f,c,l)?(g.value=Oe,U.value=!1,Object.freeze(Oe===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(H){if(!b(t,f,c,l))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let q=$e(H,"profile.group",t);return i.forceRefresh===true&&(g.value=null,un+=1,D.value=[],$.value=false),ae.value=q,U.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:q})}}async function dt(a,i={}){let t=he(a);if(V(R.value,t)||(R.value=t,D.value=[]),V(R.value,t)&&g.value?.ref.conversationId===t.conversationId&&g.value.isInGroup===false)return un+=1,D.value=[],$.value=false,Object.freeze({ok:true,operation:"group-members"});if(D.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let c=++un,l=n.getGeneration();$.value=true;try{let f=i.preserveExisting===!0?null:await Es(n,t);if(N||n.getGeneration()!==l||c!==un||!V(R.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let M=f===null?null:Qe(Rn,t.conversationId,f.items);if(M!==null&&(D.value=rr(t.conversationId,M),lr(t)),i.restricted===!0||i.forceRefresh!==!0&&M!==null&&M.length>0)return $.value=!1,Object.freeze({ok:!0,operation:"group-members"});let H=await js(n,t);return N||n.getGeneration()!==l||c!==un||!V(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(H!==null&&(D.value=rr(t.conversationId,Qe(Rn,t.conversationId,H),{reconcile:!0}),lr(t)),$.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(N||n.getGeneration()!==l||c!==un||!V(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let M=$e(f,"profile.group-members",t);return ae.value=M,$.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:M})}}async function Dt(a,i){let t=he(a),c=++de,l=le.channel,f=n.getGeneration(),M=!V(S.value,t);S.value=t,M&&(j.value=null,$n(t)),Z.value=true,L.value=null;try{let H=await ws(n,t,i);if(!b(t,f,c,l))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let q=ea(t,H);return j.value=q,q!==null&&V(C.value,t)&&(T.value=Je(t.conversationId,T.value)),q===null?(mr(t),$n()):q.canViewMembers!==!0&&$n(),Z.value=!1,Object.freeze(q===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(H){if(!b(t,f,c,l))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let q=$e(H,"profile.channel",t);return i?.forceRefresh===true&&(j.value=null,$n()),L.value=q,Z.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:q})}}async function Pc(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.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}`,M=++Yt,H=n.getGeneration(),q=le[t.conversationType];ln.set(f,M);let Oe=()=>!N&&n.getGeneration()===H&&le[t.conversationType]===q&&ln.get(f)===M&&(t.conversationType==="group"?V(R.value,t):V(S.value,t));try{let sn=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 Oe()?(sn.outcome==="joined"&&(t.conversationType==="group"?await Gt(t,{forceRefresh:!0}):await Dt(t,{forceRefresh:!0})),Oe()?Object.freeze({ok:!0,operation:c,outcome:sn.outcome}):Object.freeze({ok:!1,operation:c,reason:"stale"})):Object.freeze({ok:!1,operation:c,reason:"stale"})}catch(sn){return Oe()?Object.freeze({ok:false,operation:c,reason:"failed",error:$e(sn,c,t)}):Object.freeze({ok:false,operation:c,reason:"stale"})}finally{ln.get(f)===M&&ln.delete(f);}}async function oa$1(a,i,t){let c=se[a];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?Nn.get(a):void 0;if(i&&l===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++rt[a],M=n.getGeneration();c.loading=true,c.error=null;try{let H=await xs(n,a,l);return N||M!==n.getGeneration()||f!==rt[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(c.items=Ks(i?c.items:[],H.items),c.loaded=!0,c.exhausted=H.exhausted,c.loading=!1,H.nextPageToken===void 0?Nn.delete(a):Nn.set(a,H.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(H){if(N||M!==n.getGeneration()||f!==rt[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let q=$e(H,`directory.${a}`);return c.error=q,c.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:q})}}function kc(a,i=false){return oa$1(a,i,false)}function Oc(a){return oa$1(a,false,true)}function aa(){Pn!==void 0&&(clearTimeout(Pn),Pn=void 0),En?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),En=void 0;}async function Mc(a,i){let t=n.getGeneration();try{let c=await As(n,a);return N||t!==n.getGeneration()||i!==Ln?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(_.value=c,P.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(c){if(N||t!==n.getGeneration()||i!==Ln)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let l=$e(c,"directory.search");return y$1.value=l,P.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:l})}}function uo(){Ln+=1,aa(),Ce.value="",_.value=null,P.value=false,y$1.value=null,jn=void 0;}function Sc(a,i={}){let t=a.trim();if(t==="")return uo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&En?.keyword===t)return En.promise;if(jn?.keyword===t)return jn.promise;if(!i.immediate&&Ce.value===t&&_.value?.keyword===t.toLocaleLowerCase()&&y$1.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let c=++Ln;aa(),Ce.value=t,_.value=null,P.value=true,y$1.value=null;let l=()=>{let H=Mc(t,c);return jn={keyword:t,promise:H},H.finally(()=>{jn?.promise===H&&(jn=void 0);}),H};if(i.immediate)return l();let f,M=new Promise(H=>{f=H;});return En={keyword:t,promise:M,resolve:f},Pn=setTimeout(()=>{Pn=void 0,En=void 0,l().then(f);},300),M}function ia(a,i){let t=a.map(l=>l.userId),c=new Map(a.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 Tc(a,i){!V(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,name:i}));}function Ec(a,i){!V(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,avatar:i}));}function jc(a,i,t){if(!V(R.value,a)||g.value===null)return;let{inviteCode:c,...l}=g.value;g.value=Object.freeze({...l,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function sa$1(a,i,t){let c=i.trim();if(c==="")return;let l=t.trim(),f=Ve.get(a.conversationId)??new Map;f.set(c,l),Ve.set(a.conversationId,f),V(R.value,a)&&(D.value=Object.freeze(D.value.map(M=>M.userId===c?Object.freeze({...M,nickname:l}):M)));}function ca(a,i){jt(a.conversationId,i);}function fo(a,i){let t=i.trim();if(t===""||(jt(a.conversationId,t),nr(Rn,a.conversationId,t),!V(R.value,a)))return;let c=D.value.filter(f=>f.userId!==t),l=c.length!==D.value.length;l&&(D.value=Object.freeze(c),lr(a)),l&&g.value!==null&&g.value.memberCount!==void 0&&(g.value=Object.freeze({...g.value,memberCount:Math.max(0,g.value.memberCount-1)}));}function mo(a,i){jt(a.conversationId,i),tr(Rn,a.conversationId,i);}function la$1(a,i){return Et(Rn,a.conversationId,i)}function po(a){Rn.delete(a.conversationId),Ve.delete(a.conversationId);}function ua(a,i){!V(S.value,a)||j.value===null||(j.value=Object.freeze({...j.value,name:i}));}function da(a,i){!V(S.value,a)||j.value===null||(j.value=Object.freeze({...j.value,description:i}));}function fa(a,i){!V(S.value,a)||j.value===null||(j.value=Object.freeze({...j.value,avatar:i}));}function ma(a,i,t){if(!V(S.value,a)||j.value===null)return;let{inviteCode:c,...l}=j.value;j.value=Object.freeze({...l,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function vo(a,i){if(!V(S.value,a)||j.value===null)return;let t={...j.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};j.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function go(a,i,t,c){let l=i.trim();if(l==="")return;let f=t.trim(),M=f||c?.trim()||l,H=qe.get(a.conversationId)??new Map;H.set(l,{nickname:f,displayName:M}),qe.set(a.conversationId,H),Tn.value+=1,V(C.value,a)&&(T.value=Je(a.conversationId,T.value)),qn(a,l)&&(K.value=Je(a.conversationId,K.value===null?[]:[K.value])[0]??null),V(ie.value,a)&&(be.value=Object.freeze(be.value.map(q=>q.userId===l?Object.freeze({...q,displayName:M}):q)));}function Un(a,i,t){let c=i.trim();if(c==="")return;let l=fn.get(a.conversationId)??new Map;l.set(c,t),fn.set(a.conversationId,l),V(C.value,a)&&(T.value=Je(a.conversationId,T.value)),qn(a,c)&&(K.value=Je(a.conversationId,K.value===null?[]:[K.value])[0]??null);}function pa$1(a,i){d(a.conversationId,i);}function wc(a,i){return Tn.value,qe.get(a.conversationId)?.get(i.trim())?.nickname}function Io(a,i){let t=i.trim();if(t==="")return;let c=V(C.value,a),l=V(ie.value,a);if(d(a.conversationId,t),v(a.conversationId,t),nr(ze,a.conversationId,t),!c&&!l)return;let f=c&&T.value.some(H=>H.userId===t),M=l&&be.value.some(H=>H.userId===t);c&&(T.value=Object.freeze(T.value.filter(H=>H.userId!==t))),l&&(be.value=Object.freeze(be.value.filter(H=>H.userId!==t))),qn(a,t)&&(K.value=null),(f||M)&&V(S.value,a)&&j.value?.memberCount!==void 0&&(j.value=Object.freeze({...j.value,memberCount:Math.max(0,j.value.memberCount-1)}));}function ho(a,i){d(a.conversationId,i),v(a.conversationId,i),tr(ze,a.conversationId,i);}function yo(a,i){return Et(ze,a.conversationId,i)}function mr(a){ze.delete(a.conversationId),fn.delete(a.conversationId),qe.delete(a.conversationId)&&(Tn.value+=1);}function On(a,i,t){return !N&&n.getGeneration()===i&&kn===t&&V(C.value,a)}function qn(a,i,t,c){let l=Ie.value;return !N&&(t===void 0||n.getGeneration()===t)&&(c===void 0||tt===c)&&l!==null&&V(l,a)&&l.userId===i}function bo(a,i){let t=i.trim();if(t!==""){if(V(C.value,a)){let c=T.value.find(l=>l.userId===t);if(c!==void 0)return c}return qn(a,t)?K.value??void 0:void 0}}async function xc(a,i,t={forceRefresh:true}){let c=he(a),l=i.trim();if(l==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++tt,M=n.getGeneration();Ie.value=Object.freeze({...c,userId:l}),K.value=null,Q.value=true,pe.value=null;try{let H=await Gs(n,c,l,{forceRefresh:t.forceRefresh!==!1});return qn(c,l,M,f)?H===null||yo(c,l)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(K.value=Je(c.conversationId,[H])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(H){if(!qn(c,l,M,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let q=$e(H,"profile.channel-member",c);return pe.value=q,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:q})}finally{qn(c,l,M,f)&&(Q.value=false);}}async function Co(a,i,t){X.value=true,ye.value=null;try{let c=await Ds(n,a,F.value);return On(a,i,t)?(or(a.conversationId,c.items),m(a.conversationId,c.items),T.value=Je(a.conversationId,Qe(ze,a.conversationId,c.items)),nn=c.nextCursor,ce.value=c.exhausted||c.nextCursor===void 0,gn=void 0,X.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(c){if(!On(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let l=$e(c,"profile.channel-members.refresh",a);return gn="initial",ye.value=l,X.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:l})}}async function va(a){if(X.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=he(a),t=kn,c=n.getGeneration();X.value=true,ye.value=null;try{let l=await Vo(n,i,F.value);return On(i,c,t)?(l!==null&&(T.value=Je(i.conversationId,Qe(ze,i.conversationId,l.items)),nn=l.nextCursor,ce.value=l.exhausted||l.nextCursor===void 0),await Co(i,c,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!On(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=$e(l,"profile.channel-members.cache",i);return gn="initial",ye.value=f,X.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ga(a){if(X.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(ce.value||nn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=he(a),t=kn,c=n.getGeneration();X.value=true,ye.value=null;try{let l=await zs(n,i,{query:F.value,cursor:nn});return On(i,c,t)?(or(i.conversationId,l.items),m(i.conversationId,l.items),T.value=Je(i.conversationId,Qe(ze,i.conversationId,ia(T.value,l.items))),nn=l.nextCursor,ce.value=l.exhausted||l.nextCursor===void 0,gn=void 0,X.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!On(i,c,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=$e(l,"profile.channel-members.page",i);return gn="more",ye.value=f,X.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function $n(a=null){tn!==void 0&&(clearTimeout(tn),tn=void 0),kn+=1,C.value=a===null?null:he(a),T.value=[],F.value="",X.value=false,ce.value=false,ye.value=null,nn=void 0,gn=void 0;}function Ro(a,i={}){let t=he(a);if(i.preserveExisting===true&&V(C.value,t)){tn!==void 0&&(clearTimeout(tn),tn=void 0);let c=++kn,l=n.getGeneration();return ye.value=null,Co(t,l,c)}return $n(t),va(t)}function Ac(a){let i=C.value;if(i===null)return;F.value=a,kn+=1,T.value=[],ce.value=false,ye.value=null,nn=void 0,X.value=false,tn!==void 0&&clearTimeout(tn);let t=kn,c=n.getGeneration();(async()=>{try{let l=await Vo(n,i,F.value);if(!On(i,c,t))return;l!==null&&(T.value=Je(i.conversationId,Qe(ze,i.conversationId,l.items)),nn=l.nextCursor,ce.value=l.exhausted||l.nextCursor===void 0);}catch(l){if(!On(i,c,t))return;ye.value=$e(l,"profile.channel-members.cache",i);}On(i,c,t)&&(tn=setTimeout(()=>{tn=void 0,Co(i,c,t);},300));})();}function zc(){let a=C.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):ga(a)}function Gc(){let a=C.value;return a===null||gn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):gn==="more"?ga(a):va(a)}function Dn(a,i,t){return !N&&n.getGeneration()===i&&mn===t&&V(ie.value,a)}async function _t(a,i={}){if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=he(a),c=mn,l=n.getGeneration();Se.value=true,z$1.value=null;try{let f=i.useCache===!1?null:await Wo(n,t,Pe.value||void 0);if(!Dn(t,l,c))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(be.value=st(t.conversationId,Qe(ze,t.conversationId,f.items)),pn=f.nextPageToken,Ee.value=f.exhausted||f.nextPageToken===void 0);let M=await _s(n,t,Pe.value||void 0);return Dn(t,l,c)?(be.value=st(t.conversationId,Qe(ze,t.conversationId,M.items)),pn=M.nextPageToken,Ee.value=M.exhausted||M.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Dn(t,l,c))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let M=$e(f,"profile.channel-mentions",t);return We="initial",z$1.value=M,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:M})}}async function Ia(){let a=ie.value,i=pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(Ee.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=mn,c=n.getGeneration();Se.value=true,z$1.value=null;try{let l=await Fs(n,Pe.value,i);return Dn(a,c,t)?(be.value=st(a.conversationId,Qe(ze,a.conversationId,ia(be.value,l.items))),pn=l.nextPageToken,Ee.value=l.exhausted||l.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(l){if(!Dn(a,c,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=$e(l,"profile.channel-mentions.page",a);return We="more",z$1.value=f,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function pr(a=null,i=""){Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,ie.value=a===null?null:he(a),be.value=[],Pe.value=i,Se.value=false,Ee.value=false,z$1.value=null,pn=void 0,We=void 0;}function Dc(a,i=""){return V(ie.value,a)&&Pe.value===i?(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,z$1.value=null,pn=void 0,We=void 0,_t(a,{useCache:false})):(pr(a,i),_t(a))}function _c(a){let i=ie.value;if(i===null)return;pr(i,a);let t=mn,c=n.getGeneration();(async()=>{try{let l=await Wo(n,i,a||void 0);if(!Dn(i,c,t))return;l!==null&&(be.value=st(i.conversationId,Qe(ze,i.conversationId,l.items)),pn=l.nextPageToken,Ee.value=l.exhausted||l.nextPageToken===void 0);}catch(l){if(!Dn(i,c,t))return;z$1.value=$e(l,"profile.channel-mentions.cache",i);}Dn(i,c,t)&&(Be=setTimeout(()=>{Be=void 0,_t(i);},300));})();}function Fc(){let a=ie.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,z$1.value=null,pn=void 0,Ee.value=false,We=void 0,_t(a,{useCache:false}))}function Kc(){let a=ie.value;return a===null||We===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):We==="more"?Ia():_t(a)}function Po(a){V(R.value,a)&&(ot(a,{forceRefresh:true}),dt(a,{forceRefresh:true,preserveExisting:true}));}function vr(a){V(C.value,a)&&Ro(a,{preserveExisting:true});}async function ha(a){if(!V(S.value,a))return;(await Dt(a,{forceRefresh:true})).ok&&j.value?.canViewMembers===true&&vr(a);}function Hc(a){if(a.type==="profile:updated"){if(a.profileType==="user")er(a.id,{forceRefresh:true}),u.value?.conversationId===a.id&&k({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let q={conversationType:"group",conversationId:a.id};if(xt(q)||cr(q)){re.add(q.conversationId);return}V(R.value,q)?Gt(q,{includeMembers:true,forceRefresh:true}):ot(q,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let q={conversationType:"channel",conversationId:a.channelId};on(q)||ur(q)?Sn.add(q.conversationId):ha(q);return}if(a.type==="sync:complete"){for(let q of a.conversations)if(q.conversationType==="group"){let Oe={conversationType:"group",conversationId:q.conversationId};V(R.value,Oe)&&Po(Oe);}else if(q.conversationType==="channel"){let Oe={conversationType:"channel",conversationId:q.conversationId};(V(S.value,Oe)||V(C.value,Oe)||V(ie.value,Oe))&&(wn(Oe),vr(Oe));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let c=i.body.system?.targetUserIds??[],l=n.getCredentials().userId;if(i.conversationType==="group"&&xu.has(t)){let q={conversationType:"group",conversationId:i.conversationId},Oe=(a.source??"live")==="live",sn=t==="group_member_renamed"&&c.some(_n=>_n.trim()===l)&&xt(q,"set-my-nickname"),qc=t==="group_member_renamed"&&!sn;if(t==="group_member_renamed"){sn||pa(n,i);for(let _n of c)sn&&_n.trim()===l||ca(q,_n);}if(t==="group_member_joined"||t==="group_member_invited")for(let _n of c)mo(q,_n);if(Oe&&(t==="group_member_left"||t==="group_member_removed"))for(let _n of c)fo(q,_n);if(cr(q)){ve.add(q.conversationId);return}Oe&&!sn&&(qc?V(R.value,q)&&dt(q,{forceRefresh:true,preserveExisting:true}):Po(q));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Au.has(t)||!f)return;let M={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&c.some(q=>on(M,q.trim()===l?"set-my-nickname":"set-member-nickname",q)))){if(t==="channel_member_renamed")for(let q of c)pa$1(M,q);if(t==="channel_admin_added"||t==="channel_admin_removed"){let q=t==="channel_admin_added"?"admin":"member";for(let Oe of c)Un(M,Oe,q);}if(t==="channel_owner_transferred"){for(let Oe of c)Un(M,Oe,"owner");let q=i.body.system?.operatorId;q!==void 0&&!c.includes(q)&&Un(M,q,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let q of c)ho(M,q);if(t==="channel_member_left"||t==="channel_member_removed")for(let q of c)Io(M,q);if(ur(M)){vc(M,Hs.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0,c);return}Hs.has(t)?wn(M,c):it(M,c),t!=="channel_member_left"&&t!=="channel_member_removed"&&c.length>0&&at(M,c,{forceRefresh:true}),vr(M);}}let Nc=n.subscribeProfileChange(()=>{o.value+=1;}),Lc=n.subscribeEvents(Hc);function ya(){O["set-remark"]+=1,O.block+=1,O.report+=1,O["delete-friendship"]+=1,le.direct+=1,u.value=null,p.value=null,h.value="unknown",w$1.value=false,x$1.value=null,De+=1,G.value=[],B.value=false,W.value=null;}function ba(){for(let a of Object.keys(I))I[a]+=1;for(let a of Object.keys(A$1))A$1[a]+=1;te.clear(),Re.clear(),ee.clear(),re.clear(),ve.clear(),le.group+=1,un+=1,R.value=null,g.value=null,D.value=[],U.value=false,$.value=false,ae.value=null;}function gr(){for(let a of Object.keys(yn))yn[a]+=1;cn.clear(),bn.clear(),Ke.clear(),we.clear(),Sn.clear(),Cn.clear(),le.channel+=1,S.value=null,j.value=null,Z.value=false,L.value=null,tt+=1,Ie.value=null,K.value=null,Q.value=false,pe.value=null,$n(),pr();}function Ca(){ya(),O["search-user"]+=1,O["resolve-application-target"]+=1,O["request-friendship"]+=1,ba(),gr(),ln.clear();for(let a of ["individual","group","channel"])rt[a]+=1,Object.assign(se[a],Vr());Nn.clear(),uo(),Rn.clear(),Ue.clear(),ze.clear(),dn.clear(),Ve.clear(),fn.clear(),ue.clear(),s.value={},qe.size>0&&(qe.clear(),Tn.value+=1);}function Uc(){N||(Ca(),N=true,te.clear(),Re.clear(),ee.clear(),Ke.clear(),we.clear(),cn.clear(),bn.clear(),Nc(),Lc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:u,directProfile:p,directRelationship:h,directLoading:w$1,directError:x$1,directMutualGroups:G,directMutualGroupsLoading:B,directMutualGroupsError:W,groupRef:R,groupProfile:g,groupMembers:D,groupLoading:U,groupMembersLoading:$,groupError:ae,channelRef:S,channelProfile:j,channelLoading:Z,channelError:L,directories:se,directorySearchKeyword:Ce,directorySearchResult:_,directorySearchLoading:P,directorySearchError:y$1,channelMembersRef:C,channelMembers:T,channelMemberQuery:F,channelMembersLoading:X,channelMembersExhausted:ce,channelMembersError:ye,channelMemberDetailRef:Ie,channelMemberDetail:K,channelMemberDetailLoading:Q,channelMemberDetailError:pe,channelMentionsRef:ie,channelMentions:be,channelMentionQuery:Pe,channelMentionsLoading:Se,channelMentionsExhausted:Ee,channelMentionsError:z$1,resolveDisplayName:io,resolveAvatarUrl:Zt,resolvePublicNickname:so,resolveSenderProfile:er,resolveGroupMemberProfiles:ot,resolveChannelMemberProfiles:at,invalidateChannelMemberProfiles:it,invalidateChannelMemberSet:wn,channelMentionRevision:ao,loadDirect:k,resolveProfileAccess:E,loadDirectMutualGroups:Y,setDirectContactRemark:fe,blockDirectContact:me,reportDirectContact:Ae,deleteDirectFriendship:_e,searchDirectContact:Te,resolveDirectContactTarget:He,requestDirectFriendship:Xe,loadGroup:Gt,updateGroupName:je,updateGroupAvatar:Ye,setMyGroupNickname:zn,updateGroupVerification:Gn,isGroupProfileWritePending:xt,inviteGroupMembers:sc,removeGroupMember:cc,transferGroupOwnership:lc,leaveGroup:uc,isGroupMemberManagementPending:cr,ensureGroupMembers:dt,loadChannel:Dt,requestMembershipJoin:Pc,updateChannelName:Js,updateChannelDescription:Xs,updateChannelAvatar:Ys,setMyChannelNickname:Zs,setChannelMemberNickname:ec,updateChannelVerification:nc,setChannelAllMuted:tc,setChannelMemberPrivateChatDisabled:rc,isChannelProfileWritePending:on,inviteChannelMembers:Ic,removeChannelMember:hc,setChannelMemberAdmin:yc,transferChannelOwnership:bc,leaveChannel:Cc,dismissChannel:Rc,isChannelMemberManagementPending:ur,loadDirectory:kc,refreshDirectory:Oc,searchDirectory:Sc,clearDirectorySearch:uo,openChannelMembers:Ro,getChannelMember:bo,loadChannelMember:xc,setChannelMemberQuery:Ac,loadMoreChannelMembers:zc,retryChannelMembers:Gc,resetChannelMembers:$n,updateGroupMemberNicknameProjection:sa$1,clearGroupMemberNicknameProjection:ca,removeGroupMemberProjection:fo,restoreGroupMemberProjection:mo,isGroupMemberRemovedProjection:la$1,clearGroupMemberProjections:po,updateChannelNameProjection:ua,updateChannelDescriptionProjection:da,updateChannelAvatarProjection:fa,updateChannelVerificationProjection:ma,updateChannelManagementProjection:vo,updateChannelMemberDisplayNameProjection:go,updateChannelMemberRoleProjection:Un,clearChannelMemberDisplayNameProjection:pa$1,channelMemberNicknameProjection:wc,removeChannelMemberProjection:Io,restoreChannelMemberProjection:ho,isChannelMemberRemovedProjection:yo,clearChannelMemberProjections:mr,openChannelMentions:Dc,setChannelMentionQuery:_c,loadMoreChannelMentions:Ia,refreshChannelMentions:Fc,retryChannelMentions:Kc,resetChannelMentions:pr,resetDirect:ya,resetGroup:ba,resetChannel:gr,reset:Ca,dispose:Uc}})}var Ns=new WeakMap,Br=new WeakMap;function Du(e=ke()){ge(e);let n=Ns.get(e);n===void 0&&(n=Gu(e),Ns.set(e,n));let r=n(e);return Br.get(e)!==r&&(Br.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),Br.get(e)===r&&Br.delete(e);})),r}var Jr=new WeakMap,Nu=Object.freeze({status:"loading",message:null}),Ls=Object.freeze({status:"missing",message:null});function Wr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Qo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function Lu(e){return defineStore("k2-im-quoted-message",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef({}),u=new Set,p=new Set,h=0,w=new Map,x=false,G=false,B=false,W=computed(()=>{let P=new Map;for(let y of o.messages)P.set(y.id,y);return P});function R(){h+=1,u.clear(),w.clear(),p=new Set,B=false,s.value={};}let g=watch(()=>Wr(o.activeRef),(P,y)=>{P!==y&&R();},{flush:"sync"}),D=n.subscribeEvents(P=>{x||P.type!=="connection:changed"||P.state!=="authenticated"||se();});function U(P){let y=P.trim();if(y==="")return Ls;let C=W.value.get(y);return C!==void 0?Object.freeze({status:"ready",message:C}):s.value[y]??Nu}function $(P,y){if(P.length===0)return;let C={...s.value},T=false;for(let[F,X]of P)y.get(F)===(w.get(F)??0)&&(C[F]=X,T=true);T&&(s.value=C);}async function ae(P){let y=h,C=new Map(P.map(K=>[K,w.get(K)??0])),T=n.getGeneration(),F=o.getHandle(),X=Wr(o.activeRef);if(F===void 0||Wr(F.ref)!==X)return;let ce=()=>!x&&h===y&&n.getGeneration()===T&&o.getHandle()===F&&Wr(o.activeRef)===X,ye=[],Ie=[];try{let K=await Promise.all(P.map(async Q=>({messageId:Q,message:await F.resolveMessage(Q)})));if(!ce())return;for(let{messageId:Q,message:pe}of K)pe===null?Ie.push(Q):ye.push([Q,Object.freeze({status:"ready",message:pe})]);}catch(K){if(!ce())return;$(P.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:true})]),C),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:P.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:K}}));return}if($(ye,C),Ie.length!==0)try{let K=await F.messages.fetchByIds(Ie);if(!ce())return;let Q=[];for(let ie of K.messages)Q.push([ie.id,Object.freeze({status:"ready",message:ie})]);for(let ie of K.missingMessageIds)Q.push([ie,Ls]);let pe=K.failure?.retryable??!0;for(let ie of K.unresolvedMessageIds)Q.push([ie,Object.freeze({status:"failed",message:null,retryable:pe})]);$(Q,C),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Ie.length,resolvedCount:K.messages.length,missingCount:K.missingMessageIds.length,unresolvedCount:K.unresolvedMessageIds.length,retryable:K.failure?.retryable}}));}catch(K){if(!ce())return;$(Ie.map(Q=>[Q,Object.freeze({status:"failed",message:null,retryable:false})]),C),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:T,conversation:{...F.ref},data:{requestedCount:Ie.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:K}}));}}function S(){let P=[];for(let y of p)W.value.has(y)||u.has(y)||s.value[y]===void 0&&P.push(y);return P}function j(){if(x)return;if(G){B=true;return}let P=S();if(P.length!==0){G=true;for(let y of P)u.add(y);ae(P).catch(y=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:P.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:y}}));}).finally(()=>{for(let y of P)u.delete(y);G=false,B&&(B=false,j());});}}function Z(P){if(x)return;p=new Set(Qo(P));let y=Object.fromEntries(Object.entries(s.value).filter(([C])=>p.has(C)&&!W.value.has(C)));Object.keys(y).length!==Object.keys(s.value).length&&(s.value=y),j();}function L(P){if(x)return;let y=Qo(P).filter(T=>s.value[T]!==void 0);if(y.length===0)return;let C={...s.value};for(let T of y)delete C[T],u.delete(T),w.set(T,(w.get(T)??0)+1);s.value=C,j();}function se(P){if(x)return;let C=(P===void 0?[...p]:Qo(P)).filter(F=>{let X=s.value[F];return X?.status==="failed"&&X.retryable});if(C.length===0)return;let T={...s.value};for(let F of C)delete T[F],u.delete(F),w.set(F,(w.get(F)??0)+1);s.value=T,j();}function Ce(){R();}function _(){x||(x=true,g(),D(),R());}return Jr.set(e,Object.freeze({dispose:_})),{lookup:U,prefetch:Z,retry:se,invalidate:L,reset:Ce}})}var Us=new WeakMap,Qr=new WeakMap;function Uu(e=ke()){ge(e);let n=Us.get(e);n===void 0&&(n=Lu(e),Us.set(e,n));let r=n(e),o=Jr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Qr.get(e)!==r&&(Qr.set(e,r),Me(e,()=>{o.dispose(),r.$dispose(),Qr.get(e)===r&&(Qr.delete(e),Jr.get(e)===o&&Jr.delete(e));})),r}var Zr=new WeakMap;function Xr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Wu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Qu(e,n){return Wu(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 Ju(e){return defineStore("k2-im-reaction",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),u=shallowRef(null),p=false,h=0,w=new Map;function x(){h+=1,w.clear(),s.value=[],u.value=null;}let G=watch(()=>Xr(o.activeRef),(S,j)=>{S!==j&&x();},{flush:"sync"});function B(S,j){let Z=o.activeRef,L=o.getHandle(),se=Xr(Z);if(p||Z===null||L===void 0||Xr(L.ref)!==se||!o.messages.some(_=>_.id===S))return Object.freeze({ok:false,operation:j,reason:"not-ready"});if(w.has(S))return Object.freeze({ok:false,operation:j,reason:"busy"});let Ce=Symbol(S);return w.set(S,Ce),s.value=Object.freeze([...w.keys()]),{generation:n.getGeneration(),contextEpoch:h,handle:L,conversationKey:se,token:Ce}}function W(S){return !p&&S.contextEpoch===h&&S.generation===n.getGeneration()&&o.getHandle()===S.handle&&Xr(o.activeRef)===S.conversationKey}function R(S,j){w.get(S)===j&&(w.delete(S),s.value=Object.freeze([...w.keys()]));}async function g(S,j,Z){let L=B(S,j);if(!("handle"in L))return L;try{let se=await Z(L.handle);return W(L)?(u.value=null,r.record("debug","pinia","message",`reaction-${j}-settled`,()=>({generation:L.generation,conversation:{...L.handle.ref},messageId:S,result:{ok:!0,action:se.action}})),Object.freeze({ok:!0,operation:j,change:se})):Object.freeze({ok:!1,operation:j,reason:"stale"})}catch(se){if(!W(L))return Object.freeze({ok:false,operation:j,reason:"stale"});let Ce=Qu(se,j);return u.value=Ce,r.record("error","pinia","message",`reaction-${j}-settled`,()=>({generation:L.generation,conversation:{...L.handle.ref},messageId:S,result:{ok:false,reason:"sdk-rejected",error:Ce}})),Object.freeze({ok:false,operation:j,reason:"sdk-rejected",error:Ce})}finally{R(S,L.token);}}function D(S,j){return g(S,"toggle",Z=>Z.messages.toggleReaction(S,j))}function U(S,j,Z){return g(S,"set",L=>L.messages.setReaction(S,j,Z))}function $(){x();}function ae(){p||(p=true,G(),x());}return Zr.set(e,Object.freeze({dispose:ae})),{operatingMessageIds:s,error:u,toggle:D,set:U,reset:$}})}var qs=new WeakMap,Yr=new WeakMap;function Xu(e=ke()){ge(e);let n=qs.get(e);n===void 0&&(n=Ju(e),qs.set(e,n));let r=n(e),o=Zr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Yr.get(e)!==r&&(Yr.set(e,r),Me(e,()=>{o.dispose(),r.$dispose(),Yr.get(e)===r&&(Yr.delete(e),Zr.get(e)===o&&Zr.delete(e));})),r}function Zu(e){return defineStore("k2-im-session",()=>{let n=ge(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getGeneration()),u=ref("idle"),p=ref(""),h=ref({}),w=false,x=0,G="",B=n.getDiagnostics(),W=n.subscribeEvents(L=>{w||L.type==="connection:changed"&&(o.value=L.state,L.state==="authenticated"&&(u.value="ready"));});function R(L,se){return !w&&L===x&&n.getGeneration()===se}function g(L){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(L);}function D(L){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let se=L.session===null?"":`${L.session.userId}\0${L.session.token}`;se!==G&&(x+=1,G=se);let Ce=n.applySession(L.session,L.endpoints,L.deviceToken);return r.value=L.session?.userId??"",s.value=n.getGeneration(),o.value=n.getConnectionState(),u.value=o.value==="authenticated"?"ready":"idle",p.value="",h.value={},B.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:Ce.hasToken,didReset:Ce.didReset}})),Ce}async function U(L,se,Ce){if(w)return {ok:false,errorKey:"lifecycle.disposed"};let _=++x,P=n.getGeneration(),y=Date.now();u.value=L,p.value="",h.value={},B.record("info","pinia",se==="prepare"?"session":"connection",`${se}-start`,()=>({generation:P}));let C=await Ce();return R(_,P)?(s.value=n.getGeneration(),o.value=n.getConnectionState(),u.value=C.ok?o.value==="authenticated"?"ready":"idle":"error",p.value=C.errorKey??"",h.value=C.errorParams??{},B.record(C.ok?"info":"error","pinia",se==="prepare"?"session":"connection",`${se}-${C.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-y,...C.ok?{}:{error:{message:C.errorKey??`${se}-failed`,data:C.errorParams}}})),C):(B.record("debug","pinia","session",`${se}-stale-result-dropped`,()=>({generation:P,durationMs:Date.now()-y})),C)}function $(){return U("preparing","prepare",()=>n.prepare())}function ae(){return U("connecting","connect",()=>n.connect())}function S(){w||(x+=1,n.disconnect(),o.value=n.getConnectionState(),u.value="idle");}async function j(L){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");x+=1;try{await n.logout(L);}finally{r.value="",G="",s.value=n.getGeneration(),o.value=n.getConnectionState(),u.value="idle",p.value="",h.value={};}}function Z(){w||(w=true,x+=1,W(),r.value="",o.value="idle",s.value=n.getGeneration(),u.value="disposed",p.value="",h.value={});}return {accountId:r,connectionState:o,generation:s,phase:u,errorKey:p,errorParams:h,configureHost:g,applySession:D,prepare:$,connect:ae,disconnect:S,logout:j,dispose:Z,getRuntime:()=>n}})}var $s=new WeakMap,eo=new WeakMap;function ed(e=ke()){ge(e);let n=$s.get(e);n===void 0&&(n=Zu(e),$s.set(e,n));let r=n(e);return eo.get(e)!==r&&(eo.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),eo.get(e)===r&&eo.delete(e);})),r}function to(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Qs(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Jt(e,n){return `${Qs(e)}\0${n}`}function Tt(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Bs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function td(e){return defineStore("k2-im-thread-paging",()=>{let n=ge(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Mn(e),u=ref(false),p=ref(false),h=ref(null),w=ref(null),x=false,G="",B="",W=0,R=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Tt(o.messages,"older"),newerBoundary:Tt(o.messages,"newer")}),g=(_,P)=>{let y=R();return !x&&P===W&&_.generation===y.generation&&to(_.ref,y.ref)&&_.ref!==null},D=_=>{(_===void 0||_==="older")&&(G="",h.value=null),(_===void 0||_==="newer")&&(B="",w.value=null);},U=()=>{W+=1,u.value=false,p.value=false,D();},$=async(_,P)=>{let y=R(),C=_==="older"?G:B,T=_==="older"?o.hasOlder:o.hasNewer;if(y.ref===null||!T||(_==="older"?u.value:p.value))return 0;let F=y.ref,X=_==="older"?y.olderBoundary:y.newerBoundary,ce=Jt(F,X);if(_==="older"?p.value:u.value)return 0;if(!P&&C!==""&&C===ce)return r.record("debug","pinia","history",`thread-paging-${_}-circuit-open`,()=>({conversation:F,data:{boundary:X}})),0;P&&(D(_),r.record("debug","pinia","history",`thread-paging-${_}-retry`,()=>({conversation:F})));let ye=new Set(o.messages.map(K=>K.id)),Ie=++W;_==="older"?u.value=true:p.value=true,r.record("debug","pinia","history",`thread-paging-${_}-start`,()=>({conversation:F,generation:y.generation,data:{boundary:X,force:P}}));try{let K=_==="older"?await o.loadOlder():await o.loadNewer();if(!g(y,Ie))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:y.generation,data:{side:_}})),0;if(!K)return 0;D(_);let Q=o.messages.reduce((pe,ie)=>pe+ +!ye.has(ie.id),0);return r.record("debug","pinia","history",`thread-paging-${_}-success`,()=>({conversation:F,generation:y.generation,data:{added:Q}})),Q}catch(K){if(!g(y,Ie))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:y.generation,data:{side:_,outcome:"failed"}})),0;throw Tt(o.messages,_)===X&&(_==="older"?(G=ce,h.value=K):(B=ce,w.value=K),r.record("warn","pinia","history",`thread-paging-${_}-failed`,()=>({conversation:F,generation:y.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${_} \u5206\u9875\u5931\u8D25`,data:Bs(K)}}))),K}finally{Ie===W&&(_==="older"?u.value=false:p.value=false);}},ae=(_={})=>$("older",_.force===true),S=(_={})=>$("newer",_.force===true),j=async _=>{if(_!==void 0&&!to(o.activeRef,_))return false;s.clearLocation(),U();let P=R();if(P.ref===null)return false;let y=P.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:y})),!o.hasNewer)return true;let C;try{C=await o.loadLatest();}catch(T){if(to(o.activeRef,y)&&n.getGeneration()===P.generation){let F=Tt(o.messages,"newer");B=Jt(y,F),w.value=T,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:y,generation:P.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Bs(T)}}));}throw T}return !to(o.activeRef,y)||n.getGeneration()!==P.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:y})),false):(D("newer"),C)},Z=watch(()=>Qs(o.activeRef),()=>U(),{flush:"sync"}),L=watch(()=>`${Jt(o.activeRef,Tt(o.messages,"older"))}\0${Tt(o.messages,"newer")}`,()=>{let _=R(),P=Jt(_.ref,_.olderBoundary),y=Jt(_.ref,_.newerBoundary);G!==""&&G!==P&&D("older"),B!==""&&B!==y&&D("newer");},{flush:"sync"}),se=o.$onAction(({name:_})=>{(_==="loadLatest"||_==="loadAround"||_==="open"||_==="close"||_==="reset")&&U();});return {loadingOlder:u,loadingNewer:p,olderError:h,newerError:w,loadOlder:ae,loadNewer:S,retryOlder:()=>ae({force:true}),retryNewer:()=>S({force:true}),jumpToLatest:j,reset:U,dispose:()=>{x||(x=true,Z(),L(),se(),U());}}})}var Ws=new WeakMap,ro=new WeakMap;function rd(e=ke()){ge(e);let n=Ws.get(e);n===void 0&&(n=td(e),Ws.set(e,n));let r=n(e);return ro.get(e)!==r&&(ro.set(e,r),Me(e,()=>{r.dispose(),r.$dispose(),ro.get(e)===r&&ro.delete(e);})),r}function od(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ad(e=ke()){let n=Ge(e),r=Mn(e);return Object.freeze({async returnToLatest(o){return od(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Cr as applicationKey,Vc as createAndInstallImChatKit,ri as createImChatKitContext,Wc as disposeImChatKit,Bc as ensureImChatKitSelfProfile,ge as getImChatKitContext,oi as installImChatKit,el as useImApplicationsStore,gl as useImCapabilitiesStore,Wn as useImComposerStore,yl as useImConversationActivationCoordinator,zl as useImConversationDeletionCoordinator,Go as useImConversationListStore,ql as useImExpressionStore,Wl as useImHistoryReturnAfterSendCoordinator,nu as useImMediaStore,Lt as useImMessageOperationsStore,Du as useImProfileDirectoryStore,Uu as useImQuotedMessageStore,Xu as useImReactionStore,Mn as useImSearchStore,ed as useImSessionStore,rd as useImThreadPagingStore,ad as useImThreadReturnToLatestCoordinator,Ge as useImThreadStore};
|
|
1
|
+
import {r,ta,ja,v,ia,ha,ga,ea,da,ca,ba,$,G,H,F,Ba,d,pa,sa,ra,la,oa,na,ma as ma$1,A,y,z,x,w,Aa,za,ya,xa,wa,va,c,b,k,h,qa}from'./chunk-GBIHVXZP.js';import'./chunk-FA3RKHIR.js';import'./chunk-K6P5ZYHG.js';import {ma,ja as ja$1}from'./chunk-KTWXKQ4J.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,nextTick}from'vue';function Wl(e,n,r$1={}){let o=r(n);try{return ai(e,oi({runtime:o,...r$1}))}catch(s){throw o.dispose(),s}}function Ql(e){ta(ve(e).runtime);}var Bn=new WeakMap;function Pe(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 oi(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function ai(e,n){let r=Bn.get(e);if(r!==void 0&&!r.disposed){if(r.context===n)return r.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let o={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!o.disposed){o.disposed=true;for(let c of [...o.storeDisposers])c();o.storeDisposers.clear(),n.runtime.dispose(),Bn.get(e)===o&&Bn.delete(e);}}});return o.installation=s,Bn.set(e,o),s}function ve(e){let n=Bn.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 Oe(e,n){let r=Bn.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 Jl(e){Bn.get(e)?.installation.dispose();}function Cr(e){return `${e.domain}:${e.applicationId}`}function Yl(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 Zl(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function yr(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&&Zl(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 ec(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function nc(e){return defineStore("k2-im-applications",()=>{let n=ve(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),I=computed(()=>r.value.length),w=computed(()=>{let P=0,j=0,F=0;for(let Z of r.value)Z.ref.domain==="contact"?P+=1:Z.ref.domain==="group"?j+=1:F+=1;return Object.freeze({contact:P,group:j,channel:F})}),z=false,A=0,$=0,V=0,R=false,g=0,_=new Map;function U(){A+=1,$+=1,V+=1,g+=1,R=false,_.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function B(P){return {client:P,generation:n.getGeneration(),stateEpoch:A}}function ae(P){return !z&&P.client===n.getProductClient()&&P.generation===n.getGeneration()&&P.stateEpoch===A}async function M(){if(z)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let P=++$,j;try{j=B(n.ensureProductClient());}catch(F){let Z=yr(F,"reload");return s.value=Z,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}o.value=true,s.value=null;try{let F=await j.client.applications.listPending();return P!==$||!ae(j)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...F]),Object.freeze({ok:!0,operation:"reload"}))}catch(F){if(P!==$||!ae(j))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Z=yr(F,"reload");return s.value=Z,Object.freeze({ok:false,operation:"reload",reason:"failed",error:Z})}finally{P===$&&ae(j)&&(o.value=false);}}function x(){if(z||R)return;R=true;let P=A,j=++g;queueMicrotask(()=>{j===g&&(R=false,!(z||P!==A)&&M());});}function Y(P){(P.type==="contact-application:received"||P.type==="channel-join-application:received"||P.type==="application:updated")&&x();}let N=n.subscribeProductEvents(Y);async function Q(P,j){let F=Yl(P),Z=Cr(F);if(z)return Object.freeze({ok:false,operation:j,reason:"stale",application:F});let ce=++V;_.set(Z,ce),c.value={...c.value,[Z]:j};let{[Z]:be,...he}=m.value;m.value=he;let K;try{K=B(n.ensureProductClient());}catch(ge){let le=yr(ge,j);m.value={...m.value,[Z]:le};let{[Z]:Ce,...ke}=c.value;return c.value=ke,_.delete(Z),Object.freeze({ok:false,operation:j,reason:"failed",application:F,error:le})}let J=()=>ae(K)&&_.get(Z)===ce;try{return await K.client.applications[j](F),J()?($+=1,o.value=!1,r.value=Object.freeze(r.value.filter(ge=>Cr(ge.ref)!==Z)),Object.freeze({ok:!0,operation:j,application:F})):Object.freeze({ok:!1,operation:j,reason:"stale",application:F})}catch(ge){if(!J())return Object.freeze({ok:false,operation:j,reason:"stale",application:F});let le=yr(ge,j);return ec(le)?($+=1,o.value=false,r.value=Object.freeze(r.value.filter(Ce=>Cr(Ce.ref)!==Z)),Object.freeze({ok:false,operation:j,reason:"failed",application:F,error:le})):(m.value={...m.value,[Z]:le},Object.freeze({ok:false,operation:j,reason:"failed",application:F,error:le}))}finally{if(J()){_.delete(Z);let{[Z]:ge,...le}=c.value;c.value=le;}}}function se(P){return Q(P,"accept")}function E(P){return Q(P,"ignore")}function C(){z||U();}function y(){z||(z=true,N(),U());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:I,domainCounts:w,reload:M,accept:se,ignore:E,reset:C,dispose:y}})}var li=new WeakMap,br=new WeakMap;function tc(e=Pe()){ve(e);let n=li.get(e);n===void 0&&(n=nc(e),li.set(e,n));let r=n(e);return br.get(e)!==r&&(br.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),br.get(e)===r&&br.delete(e);})),r}function di(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function oc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var ci=Object.freeze({state:"none"});function ac(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:di(r)}})}function ic(e){return defineStore("k2-im-thread",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef([]),c=shallowRef(ci),m=shallowRef(null),I=ref(false),w=ref(false),z=ref(false),A=ref(false),$=ref(false),V=shallowRef(null),R=ref(0),g=false,_=0,U=0,B,ae,M,x,Y=[],N=new Map,Q=new Set;function se(){Y.length=0,R.value=0;}let E=n.subscribeEvents(h=>{if(g||h.type!=="message:received"||(h.source??"live")!=="live"||h.message.body.system?.timelineVisibility==="hidden")return;let G=o.value;G===null||h.message.conversationId!==G.conversationId||h.message.conversationType!==G.conversationType||h.message.senderId===n.getCredentials().userId||(Y.push(h.message.id),R.value+=1);});function C(h=null){se(),o.value=h,s.value=[],c.value=ci,m.value=null,I.value=h!==null,w.value=false,z.value=false,A.value=false,$.value=false,V.value=null;}function y(h){if((N.get(h)??0)>0){Q.add(h);return}h.close();}function P(){x?.(),x=void 0;let h=M;M=void 0,h!==void 0&&y(h);}function j(h,G,ne){let ie=o.value;if(g||M!==h||n.getGeneration()!==ne||ie===null||G.ref.conversationId!==ie.conversationId||G.ref.conversationType!==ie.conversationType)return false;let re=G.messages.filter(Re=>Re.body.system?.timelineVisibility!=="hidden");return oc(s.value,re)||(s.value=Object.freeze(re)),c.value=G.entryUnread,m.value=G.draft,I.value=G.loading,w.value=true,z.value=G.stale,A.value=G.hasOlder,$.value=G.hasNewer,V.value=G.error??null,true}async function F(h){let G=n.ensureProductClient();return h.conversationType==="direct"?G.openConversation({conversationType:"direct",conversationId:h.conversationId},{initialPosition:"first-unread"}):h.conversationType==="group"?G.openConversation({conversationType:"group",conversationId:h.conversationId},{initialPosition:"first-unread"}):G.openConversation({conversationType:"channel",conversationId:h.conversationId},{initialPosition:"first-unread"})}async function Z(h){let G=n.ensureProductClient();if(G.conversations.list().find(ie=>ie.ref.conversationType===h.conversationType&&ie.ref.conversationId===h.conversationId)?.manuallyUnread===true)try{await G.conversations.markRead(h);}catch(ie){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:h,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:ie}}));}}async function ce(h){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");U+=1,B=void 0,ae=void 0;let G=di(h),ne=++_,ie=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:ie,conversation:G}));let re;try{re=await F(G);}catch(Re){throw !g&&ne===_&&ie===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:ie,conversation:G,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:ac(Re,"thread.open",G)}})),Re}if(g||ne!==_||ie!==n.getGeneration()){re.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:ie,conversation:G}));return}if(await Z(G),g||ne!==_||ie!==n.getGeneration()){re.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:ie,conversation:G}));return}return P(),C(G),M=re,x=re.subscribe(Re=>j(re,Re,ie)),j(re,re.getSnapshot(),ie),r.record("debug","pinia","history","thread-open-complete",()=>({generation:ie,conversation:G})),re}function be(){_+=1;}function he(h){if(g||M===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${h}`);return M}function K(h,G,ne){return !g&&U===h&&M===G&&n.getGeneration()===ne}async function J(h,G){if(B!==void 0||ae!==void 0)return false;let ne=he(h),ie=n.getGeneration(),re=++U;B=re;try{return await G(ne),K(re,ne,ie)?(j(ne,ne.getSnapshot(),ie),!0):!1}finally{B===re&&(B=void 0);}}async function ge(h,G,ne){let ie=he(h),re=n.getGeneration(),Re=++U;B=void 0,ae=Re;try{if(await G(ie),!K(Re,ie,re))return !1;let oe=ie.getSnapshot();return ne(oe)?(j(ie,oe,re),!0):!1}finally{ae===Re&&(ae=void 0);}}function le(){return ge("loadLatest",h=>h.history.loadLatest(),h=>!h.hasNewer)}function Ce(){return J("loadOlder",h=>h.history.loadOlder())}function ke(){return J("loadNewer",h=>h.history.loadNewer())}function Se(h){return ge("loadAround",G=>G.history.loadAround(h),G=>G.messages.some(ne=>ne.id===h)).then(G=>G?s.value.some(ne=>ne.id===h):false)}function je(h){return he("resolveMessage").resolveMessage(h)}function D(h=he("retainHandle")){if(g)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");N.set(h,(N.get(h)??0)+1);let G=false;return ()=>{if(G)return;G=true;let ne=(N.get(h)??1)-1;if(ne>0){N.set(h,ne);return}N.delete(h),Q.delete(h)&&h.close();}}function L(){return D()}function de(){_+=1,U+=1,B=void 0,ae=void 0,P(),C();}function fe(h){let G=o.value;return G===null||G.conversationType!==h.conversationType||G.conversationId!==h.conversationId?false:(U+=1,B=void 0,ae=void 0,P(),C(),true)}function ue(){_+=1,U+=1,B=void 0,ae=void 0,x?.(),x=void 0;let h=new Set([...M===void 0?[]:[M],...Q,...N.keys()]);M=void 0,Q.clear(),N.clear();for(let G of h)G.close();C();}function De(){g||(ue(),g=true,E());}function O(){return Y.splice(0,Y.length)}return {activeRef:o,messages:s,entryUnread:c,draft:m,loading:I,ready:w,stale:z,hasOlder:A,hasNewer:$,error:V,activeRemoteMessageRevision:R,open:ce,invalidatePendingOpen:be,loadLatest:le,loadOlder:Ce,loadNewer:ke,loadAround:Se,resolveMessage:je,retainHandle:D,retainCurrentHandle:L,close:de,closeActiveConversation:fe,reset:ue,dispose:De,drainActiveRemoteMessageIds:O,getHandle:()=>M}})}var ui=new WeakMap,Rr=new WeakMap;function Ge(e=Pe()){ve(e);let n=ui.get(e);n===void 0&&(n=ic(e),ui.set(e,n));let r=n(e);return Rr.get(e)!==r&&(Rr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Rr.get(e)===r&&Rr.delete(e);})),r}var Sr=new WeakMap;function zo(e){let n=Sr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function mt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Mr(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function mi(e){return e===null?null:Mr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function wo(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function xo(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function cc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Kt(e,n,r){return cc(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:mt(r)},cause:e})}function kr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function uc(e){return defineStore("k2-im-composer",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),I=ref(false),w=ref(0),z=shallowRef(null),A=false,$=0,V=0,R=0,g,_=Promise.resolve(),U=Promise.resolve(),B=new Set,ae=new Map,M,x;function Y(){return o.getHandle()}function N(D,L){let de=o.activeRef;return !A&&Y()===D&&n.getGeneration()===L&&de!==null&&de.conversationId===D.ref.conversationId&&de.conversationType===D.ref.conversationType}function Q(D=Y()){if(D===void 0)return false;let L=n.getGeneration();return g?.handle===D&&g.generation===L||[...B].some(de=>de.handle===D&&de.generation===L)}async function se(D=Y()){if(D===void 0)return;let L=n.getGeneration(),de=g?.handle===D&&g.generation===L?g:void 0;if(de===void 0){let O=[...B].filter(h=>h.handle===D&&h.generation===L).map(h=>h.promise);O.length>0?await Promise.all(O):await U;return}g=void 0;let ue=_.then(async()=>{wo(de.input)?await D.draft.clear():await D.draft.save(de.input);}),De={handle:D,generation:L,promise:ue};B.add(De),U=ue,_=ue.catch(()=>{});try{await ue,N(D,L)&&(z.value=null,w.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:L,conversation:mt(D.ref)})));}catch(O){throw N(D,L)&&(g===void 0&&R===de.version&&(g=de),z.value=Kt(O,"composer.draft",D.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:L,conversation:mt(D.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:z.value}}))),O}finally{B.delete(De);}}function E(D){let L=Y(),de=n.getGeneration();if(L===void 0||!N(L,de))return z.value=Kt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let fe=Mr(D);return R+=1,s.value=wo(fe)?null:fe,g={handle:L,generation:de,version:R,input:fe},z.value=null,C(),wo(fe)&&se(L).catch(()=>{}),true}async function C(){if(m.value!==null)return;let D=s.value?.replyToMessageId;if(D===void 0){V+=1,c.value=null;return}let L=Y();if(L===void 0){c.value=null;return}let de=o.messages.find(O=>O.id===D);if(de!==void 0){V+=1,c.value=de;return}let fe=n.getGeneration(),ue=++V,De=await L.resolveMessage(D).catch(()=>null);ue!==V||!N(L,fe)||m.value!==null||s.value?.replyToMessageId!==D||(c.value=De);}function y(D){let L=Y();return L===void 0||!kr(D,L)?false:(m.value=null,c.value=D,E({...s.value??{text:"",attachments:[]},replyToMessageId:D.id}))}function P(D){if(D!==void 0&&s.value?.replyToMessageId!==D)return;c.value=null;let L=s.value;if(L===null)return;let{replyToMessageId:de,...fe}=L;E({...fe});}function j(D){let L=Y();return L===void 0||!kr(D,L)?false:(c.value=null,m.value=D,true)}function F(){m.value=null,C();}function Z(){V+=1,c.value=null,m.value=null;}function ce(D,L){return !A&&n.getGeneration()===D&&$===L}function be(D){return [...ae.values()].some(L=>L.handle===D)}function he(D,L){return D!==null&&xo(mi(D),L)}function K(D,L,de){!N(D,L)||s.value===null||!xo(s.value,de)||(R+=1,g?.handle===D&&g.generation===L&&xo(g.input,de)&&(g=void 0),s.value=null,V+=1,c.value=null);}async function J(D){let L=[...B].filter(fe=>fe.handle===D.handle&&fe.generation===D.generation).map(fe=>fe.promise.catch(()=>{}));if(L.length>0&&await Promise.all(L),!N(D.handle,D.generation))return;let de=await D.handle.draft.get();if(!he(de,D.input)){M?.token===D.token&&(M=void 0);return}M=D;try{await D.handle.draft.clear(),M?.token===D.token&&(M=void 0);}catch(fe){if(N(D.handle,D.generation)){if(s.value===null&&g===void 0){let ue={text:"",attachments:[]};R+=1,g={handle:D.handle,generation:D.generation,version:R,input:ue};}z.value=Kt(fe,"composer.draft",D.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:D.generation,conversation:mt(D.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:z.value}}));}}}function ge(D){if(!N(D.handle,D.generation)||s.value!==null)return;M=void 0;let L=Mr(D.input);R+=1,s.value=L,g={handle:D.handle,generation:D.generation,version:R,input:L},C();}async function le(D){let L=m.value,de=L===null?"send":"edit";if(L!==null&&x!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let fe=Y(),ue=n.getGeneration();if(fe===void 0||!N(fe,ue))return Object.freeze({ok:false,operation:de,reason:"not-ready"});let De=D.text.trim();if(De==="")return Object.freeze({ok:false,operation:de,reason:"empty"});let O=$;if(L!==null&&!kr(L,fe))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let h=Symbol(de);L!==null&&(x=h),I.value=x!==void 0,z.value=null;let G=o.retainHandle(fe),ne;if(L===null){let ie=Mr(D);ne={token:h,handle:fe,generation:ue,input:ie},ae.set(h,ne),K(fe,ue,ie);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:ue,operation:de,conversation:mt(fe.ref),...L===null?{}:{messageId:L.id}}));try{if(L===null){if(!ce(ue,O)||!N(fe,ue))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let ie=await fe.messages.sendText(De,{...D.mentions===void 0?{}:{mentions:D.mentions},...D.replyToMessageId===void 0?{}:{replyToMessageId:D.replyToMessageId}});if(!ce(ue,O)||!N(fe,ue))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!ie.ok)return ne!==void 0&&ge(ne),z.value=ie.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:ie.error});if(ne!==void 0&&(await J(ne),!ce(ue,O)||!N(fe,ue)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await fe.messages.editText(L.id,De,{...D.mentions===void 0?{}:{mentions:D.mentions}});}catch(ie){if(!ce(ue,O)||!N(fe,ue))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let re=Kt(ie,"composer.edit",fe.ref);return z.value=re,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:re})}if(!ce(ue,O)||!N(fe,ue))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===L&&F();}return z.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:ue,operation:de,conversation:mt(fe.ref)})),Object.freeze({ok:!0,operation:de})}catch(ie){if(!ce(ue,O)||!N(fe,ue))return Object.freeze({ok:false,operation:de,reason:"stale"});ne!==void 0&&ge(ne);let re=Kt(ie,`composer.${de}`,fe.ref);return z.value=re,Object.freeze({ok:false,operation:de,reason:"sdk-rejected",error:re})}finally{G(),ae.delete(h),x===h&&(x=void 0),I.value=x!==void 0,N(fe,ue)&&Ce();}}function Ce(){let D=Y();if(D===void 0)return;let L=M,de=L!==void 0&&L.handle===D&&L.generation===n.getGeneration()&&he(o.draft,L.input);L!==void 0&&!de&&(M=void 0),!Q(D)&&!be(D)&&!de&&(s.value=mi(o.draft)),m.value!==null&&!kr(m.value,D)&&(m.value=null),C();}function ke(){$+=1,V+=1,R+=1,g=void 0,ae.clear(),M=void 0,_=Promise.resolve(),U=Promise.resolve(),s.value=null,c.value=null,m.value=null,x=void 0,I.value=false,w.value=0,z.value=null;}let Se=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(D,L)=>{if(D.ref!==L?.ref){ke(),D.ref!==null&&Ce();return}Ce();},{immediate:true});function je(){A||(A=true,Se(),ke());}return Sr.set(e,Object.freeze({suspendInteraction:Z,syncReplyTarget:C,dispose:je})),{input:s,replyTo:c,editingMessage:m,submitting:I,draftCommitVersion:w,error:z,updateDraft:E,flush:se,hasPendingWork:Q,submitText:le,setReplyTo:y,clearReplyTo:P,setEditing:j,clearEditing:F,reset:ke}})}var pi=new WeakMap,Or=new WeakMap;function Wn(e=Pe()){ve(e);let n=pi.get(e);n===void 0&&(n=uc(e),pi.set(e,n));let r=n(e),o=zo(e);return Or.get(e)!==r&&(Or.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Or.get(e)===r&&(Or.delete(e),Sr.get(e)===o&&Sr.delete(e));})),r}var jr=new WeakMap;function Nt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function gi(e){return [...e]}function mc(e){return defineStore("k2-im-message-operations",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Wn(e),c=zo(e),m=shallowRef(null),I=ref(false),w=ref([]),z=ref(null),A=ref(false),$$1=ref([]),V=shallowRef(null),R=false,g=0,_=0,U=0;function B(){return o.getHandle()}function ae(O,h=B()){let G=o.activeRef;return !R&&h!==void 0&&G!==null&&O.conversationType!=="supergroup"&&G.conversationId===O.conversationId&&G.conversationType===O.conversationType&&h.ref.conversationId===O.conversationId&&h.ref.conversationType===O.conversationType}function M(O){return v(m.value,O)}function x(){A.value=false,$$1.value=[];}function Y(){z.value=null;}function N(){let O=I.value;x(),Y(),I.value=false,w.value=[],O&&c.syncReplyTarget();}function Q(O){if(O!==void 0){if(!ae(O))return Object.freeze({ok:false,reason:"not-ready"});if(!Nt(O))return Object.freeze({ok:false,reason:"not-selectable"});if(M(O))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),I.value=true,w.value=O===void 0?[]:[O],Object.freeze({ok:true})}function se(O){return w.value.some(h=>h.id===O)}function E(O){return !I.value||!ae(O)?Object.freeze({ok:false,reason:"not-ready"}):Nt(O)?M(O)?Object.freeze({ok:false,reason:"pinned-protected"}):(se(O.id)?w.value=w.value.filter(h=>h.id!==O.id):w.value=[...w.value,O],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function C(O){let h=B();return O.length===0||!O.every(G=>ae(G,h))?Object.freeze({ok:false,reason:"not-ready"}):(z.value=gi(O),Object.freeze({ok:true}))}function y(){let O=w.value;if(O.length===0)return Object.freeze({outcome:"empty"});let h=O.filter(ma);return O.some(ja$1)?($$1.value=h,A.value=true,Object.freeze({outcome:"confirmation-required"})):h.length===0?Object.freeze({outcome:"all-skipped"}):(C(h),Object.freeze({outcome:"picker-opened"}))}function P(){let O=gi($$1.value);return x(),O.length===0?Object.freeze({outcome:"all-skipped"}):(C(O),Object.freeze({outcome:"picker-opened"}))}async function j(O){let h=z.value,G=B();if(h===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let ne=n.getGeneration(),ie=++g,re=await $(n,{handle:G,messages:h,targets:O});return R||ie!==g||n.getGeneration()!==ne||B()!==G?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((re.ok||re.reason!=="stale")&&Y(),re.ok&&N(),V.value=re.ok?null:re.error??null,r.record(re.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:ne,conversation:G===void 0?void 0:{...G.ref},result:re.ok?{ok:true,sentCount:re.sentCount,skippedCount:re.skippedCount}:{ok:false,reason:re.reason,error:re.error}})),re)}function F(O,h,G){V.value=O.ok?null:O.error??null,r.record(O.ok?"debug":"error","pinia","message",`message-${O.operation}-settled`,()=>({generation:n.getGeneration(),conversation:G===void 0?void 0:{...G.ref},messageId:h,result:O.ok?{ok:true}:{ok:false,reason:O.reason,error:O.error}}));}function Z(O,h){return h!==void 0&&(R||B()!==h)?Object.freeze({ok:false,operation:O.operation,reason:"stale"}):O}async function ce(O){let h=B(),G=Z(await ba(n,{handle:h,message:O}),h);return F(G,O.id,h),G}async function be(O){let h=B(),G=Z(await ca(n,{handle:h,message:O}),h);return F(G,O.id,h),G}async function he(O){let h=B(),G=Z(await da(n,{handle:h,message:O}),h);return F(G,O.id,h),G}async function K(O){let h=B(),G=Z(await ea(n,{handle:h,messageId:O}),h);return F(G,O,h),G}function J(){let O=o.activeRef;if(!(O?.conversationType!=="group"&&O?.conversationType!=="channel"))return Object.freeze({conversationId:O.conversationId,conversationType:O.conversationType})}function ge(O,h,G){let ne=J();return !R&&O===_&&h!==void 0&&B()===h&&ne?.conversationId===G.conversationId&&ne.conversationType===G.conversationType}function le(O,h,G){let ne=J();return !R&&O===U&&B()===h&&ne?.conversationId===G.conversationId&&ne.conversationType===G.conversationType}function Ce(O){if(w.value=w.value.filter(h=>h.id!==O),$$1.value=$$1.value.filter(h=>h.id!==O),z.value!==null){let h=z.value.filter(G=>G.id!==O);z.value=h.length===0?null:h;}s.editingMessage?.id===O&&s.clearEditing();}async function ke(O){let h=J(),G=B();if(h===void 0||!ae(O,G))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let ne=++_;U+=1;let ie=await ga(n,{conversation:h,message:O});return ge(ne,G,h)?(ie.ok&&ie.operation==="pin"?(m.value=ie.value,Ce(ie.value.messageId),V.value=null):V.value=ie.ok?null:ie.error??null,ie):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Se(){let O=J(),h=B();if(O===void 0||h===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let G=++_;U+=1;let ne=await ha(n,O);return ge(G,h,O)?(ne.ok&&ne.operation==="unpin"?(m.value=null,V.value=null):V.value=ne.ok?null:ne.error??null,ne):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function je(){let O=J();if(O===void 0){m.value=null;return}try{m.value=ja(n,O);}catch{m.value=null;}}async function D(){let O=J(),h=B();if(O===void 0||h===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let G=n.getGeneration(),ne=++U;je();let ie=await ia(n,O);return n.getGeneration()!==G||!le(ne,h,O)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(ie.ok&&ie.operation==="sync-pin"?(m.value=ie.value,V.value=null):V.value=ie.ok?null:ie.error??null,ie)}function L(O){let h=new Map(O.map(re=>[re.id,re])),G=re=>re.flatMap(Re=>{let oe=h.get(Re.id);return oe!==void 0&&Nt(oe)?[oe]:[]});if(w.value=G(w.value),$$1.value=G($$1.value),z.value!==null){let re=G(z.value);z.value=re.length===0?null:re;}let ne=s.editingMessage;if(ne!==null){let re=h.get(ne.id);(re===void 0||!Nt(re))&&s.clearEditing();}let ie=s.input?.replyToMessageId;if(ie!==void 0){let re=h.get(ie);re!==void 0&&!Nt(re)&&s.clearReplyTo(ie);}}let de=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(O,h)=>{O.ref!==h?.ref&&(g+=1,_+=1,U+=1,je(),I.value=false,w.value=[],z.value=null,x(),V.value=null),L(O.messages);},{immediate:true}),fe=n.subscribeEvents(O=>{if(O.type!=="pinned-message:updated")return;let h=J();if(!(h===void 0||h.conversationId!==O.conversation.conversationId||h.conversationType!==O.conversation.conversationType)){if(U+=1,O.pinnedMessage===null){m.value=null;return}try{m.value=ja(n,h),Ce(O.pinnedMessage.messageId);}catch{}}});function ue(){g+=1,_+=1,U+=1,I.value=false,w.value=[],z.value=null,x(),V.value=null,je();}function De(){R||(R=true,de(),fe(),ue());}return jr.set(e,Object.freeze({dispose:De})),{activePinnedMessage:m,isMessageMultiSelect:I,selectedMessages:w,forwardPickerMessages:z,forwardTypeConfirmOpen:A,pendingForwardReadyMessages:$$1,error:V,enterMultiSelect:Q,exitMultiSelect:N,isSelected:se,toggleSelection:E,openForwardPicker:C,closeForwardPicker:Y,prepareForwardFromSelection:y,cancelForwardTypeConfirmation:x,confirmForwardTypeConfirmation:P,forward:j,recall:ce,deleteLocal:be,deleteForEveryone:he,retry:K,pin:ke,unpin:Se,syncPinned:D,isPinnedMessageProtected:M,reset:ue}})}var Ii=new WeakMap,Er=new WeakMap;function Lt(e=Pe()){ve(e);let n=Ii.get(e);n===void 0&&(n=mc(e),Ii.set(e,n));let r=n(e),o=jr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return Er.get(e)!==r&&(Er.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Er.get(e)===r&&(Er.delete(e),jr.get(e)===o&&jr.delete(e));})),r}var Ao=Object.freeze({availability:"unknown",reason:"not-ready"});function Ic(e){return defineStore("k2-im-capabilities",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Lt(e),c=shallowRef(null),m=false,I,w,z;function A(){w!==void 0&&(clearTimeout(w),w=void 0);}function $(E){A();let C=E.nextEvaluationAt;if(C===void 0)return;let y=Math.max(0,C-Date.now());w=setTimeout(()=>{w=void 0,g();},y);}function V(E){m||(c.value=E,$(E));}function R(E){let C=o.activeRef;return C!==null&&C.conversationType===E.conversationType&&C.conversationId===E.conversationId}function g(E=Date.now()){let C=o.activeRef,y=n.getProductClient();C===null||y===null||V(y.capabilities.get(C,{nowMs:E}));}function _(){I?.(),I=void 0,A(),c.value=null;let E=o.activeRef,C=n.getProductClient();E===null||C===null||(I=C.capabilities.subscribe(E,V));}function U(){_();}function B(){I?.(),I=void 0,A(),c.value=null;}async function ae(){let E=o.activeRef,C=n.getProductClient();if(E===null||C===null)return;let y=n.getGeneration();try{let P=await C.capabilities.refresh(E);if(m||y!==n.getGeneration()||!R(E))return;V(P);}catch(P){if(m||y!==n.getGeneration()||!R(E))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...E},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:P}})),V(C.capabilities.get(E));}}function M(E){return c.value===null?Ao:F(c.value,E)}function x(E){return M(E)}function Y(E){return M(E)}function N(E,C){let y=c.value;return y===null?Ao:H(E,{snapshot:y,selfId:n.getCredentials().userId,...C})}function Q(E,C){let y=c.value;return y===null?Ao:G(E,{snapshot:y,message:C,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function se(){m||(m=true,z?.(),z=void 0,B());}return z=watch(()=>o.activeRef,_,{deep:true,immediate:true}),{activeSnapshot:c,start:U,reset:B,refresh:ae,conversationAction:M,profileAction:x,memberAction:Y,memberTargetAction:N,messageAction:Q,dispose:se}})}var hi=new WeakMap,Tr=new WeakMap;function hc(e=Pe()){ve(e);let n=hi.get(e);n===void 0&&(n=Ic(e),hi.set(e,n));let r=n(e);return Tr.get(e)!==r&&(Tr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Tr.get(e)===r&&Tr.delete(e);})),r}var Ut=new WeakMap;function bi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function yc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function bc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function yi(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&bc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:bi(r)})}function Ci(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Cc(e=Pe()){let n=ve(e),r=Ut.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Wn(e),m=Ge(e),I={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function w(z){let A=bi(z);I.conversation=A;let $=++I.epoch,V=o.getGeneration(),R=()=>!I.disposed&&I.epoch===$&&o.getGeneration()===V;if(m.invalidatePendingOpen(),s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:V,conversation:A})),!yc(A))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:V,conversation:A})),Object.freeze({ok:false,reason:"unsupported",conversation:A});let g=m.getHandle();if(g!==void 0&&c.hasPendingWork(g))try{await c.flush(g);}catch(_){if(!R())return Object.freeze({ok:false,reason:"stale",conversation:A});let U=yi(_,"flush",A);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:V,conversation:A,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:U}})),Object.freeze({ok:false,reason:"draft-save-failed",conversation:A,error:U})}if(!R())return Object.freeze({ok:false,reason:"stale",conversation:A});if(m.getHandle()!==void 0&&Ci(m.activeRef,A))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:A,data:{reused:true}})),Object.freeze({ok:true,status:"opened",conversation:A});try{if(await m.open(A)===void 0||!R())return Object.freeze({ok:!1,reason:"stale",conversation:A})}catch(_){if(!R())return Object.freeze({ok:false,reason:"stale",conversation:A});let U=yi(_,"open",A);return s.record("warn","pinia","conversation","conversation-activation-open-failed",()=>({generation:V,conversation:A,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:U}})),Object.freeze({ok:false,reason:"open-failed",conversation:A,error:U})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:V,conversation:A})),Object.freeze({ok:true,status:"opened",conversation:A})}return I.coordinator=Object.freeze({activate:w}),Ut.set(e,I),Oe(e,()=>{I.disposed=true,I.conversation=null,I.epoch+=1,Ut.get(e)===I&&Ut.delete(e);}),I.coordinator}function Ri(e,n){let r=Ut.get(e);r===void 0||r.disposed||!Ci(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Pi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function kc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function pt(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&kc(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Oc(e){return defineStore("k2-im-conversation-list",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=ref([]),s=ref("idle"),c=ref(0),m=shallowRef(null),I=false,w=null,z,A=0;function $(y="idle"){o.value=[],s.value=y,c.value=0,m.value=null;}function V(y,P,j){I||w!==P||n.getGeneration()!==j||(o.value=y.items,s.value=y.state,c.value=y.totalUnread,m.value=y.error??null);}function R(y){if(I)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(w===y||(z?.(),z=void 0,w=y,A+=1,$(),y===null))return;let P=n.getGeneration();z=y.conversations.subscribe(j=>V(j,y,P)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:P}));}function g(){R(n.getProductClient());}function _(){R(null);}function U(y){return !I&&w===y.client&&n.getProductClient()===y.client&&n.getGeneration()===y.generation&&A===y.bindingEpoch}function B(){let y=n.ensureProductClient();return R(y),{client:y,generation:n.getGeneration(),bindingEpoch:A}}async function ae(){if(I)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let y;try{y=B();}catch(P){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:pt(P,"refresh")})}try{return await y.client.conversations.refresh(),U(y)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(P){return U(y)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:pt(P,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function M(y,P,j){let F=Pi(P);if(I)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:F});let Z;try{Z=B();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)})}try{j(Z.client,F);}catch(ce){return U(Z)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}return U(Z)?Object.freeze({ok:true,operation:y,conversation:F}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}async function x(y,P,j){let F=Pi(P);if(I)return Object.freeze({ok:false,operation:y,reason:"stale",conversation:F});let Z;try{Z=B();}catch(ce){return Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)})}try{return await j(Z.client,F),U(Z)?Object.freeze({ok:!0,operation:y,conversation:F}):Object.freeze({ok:!1,operation:y,reason:"stale",conversation:F})}catch(ce){return U(Z)?Object.freeze({ok:false,operation:y,reason:"failed",conversation:F,error:pt(ce,y,F)}):Object.freeze({ok:false,operation:y,reason:"stale",conversation:F})}}function Y(y,P){return M("set-pinned",y,(j,F)=>j.conversations.setPinned(F,P))}function N(y,P){return x("set-muted",y,(j,F)=>j.conversations.setMuted(F,P))}function Q(y){return x("mark-read",y,(P,j)=>P.conversations.markRead(j))}function se(y){return M("mark-unread",y,(P,j)=>P.conversations.markUnread(j))}function E(y){return M("delete-local",y,(P,j)=>P.conversations.deleteLocal(j))}function C(){I||(z?.(),z=void 0,w=null,$(),I=true);}return {items:o,state:s,totalUnread:c,error:m,start:g,reset:_,refresh:ae,setPinned:Y,setMuted:N,markRead:Q,markUnread:se,deleteLocal:E,dispose:C}})}var ki=new WeakMap,wr=new WeakMap;function Do(e=Pe()){ve(e);let n=ki.get(e);n===void 0&&(n=Oc(e),ki.set(e,n));let r=n(e);return wr.get(e)!==r&&(wr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),wr.get(e)===r&&wr.delete(e);})),r}var Tc=250,wc=2e3;function Mi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function _o(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Fo(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:Mi(r)}})}function xc(e){return defineStore("k2-im-search",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref(""),c=ref([]),m=ref(false),I=ref(false),w=ref("all"),z=ref(""),A=ref(""),$=shallowRef(null),V=false,R=0,g=0,_,U,B,ae;function M(){let K=o.activeRef,J=o.getHandle();if(!(V||K===null||J===void 0||!_o(K,J.ref)))return {ref:Mi(K),handle:J,generation:n.getGeneration()}}function x(K){return !V&&n.getGeneration()===K.generation&&o.getHandle()===K.handle&&_o(o.activeRef,K.ref)}function Y(){let K=U;K!==void 0&&(clearTimeout(K.timer),U=void 0,K.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function N(){B!==void 0&&(clearTimeout(B),B=void 0);}function Q(K,J){return J===R&&(m.value=false),Object.freeze({ok:false,operation:K,reason:"stale"})}function se(K,J){return K===g&&z.value===J&&(z.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function E(K,J,ge){switch(ge){case "all":return va(n,{conversation:K.ref,keyword:J});case "text":return wa(n,{conversation:K.ref,keyword:J});case "file":return xa(n,{conversation:K.ref,keyword:J});case "image":return ya(n,{conversation:K.ref});case "video":return za(n,{conversation:K.ref});case "voice":return Aa(n,{conversation:K.ref})}}function C(K,J){return K!==""?true:J!=="all"&&J!=="text"}function y(K){s.value=K,Y();let J=++R,ge=K.trim(),le=w.value,Ce=C(ge,le);if(_=void 0,c.value=[],I.value=false,$.value=null,!Ce)return m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ke=M();return ke===void 0?(m.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(m.value=true,new Promise(Se=>{let je=setTimeout(()=>{if(U?.timer===je&&(U=void 0),J!==R||!x(ke)){Se(Q("search",J));return}r.record("debug","pinia","history","search-start",()=>({generation:ke.generation,conversation:ke.ref,category:le})),E(ke,ge,le).then(D=>{if(J!==R||!x(ke)){Se(Q("search",J));return}c.value=[...D.results],_=D.nextPageToken,I.value=!D.exhausted,m.value=false,Se(Object.freeze({ok:true,operation:"search"}));}).catch(D=>{if(J!==R||!x(ke)){Se(Q("search",J));return}let L=Fo(D,"search.first-page",ke.ref);$.value=L,m.value=false,Se(Object.freeze({ok:false,operation:"search",reason:"failed",error:L}));});},Tc);U={timer:je,resolve:Se};}))}function P(K){return w.value=K,(K==="image"||K==="video"||K==="voice")&&(s.value=""),y(s.value)}async function j(){if(m.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!I.value||_===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let K=M();if(K===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let J=_,ge=++R;m.value=true,$.value=null;try{let le=await Ba(n,J);return ge!==R||!x(K)?Q("load-more",ge):(c.value=[...c.value,...le.results],_=le.nextPageToken,I.value=!le.exhausted,m.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(le){if(ge!==R||!x(K))return Q("load-more",ge);let Ce=Fo(le,"search.next-page",K.ref);return $.value=Ce,m.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Ce})}}async function F(K,J){let ge=M();if(ge===void 0||!_o(ge.ref,K))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let le=++g;N(),A.value="",z.value=J,$.value=null;try{return !o.messages.some(ke=>ke.id===J)&&!await o.loadAround(J)||(await nextTick(),le!==g||!x(ge))?se(le,J):(A.value=J,Object.freeze({ok:!0,operation:"locate"}))}catch(Ce){if(le!==g||!x(ge))return se(le,J);let ke=Fo(Ce,"search.locate",ge.ref);return z.value="",$.value=ke,Object.freeze({ok:false,operation:"locate",reason:"failed",error:ke})}}function Z(K){if(z.value!==K)return false;z.value="";let J=g,ge=M();return N(),ge===void 0||A.value!==K||(B=setTimeout(()=>{B=void 0,J===g&&x(ge)&&A.value===K&&(A.value="");},wc)),true}function ce(){g+=1,N(),z.value="",A.value="";}function be(K){R+=1,Y(),s.value="",c.value=[],m.value=false,I.value=false,w.value="all",_=void 0,$.value=null,K?.preserveLocation!==true&&ce();}function he(){V||(be(),V=true,ae?.(),ae=void 0);}return ae=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>be(),{flush:"sync"}),{keyword:s,results:c,searching:m,hasMore:I,category:w,locatingMessageId:z,highlightMessageId:A,error:$,search:y,setCategory:P,loadMore:j,locate:F,completeLocation:Z,clearLocation:ce,reset:be,dispose:he}})}var Oi=new WeakMap,xr=new WeakMap;function Mn(e=Pe()){ve(e);let n=Oi.get(e);n===void 0&&(n=xc(e),Oi.set(e,n));let r=n(e);return xr.get(e)!==r&&(xr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),xr.get(e)===r&&xr.delete(e);})),r}var zr=new WeakMap;function Si(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function zc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"}function Ac(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Gc(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&&Ac(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Si(n)})}function Dc(e=Pe()){let n=ve(e),r=zr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Do(e),m=Ge(e),I=Wn(e),w=Lt(e),z=Mn(e),A={disposed:false};function $(V){let R=Si(V);if(A.disposed)return Object.freeze({ok:false,reason:"stale",conversation:R});let g=o.getGeneration(),_=m.activeRef!==null&&m.activeRef.conversationType===R.conversationType&&m.activeRef.conversationId===R.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:g,conversation:R})),!zc(R))return Object.freeze({ok:false,reason:"unsupported",conversation:R});let U=c.deleteLocal(R);if(!U.ok){if(U.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:R});let M=Gc(U.error,R);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:g,conversation:R,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:M}})),Object.freeze({ok:false,reason:"delete-failed",conversation:R,error:M})}if(A.disposed||o.getGeneration()!==g)return Object.freeze({ok:false,reason:"stale",conversation:R});Ri(e,R);let B=m.closeActiveConversation(R),ae=_||B;return ae&&(I.reset(),w.reset(),z.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:g,conversation:R,data:{activeConversationCleared:ae}})),Object.freeze({ok:true,status:"deleted",conversation:R,activeConversationCleared:ae})}return A.coordinator=Object.freeze({deleteLocal:$}),zr.set(e,A),Oe(e,()=>{A.disposed=true,zr.get(e)===A&&zr.delete(e);}),A.coordinator}var Ei=30,Fc=15,Kc=20,Hc=4294967295,ji=new WeakMap;function Gr(e){return typeof e=="object"&&e!==null}function yt(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 Ti(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Hc)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Nc(e,n){if(!Gr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=yt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Ti(e.width,"asset.width"),c=Ti(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:yt(e.packageId,"asset.packageId"),resourceId:yt(e.resourceId,"asset.resourceId"),url:r,width:s,height:c});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let m=e.resourceId===void 0?void 0:yt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function Vt(e,n){let r=ji.get(e);r===void 0&&(r=new Map,ji.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function wi(e,n,r,o){let s=Vt(e,n),c=++s.revision;for(let I of o)s.kindRevisions[I]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},I=>{s.revision===c&&(s.status="failed",s.error=I);}),{coordinator:s,revision:c,promise:m}}var Dr=new WeakMap;function qt(){return reactive({loading:false,loaded:false,error:null})}function gt(e){return {sticker:e(),gif:e()}}function xi(e){return {sticker:e(),gif:e(),emoji:e()}}function Fn(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 Lc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function It(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&&Lc(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 Ko(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function zi(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function ht(e){return "recordId"in e?e.recordId:void 0}function Uc(e){let n=[];for(let r=0;r<e.length;r+=Ei)n.push(e.slice(r,r+Ei));return n}function _r(e){return e==="gif"?Kc:Fc}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 Ho(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Ne(o)!==r)].slice(0,_r(n.kind)))}function qc(e,n){let r=Ne(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Ne(o)!==r)])}function Ai(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Ne(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===_r(e)))break}return Object.freeze(o)}function Gi(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function Uo(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 No(e,n,r){let o=e.filter(I=>I.kind==="emoji").slice(0,14).map(I=>Object.freeze({kind:"emoji",stableKey:Uo(I),token:I.token,resourceId:I.resourceId})),s=n.filter(I=>I.kind==="game"||r.has(I.stableKey)),c=[],m=new Set;for(let I of [...s,...o])if(!m.has(I.stableKey)&&(m.add(I.stableKey),c.push(I),c.length===14))break;return Object.freeze(c)}function Lo(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Vc(e){return defineStore("k2-im-expression",()=>{let n=ve(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),I=ref({}),w=qt(),z=reactive({}),A=ref({sticker:[],gif:[]}),$=gt(qt),V=ref({sticker:[],gif:[]}),R=ref({sticker:[],gif:[],emoji:[]}),g=xi(qt),_=ref({sticker:[],gif:[],emoji:[]}),U=ref([]),B=ref("idle"),ae=ref(""),M=ref([]),x=ref(0),Y=qt(),N=ref(void 0),Q=computed(()=>Fn(w,m.value.length)),se=computed(()=>{let d=new Set([...Object.keys(z),...Object.keys(I.value)]);return Object.fromEntries([...d].map(p=>{let v=z[p]??{loading:false,loaded:true,error:null};return [p,Fn(v,I.value[p]?.length??0)]}))}),E=computed(()=>({sticker:Fn($.sticker,A.value.sticker.length),gif:Fn($.gif,A.value.gif.length)})),C=computed(()=>({sticker:Fn(g.sticker,R.value.sticker.length),gif:Fn(g.gif,R.value.gif.length),emoji:Fn(g.emoji,U.value.length)})),y=computed(()=>Fn(Y,M.value.length)),P=computed(()=>N.value!==void 0),j=false,F=0,Z=0,ce={},be=gt(()=>0),he=xi(()=>0),K=0,J=0,ge=0,le=0,Ce=0,ke=null,Se=null,je=null,D="emoji",L=new Set,de=[],fe=null,ue=null,De=null,O=null,h=gt(()=>new Map),G=gt(()=>new Map),ne=new Map,ie=new Map,re=gt(()=>Promise.resolve());function Re(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:F,accountId:d.userId}}function oe(d){return !j&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===F&&d.accountId===r.getCredentials().userId}function Ie(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function we(d,p,v){let b=It(p,d);return v.error=b,Object.freeze({ok:false,operation:d,reason:"failed",error:b})}function Ke(){return Object.freeze({ok:false,reason:"stale"})}function ao(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 yn(){let d=p=>Object.freeze(R.value[p].flatMap(v=>{let b=ao(v);return b===null?[]:[Object.freeze({asset:b,pendingSync:h[p].has(Ne(b))})]}).slice(0,_r(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(U.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:ne.has(p.stableKey)})))})}function bn(){for(let d of ["sticker","gif","emoji"])g[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(g[d].error=null);}function ln(d,p){let v=Ko({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=v,Object.freeze({ok:false,operation:d,reason:"failed",error:v})}function Xt(d,p,v,b=[p]){let k=o,T=++ge,ee=wi(k,d.accountId,v,b);Ce=ee.revision;let te=ee.promise.then(()=>(oe(d)&&T===ge&&bn(),true),X=>{if(!oe(d)||T!==ge)return false;let me=Ko({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return g[p].error=me,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:me.code,data:X}})),false});return {...ee,settled:te}}function Sn(d){return ke!==null&&$e(ke,d)}function Cn(d){if(De!==null)return De;let v=(async()=>{for(;oe(d)&&!Sn(d);){let k=O!==null&&$e(O.context,d)?O:null;if(k!==null){let ee=await k.promise;if(ee.ok||!oe(d)||ee.reason!=="stale")return;continue}let T=await qe();if(T.ok||!oe(d)||T.reason!=="stale")return}})();De=v;let b=()=>{De===v&&(De=null);};return v.then(b,b),v}function cn(d,p,v){if(!oe(d))return Promise.resolve();if(le+=1,o===void 0||d.accountId==="")return ke=d,Promise.resolve();let b=yn();return Sn(d)?Xt(d,p,b).settled.then(()=>{}):(je=b,D=p,L.add(p),de.push(v),Cn(d))}function Yt(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function un(d$1,p){let v=[...d$1.sticker],b=[...d$1.gif],k=[...d$1.emoji],T=new Map(d$1.pendingSticker),ee=new Map(d$1.pendingGif),te=new Map(d$1.pendingEmoji);for(let X of p){if(X.type==="prepend-asset"){(X.kind==="sticker"?T:ee).set(Ne(X.asset),X.asset),X.kind==="sticker"?v=[...Ho(v,X.asset)]:b=[...Ho(b,X.asset)];continue}if(X.type==="prepend-emoji"||X.type==="prepend-emojis"){let pe=X.type==="prepend-emoji"?[X.entry]:X.entries;for(let ze of pe)ze.kind==="emoji"&&te.set(ze.stableKey,ze),k=[...d(k,ze)];continue}if(X.type==="authoritative"){if(X.kind==="emoji"){for(let pe of X.items)if(pe.kind==="emoji")for(let[ze,_e]of te)_e.resourceId===pe.resourceId&&te.delete(ze);k=[...No(X.items,k,new Set(te.keys()))];}else {let pe=X.kind==="sticker"?T:ee;for(let _e of X.items)_e.kind===X.kind&&pe.delete(Ne(_e));let ze=Ai(X.kind,X.items,pe);X.kind==="sticker"?v=[...ze]:b=[...ze];}continue}if(X.type==="delete-assets"){let pe=new Set(X.identities),ze=X.kind==="sticker"?T:ee,_e=Ee=>Ee.kind==="emoji"||!pe.has(Ne(Ee))||ze.has(Ne(Ee));X.kind==="sticker"?v=v.filter(_e):b=b.filter(_e);continue}let me=new Set(X.resourceIds);k=k.filter(pe=>pe.kind==="game"||!me.has(pe.resourceId)||te.has(pe.stableKey));}return {sticker:Object.freeze(v),gif:Object.freeze(b),emoji:Object.freeze(k),pendingSticker:T,pendingGif:ee,pendingEmoji:te}}function tt(d){if(!Gr(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(te,X)=>{let me=[],pe=new Map,ze=new Set;for(let _e of X){if(!Gr(_e)||typeof _e.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let Ee=Nc(_e.asset,te),He=Ne(Ee);ze.has(He)||(ze.add(He),me.length<_r(te)&&(me.push(Ee),_e.pendingSync&&pe.set(He,Ee)));}return {items:Object.freeze(me),pending:pe}},v=p("sticker",d.sticker),b=p("gif",d.gif),k=[],T=new Map,ee=new Set;for(let te of d.emoji){if(!Gr(te)||typeof te.stableKey!="string"||te.stableKey.trim()===""||te.kind!=="emoji"&&te.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let X=te.stableKey.trim(),me,pe=false;if(te.kind==="game"){if(te.gameType!=="dice"&&te.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(me=Lo(te.gameType),me.stableKey!==X)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let ze=yt(te.token,"emoji.token"),_e=yt(te.resourceId,"emoji.resourceId");if(typeof te.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");pe=te.pendingSync,me=Object.freeze({kind:"emoji",stableKey:X,token:ze,resourceId:_e});}ee.has(X)||(ee.add(X),k.length<14&&(k.push(me),me.kind==="emoji"&&pe&&T.set(X,me)));}return {sticker:v.items,gif:b.items,emoji:Object.freeze(k),pendingSticker:v.pending,pendingGif:b.pending,pendingEmoji:T}}function Rn(d){R.value={sticker:d.sticker,gif:d.gif,emoji:[]},_.value={sticker:[],gif:[],emoji:[]},U.value=d.emoji,h.sticker.clear(),h.gif.clear(),ne.clear();for(let[p,v]of d.pendingSticker)h.sticker.set(p,v);for(let[p,v]of d.pendingGif)h.gif.set(p,v);for(let[p,v]of d.pendingEmoji)ne.set(p,v);for(let p of ["sticker","gif","emoji"])Object.assign(g[p],{loading:false,loaded:true,error:null});}function Ue(d,p){if(o===void 0||d.accountId==="")return 0;let v=Vt(o,d.accountId);return p===void 0?v.revision:v.kindRevisions[p]}function Ae(d){if(o===void 0||d.accountId===""||!Sn(d))return;let p=Vt(o,d.accountId);if(p.revision===Ce)return;let v=p.latestSnapshot===null?Yt():tt(p.latestSnapshot),b=(k,T)=>{let ee=k==="sticker"?v.pendingSticker:v.pendingGif,te=new Map(R.value[k].flatMap(X=>X.kind==="emoji"||X.kind!==k?[]:[[Ne(X),X]]));return Object.freeze(T.map(X=>{if(X.kind==="emoji"||X.kind!==k)return X;let me=Ne(X);if(ee.has(me))return X;let pe=ht(te.get(me)??X);return Object.freeze({...X,...pe===void 0?{}:{recordId:pe}})}))};R.value={sticker:b("sticker",v.sticker),gif:b("gif",v.gif),emoji:R.value.emoji},U.value=v.emoji,h.sticker.clear(),h.gif.clear(),ne.clear();for(let[k,T]of v.pendingSticker)h.sticker.set(k,T);for(let[k,T]of v.pendingGif)h.gif.set(k,T);for(let[k,T]of v.pendingEmoji)ne.set(k,T);for(let k of ["sticker","gif"]){let T=new Set(R.value[k].flatMap(ee=>ht(ee)===void 0?[]:[ht(ee)]));_.value={..._.value,[k]:Object.freeze(_.value[k].filter(ee=>T.has(ee)))};}Ce=p.revision;}async function dn(d,p,v,b){let k="hydrate-recent";g.emoji.error=null;try{let T=null,ee=0;if(o!==void 0&&d.accountId!==""){T=Vt(o,d.accountId);let Ee=T.latestSnapshot;if(!b&&T.status==="failed"&&Ee!==null&&wi(o,d.accountId,Ee,[]),ee=T.revision,await T.tail.catch(()=>{}),p!==J||!oe(d)||le!==v||T.revision!==ee)return Ie(k);if(!b&&T.status==="failed")return ln(k,g.emoji);T.status==="saved"&&fe!==null&&T.latestSnapshot===fe&&je===ue&&(je=null,L.clear(),de.length=0,fe=null,ue=null);}let te=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==J||!oe(d)||le!==v||T!==null&&T.revision!==ee)return Ie(k);let X;try{X=te===null?Yt():tt(te);}catch(Ee){let He=o?.clearInvalid;if(te!==null&&d.accountId!==""&&He!==void 0)try{await He(d.accountId,te);}catch(Xe){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:Xe})}throw Ee}let me=b?null:je,pe=new Set(L),ze=[...de],_e=me===null?X:un(X,ze);if(Rn(_e),Ce=ee,b){if(je=null,L.clear(),de.length=0,fe=null,ue=null,T!==null){T.revision+=1;for(let Ee of ["sticker","gif","emoji"])T.kindRevisions[Ee]+=1;T.status="saved",T.latestSnapshot=te,T.error=null,Ce=T.revision;}return ke=d,bn(),Object.freeze({ok:!0,operation:k})}if(me!==null&&o!==void 0&&d.accountId!==""){let Ee=yn();fe=Ee,ue=me;let He=Xt(d,D,Ee,[...pe]),Xe=await He.settled;if(p!==J||!oe(d)||le!==v||He.coordinator.revision!==He.revision)return Ie(k);if(!Xe)return ln(k,g.emoji);je===me&&(je=null,L.clear(),de.length=0,fe=null,ue=null);}return ke=d,Object.freeze({ok:!0,operation:k})}catch(T){return p!==J||!oe(d)?Ie(k):we(k,T,g.emoji)}}function $e(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function qe(d={}){let p="hydrate-recent";if(j)return Promise.resolve(Ie(p));let v;try{v=Re();}catch(me){let pe=we(p,me,g.emoji);return !pe.ok&&pe.reason==="failed"&&(Se=pe.error??g.emoji.error),Promise.resolve(pe)}let b=o===void 0||v.accountId===""?null:Vt(o,v.accountId);if(!d.force&&Sn(v)&&je===null&&(b===null||(b.status==="idle"||b.status==="saved")&&b.revision===Ce))return Se=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&O!==null&&!O.force&&O.stateRevision===le&&$e(O.context,v))return O.promise;let k=++J,T=le,ee=dn(v,k,T,d.force===true).then(me=>(me.ok?Se=null:me.reason==="failed"&&(Se=me.error??g.emoji.error),me)),te={context:v,stateRevision:T,force:d.force===true,promise:ee};O=te;let X=()=>{O===te&&(O=null);};return ee.then(X,X),ee}async function fn(d){let p="load-packs";if(j)return Ie(p);let v=++Z,b;try{b=Re();}catch(k){return we(p,k,w)}w.loading=true,w.error=null;try{let k=await b.client.expressions.packs.list(d);return v!==Z||!oe(b)?Ie(p):(c.value=k.version,m.value=Object.freeze([...k.items]),w.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(k){return v!==Z||!oe(b)?Ie(p):we(p,k,w)}finally{v===Z&&oe(b)&&(w.loading=false);}}async function En(d){let p="load-pack-items";if(j)return Ie(p);let v=d.trim();if(v===""){let ee=It(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:ee})}let b=z[v]??=qt(),k=(ce[v]??0)+1;ce[v]=k;let T;try{T=Re();}catch(ee){return we(p,ee,b)}b.loading=true,b.error=null;try{let ee=await T.client.expressions.packs.listItems(v);return ce[v]!==k||!oe(T)?Ie(p):(I.value={...I.value,[v]:Object.freeze([...ee])},b.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(ee){return ce[v]!==k||!oe(T)?Ie(p):we(p,ee,b)}finally{ce[v]===k&&oe(T)&&(b.loading=false);}}async function rt(d){let p="load-favorites";if(j)return Ie(p);let v=++be[d],b=$[d],k;try{k=Re();}catch(T){return we(p,T,b)}b.loading=true,b.error=null;try{let T=await k.client.expressions.favorites.list(d);return be[d]!==v||!oe(k)?Ie(p):(Nn(d,T),b.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(T){return be[d]!==v||!oe(k)?Ie(p):we(p,T,b)}finally{be[d]===v&&oe(k)&&(b.loading=false);}}function Nn(d,p){for(let T of p)G[d].delete(Ne(T));let v=[],b=new Set;for(let T of [...G[d].values(),...p]){let ee=Ne(T);b.has(ee)||(b.add(ee),v.push(Object.freeze({...T})));}A.value={...A.value,[d]:Object.freeze(v)};let k=new Set(p.flatMap(T=>T.recordId===void 0?[]:[T.recordId]));V.value={...V.value,[d]:Object.freeze(V.value[d].filter(T=>k.has(T)))};}async function Ln(d,p,v){let b=$[p];try{let k=await d.client.expressions.favorites.list(p);if(be[p]!==v||!oe(d))return;Nn(p,k),b.loaded=!0;}catch(k){be[p]===v&&oe(d)&&(b.error=It(k,"load-favorites"));}}function Pn(d,p){let v="set-favorite";if(j)return Promise.resolve(Ie(v));let b=Ne(d),k=ie.get(b);if(k?.desired===p)return k.promise;let T;try{T=Re();}catch(me){return Promise.resolve(we(v,me,$[d.kind]))}let ee=k?.promise.catch(()=>{})??Promise.resolve(),te=re[d.kind].catch(()=>{}),X=Promise.all([ee,te]).then(async()=>{if(!oe(T))return Ie(v);let me=d.kind,pe=$[me];pe.error=null;let ze=A.value[me].find(Ee=>Ne(Ee)===b);if(p&&ze!==void 0)return Object.freeze({ok:true,operation:v});if(!p&&ze?.recordId===void 0){let Ee=Ko({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return pe.error=Ee,Object.freeze({ok:false,operation:v,reason:"failed",error:Ee})}let _e=++be[me];try{if(p?await T.client.expressions.favorites.add(d):await T.client.expressions.favorites.delete([ze.recordId]),!oe(T))return Ie(v);p?(G[me].set(b,Object.freeze({...d})),A.value={...A.value,[me]:qc(A.value[me],d)}):(G[me].delete(b),A.value={...A.value,[me]:Object.freeze(A.value[me].filter(He=>He.recordId!==ze.recordId))});let Ee=++be[me];return _e=Ee,await Ln(T,me,Ee),!oe(T)||be[me]!==Ee?Ie(v):Object.freeze({ok:!0,operation:v})}catch(Ee){return !oe(T)||be[me]!==_e?Ie(v):we(v,Ee,pe)}finally{be[me]===_e&&oe(T)&&(pe.loading=false);}});return ie.set(b,{desired:p,promise:X}),re[d.kind]=X.then(()=>{},()=>{}),X.finally(()=>{ie.get(b)?.promise===X&&ie.delete(b);}),X}async function jn(d){let p=await Pn(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Tn(d){return Pn(d,false)}function kn(d,p,v){if(j)return;let b=zi(p),k=new Set(V.value[d]);v??!k.has(b)?k.add(b):k.delete(b),V.value={...V.value,[d]:Object.freeze([...k])};}function nn(d,p,v){if(Ae(v),d==="emoji"){for(let k of p)if(k.kind==="emoji")for(let[T,ee]of ne)ee.resourceId===k.resourceId&&ne.delete(T);R.value={...R.value,emoji:Object.freeze([...p])},U.value=No(p,U.value,new Set(ne.keys()));}else {for(let k of p)k.kind===d&&h[d].delete(Ne(k));R.value={...R.value,[d]:Ai(d,p,h[d])};}let b=new Set(p.flatMap(k=>k.recordId===void 0?[]:[k.recordId]));_.value={..._.value,[d]:Object.freeze(_.value[d].filter(k=>b.has(k)))},g[d].loaded=true,cn(v,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function tn(d){let p="load-recent";if(j)return Ie(p);let v=g[d],b=await qe();if(!b.ok)return b.reason==="stale"?Ie(p):(v.error=b.error??g.emoji.error,Object.freeze({...b,operation:p}));let k=++he[d],T;try{T=Re();}catch(ee){return we(p,ee,v)}v.loading=true,v.error=null;try{let ee=Ue(T,d),te=await T.client.expressions.recent.list(d);return he[d]!==k||!oe(T)?Ie(p):Ue(T,d)!==ee?(Ae(T),Ie(p)):(nn(d,te,T),Object.freeze({ok:!0,operation:p}))}catch(ee){return he[d]!==k||!oe(T)?Ie(p):we(p,ee,v)}finally{he[d]===k&&oe(T)&&(v.loading=false);}}async function gn(d,p){if(!oe(d))return;let v=++he[p],b=g[p];b.loading=true,b.error=null;try{Ae(d);let k=Ue(d,p),T=await d.client.expressions.recent.list(p);if(he[p]!==v||!oe(d))return;if(Ue(d,p)!==k){Ae(d);return}nn(p,T,d);}catch(k){he[p]===v&&oe(d)&&(b.error=It(k,"load-recent"));}finally{he[p]===v&&oe(d)&&(b.loading=false);}}function mn(d,p){if(!oe(d))return false;Ae(d),J+=1;let v=p.kind,b=Object.freeze({...p});return h[v].set(Ne(b),b),R.value={...R.value,[v]:Ho(R.value[v],b)},g[v].loaded=true,cn(d,v,Object.freeze({type:"prepend-asset",kind:v,asset:b})),true}function pn(d$1,p){if(!oe(d$1))return false;Ae(d$1),J+=1;let v=Object.freeze(p.map(k=>Object.freeze({...k}))),b=U.value;for(let k of v)ne.set(k.stableKey,k),b=d(b,k);return U.value=b,g.emoji.loaded=true,cn(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:v})),true}function Be(d,p){return pn(d,[p])}async function We(d,p,v=true){let b="report-recent";if(!oe(d))return Ie(b);let k=p.kind,T=++he[k],ee=g[k];ee.error=null;try{if(await d.client.expressions.recent.report(p),he[k]!==T||!oe(d))return Ie(b);if(!v)return Object.freeze({ok:!0,operation:b});try{Ae(d);let te=Ue(d,k),X=await d.client.expressions.recent.list(k);if(he[k]!==T||!oe(d))return Ie(b);if(Ue(d,k)!==te)return Ae(d),Ie(b);nn(k,X,d);}catch(te){he[k]===T&&oe(d)&&(ee.error=It(te,"load-recent"));}return Object.freeze({ok:!0,operation:b})}catch(te){return he[k]!==T||!oe(d)?Ie(b):we(b,te,ee)}}async function io(d){let p="report-recent";if(j)return Ie(p);let v;try{v=Re();}catch(b){return we(p,b,g[d.kind])}return d.kind==="emoji"?Be(v,Object.freeze({...d,stableKey:Uo(d)})):mn(v,d),We(v,d)}function so(d,p,v){if(j)return;let b=zi(p),k=new Set(_.value[d]);v??!k.has(b)?k.add(b):k.delete(b),_.value={..._.value,[d]:Object.freeze([...k])};}async function Zt(d,p,v){let b=d==="favorites"?"delete-favorites":"delete-recent";if(j)return Ie(b);let k=d==="favorites"?V:_,T=d==="favorites"?be:he,ee=d==="favorites"?$:g,te=v?.selected??k.value[p];if(te.length===0)return Object.freeze({ok:false,operation:b,reason:"empty"});let X=ee[p];if(X.loading)return Object.freeze({ok:false,operation:b,reason:"busy"});let me=++T[p],pe;try{pe=v?.context??Re();}catch(Te){return we(b,Te,X)}d==="recent"&&Ae(pe);let ze=d==="recent"?Ue(pe,p):0,_e=new Set(te),Ee=d==="recent"?R.value[p].filter(Te=>{let Ye=ht(Te);return Ye!==void 0&&_e.has(Ye)}):[];X.loading=true,X.error=null;let He=[],Xe=new Set,xn,zn,rn=false;for(let Te of Uc(te)){if(!oe(pe))return Ie(b);if(d==="recent"&&T[p]!==me){rn=true;break}try{d==="favorites"?await pe.client.expressions.favorites.delete(Te):await pe.client.expressions.recent.delete(Te);for(let Ye of Te)Xe.add(Ye);}catch(Ye){let An=It(Ye,b);xn??=An,He.push(...Te);}}if(!oe(pe))return Ie(b);if(d==="recent"&&T[p]!==me&&(rn=true),d==="recent"&&Ue(pe,p)!==ze&&(rn=true),d==="favorites"){let Te=p;A.value={...A.value,[Te]:Object.freeze(A.value[Te].filter(Gn=>Gn.recordId===void 0||!Xe.has(Gn.recordId)))};let Ye=new Set(te),An=V.value[Te].filter(Gn=>!Ye.has(Gn));if(V.value={...V.value,[Te]:Object.freeze([...new Set([...An,...He])])},zn=++be[Te],await Ln(pe,Te,zn),!oe(pe))return Ie(b)}else {let Te=p;Ae(pe);let Ye=Ee.filter(xe=>{let on=ht(xe);return on!==void 0&&Xe.has(on)}),An=new Set(Ye.filter(xe=>xe.kind==="emoji").map(xe=>xe.resourceId)),Gn=new Set(Ye.filter(xe=>xe.kind!=="emoji").map(Ne));Te==="emoji"&&(U.value=Object.freeze(U.value.filter(xe=>xe.kind==="game"||!An.has(xe.resourceId)||ne.has(xe.stableKey)))),R.value={...R.value,[Te]:Object.freeze(R.value[Te].filter(xe=>{let on=ht(xe);return on===void 0||!Xe.has(on)}))};let co=new Set(te),vn=rn?_.value[Te].filter(xe=>!Xe.has(xe)):_.value[Te].filter(xe=>!co.has(xe));if(_.value={..._.value,[Te]:Object.freeze(rn?vn:[...new Set([...vn,...He])])},Te==="emoji"){let xe=R.value.emoji.filter(on=>on.kind==="emoji");U.value=No(xe,U.value,new Set(ne.keys()));}let In=Object.freeze(Te==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...An])}:{type:"delete-assets",kind:Te,identities:Object.freeze([...Gn])});if(cn(pe,Te,In),rn&&Xe.size>0&&await gn(pe,Te),!oe(pe))return Ie(b)}return (d==="recent"?he[p]===me:be[p]===zn)&&(X.loaded=true,(xn!==void 0||d==="recent")&&(X.error=xn??null),X.loading=false),rn?Ie(b):He.length===0?Object.freeze({ok:true,operation:b}):Object.freeze({ok:false,operation:b,reason:Xe.size===0?"failed":"partial",error:xn,failedRecordIds:Object.freeze(He)})}function lo(d){let p="delete-favorites";if(j)return Promise.resolve(Ie(p));let v=Object.freeze([...V.value[d]]);if(v.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let b;try{b=Re();}catch(ee){return Promise.resolve(we(p,ee,$[d]))}let T=re[d].catch(()=>{}).then(()=>oe(b)?Zt("favorites",d,{context:b,selected:v}):Ie(p));return re[d]=T.then(()=>{},()=>{}),T}function er(d){return Zt("recent",d)}function ot(d,p){let v=++K;return B.value=d,ae.value=p,M.value=[],x.value=0,N.value=void 0,Y.loading=true,Y.loaded=false,Y.error=null,v}async function at(d,p){let v="load-giphy";if(j)return Ie(v);let b={mode:B.value,query:ae.value,items:M.value,totalCount:x.value,nextOffset:N.value,loaded:Y.loaded},k=ot(d,p),T=()=>{B.value=b.mode,ae.value=b.query,M.value=b.items,x.value=b.totalCount,N.value=b.nextOffset,Y.loaded=b.loaded;},ee;try{ee=Re();}catch(te){return T(),Y.loading=false,we(v,te,Y)}try{let te=d==="trending"?await ee.client.expressions.giphy.trending():await ee.client.expressions.giphy.search(p);return k!==K||!oe(ee)?Ie(v):(M.value=Gi(te.items),x.value=te.totalCount,N.value=te.nextOffset,Y.loaded=!0,Object.freeze({ok:!0,operation:v}))}catch(te){return k!==K||!oe(ee)?Ie(v):(T(),we(v,te,Y))}finally{k===K&&oe(ee)&&(Y.loading=false);}}function it(){return at("trending","")}function wn(d){if(j)return Promise.resolve(Ie("load-giphy"));let p=d.trim();return p===""?(ot("search",""),Y.loading=false,Y.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):at("search",p)}async function nr(){let d="load-more-giphy";if(j)return Ie(d);if(Y.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(B.value==="idle"||N.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++K,v=B.value,b=ae.value,k=N.value,T;try{T=Re();}catch(ee){return we(d,ee,Y)}Y.loading=true,Y.error=null;try{let ee=v==="trending"?await T.client.expressions.giphy.trending({offset:k}):await T.client.expressions.giphy.search(b,{offset:k});return p!==K||!oe(T)?Ie(d):(M.value=Gi([...M.value,...ee.items]),x.value=ee.totalCount,N.value=ee.nextOffset,Y.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(ee){return p!==K||!oe(T)?Ie(d):we(d,ee,Y)}finally{p===K&&oe(T)&&(Y.loading=false);}}async function tr(d){return jt([d])}async function jt(d){let p="report-recent";if(j)return Ie(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let v;try{v=Re();}catch(T){return we(p,T,g.emoji)}let b=Object.freeze(d.map(T=>Object.freeze({...T,stableKey:Uo(T)})));if(!pn(v,b))return Ie(p);let k=Object.freeze({ok:true,operation:p});for(let[T,ee]of b.entries())if(k=await We(v,{kind:"emoji",token:ee.token,resourceId:ee.resourceId},T===b.length-1),!k.ok&&k.reason==="stale")return k;return k}function Qe(d,p){We(d,p).then(v=>{s.record(v.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:v.ok}}));});}async function rr(d,p){if(j)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d.messages.sendSticker(p);}catch(k){if(!oe(v))return Ke();throw k}return oe(v)?(b.ok&&mn(v,p)&&Qe(v,p),b):Ke()}async function Tt(d,p){if(j)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d.messages.sendGifAsset(p);}catch(k){if(!oe(v))return Ke();throw k}return oe(v)?(b.ok&&mn(v,p)&&Qe(v,p),b):Ke()}async function st(d$1,p){if(j)return Ke();let v;try{v=Re();}catch{return Ke()}let b;try{b=await d$1.messages.sendGame(p);}catch(k){if(!oe(v))return Ke();throw k}return oe(v)?(b.ok&&(Ae(v),J+=1,U.value=d(U.value,Lo(p)),g.emoji.loaded=true,cn(v,"emoji",Object.freeze({type:"prepend-emoji",entry:Lo(p)}))),b):Ke()}function Je(d={}){if(j)return;let p=d.preserveRecentHydrationFailure===true?Se:null;F+=1,Z+=1,K+=1,J+=1,ge+=1,le=0,Ce=0,ke=null,je=null,L.clear(),de.length=0,fe=null,ue=null,De=null,O=null,Se=p,ie.clear(),re=gt(()=>Promise.resolve()),c.value="",m.value=[],I.value={},Object.assign(w,{loading:false,loaded:false,error:null});for(let v of Object.keys(z))delete z[v];for(let v of Object.keys(ce))ce[v]=(ce[v]??0)+1;A.value={sticker:[],gif:[]},V.value={sticker:[],gif:[]};for(let v of ["sticker","gif"])be[v]+=1,Object.assign($[v],{loading:false,loaded:false,error:null});R.value={sticker:[],gif:[],emoji:[]},_.value={sticker:[],gif:[],emoji:[]},U.value=[],h.sticker.clear(),h.gif.clear(),G.sticker.clear(),G.gif.clear(),ne.clear();for(let v of ["sticker","gif","emoji"])he[v]+=1,Object.assign(g[v],{loading:false,loaded:false,error:null});p!==null&&(g.emoji.error=p),B.value="idle",ae.value="",M.value=[],x.value=0,N.value=void 0,Object.assign(Y,{loading:false,loaded:false,error:null});}function or(){j||(Je(),j=true);}return Dr.set(e,Object.freeze({dispose:or})),{packVersion:c,packs:m,packItemsByPackage:I,packStatus:Q,packItemStatus:se,favorites:A,favoriteStatus:E,favoriteSelection:V,recent:R,recentStatus:C,recentSelection:_,emojiRecent:U,giphyMode:B,giphyQuery:ae,giphyItems:M,giphyTotalCount:x,giphyHasMore:P,giphyStatus:y,hydrateRecent:qe,loadPacks:fn,loadPackItems:En,loadFavorites:rt,addFavorite:jn,setFavorite:Pn,unsetFavorite:Tn,toggleFavoriteSelection:kn,deleteSelectedFavorites:lo,loadRecent:tn,reportRecent:io,rememberEmoji:tr,rememberEmojis:jt,toggleRecentSelection:so,deleteSelectedRecent:er,loadGiphyTrending:it,searchGiphy:wn,loadMoreGiphy:nr,sendSticker:rr,sendGif:Tt,sendGame:st,reset:Je}})}var Di=new WeakMap,Ar=new WeakMap;function $c(e=Pe()){ve(e);let n=Di.get(e);n===void 0&&(n=Vc(e),Di.set(e,n));let r=n(e),o=Dr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Ar.get(e)!==r&&(Ar.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Ar.get(e)===r&&(Ar.delete(e),Dr.get(e)===o&&Dr.delete(e));})),r}var Fr=new WeakMap;function Fi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Kr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Bc(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"}function Wc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Qc(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&&Wc(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Fi(n)})}function Jc(e=Pe()){let n=ve(e),r=Fr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Ge(e),m=Mn(e),I={disposed:false};function w(g){return !I.disposed&&o.getGeneration()===g.generation&&c.getHandle()===g.handle&&Kr(c.activeRef,g.conversation)}function z(){let g=I.activeIntent;g!==void 0&&(I.activeIntent=void 0,g.complete(Object.freeze({status:"stale",conversation:g.conversation})));}async function A(g){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:g.generation,conversation:g.conversation}));try{if(!await c.loadLatest()||!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:g.generation,conversation:g.conversation})),g.complete(Object.freeze({status:"applied",conversation:g.conversation}));}catch(_){if(!w(g)){g.complete(Object.freeze({status:"stale",conversation:g.conversation}));return}let U=Qc(_,g.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:g.generation,conversation:g.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:U}})),g.complete(Object.freeze({status:"failed",conversation:g.conversation,error:U}));}}function $(g){let _=I.activeIntent;_===void 0||g.type!=="message:received"||g.source!=="live"||g.message.senderId!==_.selfId||g.message.status==="sent"||!Kr(g.ref,_.conversation)||(I.activeIntent=void 0,A(_));}async function V(g,_){let U=c.getHandle();if(!Bc(g)||I.disposed||!c.hasNewer||U===void 0||!Kr(U.ref,g)||!Kr(c.activeRef,g))return Object.freeze({value:await _(),history:Object.freeze({status:"not-needed"})});z();let B=Fi(g),ae,M=new Promise(Y=>{let N=false;ae=Q=>{N||(N=true,Y(Q));};}),x={token:Symbol("history-return-after-send"),conversation:B,handle:U,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:ae};I.activeIntent=x;try{let Y=await _();return I.activeIntent?.token===x.token&&(I.activeIntent=void 0,x.complete(w(x)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),Object.freeze({value:Y,history:await M})}catch(Y){throw I.activeIntent?.token===x.token&&(I.activeIntent=void 0,x.complete(w(x)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:B}))),await M,Y}}let R=o.subscribeProductEvents($);return I.coordinator=Object.freeze({run:V}),Fr.set(e,I),Oe(e,()=>{I.disposed=true,z(),R(),Fr.get(e)===I&&Fr.delete(e);}),I.coordinator}function Li(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ui(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Li(e.conversation)}})}function Zc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function eu(e,n){return Zc(e)?Ui(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function nu(e){return Object.freeze({id:e.id,messageId:e.messageId,ref:Li(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:Ui(e.error)}})}function Hr(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function tu(e){return defineStore("k2-im-media",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),c=shallowRef(null),m=shallowRef(null),I=false,w=0,z=null,A=-1,$,V=computed(()=>{let C=o.activeRef,y={};for(let P of s.value)P.direction!=="upload"||P.state!=="queued"&&P.state!=="running"||!Hr(C,P.ref)||(y[P.messageId]=P.state==="queued"?0:P.percent);return y}),R=computed(()=>{let C=o.activeRef,y={};for(let P of s.value)P.direction==="upload"&&P.state==="running"&&P.phase==="finalizing"&&Hr(C,P.ref)&&(y[P.messageId]=true);return y});function g(C,y,P){I||z!==y||A!==P||n.getGeneration()!==P||(s.value=C.map(nu));}function _(C){let y=n.getGeneration();if(I)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(z===C&&A===y||(w+=1,$?.(),$=void 0,z=C,A=C===null?-1:y,s.value=[],c.value=null,C===null))return;let P=false;$=C.media.subscribe(j=>{P=true,g(j,C,y);}),P||g(C.media.getSnapshot(),C,y),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:y}));}function U(){_(n.getProductClient());}function B(){_(null),m.value=null;}async function ae(C,y){let P=n.getProductClient();if(P===null)return Object.freeze({ok:false,operation:C,reason:"not-ready"});if(_(P),!s.value.some(Z=>Z.id===y))return Object.freeze({ok:false,operation:C,reason:"not-found"});let j=n.getGeneration(),F=w;c.value=null;try{return await P.media[C](y),I||F!==w||n.getGeneration()!==j||z!==P?Object.freeze({ok:!1,operation:C,reason:"stale"}):Object.freeze({ok:!0,operation:C})}catch(Z){if(I||F!==w||n.getGeneration()!==j||z!==P)return Object.freeze({ok:false,operation:C,reason:"stale"});let ce=eu(Z,C);return c.value=ce,r.record("error","pinia","media",`media-task-${C}-failed`,()=>({generation:j,data:{taskId:y},error:{message:ce.code,data:ce}})),Object.freeze({ok:false,operation:C,reason:"failed",error:ce})}}function M(C){return ae("cancel",C)}function x(C){return ae("retry",C)}async function Y(C){let y=o.activeRef,P=s.value.find(F=>F.direction==="upload"&&(F.state==="queued"||F.state==="running")&&F.messageId===C&&Hr(y,F.ref));if(P===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let j=await M(P.id);return Hr(o.activeRef,P.ref)?j:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function N(C){let y=o.activeRef;return C.status!=="failed"||C.failure?.displayCode!=="media.uploadInterrupted"||C.contentType!=="video"&&C.contentType!=="file"||y===null||C.conversationId!==y.conversationId||C.conversationType!==y.conversationType?false:(m.value=Object.freeze({messageId:C.id,conversationId:C.conversationId,conversationType:C.conversationType,kind:C.contentType}),true)}function Q(){let C=m.value;return m.value=null,C}function se(){m.value=null;}function E(){I||(w+=1,$?.(),$=void 0,z=null,A=-1,s.value=[],c.value=null,m.value=null,I=true);}return {tasks:s,error:c,uploadProgress:V,uploadFinalizing:R,replacementRequest:m,start:U,reset:B,cancel:M,retry:x,cancelUpload:Y,requestReplacement:N,takeReplacementRequest:Q,clearReplacementRequest:se,dispose:E}})}var Ni=new WeakMap,Nr=new WeakMap;function ru(e=Pe()){ve(e);let n=Ni.get(e);n===void 0&&(n=tu(e),Ni.set(e,n));let r=n(e);return Nr.get(e)!==r&&(Nr.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Nr.get(e)===r&&Nr.delete(e);})),r}function Jn(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Lr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function ou(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function au(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&ou(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function bt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ct(e,n){return bt(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 iu(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 qi(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function su(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return qi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:qi(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function lu(e,n,r,o){let s=Jn(r);if(s.conversationId==="")return {ok:false,result:Ct(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:bt(n,s,"not-ready")};let m=e.getGeneration(),I=su(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:bt(n,s,"not-allowed",iu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Rt(e,n,r,o,s){let c=lu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:bt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return bt(n,c.captured.conversation,"stale");let I=au(m,n,c.captured.conversation),w=n==="leave"&&I.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return bt(n,c.captured.conversation,w,I)}}function cu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function Vi(e,n,r){let o=Jn(n),s=cu(r);return s.length===0?Promise.resolve(Ct("invite-members",o)):Rt(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function $i(e,n,r){let o=Jn(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("remove-member",o)):Rt(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Bi(e,n,r,o){let s=Jn(n),c=Lr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Ct(m,s)):Rt(e,m,s,async({client:I})=>(o?await I.channels.addAdmin(s,c.userId):await I.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function Wi(e,n,r){return Bi(e,n,r,true)}function Qi(e,n,r){return Bi(e,n,r,false)}function Ji(e,n,r){let o=Jn(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("transfer-ownership",o)):Rt(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Xi(e,n,r){let o=Jn(n),s=r===void 0?void 0:Lr(r);return s!==void 0&&s.userId===""?Promise.resolve(Ct("leave",o)):Rt(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Yi(e,n){let r=Jn(n);return Rt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function $t(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function uu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function du(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&uu(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Pt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function kt(e,n){return Pt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function fu(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 mu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):H("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function pu(e,n,r,o){let s=$t(r);if(s.conversationId==="")return {ok:false,result:kt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Pt(n,s,"not-ready")};let m=e.getGeneration(),I=mu(e,c,s,n,o);return I.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",fu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Kn(e,n,r,o,s){let c=pu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Pt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Pt(n,c.captured.conversation,"failed",du(m,n,c.captured.conversation)):Pt(n,c.captured.conversation,"stale")}}function Zi(e,n,r){let o=$t(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:kt(e,o)}:{ok:true,value:s}}function es(e,n,r){let o=r.trim();return o===""?Promise.resolve(kt("update-name",$t(n))):Kn(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var vu=100;function ns(e,n,r){let o=r.trim();return o===""||[...o].length>vu?Promise.resolve(kt("update-description",$t(n))):Kn(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ts(e,n,r){return Kn(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?kt("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function rs(e,n,r){let o=Zi("set-my-nickname",n,r);return o.ok?Kn(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function os(e,n,r,o,s){let c=r.trim(),m=Zi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?kt("set-member-nickname",$t(n)):m.result);let I=Object.freeze({userId:c,role:o});return Kn(e,"set-member-nickname",n,async({client:w,conversation:z})=>(await w.channels.setMemberNickname(z,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:z,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),I)}function as(e,n,r,o){return Kn(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function is(e,n,r){return Kn(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ss(e,n,r){return Kn(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function gu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function Iu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function hu(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 yu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function bu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&yu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function Xn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ur(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 Yn(e,n,r,o){let s=hu(e);if(s===null)return {ok:false,result:Xn(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:Xn(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:Xn(n,r,"failed",bu(c,n,r))}:{ok:false,result:Xn(n,r,"stale")}}}function Ot(e,n){let r=gu(n);return r.conversationId===""?{ok:false,result:Xn(e,r,"failed",Ur(e,r))}:{ok:true,conversation:r}}async function ls(e,n,r){let o=Ot("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Yn(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(I=>Object.freeze({countryCode:I.countryCode,mobile:I.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function cs(e,n){let r=Ot("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function us(e,n,r){let o=Ot("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return Xn("report",s,"failed",Ur("report",s));let m=await Yn(e,"report",s,I=>I.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function ds(e,n){let r=Ot("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function fs(e,n){let r=n.trim();if(r==="")return Xn("search-user",null,"failed",Ur("search-user",null));let o=await Yn(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:Iu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function ms(e,n){let r=Ot("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await Yn(e,"resolve-application-target",o,async c=>{let[m,I]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Ur("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:I,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ps(e,n,r){let o=Ot("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await Yn(e,"request-friendship",s,m=>m.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return c.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:c.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):c.result}function Bt(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Cu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ru(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Cu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Mt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Wt(e,n){return Mt(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 Pu(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 ku(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function Ou(e,n,r,o=false){let s=Bt(r);if(s.conversationId==="")return {ok:false,result:Wt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Mt(n,s,"not-ready")};let m=e.getGeneration(),I=ku(c,s,n,o);return I.availability!=="available"?{ok:false,result:Mt(n,s,"not-allowed",Pu(n,s,I))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function qr(e,n,r,o,s=false){let c=Ou(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Mt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Mt(n,c.captured.conversation,"stale");let I=Ru(m,n,c.captured.conversation),w=n==="leave"&&I.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Mt(n,c.captured.conversation,w,I)}}function Mu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function vs(e,n,r){let o=Bt(n),s=Mu(r);return s.length===0?Promise.resolve(Wt("invite-members",o)):qr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function gs(e,n,r){let o=Bt(n),s=r.trim();return s===""?Promise.resolve(Wt("remove-member",o)):qr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Is(e,n,r){let o=Bt(n),s=r.trim();return s===""?Promise.resolve(Wt("transfer-ownership",o)):qr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function hs(e,n,r={}){let o=Bt(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(Wt("leave",o)):qr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function qo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function Su(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ys(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&Su(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function en(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Eu(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 ju(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function bs(e,n,r){let o=qo(r);if(o.conversationId==="")return {ok:false,result:en(n,o,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:o}))};let s=e.getProductClient();if(s===null)return {ok:false,result:en(n,o,"not-ready")};let c=e.getGeneration(),m=ju(s,o,n);return m.availability!=="available"?{ok:false,result:en(n,o,"not-allowed",Eu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Vo(e,n,r,o){let s=bs(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:en(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?en(n,s.captured.conversation,"failed",ys(c,n,s.captured.conversation)):en(n,s.captured.conversation,"stale")}}function Cs(e,n,r){let o=r.trim();if(o===""){let s=qo(n);return Promise.resolve(en("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 Vo(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Rs(e,n,r){let o=r.trim();if(o===""){let s=qo(n);return Promise.resolve(en("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 Vo(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Ps(e,n,r,o){return Vo(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function ks(e,n,r){let o=bs(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?en("update-avatar",s.conversation,"failed",ys(c,"update-avatar",s.conversation)):en("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return en("update-avatar",s.conversation,"stale");let m=c?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...m===void 0||m===""?{}:{avatar:m},stale:!1,projectionUpdated:!1,refreshRequired:m===void 0||m===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):en("update-avatar",s.conversation,"stale")}}function Tu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function wu(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Tu(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 Os(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Ms(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function Ss(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:wu(n,r.value)}function Es(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function js(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let I=[];for(let w of c){let z=await s.group.listMembers(w.id,{forceRefresh:false});z!==null&&z.some(A=>A.userId===r)&&I.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:w.id}),name:w.displayName||w.cardDisplayName||w.id,...w.avatarUrl===void 0?{}:{avatar:w.avatarUrl}}));}return Object.freeze(I)}async function Ts(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:Os(r.value),stale:r.stale})}async function ws(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:Os(r)}async function xs(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function zs(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function As(e,n){return e.ensureProductClient().directory.search(n)}async function Gs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return $o(c)}function $o(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 Ds(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let I=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(w=>w.userId===c);return I===void 0?null:Object.freeze({userId:I.userId,...I.nickname===void 0?{}:{nickname:I.nickname},displayName:I.displayName,...I.avatar===void 0?{}:{avatar:I.avatar},role:I.role})}async function Bo(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:$o(c)}async function _s(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return $o(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Wo(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 Qo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Wo(o)}async function Fs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Wo(c)}async function Ks(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Wo(s)}function Hs(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Au=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Gu=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"]),Ns=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function ye(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function W(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Vr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function et(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function hn(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Qt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function nt(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Du(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Ve(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Du(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:ye(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:ye(r)}})}function $r(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function _u(e){return defineStore("k2-im-profile-directory",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),I=ref("unknown"),w$1=ref(false),z$1=shallowRef(null),A$1=shallowRef([]),$=ref(false),V=shallowRef(null),R=shallowRef(null),g=shallowRef(null),_=shallowRef([]),U=ref(false),B=ref(false),ae=shallowRef(null),M=shallowRef(null),x$1=shallowRef(null),Y=ref(false),N=shallowRef(null),Q=reactive({individual:$r(),group:$r(),channel:$r()}),se=ref(""),E=shallowRef(null),C=ref(false),y$1=shallowRef(null),P=shallowRef(null),j=shallowRef([]),F=ref(""),Z=ref(false),ce=ref(false),be=shallowRef(null),he=shallowRef(null),K=shallowRef(null),J=ref(false),ge=shallowRef(null),le=shallowRef(null),Ce=shallowRef([]),ke=ref(""),Se=ref(false),je=ref(false),D=shallowRef(null),L=false,de=new Map,fe=0,ue={direct:0,group:0,channel:0},De=0,O={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},h={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},G={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},ne=new Map,ie=0,re=new Map,Re=new Map,oe=new Set,Ie=new Set,we=new Map,Ke=new Map,ao=0,yn={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},bn=new Map,ln=new Map,Xt=0,Sn=new Set,Cn=new Map,cn=new Map,Yt=0,un=0,tt=0,Rn=new Map,Ue=new Map,Ae=new Map,dn=new Map,$e=new Map,qe=new Map,fn=new Map,En=ref(0),rt={individual:0,group:0,channel:0},Nn=new Map,Ln=0,Pn,jn,Tn,kn=0,nn,tn,gn,mn=0,pn,Be,We;function io(a){return s.value[a.conversationId]??0}function so(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=x(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?w(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?w(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function Zt(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?y(t,n.getChannelMemberProfiles(),a.conversationId,i):z(t,i)}function lo(a){return o.value,A(n.getSenderProfileCache(),a)}function er(a,i){return ma$1(n,a,i)}function ot(a,i){return na(n,a.conversationId,i)}function at(a,i,t){let l=n.getGeneration(),u=de.get(a.conversationId)??0;return oa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!L&&n.getGeneration()===l&&(de.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function it(a,i){let t=a.conversationId.trim();if(t==="")return;de.set(t,(de.get(t)??0)+1);let l={...n.getChannelMemberProfiles()},u=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(u.length===0)delete l[t];else {let f={...l[t]??{}};for(let S of u)delete f[S];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function wn(a,i){let t=a.conversationId.trim();t!==""&&(it(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function nr(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function tr(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function jt(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function Qe(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function rr(a,i,t={}){let l=$e.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(H=>H.userId)),f=new Map(l),S=i.map(H=>{let q=l.get(H.userId);return q===void 0?H:(t.reconcile===true&&q===H.nickname&&f.delete(H.userId),Object.freeze({...H,nickname:q}))});if(t.reconcile===true)for(let H of f.keys())u.has(H)||f.delete(H);return f.size===0?$e.delete(a):$e.set(a,f),Object.freeze(S)}function Tt(a,i){let t=$e.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&$e.delete(a));}function st(a,i){let t=qe.get(a);return t===void 0||t.size===0?i:Object.freeze(i.map(l=>{let u=t.get(l.userId);return u===void 0?l:Object.freeze({...l,displayName:u.displayName})}))}function Je(a,i){let t=qe.get(a),l=fn.get(a),u=M.value?.conversationId===a?x$1.value?.ownerId:dn.get(a)?.ownerId;return (t===void 0||t.size===0)&&(l===void 0||l.size===0)&&u===void 0?i:Object.freeze(i.map(f=>{let S=t?.get(f.userId),H=l?.get(f.userId),q=u!==void 0&&f.userId===u;if(S===void 0&&H===void 0&&!q)return f;let{nickname:Me,...sn}=f;return Object.freeze({...sn,...S===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:S.nickname===""?{}:{nickname:S.nickname},displayName:S?.displayName??f.displayName,role:q?"owner":H??f.role})}))}function or(a,i){let t=qe.get(a);if(t===void 0)return;let l=false;for(let u of i)t.get(u.userId)?.nickname===(u.nickname??"")&&(t.delete(u.userId),l=true);t.size===0&&qe.delete(a),l&&(En.value+=1);}function d(a,i){let t=qe.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&qe.delete(a),En.value+=1);}function p(a,i){let t=fn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&fn.delete(a);}}function v(a,i){let t=fn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&fn.delete(a));}function b(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?R.value:M.value;return !L&&n.getGeneration()===i&&fe===t&&ue[a.conversationType]===l&&W(u,a)}async function k(a,i={}){let t=ye(a),l=++fe,u=ue.direct,f=n.getGeneration(),S=!W(c.value,t);c.value=t,S&&(m.value=null,I.value="unknown"),w$1.value=true,z$1.value=null;try{let H=await Ms(n,t,i);return b(t,f,l,u)?(m.value=H.profile,I.value=H.relationship,w$1.value=!1,H.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(H){if(!b(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let q=Ve(H,"profile.direct",t);return z$1.value=q,w$1.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:q})}}async function T(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let H=await Dt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!H.ok)return Object.freeze({ok:false,reason:"channel-profile",result:H});if(f=W(M.value,a)?x$1.value:null,la({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let S=await k({conversationType:"direct",conversationId:l},{forceRefresh:u});return S.ok?Object.freeze({ok:true,destination:la({conversation:a,relationship:I.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:S})}async function ee(a){let i=ye(a),t=++De,l=n.getGeneration();c.value=i,$.value=true,V.value=null;try{let u=await js(n,i.conversationId);return !W(c.value,i)||l!==n.getGeneration()||t!==De?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(A$1.value=u,$.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!W(c.value,i)||l!==n.getGeneration()||t!==De)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=Ve(u,"profile.direct-mutual-groups",i);return V.value=f,$.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function te(a){return O[a]+=1,O[a]}function X(a,i){return !L&&O[a]===i}async function me(a,i){let t=ye(a),l=te("set-remark"),u=await ls(n,t,i);if(!X("set-remark",l)||!W(c.value,t))return Zn("set-remark",t);if(!u.ok)return u;let f=m.value,S=f!==null&&f.userId===t.conversationId;return S&&(m.value=Object.freeze({...f,...i.name===void 0?{}:{remark:i.name},...i.emails===void 0?{}:{remarkEmails:Object.freeze([...i.emails])},...i.phones===void 0?{}:{remarkPhones:Object.freeze(i.phones.map(H=>Object.freeze({countryCode:H.countryCode,mobile:H.mobile})))}})),Object.freeze({...u,projectionUpdated:S})}async function pe(a){let i=ye(a),t=te("block"),l=await cs(n,i);return !X("block",t)||!W(c.value,i)?Zn("block",i):l.ok?(I.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function ze(a,i){let t=ye(a),l=te("report"),u=await us(n,t,i);return !X("report",l)||!W(c.value,t)?Zn("report",t):u}async function _e(a){let i=ye(a),t=te("delete-friendship"),l=await ds(n,i);return !X("delete-friendship",t)||!W(c.value,i)?Zn("delete-friendship",i):l.ok?(I.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function Ee(a){let i=te("search-user"),t=await fs(n,a);return X("search-user",i)?t:Zn("search-user",t.conversation)}async function He(a){let i=ye(a),t=te("resolve-application-target"),l=await ms(n,i);return X("resolve-application-target",t)?l:Zn("resolve-application-target",i)}async function Xe(a,i){let t=ye(a),l=te("request-friendship"),u=await ps(n,t,i);return X("request-friendship",l)?u:Zn("request-friendship",t)}function xn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function zn(a,i){h[a]+=1;let t=n.getGeneration(),l=ue.group,u=xn(i,a,t,l);return re.set(u,(re.get(u)??0)+1),Object.freeze({epoch:h[a],generation:t,key:u,resetEpoch:l})}function rn(a,i){let t=re.get(i.key)??0;t<=1?re.delete(i.key):re.set(i.key,t-1),Zo(a);}function wt(a,i){return !L&&n.getGeneration()===i.generation&&ue.group===i.resetEpoch&&h[a]===i.epoch}function xt(a,i){let t=n.getGeneration(),l=ue.group;return i!==void 0?(re.get(xn(a,i,t,l))??0)>0:Object.keys(h).some(u=>(re.get(xn(a,u,t,l))??0)>0)}async function Te(a,i){let t=ye(a),l=i.trim(),u=zn("update-name",t);try{let f=await Cs(n,t,l);if(!wt("update-name",u)||!W(R.value,t))return Vr("update-name",t);if(!f.ok)return f;let S=g.value!==null;return S&&Tl(t,l),Object.freeze({...f,projectionUpdated:S})}finally{rn(t,u);}}async function Ye(a,i){let t=ye(a),l=zn("update-avatar",t);try{let u=await ks(n,t,i);if(!wt("update-avatar",l)||!W(R.value,t))return Vr("update-avatar",t);if(!u.ok)return u;let f=g.value!==null&&u.avatar!==void 0;return f&&wl(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{rn(t,l);}}async function An(a,i){let t=ye(a),l=i.trim(),u=zn("set-my-nickname",t);try{let f=await Rs(n,t,l);if(!wt("set-my-nickname",u)||!W(R.value,t))return Vr("set-my-nickname",t);if(!f.ok)return f;let S=_.value.some(H=>H.userId===f.memberId);return la$1(t,f.memberId,l),ra(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:S})}finally{rn(t,u);}}async function Gn(a,i,t){let l=ye(a),u=i===4?t?.trim():void 0,f=zn("update-verification",l);try{let S=await Ps(n,l,i,u);if(!wt("update-verification",f)||!W(R.value,l))return Vr("update-verification",l);if(!S.ok)return S;let H=g.value!==null;return H&&xl(l,i,u),Object.freeze({...S,projectionUpdated:H})}finally{rn(l,f);}}function co(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function vn(a,i,t="profile"){let l=n.getGeneration(),u=ue.channel,f=co(i,a,t,l,u),S=++ao;return we.set(f,S),Ke.set(f,(Ke.get(f)??0)+1),Object.freeze({conversation:ye(i),epoch:S,generation:l,resetEpoch:u,key:f})}function In(a){let i=Ke.get(a.key)??0;i<=1?Ke.delete(a.key):Ke.set(a.key,i-1),we.get(a.key)===a.epoch&&we.delete(a.key),ra$1(a.conversation);}function xe(a){return !L&&n.getGeneration()===a.generation&&ue.channel===a.resetEpoch&&we.get(a.key)===a.epoch}function on(a,i,t){let l=`${n.getGeneration()}:${ue.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of Ke){let S=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(S)&&(t===void 0||u===`${S}${t.trim()}`))return true}return false}function Xo(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function Ys(a,i){let t=ye(a);if(an(t))return et("update-name",t);let l=i.trim(),u=vn("update-name",t);try{let f=await es(n,t,l);if(!xe(u)||!W(M.value,t))return Hn("update-name",t);if(!f.ok)return f;let S=x$1.value!==null;return S&&da(t,l),Object.freeze({...f,projectionUpdated:S})}finally{In(u);}}async function Zs(a,i){let t=ye(a);if(an(t))return et("update-description",t);let l=i.trim(),u=vn("update-description",t);try{let f=await ns(n,t,l);if(!xe(u)||!W(M.value,t))return Hn("update-description",t);if(!f.ok)return f;let S=x$1.value!==null;return S&&fa(t,l),Object.freeze({...f,projectionUpdated:S})}finally{In(u);}}async function el(a,i){let t=ye(a);if(an(t))return et("update-avatar",t);let l=vn("update-avatar",t);try{let u=await ts(n,t,i);if(!xe(l)||!W(M.value,t))return Hn("update-avatar",t);if(!u.ok)return u;let f=x$1.value!==null;return f&&ma(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function nl(a,i){let t=ye(a),l=i.trim(),u=vn("set-my-nickname",t,n.getCredentials().userId);try{let f=await rs(n,t,l);return !xe(u)||!W(M.value,t)?Hn("set-my-nickname",t):f.ok?(Io(t,f.memberId,l,l),Xo(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{In(u);}}async function tl(a,i,t){let l=ye(a);if(an(l))return et("set-member-nickname",l);let u=i.trim(),f=t.trim(),S=Co(l,u),H=vn("set-member-nickname",l,u);try{let q=await os(n,l,u,S?.role??"unknown",f);return !xe(H)||!W(M.value,l)?Hn("set-member-nickname",l):q.ok?(Io(l,q.memberId,f,f),Xo(l,q.memberId,f),Object.freeze({...q,projectionUpdated:!0})):q}finally{In(H);}}async function rl(a,i,t){let l=ye(a);if(an(l))return et("update-verification",l);let u=i===4?t?.trim():void 0,f=vn("update-verification",l);try{let S=await as(n,l,i,u);if(!xe(f)||!W(M.value,l))return Hn("update-verification",l);if(!S.ok)return S;let H=x$1.value!==null;return H&&pa$1(l,i,u),Object.freeze({...S,projectionUpdated:H})}finally{In(f);}}async function ol(a,i){let t=ye(a);if(an(t))return et("set-all-muted",t);let l=vn("set-all-muted",t);try{let u=await is(n,t,i);if(!xe(l)||!W(M.value,t))return Hn("set-all-muted",t);if(!u.ok)return u;let f=x$1.value!==null;return f&&go(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}async function al(a,i){let t=ye(a);if(an(t))return et("set-member-private-chat-disabled",t);let l=vn("set-member-private-chat-disabled",t);try{let u=await ss(n,t,i);if(!xe(l)||!W(M.value,t))return Hn("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=x$1.value!==null;return f&&go(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{In(l);}}function il(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function uo(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function ar(a,i,t){let l=n.getGeneration(),u=G[a],f=uo(i,a,l,u),S=il(i,a,t,l,u),H=++ie;return ne.set(S,H),Re.set(f,(Re.get(f)??0)+1),Object.freeze({actionEpoch:H,actionKey:S,generation:l,resetEpoch:u,writeKey:f})}function ir(a,i){let t=Re.get(i.writeKey)??0;t<=1?Re.delete(i.writeKey):Re.set(i.writeKey,t-1),ne.get(i.actionKey)===i.actionEpoch&&ne.delete(i.actionKey),Zo(a);}function sr(a,i){return !L&&n.getGeneration()===i.generation&&G[a]===i.resetEpoch&&ne.get(i.actionKey)===i.actionEpoch}function lr(a,i){let t=n.getGeneration();return i!==void 0?(Re.get(uo(a,i,t,G[i]))??0)>0:Object.keys(G).some(l=>(Re.get(uo(a,l,t,G[l]))??0)>0)}function sl(a,i){let t=i.trim();t!==""&&Ue.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function ll(a,i){if(i===null||i.isInGroup===false)return Ue.delete(a.conversationId),i;let t=Ue.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Ue.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function Yo(a){W(R.value,a)&&dt(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!W(R.value,a)||cr(a);});}function zt(a){W(R.value,a)&&Gt(a,{forceRefresh:true});}function Zo(a){xt(a)||lr(a)||(oe.delete(a.conversationId)&&zt(a),Ie.delete(a.conversationId)&&ko(a));}function cr(a){W(R.value,a)&&qa(n,a.conversationId,_.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function cl(a,i){let t=ye(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=ar("invite-members",t,l);try{let f=await vs(n,t,i);if(!sr("invite-members",u))return nt("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&W(R.value,t)&&zt(t),f;if(!W(R.value,t))return nt("invite-members",t);let S=f.memberIds.some(H=>ua(t,H));for(let H of f.memberIds)po(t,H);return Yo(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{ir(t,u);}}async function ul(a,i){let t=ye(a),l=ar("remove-member",t,i.trim());try{let u=await gs(n,t,i);if(!sr("remove-member",l))return nt("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&W(R.value,t)&&zt(t),u;if(!W(R.value,t))return nt("remove-member",t);let f=_.value.some(S=>S.userId===u.memberId);return mo(t,u.memberId),Yo(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{ir(t,l);}}async function dl(a,i){let t=ye(a),l=ar("transfer-ownership",t,"group-owner");try{let u=await Is(n,t,i);if(!sr("transfer-ownership",l))return nt("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&W(R.value,t)&&zt(t),u;if(!W(R.value,t))return nt("transfer-ownership",t);sl(t,u.ownerId);let f=g.value,S=f!==null;return f!==null&&(g.value=Object.freeze({...f,ownerId:u.ownerId})),zt(t),Object.freeze({...u,projectionUpdated:S,refreshRequired:!1})}finally{ir(t,l);}}async function fl(a,i={}){let t=ye(a),l=ar("leave",t,"membership");try{let u=await hs(n,t,i);if(!u.ok&&!sr("leave",l))return nt("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&W(R.value,t)&&await Gt(t,{forceRefresh:!0}),u;vo(t),sa(n,t.conversationId,{clearCachedNames:!0}),Ue.delete(t.conversationId);let f=W(R.value,t)&&(g.value!==null||_.value.length>0);return W(R.value,t)&&(R.value=null,g.value=null,_.value=[],U.value=!1,B.value=!1,ae.value=null),Object.freeze({...u,projectionUpdated:f})}finally{ir(t,l);}}function ml(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function ea(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function lt(a,i,t){let l=n.getGeneration(),u=yn[a],f=ml(i,a,t,l,u),S=ea(i,a,l,u),H=++Xt;return bn.set(f,H),ln.set(S,(ln.get(S)??0)+1),Object.freeze({actionEpoch:H,actionKey:f,conversation:ye(i),writeKey:S,generation:l,resetEpoch:u})}function ct(a){let i=ln.get(a.writeKey)??0;i<=1?ln.delete(a.writeKey):ln.set(a.writeKey,i-1),bn.get(a.actionKey)===a.actionEpoch&&bn.delete(a.actionKey),ra$1(a.conversation);}function ut(a,i){return !L&&n.getGeneration()===i.generation&&yn[a]===i.resetEpoch&&bn.get(i.actionKey)===i.actionEpoch}function ur(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(yn):[i]).some(u=>(ln.get(ea(a,u,t,yn[u]))??0)>0)}function dr(a,i){let t=i.trim();if(t==="")return;let l=Co(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function pl(a,i){let t=i.trim();t!==""&&dn.set(a.conversationId,{ownerId:t});}function an(a){let i=dn.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function na$1(a,i){if(i===null)return dn.delete(a.conversationId),null;let t=dn.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(dn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function vl(a){return !W(M.value,a)||x$1.value===null?false:(x$1.value=na$1(a,x$1.value),true)}function gl(a){W(P.value,a)&&Po(a,{preserveExisting:true});}function At(a){W(M.value,a)&&Dt(a,{forceRefresh:true});}function fr(a){At(a),gl(a);}function Il(a,i,t,l){let u=Cn.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(S=>S.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let S of f)u.userIds.add(S);u.affectsMentions||=i,u.resolvesProfiles||=t,Cn.set(a.conversationId,u);}function ta(a,i){let t=Cn.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&Cn.delete(a.conversationId);}}function ra$1(a){if(on(a)||ur(a))return;Sn.delete(a.conversationId)&&ya(a);let i=Cn.get(a.conversationId);if(i===void 0)return;Cn.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?wn(a,t):it(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&at(a,t,{forceRefresh:true}),vr(a);}function hl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function oa$1(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function yl(a,i){let t=ye(a);if(an(t))return Qt("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=lt("invite-members",t,l);try{let f=await Vi(n,t,i);if(!ut("invite-members",u))return hn("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!W(M.value,t))return hn("invite-members",t);let S=f.memberIds.some(H=>bo(t,H));for(let H of f.memberIds)yo(t,H);return wn(t,f.memberIds),ta(t,f.memberIds),fr(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{ct(u);}}async function bl(a,i){let t=ye(a);if(an(t))return Qt("remove-member",t);let l=dr(t,i),u=lt("remove-member",t,i.trim());try{let f=await $i(n,t,l??{userId:i,role:"unknown"});if(!ut("remove-member",u))return hn("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!W(M.value,t))return hn("remove-member",t);let S=hl(t,f.memberId),H=j.value.some(q=>q.userId===f.memberId)||Ce.value.some(q=>q.userId===f.memberId)||S;return ho(t,f.memberId),wn(t,[f.memberId]),ta(t,[f.memberId]),fr(t),Object.freeze({...f,projectionUpdated:H,refreshRequired:!1})}finally{ct(u);}}async function Cl(a,i,t){let l=ye(a),u=dr(l,i),f=t?"add-admin":"remove-admin";if(an(l))return Qt(f,l);let S=lt(f,l,i.trim());try{let H=t?await Wi(n,l,u??{userId:i,role:"unknown"}):await Qi(n,l,u??{userId:i,role:"unknown"});if(!ut(f,S))return hn(f,l);if(!H.ok)return H.outcome!=="stale"&&At(l),H;if(!W(M.value,l))return hn(f,l);let q=t?"admin":"member",Me=u?.role!==q;return Un(l,H.memberId,q),fr(l),Object.freeze({...H,projectionUpdated:Me,refreshRequired:!1})}finally{ct(S);}}async function Rl(a,i){let t=ye(a);if(an(t))return Qt("transfer-ownership",t);let l=dr(t,i),u=lt("transfer-ownership",t,"channel-owner");try{let f=await Ji(n,t,l??{userId:i,role:"unknown"});if(!ut("transfer-ownership",u))return hn("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&At(t),f;if(!W(M.value,t))return hn("transfer-ownership",t);pl(t,f.ownerId);let S=vl(t);return Un(t,f.ownerId,"owner"),Un(t,n.getCredentials().userId,"member"),fr(t),Object.freeze({...f,projectionUpdated:S,refreshRequired:!1})}finally{ct(u);}}async function Pl(a,i={}){let t=ye(a),l=i.newOwnerId===void 0?void 0:dr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=lt("leave",t,"membership");try{let f=await Xi(n,t,l);if(!f.ok&&!ut("leave",u))return hn("leave",t);if(!f.ok)return f;let S=W(M.value,t)&&(x$1.value!==null||j.value.length>0||Ce.value.length>0);return mr(t),dn.delete(t.conversationId),oa$1(t),W(M.value,t)&&gr(),Object.freeze({...f,projectionUpdated:S})}finally{ct(u);}}async function kl(a){let i=ye(a);if(an(i))return Qt("dismiss",i);let t=lt("dismiss",i,"membership");try{let l=await Yi(n,i);if(!l.ok&&!ut("dismiss",t))return hn("dismiss",i);if(!l.ok)return l;let u=W(M.value,i)&&(x$1.value!==null||j.value.length>0||Ce.value.length>0);return mr(i),dn.delete(i.conversationId),oa$1(i),W(M.value,i)&&gr(),Object.freeze({...l,projectionUpdated:u})}finally{ct(t);}}async function Gt(a,i={}){let t=ye(a),l=++fe,u=ue.group,f=n.getGeneration(),S=!W(R.value,t);R.value=t,S&&(g.value=null,un+=1,_.value=[],B.value=false),U.value=true,ae.value=null;try{let H=i.forceRefresh===!0?null:await Ss(n,t);if(!b(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(H!==null&&(g.value=H),i.restricted===!0)return i.includeMembers===!0&&await dt(t,{restricted:!0,forceRefresh:!0}),b(t,f,l,u)?(U.value=!1,g.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let q=await Es(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!b(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Me=ll(t,q);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Me?.ref.conversationId??null,name:Me?.name??null,isInGroup:Me?.isInGroup??null,verifyWay:Me?.verifyWay??null,memberCount:Me?.memberCount??null,membershipDecision:Me?.isInGroup===!0?"joined":Me?.isInGroup===!1?"not-joined":"unknown"}})),Me===null||Me.isInGroup===!1?(un+=1,_.value=[],B.value=!1,vo(t),sa(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await dt(t,{restricted:!1,forceRefresh:!0}),b(t,f,l,u)?(g.value=Me,U.value=!1,Object.freeze(Me===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(H){if(!b(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let q=Ve(H,"profile.group",t);return i.forceRefresh===true&&(g.value=null,un+=1,_.value=[],B.value=false),ae.value=q,U.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:q})}}async function dt(a,i={}){let t=ye(a);if(W(R.value,t)||(R.value=t,_.value=[]),W(R.value,t)&&g.value?.ref.conversationId===t.conversationId&&g.value.isInGroup===false)return un+=1,_.value=[],B.value=false,Object.freeze({ok:true,operation:"group-members"});if(_.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++un,u=n.getGeneration();B.value=true;try{let f=i.preserveExisting===!0?null:await Ts(n,t);if(L||n.getGeneration()!==u||l!==un||!W(R.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let S=f===null?null:Qe(Rn,t.conversationId,f.items);if(S!==null&&(_.value=rr(t.conversationId,S),cr(t)),i.restricted===!0||i.forceRefresh!==!0&&S!==null&&S.length>0)return B.value=!1,Object.freeze({ok:!0,operation:"group-members"});let H=await ws(n,t);return L||n.getGeneration()!==u||l!==un||!W(R.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(H!==null&&(_.value=rr(t.conversationId,Qe(Rn,t.conversationId,H),{reconcile:!0}),cr(t)),B.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(L||n.getGeneration()!==u||l!==un||!W(R.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let S=Ve(f,"profile.group-members",t);return ae.value=S,B.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:S})}}async function Dt(a,i){let t=ye(a),l=++fe,u=ue.channel,f=n.getGeneration(),S=!W(M.value,t);M.value=t,S&&(x$1.value=null,Vn(t)),Y.value=true,N.value=null;try{let H=await xs(n,t,i);if(!b(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let q=na$1(t,H);return x$1.value=q,q!==null&&W(P.value,t)&&(j.value=Je(t.conversationId,j.value)),q===null?(mr(t),Vn()):q.canViewMembers!==!0&&Vn(),Y.value=!1,Object.freeze(q===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(H){if(!b(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let q=Ve(H,"profile.channel",t);return i?.forceRefresh===true&&(x$1.value=null,Vn()),N.value=q,Y.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:q})}}async function Ol(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,S=++Yt,H=n.getGeneration(),q=ue[t.conversationType];cn.set(f,S);let Me=()=>!L&&n.getGeneration()===H&&ue[t.conversationType]===q&&cn.get(f)===S&&(t.conversationType==="group"?W(R.value,t):W(M.value,t));try{let sn=t.conversationType==="group"?i.inviteCode===void 0?await u.groups.requestJoin(t):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?await u.channels.requestJoin(t):await u.channels.joinByInviteCode(t,i.inviteCode);return Me()?(sn.outcome==="joined"&&(t.conversationType==="group"?await Gt(t,{forceRefresh:!0}):await Dt(t,{forceRefresh:!0})),Me()?Object.freeze({ok:!0,operation:l,outcome:sn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(sn){return Me()?Object.freeze({ok:false,operation:l,reason:"failed",error:Ve(sn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{cn.get(f)===S&&cn.delete(f);}}async function aa(a,i,t){let l=Q[a];if(l.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&l.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&l.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let u=i?Nn.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++rt[a],S=n.getGeneration();l.loading=true,l.error=null;try{let H=await zs(n,a,u);return L||S!==n.getGeneration()||f!==rt[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Hs(i?l.items:[],H.items),l.loaded=!0,l.exhausted=H.exhausted,l.loading=!1,H.nextPageToken===void 0?Nn.delete(a):Nn.set(a,H.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(H){if(L||S!==n.getGeneration()||f!==rt[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let q=Ve(H,`directory.${a}`);return l.error=q,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:q})}}function Ml(a,i=false){return aa(a,i,false)}function Sl(a){return aa(a,false,true)}function ia(){Pn!==void 0&&(clearTimeout(Pn),Pn=void 0),jn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),jn=void 0;}async function El(a,i){let t=n.getGeneration();try{let l=await As(n,a);return L||t!==n.getGeneration()||i!==Ln?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(E.value=l,C.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(L||t!==n.getGeneration()||i!==Ln)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=Ve(l,"directory.search");return y$1.value=u,C.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function fo(){Ln+=1,ia(),se.value="",E.value=null,C.value=false,y$1.value=null,Tn=void 0;}function jl(a,i={}){let t=a.trim();if(t==="")return fo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&jn?.keyword===t)return jn.promise;if(Tn?.keyword===t)return Tn.promise;if(!i.immediate&&se.value===t&&E.value?.keyword===t.toLocaleLowerCase()&&y$1.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++Ln;ia(),se.value=t,E.value=null,C.value=true,y$1.value=null;let u=()=>{let H=El(t,l);return Tn={keyword:t,promise:H},H.finally(()=>{Tn?.promise===H&&(Tn=void 0);}),H};if(i.immediate)return u();let f,S=new Promise(H=>{f=H;});return jn={keyword:t,promise:S,resolve:f},Pn=setTimeout(()=>{Pn=void 0,jn=void 0,u().then(f);},300),S}function sa$1(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function Tl(a,i){!W(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,name:i}));}function wl(a,i){!W(R.value,a)||g.value===null||(g.value=Object.freeze({...g.value,avatar:i}));}function xl(a,i,t){if(!W(R.value,a)||g.value===null)return;let{inviteCode:l,...u}=g.value;g.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function la$1(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=$e.get(a.conversationId)??new Map;f.set(l,u),$e.set(a.conversationId,f),W(R.value,a)&&(_.value=Object.freeze(_.value.map(S=>S.userId===l?Object.freeze({...S,nickname:u}):S)));}function ca(a,i){Tt(a.conversationId,i);}function mo(a,i){let t=i.trim();if(t===""||(Tt(a.conversationId,t),nr(Rn,a.conversationId,t),!W(R.value,a)))return;let l=_.value.filter(f=>f.userId!==t),u=l.length!==_.value.length;u&&(_.value=Object.freeze(l),cr(a)),u&&g.value!==null&&g.value.memberCount!==void 0&&(g.value=Object.freeze({...g.value,memberCount:Math.max(0,g.value.memberCount-1)}));}function po(a,i){Tt(a.conversationId,i),tr(Rn,a.conversationId,i);}function ua(a,i){return jt(Rn,a.conversationId,i)}function vo(a){Rn.delete(a.conversationId),$e.delete(a.conversationId);}function da(a,i){!W(M.value,a)||x$1.value===null||(x$1.value=Object.freeze({...x$1.value,name:i}));}function fa(a,i){!W(M.value,a)||x$1.value===null||(x$1.value=Object.freeze({...x$1.value,description:i}));}function ma(a,i){!W(M.value,a)||x$1.value===null||(x$1.value=Object.freeze({...x$1.value,avatar:i}));}function pa$1(a,i,t){if(!W(M.value,a)||x$1.value===null)return;let{inviteCode:l,...u}=x$1.value;x$1.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function go(a,i){if(!W(M.value,a)||x$1.value===null)return;let t={...x$1.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};x$1.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function Io(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),S=f||l?.trim()||u,H=qe.get(a.conversationId)??new Map;H.set(u,{nickname:f,displayName:S}),qe.set(a.conversationId,H),En.value+=1,W(P.value,a)&&(j.value=Je(a.conversationId,j.value)),qn(a,u)&&(K.value=Je(a.conversationId,K.value===null?[]:[K.value])[0]??null),W(le.value,a)&&(Ce.value=Object.freeze(Ce.value.map(q=>q.userId===u?Object.freeze({...q,displayName:S}):q)));}function Un(a,i,t){let l=i.trim();if(l==="")return;let u=fn.get(a.conversationId)??new Map;u.set(l,t),fn.set(a.conversationId,u),W(P.value,a)&&(j.value=Je(a.conversationId,j.value)),qn(a,l)&&(K.value=Je(a.conversationId,K.value===null?[]:[K.value])[0]??null);}function va(a,i){d(a.conversationId,i);}function zl(a,i){return En.value,qe.get(a.conversationId)?.get(i.trim())?.nickname}function ho(a,i){let t=i.trim();if(t==="")return;let l=W(P.value,a),u=W(le.value,a);if(d(a.conversationId,t),v(a.conversationId,t),nr(Ae,a.conversationId,t),!l&&!u)return;let f=l&&j.value.some(H=>H.userId===t),S=u&&Ce.value.some(H=>H.userId===t);l&&(j.value=Object.freeze(j.value.filter(H=>H.userId!==t))),u&&(Ce.value=Object.freeze(Ce.value.filter(H=>H.userId!==t))),qn(a,t)&&(K.value=null),(f||S)&&W(M.value,a)&&x$1.value?.memberCount!==void 0&&(x$1.value=Object.freeze({...x$1.value,memberCount:Math.max(0,x$1.value.memberCount-1)}));}function yo(a,i){d(a.conversationId,i),v(a.conversationId,i),tr(Ae,a.conversationId,i);}function bo(a,i){return jt(Ae,a.conversationId,i)}function mr(a){Ae.delete(a.conversationId),fn.delete(a.conversationId),qe.delete(a.conversationId)&&(En.value+=1);}function On(a,i,t){return !L&&n.getGeneration()===i&&kn===t&&W(P.value,a)}function qn(a,i,t,l){let u=he.value;return !L&&(t===void 0||n.getGeneration()===t)&&(l===void 0||tt===l)&&u!==null&&W(u,a)&&u.userId===i}function Co(a,i){let t=i.trim();if(t!==""){if(W(P.value,a)){let l=j.value.find(u=>u.userId===t);if(l!==void 0)return l}return qn(a,t)?K.value??void 0:void 0}}async function Al(a,i,t={forceRefresh:true}){let l=ye(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++tt,S=n.getGeneration();he.value=Object.freeze({...l,userId:u}),K.value=null,J.value=true,ge.value=null;try{let H=await Ds(n,l,u,{forceRefresh:t.forceRefresh!==!1});return qn(l,u,S,f)?H===null||bo(l,u)?Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"}):(K.value=Je(l.conversationId,[H])[0]??null,Object.freeze({ok:!0,operation:"channel-member"})):Object.freeze({ok:!1,operation:"channel-member",reason:"stale"})}catch(H){if(!qn(l,u,S,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let q=Ve(H,"profile.channel-member",l);return ge.value=q,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:q})}finally{qn(l,u,S,f)&&(J.value=false);}}async function Ro(a,i,t){Z.value=true,be.value=null;try{let l=await _s(n,a,F.value);return On(a,i,t)?(or(a.conversationId,l.items),p(a.conversationId,l.items),j.value=Je(a.conversationId,Qe(Ae,a.conversationId,l.items)),nn=l.nextCursor,ce.value=l.exhausted||l.nextCursor===void 0,gn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(l){if(!On(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let u=Ve(l,"profile.channel-members.refresh",a);return gn="initial",be.value=u,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:u})}}async function ga(a){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=ye(a),t=kn,l=n.getGeneration();Z.value=true,be.value=null;try{let u=await Bo(n,i,F.value);return On(i,l,t)?(u!==null&&(j.value=Je(i.conversationId,Qe(Ae,i.conversationId,u.items)),nn=u.nextCursor,ce.value=u.exhausted||u.nextCursor===void 0),await Ro(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.cache",i);return gn="initial",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function Ia(a){if(Z.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(ce.value||nn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=ye(a),t=kn,l=n.getGeneration();Z.value=true,be.value=null;try{let u=await Gs(n,i,{query:F.value,cursor:nn});return On(i,l,t)?(or(i.conversationId,u.items),p(i.conversationId,u.items),j.value=Je(i.conversationId,Qe(Ae,i.conversationId,sa$1(j.value,u.items))),nn=u.nextCursor,ce.value=u.exhausted||u.nextCursor===void 0,gn=void 0,Z.value=!1,Object.freeze({ok:!0,operation:"channel-members"})):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(u){if(!On(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=Ve(u,"profile.channel-members.page",i);return gn="more",be.value=f,Z.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}function Vn(a=null){tn!==void 0&&(clearTimeout(tn),tn=void 0),kn+=1,P.value=a===null?null:ye(a),j.value=[],F.value="",Z.value=false,ce.value=false,be.value=null,nn=void 0,gn=void 0;}function Po(a,i={}){let t=ye(a);if(i.preserveExisting===true&&W(P.value,t)){tn!==void 0&&(clearTimeout(tn),tn=void 0);let l=++kn,u=n.getGeneration();return be.value=null,Ro(t,u,l)}return Vn(t),ga(t)}function Gl(a){let i=P.value;if(i===null)return;F.value=a,kn+=1,j.value=[],ce.value=false,be.value=null,nn=void 0,Z.value=false,tn!==void 0&&clearTimeout(tn);let t=kn,l=n.getGeneration();(async()=>{try{let u=await Bo(n,i,F.value);if(!On(i,l,t))return;u!==null&&(j.value=Je(i.conversationId,Qe(Ae,i.conversationId,u.items)),nn=u.nextCursor,ce.value=u.exhausted||u.nextCursor===void 0);}catch(u){if(!On(i,l,t))return;be.value=Ve(u,"profile.channel-members.cache",i);}On(i,l,t)&&(tn=setTimeout(()=>{tn=void 0,Ro(i,l,t);},300));})();}function Dl(){let a=P.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Ia(a)}function _l(){let a=P.value;return a===null||gn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):gn==="more"?Ia(a):ga(a)}function Dn(a,i,t){return !L&&n.getGeneration()===i&&mn===t&&W(le.value,a)}async function _t(a,i={}){if(Se.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=ye(a),l=mn,u=n.getGeneration();Se.value=true,D.value=null;try{let f=i.useCache===!1?null:await Qo(n,t,ke.value||void 0);if(!Dn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(Ce.value=st(t.conversationId,Qe(Ae,t.conversationId,f.items)),pn=f.nextPageToken,je.value=f.exhausted||f.nextPageToken===void 0);let S=await Fs(n,t,ke.value||void 0);return Dn(t,u,l)?(Ce.value=st(t.conversationId,Qe(Ae,t.conversationId,S.items)),pn=S.nextPageToken,je.value=S.exhausted||S.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Dn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let S=Ve(f,"profile.channel-mentions",t);return We="initial",D.value=S,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:S})}}async function ha(){let a=le.value,i=pn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Se.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=mn,l=n.getGeneration();Se.value=true,D.value=null;try{let u=await Ks(n,ke.value,i);return Dn(a,l,t)?(Ce.value=st(a.conversationId,Qe(Ae,a.conversationId,sa$1(Ce.value,u.items))),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0,We=void 0,Se.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Dn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=Ve(u,"profile.channel-mentions.page",a);return We="more",D.value=f,Se.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function pr(a=null,i=""){Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,le.value=a===null?null:ye(a),Ce.value=[],ke.value=i,Se.value=false,je.value=false,D.value=null,pn=void 0,We=void 0;}function Fl(a,i=""){return W(le.value,a)&&ke.value===i?(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,D.value=null,pn=void 0,We=void 0,_t(a,{useCache:false})):(pr(a,i),_t(a))}function Kl(a){let i=le.value;if(i===null)return;pr(i,a);let t=mn,l=n.getGeneration();(async()=>{try{let u=await Qo(n,i,a||void 0);if(!Dn(i,l,t))return;u!==null&&(Ce.value=st(i.conversationId,Qe(Ae,i.conversationId,u.items)),pn=u.nextPageToken,je.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Dn(i,l,t))return;D.value=Ve(u,"profile.channel-mentions.cache",i);}Dn(i,l,t)&&(Be=setTimeout(()=>{Be=void 0,_t(i);},300));})();}function Hl(){let a=le.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(Be!==void 0&&(clearTimeout(Be),Be=void 0),mn+=1,Se.value=false,D.value=null,pn=void 0,je.value=false,We=void 0,_t(a,{useCache:false}))}function Nl(){let a=le.value;return a===null||We===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):We==="more"?ha():_t(a)}function ko(a){W(R.value,a)&&(ot(a,{forceRefresh:true}),dt(a,{forceRefresh:true,preserveExisting:true}));}function vr(a){W(P.value,a)&&Po(a,{preserveExisting:true});}async function ya(a){if(!W(M.value,a))return;(await Dt(a,{forceRefresh:true})).ok&&x$1.value?.canViewMembers===true&&vr(a);}function Ll(a){if(a.type==="profile:updated"){if(a.profileType==="user")er(a.id,{forceRefresh:true}),c.value?.conversationId===a.id&&k({conversationType:"direct",conversationId:a.id},{forceRefresh:true});else {let q={conversationType:"group",conversationId:a.id};if(xt(q)||lr(q)){oe.add(q.conversationId);return}W(R.value,q)?Gt(q,{includeMembers:true,forceRefresh:true}):ot(q,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let q={conversationType:"channel",conversationId:a.channelId};on(q)||ur(q)?Sn.add(q.conversationId):ya(q);return}if(a.type==="sync:complete"){for(let q of a.conversations)if(q.conversationType==="group"){let Me={conversationType:"group",conversationId:q.conversationId};W(R.value,Me)&&ko(Me);}else if(q.conversationType==="channel"){let Me={conversationType:"channel",conversationId:q.conversationId};(W(M.value,Me)||W(P.value,Me)||W(le.value,Me))&&(wn(Me),vr(Me));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Au.has(t)){let q={conversationType:"group",conversationId:i.conversationId},Me=(a.source??"live")==="live",sn=t==="group_member_renamed"&&l.some(_n=>_n.trim()===u)&&xt(q,"set-my-nickname"),$l=t==="group_member_renamed"&&!sn;if(t==="group_member_renamed"){sn||pa(n,i);for(let _n of l)sn&&_n.trim()===u||ca(q,_n);}if(t==="group_member_joined"||t==="group_member_invited")for(let _n of l)po(q,_n);if(Me&&(t==="group_member_left"||t==="group_member_removed"))for(let _n of l)mo(q,_n);if(lr(q)){Ie.add(q.conversationId);return}Me&&!sn&&($l?W(R.value,q)&&dt(q,{forceRefresh:true,preserveExisting:true}):ko(q));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Gu.has(t)||!f)return;let S={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(q=>on(S,q.trim()===u?"set-my-nickname":"set-member-nickname",q)))){if(t==="channel_member_renamed")for(let q of l)va(S,q);if(t==="channel_admin_added"||t==="channel_admin_removed"){let q=t==="channel_admin_added"?"admin":"member";for(let Me of l)Un(S,Me,q);}if(t==="channel_owner_transferred"){for(let Me of l)Un(S,Me,"owner");let q=i.body.system?.operatorId;q!==void 0&&!l.includes(q)&&Un(S,q,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let q of l)yo(S,q);if(t==="channel_member_left"||t==="channel_member_removed")for(let q of l)ho(S,q);if(ur(S)){Il(S,Ns.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Ns.has(t)?wn(S,l):it(S,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&at(S,l,{forceRefresh:true}),vr(S);}}let Ul=n.subscribeProfileChange(()=>{o.value+=1;}),ql=n.subscribeEvents(Ll);function ba(){O["set-remark"]+=1,O.block+=1,O.report+=1,O["delete-friendship"]+=1,ue.direct+=1,c.value=null,m.value=null,I.value="unknown",w$1.value=false,z$1.value=null,De+=1,A$1.value=[],$.value=false,V.value=null;}function Ca(){for(let a of Object.keys(h))h[a]+=1;for(let a of Object.keys(G))G[a]+=1;re.clear(),Re.clear(),ne.clear(),oe.clear(),Ie.clear(),ue.group+=1,un+=1,R.value=null,g.value=null,_.value=[],U.value=false,B.value=false,ae.value=null;}function gr(){for(let a of Object.keys(yn))yn[a]+=1;ln.clear(),bn.clear(),Ke.clear(),we.clear(),Sn.clear(),Cn.clear(),ue.channel+=1,M.value=null,x$1.value=null,Y.value=false,N.value=null,tt+=1,he.value=null,K.value=null,J.value=false,ge.value=null,Vn(),pr();}function Ra(){ba(),O["search-user"]+=1,O["resolve-application-target"]+=1,O["request-friendship"]+=1,Ca(),gr(),cn.clear();for(let a of ["individual","group","channel"])rt[a]+=1,Object.assign(Q[a],$r());Nn.clear(),fo(),Rn.clear(),Ue.clear(),Ae.clear(),dn.clear(),$e.clear(),fn.clear(),de.clear(),s.value={},qe.size>0&&(qe.clear(),En.value+=1);}function Vl(){L||(Ra(),L=true,re.clear(),Re.clear(),ne.clear(),Ke.clear(),we.clear(),ln.clear(),bn.clear(),Ul(),ql(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:I,directLoading:w$1,directError:z$1,directMutualGroups:A$1,directMutualGroupsLoading:$,directMutualGroupsError:V,groupRef:R,groupProfile:g,groupMembers:_,groupLoading:U,groupMembersLoading:B,groupError:ae,channelRef:M,channelProfile:x$1,channelLoading:Y,channelError:N,directories:Q,directorySearchKeyword:se,directorySearchResult:E,directorySearchLoading:C,directorySearchError:y$1,channelMembersRef:P,channelMembers:j,channelMemberQuery:F,channelMembersLoading:Z,channelMembersExhausted:ce,channelMembersError:be,channelMemberDetailRef:he,channelMemberDetail:K,channelMemberDetailLoading:J,channelMemberDetailError:ge,channelMentionsRef:le,channelMentions:Ce,channelMentionQuery:ke,channelMentionsLoading:Se,channelMentionsExhausted:je,channelMentionsError:D,resolveDisplayName:so,resolveAvatarUrl:Zt,resolvePublicNickname:lo,resolveSenderProfile:er,resolveGroupMemberProfiles:ot,resolveChannelMemberProfiles:at,invalidateChannelMemberProfiles:it,invalidateChannelMemberSet:wn,channelMentionRevision:io,loadDirect:k,resolveProfileAccess:T,loadDirectMutualGroups:ee,setDirectContactRemark:me,blockDirectContact:pe,reportDirectContact:ze,deleteDirectFriendship:_e,searchDirectContact:Ee,resolveDirectContactTarget:He,requestDirectFriendship:Xe,loadGroup:Gt,updateGroupName:Te,updateGroupAvatar:Ye,setMyGroupNickname:An,updateGroupVerification:Gn,isGroupProfileWritePending:xt,inviteGroupMembers:cl,removeGroupMember:ul,transferGroupOwnership:dl,leaveGroup:fl,isGroupMemberManagementPending:lr,ensureGroupMembers:dt,loadChannel:Dt,requestMembershipJoin:Ol,updateChannelName:Ys,updateChannelDescription:Zs,updateChannelAvatar:el,setMyChannelNickname:nl,setChannelMemberNickname:tl,updateChannelVerification:rl,setChannelAllMuted:ol,setChannelMemberPrivateChatDisabled:al,isChannelProfileWritePending:on,inviteChannelMembers:yl,removeChannelMember:bl,setChannelMemberAdmin:Cl,transferChannelOwnership:Rl,leaveChannel:Pl,dismissChannel:kl,isChannelMemberManagementPending:ur,loadDirectory:Ml,refreshDirectory:Sl,searchDirectory:jl,clearDirectorySearch:fo,openChannelMembers:Po,getChannelMember:Co,loadChannelMember:Al,setChannelMemberQuery:Gl,loadMoreChannelMembers:Dl,retryChannelMembers:_l,resetChannelMembers:Vn,updateGroupMemberNicknameProjection:la$1,clearGroupMemberNicknameProjection:ca,removeGroupMemberProjection:mo,restoreGroupMemberProjection:po,isGroupMemberRemovedProjection:ua,clearGroupMemberProjections:vo,updateChannelNameProjection:da,updateChannelDescriptionProjection:fa,updateChannelAvatarProjection:ma,updateChannelVerificationProjection:pa$1,updateChannelManagementProjection:go,updateChannelMemberDisplayNameProjection:Io,updateChannelMemberRoleProjection:Un,clearChannelMemberDisplayNameProjection:va,channelMemberNicknameProjection:zl,removeChannelMemberProjection:ho,restoreChannelMemberProjection:yo,isChannelMemberRemovedProjection:bo,clearChannelMemberProjections:mr,openChannelMentions:Fl,setChannelMentionQuery:Kl,loadMoreChannelMentions:ha,refreshChannelMentions:Hl,retryChannelMentions:Nl,resetChannelMentions:pr,resetDirect:ba,resetGroup:Ca,resetChannel:gr,reset:Ra,dispose:Vl}})}var Ls=new WeakMap,Br=new WeakMap;function Fu(e=Pe()){ve(e);let n=Ls.get(e);n===void 0&&(n=_u(e),Ls.set(e,n));let r=n(e);return Br.get(e)!==r&&(Br.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),Br.get(e)===r&&Br.delete(e);})),r}var Jr=new WeakMap,Uu=Object.freeze({status:"loading",message:null}),Us=Object.freeze({status:"missing",message:null});function Wr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Jo(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function qu(e){return defineStore("k2-im-quoted-message",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=shallowRef({}),c=new Set,m=new Set,I=0,w=new Map,z=false,A=false,$=false,V=computed(()=>{let C=new Map;for(let y of o.messages)C.set(y.id,y);return C});function R(){I+=1,c.clear(),w.clear(),m=new Set,$=false,s.value={};}let g=watch(()=>Wr(o.activeRef),(C,y)=>{C!==y&&R();},{flush:"sync"}),_=n.subscribeEvents(C=>{z||C.type!=="connection:changed"||C.state!=="authenticated"||Q();});function U(C){let y=C.trim();if(y==="")return Us;let P=V.value.get(y);return P!==void 0?Object.freeze({status:"ready",message:P}):s.value[y]??Uu}function B(C,y){if(C.length===0)return;let P={...s.value},j=false;for(let[F,Z]of C)y.get(F)===(w.get(F)??0)&&(P[F]=Z,j=true);j&&(s.value=P);}async function ae(C){let y=I,P=new Map(C.map(K=>[K,w.get(K)??0])),j=n.getGeneration(),F=o.getHandle(),Z=Wr(o.activeRef);if(F===void 0||Wr(F.ref)!==Z)return;let ce=()=>!z&&I===y&&n.getGeneration()===j&&o.getHandle()===F&&Wr(o.activeRef)===Z,be=[],he=[];try{let K=await Promise.all(C.map(async J=>({messageId:J,message:await F.resolveMessage(J)})));if(!ce())return;for(let{messageId:J,message:ge}of K)ge===null?he.push(J):be.push([J,Object.freeze({status:"ready",message:ge})]);}catch(K){if(!ce())return;B(C.map(J=>[J,Object.freeze({status:"failed",message:null,retryable:true})]),P),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:j,conversation:{...F.ref},data:{requestedCount:C.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:K}}));return}if(B(be,P),he.length!==0)try{let K=await F.messages.fetchByIds(he);if(!ce())return;let J=[];for(let le of K.messages)J.push([le.id,Object.freeze({status:"ready",message:le})]);for(let le of K.missingMessageIds)J.push([le,Us]);let ge=K.failure?.retryable??!0;for(let le of K.unresolvedMessageIds)J.push([le,Object.freeze({status:"failed",message:null,retryable:ge})]);B(J,P),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:j,conversation:{...F.ref},data:{requestedCount:he.length,resolvedCount:K.messages.length,missingCount:K.missingMessageIds.length,unresolvedCount:K.unresolvedMessageIds.length,retryable:K.failure?.retryable}}));}catch(K){if(!ce())return;B(he.map(J=>[J,Object.freeze({status:"failed",message:null,retryable:false})]),P),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:j,conversation:{...F.ref},data:{requestedCount:he.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:K}}));}}function M(){let C=[];for(let y of m)V.value.has(y)||c.has(y)||s.value[y]===void 0&&C.push(y);return C}function x(){if(z)return;if(A){$=true;return}let C=M();if(C.length!==0){A=true;for(let y of C)c.add(y);ae(C).catch(y=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:C.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:y}}));}).finally(()=>{for(let y of C)c.delete(y);A=false,$&&($=false,x());});}}function Y(C){if(z)return;m=new Set(Jo(C));let y=Object.fromEntries(Object.entries(s.value).filter(([P])=>m.has(P)&&!V.value.has(P)));Object.keys(y).length!==Object.keys(s.value).length&&(s.value=y),x();}function N(C){if(z)return;let y=Jo(C).filter(j=>s.value[j]!==void 0);if(y.length===0)return;let P={...s.value};for(let j of y)delete P[j],c.delete(j),w.set(j,(w.get(j)??0)+1);s.value=P,x();}function Q(C){if(z)return;let P=(C===void 0?[...m]:Jo(C)).filter(F=>{let Z=s.value[F];return Z?.status==="failed"&&Z.retryable});if(P.length===0)return;let j={...s.value};for(let F of P)delete j[F],c.delete(F),w.set(F,(w.get(F)??0)+1);s.value=j,x();}function se(){R();}function E(){z||(z=true,g(),_(),R());}return Jr.set(e,Object.freeze({dispose:E})),{lookup:U,prefetch:Y,retry:Q,invalidate:N,reset:se}})}var qs=new WeakMap,Qr=new WeakMap;function Vu(e=Pe()){ve(e);let n=qs.get(e);n===void 0&&(n=qu(e),qs.set(e,n));let r=n(e),o=Jr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return Qr.get(e)!==r&&(Qr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Qr.get(e)===r&&(Qr.delete(e),Jr.get(e)===o&&Jr.delete(e));})),r}var Zr=new WeakMap;function Xr(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Ju(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Xu(e,n){return Ju(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 Yu(e){return defineStore("k2-im-reaction",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=ref([]),c=shallowRef(null),m=false,I=0,w=new Map;function z(){I+=1,w.clear(),s.value=[],c.value=null;}let A=watch(()=>Xr(o.activeRef),(M,x)=>{M!==x&&z();},{flush:"sync"});function $(M,x){let Y=o.activeRef,N=o.getHandle(),Q=Xr(Y);if(m||Y===null||N===void 0||Xr(N.ref)!==Q||!o.messages.some(E=>E.id===M))return Object.freeze({ok:false,operation:x,reason:"not-ready"});if(w.has(M))return Object.freeze({ok:false,operation:x,reason:"busy"});let se=Symbol(M);return w.set(M,se),s.value=Object.freeze([...w.keys()]),{generation:n.getGeneration(),contextEpoch:I,handle:N,conversationKey:Q,token:se}}function V(M){return !m&&M.contextEpoch===I&&M.generation===n.getGeneration()&&o.getHandle()===M.handle&&Xr(o.activeRef)===M.conversationKey}function R(M,x){w.get(M)===x&&(w.delete(M),s.value=Object.freeze([...w.keys()]));}async function g(M,x,Y){let N=$(M,x);if(!("handle"in N))return N;try{let Q=await Y(N.handle);return V(N)?(c.value=null,r.record("debug","pinia","message",`reaction-${x}-settled`,()=>({generation:N.generation,conversation:{...N.handle.ref},messageId:M,result:{ok:!0,action:Q.action}})),Object.freeze({ok:!0,operation:x,change:Q})):Object.freeze({ok:!1,operation:x,reason:"stale"})}catch(Q){if(!V(N))return Object.freeze({ok:false,operation:x,reason:"stale"});let se=Xu(Q,x);return c.value=se,r.record("error","pinia","message",`reaction-${x}-settled`,()=>({generation:N.generation,conversation:{...N.handle.ref},messageId:M,result:{ok:false,reason:"sdk-rejected",error:se}})),Object.freeze({ok:false,operation:x,reason:"sdk-rejected",error:se})}finally{R(M,N.token);}}function _(M,x){return g(M,"toggle",Y=>Y.messages.toggleReaction(M,x))}function U(M,x,Y){return g(M,"set",N=>N.messages.setReaction(M,x,Y))}function B(){z();}function ae(){m||(m=true,A(),z());}return Zr.set(e,Object.freeze({dispose:ae})),{operatingMessageIds:s,error:c,toggle:_,set:U,reset:B}})}var Vs=new WeakMap,Yr=new WeakMap;function Zu(e=Pe()){ve(e);let n=Vs.get(e);n===void 0&&(n=Yu(e),Vs.set(e,n));let r=n(e),o=Zr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return Yr.get(e)!==r&&(Yr.set(e,r),Oe(e,()=>{o.dispose(),r.$dispose(),Yr.get(e)===r&&(Yr.delete(e),Zr.get(e)===o&&Zr.delete(e));})),r}function eo(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function rd(e){let n=Pe(e),r=ve(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let Q=new Map;for(let se of o.value)se.msgId!==""&&se.collectId!==""&&Q.set(se.msgId,se.collectId);return Q}),I=false,w=0,z=0,A;function $(){w+=1,z+=1,o.value=[],s.value=false,c.value=null;}function V(Q){return {client:Q,generation:r.getGeneration(),stateEpoch:w}}function R(Q){return !I&&Q.client===r.getProductClient()&&Q.generation===r.getGeneration()&&Q.stateEpoch===w}function g(Q){return m.value.get(Q.trim())??""}function _(Q){return g(Q)!==""}async function U(){if(I)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let Q=++z,se;try{se=V(r.ensureProductClient()),N(se.client);}catch(E){let C=eo(E,"reload");return c.value=C,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:C})}s.value=true,c.value=null;try{let E=await se.client.sessionFavorites.list();return Q!==z||!R(se)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=E,Object.freeze({ok:!0,operation:"reload"}))}catch(E){if(Q!==z||!R(se))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let C=eo(E,"reload");return c.value=C,Object.freeze({ok:false,operation:"reload",reason:"failed",error:C})}finally{Q===z&&R(se)&&(s.value=false);}}async function B(Q){if(I)return Object.freeze({ok:false,operation:"add",reason:"stale"});let se;try{se=V(r.ensureProductClient());let E=await se.client.sessionFavorites.addFromMessage(Q);return R(se)?(o.value=Object.freeze([E,...o.value.filter(C=>C.collectId!==E.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:E.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch(E){return Object.freeze({ok:false,operation:"add",reason:"failed",error:eo(E,"add")})}}async function ae(Q){if(I)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let se=[...new Set(Q.map(E=>E.trim()).filter(E=>E!==""))];if(se.length===0)return Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})});try{let E=V(r.ensureProductClient());if(await E.client.sessionFavorites.delete(se),!R(E))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});let C=new Set(se);return o.value=Object.freeze(o.value.filter(y=>!C.has(y.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:se[0]??""})}catch(E){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:eo(E,"delete")})}}async function M(Q){let se=g(Q);return se===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):ae([se])}function x(){$();}function Y(Q){Q.type==="session-favorites:changed"&&U();}function N(Q){A===void 0&&(A=Q.events.subscribe(Y));}return Oe(n,()=>{I=true,A?.(),A=void 0,$();}),{items:o,loading:s,error:c,collectIdOf:g,isFavorited:_,reload:U,addFromMessage:B,removeByCollectIds:ae,removeByMessageId:M,reset:x}})(n)}function ad(e){return defineStore("k2-im-session",()=>{let n=ve(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getGeneration()),c=ref("idle"),m=ref(""),I=ref({}),w=false,z=0,A="",$=n.getDiagnostics(),V=n.subscribeEvents(N=>{w||N.type==="connection:changed"&&(o.value=N.state,N.state==="authenticated"&&(c.value="ready"));});function R(N,Q){return !w&&N===z&&n.getGeneration()===Q}function g(N){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(N);}function _(N){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let Q=N.session===null?"":`${N.session.userId}\0${N.session.token}`;Q!==A&&(z+=1,A=Q);let se=n.applySession(N.session,N.endpoints,N.deviceToken);return r.value=N.session?.userId??"",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=o.value==="authenticated"?"ready":"idle",m.value="",I.value={},$.record("info","pinia","session","session-applied",()=>({generation:s.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:se.hasToken,didReset:se.didReset}})),se}async function U(N,Q,se){if(w)return {ok:false,errorKey:"lifecycle.disposed"};let E=++z,C=n.getGeneration(),y=Date.now();c.value=N,m.value="",I.value={},$.record("info","pinia",Q==="prepare"?"session":"connection",`${Q}-start`,()=>({generation:C}));let P=await se();return R(E,C)?(s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value=P.ok?o.value==="authenticated"?"ready":"idle":"error",m.value=P.errorKey??"",I.value=P.errorParams??{},$.record(P.ok?"info":"error","pinia",Q==="prepare"?"session":"connection",`${Q}-${P.ok?"complete":"failed"}`,()=>({generation:s.value,durationMs:Date.now()-y,...P.ok?{}:{error:{message:P.errorKey??`${Q}-failed`,data:P.errorParams}}})),P):($.record("debug","pinia","session",`${Q}-stale-result-dropped`,()=>({generation:C,durationMs:Date.now()-y})),P)}function B(){return U("preparing","prepare",()=>n.prepare())}function ae(){return U("connecting","connect",()=>n.connect())}function M(){w||(z+=1,n.disconnect(),o.value=n.getConnectionState(),c.value="idle");}async function x(N){if(w)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");z+=1;try{await n.logout(N);}finally{r.value="",A="",s.value=n.getGeneration(),o.value=n.getConnectionState(),c.value="idle",m.value="",I.value={};}}function Y(){w||(w=true,z+=1,V(),r.value="",o.value="idle",s.value=n.getGeneration(),c.value="disposed",m.value="",I.value={});}return {accountId:r,connectionState:o,generation:s,phase:c,errorKey:m,errorParams:I,configureHost:g,applySession:_,prepare:B,connect:ae,disconnect:M,logout:x,dispose:Y,getRuntime:()=>n}})}var Bs=new WeakMap,no=new WeakMap;function id(e=Pe()){ve(e);let n=Bs.get(e);n===void 0&&(n=ad(e),Bs.set(e,n));let r=n(e);return no.get(e)!==r&&(no.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),no.get(e)===r&&no.delete(e);})),r}function ro(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Xs(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Jt(e,n){return `${Xs(e)}\0${n}`}function Et(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function Qs(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function ld(e){return defineStore("k2-im-thread-paging",()=>{let n=ve(e).runtime,r=n.getDiagnostics(),o=Ge(e),s=Mn(e),c=ref(false),m=ref(false),I=ref(null),w=ref(null),z=false,A="",$="",V=0,R=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:Et(o.messages,"older"),newerBoundary:Et(o.messages,"newer")}),g=(E,C)=>{let y=R();return !z&&C===V&&E.generation===y.generation&&ro(E.ref,y.ref)&&E.ref!==null},_=E=>{(E===void 0||E==="older")&&(A="",I.value=null),(E===void 0||E==="newer")&&($="",w.value=null);},U=()=>{V+=1,c.value=false,m.value=false,_();},B=async(E,C)=>{let y=R(),P=E==="older"?A:$,j=E==="older"?o.hasOlder:o.hasNewer;if(y.ref===null||!j||(E==="older"?c.value:m.value))return 0;let F=y.ref,Z=E==="older"?y.olderBoundary:y.newerBoundary,ce=Jt(F,Z);if(E==="older"?m.value:c.value)return 0;if(!C&&P!==""&&P===ce)return r.record("debug","pinia","history",`thread-paging-${E}-circuit-open`,()=>({conversation:F,data:{boundary:Z}})),0;C&&(_(E),r.record("debug","pinia","history",`thread-paging-${E}-retry`,()=>({conversation:F})));let be=new Set(o.messages.map(K=>K.id)),he=++V;E==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${E}-start`,()=>({conversation:F,generation:y.generation,data:{boundary:Z,force:C}}));try{let K=E==="older"?await o.loadOlder():await o.loadNewer();if(!g(y,he))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:y.generation,data:{side:E}})),0;if(!K)return 0;_(E);let J=o.messages.reduce((ge,le)=>ge+ +!be.has(le.id),0);return r.record("debug","pinia","history",`thread-paging-${E}-success`,()=>({conversation:F,generation:y.generation,data:{added:J}})),J}catch(K){if(!g(y,he))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:F,generation:y.generation,data:{side:E,outcome:"failed"}})),0;throw Et(o.messages,E)===Z&&(E==="older"?(A=ce,I.value=K):($=ce,w.value=K),r.record("warn","pinia","history",`thread-paging-${E}-failed`,()=>({conversation:F,generation:y.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${E} \u5206\u9875\u5931\u8D25`,data:Qs(K)}}))),K}finally{he===V&&(E==="older"?c.value=false:m.value=false);}},ae=(E={})=>B("older",E.force===true),M=(E={})=>B("newer",E.force===true),x=async E=>{if(E!==void 0&&!ro(o.activeRef,E))return false;s.clearLocation(),U();let C=R();if(C.ref===null)return false;let y=C.ref;if(r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:y})),!o.hasNewer)return true;let P;try{P=await o.loadLatest();}catch(j){if(ro(o.activeRef,y)&&n.getGeneration()===C.generation){let F=Et(o.messages,"newer");$=Jt(y,F),w.value=j,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:y,generation:C.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:Qs(j)}}));}throw j}return !ro(o.activeRef,y)||n.getGeneration()!==C.generation?(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:y})),false):(_("newer"),P)},Y=watch(()=>Xs(o.activeRef),()=>U(),{flush:"sync"}),N=watch(()=>`${Jt(o.activeRef,Et(o.messages,"older"))}\0${Et(o.messages,"newer")}`,()=>{let E=R(),C=Jt(E.ref,E.olderBoundary),y=Jt(E.ref,E.newerBoundary);A!==""&&A!==C&&_("older"),$!==""&&$!==y&&_("newer");},{flush:"sync"}),Q=o.$onAction(({name:E})=>{(E==="loadLatest"||E==="loadAround"||E==="open"||E==="close"||E==="reset")&&U();});return {loadingOlder:c,loadingNewer:m,olderError:I,newerError:w,loadOlder:ae,loadNewer:M,retryOlder:()=>ae({force:true}),retryNewer:()=>M({force:true}),jumpToLatest:x,reset:U,dispose:()=>{z||(z=true,Y(),N(),Q(),U());}}})}var Js=new WeakMap,oo=new WeakMap;function cd(e=Pe()){ve(e);let n=Js.get(e);n===void 0&&(n=ld(e),Js.set(e,n));let r=n(e);return oo.get(e)!==r&&(oo.set(e,r),Oe(e,()=>{r.dispose(),r.$dispose(),oo.get(e)===r&&oo.delete(e);})),r}function ud(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function dd(e=Pe()){let n=Ge(e),r=Mn(e);return Object.freeze({async returnToLatest(o){return ud(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{Cr as applicationKey,Wl as createAndInstallImChatKit,oi as createImChatKitContext,Jl as disposeImChatKit,Ql as ensureImChatKitSelfProfile,ve as getImChatKitContext,ai as installImChatKit,tc as useImApplicationsStore,hc as useImCapabilitiesStore,Wn as useImComposerStore,Cc as useImConversationActivationCoordinator,Dc as useImConversationDeletionCoordinator,Do as useImConversationListStore,$c as useImExpressionStore,Jc as useImHistoryReturnAfterSendCoordinator,ru as useImMediaStore,Lt as useImMessageOperationsStore,Fu as useImProfileDirectoryStore,Vu as useImQuotedMessageStore,Zu as useImReactionStore,Mn as useImSearchStore,rd as useImSessionFavoritesStore,id as useImSessionStore,cd as useImThreadPagingStore,dd as useImThreadReturnToLatestCoordinator,Ge as useImThreadStore};
|