k2-im 0.1.49 → 0.1.50

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.
@@ -0,0 +1,2 @@
1
+ import {B,ab,Ya,hb,gb,C,p,t,u as u$1,w,A,Ta,s,l,m,i,Xa,Wa,e,h,f,a,ga as ga$1,Ia as Ia$1,Aa,Ba,T,na as na$1,_a,db as db$1,eb as eb$1,b as b$1,bb as bb$1,cb as cb$1,v,$,aa as aa$1,V,U,_,X,Z as Z$1,W,Oa,ta as ta$1,Pa,ua as ua$1,Ga as Ga$1,Ha,Ca as Ca$1,Da,La,ba as ba$1,c,Na,ca as ca$1,da,Qa,Ma as Ma$2,g,Y,ea as ea$1,fa as fa$1,Ja,Ea,Fa as Fa$1,n,o as o$1,ha as ha$2,S,ya as ya$2,za as za$1,wa as wa$1,xa as xa$1,Ra,va as va$2,d as d$1,Sa as Sa$1,x,oa as oa$1,j as j$1,q,y as y$1,z as z$1,k as k$1,r,la as la$1,ka,ja,ia as ia$1,qa as qa$1,pa as pa$2,ma as ma$1,R,N,M as M$1,L as L$1,K as K$1,J as J$1,I,Q,P,sa as sa$1,ra as ra$1,O,H,G,F as F$1,E as E$1,D as D$1,Ka as Ka$1,fb as fb$1}from'./chunk-ZFYM6YHK.js';import {b,xb,u,Ga,zb,yb,Sa,J,vb,sb,tb,rb,ub,cb,db,eb,fb,wa,xa,ya as ya$1,za,Va,Wa as Wa$1,nb,ib,ob,hb as hb$1,gb as gb$1,pb,lb,qb,kb,jb,o,B as B$1,mb,Ta as Ta$1,Ma as Ma$1,Ya as Ya$1,Xa as Xa$1,ab as ab$1,$a,bb,Ab,wb,Hb,Fa,j,Ua,A as A$1,D,ha as ha$1,_a as _a$1,La as La$1,Ka,pa as pa$1,na as na$2,l as l$1,d,c as c$1,F,W as W$1,z,C as C$1,Ha as Ha$1,Oa as Oa$1,Na as Na$1,K,s as s$1,Gb,va as va$1,Pa as Pa$1,L,M,k,t as t$1,y,w as w$1,p as p$1,E,Za,i as i$1,qa,q as q$1,n as n$1}from'./chunk-JHGB6KYI.js';async function ap(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let d={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(d.fromPrefix===d.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(d);}catch(i){try{await e.migrator.rollback(d,i);}catch(c){throw new AggregateError([i,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var xe=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function yt(e,n,r){return n===39081?new xe({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new xe({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function It(e,n){return n instanceof xe?n:n instanceof c?new xe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new xe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function io(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function ip(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function Yt(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function sp(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(Yt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Yt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Yt(e.voice))},...e.filesAlbum===void 0?{}:{filesAlbum:Object.freeze({...e.filesAlbum.caption===void 0?{}:{caption:e.filesAlbum.caption},items:Object.freeze(e.filesAlbum.items.map(n=>Object.freeze(Yt(n))))})},...e.file===void 0?{}:{file:Object.freeze(Yt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...e.liveRoom===void 0?{}:{liveRoom:Object.freeze({...e.liveRoom})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(Yt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function so(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:sp(e.body),createdAt:e.createdAt,status:e.status,receipt:e.receipt,encryption:Object.freeze({...e.encryption}),...e.failure===void 0?{}:{failure:Object.freeze({...e.failure})},...e.serverTime===void 0?{}:{serverTime:e.serverTime},...e.mention===void 0?{}:{mention:Object.freeze({...e.mention,atUserIds:[...e.mention.atUserIds],...e.mention.ranges===void 0?{}:{ranges:e.mention.ranges.map(n=>({...n}))},...e.mention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.mention.atUsersName})}})},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:Object.freeze({...e.recalled})},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:Object.freeze({...e.deletedForEveryone})},...e.reactions===void 0?{}:{reactions:ip(e.reactions)}})}function Xt(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:na$2(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function Z(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function wr(e,n,r){return Z({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},paused:{code:"IM_SDK_MEDIA_PAUSED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function _t(e,n,r){return Z({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Qt(e,n){let r=new Uint8Array(await n.arrayBuffer()),d=typeof File<"u"&&n instanceof File?n.name:void 0,c=(await e.uploadAvatar({data:r,...d===void 0?{}:{filename:d},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(c==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return c}async function co(e,n){let r=await n(e.conversationId,[e.messageId]),d=r.messages.filter(o=>o.id===e.messageId),i=d[0],c=r.missingMessageIds.includes(e.messageId);if(d.length>1||i!==void 0&&(c||i.conversationType!==e.conversationType||i.conversationId!==e.conversationId))throw new xe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u8FD4\u56DE\u51B2\u7A81\u6216\u9519\u8BEF\u4F1A\u8BDD\u7684\u6D88\u606F"});if(i===void 0){if(c)return null;throw new xe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u672A\u8FD4\u56DE\u6D88\u606F\u6216\u660E\u786E\u7F3A\u5931\u7ED3\u679C"})}return i.recalled!==void 0||i.deletedForEveryone!==void 0?null:{...e,preview:{state:"ready",message:i}}}var cp="IM_SDK_GROUP_NOT_MEMBER",dp="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",lp="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",up="IM_SDK_GROUP_MANAGEMENT_FAILED";function $c(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function pp(e,n,r){if($c(e))return e;let d=e instanceof d$1?e.businessCode:void 0,i=e instanceof oa$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?cp:d===39029?dp:d===39033?lp:e instanceof d$1?up:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c$1=e instanceof oa$1?"contract":e instanceof c?"network":d===39029?"permission":"state",o=Z({code:i,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"group",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function Dt(e,n,r){try{return await r()}catch(d){throw pp(d,e,n)??d}}var Wc=39005,mp=39057,fp=39061;function Jc(e){let n=new Map,r=new Map,d=true,i=I=>({conversationType:"group",conversationId:I});function c(I){r.set(I,(r.get(I)??0)+1);}function o(I,T=true){let M=T?h("get",I):e.coreClient;if(M===void 0)return Promise.reject(new xe({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!d)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let F=r.get(I)??0,y=n.get(I);if(y?.version===F)return y.task;let _=()=>d&&(r.get(I)??0)===F&&e.domainState.getConversationContext(i(I))?.type==="group",s=()=>e.domainState.getPinnedMessage(i(I))??null,a=(async()=>{let S=await ea$1({client:M,groupId:I});if(!_())return s();if(!S.ok)throw yt("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(i(I),"reconcile"),null;let v=z(S.data.messageContent,{conversationId:I}),D=await co(v,e.fetchMessagesById);return _()?D===null?(e.domainState.clearPinnedMessage(i(I),"reconcile"),e.onSourceUnavailable?.(v),null):(e.domainState.setPinnedMessage(D,"reconcile"),s()):s()})();n.set(I,{version:F,task:a});let f=()=>{n.get(I)?.task===a&&n.delete(I);};return a.then(f,f),a}function u(I){if(!d)return;let T=r.get(I)??0;n.get(I)?.version!==T&&o(I,false).catch(M=>{!d||(r.get(I)??0)!==T||e.emitter.emit({type:"error",error:{scope:"http",message:"GROUP \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:M}});});}let m=Ua({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),g=e.emitter.subscribe(I=>{if(I.type==="session:removed"&&I.conversation.conversationType==="group"){c(I.conversation.conversationId);return}if(I.type!=="message:received"&&I.type!=="message:updated"||I.message.conversationType!=="group")return;let T=I.message.body.system?.pinnedMessageAction;(T?.type==="pin"||T?.type==="unpin")&&c(I.message.conversationId),m.handleMessage(I.message);});function b(I,T){if(T.trim()==="")throw new xe({operation:I,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let M=e.domainState.getConversationContext(i(T));if(M===void 0)throw new xe({operation:I,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(M.type!=="group")throw new xe({operation:I,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function h(I,T){if(e.coreClient===void 0)throw new xe({operation:I,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return b(I,T),e.coreClient}return {operations:{pinMessage:async({groupId:I,messageId:T})=>{let M=h("pin",I),F=e.domainState.getConversationMessage(i(I),T);if(F===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(F.conversationType!=="group")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(F.conversationId!==I)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:y,pinnedMessage:_}=A$1(F),s=await ta$1({client:M,groupId:I,messageContent:y});if(!s.ok)throw yt("pin",s.code,s.message);c(I),e.domainState.setPinnedMessage(_,"http:pin");let a=e.domainState.getPinnedMessage(i(I));if(a===void 0)throw new xe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(y){throw It("pin",y)}},unpinMessage:async I=>{let T=h("unpin",I);try{let M=await Oa({client:T,groupId:I});if(!M.ok)throw yt("unpin",M.code,M.message);c(I),e.domainState.clearPinnedMessage(i(I),"http:unpin");}catch(M){throw It("unpin",M)}},getPinnedMessage:async I=>{try{return await o(I)}catch(T){throw It("get",T)}},peekPinnedMessage:I=>(b("get",I),e.domainState.getPinnedMessage(i(I))??null)},dispose:()=>{d&&(d=false,g());}}}function Yc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,i=new Map;function c$1(a){if(a.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(a.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function o(a){let f=[],S=new Set;for(let v of a){if(v.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");S.has(v.userId)||(S.add(v.userId),f.push(Object.freeze({userId:v.userId,displayName:v.nickName.trim()===""?v.userId:v.nickName})));}return Object.freeze(f)}async function u(a,f){c$1(a);let S=e.profile?.listGroupMembers;if(S===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let v=a.conversationId,D=r.get(v);if(!f&&D!==void 0)return D;let U=i.get(v);if(U!==void 0&&(!f||U.refresh))return U.promise;let B=(d.get(v)??0)+1;d.set(v,B);let se=Promise.resolve().then(()=>S(v,f?{forceRefresh:true}:void 0)).then(pe=>{if(pe===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let R=o(pe);return d.get(v)===B&&r.set(v,R),R}).finally(()=>{i.get(v)?.promise===se&&i.delete(v);});return i.set(v,{refresh:f,promise:se}),se}function m(a,f,S,v){let U=Z({code:a,category:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":a==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...S===void 0?{}:{details:S},...v===void 0?{}:{cause:v}});return Object.assign(new Error(f),U)}function g(a,f,S,v){let D=Z({code:a,category:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":a==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...S===void 0?{}:{details:S},...v===void 0?{}:{cause:v}});return Object.assign(new Error(f),D)}function b(a){if(a===null||typeof a!="object"||a===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let f=a.group_id;if(typeof f!="string"&&typeof f!="number"||String(f).trim()==="")throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let S=typeof a.status=="number"?a.status:Number(a.status);if(!Number.isSafeInteger(S)||S!==1&&S!==2)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let v=String(f),D=a.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:v}),activation:S===1?"pending":"active",...D===void 0||D===""?{}:{avatarUrl:D},qrPayload:io(v,D)})}function h(a){if(a===void 0)return;let f=typeof a=="number"?a:Number(a);return Number.isSafeInteger(f)?f:void 0}function w(a){if(typeof a=="boolean")return a;if(a===1||a==="1"||a==="true")return true;if(a===0||a==="0"||a==="false")return false}function I(a){if(a===null||typeof a!="object"||a===void 0)throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let f=a.group_id;if(typeof f!="string"&&typeof f!="number"||String(f).trim()==="")throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let S=String(f),v=a,D=v.name?.trim()??"";if(D==="")throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let U=h(v.total_users),B=h(v.status),se=h(v.verify_way),pe=h(v.update_version),R=w(v.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:S}),name:D,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...U===void 0?{}:{memberCount:U},...B===void 0?{}:{status:B},...R===void 0?{}:{isInGroup:R},...se===void 0?{}:{verifyWay:se},...pe===void 0?{}:{updateVersion:pe},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}function T(a){let f=a.name.trim();if(f==="")throw m("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(f.length>40)throw m("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let S=a.memberIds;if(!Array.isArray(S))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let v=S.map(U=>typeof U=="string"?U.trim():"");if(v.includes(""))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let D=[...new Set(v)];if(D.length>40)throw m("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:f,memberIds:D}}function M(a,f){let S=a.trim();if(S==="")throw new Error(`${f}\u4E0D\u80FD\u4E3A\u7A7A`);return S}function F(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function y(a){if(!Array.isArray(a))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let f=a.map(S=>M(S,"\u7FA4\u6210\u5458 id"));return [...new Set(f)]}function _(a,f,S){if(a!==1&&a!==2&&a!==4){let D=Z({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:S}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),D)}if(a!==4)return {verifyWay:a};let v=f?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(v)){let D=Z({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:S}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),D)}return {verifyWay:a,inviteCode:v}}function s(a){r.delete(a),d.set(a,(d.get(a)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});}return {...n,mentions:{listAll:a=>u(a,false),refreshAll:a=>u(a,true)},getProfile:(a,f)=>e.profile?.getGroupProfile(a,f)??Promise.resolve(null),listMembers:(a,f)=>e.profile?.listGroupMembers?.(a,f)??Promise.resolve(null),getMemberNames:(a,f)=>e.profile?.getGroupMemberNames?.(a,f)??Promise.resolve(null),peekMembers:a=>e.profile?.peekGroupMembers?.(a)??Promise.resolve(null),peekMemberNames:a=>e.profile?.peekGroupMemberNames?.(a)??Promise.resolve(null),peekProfile:a=>e.profile?.peekGroupProfile?.(a)??Promise.resolve(null),updateName:async(a,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let S=f.trim();if(a===""||S==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Qa({client:e.coreClient,groupId:a,name:S}),e.domainState.updateConversationProfile(a,{title:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateAvatar:async(a,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let S=await Qt(e.avatarTransfer,f);return await Qa({client:e.coreClient,groupId:a,avatarUrl:S}),e.domainState.updateConversationProfile(a,{avatar:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a}),S},uploadAvatar:async a=>{if(e.avatarTransfer===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Qt(e.avatarTransfer,a)},create:async a=>{if(e.coreClient===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let f=T(a);try{let S=await da({client:e.coreClient,name:f.name,memberIds:f.memberIds,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl}});if(!S.ok){let D=S.code===Wc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":S.code===mp?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":S.code===fp?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw m(D,S.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:S.code,message:S.message}))}let v=I(S.data);return e.domainState.prepareConversation({id:v.ref.conversationId,type:"group",title:v.name,...v.avatar===void 0?{}:{avatar:v.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:v})}catch(S){throw S!==void 0&&typeof S=="object"&&S!==null&&"code"in S&&String(S.code).startsWith("IM_SDK_")?S:S instanceof c?m("IM_SDK_GROUP_CREATE_NETWORK_FAILED",S.message,void 0,S):m("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,S)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let a=await ca$1({client:e.coreClient});if(!a.ok){let f=a.code===Wc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(f,a.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:a.code}))}return Object.freeze({group:b(a.data)})}catch(a){throw $c(a)?a:a instanceof c?g("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",a.message,void 0,a):g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,a)}},setMyNickname:async(a,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Na({client:e.coreClient,groupId:a,nickname:f}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateVerification:async(a,f,S)=>{let v=F(),D=M(a,"\u7FA4 id"),U=_(f,S,D);await Dt("groups.updateVerification",D,()=>ma$1({client:v,groupId:D,verifyWay:U.verifyWay,...U.inviteCode===void 0?{}:{inviteCode:U.inviteCode}})),s(D);},requestJoin:async(a,f)=>{let S=F(),v=M(a,"\u7FA4 id"),D=f?.remarks?.trim();return Dt("groups.requestJoin",v,()=>pa$2({client:S,groupId:v,...D===void 0?{}:{remarks:D}}))},joinByInviteCode:async(a,f)=>{let S=F(),v=M(a,"\u7FA4 id"),D=f.trim();if(!/^\d{6}$/.test(D))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Dt("groups.joinByInviteCode",v,()=>qa$1({client:S,groupId:v,inviteCode:D}))},inviteMembers:async(a,f)=>{let S=F(),v=M(a,"\u7FA4 id"),D=y(f);if(D.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Dt("groups.inviteMembers",v,()=>ia$1({client:S,groupId:v,userIds:D})),s(v);},removeMember:async(a,f)=>{let S=F(),v=M(a,"\u7FA4 id"),D=M(f,"\u5F85\u79FB\u9664\u6210\u5458 id");await Dt("groups.removeMember",v,()=>ja({client:S,groupId:v,userId:D})),s(v);},transferOwnership:async(a,f)=>{let S=F(),v=M(a,"\u7FA4 id"),D=M(f,"\u65B0\u7FA4\u4E3B id");await Dt("groups.transferOwnership",v,()=>ka({client:S,groupId:v,userId:D})),s(v);},leave:async(a,f)=>{let S=F();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let v=M(a,"\u7FA4 id"),D=f?.newOwnerId===void 0?void 0:M(f.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Dt("groups.leave",v,()=>la$1({client:S,groupId:v,...D===void 0?{}:{newOwnerId:D}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:v},"group_left"),s(v);},...e.pinned}}var gp="image/jpeg,image/png,image/webp";async function lo(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),r;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?r="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((i,c)=>n[c]===i)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let d=e.type.trim().toLowerCase();return r!==void 0&&(d===""||d==="application/octet-stream"||d===r)}function Qc(e){let n={...e.body.text===void 0?{}:{text:e.body.text},...e.body.system===void 0?{}:{system:e.body.system},...e.body.image===void 0?{}:{image:{url:e.body.image.url,width:e.body.image.width,height:e.body.image.height,...e.body.image.md5===void 0?{}:{md5:e.body.image.md5},...e.body.image.imageType===void 0?{}:{imageType:e.body.image.imageType},...e.body.image.size===void 0?{}:{size:e.body.image.size}}},...e.body.video===void 0?{}:{video:{url:e.body.video.url,width:e.body.video.width,height:e.body.video.height,...e.body.video.duration===void 0?{}:{duration:e.body.video.duration},...e.body.video.md5===void 0?{}:{md5:e.body.video.md5},...e.body.video.size===void 0?{}:{size:e.body.video.size},...e.body.video.describe===void 0?{}:{describe:e.body.video.describe}}},...e.body.voice===void 0?{}:{voice:{url:e.body.voice.url,durationMs:e.body.voice.durationMs,...e.body.voice.md5===void 0?{}:{md5:e.body.voice.md5},...e.body.voice.size===void 0?{}:{size:e.body.voice.size},...e.body.voice.waveform===void 0?{}:{waveform:[...e.body.voice.waveform]}}},...e.body.file===void 0?{}:{file:{url:e.body.file.url,fileName:e.body.file.fileName,...e.body.file.size===void 0?{}:{size:e.body.file.size},...e.body.file.extension===void 0?{}:{extension:e.body.file.extension},...e.body.file.fileType===void 0?{}:{fileType:e.body.file.fileType},...e.body.file.mimeType===void 0?{}:{mimeType:e.body.file.mimeType},...e.body.file.md5===void 0?{}:{md5:e.body.file.md5}}},...e.body.sticker===void 0?{}:{sticker:{url:e.body.sticker.url,width:e.body.sticker.width,height:e.body.sticker.height,exprType:e.body.sticker.exprType,imageType:e.body.sticker.imageType,...e.body.sticker.size===void 0?{}:{size:e.body.sticker.size},...e.body.sticker.describe===void 0?{}:{describe:e.body.sticker.describe},...e.body.sticker.contentId===void 0?{}:{contentId:e.body.sticker.contentId},...e.body.sticker.packageName===void 0?{}:{packageName:e.body.sticker.packageName}}},...e.body.contact===void 0?{}:{contact:e.body.contact},...e.body.unknown===void 0?{}:{unknown:e.body.unknown}};return {id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:n,createdAt:e.createdAt,status:e.status,...e.failure===void 0?{}:{failure:e.failure},...e.serverTime===void 0?{}:{serverTime:e.serverTime},receipt:e.receipt,encryption:e.encryption,...e.mention===void 0?{}:{mention:e.mention},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:e.recalled},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:e.deletedForEveryone}}}var Zc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function ed(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Yo(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,i=ed();return xb({enabled:r,level:d?.level??"trace",categories:d?.categories??Zc,...r?{sink:d?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var nd=[{code:"666",tokens:["[666]"],file:"666.webp"},{code:"AlmostCrying",tokens:["[AlmostCrying]","[\u8981\u54ED\u4E86]"],file:"AlmostCrying.webp"},{code:"Amazed",tokens:["[Amazed]","[\u60CA\u8BB6]"],file:"Amazed.webp"},{code:"Anger",tokens:["[Anger]","[\u6124\u6012]"],file:"Anger.webp"},{code:"Arrogance",tokens:["[Arrogance]","[\u50B2\u6162]"],file:"Arrogance.webp"},{code:"BearCried",tokens:["[BearCried]","[\u718A\u54ED\u4E86]"],file:"BearCried.webp"},{code:"Bearish",tokens:["[Bearish]","[\u770B\u8DCC]"],file:"Bearish.webp"},{code:"Bitter",tokens:["[Bitter]","[\u82E6\u6DA9]"],file:"Bitter.webp"},{code:"Blink",tokens:["[Blink]","[\u7728\u773C]"],file:"Blink.webp"},{code:"Block",tokens:["[Block]","[\u65B9\u5757]"],file:"Block.webp"},{code:"blush",tokens:["[blush]","[\u8138\u7EA2]"],file:"blush.webp"},{code:"Bomb",tokens:["[Bomb]","[\u70B8\u5F39]"],file:"Bomb.webp"},{code:"Bullish",tokens:["[Bullish]","[\u770B\u6DA8]"],file:"Bullish.webp"},{code:"BullMarket",tokens:["[BullMarket]","[\u725B\u5E02]"],file:"BullMarket.webp"},{code:"Cake",tokens:["[Cake]","[\u751F\u65E5\u86CB\u7CD5]"],file:"Cake.webp"},{code:"Candy",tokens:["[Candy]","[\u7CD6\u679C]"],file:"Candy.webp"},{code:"Celebration",tokens:["[Celebration]","[\u5E86\u795D]"],file:"Celebration.webp"},{code:"Cheers",tokens:["[Cheers]","[\u5E72\u676F]"],file:"Cheers.webp"},{code:"Coffee",tokens:["[Coffee]","[\u5496\u5561]"],file:"Coffee.webp"},{code:"Cold",tokens:["[Cold]","[\u611F\u5192]"],file:"Cold.webp"},{code:"Contemplation",tokens:["[Contemplation]","[\u9119\u89C6]"],file:"Contemplation.webp"},{code:"Cool",tokens:["[Cool]","[\u9177]"],file:"Cool.webp"},{code:"Coveryourface",tokens:["[Coveryourface]","[\u6342\u8138]"],file:"Coveryourface.webp"},{code:"Cracking",tokens:["[Cracking]","[\u88C2\u5F00]"],file:"Cracking.webp"},{code:"Crying",tokens:["[Crying]","[\u5927\u54ED]"],file:"Crying.webp"},{code:"Decline",tokens:["[Decline]","[\u8870]"],file:"Decline.webp"},{code:"Disappointed",tokens:["[Disappointed]","[\u5931\u671B]"],file:"Disappointed.webp"},{code:"Doghead",tokens:["[Doghead]","[\u72D7\u5934]"],file:"Doghead.webp"},{code:"Dull",tokens:["[Dull]","[\u5446\u6EDE]"],file:"Dull.webp"},{code:"EatingMelons",tokens:["[EatingMelons]","[\u5403\u74DC]"],file:"EatingMelons.webp"},{code:"Embrace",tokens:["[Embrace]","[\u62E5\u62B1]"],file:"Embrace.webp"},{code:"Faint",tokens:["[Faint]","[\u6655]"],file:"Faint.webp"},{code:"Farce",tokens:["[Farce]","[\u95F9\u5267]"],file:"Farce.webp"},{code:"Favorite",tokens:["[Favorite]","[\u559C\u7231]"],file:"Favorite.webp"},{code:"Fear",tokens:["[Fear]","[\u6050\u60E7]"],file:"Fear.webp"},{code:"Firecrackers",tokens:["[Firecrackers]","[\u7206\u7AF9]"],file:"Firecrackers.webp"},{code:"Fireworks",tokens:["[Fireworks]","[\u70DF\u82B1]"],file:"Fireworks.webp"},{code:"FlyingKiss",tokens:["[FlyingKiss]","[\u98DE\u543B]"],file:"FlyingKiss.webp"},{code:"Fortune",tokens:["[Fortune]","[\u798F]"],file:"Fortune.webp"},{code:"Frowns",tokens:["[Frowns]","[\u76B1\u7709]"],file:"Frowns.webp"},{code:"Gift",tokens:["[Gift]","[\u793C\u7269]"],file:"Gift.webp"},{code:"Giggle",tokens:["[Giggle]","[\u50BB\u7B11]"],file:"Giggle.webp"},{code:"Goodbye",tokens:["[Goodbye]","[\u62DC\u62DC]"],file:"Goodbye.webp"},{code:"Great",tokens:["[Great]","[\u8D5E]"],file:"Great.webp"},{code:"Grieve",tokens:["[Grieve]","[\u4F24\u5FC3]"],file:"Grieve.webp"},{code:"Handshake",tokens:["[Handshake]","[\u63E1\u624B]"],file:"Handshake.webp"},{code:"Harvesting",tokens:["[Harvesting]","[\u6536\u5272]"],file:"Harvesting.webp"},{code:"Heartbreak",tokens:["[Heartbreak]","[\u5FC3\u788E]"],file:"Heartbreak.webp"},{code:"Heidi",tokens:["[Heidi]","[\u6D77\u8482]"],file:"Heidi.webp"},{code:"Heyha",tokens:["[Heyha]","[\u563F\u54C8]"],file:"Heyha.webp"},{code:"Hugging",tokens:["[Hugging]","[\u62B1\u62F3]"],file:"Hugging.webp"},{code:"Idle",tokens:["[Idle]","[\u957F\u8349]"],file:"Idle.webp"},{code:"Injustice",tokens:["[Injustice]","[\u59D4\u5C48]"],file:"Injustice.webp"},{code:"Knife",tokens:["[Knife]","[\u83DC\u5200]"],file:"Knife.webp"},{code:"Laughingawkwardly",tokens:["[Laughingawkwardly]","[\u5C2C\u7B11]"],file:"Laughingawkwardly.webp"},{code:"LaughingCrying",tokens:["[LaughingCrying]","[\u7B11\u54ED]"],file:"LaughingCrying.webp"},{code:"Laughing",tokens:["[Laughing]","[\u5927\u7B11]"],file:"Laughing.webp"},{code:"Lips",tokens:["[Lips]","[\u5634\u5507]"],file:"Lips.webp"},{code:"Lockbox",tokens:["[Lockbox]","[\u9501\u7BB1]"],file:"Lockbox.webp"},{code:"Lostinthought",tokens:["[Lostinthought]","[\u53D1\u5446]"],file:"Lostinthought.webp"},{code:"Love",tokens:["[Love]","[\u7231\u5FC3]"],file:"Love.webp"},{code:"Mahjong",tokens:["[Mahjong]","[\u9EBB\u5C06]"],file:"Mahjong.webp"},{code:"Mischievous",tokens:["[Mischievous]","[\u8C03\u76AE]"],file:"Mischievous.webp"},{code:"Money",tokens:["[Money]","[\u91D1\u94B1]"],file:"Money.webp"},{code:"Moon",tokens:["[Moon]","[\u6708\u4EAE]"],file:"Moon.webp"},{code:"MovingBricks",tokens:["[MovingBricks]","[\u642C\u7816]"],file:"MovingBricks.webp"},{code:"Nosepicking",tokens:["[Nosepicking]","[\u62A0\u9F3B]"],file:"Nosepicking.webp"},{code:"OK",tokens:["[OK]"],file:"OK.webp"},{code:"Palmtogether",tokens:["[Palmtogether]","[\u5408\u638C]"],file:"Palmtogether.webp"},{code:"Parachute",tokens:["[Parachute]","[\u964D\u843D\u4F1E]"],file:"Parachute.webp"},{code:"Pig",tokens:["[Pig]","[\u732A]"],file:"Pig.webp"},{code:"Pleasure",tokens:["[Pleasure]","[\u6109\u60A6]"],file:"Pleasure.webp"},{code:"Poop",tokens:["[Poop]","[\u4FBF\u4FBF]"],file:"Poop.webp"},{code:"Poor",tokens:["[Poor]","[\u53EF\u601C]"],file:"Poor.webp"},{code:"Questionmark",tokens:["[Questionmark]","[\u95EE\u53F7]"],file:"Questionmark.webp"},{code:"Quickwitted",tokens:["[Quickwitted]","[\u673A\u667A]"],file:"Quickwitted.webp"},{code:"Received",tokens:["[Received]","[\u6536\u5230]"],file:"Received.webp"},{code:"Redenvelope",tokens:["[Redenvelope]","[\u7EA2\u5305]"],file:"Redenvelope.webp"},{code:"Regret",tokens:["[Regret]","[\u61CA\u607C]"],file:"Regret.webp"},{code:"Rose",tokens:["[Rose]","[\u73AB\u7470]"],file:"Rose.webp"},{code:"Sad",tokens:["[Sad]","[\u96BE\u8FC7]"],file:"Sad.webp"},{code:"Shy",tokens:["[Shy]","[\u5BB3\u7F9E]"],file:"Shy.webp"},{code:"Sighs",tokens:["[Sighs]","[\u53F9\u6C14]"],file:"Sighs.webp"},{code:"Skeleton",tokens:["[Skeleton]","[\u9AB7\u9AC5]"],file:"Skeleton.webp"},{code:"Sleepiness",tokens:["[Sleepiness]","[\u56F0]"],file:"Sleepiness.webp"},{code:"Sleep",tokens:["[Sleep]","[\u7761\u89C9]"],file:"Sleep.webp"},{code:"smirk",tokens:["[smirk]","[\u5978\u7B11]"],file:"smirk.webp"},{code:"Sneak",tokens:["[Sneak]","[\u5077\u7B11]"],file:"Sneak.webp"},{code:"Society",tokens:["[Society]","[\u793E\u4F1A]"],file:"Society.webp"},{code:"Speechless",tokens:["[Speechless]","[\u65E0\u8BED]"],file:"Speechless.webp"},{code:"Step",tokens:["[Step]","[\u8E29]"],file:"Step.webp"},{code:"Strike",tokens:["[Strike]","[\u6253\u51FB]"],file:"Strike.webp"},{code:"Struggle",tokens:["[Struggle]","[\u594B\u6597]"],file:"Struggle.webp"},{code:"Sun",tokens:["[Sun]","[\u592A\u9633]"],file:"Sun.webp"},{code:"Surprised",tokens:["[Surprised]","[\u5403\u60CA]"],file:"Surprised.webp"},{code:"Swearing",tokens:["[Swearing]","[\u5492\u9A82]"],file:"Swearing.webp"},{code:"Sweating",tokens:["[Sweating]","[\u5192\u6C57]"],file:"Sweating.webp"},{code:"Sweat",tokens:["[Sweat]","[\u6C57]"],file:"Sweat.webp"},{code:"Teasing",tokens:["[Teasing]","[\u620F\u5F04]"],file:"Teasing.webp"},{code:"Trapped",tokens:["[Trapped]","[\u56F0\u4F4F]"],file:"Trapped.webp"},{code:"Unscrupulous",tokens:["[Unscrupulous]","[\u9634\u9669]"],file:"Unscrupulous.webp"},{code:"Vomit",tokens:["[Vomit]","[\u5455\u5410]"],file:"Vomit.webp"},{code:"WhiteEyes",tokens:["[WhiteEyes]","[\u767D\u773C]"],file:"WhiteEyes.webp"},{code:"Withering",tokens:["[Withering]","[\u51CB\u96F6]"],file:"Withering.webp"},{code:"Worried",tokens:["[Worried]","[\u62C5\u5FC3]"],file:"Worried.webp"},{code:"Wow",tokens:["[Wow]","[\u54C7]"],file:"Wow.webp"},{code:"Yeah2",tokens:["[Yeah2]"],file:"Yeah2.webp"},{code:"Yeah",tokens:["[Yeah]","[\u8036]"],file:"Yeah.webp"},{code:"ALLIN",tokens:["[ALLIN]"],file:"ALLIN.webp"},{code:"Dollarsfly",tokens:["[Dollarsfly]","[\u7F8E\u5143]"],file:"Dollarsfly.webp"}];var Xo=Object.freeze(nd.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),td=new Map(Xo.flatMap(e=>e.tokens.map(n=>[n,e])));function rd(e){return td.get(e)}function od(e){return td.has(e)}function lt(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function ad(e,n){return n instanceof Ra?lt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Sa$1?lt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?lt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):lt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function Zt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function Qo(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let i=e[d]??0,c=e[d+1]??0,o=e[d+2]??0,u=i<<16|c<<8|o;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=d+1<e.length?n.charAt(u>>>6&63):"=",r+=d+2<e.length?n.charAt(u&63):"=";}return r}function uo(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":case "mediaAlbum":return e.contentType;case "liveRoom":return u(e.body.liveRoom)?"liveRoom":null;case "filesAlbum":{let n=e.body.filesAlbum;return n!==void 0&&n.items.length>0&&n.items.every(r=>Zt(r.url)!==""&&r.fileName.trim()!=="")?"filesAlbum":null}default:return null}}function Zo(e){let n=uo(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=Zt(e.body.image?.url),d=Qo(e.body.image?.thumbData);return r===""||d===""?null:{content:r,imageURL:r,thumbData:d,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=Zt(e.body.video?.url),d=Qo(e.body.video?.thumbData);return r===""||d===""?null:{content:r,videoURL:r,thumbData:d,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let r=Zt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=Zt(e.body.file?.url),d=(e.body.file?.fileName??"").trim();return r===""||d===""?null:{content:d,fileURL:r,fileName:d,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let r=e.body.mediaAlbum;if(r===void 0||r.items.length===0)return null;let d=r.items.map(i=>({mediaType:i.kind==="video"?2:1,url:Zt(i.url),width:i.width,height:i.height,...i.durationMs!==void 0&&i.durationMs>0?{duration:i.durationMs}:{},...i.thumbUrl!==void 0&&i.thumbUrl!==""?{thumbUrl:i.thumbUrl}:{},...i.thumbData!==void 0&&i.thumbData.length>0?{thumbData:Qo(i.thumbData)}:{},...i.md5!==void 0&&i.md5!==""?{md5:i.md5}:{},...i.size!==void 0&&i.size>0?{fileSize:i.size}:{},...i.hd!==void 0?{hd:i.hd}:{}}));return d.some(i=>i.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}if(n==="liveRoom"){let r=e.body.liveRoom;return u(r)?{liveRoomId:r.liveRoomId,liveType:r.liveType,liveRoomStatus:r.liveRoomStatus,isFocus:r.isFocus,isReservation:r.isReservation,...r.liveRecordId===void 0?{}:{liveRecordId:r.liveRecordId},...r.screenRatio===void 0?{}:{screenRatio:r.screenRatio},...r.broadcasterUserId===void 0?{}:{broadcasterUserId:r.broadcasterUserId},...r.broadcasterUserName===void 0?{}:{broadcasterUserName:r.broadcasterUserName},...r.uid===void 0?{}:{uid:r.uid},...r.liveCover===void 0?{}:{liveCover:r.liveCover},...r.liveRoomName===void 0?{}:{liveRoomName:r.liveRoomName},...r.livePreviewTime===void 0?{}:{livePreviewTime:r.livePreviewTime},...r.livePreviewId===void 0?{}:{livePreviewId:r.livePreviewId},...r.liveRoomViewers===void 0?{}:{liveRoomViewers:r.liveRoomViewers},...r.liveRoomLikes===void 0?{}:{liveRoomLikes:r.liveRoomLikes}}:null}return null}function Ip(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function id(e){return Object.freeze({...e,body:e.kind==="filesAlbum"?Gb(e.body):Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function ud(e){function n(c){if(!e.isActive())throw lt({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:c,retryable:false})}async function r(c,o){if(n(c),e.provider===void 0)throw ad(c,new Ra);let u;try{u=await o(e.provider);}catch(m){throw n(c),ad(c,m)}return n(c),u}async function d(c,o,u){n(u);let m;try{m=await e.resolveMessage?.(c,o);}catch(g){throw n(u),lt({code:"IM_SDK_SESSION_FAVORITE_SOURCE_READ_FAILED",category:"state",operation:u,retryable:true,cause:g})}if(n(u),m?.contentType!=="filesAlbum"||m.body.filesAlbum===void 0||m.id!==o||m.conversationId!==c.conversationId||m.conversationType!==c.conversationType||m.status!=="sent"||m.recalled!==void 0||m.deletedForEveryone!==void 0||m.encryption.decryptFailed===true)return null;try{return s$1(m.body.filesAlbum)}catch(g){throw lt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:u,retryable:false,cause:g})}}return {api:{list:async()=>{let c=await r("sessionFavorites.list",o=>o.list());return Object.freeze(c.map(id))},addFromMessage:async c=>{let o="sessionFavorites.addFromMessage",u=uo(c.message),m=Zo(c.message);u==="filesAlbum"&&(m=await d(c.conversation,c.message.id,o));let g=c.selfId.trim(),b=c.message.id.trim();if(u===null||m===null||g===""||b==="")throw lt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:o,retryable:false});let h={messageId:b,conversation:c.conversation,senderId:c.message.senderId.trim(),createdAt:c.message.createdAt,kind:u,plainBody:m,peerId:Ip(c.message,g,c.conversation.conversationId)},w=await r(o,I=>I.add(h));return id(w)},delete:async c=>{let o="sessionFavorites.delete",u=[...new Set(c.map(m=>m.trim()).filter(m=>m!==""))];if(u.length===0)throw lt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:o,retryable:false});await r(o,m=>m.delete(u));}}}}var pd="settings:read-receipts:v1",md="settings:appearance:v1",mo=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function ot(e){return Z({...e,retryable:e.retryable??false})}function ta(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function ra(){return {fontScale:1}}function ea(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function vp(e){if(typeof e!="object"||e===null)return ta();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,i]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof i=="boolean"&&(r[d]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function hp(e){if(typeof e!="object"||e===null)return ra();let n=e.fontScale;return {fontScale:fd(n)?n:1}}function fd(e){return typeof e=="number"&&mo.includes(e)}function na(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw ot({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function po(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw ot({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function gd(e){let n=false,r=false,d=false,i,c,o=ta(),u=Promise.resolve(),m=false,g,b=ra(),h=Promise.resolve();function w(f){return ot({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:f})}function I(f){if(n)throw w(f)}async function T(f,S){if(I(S),r)return;let v;try{v=po(e.storage,S);}catch(D){if(!f)return;throw D}try{let D=await v.getMeta(pd);I(S),o=vp(D),r=!0,d=!1;}catch(D){throw n?w(S):(d=true,ot({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:D}))}}function M(f){return I(f),r?Promise.resolve():(i===void 0&&(i=T(true,f).finally(()=>{i=void 0;})),i)}async function F(f){if(I(f),!m)try{let S=await po(e.storage,f).getMeta(md);I(f),b=hp(S),m=!0;}catch(S){throw n?w(f):typeof S=="object"&&S!==null&&"code"in S?S:ot({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:S})}}function y(f){return I(f),m?Promise.resolve():(g===void 0&&(g=F(f).finally(()=>{g=void 0;})),g)}async function _(f,S,v){I(f);let D=u.then(async()=>{I(f),await M(f),I(f);let U=ea(o),B=S(ea(o));try{await po(e.storage,f).setMeta(pd,ea(B));}catch(se){throw n?w(f):typeof se=="object"&&se!==null&&"code"in se?se:ot({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:se})}I(f),o=B,v?.(U,B);});return u=D.catch(()=>{}),D}let s={async getGlobal(){let f="settings.readReceipts.getGlobal";return I(f),await M(f),I(f),o.globalEnabled},setGlobal(f){return typeof f!="boolean"?Promise.reject(ot({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):_("settings.readReceipts.setGlobal",S=>({...S,globalEnabled:f}),(S,v)=>{S.globalEnabled&&!v.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(f){let S="settings.readReceipts.getConversation";I(S);let v=na(f,S);await M(S),I(S);let D=o.peerOverrides[v.conversationId]??true;return Object.freeze({enabled:D,effectiveEnabled:o.globalEnabled&&D})},setConversation(f,S){let v="settings.readReceipts.setConversation",D;try{D=na(f,v);}catch(U){return Promise.reject(U)}return typeof S!="boolean"?Promise.reject(ot({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:v,conversation:D})):_(v,U=>(U.peerOverrides[D.conversationId]=S,U),(U,B)=>{let se=D.conversationId,pe=U.globalEnabled&&(U.peerOverrides[se]??true),R=B.globalEnabled&&(B.peerOverrides[se]??true);pe&&!R&&e.onDirectReadReceiptDisabled?.(se);})},resetConversation(f){let S="settings.readReceipts.resetConversation",v;try{v=na(f,S);}catch(D){return Promise.reject(D)}return _(S,D=>(delete D.peerOverrides[v.conversationId],D))}},a={fontScale:Object.freeze({async get(){let f="settings.appearance.fontScale.get";return await y(f),I(f),b.fontScale},set(f){let S="settings.appearance.fontScale.set";if(!fd(f))return Promise.reject(ot({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:S,details:{supportedValues:[...mo]}}));let v=h.then(async()=>{I(S),await y(S),I(S);let D={fontScale:f};try{await po(e.storage,S).setMeta(md,D);}catch(U){throw n?w(S):typeof U=="object"&&U!==null&&"code"in U?U:ot({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:U})}I(S),b=D;});return h=v.catch(()=>{}),v}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(a),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){I("settings.readReceipts.hydrate"),!r&&(i===void 0&&(i=T(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(f){return !n&&!d&&o.globalEnabled&&(o.peerOverrides[f]??true)},dispose(){if(c!==void 0)return c;n=true,o=ta(),b=ra();let f=i,S=u,v=g,D=h;return c=Promise.allSettled([...f===void 0?[]:[f],S,...v===void 0?[]:[v],D]).then(()=>{}),c}}}var ln=Object.freeze({availability:"available",reason:"ok"});function An(e){return Object.freeze({availability:"unavailable",reason:e})}function Ze(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Rr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Er(e){return `${e.conversationType}:${e.conversationId}`}function Cp(){return Object.freeze({sendMessages:false})}function bp(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function Mp(e){switch(e){case "left":return "left";case "removed":return "removed";case "dismissed":return "dismissed";case "unknown_restricted":case "unknown":return "unknown-restricted";case "active":return "ok"}}function Sp(e,n){return e==="active"?"ok":e==="muted"?n==="all-members"?"muted-all":n==="current-user"?"muted-self":"muted":e==="guest"?"guest":e==="left"?"left":e==="removed"?"removed":e==="dismissed"?"dismissed":e==="blacklisted"?"blacklisted":"unknown-restricted"}function Pp(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let d=Number(r[1]),i=Number(r[2]),c=Number(r[3]),o=Number(r[4]);if(d>23||c>23||i>59||o>59)return;let u=new Date(n);u.setHours(d,i,0,0);let m=new Date(n);if(m.setHours(c,o,59,999),u.getTime()<=n&&n<=m.getTime())return m.getTime()+1;if(n<u.getTime())return u.getTime();let g=u;return g.setDate(g.getDate()+1),g.getTime()}function kt(e,n,r){let d=n.get(Er(e));if(d!==void 0)for(let i of [...d])i(r);}function yd(e){let n=new Map,r=new Map,d=new Map,i=new Map,c=new Map,o=new Map,u,m,g=new Set,b=e.getSessionUserId(),h=0;function w(B){B.conversationType==="direct"?n.delete(B.conversationId):B.conversationType==="group"?r.delete(B.conversationId):B.conversationType==="channel"&&d.delete(B.conversationId);}function I(){n.clear(),r.clear(),d.clear(),o.clear(),g=new Set;}function T(){let B=e.getSessionUserId();return B!==b&&(b=B,I()),B}function M(B){T();let se=++h;return o.set(Er(B),se),se}function F(B,se){return T(),o.get(Er(B))===se}function y(B,se={}){T();let pe=se.nowMs??Date.now(),R=e.getConversation(B);if(B.conversationType==="direct"){let Ee=Rr({conversationType:"direct",conversationId:B.conversationId}),_e=n.get(B.conversationId),Se=_e?.relationship??"unknown",qe=bp(Se),je=qe==="ok"?ln:qe==="relationship-unknown"?Ze(qe):An(qe),ae=Se==="friend"?ln:Se==="unknown"?Ze(qe):An(qe);return Object.freeze({ref:Ee,conversationType:"direct",evaluatedAt:pe,value:Object.freeze({relationship:Se,..._e===void 0?{}:{relationshipCheckedAt:_e.checkedAt},canSendMessages:je,canOpenProfile:ln,canUseMessageActions:je,canManageRelationship:ae})})}if(B.conversationType==="robot"){let Ee=Rr({conversationType:"robot",conversationId:B.conversationId});return Object.freeze({ref:Ee,conversationType:"robot",evaluatedAt:pe,value:Object.freeze({canSendMessages:ln,canOpenProfile:ln,canUseMessageActions:ln,canReadHistory:ln})})}if(B.conversationType==="group"){let Ee=Rr({conversationType:"group",conversationId:B.conversationId}),_e=r.get(B.conversationId),Se=R?.ref.conversationType==="group"?R.groupState??"active":"unknown",qe=Mp(Se),je=qe==="ok",ae=e.getSessionUserId(),We=_e?.ownerId,On=ae!==void 0&&We!==void 0&&ae===We,en=je?ln:An(qe),bn=je?_e===void 0?Ze("not-ready"):On?ln:An("role-insufficient"):An(qe);return Object.freeze({ref:Ee,conversationType:"group",evaluatedAt:pe,value:Object.freeze({membership:Se,...We===void 0?{}:{ownerId:We},isOwner:On,canSendMessages:en,canOpenProfile:en,canReadHistory:ln,canUseMessageActions:en,canViewMembers:en,canEditProfile:bn,canInviteMembers:en,canManageMembers:bn,canPinMessages:bn,canUnpinMessages:bn,canTransferOwnership:bn,canLeave:en,canUpdateVerification:bn})})}let Q=Rr({conversationType:"channel",conversationId:B.conversationId}),fe=d.get(B.conversationId),k=R?.ref.conversationType==="channel"&&R.channelState!==void 0?R.channelState:fe?.state;if(k===void 0)return Object.freeze({ref:Q,conversationType:"channel",evaluatedAt:pe,value:Object.freeze({state:"unknown",role:fe?.role??"unknown",permissions:Cp(),canSendMessages:Ze("unknown-restricted"),canOpenProfile:Ze("unknown-restricted"),canReadHistory:ln,canUseMessageActions:Ze("unknown-restricted"),canMutateMessages:Ze("unknown-restricted"),canPinMessages:Ze("unknown-restricted"),canUnpinMessages:Ze("unknown-restricted"),canDeleteMessagesForEveryone:Ze("unknown-restricted"),canMentionAll:Ze("unknown-restricted"),canViewMembers:Ze("unknown-restricted"),canEditProfile:Ze("unknown-restricted"),canManageMembers:Ze("unknown-restricted"),canManageMute:Ze("unknown-restricted"),canDismiss:Ze("unknown-restricted"),canTransferOwnership:Ze("unknown-restricted"),canLeave:Ze("unknown-restricted"),canInviteMembers:Ze("unknown-restricted"),canSetMemberAdmin:Ze("unknown-restricted"),canRemoveMembers:Ze("unknown-restricted"),canSetMemberPrivateChat:Ze("unknown-restricted")})});let L=La$1({channelState:k,nowMs:pe,...R?.ref.conversationType==="channel"&&R.channelAccessSnapshot!==void 0?{snapshot:R.channelAccessSnapshot}:{},...R?.ref.conversationType==="channel"&&R.channelPermissions!==void 0?{permissions:R.channelPermissions}:fe?.permissions===void 0?{}:{permissions:fe.permissions}}),X=Sp(L.channelState,L.muteReason),Pe=L.channelState==="active"||L.channelState==="muted",ge=L.channelState==="active"?L.permissions.sendMessages?ln:An("unknown-restricted"):An(X),x=Ee=>Pe&&Ee?ln:An(Pe?"role-insufficient":X),$=Ee=>L.channelState==="active"&&Ee?ln:An(L.channelState==="muted"?X:Pe?"role-insufficient":X),H=fe?.memberPrivateChatDisabled===false||L.permissions.manageMembers===true,de=Pe?fe===void 0&&L.permissions.manageMembers!==true?Ze("not-ready"):x(H):An(X),ue=L.channelState==="muted"?An(X):Pe?ln:An(X),be=Pp(R,pe);return Object.freeze({ref:Q,conversationType:"channel",evaluatedAt:pe,...be===void 0?{}:{nextEvaluationAt:be},value:Object.freeze({state:L.channelState,role:fe?.role??R?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...L.permissions}),...L.muteReason===void 0?{}:{muteReason:L.muteReason},canSendMessages:ge,canOpenProfile:Pe?ln:An(X),canReadHistory:ln,canUseMessageActions:Pe?ln:An(X),canMutateMessages:ue,canPinMessages:$(L.permissions.moderateMessages===true),canUnpinMessages:$(L.permissions.moderateMessages===true),canDeleteMessagesForEveryone:$(L.permissions.moderateMessages===true),canMentionAll:x(L.permissions.mentionAll===true),canViewMembers:de,canEditProfile:x(L.permissions.editProfile===true),canManageMembers:x(L.permissions.manageMembers===true),canManageMute:x(L.permissions.manageMute===true),canDismiss:x(L.permissions.dismissChannel===true),canTransferOwnership:x(L.permissions.transferOwnership===true),canLeave:Pe?ln:An(X),canInviteMembers:x(L.permissions.manageMembers===true),canSetMemberAdmin:x(L.permissions.manageAdmins===true),canRemoveMembers:x(L.permissions.manageMembers===true),canSetMemberPrivateChat:x(L.permissions.manageMute===true)})})}async function _(B,se={}){let pe=M(B);if(B.conversationType==="direct"){let R=await e.getRelationship(B.conversationId);F(B,pe)&&s(B.conversationId,R,pe);}else if(B.conversationType==="group"){let R={conversationType:"group",conversationId:B.conversationId},Q=await e.getGroupProfile(R,{forceRefresh:true});F(B,pe)&&a(R,Q,pe);}else if(B.conversationType==="channel"){let R={conversationType:"channel",conversationId:B.conversationId},Q=await e.getChannelProfile(R,{forceRefresh:true});F(B,pe)&&f(R,Q,pe);}return y(B,se)}function s(B,se,pe){let R={conversationType:"direct",conversationId:B};F(R,pe)&&(n.set(B,{relationship:se,checkedAt:Date.now()}),kt(R,i,y(R)));}function a(B,se,pe){F(B,pe)&&(r.set(B.conversationId,se),kt(B,i,y(B)));}function f(B,se,pe){F(B,pe)&&(d.set(B.conversationId,se),kt(B,i,y(B)));}function S(B,se,pe={}){T();let R=Er(B),Q=i.get(R)??new Set;return Q.add(se),i.set(R,Q),c.set(R,Rr(B)),se(y(B,pe)),m===void 0&&(m=e.subscribeContext?.(fe=>{T(),kt(fe,i,y(fe));})),u===void 0&&(u=e.subscribeConversations(fe=>{T();let k=Date.now(),L=new Set(fe.map(X=>Er(X.ref)));for(let X of fe){let Pe=y(X.ref,{nowMs:k});kt(X.ref,i,Pe);}for(let[X,Pe]of c){if(!g.has(X)||L.has(X))continue;w(Pe);let ge=y(Pe,{nowMs:k});kt(Pe,i,ge);}g=L;})),()=>{Q.delete(se),Q.size===0&&i.delete(R),i.has(R)||c.delete(R),i.size===0&&(m?.(),m=void 0,u?.(),u=void 0,g=new Set);}}function v(){I();let B=Date.now();for(let se of c.values())kt(se,i,y(se,{nowMs:B}));}function D(){m?.(),m=void 0,u?.(),u=void 0,i.clear(),c.clear(),I();}let U=Object.freeze({get:y,refresh:_,subscribe:S});return Object.freeze({...U,api:U,beginProjectionUpdate:M,updateRelationshipProjection:s,updateGroupProfileProjection:a,updateChannelProfileProjection:f,reset:v,dispose:D})}var wp=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Jn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw Z({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof d!="string"||d.trim()==="")throw Z({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function Rp(e){return e===null?null:Object.freeze({ref:Jn(e.ref,"conversations.list"),text:e.text,mentions:Object.freeze(e.mentions.map(n=>Object.freeze({...n}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function Ep(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="filesAlbum")return Object.freeze({kind:"filesAlbum",count:e.count,...e.caption===void 0?{}:{caption:e.caption}});if(e.kind==="mediaAlbum")return Object.freeze({kind:"mediaAlbum",imageCount:e.imageCount,videoCount:e.videoCount,...e.caption===void 0?{}:{caption:e.caption},...e.firstItemKind===void 0?{}:{firstItemKind:e.firstItemKind}});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}return Object.freeze({kind:e.kind})}}function fo(e){let n=Ep(e.lastMessageSummary),r=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),d=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),i=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:Jn({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...r===void 0?{}:{lastMessageMention:r},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},...e.lastMessageReceipt===void 0?{}:{lastMessageReceipt:e.lastMessageReceipt},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:Rp(e.draft)})}function Ap(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ot(e,n,r,d){return Ap(e)?e:Z({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...d===void 0?{}:{conversation:d},cause:e})}function Id(e){let n=new Set,r,d,i;function c(){return Object.freeze(e.getCompatibilityApi().list().map(fo))}function o(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=c();return Object.freeze({state:d??o(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(h){let w=Ot(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(w)})}}function m(){let h=u();for(let w of [...n])w(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(w=>{wp.has(w.type)&&m();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(Jn(h,"conversations.getBackground")),setBackground:(h,w)=>e.getCompatibilityApi().setBackground(Jn(h,"conversations.setBackground"),w),resetBackground:h=>e.getCompatibilityApi().resetBackground(Jn(h,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:h=>e.getCompatibilityApi().setDefaultBackground(h),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:h=>e.getCompatibilityApi().listBackgroundPresets(h),getSnapshot:u,subscribe:g,prefetchRecent:(h,w)=>e.getCompatibilityApi().prefetchRecent(h.map(I=>Jn(I,"conversations.prefetchRecent")),w),async refresh(){d="loading",i=void 0,m();try{await e.getCompatibilityApi().sync(),d=void 0,m();}catch(h){throw d="error",i=Ot(h,"conversations.refresh",true),m(),i}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,w){let I=Jn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(I,w);}catch(T){throw Ot(T,"conversations.setPinned",false,I)}},async setMuted(h,w){let I=Jn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(I,w);}catch(T){throw Ot(T,"conversations.setMuted",true,I)}},async markRead(h){let w=Jn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(w);}catch(I){throw Ot(I,"conversations.markRead",true,w)}},markUnread(h){let w=Jn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(w);}catch(I){throw Ot(I,"conversations.markUnread",false,w)}},deleteLocal(h){let w=Jn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(w);}catch(I){throw Ot(I,"conversations.deleteLocal",false,w)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Tp=128,_p=8,Dp=64*1024*1024,kp=3,Op=8,xp=1440*60*1e3,Tr=10080*60*1e3,Np=512*1024*1024,go=1024*1024;function Lp(e){let n=0,r=false,d=[];function i(){if(!r)for(;n<e&&d.length>0;){d.sort((u,m)=>m.getPriority()-u.getPriority());let c=d.shift();if(c.signal.removeEventListener("abort",c.onAbort),c.signal.aborted){c.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let o=false;c.resolve(()=>{o||(o=true,n=Math.max(0,n-1),i());});}}return {acquire(c,o){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,m)=>{let g={resolve:u,reject:m,signal:c,getPriority:o,onAbort:()=>{let b=d.indexOf(g);b>=0&&d.splice(b,1),m(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",g.onAbort,{once:true}),d.push(g),i();})},dispose(){r=true;for(let c of d.splice(0))c.signal.removeEventListener("abort",c.onAbort),c.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function hd(){return Ga([{kind:"image",softMaxBytes:512*go,maxEntries:512,maxEntryBytes:30*go,maxIdleMs:Tr},{kind:"video",softMaxBytes:1792*go,maxEntries:64,maxEntryBytes:200*go,maxIdleMs:Tr}])}function oa(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Fp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function _r(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ar(e,n,r,d){let i=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?i:`${i}:${d}`}function aa(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Ne({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let d=_r({conversationType:n,conversationId:r});return Cd({id:Ar(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:oa(e.percent),...e.items===void 0?{}:{items:e.items},...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:Up(e.failure,d)}})}function Ne(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function vd(e){return e.recalled===void 0&&e.deletedForEveryone===void 0&&(e.status==="failed"||e.status==="uploading")&&!(e.failure?.displayCode==="media.cancelled"&&e.failure.retryable!==true)&&!(e.failure?.displayCode==="media.uploadTimeout"&&e.failure.retryable===false)}function Up(e,n){if(e===void 0)return;let r=e.displayCode,i=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.uploadTimeout":{code:"IM_SDK_MEDIA_UPLOAD_TIMEOUT",category:"network",retryable:true},"media.resumeUnavailable":{code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",retryable:true},"media.cleanupUnconfirmed":{code:"IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED",category:"state",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[r];return Object.freeze(Z({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function Cd(e){return Object.freeze({...e,ref:_r(e.ref),...e.items===void 0?{}:{items:Object.freeze(e.items.map(n=>Object.freeze({...n})))},...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function yo(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw Ne({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Ne({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return _r({conversationType:r,conversationId:d})}function bd(e){let n=true,r=e.now??Date.now,d=0,i=0,c=new Map,o=new Set,u=new Map,m=new Map,g=new Map,b=new Map,h=new Map,w=new Set,I=false,T=new Map,M=new Set,F=e.maxDownloadCheckpointBytes??Np;function y(E){return Ne({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:E})}function _(E,j){T.delete(E),M.add(E);let z=c.get(E);if(z!==void 0){let q={...z,recoveryReason:j,...z.state==="failed"||z.state==="canceled"?{error:y(z.ref)}:{}};z.state==="running"?Pe(q):ge(q);}}function s(E,j,z){T.delete(E),T.set(E,{url:j,state:z}),M.delete(E);let q=[...T.values()].reduce((Ie,De)=>Ie+De.state.bytesDownloaded,0);for(;T.size>Op||q>F;){let Ie=T.entries().next().value;if(Ie===void 0)break;q-=Ie[1].state.bytesDownloaded,_(Ie[0],"download-checkpoint-limit");}}let a=Lp(kp),f,S=e.maxCachedBlobs??_p,v=e.maxCachedBlobBytes??Dp,D=0;function U(){if(!n||!e.isActive())throw Ne({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function B(){return Object.freeze([...c.values()])}function se(){let E=B();for(let j of [...o])try{j(E);}catch(z){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:z}});}}function pe(){I||!n||!e.isActive()||(I=true,queueMicrotask(()=>{if(I=false,!(!n||!e.isActive()))for(let E of [...w])try{E();}catch(j){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}));}function R(E){let j=g.get(E);j!==void 0&&(D-=j.size,g.delete(E),b.delete(E),h.delete(E),pe());}function Q(){if(!n||!e.isActive())return;let E=r();for(let[j,z]of T)!m.has(j)&&z.idleSince!==void 0&&E-z.idleSince>=xp&&_(j,"download-checkpoint-expired");for(let[j,z]of b)!m.has(j)&&E-z>=Tr&&R(j);pe();}function fe(E,j){let z=g.get(E);if(z!==void 0){if(h.get(E)!==j||r()-b.get(E)>=Tr){R(E);return}return g.delete(E),g.set(E,z),b.set(E,r()),z}}function k(){d+=1,g.clear(),b.clear(),h.clear(),pe(),D=0;for(let E of [...T.keys()])_(E,"download-checkpoint-cleared");}function L(E){c.delete(E),u.delete(E),T.delete(E),M.delete(E),R(E);}function X(){for(;c.size>Tp;){let E=[...c.values()].find(j=>j.state==="completed"||j.state==="failed"||j.state==="canceled");if(E===void 0)return;L(E.id);}}function Pe(E){c.set(E.id,Cd(E)),X();}function ge(E){if(!n||!e.isActive())return;Pe(E);let j=c.get(E.id);if(se(),!n||!e.isActive()||j===void 0||c.get(E.id)!==j)return;let z={id:j.id,messageId:j.messageId,ref:j.ref,direction:"download",state:j.state,percent:j.percent};e.emitter.emit({type:"media-task:updated",conversation:j.ref,task:z});}function x(E,j,z){if(R(E),!(j.size>v))for(g.set(E,j),h.set(E,z),pe(),b.set(E,r()),D+=j.size;g.size>S||D>v;){let q=g.keys().next().value;if(q===void 0)break;R(q);}}function $(E,j=true){let z=yo(E),q=e.domainState.getConversationMessage(z,E.messageId);if(q===void 0)throw Ne({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:z});let Ie,De,ke,Le;if(q.contentType==="image")Ie=q.body.image,De=e.loaders?.loadImage,Le="image";else if(q.contentType==="video")Ie=q.body.video,De=e.loaders?.loadVideo,Le="video";else if(q.contentType==="voice")Ie=q.body.voice,De=e.loaders?.loadVoice;else if(q.contentType==="file")Ie=q.body.file,De=e.loaders?.loadFile,ke=q.body.file?.mimeType;else if(q.contentType==="filesAlbum"){let Ae=E.itemIndex;if(Ie=Ae===void 0?void 0:q.body.filesAlbum?.items[Ae],Ie===void 0)throw Ne({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:z});De=e.loaders?.loadFile;}else if(q.contentType==="mediaAlbum"){let Ae=q.body.mediaAlbum?.items,Te=E.itemIndex,Ue=Te===void 0||Ae===void 0?void 0:Ae[Te];if(Ue===void 0)throw Ne({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:z});Ie=Ue,De=Ue.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,Le=Ue.kind;}if(q.contentType!=="mediaAlbum"&&q.contentType!=="filesAlbum"&&E.itemIndex!==void 0)throw Ne({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:z});if(Ie===void 0)throw Ne({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:z});if(j&&De===void 0)throw Ne({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:z});if(Ie.url.trim()===""||Ie.url.startsWith("blob:"))throw Ne({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:z});return {ref:z,messageId:q.id,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},...ke===void 0?{}:{mimeType:ke},...Le===void 0?{}:{cacheKind:Le,resourceVersion:Ha$1(Ie.url)},...De===void 0?{}:{load:De},input:{url:Ie.url,...Ie.size===void 0?{}:{expectedBytes:Ie.size},...Ie.teaKey===void 0?{}:{teaKey:Ie.teaKey},...Ie.fileEncryptType===void 0?{}:{fileEncryptType:Ie.fileEncryptType}}}}function H(E){return Ne({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function de(){return Ne({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ue(E,j,z=d){if(U(),z!==d)return null;let q=Ar("download",E.ref,E.messageId,E.itemIndex),Ie=fe(q,E.resourceVersion);if(Ie!==void 0)return Ie;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let De;try{De=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:De===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...De===null?{}:{byteLength:De.blob.size}});}catch(Te){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:Te}),j)throw Ne({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(De===null||(U(),z!==d))return null;let ke=De.blob,Le=De.mimeType??E.mimeType??"",Ae=ke.type===Le?ke:ke.slice(0,ke.size,Le);return x(q,Ae,E.resourceVersion),Ae}function be(E,j){Q();let z=T.get(E);if(z!==void 0&&z.url!==j.input.url&&_(E,"download-object-changed"),M.has(E)){let q=y(j.ref),Ie=c.get(E);throw Ie!==void 0&&(Ie.state==="failed"||Ie.state==="canceled")&&ge({...Ie,error:q}),q}return z?.state}function Ee(E,j=false){let z=d,q=Ar("download",E.ref,E.messageId,E.itemIndex),Ie=m.get(q);if(Ie!==void 0&&!Ie.controller.signal.aborted)return Ie.promise;if(!j){let Ue=fe(q,E.resourceVersion);if(Ue!==void 0)return ge({id:q,ref:_r(E.ref),messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Ue)}R(q);let De=(()=>{let Ue=be(q,E);return Ue===void 0?{percent:0}:{percent:Math.min(99,Math.round(Ue.bytesDownloaded/Ue.bytesTotal*100)),bytesTransferred:Ue.bytesDownloaded,bytesTotal:Ue.bytesTotal}})(),ke=_r(E.ref);u.set(q,Object.freeze({conversation:ke,messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}}));let Le={id:q,messageId:E.messageId,ref:ke,direction:"download",...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}},Ae=new AbortController,Te=Promise.resolve().then(async()=>{let Ue;try{if(!n||!e.isActive())throw de();if(Ae.signal.aborted)throw H(ke);if(Ue=await a.acquire(Ae.signal,()=>f===q?1:0),!n||!e.isActive())throw de();if(Ae.signal.aborted)throw H(ke);if(ge({...Le,...De,state:"running"}),!n||!e.isActive())throw de();if(Ae.signal.aborted)throw H(ke);if(!j&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Ye=await ue(E,!1,z);if(Ye!==null){if(Ae.signal.aborted)throw H(ke);return T.delete(q),M.delete(q),ge({...c.get(q),...Le,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Ye}}let nn=E.load;if(nn===void 0)throw Ne({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:ke});let Un=be(q,E);if(De.bytesTransferred!==void 0&&(Un===void 0||z!==d))throw _(q,"download-checkpoint-cleared"),y(ke);let _n=await nn({...E.input,getPriority:()=>f===q?1:0,...Un===void 0?{}:{resume:Un},onResumable:Ye=>{!n||!e.isActive()||z!==d||m.get(q)?.controller!==Ae||s(q,E.input.url,Ye);},onResumeInvalidated:()=>{!n||!e.isActive()||z!==d||m.get(q)?.controller!==Ae||_(q,"download-checkpoint-invalid");},signal:Ae.signal,onTransferProgress:Ye=>{let Mn=c.get(q);!n||!e.isActive()||Ae.signal.aborted||m.get(q)?.controller!==Ae||Mn?.state!=="running"||ge({...Mn,state:"running",percent:Math.min(99,oa(Ye.percent)),bytesTransferred:Ye.bytesTransferred,bytesTotal:Ye.bytesTotal,phase:Ye.bytesTotal>0&&Ye.bytesTransferred>=Ye.bytesTotal?"finalizing":"transferring"});},onProgress:Ye=>{let Mn=c.get(q);if(!n||!e.isActive()||Ae.signal.aborted||m.get(q)?.controller!==Ae||Mn?.state!=="running")return;let sn=Math.min(99,oa(Ye));sn<=Mn.percent||ge({...Mn,state:"running",percent:sn});}});if(!n||!e.isActive())throw de();if(Ae.signal.aborted)throw H(ke);let Xn=_n instanceof Blob?void 0:_n,xn=Xn===void 0?_n:new Blob([Xn],E.mimeType===void 0?void 0:{type:E.mimeType});if(E.mimeType!==void 0&&xn.type!==E.mimeType&&(xn=xn.slice(0,xn.size,E.mimeType)),z===d&&x(q,xn,E.resourceVersion),z===d&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Ye=xn.size;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,blob:xn,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(Mn=>{pe(),e.onAssetCacheEvent?.({operation:"put",outcome:Mn,kind:E.cacheKind,messageId:E.messageId,byteLength:Ye});}).catch(Mn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:Ye,cause:Mn});});}if(T.delete(q),M.delete(q),ge({...c.get(q),...Le,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw de();return xn}catch(nn){if(!n||!e.isActive())throw de();if(Ae.signal.aborted||typeof nn=="object"&&nn!==null&&"code"in nn&&nn.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let _n=H(ke);throw m.get(q)?.controller===Ae&&c.get(q)?.state!=="canceled"&&ge({...c.get(q),...Le,state:"canceled",percent:c.get(q)?.percent??0,error:M.has(q)?y(ke):_n}),_n}let Un=M.has(q)?y(ke):nn instanceof Error&&nn.name==="ImMediaTaskOperationError"?nn:Ne({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:ke});throw m.get(q)?.controller===Ae&&ge({...c.get(q),...Le,state:"failed",percent:c.get(q)?.percent??0,error:Un}),Un}finally{if(Ue?.(),m.get(q)?.controller===Ae){m.delete(q);let nn=T.get(q);nn!==void 0&&(nn.idleSince=r());}}});return m.set(q,{controller:Ae,promise:Te}),ge({...Le,...De,state:"queued"}),Te}function _e(E){U();let j=yo(E);f=Ar("download",j,E.messageId,E.itemIndex);}function Se(E){try{return U(),Ee($(E))}catch(j){return Promise.reject(j)}}async function qe(E){U();let j=d,z=E.map(Te=>$(Te,false)),q=new Map,Ie=r(),De=z.map(Te=>{let Ue=Ar("download",Te.ref,Te.messageId,Te.itemIndex);return g.has(Ue)&&h.get(Ue)===Te.resourceVersion&&Ie-(b.get(Ue)??0)<Tr});z.forEach((Te,Ue)=>{if(De[Ue]||Te.cacheKind===void 0||Te.resourceVersion===void 0)return;let nn={kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion};q.set(JSON.stringify(nn),nn);});let ke=[...q.values()],Le=ke.map(()=>false);if(ke.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw Ne({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(Le=await e.assetCache.hasMany(ke),Le.length!==ke.length||Le.some(Te=>typeof Te!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(Te){throw U(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:ke[0].kind,messageId:ke[0].messageId,cause:Te}),Ne({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(U(),j!==d)throw Ne({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Ae=new Map(ke.map((Te,Ue)=>[JSON.stringify(Te),Le[Ue]]));return Object.freeze(z.map((Te,Ue)=>De[Ue]||Ae.get(JSON.stringify({kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion}))===true))}async function je(E){let j=$(E,false);return j.cacheKind===void 0?null:await ue(j,true)}async function ae(E){if(U(),e.preparePreview===void 0)throw Ne({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let j;try{j=await e.preparePreview({operationId:`media.prepareLocalPreview:${++i}`,kind:E.kind,file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(q){if(E.signal?.aborted===true||q instanceof Error&&q.name==="AbortError")throw q;return e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:q}),null}return U(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0?(e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${j.width}\xD7${j.height}`)}),null):E.kind==="video"?{width:j.width,height:j.height,...j.duration===void 0?{}:{duration:j.duration},...j.posterData===void 0?{}:{posterData:j.posterData}}:{width:j.width,height:j.height}}async function We(E){if(U(),E.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Ne({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let j;try{j=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++i}`,kind:"video",file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(z){if(E.signal?.throwIfAborted(),z instanceof Error&&z.name==="AbortError")throw z;return U(),e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:z}),null}return E.signal?.throwIfAborted(),U(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0||!j.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([j.posterData],{type:"image/jpeg"})}function On(E,j){U();let z=c.get(E);if(z===void 0)throw Ne({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:j,retryable:false});return z}function en(E,j){return Ne({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:j,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let bn=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||Fp(E.conversation,E.task.ref)&&(Pe(aa(E.task)),se());});return {api:{async clearCache(){U(),e.connection.invalidateMediaAssetCacheWrites?.(),k();try{await e.assetCache?.clear();}catch(E){throw U(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:E}}),Ne({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}U(),pe();},getSnapshot(){return U(),B()},subscribe(E){return U(),o.add(E),()=>o.delete(E)},async cancel(E,j){let z=On(E,"media.cancel");if(z.state!=="queued"&&z.state!=="running"&&!(z.direction==="upload"&&z.state==="paused"))throw en(z,"media.cancel");if(z.direction==="upload"){if(!(j===void 0?e.connection.cancelMediaUpload(z.messageId):e.connection.cancelMediaUpload(z.messageId,j)))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:z.ref});return}let q=m.get(E);if(q===void 0)throw en(z,"media.cancel");q.controller.abort();let Ie=M.has(E)?y(z.ref):H(z.ref);ge({...z,state:"canceled",error:Ie});},async pause(E){let j=On(E,"media.pause");if(j.direction!=="upload"||j.state!=="queued"&&j.state!=="running")throw en(j,"media.pause");if(!await e.connection.pauseMediaUpload?.(j.messageId))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:j.ref});U();},async resume(E){let j=On(E,"media.resume");if(j.direction!=="upload"||j.state!=="paused")throw en(j,"media.resume");if(!e.connection.resumeMediaUpload?.(j.messageId))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:j.ref})},async retry(E,j){let z=On(E,"media.retry");if(z.state!=="failed"&&z.state!=="canceled")throw en(z,"media.retry");if(z.direction==="upload"){if(j?.restartDownload!==void 0)throw en(z,"media.retry");if((z.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||z.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&j?.restartUpload!==true)throw Ne({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:z.ref});if(!(j===void 0?e.connection.retryMediaUpload(z.messageId):e.connection.retryMediaUpload(z.messageId,j)))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:z.ref});return}if(j?.restartUpload!==void 0)throw en(z,"media.retry");if(m.has(E)&&!m.get(E).controller.signal.aborted)throw Ne({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:z.ref});let q=u.get(E);if(q===void 0)throw Ne({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});j?.restartDownload===true&&(T.delete(E),M.delete(E)),await Ee($(q),true);},async getUploadRecovery(E){U();let j=yo(E);if(E.itemIndex!==void 0)return {available:false,reason:"unsupported"};let z=E.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let q=e.domainState.getConversationMessage(j,z);if(q===void 0)return {available:false,reason:"not-found"};if(!vd(q))return {available:false,reason:"invalid-state"};try{let Ie=await e.recoveryPort.get(j,z);U();let De=e.domainState.getConversationMessage(j,z);return De===void 0?{available:!1,reason:"not-found"}:vd(De)?Ie===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:Ie.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(Ie){return U(),{available:false,reason:typeof Ie=="object"&&Ie!==null&&"reason"in Ie?String(Ie.reason):"storage"}}},async resumeUpload(E,j){U();let z=yo(E);if(E.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw Ne({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:z});try{let q=await e.connection.recoverMediaUpload(z,E.messageId,j.file);if(U(),!q.ok&&q.reason==="paused")throw Ne({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:z});if(!q.ok&&q.reason==="cancelled")throw Ne({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:z});if(!q.ok)throw Ne({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:z})}catch(q){if(U(),typeof q=="object"&&q!==null&&"code"in q&&typeof q.code=="string"&&q.code.startsWith("IM_SDK_"))throw q;let Ie=q instanceof Error&&q.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw Ne({code:Ie,category:"state",operation:"media.resumeUpload",retryable:false,conversation:z})}},download:Se,prioritizeDownload:_e,probeCached:qe,subscribeCacheChanges(E){return U(),w.add(E),()=>w.delete(E)},getCached:je,prepareLocalPreview:ae,prepareLocalVideoPoster:We},clearCache:k,prune:Q,dispose(){if(n){n=false,d+=1,bn();for(let E of m.values())E.controller.abort();a.dispose(),f=void 0,m.clear(),o.clear(),w.clear(),h.clear(),c.clear(),u.clear(),g.clear(),b.clear(),T.clear(),M.clear(),D=0;}}}}var Kp={timeout:{code:"IM_SDK_OUTBOX_TIMEOUT",category:"network"},rejected:{code:"IM_SDK_OUTBOX_REJECTED",category:"state"},encrypt_failed:{code:"IM_SDK_OUTBOX_ENCRYPT_FAILED",category:"state"},network:{code:"IM_SDK_OUTBOX_NETWORK_FAILED",category:"network"},unsupported:{code:"IM_SDK_OUTBOX_UNSUPPORTED",category:"unsupported"},unknown:{code:"IM_SDK_OUTBOX_FAILED",category:"state"}},Bp={"not-found":"IM_SDK_OUTBOX_NOT_FOUND","in-flight":"IM_SDK_OUTBOX_IN_FLIGHT","not-retryable":"IM_SDK_OUTBOX_NOT_RETRYABLE","invalid-state":"IM_SDK_OUTBOX_INVALID_STATE","delivery-uncertain":"IM_SDK_OUTBOX_DELIVERY_UNCERTAIN"};function Md(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gp(e,n){let r=Kp[e.reason];return Object.freeze(Z({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function ia(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Gp(e.failure,n)}})}function Hp(e){let n=Md(e);return ia({messageId:e.id,conversation:n,state:e.status==="pending"?"queued":e.status,...e.lastError===void 0?{}:{failure:{reason:e.lastError.reason,retryable:e.lastError.retryable}}})}function jp(e,n,r){let d=Z({code:Bp[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(d.code),d,{name:"ImOutboxOperationError"})}function Sd(e){let n=true,r=new Set;function d(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function i(){return d(),Object.freeze(e.operations.getPending().map(Hp))}async function c(u,m){d();let g=e.operations.getPending().find(h=>h.id===m),b=u==="outbox.retry"?e.operations.retry(m):e.operations.cancel(m);if(!b.accepted)throw jp(u,b.reason,g===void 0?void 0:Md(g))}return {api:{getSnapshot:i,subscribe(u){d();let m=e.emitter.subscribe(b=>{b.type==="outbox:updated"&&n&&u(i());}),g=()=>{m(),r.delete(g);};return r.add(g),g},retry:u=>c("outbox.retry",u),cancel:u=>c("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function zp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Io(e){return Object.freeze({type:"error",error:Object.freeze(Z(e))})}function hn(e){throw Z(e)}function Oe(e,n,r){return (typeof e!="string"||e.trim()==="")&&hn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({field:n})}),e}function Je(e,n){let r=e,d=r?.conversationType,i=r?.conversationId;return d==="supergroup"&&hn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof i!="string"||i.trim()==="")&&hn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:i})}function Vp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Dr(e,n){let r=Je(e,n);return r.conversationType!=="direct"&&hn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:r.conversationId})}function er(e,n){let r=Je(e,n);return r.conversationType!=="group"&&hn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"group",conversationId:r.conversationId})}function xt(e,n,r){Vp(e,n)||hn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function qp(e){return Object.freeze({...e})}function Wp(e,n){return xt(Je(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(r=>Object.freeze({...r}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function $p(e){let n=Oe(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=Je(e.conversation,"application:updated");r.conversationType!=="group"&&hn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:d})}if(e.domain==="channel"){let r=Je(e.conversation,"application:updated");r.conversationType!=="channel"&&hn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:d})}return hn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Jp(e){return Object.freeze({ref:$p(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Yp(e){let n={token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}},r=e.lastLoginTime;return Object.freeze(r===void 0||!Number.isFinite(r)||r<=0?n[e.reason]:{...n[e.reason],lastLoginTime:r})}function Xp(e){return Object.freeze(Z({...{transport:{code:"IM_SDK_TRANSPORT_ERROR",category:"network",retryable:true},protocol:{code:"IM_SDK_PROTOCOL_ERROR",category:"protocol",retryable:false},login:{code:"IM_SDK_AUTH_ERROR",category:"auth",retryable:false},sync:{code:"IM_SDK_SYNC_ERROR",category:"network",retryable:true},crypto:{code:"IM_SDK_CRYPTO_ERROR",category:"state",retryable:false},http:{code:"IM_SDK_HTTP_ERROR",category:"network",retryable:true},storage:{code:"IM_SDK_STORAGE_ERROR",category:"state",retryable:true},unknown:{code:"IM_SDK_INTERNAL_ERROR",category:"state",retryable:false}}[e.scope],operation:`core.${e.scope}`}))}function Qp(e,n){if(zp(e)){let{cause:r,...d}=e;return Io(d)}return Io({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Zp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:qp(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=Je(e.conversation,e.type);return xt(Je({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&hn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:r,message:Object.freeze(Xt(e.message)),source:e.source})}case "message:removed":{let r=Je(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Oe(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=Je(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=Je(e.conversation,e.type),d=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:Oe(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=Je(e.conversation,e.type);xt(Je(e.task.ref,e.type),r,e.type);let d=aa(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=Je(e.conversation,e.type);xt(Je({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&hn({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),xt(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=Je(e.conversation,e.type);return e.conversationId!==r.conversationId&&hn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r})}case "pinned-message:updated":{let r=Je(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&hn({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&xt(Je({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),r,e.type);let d=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:d,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=Oe(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:r})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:r})})})}case "channel-profile:updated":{let r=Je(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&hn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "channel-join-application:received":{let r=Je(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&hn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:Oe(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?hn({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Oe(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=Je(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&hn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let r=Je(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Wp(e.draft,r)})}case "draft:cleared":{let r=Je(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=Je(e.conversation,e.type);return xt(Je(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:ia(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Oe(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Jp(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "receiving:changed":return Object.freeze({type:e.type,receiving:e.receiving});case "syncing:changed":return Object.freeze({type:e.type,syncing:e.syncing});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>Je(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Yp(e.issue)});case "error":return Object.freeze({type:e.type,error:Xp(e.error)});case "call:incoming":{let r=Dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),peerId:Oe(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),peerId:Oe(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),peerId:Oe(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),peerId:Oe(e.peerId,"peerId",r)})}case "call:failed":{let r=Dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),peerId:Oe(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),inviterId:Oe(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Oe(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),userId:Oe(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),userId:Oe(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Oe(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),userId:Oe(e.userId,"userId",r)})}case "group-call:busy":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),userId:Oe(e.userId,"userId",r),hintUserId:Oe(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=er(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Oe(e.callId,"callId",r),groupId:Oe(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Qp(r,e)}}function em(e){let{type:n,...r}=e;return Object.freeze(r)}function nm(e){if(e.type!=="message:received"||e.message.conversationType!=="group"||e.message.contentType!=="system"||e.message.body.system?.eventType!=="group_activated")return null;let n=Je(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Pd(e){let n=new WeakMap;function r(i,c){let o=n.get(i);if(o!==void 0)return o;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:i.notification.messageId}));return n.set(i,u),u}function d(i){let c=true,o=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(Io({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let b=Oe(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,b).then(h=>{if(!c||h===null)return;let w=Object.freeze({type:"contact-application:answered",peerId:b,result:h});i(w);}).catch(()=>{c&&i(Io({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let m=Zp(u,e);m!==null&&i(m);let g=nm(u);g!==null&&i(Object.freeze({type:"group:activated",...g}));});return ()=>{c=false,o();}}return {subscribe:i=>d(i),on:(i,c)=>d(o=>{o.type===i&&c(em(o));})}}function vt(e){let n=Z({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.accountScope===void 0?{}:{details:Object.freeze({accountScope:e.accountScope})},...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImLocalDataOperationError"})}function wd(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw vt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return d}return {async getInfo(){let r=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:r})},async clearRebuildableCaches(){let r=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw vt({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:r});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(d){throw vt({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:d})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function Rd(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function kr(e,n,r,d){return Z({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...d===void 0?{}:{conversation:d},details:Object.freeze({expectedId:n,actualId:r})})}function Ed(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Ad(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Td(e,n){if(n.id!==e)throw kr("contacts.getProfile",e,n.id);let r=n.remark?.trim(),d=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?d||e:n.remark,nickname:d,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(i=>Object.freeze({countryCode:i.countryCode,mobile:i.mobile})))}})}function _d(e,n){if(n.id!==e.conversationId)throw kr("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Ed(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 tm(e){return Object.freeze({sendMessages:e.sendMessages,...e.mentionAll===void 0?{}:{mentionAll:e.mentionAll},...e.editProfile===void 0?{}:{editProfile:e.editProfile},...e.manageMembers===void 0?{}:{manageMembers:e.manageMembers},...e.manageAdmins===void 0?{}:{manageAdmins:e.manageAdmins},...e.moderateMessages===void 0?{}:{moderateMessages:e.moderateMessages},...e.manageMute===void 0?{}:{manageMute:e.manageMute},...e.dismissChannel===void 0?{}:{dismissChannel:e.dismissChannel},...e.transferOwnership===void 0?{}:{transferOwnership:e.transferOwnership}})}function Dd(e,n){if(n.id!==e.conversationId)throw kr("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Ad(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.description===void 0?{}:{description:n.description},...n.announcement===void 0?{}:{announcement:n.announcement},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.verifyType===void 0?{}:{verifyType:n.verifyType},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},role:n.role,permissions:tm(n.permissions),state:n.channelState,...n.allMembersMuted===void 0?{}:{allMembersMuted:n.allMembersMuted},...n.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:n.memberPrivateChatDisabled},...n.miniProgramRels===void 0?{}:{miniProgramRels:Object.freeze(n.miniProgramRels.map(r=>Object.freeze({...r})))}})}function kd(e){return e.state==="ready"?Object.freeze({state:"ready",message:so(e.message)}):Object.freeze({state:"partial",...e.senderId===void 0?{}:{senderId:e.senderId},...e.createdAt===void 0?{}:{createdAt:e.createdAt},...e.previewText===void 0?{}:{previewText:e.previewText},reason:e.reason})}function vo(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw kr("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Ed(e),messageId:n.messageId,preview:kd(n.preview)})}function ho(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw kr("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Ad(e),messageId:n.messageId,preview:kd(n.preview)})}function rm(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function om(e){switch(e){case "forbidden":return "permission";case "network":return "network";case "contract":return "contract";case "unsupported":return "unsupported";case "invalid-input":return "validation";default:return "state"}}function am(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function sa(e,n,r){return rm(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&am(e)?Z({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:om(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):Z({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:r},cause:e})}var Od=new WeakMap;function ca(e,n){Od.set(e,n);}function xd(e){let n=Od.get(e);if(n===void 0)throw new Error("advanced message diagnostics \u53EA\u80FD\u7ED1\u5B9A\u7531 SDK \u5DE5\u5382\u521B\u5EFA\u7684 client");return n()}var im="IM_SDK_CHANNEL_NOT_MEMBER",sm="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",cm="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",dm="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function lm(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function um(e,n,r){if(lm(e))return e;let d=e instanceof d$1?e.businessCode:void 0,i=e instanceof oa$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?im:d===40527?sm:d===40547?cm:e instanceof d$1?dm:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c$1=e instanceof oa$1?"contract":e instanceof c?"network":d===40527?"permission":"state",o=Z({code:i,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"channel",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function fn(e,n,r){try{return await r()}catch(d){throw um(d,e,n)??d}}var pm={pinMessage:()=>Promise.reject(new xe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new xe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Nd(e){let n=new Map,r=new Map,d=true,i=I=>({conversationType:"channel",conversationId:I}),c=I=>{r.set(I,(r.get(I)??0)+1);};function o(I,T=true){let M=T?h("get",I):e.coreClient;if(M===void 0)return Promise.reject(new xe({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!d)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let F=r.get(I)??0,y=n.get(I);if(y?.version===F)return y.task;let _=()=>d&&(r.get(I)??0)===F&&e.domainState.getConversationContext(i(I))?.type==="channel",s=()=>e.domainState.getPinnedMessage(i(I))??null,a=(async()=>{let S=await fa$1({client:M,channelId:I});if(!_())return s();if(!S.ok)throw yt("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(i(I),"reconcile"),null;let v=C$1(S.data.messageContent,{conversationId:I}),D=await co(v,e.fetchMessagesById);return _()?D===null?(e.domainState.clearPinnedMessage(i(I),"reconcile"),e.onSourceUnavailable?.(v),null):(e.domainState.setPinnedMessage(D,"reconcile"),s()):s()})();n.set(I,{version:F,task:a});let f=()=>{n.get(I)?.task===a&&n.delete(I);};return a.then(f,f),a}function u(I){if(!d)return;let T=r.get(I)??0;n.get(I)?.version!==T&&o(I,false).catch(M=>{!d||(r.get(I)??0)!==T||e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:M}});});}let m=Ua({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),g=e.emitter.subscribe(I=>{if(I.type==="session:removed"&&I.conversation.conversationType==="channel"){c(I.conversation.conversationId);return}if(I.type!=="message:received"&&I.type!=="message:updated")return;let T=I.message;if(T.conversationType!=="channel")return;let M=T.body.system?.pinnedMessageAction;M!==void 0&&I.source!=="live"&&I.channelLifecycleEffects!==true||((M?.type==="pin"||M?.type==="unpin")&&c(T.conversationId),m.handleMessage(T));});function b(I,T){if(T.trim()==="")throw new xe({operation:I,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let M=e.domainState.getConversationContext(i(T));if(M===void 0)throw new xe({operation:I,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(M.type!=="channel")throw new xe({operation:I,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function h(I,T){if(e.coreClient===void 0)throw new xe({operation:I,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return b(I,T),e.coreClient}return {operations:{pinMessage:async({channelId:I,messageId:T})=>{let M=h("pin",I),F=e.domainState.getConversationMessage(i(I),T);if(F===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(F.conversationType!=="channel")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(F.conversationId!==I)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:y,pinnedMessage:_}=D(F),s=await ua$1({client:M,channelId:I,messageContent:y});if(!s.ok)throw yt("pin",s.code,s.message);c(I),e.domainState.setPinnedMessage(_,"http:pin");let a=e.domainState.getPinnedMessage(i(I));if(a===void 0)throw new xe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(y){throw It("pin",y)}},unpinMessage:async I=>{let T=h("unpin",I);try{let M=await Pa({client:T,channelId:I});if(!M.ok)throw yt("unpin",M.code,M.message);c(I),e.domainState.clearPinnedMessage(i(I),"http:unpin");}catch(M){throw It("unpin",M)}},getPinnedMessage:async I=>{try{return await o(I)}catch(T){throw It("get",T)}},peekPinnedMessage:I=>(b("get",I),e.domainState.getPinnedMessage(i(I))??null)},dispose:()=>{d&&(d=false,g());}}}async function ht(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var mm={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:ht,prefetchFirstPage:ht,refreshFirstPage:ht,listFirstPage:ht,listNextPage:ht,searchFirstPage:ht,refreshSearchFirstPage:ht,searchNextPage:ht},fm=new Set(["unknown_restricted","left","removed","dismissed"]);function on(e){return fm.has(e)}function Ld(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function d(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function i(){if(d(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function c(b){let h=b.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function o(b){let w=await i().listJoinApplications({limit:b?.limit??20,...b?.cursor===void 0?{}:{cursor:b.cursor}});return d(),w}async function u(b,h){d();let w=c(b),I=i();await(h==="accept"?I.acceptJoinApplication(w):I.ignoreJoinApplication(w)),d();}async function m(b,h,w,I,T){r(),T?.throwIfAborted();let M=await S({signal:T,http:e.http,userId:w,clientType:e.clientType,channelId:b,index:h,containAnchor:I,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),T?.throwIfAborted(),M}async function g(b,h,w,I){let T=await m(b,h,w,true,I),M=T.messages.find(F=>F.extensions?.historyCursor===h);if(M===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${b}, index=${h}\uFF09`);return {context:T,message:M}}return {applications:{listJoinApplications:o,acceptJoinApplication:b=>u(b,"accept"),ignoreJoinApplication:b=>u(b,"ignore")},loadMessageContext:g,loadNewerPage:(b,h,w,I)=>m(b,h,w,false,I),dispose:()=>{n=false;}}}function Fd(e){async function n(i,c,o){let u=new Map(c.filter(E).sort((g,b)=>g.sortKey.localeCompare(b.sortKey)).map(g=>[g.id,g]));if(u.size===0)return;let m=await e.authProvider.getLoginContext();if(m===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let g=u.values().next().value;u.delete(g.id);let b=g.extensions?.historyCursor;if(typeof b!="string"||b.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),w=e.getHistoryEpoch(i);try{let{context:I,message:T}=await e.loadMessageContext(i,b,m.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||w!==e.getHistoryEpoch(i))return;if(T.id!==g.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${b}, expected=${g.id}, actual=${T.id}\uFF09`);if(T.contentType!=="system"||E(T))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${b}, messageId=${g.id}\uFF09`);let M=I.messages.filter(F=>F.id===g.id||u.has(F.id));if(M.some(F=>F.contentType!=="system"||E(F)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${b}\uFF09`);e.domainState.upsertMessages(M,"offline",{backfillOnly:!0}),o.applyIncoming(M.flatMap(F=>{let y=e.domainState.getConversationMessage(F,F.id);return y===void 0?[]:[y]}));for(let F of M)u.delete(F.id);}catch(I){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${g.id}\uFF09`,cause:I}});}}}function r(i,c){return i?.conversationType===c.conversationType&&i.conversationId===c.conversationId}async function d(i,c=e.domainState.messageWindow){if(i.stale||!i.messages.some(E))return i;let o=c.info().conversation;if(o===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let u=e.domainState.getConversationContext(o);if(u?.type!=="channel"||u.channelState!==void 0&&on(u.channelState))return i;let m=c.getRevision();if(await n(o.conversationId,i.messages,c),c.getRevision()!==m||!r(c.info().conversation,o))return {...i,stale:true};let g=new Map(c.list().map(b=>[b.id,b]));return {...i,messages:i.messages.map(b=>g.get(b.id)??b)}}return {reconcilePage:d}}function Ud(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function r(y,_,s,a){let S=Z({code:y,category:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":y==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...a===void 0?{}:{cause:a}});return Object.assign(new Error(_),S)}function d(y){let _=y.name.trim();if(_==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(_.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=y.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let a=s.map(S=>typeof S=="string"?S.trim():"");if(a.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let f=[...new Set(a)];if(f.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:_,memberIds:f}}function i(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let y=e.crypto.randomTeaKey();if(!(y instanceof Uint8Array)||y.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let _="";for(let s of y)_+=String.fromCharCode(s);return globalThis.btoa(_)}function c$1(y,_){let s=y.trim();if(s==="")throw new Error(`${_}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function o(y){let _=y.trim();if(_==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return _}function u(y){let _=y.trim();if(_==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return _}async function m(y){let _=(await e.getSelfUserId?.()??"").trim();return _!==""&&_===y.trim()}function g(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function b(y,_,s){if(y!==1&&y!==2&&y!==4){let f=Z({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),f)}if(y!==4)return {verifyType:y};let a=_?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(a)){let f=Z({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),f)}return {verifyType:y,inviteCode:a}}function h(y){if(!Array.isArray(y))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(y.map(_=>c$1(_,"\u793E\u7FA4\u6210\u5458 id")))]}function w(y){e.emitter?.emit({type:"channel-profile:updated",channelId:y,conversation:{conversationType:"channel",conversationId:y}});}function I$1(y){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(y).catch(_=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:y,error:_}}});});}function T(y){if(y===void 0)return;let _=typeof y=="number"?y:Number(y);return Number.isSafeInteger(_)?_:void 0}function M(y){if(typeof y=="boolean")return y;if(y===1||y==="1"||y==="true")return true;if(y===0||y==="0"||y==="false")return false}function F(y){if(y===null||typeof y!="object"||y===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let _=y.id??y.radio_id;if(typeof _!="string"&&typeof _!="number"||String(_).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=y.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let a=String(_),f=T(y.total_users),S=T(y.status),v=T(y.verify_way),D=T(y.update_version),U=M(y.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:a}),name:s,...y.head_img_url?.trim()===""||y.head_img_url===void 0?{}:{avatar:y.head_img_url},...y.user_id===void 0?{}:{ownerId:String(y.user_id)},...f===void 0?{}:{memberCount:f},...S===void 0?{}:{status:S},...U===void 0?{}:{isInChannel:U},...v===void 0?{}:{verifyWay:v},...D===void 0?{}:{updateVersion:D},...y.invite_code===void 0?{}:{inviteCode:y.invite_code}}}return {...n,mentions:e.mentionCandidates??mm,uploadAvatar:async y=>{if(e.avatarTransfer===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Qt(e.avatarTransfer,y)},create:async y=>{if(e.coreClient===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.prepareConversation===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let _=d(y),s=i();try{let a=await ba$1({client:e.coreClient,name:_.name,memberIds:_.memberIds,secretKey:s,...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl}});if(!a.ok){let v=a.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(v,a.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:a.code,message:a.message}))}let f=F(a.data);e.cacheCreatedSecretKey?.(f.ref.conversationId,s);let S=f.status===3?"dismissed":f.status===void 0||f.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:f.ref.conversationId,type:"channel",title:f.name,...f.avatar===void 0?{}:{avatar:f.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:S,channelPermissions:Ka("owner",S)}),Object.freeze({channel:f})}catch(a){throw a!==void 0&&typeof a=="object"&&a!==null&&"code"in a&&String(a.code).startsWith("IM_SDK_")?a:a instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",a.message,void 0,a):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,a)}},listProfiles:y=>e.channelProfile?.listProfiles(y)??Promise.resolve([]),getProfile:(y,_)=>e.channelProfile?.getProfile(y,_)??Promise.resolve(null),listMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),prefetchMembers:y=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(y),getCachedMembers:y=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(y),refreshMembers:y=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(y),searchMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),searchMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listAdmins:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),getMembersByIds:(y,_,s)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(y,_,s),updateName:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=c$1(_,"\u793E\u7FA4\u540D\u79F0");await fn("channels.updateName",a,()=>F$1({client:s,channelId:a,name:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{title:f}),w(a);},updateDescription:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=u(_);await fn("channels.updateDescription",a,()=>F$1({client:s,channelId:a,description:f})),w(a);},updateAvatar:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let f=await fn("channels.updateAvatar",a,()=>Qt(e.avatarTransfer,_));return await fn("channels.updateAvatar",a,()=>F$1({client:s,channelId:a,avatarUrl:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{avatar:f}),w(a),f},setMyNickname:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=o(_);await fn("channels.setMyNickname",a,()=>G({client:s,channelId:a,nickname:f})),w(a);},setMemberNickname:async(y,_,s)=>{let a=g(),f=c$1(y,"\u793E\u7FA4 id"),S=c$1(_,"\u793E\u7FA4\u6210\u5458 id");if(await m(S))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let v=o(s);await fn("channels.setMemberNickname",f,()=>H({client:a,channelId:f,userId:S,nickname:v})),w(f);},updateVerification:async(y,_,s)=>{let a=g(),f=c$1(y,"\u793E\u7FA4 id"),S=b(_,s,f);await fn("channels.updateVerification",f,()=>O({client:a,channelId:f,verifyType:S.verifyType,...S.inviteCode===void 0?{}:{inviteCode:S.inviteCode}})),w(f);},requestJoin:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=_?.remarks?.trim();return fn("channels.requestJoin",a,()=>ra$1({client:s,channelId:a,...f===void 0?{}:{remarks:f}}))},joinByInviteCode:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=_.trim();if(!/^\d{6}$/.test(f))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return fn("channels.joinByInviteCode",a,()=>sa$1({client:s,channelId:a,inviteCode:f}))},setAllMuted:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id");await fn("channels.setAllMuted",a,()=>P({client:s,channelId:a,muted:_})),e.domainState?.refreshConversationProfile?.(a,"channel"),w(a);},setMemberPrivateChatDisabled:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id");await fn("channels.setMemberPrivateChatDisabled",a,()=>Q({client:s,channelId:a,disabled:_})),e.domainState?.refreshConversationProfile?.(a,"channel"),w(a);},inviteMembers:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=h(_);if(f.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await fn("channels.inviteMembers",a,()=>I({client:s,channelId:a,userIds:f})),w(a);},removeMember:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=c$1(_,"\u5F85\u79FB\u9664\u6210\u5458 id");await fn("channels.removeMember",a,()=>J$1({client:s,channelId:a,userId:f})),w(a);},addAdmin:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=c$1(_,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await fn("channels.addAdmin",a,()=>K$1({client:s,channelId:a,userId:f})),I$1(a),w(a);},removeAdmin:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=c$1(_,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await fn("channels.removeAdmin",a,()=>L$1({client:s,channelId:a,userId:f})),I$1(a),w(a);},transferOwnership:async(y,_)=>{let s=g(),a=c$1(y,"\u793E\u7FA4 id"),f=c$1(_,"\u65B0\u793E\u7FA4\u4E3B id");await fn("channels.transferOwnership",a,()=>M$1({client:s,channelId:a,userId:f})),I$1(a),e.domainState?.refreshConversationProfile?.(a,"channel"),w(a);},leave:async(y,_)=>{let s=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=c$1(y,"\u793E\u7FA4 id"),f=_?.newOwnerId===void 0?void 0:c$1(_.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await fn("channels.leave",a,()=>N({client:s,channelId:a,...f===void 0?{}:{newOwnerId:f}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_left"),w(a);},dismiss:async y=>{let _=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=c$1(y,"\u793E\u7FA4 id");await fn("channels.dismiss",s,()=>R({client:_,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),w(s);},...e.applications,...e.pinned??pm}}function gm(e){let r=Z({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(r.code),r)}function ym(e){let n=e.responseCode===Y,i=Z({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(i.code),i)}function Im(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Kd(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,i=new Map,c=new Map,o=0,u=false,m=5e3;function g$1(s,a,f){if(u)return "unknown";if(f!==void 0&&r.get(s)!==f)return d.get(s)??"unknown";let S=d.get(s);return d.set(s,a),i.set(s,Date.now()),S!==a&&e.onRelationshipChanged?.(s,a),a}function b(s,a){if(u)return;let f=w(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(f,++o),g$1(f,a);}function h(s){if(e.coreClient===void 0)throw new Error(`${s}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function w(s,a){let f=s.trim();if(f==="")throw new Error(`${a}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return f}function I(s,a){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(f=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${a}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:f}});});}async function T(s,a){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(s===""||a.name===void 0&&a.email===void 0&&a.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ma$2({client:e.coreClient,userId:s,...a.name===void 0?{}:{name:a.name},...a.email===void 0?{}:{email:a.email},...a.phones===void 0?{}:{phones:a.phones.map(f=>({countryCode:f.countryCode,mobile:f.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function M(s){switch(s){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function F(s,a){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let f=s.trim();if(f==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let S=c.get(f);if(a&&S!==void 0)return S;let v=++o;r.set(f,v);let D=g(e.coreClient,{userId:f}).then(U=>g$1(f,M(U?.friend_status),v)).finally(()=>{c.get(f)===D&&c.delete(f);});return c.set(f,D),D}function y(s){return F(s,true)}async function _$1(s,a){let f=w(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),S;try{S=await F(f,!1);}catch(v){return u||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:f,error:v}}}),null}if(u)return null;if(S==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:f}}}),null;if(S!=="friend")return "rejected";b(f,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(f,a,Date.now());}catch(v){return u||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:f,error:v}}}),null}return u?null:(e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),I(f,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,a)=>e.profile?.getUserProfile(s,a)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:T,searchUser:s=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Z$1(e.coreClient,{query:s}).catch(a=>{throw a instanceof W?ym(a):a}).then(a=>{if(a===null)return null;let f=M(a.friendStatus);return b(a.userId,f),Object.freeze({userId:a.userId,displayName:a.nickname||a.miCallId||a.username||a.userId,nickname:a.nickname,relationship:f,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl},...a.username===void 0?{}:{username:a.username},...a.miCallId===void 0?{}:{miCallId:a.miCallId},...a.signature===void 0?{}:{signature:a.signature}})}),getRelationship:y,requestFriendship:async(s,a)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let f=w(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),S;try{S=await _(e.coreClient,{userId:f,message:a.message,...a.remark===void 0?{}:{remark:a.remark}});}catch(D){throw D instanceof X?gm(D):D}let v=Im(S.status);return b(f,v==="sent"?"pending":"friend"),v==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(f,j(),Date.now()),e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),I(f,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:v,...S.message===void 0?{}:{message:S.message}})},blockUser:async s=>{let a=w(s,"\u52A0\u5165\u9ED1\u540D\u5355");await V(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:a,blocked:true}),b(a,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:a}),e.emitter.emit({type:"profile:updated",profileType:"user",id:a}),I(a,"\u52A0\u5165\u9ED1\u540D\u5355");},listBlocked:async()=>{let s=await U(h("\u8BFB\u53D6\u9ED1\u540D\u5355"));return Object.freeze(s.map(a=>Object.freeze({userId:a.userId,displayName:a.displayName,nickname:a.nickname,...a.remark===void 0?{}:{remark:a.remark},...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl}})))},unblockUser:async s=>{let a=w(s,"\u79FB\u51FA\u9ED1\u540D\u5355");await V(h("\u79FB\u51FA\u9ED1\u540D\u5355"),{userId:a,blocked:false}),b(a,"unknown"),F(a,false).catch(f=>{e.emitter.emit({type:"error",error:{scope:"http",message:"\u79FB\u51FA\u9ED1\u540D\u5355\u540E\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u5931\u8D25",cause:f}});}),e.emitter.emit({type:"profile:updated",profileType:"user",id:a}),I(a,"\u79FB\u51FA\u9ED1\u540D\u5355");},reportUser:async(s,a)=>{let f=w(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),S=a.trim();if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let v=e.getSelfId?.().trim()??"";if(v==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await aa$1(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:v,targetUserId:f,problem:S});},deleteFriendship:async s=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=s.trim();if(a==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await $(e.coreClient,{userId:a}),b(a,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:a});try{await e.resetDirectReadReceiptPreference?.(a);}catch(f){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:f}});}I(a,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let a=w(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),f=i.get(a);return f!==void 0&&Date.now()-f<m?Promise.resolve(d.get(a)??"unknown"):y(a)},updateRelationshipFromEvent:b,resolveApplicationAnswer:_$1,dispose:()=>{u=true,o+=1,r.clear(),d.clear(),i.clear(),c.clear();}}}function Bd(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let d=e().filter(c=>c.id===n);if(d.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(d.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let i=d[0];if(i.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function Gd(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let d=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=e.domainState.getConversationContext(d);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await La({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:r}),e.domainState.setMuted(d,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),d=e.domainState.getSession(r);if(d===void 0)return;if(d.unreadCount===0&&d.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(d.unreadCount===0&&(d.type!=="channel"||(d.mentionUnreadCount??0)===0))return;if(d.type!=="robot"&&e.settleConversationRead!==void 0){await e.settleConversationRead(r);return}let i=e.domainState.getMessagesByConversation(r),c=i.at(-1)?.id??d.readCursor??"";if(d.type==="direct"||d.type==="robot"){c!==""&&e.domainState.advanceRead(r,c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="group"){let o=await e.authProvider.getLoginContext();if(o===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await na$1({http:e.http,userId:o.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let o=_a$1(i);if(o===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${r.conversationId}\uFF09`);await e.markChannelRead(r.conversationId,o),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${d.type}`)},markConversationUnread:n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(r);},deleteConversation:n=>{let r=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.beforeDeleteConversation?.(r),e.terminateConversationSending?.(r,"conversation_deleted"),e.domainState.removeConversation(r),e.resetConversationBackground?.(r).catch(d=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",d));}}}var la=1,vm=3;function ua(e){return typeof Blob<"u"&&e instanceof Blob}async function Hd(e){return ua(e)?new Uint8Array(await e.arrayBuffer()):e}function jd(e){async function n(k){return e.connection.sendText(k)}async function r(k){return e.connection.sendContact(k)}async function d(k){return e.connection.forwardMessages(k)}async function i(k){return e.connection.recallMessage(k)}async function c(k){return e.connection.editMessage(k)}async function o(k){return e.connection.sendImage(k)}async function u(k){return e.connection.sendVideo(k)}async function m(k){return e.connection.sendVoice(k)}async function g(k){return e.connection.sendFile(k)}async function b(k){return e.connection.sendMediaAlbum(k)}async function h(k){return e.connection.sendGif(k)}async function w(k){return e.connection.sendExpression(k)}async function I(k){return e.connection.sendGame(k)}async function T(k){return e.connection.sendMiniProgram(k)}async function M(k){return e.connection.sendTransfer(k)}async function F(k){return e.connection.sendGift(k)}async function y(k){return e.connection.sendLiveRoom(k)}async function _(k,L){return e.connection.replaceInterruptedVideo(k,L)}async function s(k,L){return e.connection.replaceInterruptedFile(k,L)}function a(k){e.connection.cancelMedia(k);}function f(k,L){return {url:k.url,...k.getPriority===void 0?{}:{getPriority:k.getPriority},...k.expectedBytes===void 0?{}:{expectedBytes:k.expectedBytes},...k.onProgress===void 0&&k.onTransferProgress===void 0?{}:{onProgress:X=>{k.onTransferProgress?.(X),k.onProgress?.(X.percent);}},...k.signal!==void 0?{signal:k.signal}:{},...k.resume===void 0?{}:{resume:k.resume},...k.onResumable===void 0?{}:{onResumable:k.onResumable},...k.onResumeInvalidated===void 0?{}:{onResumeInvalidated:k.onResumeInvalidated},...L?{preferBlob:true}:{}}}async function S(k){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let L=await e.mediaTransfer.download(f(k,false)),X=await Hd(L);return k.teaKey!==void 0&&k.teaKey.length>0&&k.fileEncryptType!==la?e.crypto.decryptSymmetric({teaKey:k.teaKey,cipherData:X}):X}async function v(k){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let L=await e.mediaTransfer.download(f(k,true));if(k.teaKey===void 0||k.teaKey.length===0||k.fileEncryptType===la)return L;let X=k.teaKey;return ua(L)?e.crypto.decryptSymmetricChunked({teaKey:X,cipherData:L,...k.signal===void 0?{}:{signal:k.signal}}):e.crypto.decryptSymmetric({teaKey:X,cipherData:L})}async function D(k){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");if(k.fileEncryptType===vm)return v(k);let L=await e.mediaTransfer.download(f(k,true));if(k.teaKey===void 0||k.teaKey.length===0||k.fileEncryptType===la)return L;let Pe=k.teaKey;if(!ua(L))return e.crypto.decryptFileSimple({teaKey:Pe,cipherData:L});if(L.size<=32){let $=e.crypto.decryptFileSimple({teaKey:Pe,cipherData:await Hd(L)});return new Blob([$],{type:L.type})}let ge=new Uint8Array(await L.slice(0,32).arrayBuffer()),x=e.crypto.decryptFileSimple({teaKey:Pe,cipherData:ge});return new Blob([x,L.slice(32)],{type:L.type})}function U(k){e.connection.retryMessage(k);}function B(k,L){let X={conversationType:"channel",conversationId:k},Pe=e.domainState.getLoadedMessagesByConversation(X),x=e.domainState.getConversationMessage(X,L)??Pe.find(H=>Za(H)===L),$=Za(x);if(x===void 0||typeof $!="string"||$.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${k}, input=${L}\uFF09`);return x.id}async function se(k){let L=k.conversationType??e.domainState.getSession(k.conversationId)?.type;if(L==="channel"){let X=B(k.conversationId,k.readCursor);await e.connection.markRead(k.conversationId,X,"channel");return}await e.connection.markRead(k.conversationId,k.readCursor,k.conversationType),L==="direct"&&await e.prepareDirectReadReceipt?.(k.conversationId);}function pe(k){if(k.conversationType!=="direct"&&k.conversationType!=="group"&&k.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${k.conversationType}`)}async function R(k,L){pe(k);let X={...k};if(L===void 0){let x=e.domainState.getSession(X);if((x?.unreadCount??0)>0||(x?.mentionUnreadCount??0)>0){if(X.conversationType!=="group")throw new Error(`${X.conversationType==="channel"?"CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor":"\u4F1A\u8BDD\u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1\u6700\u65B0\u6D88\u606F\u4F4D\u7F6E"}\uFF08conversationId=${X.conversationId}\uFF09`);if(e.settleEmptyGroupRead===void 0)throw new Error("GROUP \u65E0\u6B63\u6587\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u5C1A\u672A\u88C5\u914D");await e.settleEmptyGroupRead({conversationType:"group",conversationId:X.conversationId});}e.domainState.clearConversationManualUnread?.(X);return}let Pe=e.connection.settleConversationRead;if(Pe===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let ge=X.conversationType==="channel"?B(X.conversationId,L):L;await Pe(X,ge),e.domainState.clearConversationManualUnread?.(X);}async function Q(k,L){if(pe(k),k.conversationType!=="direct"||L.length===0)return;let X=e.connection.reportVisibleMessages;if(X===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");X(k,L),await e.prepareDirectReadReceipt?.(k.conversationId);}async function fe(k,L){e.connection.reportDirectMediaConsumed?.(k,L),await e.prepareDirectReadReceipt?.(k);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:i,editMessage:c,sendImage:o,sendVideo:u,sendVoice:m,sendFile:g,sendGif:h,sendMediaAlbum:b,sendExpression:w,sendGame:I,sendMiniProgram:T,sendTransfer:M,sendGift:F,sendLiveRoom:y,replaceInterruptedVideo:_,replaceInterruptedFile:s,cancelMediaUpload:a,loadImage:S,loadVideo:v,loadVoice:S,loadFile:D,retry:U,markRead:se,markConversationRead:R,markVisibleMessages:Q,markDirectMediaConsumed:fe}}}function zd(e){return {...e.operations,get state(){return e.getState()}}}var hm=50,Cm=1e3,wn={ALREADY_CONTACT:40101,CONTACT_PERMISSION_DENIED:40109,CONTACT_LIMIT_REACHED:40121,PEER_CONTACT_LIMIT_REACHED:40122,ALREADY_GROUP_MEMBER:40508,LEGACY_ALREADY_GROUP_MEMBER:39016,GROUP_MEMBER_LIMIT_REACHED:40506,LEGACY_GROUP_MEMBER_LIMIT_REACHED:39057,GROUP_DISBANDED:40610,GROUP_PERMISSION_DENIED:40501,REQUEST_ALREADY_HANDLED:40108,OPERATION_FAILED:1017,GROUP_OPERATION_FAILED:39014,GROUP_APPLICATION_UNAVAILABLE_40521:40521,GROUP_APPLICATION_UNAVAILABLE_40612:40612,GROUP_APPLICATION_UNAVAILABLE_40617:40617};function an(e){let n=Z({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImApplicationOperationError"})}function bm(e,n){switch(e){case wn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case wn.CONTACT_PERMISSION_DENIED:case wn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case wn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case wn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case wn.ALREADY_GROUP_MEMBER:case wn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case wn.GROUP_MEMBER_LIMIT_REACHED:case wn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case wn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case wn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case wn.OPERATION_FAILED:case wn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case wn.GROUP_APPLICATION_UNAVAILABLE_40521:case wn.GROUP_APPLICATION_UNAVAILABLE_40612:case wn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Mm(e){if(e instanceof j$1||e instanceof q)return e.code}function Sm(e){return e instanceof k$1||e instanceof r?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function Vd(e,n,r){let d=Mm(r),i=bm(d,e),c=Sm(r);return an({code:i,category:c.category,operation:n,retryable:c.retryable,cause:r})}function qd(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function Tn(e,n){if(typeof e!="string"&&typeof e!="number")throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let r=String(e).trim();if(r==="")throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function pa(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("createdAt \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570\u6BEB\u79D2\u65F6\u95F4\u6233")});return e}}function Nt(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({...e.conversation})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})})}function Pm(e,n,r="pending"){return Object.freeze({ref:Nt(e),...n===void 0?{}:{createdAt:n},state:r})}function wm(e){let n=pa(e.createdAt),r=Ct(e.applicantAvatar,"contact.applicantAvatar"),d=Ct(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Nt({domain:"contact",applicationId:Tn(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:Tn(e.applicantId,"contact.applicantId"),name:Tn(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:ma(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Rm(e){if(e.kind!=="request"&&e.kind!=="invite")throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=pa(e.createdAt),r=Ct(e.actor.avatarUrl,"group.actor.avatarUrl"),d=Ct(e.actor.displayId,"group.actor.displayId"),i=Ct(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Nt({domain:"group",applicationId:Tn(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:Tn(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:Tn(e.actor.id,"group.actor.id"),name:Tn(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:Tn(e.target.id,"group.target.id"),name:Tn(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:ma(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Ct(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let r=String(e).trim();return r===""?void 0:r}function ma(e,n){if(typeof e!="string"&&typeof e!="number")throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});return String(e).trim()}function Em(e){let n=pa(e.createdAt),r=Ct(e.applicantAvatar,"channel.applicantAvatar"),d=Ct(e.applicantDisplayId,"channel.applicantDisplayId"),i=Ct(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Nt({domain:"channel",applicationId:Tn(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:Tn(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:Tn(e.applicantId,"channel.applicantId"),name:Tn(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:Tn(e.channelId,"channel.channelId"),name:Tn(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:ma(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Or(e){return `${e.domain}:${e.applicationId}`}function Wd(e){let n=false,r=0,d=0,i=new Map,c=new Map,o=new Map;function u(I,T){if(n||!e.isActive()||T!==void 0&&r!==T)throw an({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:I,retryable:false})}function m(I){if(u(I),e.contact===void 0||e.group===void 0||e.channel===void 0)throw an({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:I,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(I,T){let M=[],F=new Set,y;for(let _=0;_<Cm;_+=1){let s=await T({limit:hm,...y===void 0?{}:{cursor:y}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw an({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:I,retryable:false});if(M.push(...s.items),s.exhausted)return M;let a=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(a===""||F.has(a))throw an({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:I,retryable:false});F.add(a),y=a;}throw an({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:I,retryable:false})}async function b(){let I="applications.listPending",T=m(I),M=r,F=++d;try{let[y,_,s]=await Promise.all([g(I,v=>T.contact.listPendingApplications(v)),g(I,v=>T.group.listPendingApplications(v)),g(I,v=>T.channel.listJoinApplications(v))]);u(I,M);let a=[...y.map(wm),..._.map(Rm),...s.map(Em)],f=new Map;for(let v of a){let D=Or(v.ref);if(c.has(D))continue;let U=f.get(D);if(U!==void 0&&JSON.stringify(U.ref)!==JSON.stringify(v.ref))throw an({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:I,retryable:!1});(U===void 0||(v.createdAt??0)>(U.createdAt??0))&&f.set(D,v);}let S=[...f.values()].sort((v,D)=>{let U=(D.createdAt??0)-(v.createdAt??0);return U!==0?U:Or(v.ref).localeCompare(Or(D.ref))});if(F===d){i.clear();for(let v of S)i.set(Or(v.ref),v);}return Object.freeze(S)}catch(y){throw qd(y)?y:(u(I,M),Vd("IM_SDK_APPLICATION_LIST_FAILED",I,y))}}function h(I,T){if(u(T),I===null||typeof I!="object")throw an({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:T,retryable:false});let M=typeof I?.applicationId=="string"?I.applicationId.trim():"";if(M==="")throw an({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:T,retryable:false});if(I.domain==="contact")return Nt({domain:"contact",applicationId:M});let F=typeof I.conversation?.conversationId=="string"?I.conversation.conversationId.trim():"";if(I.domain==="group"&&I.conversation?.conversationType==="group"&&F!=="")return Nt({domain:"group",applicationId:M,conversation:{conversationType:"group",conversationId:F}});if(I.domain==="channel"&&I.conversation?.conversationType==="channel"&&F!=="")return Nt({domain:"channel",applicationId:M,conversation:{conversationType:"channel",conversationId:F}});throw an({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:T,retryable:false})}function w(I,T){let M=T==="accepted"?"applications.accept":"applications.ignore",F=h(I,M),y=Or(F),_=c.get(y);if(_===T)return Promise.resolve();if(_!==void 0)return Promise.reject(an({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:M,retryable:false}));let s=o.get(y);if(s!==void 0)return s.state===T?s.promise:Promise.reject(an({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:M,retryable:true}));let a=r,f=Promise.resolve().then(async()=>{try{let v;if(F.domain==="contact"){if(e.contact===void 0)throw an({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});v=T==="accepted"?e.contact.acceptApplication(F.applicationId):e.contact.ignoreApplication(F.applicationId);}else if(F.domain==="group"){if(e.group===void 0)throw an({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});v=T==="accepted"?e.group.acceptApplication(F.applicationId):e.group.ignoreApplication(F.applicationId);}else {if(e.channel===void 0)throw an({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});v=T==="accepted"?e.channel.acceptJoinApplication(F.applicationId):e.channel.ignoreJoinApplication(F.applicationId);}if(await v,u(M,a),T==="accepted"&&F.domain==="contact"){let U=i.get(y);U?.kind==="contact-request"&&await e.onContactAccepted?.(U.applicant.id,F.applicationId);}c.set(y,T);let D=Pm(F,i.get(y)?.createdAt,T);i.delete(y),e.emitter.emit({type:"application:updated",application:D});}catch(v){throw qd(v)?v:(u(M,a),Vd("IM_SDK_APPLICATION_ACTION_FAILED",M,v))}}),S=()=>{o.get(y)?.promise===f&&o.delete(y);};return o.set(y,{state:T,promise:f}),f.then(S,S),f}return {api:{listPending:b,accept:async I=>w(I,"accepted"),ignore:async I=>w(I,"ignored")},dispose(){n||(n=true,r+=1,i.clear(),c.clear(),o.clear());}}}function Lt(e,n,r){try{r();}catch(d){let i=d instanceof Error?d.message:String(d);throw i.includes("\u672A\u9274\u6743")?Z({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?Z({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?Z({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?Z({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):Z({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function $d(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Lt("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Lt("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Lt("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Lt("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Lt("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Lt("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Lt("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var fa=18,Am=12,Tm=300*1e3,_m=64,Jd=Object.freeze([]),Dm=0;function km(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Yd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Tm,d=e.maxCacheEntries??_m;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(d)||d<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let i=++Dm,c=new Map,o=new Map,u=new Map,m=new Map,g=new Map,b=new Map,h=new Map,w=new Set,I=0,T=true,M=x=>m.get(x)??0;function F(){if(!T)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function y(x){if(x.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let $=x.conversationId.trim();if($==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return $}function _(x){let $=c.get(x);c.delete(x),$?.page.nextPageToken!==void 0&&u.delete($.page.nextPageToken);}function s(x,$){let H=c.get(x);return H===void 0?null:H.generation!==$||H.expiresAt<=n()?(_(x),null):(c.delete(x),c.set(x,H),H.page)}function a(x,$){for(_(x),c.set(x,$);c.size>d;){let H=c.keys().next().value;if(typeof H!="string")break;_(H);}}function f(x){let $=[],H=new Map;for(let de of x){let ue=de.userId.trim();if(ue==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");H.has(ue)||$.push(ue);let be=de.displayName.trim()||ue,Ee=de.avatar?.trim();H.set(ue,Object.freeze({userId:ue,displayName:be,...Ee===void 0||Ee===""?{}:{avatar:Ee}}));}return Object.freeze($.map(de=>H.get(de)))}async function S(x,$){let H=await pa$1($);return Object.freeze(x.filter(de=>H.match(de.displayName)!==null||H.match(de.userId,{pinyin:false})!==null))}async function v(x,$){let H=await k(x);return H===null?Jd:S(H.page.items,$)}function D(x,$){let H=[...x.items],de=new Set(H.map(ue=>ue.userId));for(let ue of $)de.has(ue.userId)||(de.add(ue.userId),H.push(ue));return Object.freeze({...x,items:Object.freeze(H)})}function U(x,$){let H=x.map(ue=>ue.userId),de=new Map(x.map(ue=>[ue.userId,ue]));for(let ue of $)de.has(ue.userId)||H.push(ue.userId),de.set(ue.userId,ue);return H.map(ue=>de.get(ue))}function B(x,$,H){let de=`im-channel-mention:${i}:${++I}`;for(u.set(de,{...x,generation:$,expiresAt:H});u.size>d;){let ue=u.keys().next().value;if(typeof ue!="string")break;u.delete(ue);}return de}function se(x){let $=x.nextCursor?.trim();if(x.exhausted&&$!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!x.exhausted&&($===void 0||$===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return $}function pe(x,$,H,de){let ue=se(x),be=ue===void 0?void 0:B({...$,cursor:ue},H,de);return Object.freeze({items:f(x.items),...be===void 0?{}:{nextPageToken:be},exhausted:x.exhausted})}function R(){if(e.provider===void 0)throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u4E13\u7528 mention member provider");return e.provider}function Q(x,$){let H=g.get(x);for(H?.page.nextPageToken!==void 0&&u.delete(H.page.nextPageToken),g.delete(x),g.set(x,$);g.size>d;){let de=g.keys().next().value;if(de===void 0)break;let ue=g.get(de);ue?.page.nextPageToken!==void 0&&u.delete(ue.page.nextPageToken),g.delete(de);}}function fe(x,$){let H=n()+r,de={channelId:x.channelId,kind:"list"},ue=x.nextCursor===void 0?void 0:B({...de,cursor:x.nextCursor},$,H);return {generation:$,updatedAt:x.updatedAt,page:Object.freeze({items:f(x.items),...ue===void 0?{}:{nextPageToken:ue},exhausted:x.exhausted})}}function k(x){F();let $=g.get(x);if($!==void 0)return Promise.resolve($);if(w.has(x)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let H=h.get(x);if(H!==void 0)return H;let de=M(x),ue=e.storage.getChannelMentionCandidateSnapshot(x).then(be=>{if(F(),be===null||be.channelId!==x||M(x)!==de||w.has(x))return null;let Ee=fe(be,de);return Q(x,Ee),Ee}).finally(()=>{h.get(x)===ue&&h.delete(x);});return h.set(x,ue),ue}function L(x){F();let $=b.get(x);if($!==void 0)return $;let H=M(x),de=R(),ue=(async()=>{let be,Ee=false,_e=[];for(let ae=0;ae<Am&&!Ee;ae+=1){let We=await de.listMentionMembers({channelId:x,limit:fa,...be===void 0?{}:{cursor:be}});if(F(),M(x)!==H)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");be=se(We),Ee=We.exhausted,_e=U(_e,We.items);}let Se=n(),qe={channelId:x,items:_e,...be===void 0?{}:{nextCursor:be},exhausted:Ee,updatedAt:Se};if(M(x)!==H)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(qe),F(),M(x)!==H)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=fe(qe,H);return Q(x,je),je.page})().finally(()=>{b.get(x)===ue&&b.delete(x);});return b.set(x,ue),ue}function X(x,$=false){F();let H=M(x.channelId),de=km(x);if(!$){let Se=s(de,H);if(Se!==null)return Promise.resolve(Se)}let ue=o.get(de);if(ue!==void 0&&ue.generation===H)return ue.promise;let be=R(),Ee=x.kind==="list"?be.listMentionMembers({channelId:x.channelId,limit:fa,...x.cursor===void 0?{}:{cursor:x.cursor}}):be.searchMentionMembers({channelId:x.channelId,query:x.keyword,limit:fa,...x.cursor===void 0?{}:{cursor:x.cursor}}),_e=Promise.resolve(Ee).then(async Se=>{F();let qe=x.kind==="search"&&x.cursor===void 0?await v(x.channelId,x.keyword):Jd;if(F(),M(x.channelId)!==H)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=n()+r,ae=pe(Se,x,H,je),We=qe.length===0?ae:D(ae,qe);return M(x.channelId)===H&&a(de,{channelId:x.channelId,generation:H,expiresAt:je,page:We}),We}).finally(()=>{o.get(de)?.promise===_e&&o.delete(de);});return o.set(de,{generation:H,promise:_e}),_e}function Pe(x,$){F();let H=u.get(x);if(H===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(H.kind!==$)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${$} \u5206\u9875`);if(H.expiresAt<=n())throw u.delete(x),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(M(H.channelId)!==H.generation)throw u.delete(x),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return H}return {api:{peekFirstPage(x){if(!T)return null;let $=y(x),H=g.get($);return H===void 0||H.generation!==M($)?null:(Q($,H),H.page)},peekSearchCandidates(x,$){if(!T)return Object.freeze([]);let H=y(x),de=$.trim().toLocaleLowerCase();if(de==="")return Object.freeze([]);let ue=g.get(H);return ue===void 0||ue.generation!==M(H)?Object.freeze([]):(Q(H,ue),Object.freeze(ue.page.items.filter(be=>be.displayName.toLocaleLowerCase().includes(de)||be.userId.toLocaleLowerCase().includes(de))))},async getCachedPage(x,$){let H=y(x),de=await k(H);if(de===null)return null;let ue=$?.trim()??"";if(ue==="")return de.page;let be=await S(de.page.items,ue);return F(),de.generation!==M(H)?null:Object.freeze({items:be,exhausted:true})},async prefetchFirstPage(x){let $=y(x),H=await k($);H!==null&&H.updatedAt+r>n()||await L($);},async refreshFirstPage(x){return L(y(x))},async listFirstPage(x){let $=y(x),H=g.get($);if(H!==void 0&&H.generation===M($))return Q($,H),H.page;let de=await k($);return de!==null?de.page:L($)},async listNextPage(x){return X(Pe(x,"list"))},async searchFirstPage(x,$){let H=y(x),de=$.trim();return de===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):X({channelId:H,kind:"search",keyword:de})},async refreshSearchFirstPage(x,$){let H=y(x),de=$.trim();return de===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):X({channelId:H,kind:"search",keyword:de},true)},async searchNextPage(x){return X(Pe(x,"search"))}},async invalidate(x){if(!T)return;let $=x.trim();if($==="")return;m.set($,M($)+1),w.add($);let H=g.get($);H?.page.nextPageToken!==void 0&&u.delete(H.page.nextPageToken),g.delete($),b.delete($),h.delete($);for(let[de,ue]of c)ue.channelId===$&&_(de);for(let[de,ue]of u)ue.channelId===$&&u.delete(de);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot($),w.delete($));},clear(){if(!T)return;let x=new Set;for(let $ of c.values())x.add($.channelId);for(let $ of u.values())x.add($.channelId);for(let $ of x)m.set($,M($)+1);c.clear(),u.clear(),o.clear(),g.clear(),b.clear(),h.clear(),w.clear();},dispose(){T&&(T=false,c.clear(),u.clear(),o.clear(),g.clear(),b.clear(),h.clear(),w.clear());}}}var Om=20*1024*1024;function at(e){return Z({...e,retryable:e.retryable??false})}function ga(e,n){if(e?.conversationType==="supergroup")throw at({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"&&e?.conversationType!=="robot"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw at({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function xm(e,n){if(e!==void 0&&e.getConversationBackground!==void 0&&e.saveConversationBackground!==void 0&&e.deleteConversationBackground!==void 0&&e.getDefaultConversationBackground!==void 0&&e.saveDefaultConversationBackground!==void 0&&e.deleteDefaultConversationBackground!==void 0)return e;throw at({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Nm(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw at({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Xd(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw at({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Nm(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw at({code:e.blob instanceof Blob&&e.blob.size>r?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let d=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:d}}function ya(e){if(e.kind==="preset")return Object.freeze({kind:"preset",presetId:e.presetId,url:e.url});let n=e.bytes.slice();return Object.freeze({kind:"custom",mimeType:e.mimeType,blob:new Blob([n.buffer],{type:e.mimeType})})}function Lm(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Qd(e){let n=e.maxCustomImageBytes??Om,r=false,d=0,i,c;async function o(m,g){try{return await g(xm(e.storage,m))}catch(b){throw typeof b=="object"&&b!==null&&"code"in b?b:at({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:m,cause:b})}}return {api:{async getBackground(m){let g="conversations.getBackground",b=ga(m,g);return o(g,async h=>{let w=await h.getConversationBackground(b);if(w!==null)return Object.freeze({source:"conversation",selection:ya(w)});let I=await h.getDefaultConversationBackground();return Object.freeze(I===null?{source:"builtin",selection:null}:{source:"default",selection:ya(I)})})},async setBackground(m,g){let b="conversations.setBackground",h=ga(m,b),w=await Xd(g,b,n);await o(b,I=>I.saveConversationBackground(h,w));},async resetBackground(m){let g="conversations.resetBackground",b=ga(m,g);await o(g,h=>h.deleteConversationBackground(b));},async getDefaultBackground(){return o("conversations.getDefaultBackground",async g=>{let b=await g.getDefaultConversationBackground();return Object.freeze(b===null?{source:"builtin",selection:null}:{source:"default",selection:ya(b)})})},async setDefaultBackground(m){let g="conversations.setDefaultBackground",b=await Xd(m,g,n);await o(g,h=>h.saveDefaultConversationBackground(b));},async resetDefaultBackground(){await o("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(m){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(at({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!m?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!m?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(at({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:g}));let b=++d,h=ha$2(e.coreClient).then(w=>{let I=Object.freeze(w.map(Lm));return !r&&b===d&&(i=I),I}).catch(w=>{throw at({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:w})}).finally(()=>{b===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,i=void 0,c=void 0;}}}var xr=class extends Error{code="IM_SDK_HISTORY_PAGE_STALLED";category="protocol";retryable=true;operation;conversation;constructor(n,r){super("\u7FA4\u5386\u53F2\u6EE1\u9875\u672A\u63D0\u4F9B\u53EF\u7EE7\u7EED\u7684\u5206\u9875\u4F4D\u7F6E\uFF0C\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u7ECF\u5230\u8FBE\u672B\u5C3E"),this.name="GroupHistoryPageBoundaryError",this.operation=r==="older"?"history.loadOlder":"history.loadNewer",this.conversation={conversationType:"group",conversationId:n};}};function Nr(e){if(e.batchSize<e.limit)return {exhausted:true};let n=e.boundaryTime;if(n===void 0||!Number.isSafeInteger(n)||n<0||(e.direction==="older"?n>=e.baseTime:n<=e.baseTime))throw new xr(e.conversationId,e.direction);return {exhausted:false,nextCursor:String(n)}}var Zd=2;async function Fm(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,i,c,o=g=>el(e.entryUpperSortKey===void 0?g:g.filter(b=>b.sortKey<=e.entryUpperSortKey),e.selfId,i,e.isEntryUnread).unreadMessages;for(let g=0;g<=(e.maxExtraPages??Zd);g+=1){e.signal?.throwIfAborted();let b=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),b===void 0)break;if(i!==void 0&&i!==b.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");i=b.readCursorSortKey,c=b;for(let T of b.messages){if(T.conversationId!==e.conversation.conversationId||T.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(T.id,T);}let h=[...n.values()].sort(n$1),w=o(h),I=e.entryUpperSortKey!==void 0&&b.messages.some(T=>T.sortKey>=e.entryUpperSortKey);if(Ia(w)&&(b.exhausted||I))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(I||w.some(T=>T.contentType!=="system")||b.exhausted||b.nextCursor===void 0||b.nextCursor===d||r.has(b.nextCursor))break;r.add(b.nextCursor),d=b.nextCursor;}let u=[...n.values()].sort(n$1),m=o(u)[0];return m!==void 0&&c!==void 0?(await e.openAt(m.sortKey,{messages:u,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),nl(m.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function Ia(e){return e.length>0&&e.every(n=>n.contentType==="system")}function Um(e){return qa(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function el(e,n,r,d){let i=[];for(let c of e)!Um(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??va$1(c,n))&&i.push(c);return {unreadMessages:i}}function nl(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function va(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return Fm(e);let n=new Map,r=()=>{let T=e.list();for(let M of T)n.delete(M.id);for(let M of el(T,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)e.entryUpperSortKey!==void 0&&M.sortKey>e.entryUpperSortKey||n.set(M.id,{id:M.id,sortKey:M.sortKey,contentType:M.contentType});return [...n.values()].sort(n$1)},d=e.readCursorSortKey!==void 0;d?await e.openAt(e.readCursorSortKey):await e.openLatest(),e.signal?.throwIfAborted();let i=d&&e.list().some(T=>T.sortKey===e.readCursorSortKey),c=false,o=()=>{i&&e.entryUpperSortKey!==void 0&&e.list().some(T=>T.sortKey>=e.entryUpperSortKey)&&(c=true);};o();let u=r(),m=e.maxExtraPages??Zd,g=e.paginationKey??(()=>JSON.stringify(e.list().map(T=>[T.id,T.sortKey]))),b=new Set,h=()=>!c&&(u.length<e.unreadCount||d&&Ia(u));for(let T=0;h()&&(d?e.hasNewer():e.hasOlder())&&T<m&&(e.signal?.throwIfAborted(),b.add(g()),await(d?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),u=r(),o(),!(e.maxExtraPages!==void 0&&b.has(g())));T+=1);if(u.length<e.unreadCount&&!c)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let w=d?u:u.slice(-e.unreadCount);if(c&&w.length===0||(!d||!e.hasNewer()||c)&&Ia(w))return await e.openLatest(),Object.freeze({state:"none"});let I=w[0];return I===void 0?Object.freeze({state:"unavailable"}):((!e.preserveLocatedWindow||!e.list().some(T=>T.id===I.id))&&await e.openAt(I.sortKey),e.signal?.throwIfAborted(),nl(I.id,e.unreadCount))}function Lr(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},i=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}i.has(c.userId)||(i.add(c.userId),r.push(c.userId),c.displayName.trim()!==""&&(d[c.userId]=c.displayName));}return {atAll:n,atUserIds:r,...Object.keys(d).length===0?{}:{atUsersName:d}}}function Km(e){return i$1(e)?[...new Set([e.toLowerCase(),e.toUpperCase(),e])]:[e]}function tl(e){let n=new Map;for(let r of e){let d=r.trim(),i=M([d])[0];if(i===void 0)continue;let c=k(i),o=n.get(c)??{sourceIds:new Map,queryIds:new Set};o.sourceIds.has(i)||o.sourceIds.set(i,d);for(let u of Km(i))o.queryIds.add(u);if(o.queryIds.size>L)throw new RangeError("\u540C\u4E00\u6D88\u606F\u7684\u67E5\u8BE2\u5F62\u5F0F\u8D85\u8FC7\u5355\u6B21\u8BF7\u6C42\u4E0A\u9650");n.set(c,o);}return [...n].map(([r,d])=>({id:r,sourceIds:[...d.sourceIds.values()],queryIds:[...d.queryIds]}))}function rl(e){let n=[],r=[],d=0;for(let i of e)d+i.queryIds.length>L&&(n.push(r),r=[],d=0),r.push(i),d+=i.queryIds.length;return r.length>0&&n.push(r),n}async function Co(e,n){let r=new Map,d=new Set;for(let i of rl(tl(e))){let c=i.flatMap(u=>u.queryIds),o=await n(c);if(o.messages.some(u=>o.missingMessageIds.includes(u.id)))throw new Error("\u6309 ID \u67E5\u8BE2\u540C\u65F6\u8FD4\u56DE\u539F\u6D88\u606F\u4E0E\u8BE5\u6D88\u606F\u5168\u90E8\u5F62\u5F0F\u7F3A\u5931");for(let u of o.messages){let m=`${J(u)}:${u.id}`,g=r.get(m);r.set(m,g===void 0?u:K(g,u));}for(let u of o.missingMessageIds)d.add(u);}return {messages:[...r.values()],missingMessageIds:[...d]}}function Bm(e){return e instanceof Fa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}async function ol(e){let n=tl(e.messageIds);if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],i=[],c;for(let o of rl(n)){let u=o.map(m=>m.id);if(!e.isCurrent()){i.push(...u);continue}try{let m=await e.fetchBatch(o.flatMap(I=>I.sourceIds));if(!e.isCurrent()){i.push(...u);continue}let g=new Set(u),b=m.messages.filter(I=>g.has(I.id)),h=new Set(b.map(I=>I.id)),w=new Set(m.missingMessageIds.filter(I=>g.has(I)));r.push(...b.map(e.projectMessage)),d.push(...w);for(let I of u)!h.has(I)&&!w.has(I)&&i.push(I);}catch(m){i.push(...u),c=Bm(m);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:i,...c===void 0?{}:{failure:c}}}function ha(e,n,r){return e instanceof xr?Z({code:e.code,category:e.category,retryable:e.retryable,operation:n,conversation:r,cause:e}):_t(e,n,r)}var ba=new WeakMap;function Mo(e,n){let r=ba.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");ba.set(e,r);}var Gm={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_RECALL_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_RECALL_NOT_SENT",category:"state",retryable:false},expired:{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},"server-expired":{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_RECALL_UNSUPPORTED",category:"unsupported",retryable:false},timeout:{code:"IM_SDK_RECALL_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_RECALL_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_RECALL_DISCONNECTED",category:"network",retryable:true}},Hm={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_EDIT_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_EDIT_NOT_SENT",category:"state",retryable:false},recalled:{code:"IM_SDK_EDIT_RECALLED",category:"state",retryable:false},deleted:{code:"IM_SDK_EDIT_DELETED",category:"state",retryable:false},expired:{code:"IM_SDK_EDIT_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_EDIT_UNSUPPORTED",category:"unsupported",retryable:false},empty:{code:"IM_SDK_EDIT_EMPTY",category:"validation",retryable:false},restricted:{code:"IM_SDK_EDIT_RESTRICTED",category:"permission",retryable:false},"unsupported-content":{code:"IM_SDK_EDIT_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"no-key":{code:"IM_SDK_EDIT_KEY_UNAVAILABLE",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_EDIT_ENCRYPT_FAILED",category:"state",retryable:false},timeout:{code:"IM_SDK_EDIT_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_EDIT_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_EDIT_DISCONNECTED",category:"network",retryable:true}},al={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},restricted:{code:"IM_SDK_REACTION_FORBIDDEN",category:"permission",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},il={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},unsupported:{code:"IM_SDK_CHANNEL_DELETE_UNSUPPORTED",category:"unsupported",retryable:false},"not-sent":{code:"IM_SDK_CHANNEL_DELETE_NOT_SENT",category:"state",retryable:false},unavailable:{code:"IM_SDK_CHANNEL_DELETE_UNAVAILABLE",category:"state",retryable:false},forbidden:{code:"IM_SDK_CHANNEL_DELETE_FORBIDDEN",category:"permission",retryable:false},timeout:{code:"IM_SDK_CHANNEL_DELETE_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_CHANNEL_DELETE_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_CHANNEL_DELETE_DISCONNECTED",category:"network",retryable:true}};function sl(e,n,r){let d=Z({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function bo(e,n,r,d){if((n.conversationType==="group"||n.conversationType==="channel")&&e.getPinnedMessage(n)?.messageId===r){let i=Z({code:"IM_SDK_MESSAGE_PINNED",category:"state",operation:d,retryable:false,conversation:n,details:{messageId:r}});throw Object.assign(new Error(i.code),i)}}function jm(e,n){let r=Z({code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",operation:"history.loadAround",retryable:false,conversation:e,details:{messageId:n}});return Object.assign(new Error(r.code),r)}function Fr(e,n){let r=Z({code:"IM_SDK_MESSAGE_ANCHOR_UNAVAILABLE",category:"state",operation:"history.loadAround",retryable:true,conversation:e,details:{messageId:n}});return Object.assign(new Error(r.code),r)}var zm=3*1024*1024,Ca=200*1024*1024,cl=2*1024*1024*1024,dl=30*1024*1024,ll=4294967295,Vm=6,qm=4,Wm=16*1024;async function $m(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let r=new Uint8Array(await e.slice(0,6).arrayBuffer());if(r.length!==6)return false;let d=String.fromCharCode(...r);return d==="GIF87a"||d==="GIF89a"}var Jm={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"album-item-not-found":{code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",retryable:false},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function So(e,n,r,d,i={},c={}){c.signal?.throwIfAborted();let o=Object.freeze({...e}),u$1=n.pageSize??30,m={historySource:o.conversationType==="group"||o.conversationType==="channel"?"remote":"local",retention:{maxMessages:u$1*Vm},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,C)=>i.shouldEstablishRemoteLatestOnOpen?.(C)===true}},g=n.domainState.createMessageWindow({...m}),b=new WeakSet,h=new WeakSet,w=new Set,I=new Set,T=new Map,M,F,y$1=false,_=false,s=false,a=true,f=0,S=Object.freeze({state:"none"}),v=c.captureEntryUnread===true&&o.conversationType!=="robot",D=v?n.domainState.getSession(o):void 0,U=Math.max(0,D?.manuallyUnread===true?0:D?.unreadCount??0),B=v?n.domainState.getReadState(o):void 0,se=n.getSelfId(),pe=new Map,R=new Set,Q,fe,k=B?.readCursorSortKey,L=v?Object.freeze(U>0?{state:"pending",count:U}:{state:"none"}):void 0,X=0,Pe;function ge(p=new DOMException("\u5386\u53F2\u5BFC\u822A\u5DF2\u88AB\u65B0\u7684\u64CD\u4F5C\u53D6\u4EE3","AbortError")){let C=Pe;Pe=void 0;let P=++X;return C?.controller.abort(p),P}function x(){let p={version:ge(),controller:new AbortController};return Pe=p,p}function $(p){Pe===p&&(Pe=void 0);}let H,de,ue=0,be=false,Ee,_e;if(v)for(let p of n.domainState.getLoadedMessagesByConversation(o))pe.set(p.id,va$1(p,se)),B?.readCursor===(o.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(k=p.sortKey);let Se=new AbortController,qe=new WeakMap,je;function ae(){if(_)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function We(){let p=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(o),draft:n.domainState.getDraft(o),loading:T.size>0,stale:y$1,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:F,entryUnread:S,entryUnreadNavigation:L}}function On(p,C){return p.length===C.length&&p.every((P,N)=>P===C[N])}function en(p,C){return On(p.messages,C.messages)&&(p.context?.title??"")===(C.context?.title??"")&&(p.context?.avatar??"")===(C.context?.avatar??"")&&p.draft===C.draft&&p.loading===C.loading&&p.stale===C.stale&&p.hasOlder===C.hasOlder&&p.hasNewer===C.hasNewer&&p.error===C.error&&p.entryUnread===C.entryUnread&&p.entryUnreadNavigation===C.entryUnreadNavigation}function bn(p){let C=qe.get(p);if(C!==void 0)return C;let P=so(p);return qe.set(p,P),P}function Yn(p){let C=p.context;return {ref:o,...C===void 0?{}:{display:Object.freeze({title:C.title,...C.avatar===void 0?{}:{avatar:C.avatar}})},messages:Object.freeze(p.messages.map(bn)),entryUnread:p.entryUnread,...p.entryUnreadNavigation===void 0?{}:{entryUnreadNavigation:p.entryUnreadNavigation},draft:p.draft,loading:p.loading,stale:p.stale,hasOlder:p.hasOlder,hasNewer:p.hasNewer,...p.error===void 0?{}:{error:p.error}}}function E(){return ae(),Yn(We())}function j(){Ye();let p=We();if(je!==void 0&&en(je,p))return;je=p;let C=Yn(p);for(let P of w)try{P(C);}catch(N){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:N}});}}async function z(p){let C=g.window.list().find(N=>N.id===p)??n.domainState.getConversationMessage(o,p);if(C!==void 0)return {anchor:C,fallbackSeed:C};let P=await n.domainState.resolveConversationMessage(o,p,{throwOnStorageError:true});return P===void 0?void 0:{anchor:P,fallbackSeed:P}}async function q(p,C){if(C(),M!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let P=await z(p);C();let N=P?.fallbackSeed;if(P!==void 0&&(o.conversationType!=="channel"||N!==void 0&&Ur(N)))return o.conversationType==="channel"&&g.window.info().remotePagination===true?{...P,remoteSeed:N}:P;if(n.fetchMessagesByIdBatch===void 0)throw Fr(o,p);if(M!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let J=await n.fetchMessagesByIdBatch([p]);C();let ve=J.messages.find(Ce=>Ce.id===p&&Ce.conversationType===o.conversationType&&Ce.conversationId===o.conversationId);if(ve!==void 0){if(o.conversationType==="channel"){if(!Ur(ve))throw Fr(o,p);return {anchor:ve,remoteSeed:ve}}return {anchor:ve,fallbackSeed:ve}}if(!J.missingMessageIds.includes(p))throw Fr(o,p)}async function Ie(p,C,P,N=false){P();let{anchor:J}=C;if(C.remoteSeed!==void 0)return De(p,C.remoteSeed,P,N);let ve=await p.openAt(o,{anchorSortKey:J.sortKey,limit:u$1});P();let Ce=p.list().find(ie=>ie.id===J.id);if(p.info().remotePagination===true&&Ce!==void 0)return De(p,Ce,P,N);if(p.list().some(ie=>ie.id===J.id))return ve;if(C.fallbackSeed===void 0)throw Fr(o,J.id);if(m.historySource==="local"){let ie=p.info();return p.openAt(o,{anchorSortKey:J.sortKey,limit:u$1,seedMessages:[...ve.messages,C.fallbackSeed],seedHasOlder:ie.hasMore,seedHasNewer:ie.hasNewer})}return De(p,C.fallbackSeed,P,N)}async function De(p,C,P,N){let J=await p.openAt(o,{anchorSortKey:C.sortKey,limit:u$1,seedMessages:[C],seedHasNewer:true,seedRemotePagination:{}});return P(),N?(await ke(p,C,P),{...J,messages:p.list()}):J}async function ke(p,C,P){for(let N of ["older","newer"])if(!p.list().some(J=>qa(J)&&(N==="older"?J.sortKey<C.sortKey:J.sortKey>C.sortKey)))for(let J=0;J<qm;J+=1){P();let ve=p.info();if(!(N==="older"?ve.hasMore:ve.hasNewer))break;let Ce=N==="older"?await p.loadOlder({limit:u$1}):await p.loadNewer({limit:u$1});if(P(),Ce.stale)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");if(Ce.messages.length>0)break}}function Le(p,C,P){ae();let N=g,J=P?.window??N.window,ve=P?.isCurrent??(()=>!_&&g===N),Ce=()=>{if(ae(),!ve())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(M!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let ie=T.get(p);if(ie!==void 0)return ie;let Me=n.beginReceiving?.();F=void 0;let he=Promise.resolve().then(()=>(Ce(),C())).then(ze=>(Ce(),i.reconcilePage===void 0?ze:i.reconcilePage(ze,J))).then(ze=>{Ce(),y$1=ze.stale===true;}),ye=(P?.cancelled===void 0?he:Promise.race([he,P.cancelled])).catch(ze=>{let Nn=ze instanceof Pa$1?ze.cause:ze;throw ve()&&(F=ha(Nn,`history.${p}`,o)),a?ze:Nn}).finally(()=>{Me?.(),T.delete(p),_||j();});return T.set(p,ye),j(),ye}function Ae(){g.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1));}function Te(p){return i.shouldEstablishRemoteLatestOnOpen?.(p.list())===true||p.info().remotePagination===true&&(U>0||c.initialPosition==="first-unread"&&(n.domainState.getSession(o)?.unreadCount??0)>0)}async function Ue(){be=false,s?s=false:await Le("latest",()=>g.window.open(o,{limit:u$1})),Ae(),Te(g.window)&&(await Le("latest:remote",()=>g.window.loadOlder({limit:u$1,establishLatestOnly:true})),Ae()),be=!y$1,_n(g.window.list());}function nn(){if(ae(),de?.version===X)return de.promise;let p=x(),{version:C}=p,P=Un(p).finally(()=>{$(p),de?.version===C&&(de=void 0);});return de={version:C,promise:P},P}async function Un({version:p,controller:C}){let P=g,N=n.domainState.createMessageWindow(m),J=()=>!_&&!C.signal.aborted&&X===p&&g===P,ve=()=>{if(!J())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Ce=false,ie,Me=new Promise((Zn,Bn)=>{ie=Bn;}),he=()=>{Ce||N.dispose(),ie(C.signal.reason);};C.signal.addEventListener("abort",he,{once:true});let ye={window:N.window,isCurrent:J,cancelled:Me},ze=(Zn,Bn)=>Le(Zn,async()=>{let yn=await Bn();if(yn.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return yn},ye),Nn=(async()=>{await ze(`latest:${p}`,()=>N.window.open(o,{limit:u$1})),ve(),N.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1)),Te(N.window)&&(await ze(`latest:remote:${p}`,()=>N.window.loadOlder({limit:u$1,establishLatestOnly:true})),ve(),N.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1))),g=N,Ce=true,P.dispose(),be=true,y$1=false,_n(N.window.list()),j();})();try{await Promise.race([Nn,Me]);}finally{C.signal.removeEventListener("abort",he),Ce||N.dispose();}}function _n(p){let C=i.resolveReadMessageId?.(p);Ee=i.resolveReadMessageId===void 0?p.at(-1):p.find(P=>P.id===C);}function Xn(p){return R.has(p.id)||Q===void 0||p.sortKey>Q||k!==void 0&&p.sortKey<=k?false:pe.get(p.id)??va$1(p,se)}function xn(){if(!v||U<=0||g.window.info().remotePagination===true&&!be&&S.state!=="located")return;h.add(g.window);let C=g.window.list().filter(P=>!R.has(P.id));Q=C.at(-1)?.sortKey;for(let P of C)pe.has(P.id)||pe.set(P.id,va$1(P,se));if(c.initialPosition==="first-unread"&&S.state==="located"){fe=S.firstMessageId,L=Object.freeze({state:"located",count:U,firstMessageId:S.firstMessageId});return}Ye();}function Ye(){if(!v||U<=0||fe!==void 0||Q===void 0||L?.state==="none")return;let p=g.window.list();if(!p.some(J=>J.sortKey===Q))return;let C=p.filter(J=>Xn(J)&&qa(J)&&J.recalled===void 0&&J.deletedForEveryone===void 0);if(C.length<U)return;let P=C.slice(-U);if(P.every(J=>J.contentType==="system")){L=Object.freeze({state:"none"});return}let N=P[0];fe=N.id,S=Object.freeze({state:"located",firstMessageId:N.id,count:U}),L=Object.freeze({state:"located",firstMessageId:N.id,count:U});}function Mn(p={}){if(ae(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(H!==void 0){if(!H.controller.signal.aborted&&H.version===X&&H.callerSignal===p.signal)return H.promise;H.controller.abort();}if(L===void 0||L.state==="none")return Promise.resolve(false);let C=x(),{version:P,controller:N}=C,J=g.window.list(),ve=J.find(tn=>tn.id===fe),Ce=g.window.info();if(M===void 0&&T.size===0&&!y$1&&!Se.signal.aborted&&h.has(g.window)&&ve!==void 0&&qa(ve)&&ve.recalled===void 0&&ve.deletedForEveryone===void 0&&(!Ce.hasMore||J.some(tn=>qa(tn)&&tn.sortKey<ve.sortKey))&&(!Ce.hasNewer||J.some(tn=>qa(tn)&&tn.sortKey>ve.sortKey)))return S=Object.freeze({state:"located",firstMessageId:ve.id,count:U}),L=Object.freeze({state:"located",firstMessageId:ve.id,count:U}),j(),$(C),Promise.resolve(true);let ie=n.domainState.createMessageWindow(m),Me=()=>!_&&!N.signal.aborted&&X===P,he=()=>{if(!Me())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},ye=async tn=>{he();let cn=await tn();if(he(),i.reconcilePage!==void 0&&(cn=await i.reconcilePage(cn,ie.window)),he(),cn.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");ie.window.applyIncoming(ie.window.list().map(zn=>n.domainState.getConversationMessage(o,zn.id)??zn));},ze=false,Nn,Zn=new Promise((tn,cn)=>{Nn=cn;}),Bn=()=>{ze||ie.dispose(),Nn(N.signal.reason);},yn=()=>N.abort(p.signal?.reason),pn=()=>N.abort(Se.signal.reason);N.signal.addEventListener("abort",Bn,{once:true}),p.signal?.addEventListener("abort",yn,{once:true}),Se.signal.addEventListener("abort",pn,{once:true}),Se.signal.aborted&&pn();let et=n.beginReceiving?.(),Ht=(async()=>{try{let tn=!1;Q===void 0&&(await ye(()=>ie.window.open(o,{limit:u$1})),Te(ie.window)&&await ye(()=>ie.window.loadOlder({limit:u$1,establishLatestOnly:!0})),Q=ie.window.list().filter(kn=>!R.has(kn.id)).at(-1)?.sortKey,tn=!0);let cn=fe,zn=cn===void 0?void 0:await z(cn);if(he(),cn!==void 0&&zn===void 0)return L=Object.freeze({state:"unavailable",count:U}),!1;let Dn=zn===void 0?await va({conversation:o,pageSize:u$1,maxExtraPages:Number.POSITIVE_INFINITY,preserveLocatedWindow:ie.window.info().remotePagination===!0,...Q===void 0?{}:{entryUpperSortKey:Q},unreadCount:U,...k===void 0?{}:{readCursorSortKey:k},signal:N.signal,selfId:se,isEntryUnread:Xn,...o.conversationType!=="channel"||!B?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async kn=>{let qn=await n.loadEntryUnreadPage({readCursor:B.readCursor,...kn===void 0?{}:{cursor:kn},signal:N.signal,isCurrent:Me});return he(),qn}},paginationKey:()=>ie.window.getPaginationKey(),list:()=>ie.window.list(),hasOlder:()=>ie.window.info().hasMore,hasNewer:()=>ie.window.info().hasNewer,openLatest:async()=>{if(tn){tn=!1;return}await ye(()=>ie.window.open(o,{limit:u$1})),Te(ie.window)&&await ye(()=>ie.window.loadOlder({limit:u$1,establishLatestOnly:!0}));},openAt:(kn,qn)=>(tn=!1,ye(()=>ie.window.openAt(o,{anchorSortKey:kn,limit:u$1,...qn===void 0?{}:{seedMessages:qn.messages.map(gt=>n.domainState.getConversationMessage(o,gt.id)??gt),seedHasNewer:qn.hasNewer,seedRemotePagination:qn.nextCursor===void 0?{}:{newerCursor:qn.nextCursor}}}))),loadOlder:()=>ye(()=>ie.window.loadOlder({limit:u$1})),loadNewer:()=>ye(()=>ie.window.loadNewer({limit:u$1}))}):await(async()=>(await ye(()=>Ie(ie.window,zn,he)),{state:"located",firstMessageId:zn.anchor.id,count:U}))();if(he(),Dn.state!=="located")return L=Object.freeze(Dn.state==="none"?{state:"none"}:{state:"unavailable",count:U}),!1;let Vn=ie.window.list().find(kn=>kn.id===Dn.firstMessageId);if(Vn===void 0||!qa(Vn)||Vn.recalled!==void 0||Vn.deletedForEveryone!==void 0)return L=Object.freeze({state:"unavailable",count:U}),!1;ie.window.info().remotePagination===!0&&await ye(async()=>(await ke(ie.window,Vn,he),{conversationId:o.conversationId,messages:ie.window.list(),stale:!1})),he();let mt=ie.window.list().find(kn=>kn.id===Dn.firstMessageId);if(mt===void 0||!qa(mt)||mt.recalled!==void 0||mt.deletedForEveryone!==void 0)return L=Object.freeze({state:"unavailable",count:U}),!1;let ft=g;return g=ie,ze=!0,ft.dispose(),h.add(ie.window),fe=Dn.firstMessageId,S=Dn,L=Object.freeze({state:"located",count:U,firstMessageId:Dn.firstMessageId}),F=void 0,!0}catch(tn){let cn=tn instanceof Pa$1?tn.cause:tn;if(Me()){let zn=ha(cn,"history.loadEntryUnread",o);L=Object.freeze({state:"failed",count:U,error:zn});}throw cn}})(),dr=Promise.race([Ht,Zn]).finally(()=>{N.signal.removeEventListener("abort",Bn),$(C),p.signal?.removeEventListener("abort",yn),Se.signal.removeEventListener("abort",pn),ze||ie.dispose(),et?.(),H?.controller===N&&(H=void 0),_||j();});return H={version:P,callerSignal:p.signal,controller:N,promise:dr},dr}async function sn(){if(be){let P=new Map,N=n.domainState.getLoadedMessagesByConversation(o);for(let ve of [Ee,...N])ve!==void 0&&P.set(ve.id,n.domainState.getConversationMessage(o,ve.id)??ve);let J=[...P.values()].sort((ve,Ce)=>ve.sortKey.localeCompare(Ce.sortKey));return _n(J),Ee?.id}let p=ue,C=n.domainState.createMessageWindow(m);try{let P=await C.window.open(o,{limit:u$1});if(ae(),P.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(Te(C.window)){let J=await C.window.loadOlder({limit:u$1,establishLatestOnly:!0});if(ae(),J.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");_n(C.window.list()),be=!0;let N=C.window.list();return i.resolveReadMessageId===void 0?N.at(-1)?.id:i.resolveReadMessageId(N)}finally{C.dispose();}}async function gn(){let p=n.domainState.getSession(o),C=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),P=n.domainState.getReadState(o),N=P?.readCursor,ve=(N===void 0||N===""?void 0:o.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(o).find(Ce=>Ce.extensions?.historyCursor===N):n.domainState.getConversationMessage(o,N))?.sortKey??P?.readCursorSortKey;if(S=await va({conversation:o,pageSize:u$1,unreadCount:C,...ve===void 0?{}:{readCursorSortKey:ve},signal:Se.signal,...o.conversationType!=="channel"||N===void 0||N===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Ce=>{let ie=g.window.getRevision(),Me=()=>!_&&!Se.signal.aborted&&g.window.getRevision()===ie,he=await n.loadEntryUnreadPage({readCursor:N,...Ce===void 0?{}:{cursor:Ce},signal:Se.signal,isCurrent:Me});if(Se.signal.throwIfAborted(),!Me())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return he}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:Ue,openAt:(Ce,ie)=>{if(ie===void 0&&o.conversationType==="channel"&&N!==void 0&&N!==""&&n.loadEntryUnreadPage!==void 0)return Promise.resolve();s=false;let Me=ie?.messages.map(ze=>n.domainState.getConversationMessage(o,ze.id)??ze),he=ie?.messages.find(ze=>ze.sortKey===Ce)?.id,ye=he===void 0?Ce:Me?.find(ze=>ze.id===he)?.sortKey??Ce;return Le(`entry-unread:${Ce}`,()=>g.window.openAt(o,{anchorSortKey:ye,limit:u$1,...ie===void 0?{}:{seedMessages:Me,seedHasNewer:ie.hasNewer,seedRemotePagination:ie.nextCursor===void 0?{}:{newerCursor:ie.nextCursor}}}))},loadOlder:()=>Le("entry-unread:older",()=>g.window.loadOlder({limit:u$1})),loadNewer:()=>Le("entry-unread:newer",()=>g.window.loadNewer({limit:u$1}))}),S.state==="located"&&g.window.info().remotePagination===true){let Ce=S.firstMessageId,ie=g.window.list().find(he=>he.id===Ce);ie!==void 0&&await Le("entry-unread:context",async()=>(await ke(g.window,ie,()=>{Se.signal.throwIfAborted(),ae();}),{conversationId:o.conversationId,messages:g.window.list(),stale:false}));let Me=g.window.list().find(he=>he.id===Ce);(Me===void 0||!qa(Me)||Me.recalled!==void 0||Me.deletedForEveryone!==void 0)&&(S=Object.freeze({state:"unavailable"}));}}let rr=n.emitter.subscribe(p=>{if(!(_||!("conversation"in p)||p.conversation===void 0)&&!(p.conversation.conversationType!==o.conversationType||p.conversation.conversationId!==o.conversationId)){if((p.type==="conversation-history:cleared"||p.type==="session:removed")&&(Se.abort(),ge(),S=Object.freeze({state:"none"}),v&&(L=Object.freeze({state:"none"})),ue+=1,_e?.dispose(),_e=void 0,be=false,Ee=void 0),p.type==="message:received"&&p.source==="live"&&(v&&R.add(p.message.id),be&&(Ee===void 0||p.message.sortKey>Ee.sortKey)&&(i.resolveReadMessageId===void 0||i.resolveReadMessageId([p.message])===p.message.id)&&(Ee=p.message)),p.type==="draft:updated"||p.type==="draft:cleared"){let C=p.type==="draft:updated"?p.draft:null;for(let P of I)try{P(C);}catch(N){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:N}});}}j();}});function or(){return c.initialPosition==="first-unread"?gn():Ue()}let Hn=()=>{Se.abort(c.signal?.reason),g.dispose();};c.signal?.addEventListener("abort",Hn,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await Le("initial:local",()=>g.window.open(o,{limit:u$1})),c.signal?.throwIfAborted(),Ae(),s=!0;try{await or();}catch(p){if(c.signal?.throwIfAborted(),p instanceof Pa$1)throw p;F=ha(p,"history.initial",o),c.initialPosition==="first-unread"&&(S=Object.freeze({state:"unavailable"}));}finally{s=!1;}}else await or();c.signal?.throwIfAborted();}catch(p){throw _=true,Se.abort(),rr(),w.clear(),g.dispose(),p instanceof Pa$1?p.cause:p}finally{c.signal?.removeEventListener("abort",Hn);}a=false,xn();function Qe(p,C){let P=n.domainState.getConversationMessage(o,p);return P!==void 0&&P.conversationType===o.conversationType&&P.conversationId===o.conversationId?{ok:true,message:Xt(P)}:{ok:false,error:Z({code:P===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:o})}}async function un(p,C,P){let N=await i.getSendPermissionError?.(p);if(ae(),N!==void 0){if(P===void 0)return {ok:false,error:N};let J=await P(N);return ae(),J}try{let J=await C();return ae(),J}catch(J){if(_)throw J;return {ok:false,error:_t(J,p,o)}}}async function ut(p,C={}){let P="name"in p?p.name:void 0,N=C.fileName??(typeof P=="string"&&P!==""?P:void 0);return {...o,data:p,...p.type===""?{}:{mimeType:p.type},...N===void 0?{}:{filename:N},...o.conversationType==="robot"?{encrypted:false}:{},...C.localPreviewUrl===void 0?{}:{localPreviewUrl:C.localPreviewUrl},...C.localPreviewMetadata===void 0?{}:{localPreviewMetadata:C.localPreviewMetadata},...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}}}function Qn(p){return p===void 0||Number.isFinite(p.width)&&p.width>0&&Number.isFinite(p.height)&&p.height>0}function ct(p){return Qn(p)&&(p?.duration===void 0||Number.isFinite(p.duration)&&p.duration>0)&&(p?.posterData===void 0||p.posterData instanceof Uint8Array&&p.posterData.length>0&&p.posterData.length<=Wm)}function jn(p){return p!==void 0&&"duration"in p&&p.duration!==void 0&&Number.isFinite(p.duration)&&p.duration>0}function Re(p,C,P){return {ok:false,error:Z({code:p,category:C,operation:P,retryable:false,conversation:o})}}function ar(p,C){if(p===null||typeof p!="object"||p.kind!==C||!Number.isSafeInteger(p.width)||p.width<=0||p.width>ll||!Number.isSafeInteger(p.height)||p.height<=0||p.height>ll)return false;let P;try{P=new URL(p.url);}catch{return false}if(P.protocol!=="http:"&&P.protocol!=="https:"||P.username!==""||P.password!=="")return false;let N=p.resourceId;if(N!==void 0&&(typeof N!="string"||N.trim()===""))return false;if(C==="gif")return !Object.prototype.hasOwnProperty.call(p,"packageId");let J=p.packageId;return typeof N=="string"&&N.trim()!==""&&typeof J=="string"&&J.trim()!==""}function Rn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function Ro(p,C,P){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:C});throw Rn(Z({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:P,retryable:false,conversation:o,details:{targetConversationType:p,targetConversationId:C}}))}async function ir(p,C,P){let N;try{N=await n.forwardMessages({messages:C,targets:P.map(J=>({...J}))});}catch(J){throw Rn(_t(J,p,o))}return ae(),Object.freeze({sent:Object.freeze(N.results.flatMap(J=>J.ok?[{conversation:Ro(J.targetConversationType,J.targetConversationId,p),messageId:J.newMessageId}]:[])),failed:Object.freeze(N.results.flatMap(J=>J.ok?[]:[{sourceMessageId:J.sourceMessageId,conversation:Object.freeze({conversationType:J.targetConversationType,conversationId:J.targetConversationId}),error:Z({...Jm[J.reason],operation:p,conversation:{conversationType:J.targetConversationType,conversationId:J.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...N.skippedSourceIds])})}function pt(p,C){let P=n.domainState.getConversationMessage(o,p);if(P===void 0){let N=n.domainState.getMessagesById(p)[0];throw Rn(Z({code:N===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:o}))}if(P.conversationType!==o.conversationType||P.conversationId!==o.conversationId)throw Rn(Z({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:o}));return P}function dt(p,C){return Rn(Z({...C,operation:p,conversation:o}))}function St(p,C){let P=Z({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:o,...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),P,{name:"ImLocalMessageDeletionError"})}function Kt(p,C){let P=Z({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:o,...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),P,{name:"ImLocalConversationHistoryClearError"})}function G(){if(_)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(M!==void 0)return M;let p=new DOMException("\u672C\u6B21\u6E05\u5386\u53F2\u5DF2\u53D6\u6D88\u65E7\u7A97\u53E3\u5BFC\u822A","AbortError");ge(p),n.invalidateHistory?.(o,p);let C=[...T.values()],P=Promise.all(C.map(N=>N.catch(J=>{if(J!==p)throw J}))).then(async()=>{ae();let N=[...n.domainState.getMessagesByConversation(o),...g.window.list()];if(n.hasOutboxForConversation(o)||N.some(J=>n.isOutboxOwned(J.id)))throw Kt("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(N.some(J=>J.status==="pending"||J.status==="uploading"||J.status==="sending"))throw Kt("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(o),ae(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(N=>{throw N instanceof Error&&N.name==="ImLocalConversationHistoryClearError"?N:Kt("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",N)}).finally(()=>{M===P&&(M=void 0);});return M=P,P}async function Br(p,C){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(o,p);}catch(P){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${C}\uFF09`,cause:P}});}}async function Bt(p,C,P,N,J){return un(p,async()=>{if(C==="image"){let Me=await lo(P);if(ae(),!Me)return Re("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let ve=await ut(P,N);if(ae(),C!==void 0&&ve.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Me=new AbortController,he=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++f}`,kind:C,file:P,signal:Me.signal});if(ae(),he===void 0||(C==="image"?!Qn(he):!ct(he)))return Re(C==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);ve.localPreviewMetadata=he;}if(C==="video"&&(n.prepareMediaPreview!==void 0||ve.localPreviewMetadata!==void 0)&&!jn(ve.localPreviewMetadata))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let Ce=i.recheckSendPermissionError?.(p);if(Ce!==void 0)return {ok:!1,error:Ce};let ie=await J({...ve,...N.filesAlbum===void 0?{}:{filesAlbum:N.filesAlbum},...N.caption===void 0||N.caption===""?{}:{caption:N.caption}});return ie.ok?(ae(),Qe(ie.messageId,p)):{ok:!1,error:wr(ie.reason,p,o)}})}async function Kn(p,C){let P="messages.sendMediaAlbum";if(p.length===0)return Re("IM_SDK_MEDIA_ALBUM_EMPTY","validation",P);if(p.length>q$1)return Re("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",P);if(C.caption!==void 0&&Array.from(C.caption).length>p$1)return Re("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",P);for(let N of p){if(N.file.type==="image/gif")return Re("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",P);if(N.kind==="image"){if(N.file.size>dl)return Re("IM_SDK_IMAGE_TOO_LARGE","validation",P);if(!Qn(N.localPreviewMetadata))return Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P)}else {if(N.file.size>Ca)return Re("IM_SDK_VIDEO_TOO_LARGE","validation",P);if(!ct(N.localPreviewMetadata))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P)}}return un(P,async()=>{for(let ie of p){if(ie.kind!=="image")continue;let Me=await lo(ie.file);if(ae(),!Me)return Re("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",P)}let N=await Promise.all(p.map(async ie=>{if(ie.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return ie.localPreviewMetadata;let Me=new AbortController;return n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${P}:${++f}`,kind:ie.kind,file:ie.file,signal:Me.signal})}));ae();let J=[];for(let[ie,Me]of p.entries()){let he=N[ie];if(Me.kind==="image"&&!Qn(he))return Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P);if(Me.kind==="video"){if(!ct(he))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P);if(n.prepareMediaPreview!==void 0&&!jn(he))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",P)}let ye="name"in Me.file?Me.file.name:void 0;J.push({kind:Me.kind,data:Me.file,...Me.file.type===""?{}:{mimeType:Me.file.type},...typeof ye=="string"&&ye!==""?{filename:ye}:{},...Me.localPreviewUrl===void 0?{}:{localPreviewUrl:Me.localPreviewUrl},...he===void 0?{}:{localPreviewMetadata:he}});}let ve=i.recheckSendPermissionError?.(P);if(ve!==void 0)return {ok:!1,error:ve};let Ce=await n.sendMediaAlbum({...o,items:J,...C.caption===void 0||C.caption.trim()===""?{}:{caption:C.caption},...C.hd===void 0?{}:{hd:C.hd},...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Ce.ok?(ae(),Qe(Ce.messageId,P)):{ok:!1,error:wr(Ce.reason,P,o)}})}function sr(p,C,P){let N=pt(p,P);if(!(N.contentType===C||C==="file"&&N.contentType==="filesAlbum"&&N.body.filesAlbum?.items.length===1)||N.status!=="failed"||!(N.failure?.displayCode==="media.uploadInterrupted"||N.failure?.displayCode==="media.cancelled"||N.failure?.displayCode==="media.uploadTimeout"&&N.failure.retryable===false)||n.isOutboxOwned(p))throw Rn(Z({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:o}));return N}async function Gt(p,C,P,N,J,ve){return sr(C,P,p),un(p,async()=>{let Ce=await ut(N,J);if(P==="video"&&Ce.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let he=new AbortController,ye=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++f}`,kind:"video",file:N,signal:he.signal});if(ae(),ye===void 0||!ct(ye))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);Ce.localPreviewMetadata=ye;}if(P==="video"&&(n.prepareMediaPreview!==void 0||Ce.localPreviewMetadata!==void 0)&&!jn(Ce.localPreviewMetadata))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let ie=i.recheckSendPermissionError?.(p);if(ie!==void 0)return {ok:!1,error:ie};sr(C,P,p);let Me=await ve(C,{...Ce,...J.caption===void 0||J.caption===""?{}:{caption:J.caption}});return Me.ok?(ae(),Qe(Me.messageId,p)):{ok:!1,error:wr(Me.reason,p,o)}})}let cr={ref:o,getSnapshot:E,subscribe(p){return ae(),w.add(p),()=>w.delete(p)},resolveMessage:async p=>{ae();let C=g.window.list().find(P=>P.id===p)??await n.domainState.resolveConversationMessage(o,p);return C===void 0?null:bn(C)},history:{loadEntryUnread:p=>Mn(p),loadLatest:async()=>nn(),loadOlder:async()=>(ae(),ge(),Le("older",()=>g.window.loadOlder({limit:u$1}))),loadNewer:async()=>{ae(),ge(),await Le("newer",()=>g.window.loadNewer({limit:u$1})),ae(),g.window.info().hasNewer||(Ae(),j());},loadAround:async(p,C={})=>{if(ae(),C.signal?.aborted===true)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u53D6\u6D88","AbortError");let P=x(),{version:N,controller:J}=P;if(M===void 0&&o.conversationType==="channel"&&b.has(g.window)&&n.domainState.getPinnedMessage(o)?.messageId===p&&g.window.list().some(yn=>yn.id===p&&Ur(yn))){$(P);return}let ve=g,Ce=()=>!_&&!J.signal.aborted&&X===N&&g===ve,ie=()=>{if(ae(),!Ce())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Me,he=false,ye,ze=new Promise((yn,pn)=>{ye=pn;}),Nn=()=>{he||Me?.dispose(),ye(J.signal.reason);},Zn=()=>J.abort(C.signal?.reason);J.signal.addEventListener("abort",Nn,{once:true}),C.signal?.addEventListener("abort",Zn,{once:true});let Bn=(async()=>{let yn=await q(p,ie);if(ie(),yn===void 0)throw jm(o,p);if(yn.anchor.conversationType!==o.conversationType||yn.anchor.conversationId!==o.conversationId)throw Fr(o,p);Me=n.domainState.createMessageWindow(m);let pn=Me.window;await Le(`around:${p}:${N}`,async()=>(ie(),Ie(pn,yn,ie,true)),{window:pn,isCurrent:Ce,cancelled:ze}),ie(),g=Me,yn.remoteSeed!==void 0&&b.add(pn),he=true,ve.dispose(),j();})();try{await Promise.race([Bn,ze]);}finally{C.signal?.removeEventListener("abort",Zn),J.signal.removeEventListener("abort",Nn),$(P),he||Me?.dispose();}},clearLocal:async()=>(ae(),G())},messages:{sendText:async(p,C={})=>{ae();let P=r(o,p,C);if("code"in P)return {ok:false,error:P};let N=n.domainState.getDraft(o)?.updatedAt;return un("messages.sendText",async()=>{let J=await n.sendText(P);return ae(),await Br(N,"messages.sendText"),Qe(J.id,"messages.sendText")},async J=>{let ve=i.appendTextPermissionFailure?.(P);return ve===void 0?{ok:false,error:J}:(await Br(N,"messages.sendText"),{ok:true,message:Xt(ve)})})},sendContact:async(p,C={})=>{ae();let P=p.targetId.trim(),N=p.displayName.trim();if(P===""||N==="")return {ok:false,error:Z({code:P===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:o})};let J={...o,contact:{...p,targetId:P,displayName:N},encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}};return un("messages.sendContact",async()=>{let ve=await n.sendContact(J);return Qe(ve.id,"messages.sendContact")})},sendImage:async(p,C={})=>(ae(),p.size>dl?Re("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):C.caption!==void 0&&C.caption!==""?Re("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):Qn(C.localPreviewMetadata)?Bt("messages.sendImage","image",p,C,n.sendImage):Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,C={})=>(ae(),Kn(p,C)),sendVideo:async(p,C={})=>(ae(),p.size>Ca?Re("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):ct(C.localPreviewMetadata)?Bt("messages.sendVideo","video",p,C,n.sendVideo):Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,C,P={})=>(ae(),C.size>Ca?Re("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):ct(P.localPreviewMetadata)?Gt("messages.replaceInterruptedVideo",p,"video",C,P,n.replaceVideo):Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(p,C)=>(ae(),un("messages.sendVoice",async()=>{let P=await ut(p,C),N=i.recheckSendPermissionError?.("messages.sendVoice");if(N!==void 0)return {ok:!1,error:N};let J=await n.sendVoice({...P,durationMs:C.durationMs,...C.waveform===void 0?{}:{waveform:[...C.waveform]}});return J.ok?(ae(),Qe(J.messageId,"messages.sendVoice")):{ok:!1,error:wr(J.reason,"messages.sendVoice",o)}})),sendFile:async(p,C={})=>{if(ae(),p.size>cl)return Re("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(C.caption!==void 0&&Array.from(C.caption).length>p$1)return Re("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let P=C.fileName??("name"in p?p.name:void 0);return typeof P!="string"||P.trim()===""?Re("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):Bt("messages.sendFile",void 0,p,C,n.sendFile)},sendGif:async(p,C={})=>(ae(),p.size>zm?Re("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await $m(p)?Bt("messages.sendGif",void 0,p,C,P=>n.sendGif(P)):Re("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,C={})=>(ae(),ar(p,"sticker")?un("messages.sendSticker",async()=>{let P=await n.sendExpression({...o,asset:p,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendSticker")}):Re("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,C={})=>(ae(),ar(p,"gif")?un("messages.sendGifAsset",async()=>{let P=await n.sendExpression({...o,asset:p,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendGifAsset")}):Re("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,C={})=>(ae(),p!=="rock-paper-scissors"&&p!=="dice"?Re("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):un("messages.sendGame",async()=>{let P=await n.sendGame({...o,gameType:p,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendGame")})),sendMiniProgram:async(p,C={})=>(ae(),w$1(p)?un("messages.sendMiniProgram",async()=>{let P=await n.sendMiniProgram({...o,miniProgram:p,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendMiniProgram")}):Re("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,C={})=>(ae(),o.conversationType==="channel"||o.conversationType==="robot"?Re("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):y(p)?un("messages.sendTransfer",async()=>{let P=await n.sendTransfer({...o,transfer:p,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendTransfer")}):Re("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,C={})=>(ae(),o.conversationType==="channel"||o.conversationType==="robot"?Re("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):t$1(p)?un("messages.sendGift",async()=>{let P=await n.sendGift({...o,gift:p,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendGift")}):Re("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),sendLiveRoom:async(p,C={})=>(ae(),u(p)?un("messages.sendLiveRoom",async()=>{let P=await n.sendLiveRoom({...o,liveRoom:p,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Qe(P.id,"messages.sendLiveRoom")}):Re("IM_SDK_LIVE_ROOM_BODY_INVALID","validation","messages.sendLiveRoom")),toggleReaction:async(p,C)=>{ae(),pt(p,"messages.toggleReaction");let P=await n.setReaction({conversation:o,parentMessageId:p,emoji:C,action:"toggle"});if(ae(),!P.ok)throw dt("messages.toggleReaction",al[P.reason]);return Object.freeze({messageId:p,eventId:P.event.id,emoji:P.event.emoji,action:P.event.action===0?"add":"remove"})},setReaction:async(p,C,P)=>{ae(),pt(p,"messages.setReaction");let N=await n.setReaction({conversation:o,parentMessageId:p,emoji:C,action:P});if(ae(),!N.ok)throw dt("messages.setReaction",al[N.reason]);return Object.freeze({messageId:p,eventId:N.event.id,emoji:N.event.emoji,action:N.event.action===0?"add":"remove"})},replaceInterruptedFile:async(p,C,P={})=>{if(ae(),C.size>cl)return Re("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(P.caption!==void 0&&P.caption!=="")return Re("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let N=P.fileName??("name"in C?C.name:void 0);return typeof N!="string"||N.trim()===""?Re("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Gt("messages.replaceInterruptedFile",p,"file",C,{...P,fileName:N},n.replaceFile)},editText:async(p,C,P={})=>{ae(),pt(p,"messages.editText"),bo(n.domainState,o,p,"messages.editText");let N=d(o,p,C,P);if("code"in N)throw Rn(N);let J;try{J=await n.editMessage(N);}catch(ve){throw Rn(_t(ve,"messages.editText",o))}if(ae(),!J.ok)throw dt("messages.editText",Hm[J.reason]);return Xt(pt(p,"messages.editText"))},recall:async p=>{ae(),pt(p,"messages.recall"),bo(n.domainState,o,p,"messages.recall");let C;try{C=await n.recallMessage({...o,messageId:p});}catch(P){throw Rn(_t(P,"messages.recall",o))}if(ae(),!C.ok)throw dt("messages.recall",Gm[C.reason])},deleteLocal:async p=>{ae(),bo(n.domainState,o,p,"messages.deleteLocal");let C=n.domainState.getConversationMessage(o,p);if(n.isOutboxOwned(p))throw St("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(C!==void 0&&C.conversationType===o.conversationType&&C.conversationId===o.conversationId&&(C.status==="pending"||C.status==="uploading"||C.status==="sending"))throw St("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(o);let P=await n.domainState.deleteLocalMessage(o,p);return ae(),Object.freeze({scope:"local-only",messageId:p,deleted:P,remoteHistory:"remote-history-may-restore"})}catch(P){throw P instanceof Error&&"code"in P&&P.code==="IM_MESSAGE_PINNED"?St("IM_SDK_MESSAGE_PINNED",P):P instanceof Error&&P.name==="ImLocalMessageDeletionError"?P:St("IM_SDK_LOCAL_DELETE_FAILED",P)}},forward:async(p,C)=>{if(ae(),p.length===0||C.length===0)throw Rn(Z({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:o}));return ir("messages.forward",p.map(P=>({id:P,...o})),C)},forwardMediaAlbumItem:async(p,C,P)=>{ae();let N="messages.forwardMediaAlbumItem";if(p.trim()===""||P.length===0)throw Rn(Z({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:N,retryable:false,conversation:o}));if(!Number.isInteger(C)||C<0)throw Rn(Z({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:N,retryable:false,conversation:o,details:{itemIndex:C}}));return ir(N,[{id:p,...o,itemIndex:C}],P)},fetchByIds:async p=>{ae();let C=n.fetchMessagesByIdBatch;if(C===void 0)throw Rn(Z({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:o}));let P=n.beginReceiving?.();try{let N=await ol({messageIds:p,fetchBatch:C,isCurrent:()=>!_,projectMessage:bn});return Object.freeze({messages:Object.freeze([...N.messages]),missingMessageIds:Object.freeze([...N.missingMessageIds]),unresolvedMessageIds:Object.freeze([...N.unresolvedMessageIds]),...N.failure===void 0?{}:{failure:Object.freeze(N.failure)}})}finally{P?.();}}},draft:{get:async()=>(ae(),n.drafts.get(o)),save:async p=>(ae(),n.drafts.save(o,p)),clear:async()=>{ae(),await n.drafts.clear(o);},subscribe(p){return ae(),I.add(p),()=>I.delete(p)}},markRead:async p=>{ae();let C=g.window.list();if(p!==void 0&&!C.some(N=>N.id===p))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${p}`);let P=i.resolveReadMessageId===void 0?p??C.at(-1)?.id:i.resolveReadMessageId(C,p);P!==void 0&&await n.markRead({...o,readCursor:P});},markConversationRead:async()=>{if(ae(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=ue,C=await sn();if(ae(),p!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(o.conversationType==="channel"&&C===void 0&&g.window.list().length>0)throw new Error("\u5F53\u524D\u9891\u9053\u7F3A\u5C11\u53EF\u4FE1\u7684\u6700\u65B0\u5DF2\u8BFB\u6D88\u606F");if(C!==void 0&&n.domainState.getConversationMessage(o,C)===void 0){let P=Ee?.id===C?Ee:void 0;if(P===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");_e??=n.domainState.createMessageWindow({retention:{maxMessages:u$1}});let N=await _e.window.openAt(o,{anchorSortKey:P.sortKey,limit:u$1,seedMessages:[P],seedHasNewer:false});if(ae(),N.stale||p!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(o,C);},markVisibleMessages:async p=>{if(ae(),n.markVisibleMessages===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u80FD\u529B");let C=[...new Set(p)];if(C.some(P=>!g.window.list().some(N=>N.id===P)))throw new Error("\u53EF\u89C1\u56DE\u6267\u5305\u542B\u5F53\u524D\u8FDE\u7EED\u7A97\u53E3\u4E4B\u5916\u7684\u6D88\u606F");C.length>0&&await n.markVisibleMessages(o,C);},setMuted:async p=>(ae(),n.setMuted(o,p)),close(){_||(_=true,Se.abort(),ge(),rr(),w.clear(),I.clear(),_e?.dispose(),g.dispose());}};return ba.set(cr,{getMessages:()=>(ae(),g.window.list()),resolveMessage:async p=>(ae(),g.window.list().find(C=>C.id===p)??n.domainState.resolveConversationMessage(o,p))}),cr}var Ym=5e3;async function ul(e,n,r={}){let d=false,i,c;function o(){let b=Date.now();if(i!==void 0&&b-i.checkedAt<Ym)return Promise.resolve(i.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(w=>(i={value:w,checkedAt:Date.now()},w)).catch(w=>(d=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:w}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===h&&(c=void 0);});return c=h,h}async function u(b){if(!n.shouldCheckRelationship())return;let h=await o();if(h!=="friend"){if(h==="unknown"){d||(d=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:h}}}));return}return Z({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:b,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&o();let m=await So(e,n,(b,h,w)=>w.mentions!==void 0&&w.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:b}):{...b,text:h,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}},(b,h,w,I)=>I.mentions!==void 0&&I.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:b}):{...b,messageId:h,text:w},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...m,messages:{...m.messages,async markMediaConsumed(b){let h=n.domainState.getConversationMessage(e,b);if(h===void 0||h.senderId===n.getSelfId()||h.contentType!=="voice"&&h.contentType!=="video"){let w=Z({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(w.code),w)}await n.markDirectMediaConsumed(e.conversationId,b);}}};return Mo(g,m),g}async function pl(e,n,r={}){return So(e,n,(d,i,c)=>{let o=Lr(c.mentions);return {...d,text:i,encrypted:true,...o===void 0?{}:{mention:o},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,i,c,o)=>{let u=Lr(o.mentions);return {...d,messageId:i,text:c,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&fl(d,n.pageSize??30)},r)}async function ml(e,n,r={}){return So(e,n,(d,i,c)=>c.mentions!==void 0&&c.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:i,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,i,c,o)=>o.mentions!==void 0&&o.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:i,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Xm=new Set(["pending","uploading","sending"]);function fl(e,n){return e.length<n}function Ur(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Qm(e,n,r){let d=r===void 0?e.length-1:e.findIndex(o=>o.id===r),i=e[d];if(i===void 0||Ur(i))return i?.id;let c=e.slice(0,d).findLast(o=>Ur(o));return c!==void 0?c.id:i.senderId===n&&Xm.has(i.status)?void 0:i.id}function Zm(e,n){let r=false;for(let d of e){let i=d.body.system;if(!(d.conversationType!=="channel"||i?.targetUserIds?.includes(n)!==true)){if(i.eventType==="channel_member_left"||i.eventType==="channel_member_removed"){r=true;continue}if(r&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function gl(e,n,r={}){let d=await So(e,n,(c,o,u)=>{let m=Lr(u.mentions);return {...c,text:o,encrypted:true,...m===void 0?{}:{mention:m},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,o,u,m)=>{let g=Lr(m.mentions);return {...c,messageId:o,text:u,...g===void 0?{}:{mention:g}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&fl(c,n.pageSize??30)||Zm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,o)=>Qm(c,n.getSelfId(),o)},r),i={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw sl(e,il["not-found"]);bo(n.domainState,e,c,"messages.deleteForEveryone");let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(m){let g=_t(m,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:m}),g)}if(!u.ok)throw sl(e,il[u.reason])}}};return Mo(i,d),i}var ef=40,nf=100,tf=0;function bt(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function rf(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function yl(e){let n=++tf,r=new Map,d=new Map,i=new Map,c=new Map,o=new Map,u=0,m=true;function g(){if(!m)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function b(y){let _=y??ef;if(!Number.isSafeInteger(_)||_<1||_>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return _}function h(y){let _=`im-directory:${n}:${++u}`;return r.set(_,y),_}function w(y,_){let s=o.get(y);s===void 0&&(s=new Map,o.set(y,s));let a=_.map(f=>Object.freeze({...f}));for(let f of a)s.set(f.id,f);return Object.freeze(a)}async function I(y,_,s){if(g(),e.provider===void 0)throw new Error(`${bt(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let a=await e.provider.list({kind:y,page:_,pageSize:s});if(g(),a.exhausted===(a.nextPage!==void 0))throw new Error(`${bt(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let f=a.nextPage===void 0?void 0:h({kind:y,page:a.nextPage,pageSize:s}),S=w(y,a.items);return Object.freeze({items:S,...f===void 0?{}:{nextPageToken:f},exhausted:a.exhausted})}function T(y){return {listFirstPage:_=>I(y,1,b(_?.pageSize)),listNextPage:_=>{g();let s=r.get(_);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==y)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${bt(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${bt(y)}`));let a=d.get(_);if(a!==void 0)return a;let f=I(y,s.page,s.pageSize).then(S=>(r.delete(_),S)).finally(()=>{d.delete(_);});return d.set(_,f),f}}}function M(y){g();let _=i.get(y);if(_!==void 0)return Promise.resolve(_);let s=c.get(y);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${bt(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let a=(async()=>{let f=[],S=new Map,v=new Set,D=1;for(;;){if(g(),v.has(D))throw new Error(`${bt(y)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);v.add(D);let B=await e.provider.list({kind:y,page:D,pageSize:nf});if(g(),B.exhausted===(B.nextPage!==void 0))throw new Error(`${bt(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let se of B.items)S.has(se.id)||f.push(se.id),S.set(se.id,se);if(B.nextPage===void 0)break;if(!Number.isSafeInteger(B.nextPage)||B.nextPage<1)throw new Error(`${bt(y)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);D=B.nextPage;}let U=w(y,f.map(B=>S.get(B)));return g(),i.set(y,U),U})().finally(()=>{c.delete(y);});return c.set(y,a),a}async function F(y){if(g(),y.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[_,s,a,f]=await Promise.all([M("individual"),M("group"),M("channel"),pa$1(y)]);g();function S(D,U){let B=[];for(let se of U){let pe=se==="displayName"?D.displayName:se==="username"?D.username:D.id;if(pe===void 0||pe==="")continue;let R=f.match(pe,{pinyin:se==="displayName"});R!==null&&B.push(rf(se,R));}return B.length===0?null:Object.freeze({item:D,matches:Object.freeze(B)})}function v(D,U){return Object.freeze(D.flatMap(B=>{let se=S(B,U);return se===null?[]:[se]}))}return Object.freeze({keyword:f.keyword,contacts:v(_,["displayName","username","id"]),groups:v(s,["displayName"]),channels:v(a,["displayName"])})}return {contacts:T("individual"),groups:T("group"),channels:T("channel"),search:{search:F},peekItem:(y,_)=>(g(),o.get(y)?.get(_)),dispose:()=>{m=false,r.clear(),d.clear(),i.clear(),c.clear(),o.clear();}}}function of(e){if(e.conversationType==="supergroup")throw Z({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw Z({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Po(e){return of(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function af(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw Z({code:"IM_SDK_DRAFT_ATTACHMENTS_UNSUPPORTED",category:"unsupported",operation:"drafts.save",retryable:false,conversation:e});return {text:n.text,...n.mentions===void 0?{}:{mentions:n.mentions},...n.replyToMessageId===void 0?{}:{replyToMessageId:n.replyToMessageId},attachments:[]}}function Il(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(i){return r(),e.domainState.getDraft(Po(i))},async save(i,c){r();let o=Po(i);return e.domainState.saveDraft(o,af(o,c))},async clear(i){r(),await e.domainState.clearDraft(Po(i));},subscribe(i,c){r();let o=Po(i),u=e.emitter.subscribe(g=>{g.type!=="draft:updated"&&g.type!=="draft:cleared"||g.conversation.conversationType!==o.conversationType||g.conversation.conversationId!==o.conversationId||c(g.type==="draft:updated"?g.draft:null);}),m=()=>{u(),n.delete(m);};return n.add(m),m}},dispose(){for(let i of [...n])i();}}}var sf=20,vl=50,hl=30,Cl=4294967295;function Ft(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Cn(e,n){return Ft({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function bl(e,n){if(n instanceof x)return Ft({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof y$1)return Ft({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return Ft({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof c||n instanceof z$1){let r=n instanceof z$1?n.status:void 0;return Ft({code:n instanceof z$1?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:r===void 0||r===0||r===408||r===429||r>=500,...r===void 0?{}:{details:Object.freeze({status:r})},cause:n})}return Ft({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function it(e,n,r){if(typeof e!="string"||e.trim()==="")throw Cn(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function cf(e,n){if(typeof e!="string"||e.trim()==="")throw new y$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function df(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw Cn(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function lf(e,n,r){let d=it(e,n,r),i;try{i=new URL(d);}catch{throw Cn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Cn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Cn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function Ml(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Cl)throw Cn(r,`${n} \u5FC5\u987B\u662F 1-${Cl} \u7684\u6574\u6570`);return Number(e)}function El(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Cn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:lf(e.url,"url",n),width:Ml(e.width,"width",n),height:Ml(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:it(e.packageId,"packageId",n),resourceId:it(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Cn(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:it(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function uf(e,n){if(e===null||typeof e!="object")throw Cn(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:it(e.token,"token",n),resourceId:it(e.resourceId,"resourceId",n)}:El(e,n)}function pf(e,n){if(e!=="sticker"&&e!=="gif")throw Cn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function mf(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Cn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Sl(e,n){if(!Array.isArray(e))throw Cn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>it(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw Cn(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>hl)throw Cn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${hl} \u4E2A id`);return r}function Pl(e,n){let r=e?.offset??0,d=e?.pageSize??sf;if(!Number.isSafeInteger(r)||r<0)throw Cn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>vl)throw Cn(n,`pageSize \u5FC5\u987B\u662F 1-${vl} \u7684\u6574\u6570`);return {offset:r,limit:d}}function wl(e){return Object.freeze({...e})}function ff(e){return Object.freeze({...e})}function Rl(e){let n=Object.freeze(e.items.map(r=>Object.freeze({...r})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function Al(e){function n(i){if(!e.isActive())throw Ft({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,c){if(n(i),e.provider===void 0)throw bl(i,new x("core"));let o;try{o=await c(e.provider);}catch(u){throw n(i),bl(i,u)}return n(i),o}let d={packs:Object.freeze({list:async i=>{let c="expressions.packs.list",o=i?.version===void 0?void 0:df(i.version,"version",c),u=await r(c,g=>g.listStickerPacks(o)),m=Object.freeze(u.items.map(g=>Object.freeze({...g})));return Object.freeze({version:u.version,items:m})},listItems:async i=>{let c="expressions.packs.listItems",o=it(i,"packageId",c),u=await r(c,m=>m.listStickerItems(o));return Object.freeze(u.map(wl))}}),favorites:Object.freeze({list:async i=>{let c="expressions.favorites.list",o=await r(c,u=>u.listFavorites(pf(i,c)));return Object.freeze(o.map(wl))},add:async i=>{let c="expressions.favorites.add",o=El(i,c);await r(c,u=>u.addFavorite(o));},delete:async i=>{let c="expressions.favorites.delete",o=Sl(i,c);await r(c,u=>u.deleteFavorites(o));}}),recent:Object.freeze({list:async i=>{let c="expressions.recent.list",o=await r(c,u=>u.listRecent(mf(i,c)));return Object.freeze(o.map(ff))},report:async i=>{let c="expressions.recent.report",o=uf(i,c);await r(c,u=>u.reportRecent(o));},delete:async i=>{let c="expressions.recent.delete",o=Sl(i,c);await r(c,u=>u.deleteRecent(o));}}),reactions:Object.freeze({listTop:async i=>{let c="expressions.reactions.listTop",o=i?.limit;if(o!==void 0&&(!Number.isSafeInteger(o)||o<1||o>50))throw Cn(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let m=await u.listReactionTop(o);if(!Array.isArray(m))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(m.map(g=>cf(g,"reaction emoji")))})},report:async i=>{let c="expressions.reactions.report",o=it(i,"emoji",c);await r(c,u=>u.reportReaction(o));}}),giphy:Object.freeze({trending:async i=>{let c="expressions.giphy.trending",o=await r(c,u=>u.listGiphyTrending(Pl(i,c)));return Rl(o)},search:async(i,c)=>{let o="expressions.giphy.search",u=it(i,"query",o),m=await r(o,g=>g.searchGiphy({query:u,...Pl(c,o)}));return Rl(m)}})};return {api:Object.freeze(d)}}function Ut(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?Z({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):Z({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function Tl(e){return {createRoom(n){Ut("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Ut("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Ut("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Ut("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Ut("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Ut("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Ut("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var gf=0;function _l(e){return Object.freeze({id:e.id,displayName:e.displayName,...e.username===void 0?{}:{username:e.username},...e.avatarUrl===void 0?{}:{avatarUrl:e.avatarUrl},...e.bound===void 0?{}:{bound:e.bound}})}function yf(e){if(e.kind==="catalog")return Object.freeze({kind:"catalog"});let n=e.conversationId.trim();if(n==="")throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 conversationId \u4E0D\u80FD\u4E3A\u7A7A");return Object.freeze({kind:"conversation",conversationType:e.conversationType,conversationId:n,...e.filter===void 0?{}:{filter:e.filter}})}function If(e){let n={page:e.page,pageSize:e.pageSize,...e.keyword===""?{}:{keyword:e.keyword}};return e.scope.kind==="catalog"?n:{...n,groupId:e.scope.conversationId,groupType:e.scope.conversationType==="group"?1:2,...e.scope.filter==="bound"?{boundOnly:true}:{}}}function Dl(e){let n=e.robotId.trim(),r=e.conversationId.trim();if(n==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(r==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.conversationType!=="group"&&e.conversationType!=="channel")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA\u53EA\u652F\u6301\u7FA4\u7EC4\u548C\u793E\u7FA4");return Object.freeze({robotId:n,conversationType:e.conversationType,conversationId:r})}function vf(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function kl(e){let n=++gf,r=new Map,d=new Map,i=new Map,c=0,o=true;function u(){if(!o)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function m(M){let F=M??20;if(!Number.isSafeInteger(F)||F<1||F>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return F}function g(M){let F=`im-robots:${n}:${++c}`;return r.set(F,M),F}function b(M){return Object.freeze(M.map(F=>{let y=_l(F);return i.set(y.id,y),y}))}function h(M,F){let y=i.get(M);y!==void 0&&i.set(M,_l({id:y.id,displayName:y.displayName,...y.username===void 0?{}:{username:y.username},...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl},bound:F}));}async function w(M,F){u();let y=F?e.bind:e.unbind;if(y===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await y(vf(M)),u(),h(M.robotId,F);}async function I(M){if(u(),e.search===void 0)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let F=await e.search(If(M));u();let y=b(F.items),_=F.exhausted?void 0:g({...M,page:M.page+1});return Object.freeze({items:y,..._===void 0?{}:{nextPageToken:_},exhausted:F.exhausted})}return {api:{listFirstPage:M=>{try{let F=yf(M?.scope??{kind:"catalog"});return I({page:1,pageSize:m(M?.pageSize),keyword:M?.keyword?.trim()??"",scope:F})}catch(F){return Promise.reject(F)}},listNextPage:M=>{u();let F=r.get(M);if(F===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let y=d.get(M);if(y!==void 0)return y;let _=I(F).then(s=>(r.delete(M),s)).finally(()=>{d.delete(M);});return d.set(M,_),_},bindToConversation:M=>{try{return w(Dl(M),!0)}catch(F){return Promise.reject(F)}},unbindFromConversation:M=>{try{return w(Dl(M),!1)}catch(F){return Promise.reject(F)}}},peek:M=>{let F=M.trim();return F===""?void 0:i.get(F)},dispose:()=>{o=false,r.clear(),d.clear(),i.clear();}}}var hf=30,Cf=300*1e3,bf=64,Mf=0;function Sf(e,n){let r=e.contentType==="text"||e.contentType==="mediaAlbum"?n:e.contentType==="filesAlbum"?e.body.filesAlbum?.caption:void 0;if(r===void 0||r==="")return Object.freeze([Object.freeze({kind:"plain",text:n})]);let d=e.mention,i=[Object.freeze({kind:"rich-text",text:r,...d===void 0?{}:{mention:Object.freeze({atAll:d.atAll,atUserIds:[...d.atUserIds],...d.atUsersName===void 0?{}:{atUsersName:Object.freeze({...d.atUsersName})}})}})];return r.length<n.length&&i.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(i)}function st(e){let n=Z({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImSearchOperationError"})}function Ol(e){let n=e.now??(()=>Date.now()),r=e.pageSize??hf,d=e.tokenTtlMs??Cf,i=e.maxTokens??bf;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let c=++Mf,o=new Map,u=0,m=true;function g(v){if(!m)throw st({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:v,retryable:false});if(e.isAvailable?.()===false)throw st({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:v,retryable:false})}function b(v,D){let U=v.trim();if(U==="")throw st({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:D,retryable:false});return U}function h(v){let D=`im-search:${c}:${++u}`;for(o.set(D,{...v,expiresAt:n()+d});o.size>i;){let U=o.keys().next().value;if(typeof U!="string")break;o.delete(U);}return D}function w(v,D){let U=D==="conversation"?"search.conversations.next":"search.messages.next";g(U);let B=o.get(v);if(B===void 0||B.expiresAt<=n())throw o.delete(v),st({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:U,retryable:false});if(B.kind!==D)throw st({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:U,retryable:false});return B}function I(v){let D=v.draft?.text.trim();return D===void 0||D===""?v.lastMessagePreview:D}function T(v){let D=Object.freeze({conversationType:v.type,conversationId:v.id});return Object.freeze({ref:D,title:v.title,preview:I(v)})}function M(v,D){let U=Object.freeze(v.slice(D,D+r)),B=D+U.length,se=B>=v.length,pe=se?void 0:h({kind:"conversation",items:v,offset:B});return Object.freeze({items:U,...pe===void 0?{}:{nextPageToken:pe},exhausted:se})}async function F(v,D,U){g(U);let B=b(D,U).toLowerCase(),se=Object.freeze(e.domainState.getConversationList().filter(pe=>(pe.type==="direct"||pe.type==="group"||pe.type==="channel"||pe.type==="robot")&&(v===void 0||pe.type===v)&&`${pe.title}
2
+ ${pe.id}`.toLowerCase().includes(B)).map(T));return M(se,0)}function y(v,D,U){let B=v.conversationId.trim();if(v.conversationType!==D||B==="")throw st({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:U,retryable:false});return Object.freeze({conversationType:D,conversationId:B})}function _(v,D){let U=v.conversationType,B=v.conversationId.trim();if(U!=="direct"&&U!=="group"&&U!=="channel"&&U!=="robot"||B==="")throw st({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:U==="supergroup"?"unsupported":"validation",operation:D,retryable:false});return Object.freeze({conversationType:U,conversationId:B})}async function s(v){g("search.messages");let D;try{D=await e.domainState.searchMessages(v.ref,{...v.keyword===void 0?{}:{keyword:v.keyword},...v.contentTypes===void 0?{}:{contentTypes:v.contentTypes},limit:r,...v.beforeSortKey===void 0?{}:{beforeSortKey:v.beforeSortKey}});}catch(R){throw st({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:R})}let U=new Set,B=[];for(let{message:R}of D.results){if(R.conversationType!==v.ref.conversationType||R.conversationId!==v.ref.conversationId||R.sortKey.trim()===""||v.contentTypes!==void 0&&!v.contentTypes.includes(R.contentType))throw st({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(U.has(R.id))continue;U.add(R.id);let Q=na$2(R);B.push(Object.freeze({ref:v.ref,messageId:R.id,senderId:R.senderId,createdAt:l$1(R),contentType:R.contentType,preview:Q,previewParts:Sf(R,Q)}));}let se=D.nextBeforeSortKey?.trim();if(!D.exhausted&&(se===void 0||se==="")||D.exhausted&&se!==void 0)throw st({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let pe=se===void 0?void 0:h({kind:"message",ref:v.ref,...v.keyword===void 0?{}:{keyword:v.keyword},...v.contentTypes===void 0?{}:{contentTypes:v.contentTypes},beforeSortKey:se});return Object.freeze({items:Object.freeze(B),...pe===void 0?{}:{nextPageToken:pe},exhausted:D.exhausted})}async function a(v,D,U,B){g(B);let se=y(v,D,B);return s({ref:se,keyword:b(U,B)})}async function f(v,D,U,B){g(U);let se=_(v,U),pe=B?.trim();return s({ref:se,...pe===void 0||pe===""?{}:{keyword:pe},contentTypes:Object.freeze([D])})}return {api:{conversations:{all:v=>F(void 0,v,"search.conversations.all"),direct:v=>F("direct",v,"search.conversations.direct"),groups:v=>F("group",v,"search.conversations.groups"),channels:v=>F("channel",v,"search.conversations.channels"),async next(v){let D=w(v,"conversation");return M(D.items,D.offset)}},messages:{inDirect:(v,D)=>a(v,"direct",D,"search.messages.inDirect"),inGroup:(v,D)=>a(v,"group",D,"search.messages.inGroup"),inChannel:(v,D)=>a(v,"channel",D,"search.messages.inChannel"),inRobot:(v,D)=>a(v,"robot",D,"search.messages.inRobot"),texts:async(v,D)=>(g("search.messages.texts"),f(v,"text","search.messages.texts",b(D,"search.messages.texts"))),files:(v,D)=>f(v,"file","search.messages.files",D),images:v=>f(v,"image","search.messages.images"),videos:v=>f(v,"video","search.messages.videos"),voices:v=>f(v,"voice","search.messages.voices"),async next(v){let D=w(v,"message");return s(D)}}},dispose(){m&&(m=false,o.clear());}}}function xl(e){let n=new Map,r=new Set,d=new Map,i=new Set,c=false,o=e.schedule??(b=>{let h=setTimeout(b,120);return ()=>clearTimeout(h)});function u(b,h,w){try{e.report(b,h,w);}catch{}}async function m(b){let h={conversationType:"channel",conversationId:b};r.add(b);try{for(let w=0;w<2;w+=1){let I=n.get(b);if(c||!e.isActive()||I===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(b);return}if(e.domainState.hasPendingChannelRead(h)){i.add(b),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(b),e.domainState.getReadState(h)?.readCursor!==I)return;let M=e.domainState.getChannelReadRevision(h),F=Date.now(),y;try{y=await e.loadSummary({channelId:b,readCursor:I});}catch(_){!c&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-F,errorName:_ instanceof Error?_.name:"Unknown",errorCode:typeof _=="object"&&_!==null&&"code"in _&&typeof _.code=="string"?_.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==M){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(b)||n.set(b,I),i.add(b);return}if(w===0&&!n.has(b)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===I){n.set(b,I);continue}return}if(y===void 0||y.readCursor!==I){u("channel-read-summary-discarded",h,{reason:y===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,y),n.get(b)===I&&n.delete(b),u("channel-read-summary-applied",h,{unreadCount:y.unreadCount,durationMs:Date.now()-F});return}}finally{r.delete(b),n.has(b)&&!i.has(b)&&g(b);}}function g(b){c||i.has(b)||r.has(b)||d.has(b)||d.set(b,o(()=>{d.delete(b),m(b);}));}return {settled(b){i.delete(b.channelId),n.has(b.channelId)&&g(b.channelId);},request(b){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:b.channelId})||i.delete(b.channelId),n.set(b.channelId,b.readCursor),g(b.channelId));},dispose(){c=true;for(let b of d.values())b();d.clear(),n.clear(),i.clear();}}}function wo(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let r={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},...n.resolvedKeyVersion===void 0?{}:{resolvedKeyVersion:n.resolvedKeyVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(r).length===0?{}:{safeProtocolMetadata:r}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function Nl(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function i(c){if(c?.throwIfAborted(),r){let o=new Error("\u8D26\u53F7\u5DF2\u91CA\u653E\uFF0C\u540E\u53F0\u5DE5\u4F5C\u505C\u6B62\u7B49\u5F85");throw o.name="AbortError",o}}return {enterForeground(){if(r)return ()=>{};let c=Symbol("foreground-work");return e.add(c),()=>{e.delete(c)&&e.size===0&&d();}},async waitForBackground(c){for(i(c);e.size>0;)await new Promise(o=>{let u=()=>{n.delete(u),c?.removeEventListener("abort",u),o();};n.add(u),c?.addEventListener("abort",u,{once:true});}),i(c);},dispose(){r=true,e.clear(),d();}}}function Ll(e,n){return {prepareLocalMediaPreview:async i=>{let c=await e.prepare({operationId:i.operationId,generation:n(),kind:i.kind,file:i.file,includePoster:i.kind==="video",...i.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},i.signal);return i.kind==="video"?{width:c.width,height:c.height,...c.duration===void 0?{}:{duration:c.duration},...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}:{width:c.width,height:c.height}},prepareLocalVideoPoster:async i=>{let c=await e.prepare({operationId:i.operationId,generation:n(),kind:"video",file:i.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},i.signal);return {width:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function Fl(e){let n=false,r=false,d,i;function c(){return !n||r||!e.isActive()?Promise.resolve():(i??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(o=>{!r&&e.isActive()&&e.onError(o);}).finally(()=>{i=void 0;}),i)}return {start(){n||r||(n=true,d=setInterval(()=>{c();},300*1e3),c());},run:c,async dispose(){r=true,d!==void 0&&clearInterval(d),d=void 0,await i;}}}function Ul(e){let n,r,d=false,i=false,c=new AbortController;function o(){if(!n||!i||d)throw new bb$1("unavailable");return n}return {port:{get:async(...m)=>o().get(...m),list:async()=>o().list(),save:async m=>o().save(m),remove:async(...m)=>o().remove(...m),clear:async()=>o().clear(),drain:async()=>n?.drain(),fingerprint:async(...m)=>o().fingerprint(...m),acquireLease:async m=>o().acquireLease(m),close:async()=>n?.close()},prepare(m){return d?Promise.reject(new bb$1("unavailable")):(r??=(async()=>{n=cb$1({namespaceFactory:e,accountId:m}),await n.acquireLease(c.signal),await n.list(),c.signal.throwIfAborted(),i=true;})(),r)},async prune(){i&&!d&&await o().list();},async dispose(m){if(d=true,c.abort(),await r?.catch(()=>{}),!!n)try{m||await n.clear();}finally{await n.close();}}}}function Kl(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let i of [...r])i();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((i,c)=>{function o(){r.delete(u),d.removeEventListener("abort",m);}function u(){o(),i();}function m(){o(),c(d.reason);}r.add(u),d.addEventListener("abort",m,{once:true});})}}}function Bl(e){function n(u){let m=0n;for(let g=0;g<10;g++){let b=u+g,h=e[b];if(h===void 0)return {ok:false,kind:"truncated-varint"};if(m|=BigInt(h&127)<<BigInt(g*7),(h&128)===0)return {ok:true,nextOffset:b+1,value:m}}return {ok:false,kind:"invalid-varint"}}let r=[],d,i=0;function c(u,m,g){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:m,protobufFailureOffset:g,protobufBytesRemaining:Math.max(0,e.length-g)}}function o(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;i<e.length;){let u=i,m=n(u);if(!m.ok)return c(m.kind==="truncated-varint"?"truncated":"invalid",m.kind==="truncated-varint"?"truncated-tag":m.kind,u);let g=Number(m.value>>3n),b=Number(m.value&0x07n);if(!Number.isSafeInteger(g)||g<=0)return c("invalid","invalid-field-number",u);if(i=m.nextOffset,b===0){let h=i,w=n(h);if(!w.ok)return c(w.kind==="truncated-varint"?"truncated":"invalid",w.kind,h);i=w.nextOffset;}else if(b===1){if(e.length-i<8)return c("truncated","truncated-fixed64",i);i+=8;}else if(b===2){let h=i,w=n(h);if(!w.ok)return c(w.kind==="truncated-varint"?"truncated":"invalid",w.kind==="truncated-varint"?"truncated-length":w.kind,h);if(w.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",h);i=w.nextOffset;let I=Number(w.value);if(I>e.length-i)return c("truncated","truncated-length-delimited",i);i+=I;}else if(b===5){if(e.length-i<4)return c("truncated","truncated-fixed32",i);i+=4;}else return c("invalid","invalid-wire-type",u);o(g);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function Ma(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let d=Symbol("receiving");return n.add(d),n.size===1&&e(true),()=>{n.delete(d)&&n.size===0&&e(false);}},dispose(){r=true;let d=n.size>0;n.clear(),d&&e(false);}}}function Gl(e){return async(n,r)=>{r.throwIfAborted();let d=await e.authProvider.getLoginContext();if(r.throwIfAborted(),d===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");let i=[],c=[],o=b=>{c.push({...b,source:"history"});},u=b=>{i.push(b);};if(n.conversationType==="group"){let b={...e.groupDecrypt(),onDecryptRecovery:o},h=Date.now(),w=await Ia$1({http:e.http,userId:d.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:h,direct:1,limit:30,decryptDeps:b,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let I=Nr({conversationId:n.conversationId,direction:"older",baseTime:h,batchSize:w.batchSize,boundaryTime:w.oldestEntryTime,limit:30});return {messages:w.messages,reactions:i,recoveries:c,...I}}let m={...e.channelDecrypt(),onDecryptRecovery:o},g=await Aa({http:e.http,userId:d.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:m,prepareKey:b=>e.prepareChannelKeys([b]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:g.messages,reactions:i,recoveries:c,exhausted:!g.hasOlder,...g.nextCursor===void 0?{}:{nextCursor:g.nextCursor}}}}var Pf=5*6e4,wf=1440*6e4,Kr=2*1024*1024,Hl=20,nr=class extends Error{constructor(r){super(r);this.reason=r;}reason};function Mt(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Rf(e,n){let r=new TextEncoder,d=new WeakSet,i=0,c=0,o=performance.now();async function u(){++c%64===0&&performance.now()-o>=4&&(await n(),o=performance.now());}async function m(g){if(!(i>Kr))if(await u(),typeof g=="string"){i+=8;for(let b=0;b<g.length&&i<=Kr;b+=16384)i+=r.encode(g.slice(b,b+16384)).byteLength,await u();}else if(g!==null&&typeof g=="object"){if(d.has(g))return;if(d.add(g),i+=32,ArrayBuffer.isView(g)||g instanceof ArrayBuffer){i+=g.byteLength;return}for(let b in g)if(Object.hasOwn(g,b)&&(await m(b),await m(g[b]),i>Kr))break}else i+=8;}return await m(e),i}function jl(e){let n=e.now??Date.now,r=new Map,d=new Map,i=new Map,c=new Map,o,u=true,m=0,g=new WeakMap,b=new WeakSet,h=new WeakMap,w=0,I=Promise.resolve();function T(R,Q,fe){try{e.report(R,{...Q},{remainingNetworkPages:Math.max(0,Hl-w),...fe});}catch{}}function M(R,Q=n()){return R===void 0?0:Math.max(0,Q-R)}function F(R,Q,fe,k){let L=k?.diagnostics;T("recent-history-prefetch-result",R,{status:Q,reason:fe,queueDurationMs:M(L?.queuedAt,L?.startedAt),requestDurationMs:L?.requestDurationMs??M(L?.requestStartedAt),persistenceDurationMs:L?.persistenceDurationMs??M(L?.persistenceStartedAt)});}function y(R){let Q=I.then(R,R);return I=Q.catch(()=>{}),Q}function _(R){if(!u||R.generation!==m||R.controller.signal.aborted||R.epoch!==(r.get(R.key)??0))return false;let Q=e.fingerprint(R.ref);return Q!==void 0&&(Q===R.fingerprint||!s(R)&&[...R.consumers.values()].includes("foreground"))}function s(R){return R.cacheRevision===(d.get(R.key)??0)}function a(R){if(!_(R))throw Mt()}async function f(R,Q=false){let fe=J(R),k=r.get(fe)??0,L={key:fe,epoch:k,generation:m,cacheRevision:d.get(fe)??0},X=m,Pe=e.fingerprint(R),ge=$=>(T("recent-history-cache-miss",R,{reason:$,allowStale:Q}),null);if(!u||Pe===void 0||e.cache===void 0)return ge(u?Pe===void 0?"unavailable":"storage-unavailable":"disposed");if(await I,!u||X!==m||k!==(r.get(fe)??0)||!s(L)||e.fingerprint(R)!==Pe)return ge("invalidated");let x=await e.cache.get(R);return !u||X!==m||k!==(r.get(fe)??0)||!s(L)||e.fingerprint(R)!==Pe?ge("invalidated"):x===null?ge("empty"):x.version!==2?ge("version-mismatch"):J(x.conversation)!==fe?ge("identity-mismatch"):x.fingerprint!==Pe?ge("fingerprint-mismatch"):x.fetchedAt>n()?ge("future-timestamp"):n()-x.fetchedAt>(Q?wf:Pf)?ge("expired"):(g.set(x,L),x)}async function S(R){a(R);try{let X=await f(R.ref);if(a(R),X!==null&&s(R))return R.diagnostics.source="cache",T("recent-history-cache-hit",R.ref),{page:X,durable:!0}}catch(X){if(a(R),R.diagnostics.failureReason="cache-read-failed",T("recent-history-cache-read-failed",R.ref,{reason:"cache-read-failed"}),![...R.consumers.values()].includes("foreground"))throw X}if(![...R.consumers.values()].includes("foreground")){if(w>=Hl)throw new nr("budget");w+=1;}let fe=n();R.diagnostics.source="network",R.diagnostics.requestStartedAt=fe;let k;try{k=await e.fetchPage(R.ref,R.controller.signal);}catch(X){throw R.diagnostics.failureReason="request-failed",X}finally{R.diagnostics.requestDurationMs=M(fe);}a(R),await e.yieldToEventLoop(),a(R);let L={version:2,conversation:{...R.ref},fetchedAt:n(),fingerprint:R.fingerprint,messages:k.messages,reactions:k.reactions,exhausted:k.exhausted,...k.nextCursor===void 0?{}:{nextCursor:k.nextCursor},byteLength:0};if(g.set(L,{key:R.key,epoch:R.epoch,generation:R.generation,cacheRevision:R.cacheRevision}),k.recoveries!==void 0&&k.recoveries.length>0&&h.set(L,k.recoveries),h.has(L)||L.messages.some(X=>X.encryption.decryptFailed===true))return b.add(L),{page:L,durable:false,reason:"decrypt-failed"};if(L.byteLength=await Rf(L,e.yieldToEventLoop),a(R),T("recent-history-page-loaded",R.ref,{durationMs:n()-fe,messageCount:L.messages.length,byteLength:L.byteLength}),L.byteLength>Kr)return {page:L,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:L,durable:false,reason:"storage-unavailable"};if(!s(R))return {page:L,durable:false,reason:"invalidated"};R.diagnostics.persistenceStartedAt=n();try{let X=await y(async()=>(a(R),s(R)?e.cache.put(L):!1));return a(R),s(R)?{page:L,durable:X,...X?{}:{reason:"page-too-large"}}:{page:L,durable:!1,reason:"invalidated"}}catch(X){return a(R),R.diagnostics.failureReason="cache-write-failed",T("recent-history-cache-write-failed",R.ref,{reason:"cache-write-failed"}),{page:L,durable:false,storageError:X}}finally{R.diagnostics.persistenceDurationMs=M(R.diagnostics.persistenceStartedAt);}}function v(R,Q){R.started||(R.started=true,R.diagnostics.startedAt=n(),T("recent-history-prefetch-start",R.ref,{kind:Q?"background":"foreground",queueDurationMs:M(R.diagnostics.queuedAt,R.diagnostics.startedAt)}),Q&&(o=R),S(R).then(R.resolve,R.reject).finally(async()=>{i.get(R.key)===R&&i.delete(R.key),o===R&&(o=void 0),await e.yieldToEventLoop(),D();}).catch(fe=>{if(!(fe instanceof Error&&fe.name==="AbortError"))throw fe}));}function D(){if(!u||o!==void 0||c.size>0||!e.canRunBackground())return;let R=[...i.values()].find(Q=>!Q.started&&Q.consumers.size>0);R!==void 0&&v(R,true);}function U(R,Q,fe){if(!u||fe?.aborted===true)return Q==="background"&&F(R,"cancelled","cancelled"),Promise.reject(Mt());let k=J(R),L=e.fingerprint(R);if(L===void 0)return Q==="background"&&F(R,"skipped","unavailable"),Promise.reject(new nr("unavailable"));let X=i.get(k);X!==void 0&&!_(X)&&(X.controller.abort(),X.reject(Mt()),i.delete(k),X=void 0);let Pe=X!==void 0;if(X===void 0){let H,de,ue=new Promise((be,Ee)=>{H=be,de=Ee;});X={ref:{...R},key:k,fingerprint:L,generation:m,epoch:r.get(k)??0,cacheRevision:d.get(k)??0,controller:new AbortController,consumers:new Map,started:false,promise:ue,resolve:H,reject:de,diagnostics:{queuedAt:n()}},i.set(k,X);}let ge=X,x=Symbol(Q);ge.consumers.set(x,Q),Q==="background"&&T("recent-history-prefetch-queued",R,{reason:Pe?"shared-request":"new-request"});let $=new Promise((H,de)=>{let ue=false,be=(_e,Se)=>{ue||(ue=true,_e?.durable&&!s(ge)&&(_e={..._e,durable:false,reason:"invalidated"}),fe?.removeEventListener("abort",Ee),ge.consumers.delete(x),ge.consumers.size===0&&(ge.controller.abort(),ge.started||(i.get(ge.key)===ge&&i.delete(ge.key),ge.reject(Mt()))),Q==="background"&&(Se instanceof nr?F(R,"skipped",Se.reason,ge):Se instanceof Error&&Se.name==="AbortError"?F(R,"cancelled","cancelled",ge):Se!==void 0||_e?.storageError!==void 0?F(R,"failed",ge.diagnostics.failureReason??"request-failed",ge):_e?.durable===true?F(R,"ready",ge.diagnostics.source==="cache"?"cache-hit":"persisted",ge):F(R,"skipped",_e?.reason??"not-persisted",ge)),Se!==void 0?de(Se):H(_e));};function Ee(){be(void 0,Mt());}fe?.addEventListener("abort",Ee,{once:true}),ge.promise.then(_e=>be(_e),_e=>be(void 0,_e));});return Q==="foreground"?v(ge,false):D(),$}function B(R){let Q=J(R);c.set(Q,(c.get(Q)??0)+1),o!==void 0&&o.key!==Q&&![...o.consumers.values()].includes("foreground")&&(o.controller.abort(),o.reject(Mt()));let fe=false;return ()=>{if(fe)return;fe=true;let k=(c.get(Q)??1)-1;k>0?c.set(Q,k):c.delete(Q),D();}}function se(R,Q={}){if(!u||R.conversationType!=="group"&&R.conversationType!=="channel")return;let fe={...R,conversationType:R.conversationType},k=J(R);d.set(k,(d.get(k)??0)+1),Q.preserveForeground||r.set(k,(r.get(k)??0)+1);let L=i.get(k);(!Q.preserveForeground||!L||![...L.consumers.values()].includes("foreground"))&&(L?.reject(Q.reason??Mt()),L?.controller.abort(Q.reason),i.delete(k)),T("recent-history-cache-invalidated",fe,{reason:Q.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),y(async()=>e.cache?.delete(fe)).catch(()=>T("recent-history-cache-delete-failed",fe,{reason:"cache-delete-failed"}));}function pe(R){let Q=g.get(R);return u&&Q!==void 0&&Q.generation===m&&Q.epoch===(r.get(Q.key)??0)}return {readCached:f,isPageCurrent:pe,enterForeground:B,invalidate:se,notifySchedulingChanged:D,takeRecoveries(R){if(!pe(R))return [];let Q=h.get(R)??[];return h.delete(R),Q},async confirmConsumed(R){let Q=e.fingerprint(R.conversation),fe=g.get(R);if(!pe(R)||fe===void 0||!s(fe)||b.has(R)||Q===void 0||e.cache===void 0||Q===R.fingerprint||R.byteLength>Kr||R.messages.some(X=>X.encryption.decryptFailed===true))return;let k=J(R.conversation),L=r.get(k)??0;await y(async()=>{pe(R)&&s(fe)&&L===(r.get(k)??0)&&e.fingerprint(R.conversation)===Q&&await e.cache.put({...R,fingerprint:Q});}).catch(()=>T("recent-history-cache-write-failed",R.conversation,{reason:"cache-write-failed"}));},async latest(R,Q){return (await U(R,"foreground",Q)).page},async prefetchRecent(R,Q={}){let fe=[];for(let[k,L]of R.entries()){if(k>0&&k%16===0&&await e.yieldToEventLoop(),Q.signal?.aborted===true||!u){F(L,"cancelled","cancelled"),fe.push({ref:L,status:"cancelled",reason:"cancelled"});continue}if(L.conversationType==="direct"||L.conversationType==="robot"){F(L,"skipped","unsupported"),fe.push({ref:L,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){F(L,"skipped","storage-unavailable"),fe.push({ref:L,status:"skipped",reason:"storage-unavailable"});continue}try{let X=await U({...L,conversationType:L.conversationType},"background",Q.signal);if(X.storageError!==void 0)throw X.storageError;fe.push({ref:L,status:X.durable?"ready":"skipped",...X.reason===void 0?{}:{reason:X.reason}});}catch(X){X instanceof nr?fe.push({ref:L,status:"skipped",reason:X.reason}):X instanceof Error&&X.name==="AbortError"?fe.push({ref:L,status:"cancelled",reason:"cancelled"}):(T("recent-history-prefetch-failed",L,{reason:"prefetch-failed"}),fe.push({ref:L,status:"failed",error:Z({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:L,cause:X})}));}}return fe},dispose(){u=false;for(let R of i.values())R.controller.abort(),R.reject(Mt());return i.clear(),I.then(()=>{})},async clear(){if(u){m+=1;for(let R of [...i.values()])se(R.ref);await y(async()=>e.cache?.clear());}}}}function Ef(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,i=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||d===void 0?"invalid-response":d!==void 0&&d!==200?"business":void 0;return i===void 0?void 0:Object.freeze({service:"core",kind:i,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function zl(e){let n=m=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:m,getClientType:()=>e.clientType,fetch:r});function r(m,g){return d(),globalThis.fetch(m,g)}function d(){if(!e.isActive())throw Z({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let m=e.coreClient,g=e.http??n(e.authProvider.getLoginContext);return {coreClient:m===void 0?void 0:async(b,h)=>{d();let w=await m(b,h);return d(),w},http:{async postProtobuf(b){d();let h=await g.postProtobuf(b);return d(),h}}}}async function i(m,g,b){if(!(!e.isActive()||b?.aborted||!g?.userId||!g.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||b?.aborted||h?.userId!==g.userId||h.token!==g.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(m))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function c(){let m=await e.authProvider.getLoginContext();return d(),m===null?null:{...m}}let o=e.coreClient;return {coreClient:o===void 0?void 0:async(m,g)=>{let b=await c(),h,w=await o(m,{...g,token:b?.token??"",skipBusinessResponseHandler:true,onResponse:T=>{h=T;}});if(d(),h===void 0)throw Z({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let I=Ef(h);return I!==void 0&&await i(I,b,g?.signal),w},http:{async postProtobuf(m){let g=await c(),b=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(b==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let h=e.http??v({getBaseUrl:()=>b,getAuth:async()=>g,getClientType:()=>e.clientType,fetch:r});try{d();let w=await h.postProtobuf(m);return d(),w}catch(w){throw await i(w instanceof Fa?{service:"cm",kind:"http",httpStatus:w.status}:{service:"cm",kind:"network"},g,m.signal),w}}}}}var Af=2,tr=30,Tf=50,_f=5,Df=20;function Vl(e,n){let r=Number(e);if(!Number.isSafeInteger(r)||r<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return r}function kf(e){return typeof e=="object"&&e!==null&&"get"in e&&typeof e.get=="function"&&"put"in e&&typeof e.put=="function"&&"clear"in e&&typeof e.clear=="function"}function Of(e,n){return e!==void 0&&e.senderId===n&&(e.status==="pending"||e.status==="uploading"||e.status==="sending")&&(typeof e.extensions?.historyCursor!="string"||e.extensions.historyCursor.trim()==="")}function ql(e$1,n$1,r,d$1=0){let i$1=e$1.clientType??Af,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i$1}}},o$2="",u=Yo(e$1.debug,()=>({generation:d$1,...o$2===""?{}:{accountId:o$2}})),m$1=true,g=e$1.uploadRecovery?.enabled?Ul(r):void 0,b=Kl(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:w$1}=zl({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:i$1,isActive:()=>m$1,onRequestError:e$1.onRequestError,onHandlerError:t=>u.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:t}}))}),I=e$1.transport??hb(),T$1=e$1.adapters?.storage,M=T$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:gb({namespaceFactory:r,mediaAssetCache:{strategies:hd()}})),F$1=new Map,y=new Map,_=new Map,s$1=new Map,a$1=new Map,f$1=t=>`${J(t.conversation)}\0${t.messageId}`;function S$1(t,l){let A=J(t),ne=(a$1.get(A)??Promise.resolve()).then(l),ee=ne.then(()=>{},()=>{});return a$1.set(A,ee),ee.then(()=>{a$1.get(A)===ee&&a$1.delete(A);}),ne}function v(t,l){return S$1(t.conversation,async()=>{l()&&(await M?.deleteDecryptRecovery?.(t.conversation,t.messageId),l()&&(s$1.delete(f$1(t)),F$1.delete(f$1(t))));})}let D=t=>{let l=M?.saveDecryptRecovery;if(l===void 0)return;let A=f$1(t),K=(_.get(A)??0)+1;_.set(A,K),s$1.set(A,t);let ne=J(t.conversation),ee=y.get(ne)??0,te=()=>m$1&&ee===(y.get(ne)??0)&&K===_.get(A),V=S$1(t.conversation,async()=>{te()&&await l(t);});F$1.set(A,V),V.then(()=>{if(F$1.get(A)===V&&F$1.delete(A),te())return Gr(t)}).catch(re=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:re}}));},U=false,B=kf(M)?M:void 0,se=Qd({...M===void 0?{}:{storage:M},...h$1===void 0?{}:{coreClient:h$1}}),pe,R,Q=gd({...M===void 0?{}:{storage:M},conversationBackgrounds:se.api,onDirectReadReceiptDisabled:t=>pe?.(t)}),fe=0;function k(t){return fe+=1,`channel-${t}-${d$1}-${fe}`}let L=yb(u),X=(t,l,A=o$2)=>{let K=l.fromId===A?l.toId:l.fromId;wo(u,{conversation:{conversationType:"direct",conversationId:K},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},Pe=(t,l)=>{wo(u,{conversation:{conversationType:"group",conversationId:l.groupId},source:t,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},ge=(t,l)=>{wo(u,{conversation:{conversationType:"channel",conversationId:l.channelId},source:t,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},x=t=>{u.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:t.channelId},...t.operationId===void 0?{}:{operationId:t.operationId},data:{messageId:t.messageId,encrypt:t.encrypt,contentLength:t.contentLength,...t.endpoint===void 0?{}:{endpoint:t.endpoint},...t.surface===void 0?{}:{surface:t.surface},...t.clientTypeHeader===void 0?{}:{clientTypeHeader:t.clientTypeHeader},...t.clientTypeBody===void 0?{}:{clientTypeBody:t.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:t.cause}}));};function $(t){return t==="left"||t==="removed"||t==="dismissed"}u.record("debug","sdk","session","runtime-created");let H="empty",de=n$1.subscribe(t=>{if(m$1){if(t.type==="connection:changed"){u.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){u.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:Qc(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){u.record("warn","sdk","session","auth-invalid",()=>({data:t.issue}));return}if(t.type==="error"){let l=t.error.scope==="storage"?"storage":t.error.scope==="crypto"?"crypto":"session";u.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function ue(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let be=new Set,Ee="auto",_e=false,Se=false,qe=0,je,ae,We=false,On,en,bn=()=>{},Yn=null,E=null,j,z,q=Nl(),Ie=new AbortController,De=new Set,ke=0,Le=false,Ae=Ma(t=>n$1.emit({type:"receiving:changed",receiving:t})),Te=Ma(t=>n$1.emit({type:"syncing:changed",syncing:t})),Ue=false,nn,Un,_n=new Map,Xn=new Map,xn=new Map,Ye=t=>xn.get(J(t))??0;function Mn(t){xn.set(J(t),Ye(t)+1);}let sn=0,gn=t=>_n.get(t)??0,rr=t=>{_n.set(t,gn(t)+1);};function or(t,l){Mn(t),z?.invalidate(t,{reason:l}),t.conversationType==="channel"&&rr(t.conversationId),t.conversationType==="group"&&Xn.set(t.conversationId,(Xn.get(t.conversationId)??0)+1);}let Hn=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:i$1,...M===void 0?{}:{storage:M}})),Qe=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:i$1,getUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??"",...M===void 0?{}:{storage:M}})),un=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:i$1,isActive:()=>m$1,...M===void 0?{}:{storage:M}})),ut=e$1.channelMentionMembers??(h$1===void 0?void 0:u$1({client:h$1,clientType:i$1})),Qn=Yd({...ut===void 0?{}:{provider:ut},...M===void 0?{}:{storage:M}}),ct=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:i$1,getUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??""})),jn=yl({...ct===void 0?{}:{provider:ct}}),Re=kl({...h$1===void 0?{}:{search:t=>Ka$1(h$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),bind:t=>D$1(h$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),unbind:t=>E$1(h$1,{...t,...i$1===void 0?{}:{clientType:i$1}})}}),ar=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),Rn=Al({provider:ar,isActive:()=>m$1}),Ro=e$1.sessionFavoriteProvider??Ta({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>o$2}),ir=()=>{},pt=wd({namespaceFactory:r,...M===void 0?{}:{storage:M},emitter:n$1,getAccountId:()=>o$2,isActive:()=>m$1,clearMemoryCaches:()=>{Hn?.clearCache?.(),Qe?.clearCache?.(),un?.clearCache?.(),Qn.clear(),ir(),z?.clear().catch(t=>n$1.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),dt=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:i$1})),St=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:i$1})),Kt=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:i$1})),G=Sa({emitter:n$1,diagnostics:u,profile:Hn,channelProfile:Qe,storage:M,getSelfId:()=>o$2,loadOlderFromRemote:async t=>{let l=z?.enterForeground(t.conversation),A=q.enterForeground(),K=Ae.begin();try{return j===void 0?{messages:[],exhausted:!0}:await j(t)}finally{K(),l?.(),A();}},loadNewerFromRemote:async t=>{let l=z?.enterForeground(t.conversation),A=q.enterForeground(),K=Ae.begin();try{return Un===void 0?{messages:[],exhausted:!0}:await Un(t)}finally{K(),l?.(),A();}}}),Br=ud({provider:Ro,isActive:()=>m$1,resolveMessage:async(t,l)=>G.getConversationMessage(t,l)??await M?.getMessage(t,l)??void 0}),Bt=n$1.subscribe(t=>{if(t.type==="message:removed"||t.type==="conversation-history:cleared"||t.type==="session:removed"){let l=J(t.conversation);y.set(l,(y.get(l)??0)+1);}if(M?.deleteDecryptRecovery!==void 0){if((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true){let l=J(t.conversation),A=y.get(l)??0,K=f$1({conversation:t.conversation,messageId:t.message.id}),ne=_.get(K)??0,ee=()=>m$1&&A===(y.get(l)??0)&&ne===(_.get(K)??0);(async()=>{let V=(await M.getDecryptRecoveries?.(t.conversation)??[]).find(re=>re.messageId===t.message.id);V===void 0||ue(V)||!ee()||(await G.commitReceivedMessages([t.message],"offline",{backfillOnly:true}),await v(V,ee));})().catch(te=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:te}}));}else if(t.type==="message:removed")s$1.delete(f$1({conversation:t.conversation,messageId:t.messageId})),S$1(t.conversation,()=>M.deleteDecryptRecovery(t.conversation,t.messageId)).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}}));else if(t.type==="conversation-history:cleared"){for(let[l,A]of s$1)J(A.conversation)===J(t.conversation)&&s$1.delete(l);S$1(t.conversation,async()=>M.deleteConversationDecryptRecoveries?.(t.conversation)).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}}));}}}),Kn=Kd({directory:jn.contacts,getSelfId:()=>o$2,...Hn===void 0?{}:{profile:Hn},...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1,terminateConversationSending:(t,l)=>bn(t,l),resetDirectReadReceiptPreference:t=>Q.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?R?.(t):l!=="unknown"&&pe?.(t);}}),sr=Wd({...St===void 0?{}:{contact:St},...Kt===void 0?{}:{group:Kt},...dt===void 0?{}:{channel:dt},onContactAccepted:async(t,l)=>{Kn.updateRelationshipFromEvent(t,"friend"),await G.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),G.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>m$1&&H==="ready"}),Gt=Il({domainState:G,emitter:n$1,isActive:()=>m$1}),cr=Ol({domainState:G,isAvailable:()=>m$1&&H==="ready"}),p$1=Bd(()=>G.getSessions()),C$1=e$1.crypto??i(),P=e$1.media!==void 0?ab(e$1.media,u):void 0,N=Xa(),J$1=Wa(N),{prepareLocalMediaPreview:ve,prepareLocalVideoPoster:Ce}=Ll(N,()=>d$1),ie=h$1===void 0?void 0:e({client:h$1,crypto:C$1,clientType:i$1,onError:(t,l)=>L?.("crypto",{message:t,cause:l})}),Me=h$1===void 0?void 0:h({client:h$1,clientType:i$1,onError:(t,l)=>L?.("crypto",{scope:"send-key",message:t,cause:l})}),he=h$1===void 0?void 0:f({client:h$1,crypto:C$1,clientType:i$1,onError:(t,l)=>L?.("crypto",{scope:"group-key",message:t,cause:l})}),ye=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>ga$1(h$1,{channelId:t,clientType:i$1}),onError:(t,l)=>L?.("crypto",{scope:"channel-key",message:t,cause:l})})),ze=async(t,l={})=>{if(ye===void 0)return;let A=ye.getCachedChannelKey(t)===null;try{await ye.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!A||!m$1))try{await Hr({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(K){n$1.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:K}});}},Nn=async t=>ye===void 0?null:ye.getChannelKey(t),Zn=t=>{if(ye===void 0)return null;let l=ye.getCachedChannelKey(t);return l===null&&ze(t),l},Bn=()=>ie?.getCachedPrivateKey(o$2)?.privateKey??null,yn=()=>({crypto:C$1,resolveChannelKey:Zn,resolveUserPrivateKey:Bn,onDecryptRecovery:D,onDecryptError:t=>{let l=ye!==void 0&&M?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(ge("live",{...t,forceRefreshAttempted:l}),!l)return;let A=ye.getCachedChannelKey(t.channelId)??void 0;ye.getChannelKey(t.channelId,{staleKey:A}).catch(()=>{});}}),pn=async(t,l={})=>{let A=[];ye!==void 0&&A.push(...[...new Set(t)].map(K=>ze(K,l))),ie!==void 0&&o$2!==""&&A.push(ie.getUserPrivateKey(o$2).catch(()=>null)),await Promise.all(A);},et=t=>({crypto:C$1,resolveChannelKey:l=>ye?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Bn,onDecryptError:l=>ge(t,l),onDecryptRecovery:D});function Ht(t){he!==void 0&&t!==""&&he.getGroupKeys(t);}let dr=async t=>{if(he===void 0)return null;let l=await he.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},tn=t=>{if(he===void 0)return null;let l=he.getCachedGroupKeys(t);return l!==null?l.privateKey:(Ht(t),null)},cn=async t=>{he!==void 0&&await Promise.all(t.map(l=>he.getGroupKeys(l).catch(()=>null)));},zn=()=>({crypto:C$1,resolvePrivateKey:({groupId:t})=>tn(t),preparePrivateKey:async({groupId:t})=>he===void 0?null:(await he.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>Pe("live",t),onDecryptRecovery:D}),Dn=t=>({crypto:C$1,resolvePrivateKey:({groupId:l})=>tn(l),onDecryptError:l=>Pe(t,l),onDecryptRecovery:D}),Vn=new Map,mt=new Map,ft=new Map,kn=new Set,qn=new Set;function gt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Zl(t,l){let A=J(t),K=ft.get(A)??new Set;K.add(l),ft.set(A,K);}function Sa$1(t){ft.delete(J(t));}function eu(t,l){return t.length===l.length&&t.every((A,K)=>A===l[K])}function Pa(t){if(t.conversation.conversationType==="group")return he?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function jt(t){return t.wireEncrypt===2?"channel-base64-pad-tea":t.conversation.conversationType==="group"?"group-rsa-tea":t.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function nu(t){return t.contentType===101?Number.isInteger(t.type)&&t.type>0:t.contentType===27?t.gameType===0n?t.gameValue>=1n&&t.gameValue<=3n:t.gameType===1n&&t.gameValue>=1n&&t.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(t.contentType)}async function Gr(t){let l=f$1(t);t=s$1.get(l)??t;let A=_.get(l)??0,K=J(t.conversation),ne=y.get(K)??0,ee=()=>m$1&&ne===(y.get(K)??0)&&A===(_.get(l)??0),te=Vn.get(l);if(te!==void 0){if(mt.get(l)===A)return te;await te.catch(()=>{}),ee()&&s$1.get(l)===t&&await Gr(t);return}let V=async()=>G.getConversationMessage(t.conversation,t.messageId)??await M?.getMessage(t.conversation,t.messageId)??void 0,re=(async()=>{let ce=await V();if(!ee()||ce===void 0)return;let W=ue(t);if(ce.encryption.decryptFailed!==true&&!W){await G.commitReceivedMessages([ce],"offline",{backfillOnly:true}),await v(t,ee);return}u.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ce.senderId,messageCreatedAt:ce.createdAt,selfMessage:ce.senderId===o$2,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let oe,Y,le="key-resolve",Ge=jt(t);for(let Fn of [false,true]){let He=Fn?"force":"current",Xe;try{le="bcontent";let rn=d.decode(t.sContent);if(t.wireEncrypt===1){if(rn.secretKey.length===0||rn.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");le="key-resolve";let mn=Fn?{...typeof Y=="string"?{staleKey:Y}:{}}:void 0,Pn=t.conversation.conversationType==="group"?(await he?.getGroupKeys(t.conversation.conversationId,mn))?.privateKey??null:(await ie?.getUserPrivateKey(o$2,mn))?.privateKey??null;Fn&&Y!==void 0&&(Xe=typeof Y=="string"&&Pn!==null&&Y!==Pn),Xe===!0&&Sa$1(t.conversation),Fn||(Y=Pn);let nt=Pa(t);if(Pn===null){u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:jt(t),finalStage:le,reason:"no-key",...nt===void 0?{}:{resolvedKeyVersion:nt},...Xe===void 0?{}:{keyChanged:Xe}}}));continue}le="rsa";let Wn=C$1.rsaDecryptPkcs1({data:rn.secretKey,privateKey:Pn});if(Wn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${Wn.length} < 16`);le="tea";let dn=C$1.decryptSymmetric({teaKey:Wn,cipherData:rn.cipherData});u.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:jt(t),rsaCipherBytes:rn.secretKey.length,cipherDataBytes:rn.cipherData.length,cipherDataBlockRemainder:rn.cipherData.length%8,resolvedTeaBytes:Wn.length,plainBytes:dn.length,plainBlockRemainder:dn.length%8,startsWithContentTypeField:dn[0]===8,startsWithMobileCardType:dn[0]===8&&dn[1]===8,...Bl(dn)}})),le="bmessage",oe=c$1.decode(dn);}else if(t.conversation.conversationType==="channel"){if(rn.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");le="key-resolve";let mn=Fn?{...Y instanceof Uint8Array?{staleKey:Y}:{}}:void 0,Pn=ye?.getChannelKeyCandidates===void 0?await ye?.getChannelKey(t.conversation.conversationId,mn).then(dn=>[{strategy:"canonical-base64-pad",key:dn}])??[]:await ye.getChannelKeyCandidates(t.conversation.conversationId,mn),nt=ye?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);nt!=null&&u.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:He,...nt}}));let Wn=Pn.find(dn=>dn.strategy==="canonical-base64-pad")?.key??null;if(Fn&&Y instanceof Uint8Array&&Wn!==null&&(Xe=!eu(Y,Wn)),Xe===!0&&Sa$1(t.conversation),Fn||(Y=Wn?.slice()??null),Pn.length===0){u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:jt(t),finalStage:le,reason:"no-key",...Xe===void 0?{}:{keyChanged:Xe}}}));continue}for(let dn of Pn)try{le="tea";let yr=C$1.decryptSymmetric({teaKey:dn.key,cipherData:rn.cipherData});le="bmessage";let Wt=c$1.decode(yr);if(dn.strategy==="legacy-ascii16"&&!nu(Wt))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");oe=Wt,Ge=dn.strategy,u.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:dn.strategy,finalStage:"recovered",reason:"recovered",...Xe===void 0?{}:{keyChanged:Xe}}}));break}catch(yr){u.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:dn.strategy,finalStage:le,reason:"decrypt-failed",...Xe===void 0?{}:{keyChanged:Xe}},error:{message:"CHANNEL decrypt recovery candidate failed",data:yr}}));}}if(oe!==void 0){u.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:Ge,finalStage:"recovered",reason:"recovered",...Xe===void 0?{}:{keyChanged:Xe}}}));break}}catch(rn){let mn=Pa(t);u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:jt(t),finalStage:le,reason:"decrypt-failed",...mn===void 0?{}:{resolvedKeyVersion:mn},...Xe===void 0?{}:{keyChanged:Xe}},error:{message:"IM message decryption recovery failed",data:rn}}));}}if(!ee()||oe===void 0){oe===void 0&&(Zl(t.conversation,t.messageId),u.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:jt(t),attempts:2,finalStage:le}})));return}let Fe=await V();if(!ee()||Fe===void 0||Fe.encryption.decryptFailed!==true&&!W)return;let Sn=t.conversation.conversationType==="channel"&&(t.cmdId===12804||oe.contentType===101)?F({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(Fe.serverTime??Fe.createdAt),notifyType:oe.type,operatorId:oe.oprUserId,targetUserIds:oe.mnpledUserId,content:oe.content,...typeof Fe.extensions?.historyCursor=="string"?{historyCursor:Fe.extensions.historyCursor}:{},...typeof Fe.extensions?.channelSequence=="string"?{sequence:BigInt(Fe.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:Fe.raw!==void 0}):{...W$1(Fe,oe,o$2),...W?{edited:true}:{}};await G.commitReceivedMessages([Sn],"offline",{backfillOnly:true,refreshSessionSummary:true}),await v(t,ee);})().finally(()=>{Vn.get(l)===re&&(Vn.delete(l),mt.delete(l));});return Vn.set(l,re),mt.set(l,A),re}async function Hr(t,l={}){try{let A=J(t),K=await M?.getDecryptRecoveries?.(t)??[];if(!m$1)return;let ne=ft.get(A),ee=ne===void 0?K:K.filter(ce=>!ne.has(ce.messageId));if(await Promise.all(ee.map(Gr)),!m$1||l.recoverLegacyWithoutSidecar===!1)return;let te=ft.get(A),V=new Set(K.filter(ce=>te===void 0||!te.has(ce.messageId)).map(ce=>ce.messageId)),re=G.getMessagesByConversation(t).filter(ce=>ce.encryption.decryptFailed===!0&&!V.has(ce.id));if(re.length===0||kn.has(A))return;if(kn.add(A),u.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:re.length,withoutSidecar:re.filter(ce=>!K.some(W=>W.messageId===ce.id)).length}})),t.conversationType==="channel"){let ce=await c.getLoginContext();if(ce===null||nn===void 0)return;for(let W of re.slice(0,Df)){let oe=W.extensions?.historyCursor;if(typeof oe!="string"||oe.trim()==="")continue;let Y=await nn(t.conversationId,oe,ce.userId);if(!m$1)return;Y.length>0&&G.upsertMessages(Y,"offline");}}else t.conversationType==="group"?await tu({conversationType:"group",conversationId:t.conversationId},re):t.conversationType==="direct"&&await za$2();}catch(A){if(!m$1)return;n$1.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:A}});}}async function tu(t,l){if(j===void 0)return;let A=[...l].sort((V,re)=>V.sortKey.localeCompare(re.sortKey)),K=A[0],ne=A.at(-1);if(K===void 0||ne===void 0)return;let ee=K.serverTime??K.createdAt,te;for(let V=0;V<_f;V++){let re=await j({conversation:t,oldestLoaded:ne,...te===void 0?{}:{cursor:te},intent:"older",limit:Tf});if(!m$1||re.exhausted||re.nextCursor===void 0)return;let ce=Number(re.nextCursor);if(Number.isFinite(ce)&&ce<=ee)return;te=re.nextCursor;}}let En=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function Eo(t,l=true){let A=t.channelPermissions,K=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,A===void 0?void 0:[A.sendMessages,A.mentionAll,A.editProfile,A.manageMembers,A.manageAdmins,A.moderateMessages,A.manageMute,A.dismissChannel,A.transferOwnership],!l||K===void 0?void 0:[K.role,K.baseState,K.resolvedState,K.allMembersMuted,K.currentUserMuted,K.mutePeriod]])}let Ao=new Map;function Pt(t){let l=G.getConversationContext(t);if(!m$1||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&on(l.channelState))return;let A=G.getMessagesByConversation(t).at(-1);return JSON.stringify([o$2,A===void 0?l.timestamp:void 0,Eo(l),A?.id,A?.sortKey])}z=jl({...M?.recentHistoryCache===void 0?{}:{cache:M.recentHistoryCache},fingerprint:Pt,canRunBackground:Gu,fetchPage:Gl({http:w$1,authProvider:c,clientType:i$1,groupDecrypt:()=>Dn("history"),channelDecrypt:()=>et("history"),prepareGroupKeys:cn,prepareChannelKeys:t=>pn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,A)=>u.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:A}))});let ru=n$1.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(Le=false),z?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=J(t.conversation),A=Ao.get(l),K={timestamp:t.session.timestamp,access:Eo(t.session),capabilities:Eo(t.session,false),state:t.session.type==="group"?t.session.groupState??"active":t.session.channelState,hasPermissions:t.session.channelPermissions!==void 0,hasSnapshot:t.session.channelAccessSnapshot!==void 0};if(Ao.set(l,K),H==="ready"&&A!==void 0&&(A.access!==K.access||!Ue&&A.timestamp!==K.timestamp)){let ne=!A.hasSnapshot&&K.hasSnapshot&&(A.capabilities===K.capabilities||!A.hasPermissions&&A.state===K.state);z?.invalidate(t.conversation,{preserveForeground:A.access===K.access||ne});}return}if(t.type==="session:removed"){Mn(t.conversation),Ao.delete(J(t.conversation)),H==="ready"&&z?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){Mn(t.conversation),H==="ready"&&z?.invalidate(t.conversation);return}H!=="ready"||Ue||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&z?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function wa$2(t,l=true){Ue=true;try{t.messages.length>0&&G.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let A of t.reactions)En(A);for(let A of z.takeRecoveries(t))D(A);}finally{Ue=false;}}j=async({conversation:t,oldestLoaded:l,cursor:A,intent:K,limit:ne,signal:ee})=>{ee?.throwIfAborted();let{conversationId:te}=t,V=G.getConversationContext(t);if(V===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${te}\uFF09`);if(V.type==="direct"||V.type==="robot")return {messages:[],exhausted:true};if(K==="establish-latest"&&ne===30&&(V.type==="group"||V.type==="channel")){let re={conversationType:V.type,conversationId:te};if(Pt(re)===void 0)return {messages:[],exhausted:true};let ce=await z.readCached(re,true).catch(oe=>(u.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:re,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:oe}})),null));ce!==null&&z.isPageCurrent(ce)&&Date.now()-ce.fetchedAt>5*6e4&&wa$2(ce,false),ee?.throwIfAborted();let W=await z.latest(re,ee).catch(oe=>{if(m$1&&Pt(re)===void 0)return null;throw oe});if(W===null)return {messages:[],exhausted:true};if(ee?.throwIfAborted(),!m$1||!z.isPageCurrent(W)||Pt(re)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(wa$2(W),await z.confirmConsumed(W),ee?.throwIfAborted(),!z.isPageCurrent(W))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:W.messages,exhausted:W.exhausted,...W.nextCursor===void 0?{}:{nextCursor:W.nextCursor},replaceWindow:true}}if(V.type==="group"){if(V.groupState!==void 0&&V.groupState!=="active")return {messages:[],exhausted:true};let re=await c.getLoginContext();if(re===null)return {messages:[],exhausted:true};let ce=K==="establish-latest"?Date.now():A===void 0?l?.serverTime??l?.createdAt??Date.now():Vl(A,te),W=await Ia$1({signal:ee,http:w$1,userId:re.userId,clientType:i$1,groupId:te,baseTime:ce,direct:1,limit:ne,decryptDeps:Dn("history"),prepareKeys:cn,onReaction:En});ee?.throwIfAborted(),W.messages.length>0&&G.upsertMessages(W.messages,"offline",{backfillOnly:true,refreshSessionSummary:K==="establish-latest"});let oe=Nr({conversationId:te,direction:"older",baseTime:ce,batchSize:W.batchSize,boundaryTime:W.oldestEntryTime,limit:ne});return {messages:W.messages,...oe,...K==="establish-latest"?{replaceWindow:true}:{}}}if(V.type==="channel"){let re=k("history");if(V.channelState!==void 0&&on(V.channelState))return u.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:re,data:{state:V.channelState}})),{messages:[],exhausted:true};let ce=sn,W=gn(te),oe=await c.getLoginContext();if(oe===null)return {messages:[],exhausted:true};if(K==="establish-latest"){let Fe=await Aa({signal:ee,http:w$1,userId:oe.userId,clientType:i$1,channelId:te,count:tr,operationId:re,decryptDeps:et("history"),prepareKey:ye===void 0&&ie===void 0?void 0:Fn=>pn([Fn]),onContentDecodeError:x,onReaction:En});ee?.throwIfAborted();let Sn=G.getConversationContext(t);return !m$1||ce!==sn||W!==gn(te)||Sn?.type!=="channel"||Sn.channelState!==void 0&&on(Sn.channelState)?{messages:[],exhausted:true}:(ee?.throwIfAborted(),Fe.messages.length>0&&G.upsertMessages(Fe.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:Fe.messages,exhausted:!Fe.hasOlder,...Fe.nextCursor===void 0?{}:{nextCursor:Fe.nextCursor},replaceWindow:true})}let Y=A??"";if(A===void 0&&l!==void 0){let Fe=l.extensions?.historyCursor;if(typeof Fe=="string"&&Fe.trim()!=="")Y=Fe;else if(!Of(l,oe.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${te}, messageId=${l.id}\uFF09`)}u.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:re,data:{baseIndexPresent:Y!=="",direction:1,contain:0,count:tr,historyGeneration:ce,historyEpoch:W,clientTypeHeader:i$1,clientTypeBody:i$1}}));let le;try{le=await Ba({signal:ee,http:w$1,userId:oe.userId,clientType:i$1,channelId:te,baseIndex:Y,count:tr,contain:0,operationId:re,decryptDeps:et("history"),prepareKey:ye===void 0&&ie===void 0?void 0:Fe=>pn([Fe]),onContentDecodeError:x,onReaction:En});}catch(Fe){throw u.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:re,data:{baseIndexPresent:Y!=="",direction:1,contain:0,count:tr},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Fe}})),Fe}ee?.throwIfAborted();let Ge=G.getConversationContext(t);return !m$1||ce!==sn||W!==gn(te)||Ge?.type!=="channel"||Ge.channelState!==void 0&&on(Ge.channelState)?{messages:[],exhausted:true}:(ee?.throwIfAborted(),le.messages.length>0&&G.upsertMessages(le.messages,"offline",{backfillOnly:true}),u.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:re,data:{responseBatchSize:le.batchSize,messageCount:le.messages.length,exhausted:le.exhausted,nextBaseIndexPresent:le.nextBaseIndex!==void 0}})),{messages:le.messages,exhausted:le.exhausted,...le.nextBaseIndex===void 0?{}:{nextCursor:le.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${V.type}`)};let To=t=>{t.length>0&&G.upsertMessages(t,"offline",{backfillOnly:true});},_o=async()=>{let t=await c.getLoginContext();if(t===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:t.userId}},ou=async(t,l)=>{let A=o$2,K=Ye(t),ne=()=>{if(!m$1||o$2!==A||K!==Ye(t))throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};ne();let{userId:ee}=await _o();if(ne(),ee!==A)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let te=await Lo(ee),V=[],re=[],ce=await Co(l,async Y=>{ne();let le=await va$2({http:w$1,userId:ee,clientType:i$1,messageIds:Y,decryptDeps:{...te,onDecryptRecovery:Ge=>re.push(Ge)},onReaction:Ge=>V.push(Ge)});if(ne(),le.code!==200)throw Object.assign(new Error("DIRECT \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:le.code});return le});ne();let W=ce.messages.filter(Y=>Y.conversationType===t.conversationType&&Y.conversationId===t.conversationId);for(let Y of W)ne(),To([Y]),ne();for(let Y of V)ne(),Y.conversation.conversationType===t.conversationType&&Y.conversation.conversationId===t.conversationId&&En(Y),ne();for(let Y of re)ne(),Y.conversation.conversationType===t.conversationType&&Y.conversation.conversationId===t.conversationId&&D(Y),ne();return {messages:W.map(Y=>{let le=G.getConversationMessage(t,Y.id);if(le===void 0)throw new Error("DIRECT \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return le}),missingMessageIds:ce.missingMessageIds}},Ra=async(t,l)=>{let A={conversationType:"group",conversationId:t},K=o$2,ne=Ye(A),ee=()=>{if(!m$1||o$2!==K||ne!==Ye(A))throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};ee();let{userId:te}=await _o();if(ee(),te!==K)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let V=[],re=[],ce=Dn("history"),W=await Co(l,async le=>{ee();let Ge=await wa$1({http:w$1,userId:te,clientType:i$1,groupId:t,messageIds:le,decryptDeps:{...ce,onDecryptRecovery:Fe=>re.push(Fe)},prepareKeys:cn,onReaction:Fe=>V.push(Fe)});if(ee(),Ge.code!==200)throw Object.assign(new Error("GROUP \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:Ge.code});return Ge});ee();let oe=W.messages.filter(le=>le.conversationType===A.conversationType&&le.conversationId===A.conversationId);for(let le of oe)ee(),To([le]),ee();for(let le of V)ee(),le.conversation.conversationType===A.conversationType&&le.conversation.conversationId===A.conversationId&&En(le),ee();for(let le of re)ee(),le.conversation.conversationType===A.conversationType&&le.conversation.conversationId===A.conversationId&&D(le),ee();return {messages:oe.map(le=>{let Ge=G.getConversationMessage(A,le.id);if(Ge===void 0)throw new Error("GROUP \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Ge}),missingMessageIds:W.missingMessageIds}},Ea$1=async(t,l)=>{let A={conversationType:"channel",conversationId:t},K=o$2,ne=sn,ee=gn(t),te=()=>{let Y=G.getConversationContext(A);if(!m$1||o$2!==K||ne!==sn||ee!==gn(t)||Y?.type!=="channel"||Y.channelState!==void 0&&on(Y.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};te();let{userId:V}=await _o();if(te(),V!==K)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let re=[],ce=[],W=await Co(l,async Y=>{te();let le=await xa$1({http:w$1,userId:V,clientType:i$1,channelId:t,messageIds:Y,operationId:k("history"),decryptDeps:{...et("history"),onDecryptRecovery:Ge=>ce.push({...Ge,source:"history"})},prepareKey:ye===void 0&&ie===void 0?void 0:async Ge=>{await pn([Ge],{recoverExistingMessages:false}),te();},onContentDecodeError:x,onReaction:Ge=>re.push(Ge)});if(te(),le.code!==0)throw Object.assign(new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:le.code});return le});te();for(let Y of W.messages)te(),To([Y]);for(let Y of re)te(),En(Y);for(let Y of ce)te(),D(Y);return te(),{messages:W.messages.map(Y=>{let le=G.getConversationMessage(A,Y.id);if(le===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return le}),missingMessageIds:W.missingMessageIds}},au=vb([sb({includeOppositeEnd:true}),tb({resolveGroupKey:dr}),rb({resolveChannelKey:Nn}),ub()]),iu=cb([db(),eb(),fb()]),su=wa([xa(),ya$1(),za({resolveChannelKey:Nn,resolveProfile:t=>Qe?.getProfile(t)??Promise.resolve(null)})]),In=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},zt=()=>false,jr=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Aa$1=()=>{},lr=()=>{},ur={...G,removeConversationForMembershipTermination:(t,l)=>{Aa$1(t,l),t.conversationType==="group"?he?.clearGroupKeys(t.conversationId):ye?.clearChannelKey(t.conversationId),G.removeConversationForMembershipTermination(t,l),se.api.resetBackground(t).catch(A=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:A}}));}},Vt=Va({domainState:G,sendFrame:t=>In(t),getSelfId:()=>o$2,isAuthenticated:()=>zt(),reportReaction:t=>ar.reportReaction(t),isEmojiSupported:od,logger:L});En=t=>{Vt.ingest(t,"offline");};let cu=Wa$1({manager:Vt,getSelfId:()=>o$2,logger:L}),du=nb({domainState:G,outbox:{onChatAck:t=>jr(t)},sendFrame:t=>In(t),getSelfId:()=>o$2,emitter:n$1,logger:L,keepRaw:true,decrypt:zn(),isActive:()=>m$1}),lu=ib({domainState:G,outbox:{onChatAck:t=>jr(t)},sendFrame:t=>In(t),getSelfId:()=>o$2,emitter:n$1,logger:L,keepRaw:true,decrypt:yn()}),uu=ob({isActive:()=>m$1,domainState:G,outbox:{onChatAck:t=>jr(t)},sendFrame:t=>In(t),getSelfId:()=>o$2,emitter:n$1,logger:L,keepRaw:true}),pu=hb$1({domainState:G,sendFrame:t=>In(t),getSelfId:()=>o$2,emitter:n$1,logger:L,keepRaw:true,decrypt:{crypto:C$1,resolveChannelKey:Zn,resolveUserPrivateKey:Bn,onDecryptRecovery:D}}),mu=gb$1({getSelfId:()=>o$2,sendFrame:t=>In(t),emitter:n$1}),fu=pb({emitter:n$1,getSelfId:()=>o$2}),gu=lb({sendFrame:t=>In(t),emitter:n$1,getSelfId:()=>o$2,domainState:{reconcileDirectContactEstablishedNotice:G.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){G.removeConversation(t);return}t.conversationType==="direct"&&bn(t,"friend_relation_removed"),G.removeConversation(t);})},resetDirectReadReceiptPreference:t=>Q.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:Kn.updateRelationshipFromEvent}),yu=qb({sendFrame:t=>In(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:G.applyTransferStatusBySerialNumber}}),Iu=kb({getSelfId:()=>o$2,sendFrame:t=>In(t),emitter:n$1}),vu=jb({getSelfId:()=>o$2,domainState:G,sendFrame:t=>In(t),emitter:n$1,onRelationshipChanged:Kn.updateRelationshipFromEvent}),Do=o({sendFrame:t=>In(t),emitter:n$1,getSelfId:()=>o$2,isAuthenticated:()=>zt(),domainState:G}),ko=B$1({sendFrame:t=>In(t),emitter:n$1,getSelfId:()=>o$2,isAuthenticated:()=>zt(),domainState:G}),Ta$2=[...Do.handlers,...ko.commandHandlers],hu=2e3,pr,Oo=false,_a$1=new Set;async function Da$1(){if(Oo||!m$1||!zt())return;let t=await c.getLoginContext();if(t!==null){Oo=true;try{let l=[];for(;;){let A=await Ja({http:w$1,userId:t.userId,clientType:i$1,deliveredMsgIds:l});u.record("info","sdk","call","signal-offline-pull",()=>({data:{count:A.items.length,cmdIds:A.items.map(K=>`0x${K.cmdId.toString(16)}`)}})),A.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let K of A.items){if(n$1.emit({type:"notification",cmdId:K.cmdId,name:"OFFLINE_SIGNAL"}),K.msgId!==""&&_a$1.has(K.msgId))continue;K.msgId!==""&&_a$1.add(K.msgId);let ne=Ta$2.find(ee=>ee.command===K.cmdId);ne!==void 0&&ne.handler(K.cmdId,K.body);}if(A.deliveredMsgIds.length===0)break;l=A.deliveredMsgIds;}}catch(l){n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{Oo=false;}}}function Cu(){Da$1(),pr===void 0&&(pr=setInterval(()=>{Da$1();},hu));}function ka(){pr!==void 0&&clearInterval(pr),pr=void 0;}let bu=mb({domainState:G,sendFrame:t=>In(t),getSelfId:()=>o$2,emitter:n$1,logger:L,keepRaw:true}),Mu=Ta$1({domainState:ur,getSelfId:()=>o$2,prefetchGroupKey:Ht,clearGroupKeys:t=>{he?.clearGroupKeys(t);},clearConversationTermination:t=>lr(t)}),Su=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&Mu.handleMessage(t.message);}),Oa=Ma$1({domainState:ur,getSelfId:()=>o$2,prepareChannelKey:t=>{u.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:ye!==void 0&&ye.getCachedChannelKey(t)!==null}})),ye!==void 0&&ye.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=ye!==void 0&&ye.getCachedChannelKey(t)!==null;ye?.clearChannelKey(t),u.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>lr(t),stopChannelHistory:t=>{let l=gn(t);rr(t),G.messageWindow.info().conversationId===t&&G.messageWindow.reset(),u.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:gn(t)}}));}}),Pu=n$1.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(o$2)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:G.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Oa.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),wu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Ru=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Eu=n$1.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,A=l.body.system?.eventType;l.conversationType==="channel"&&A!==void 0&&(wu.has(A)&&un?.invalidateChannelMembers(l.conversationId).catch(K=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:K}});}),Ru.has(A)&&Qn.invalidate(l.conversationId).catch(K=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:K}});}));}),xa$2=Jc({fetchMessagesById:Ra,onSourceUnavailable:t=>u.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"group",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1}),Na=Nd({fetchMessagesById:Ea$1,onSourceUnavailable:t=>u.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"channel",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1}),wt=Ld({...dt===void 0?{}:{joinApplications:dt},http:w$1,clientType:i$1,buildOfflineDecrypt:()=>et("history"),onContentDecodeError:x,onReaction:En,...ye===void 0&&ie===void 0?{}:{prepareKey:t=>pn([t])}});nn=async(t,l,A)=>{let{context:K}=await wt.loadMessageContext(t,l,A);return K.messages};let Au=Fd({authProvider:c,emitter:n$1,domainState:G,loadMessageContext:wt.loadMessageContext,isActive:()=>m$1,getHistoryGeneration:()=>sn,getHistoryEpoch:gn}),xo=xl({domainState:G,isActive:()=>m$1,loadSummary:async({channelId:t,readCursor:l})=>{let A=await c.getLoginContext();if(A===null||!m$1||A.userId!==o$2)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await ya$2({http:w$1,userId:A.userId,clientType:i$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ne=>ne.channelId===t)},report:(t,l,A)=>u.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:A}))}),No=Ya$1({domainState:G,updateReadIndex:async({channelId:t,readCursor:l})=>{let A=await c.getLoginContext();if(A===null||!m$1||A.userId!==o$2)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:w$1,userId:A.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$1,logger:L,onReadCommitted:xo.request,onReadSettled:xo.settled,syncRead:{getSelfId:()=>o$2,sendFrame:t=>In(t)}}),Tu=Xa$1({getSelfId:()=>o$2,applyRemoteRead:t=>No.applyRemoteRead(t),emitter:n$1,logger:L}),_u=ab$1([$a({domainState:G,markGroupReadAll:async t=>{let l=await c.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await na$1({http:w$1,userId:l.userId,groupId:t});},emitter:n$1,logger:L,isAuthenticated:()=>zt(),syncRead:{getSelfId:()=>o$2,sendFrame:t=>In(t)}}),No,bb({domainState:G})]),mr=Ab({getSelfId:()=>o$2,sendFrame:t=>In(t),onListenerError:()=>n$1.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Du=n$1.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&mr.setAuthenticated(false);}),we=wb({transport:I,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:G,logger:L,decrypt:{crypto:C$1,resolvePrivateKey:({msgType:t})=>t===1?ie?.getCachedPrivateKey(o$2)?.privateKey??null:null,onDecryptError:t=>X("live",t),onDecryptRecovery:D},encryptSend:Me===void 0&&ye===void 0?void 0:{crypto:C$1,resolvePublicKey:t=>Me?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:dr},media:P!==void 0?{transfer:P,recoveryPort:g?.port,retainFailedUploads:e$1.uploadRecovery?.retainFailedUploads,shouldPersistUpload:(t,l)=>g!==void 0&&_a(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>b.wait(t),preview:J$1,onTransferError:t=>{u.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},onAlbumContentSize:t=>{u.record(t.outcome==="rejected"?"error":"warn","core","media",t.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:t.conversation,data:{messageId:t.messageId,itemCount:t.itemCount,...t.contentBytes===void 0?{}:{contentBytes:t.contentBytes}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:t.cause}}}));},...B===void 0?{}:{assetCache:B,onAssetCacheError:t=>{u.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:au,commandHandlers:[...mr.commandHandlers,...gu,...fu,...yu,...Iu,...vu,...Ta$2,...cu,...du,...bu,...lu,...pu,...mu,...Tu,...uu],readStrategies:_u,canSendDirectReadReceipt:t=>{if(!Q.isDirectReadReceiptEnabled(t))return false;let l=Kn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:iu,channelMessageDeletion:{resolveProfile:t=>Qe?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>G.refreshConversationProfile(t,"channel")},editStrategies:su,storage:M,onAuthenticated:()=>{mr.setAuthenticated(true);for(let l of be)l.resumeMedia();let t=_e;_e=true,(t||Ee==="auto")&&Ba$1().catch(()=>{}),Cu();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);pe=t=>we.suppressDirectReadReceipts(t),R=t=>we.resumeDirectReadReceipts(t),In=we.sendFrame,zt=()=>we.state==="authenticated",jr=we.onChatAck,bn=we.terminateConversationSending,Aa$1=we.markOutboxConversationTerminated,lr=we.clearOutboxConversationTerminated;let La=Sd({operations:{getPending:we.getPendingOutbox,retry:we.retryOutboxMessage,cancel:we.cancelOutboxMessage},emitter:n$1,isActive:()=>m$1}),Ve=jd({connection:we,domainState:G,crypto:C$1,settleEmptyGroupRead:async t=>{let l=Xn.get(t.conversationId)??0,A=G.getSession(t),K=A===void 0,ne=A?.unreadCount??0,ee=A?.mentionUnreadCount??0,te=ne,V=ee,re=()=>{let W=G.getSession(t);if(!m$1||K||W===void 0||l!==(Xn.get(t.conversationId)??0)||W.groupState!==void 0&&W.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return W},ce=n$1.subscribe(W=>{if(!(!("conversation"in W)||W.conversation?.conversationType!=="group"||W.conversation.conversationId!==t.conversationId)&&((W.type==="session:removed"||W.type==="conversation-history:cleared"||W.type==="session:updated"&&W.session.groupState!==void 0&&W.session.groupState!=="active")&&(K=true),W.type==="read:updated"||W.type==="session:updated")){let oe=G.getReadState(t);if(oe===void 0)return;let Y=oe.mentionUnreadCount??0;te=Math.max(0,te-Math.max(0,ne-oe.unreadCount)),V=Math.max(0,V-Math.max(0,ee-Y)),ne=oe.unreadCount,ee=Y;}});try{re();let W=await c.getLoginContext();if(re(),W===null||W.userId!==o$2)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await na$1({http:w$1,userId:W.userId,groupId:t.conversationId});let oe=re(),Y=G.getReadState(t),le=Math.max(0,(Y?.unreadCount??oe.unreadCount)-te),Ge=Math.max(0,(Y?.mentionUnreadCount??oe.mentionUnreadCount??0)-V);G.setReadState({...Y??{...t,readCursor:oe.readCursor??"",unreadCount:oe.unreadCount},mentionUnreadCount:Ge}),G.applyServerUnread(t,le);}finally{ce();}},...P===void 0?{}:{mediaTransfer:P},prepareDirectReadReceipt:async t=>{try{await Kn.ensureRelationship(t);}catch(l){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),zr=bd({recoveryPort:g?.port,connection:we,domainState:G,emitter:n$1,isActive:()=>m$1,preparePreview:ve,prepareVideoPoster:Ce,onLocalPreviewError:({kind:t,byteLength:l,cause:A})=>{u.record("warn","sdk","media","local-preview-failed",()=>({generation:d$1,data:{kind:t,byteLength:l},error:{message:A instanceof Error?A.message:String(A)}}));},...B===void 0?{}:{assetCache:B,onAssetCacheEvent:t=>{u.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...P===void 0?{}:{loaders:{loadImage:Ve.operations.loadImage,loadVideo:Ve.operations.loadVideo,loadVoice:Ve.operations.loadVoice,loadFile:Ve.operations.loadFile}}}),Vr=Fl({isActive:()=>m$1&&H==="ready"&&o$2!=="",maintain:async()=>{zr.prune(),we.expireRetainedUploads();let l=(await Promise.allSettled([U?B?.prune?.():void 0,g?.prune()])).find(A=>A.status==="rejected");if(l?.status==="rejected")throw l.reason},onError:t=>u.record("warn","sdk","media","media-cache-maintenance-failed",()=>({error:{message:"\u5A92\u4F53\u8FC7\u671F\u7F13\u5B58\u6E05\u7406\u5931\u8D25",data:t}}))});ir=()=>{we.invalidateMediaAssetCacheWrites(),zr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(we.setConnectionAllowed(false),je=db$1({onChange:(t,l)=>{if(!t)return We=true,we.setConnectionAllowed(false),m$1?(Ou(),ja({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):en?.then(()=>{})},onError:t=>{On=t,n$1.emit({type:"error",error:{scope:"transport",message:"IM \u9875\u9762\u8FDE\u63A5\u534F\u8C03\u4E0D\u53EF\u7528\uFF0C\u8BF7\u4F7F\u7528\u652F\u6301 Web Locks \u7684\u5B89\u5168\u6D4F\u89C8\u5668\u73AF\u5883",cause:t}});}}));async function ku(t){if(!(je===void 0||!m$1)){if(!We){ae??=je.start(r.forAccount(t).name("ephemeral","connection",`client-${i$1}`));let l=await ae;if(!m$1)return;if(m$1&&!We&&l&&je.owned){we.setConnectionAllowed(true);return}}throw we.setConnectionAllowed(false),await we.connect(),On!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:On}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let qr=eb$1({onOnline:()=>{b.setOnline(true),we.notifyOnline();},onOffline:()=>{b.setOnline(false),we.notifyOffline();},onVisible:()=>{Vr.run(),we.notifyVisible();for(let t of be)t.resumeMedia();},onPageHide:()=>{Se&&we.suspendForPageLifecycle();},onPageShow:()=>{if(Vr.run(),Se){we.resumeFromPageLifecycle(),we.notifyVisible();for(let t of be)t.resumeMedia();}}},e$1.network);function Ou(){m$1=false,Ie.abort(),q.dispose(),Te.dispose(),Ae.dispose(),z?.dispose(),Se=false,qe+=1,qr.stop();}let xu=n$1.subscribe(t=>{!m$1||t.type!=="auth:invalid"||(Se=false,qe+=1,We=je!==void 0,je?.terminate(),qr.stop());});async function Lo(t){let l=await ie?.getUserPrivateKey(t)??null;return {crypto:C$1,resolvePrivateKey:({msgType:A})=>A===1?l?.privateKey??null:null,onDecryptError:A=>X("offline",A,t),onDecryptRecovery:D}}function Fa(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:A,limit:K})=>{let ne=await c.getLoginContext();if(ne===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let ee=await Lo(ne.userId),te=[];return {...await l({http:w$1,userId:ne.userId,clientType:i$1,decryptDeps:ee,deliveredMsgInfos:A,...K===void 0?{}:{limit:K},onReaction:re=>te.push(re)}),reactions:te}}}}let Nu=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let A=await c.getLoginContext();if(A===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let K=[];return {...await Ga$1({http:w$1,userId:A.userId,clientType:i$1,decryptDeps:Dn("offline"),prepareKeys:cn,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:ee=>K.push(ee)}),reactions:K}}});async function Ua(t){let l=[...new Map(t.map(ne=>[J(ne),ne])).values()],A=0;await(async()=>{for(;A<l.length;){if(!m$1)return;let ne=l[A++];if(!(G.getSession(ne)===void 0||Pt(ne)===void 0))try{if(await q.waitForBackground(Ie.signal),!m$1||G.getSession(ne)===void 0||Pt(ne)===void 0)continue;z.invalidate(ne,{preserveForeground:!0}),await j({conversation:ne,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(ee){if(!m$1||G.getSession(ne)===void 0||Pt(ne)===void 0)continue;n$1.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:ee}}),u.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:ne,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:ee}}));}}})();}async function Lu(){let t=await c.getLoginContext();if(t===null)return;let l=[],A=await Ha({http:w$1,userId:t.userId,clientType:i$1,decryptDeps:Dn("offline"),prepareKeys:cn,onReaction:K=>l.push(K)});if(m$1){for(let K of A.unreads)G.applyServerUnread({conversationType:"group",conversationId:K.groupId},K.unreadCount),Ht(K.groupId);await Ka(A.messages,l),await Ua(A.unreads.map(K=>({conversationType:"group",conversationId:K.groupId}))),ha$1(A);}}async function Fu(){let t=k("sync");u.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:i$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:i$1}}));try{await Uu(t);}catch(l){throw u.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Uu(t){if(Qe===void 0){u.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await c.getLoginContext();if(l===null){u.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let A=await Qe.listProfiles({forceRefresh:true});if(!m$1)return;if(A.length===0){u.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let K=new Map(A.map(O=>[O.id,O]));for(let O of A){if($(O.channelState)){ye?.clearChannelKey(O.id),ur.removeConversationForMembershipTermination({conversationType:"channel",conversationId:O.id},`channel_${O.channelState}`);continue}let me=O.permissions.sendMessages?void 0:`channel_${O.channelState}`;G.setChannelRestriction(O.id,O.channelState,me,{permissions:O.permissions,...O.accessSnapshot===void 0?{}:{snapshot:O.accessSnapshot}}),G.updateConversationProfile({conversationType:"channel",conversationId:O.id},{title:O.name,avatar:O.avatar}),O.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:O.id},O.muted);}let ne=new Map(A.map(O=>{let me={conversationType:"channel",conversationId:O.id},Ke=G.getReadState(me),Be=G.getSession(me);return [O.id,{revision:G.getChannelReadRevision(me),pending:G.hasPendingChannelRead(me),readCursor:Ke?.readCursor??Be?.readCursor??"",unreadCount:Be?.unreadCount??Ke?.unreadCount??0,mentionUnreadCount:Be?.mentionUnreadCount??Ke?.mentionUnreadCount??0}]})),ee=A.map(O=>({channelId:O.id,readCursor:ne.get(O.id).readCursor}));u.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:ee.length,channelsWithReadCursor:ee.filter(O=>O.readCursor!=="").length,clientTypeHeader:i$1,clientTypeBody:i$1}}));let te=await ya$2({http:w$1,userId:l.userId,clientType:i$1,channels:ee,operationId:t,decryptDeps:et("offline"),prepareKeys:O=>pn(O.filter(me=>{let Ke=K.get(me)?.channelState;return Ke===void 0||!on(Ke)})),onContentDecodeError:x,onReaction:En});if(!m$1)return;u.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:te.length,lastMessageCount:te.filter(O=>O.last!==void 0).length,decryptFailedLastCount:te.filter(O=>O.last?.encryption.decryptFailed===true).length,unknownContentLastCount:te.filter(O=>O.last?.contentType==="unknown"&&O.last.encryption.decryptFailed!==true).length}}));let V=new Set(te.filter(O=>{let me=ne.get(O.channelId),Ke={conversationType:"channel",conversationId:O.channelId},Be=G.getReadState(Ke),tt=G.getSession(Ke);return me===void 0||me.pending||G.hasPendingChannelRead(Ke)||G.getChannelReadRevision(Ke)!==me.revision||(Be?.readCursor??tt?.readCursor??"")!==me.readCursor||(tt?.unreadCount??Be?.unreadCount??0)!==me.unreadCount||(tt?.mentionUnreadCount??Be?.mentionUnreadCount??0)!==me.mentionUnreadCount}).map(O=>O.channelId)),re=te.filter(O=>G.getConversationContext({conversationType:"channel",conversationId:O.channelId})!==void 0).map(O=>{let Ke=K.get(O.channelId)?.channelState,Be=Ke!==void 0&&on(Ke)?Ke:on(O.channelState)?O.channelState:Ke??O.channelState,tt=Be==="active"?void 0:Be===O.channelState?O.sendDisabledReason:`channel_${Be}`;return {...O,channelState:Be,sendDisabledReason:tt}});for(let O of re){let me=K.get(O.channelId);G.setChannelRestriction(O.channelId,O.channelState,O.sendDisabledReason,me===void 0?void 0:{permissions:me.permissions,...me.accessSnapshot===void 0?{}:{snapshot:me.accessSnapshot}}),me!==void 0&&(G.updateConversationProfile({conversationType:"channel",conversationId:O.channelId},{title:me.name,avatar:me.avatar}),me.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:O.channelId},me.muted)),V.has(O.channelId)||G.applyChannelReadSummary({conversationType:"channel",conversationId:O.channelId},O),on(O.channelState)&&ye?.clearChannelKey(O.channelId);}let ce=sn,W=new Map(re.map(O=>[O.channelId,gn(O.channelId)])),oe=O=>{let me=G.getConversationContext({conversationType:"channel",conversationId:O});return m$1&&ce===sn&&W.get(O)===gn(O)&&me!==void 0&&(me.channelState===void 0||!on(me.channelState))},Y=O=>{if(!m$1||ce!==sn)return [];let me=O.filter(Ke=>oe(Ke.conversationId));return me.length>0&&G.upsertMessages(me,"offline",{applyChannelLifecycleEffects:true}),me};Y(re.flatMap(O=>O.last===void 0?[]:[O.last])),await Ua(re.filter(O=>O.last===void 0&&!on(O.channelState)).map(O=>({conversationType:"channel",conversationId:O.channelId})));let le=re.filter(O=>!V.has(O.channelId)&&!on(O.channelState)&&O.unreadCount>0&&O.readCursor!=="");u.record("debug","sdk","sync","channel-offline-plan",()=>{let O={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let me of re)V.has(me.channelId)?O.staleRead+=1:on(me.channelState)?O.historyBlocked+=1:me.unreadCount<=0?O.zeroUnread+=1:me.readCursor===""&&(O.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:re.length,eligibleChannelCount:le.length,staleReadSkippedCount:O.staleRead,historyBlockedSkippedCount:O.historyBlocked,zeroUnreadSkippedCount:O.zeroUnread,emptyReadCursorSkippedCount:O.emptyReadCursor,direction:0,contain:0,count:tr}}});let Ge=[],Fe=new Map(le.map(O=>[O.channelId,O.readCursor])),Sn=[];for(let O of le){let me={conversationType:"channel",conversationId:O.channelId},Ke=M?.supportsChannelSyncCheckpoint!==true?void 0:Oa$1(await M.getMeta(Na$1(me)),me);if(!oe(O.channelId))continue;let Be=Ke?.startIndex===O.readCursor;Sn.push({channelId:O.channelId,baseIndex:Be?Ke.baseIndex:O.readCursor}),u.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:me,data:{resumed:Be}}));}let Fn=[],He=[],Xe;if(await za$1({http:w$1,userId:l.userId,clientType:i$1,operationId:t,pulls:Sn,messageCount:tr,signal:Ie.signal,beforePage:()=>q.waitForBackground(Ie.signal),isChannelCurrent:oe,yieldToEventLoop:b$1,decryptDeps:{...et("offline"),onDecryptRecovery:O=>He.push(O)},prepareKeys:O=>pn(O,{recoverExistingMessages:false}),onContentDecodeError:x,onReaction:O=>Fn.push(O),onPage:async(O,me)=>{let Ke=Fn.splice(0),Be=He.splice(0),Uo=(async()=>{for(let Rt of me.pulls){let Wa={conversationType:"channel",conversationId:Rt.channelId},Et=()=>oe(Rt.channelId);if(!Et())continue;let $r=Be.filter(Gn=>Gn.conversation.conversationId===Rt.channelId),$a=()=>{Ge.push(...Y(O.filter(Gn=>Gn.conversationId===Rt.channelId)));for(let Gn of Ke)Et()&&Gn.conversation.conversationId===Rt.channelId&&En(Gn);};if(M?.supportsChannelSyncCheckpoint!==true){$a();for(let Gn of $r)Et()&&D(Gn);continue}if(!await G.commitChannelSyncPage([Wa],$a,Et,async()=>{if($r.length>0&&M.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Gn of $r)await M.saveDecryptRecovery(Gn);})||!Et())continue;let Ja=me.nextBaseIndexes[Rt.channelId];Ja!==void 0&&await G.saveChannelSyncCheckpoint({version:1,conversation:Wa,startIndex:Fe.get(Rt.channelId),baseIndex:Ja},Et);for(let Gn of $r)Et()&&Gr(Gn).catch(op=>n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:op}}));}})();De.add(Uo);try{await Uo;}finally{De.delete(Uo);}}}).catch(O=>{Xe={cause:O};}),!m$1)return;let rn=re.flatMap(O=>{let me=O.last;if(me===void 0||gt(me))return [];let Ke=me.extensions?.historyCursor;return [{summary:O,last:me,historyCursor:typeof Ke=="string"?Ke.trim():""}]}),mn=(O,me)=>`${O}:${me}`,Pn=new Map,nt=new Set;for(let{summary:O,last:me}of rn){let Ke=G.getConversationMessage({conversationType:"channel",conversationId:O.channelId},me.id);if(Ke===void 0||!gt(Ke))continue;let Be=mn(O.channelId,me.id);Pn.set(Be,Ke),nt.add(Be);}for(let O of Ge)gt(O)&&Pn.set(mn(O.conversationId,O.id),O);let Wn=rn.filter(({summary:O,last:me,historyCursor:Ke})=>Ke!==""&&!V.has(O.channelId)&&!on(O.channelState)&&!Pn.has(mn(me.conversationId,me.id))&&!qn.has(mn(me.conversationId,me.id))),dn=rn.filter(({summary:O,last:me})=>!V.has(O.channelId)&&!on(O.channelState)&&!nt.has(mn(me.conversationId,me.id))&&Pn.has(mn(me.conversationId,me.id))).length;u.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:rn.length,decryptFailedLastCount:rn.filter(({last:O})=>O.encryption.decryptFailed===true).length,unknownContentLastCount:rn.filter(({last:O})=>O.contentType==="unknown"&&O.encryption.decryptFailed!==true).length,localRecoveredCount:nt.size,offlineRecoveredCount:dn,contextRecoveryCount:Wn.length,staleReadSkippedCount:rn.filter(O=>V.has(O.summary.channelId)).length,historyBlockedSkippedCount:rn.filter(O=>on(O.summary.channelState)).length,missingHistoryCursorCount:rn.filter(O=>O.historyCursor==="").length}}));let yr=async({summary:O,last:me,historyCursor:Ke})=>{try{if(await q.waitForBackground(Ie.signal),!oe(O.channelId))return;let{message:Be}=await wt.loadMessageContext(O.channelId,Ke,l.userId,Ie.signal),tt=G.getConversationContext({conversationType:"channel",conversationId:O.channelId});if(!m$1||tt?.type!=="channel"||tt.channelState!==void 0&&on(tt.channelState))return;if(Be.conversationType!=="channel"||Be.conversationId!==O.channelId||Be.id!==me.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${O.channelId}, messageId=${me.id}\uFF09`);if(!gt(Be)){if(Be.contentType==="unknown"&&Be.encryption.decryptFailed!==!0){qn.add(mn(Be.conversationId,Be.id)),u.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:O.channelId},data:{messageId:me.id,reason:Be.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${O.channelId}, messageId=${me.id}\uFF09`)}return Be}catch(Be){u.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:O.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Be},data:{messageId:me.id}}));return}},Wt=[];for(let O of Wn){if(!m$1)break;Wt.push(await yr(O));}for(let O of Wt)O!==void 0&&Pn.set(mn(O.conversationId,O.id),O);let rp=Wt.filter(O=>{if(O===void 0)return false;let me=G.getConversationMessage({conversationType:"channel",conversationId:O.conversationId},O.id);return me===void 0||!gt(me)});if(Y(rp),Xe!==void 0)throw Xe.cause;u.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:A.length,terminalProfileCount:A.filter(O=>$(O.channelState)).length,sessionCount:te.length,acceptedSessionCount:re.length,sessionLastCount:re.filter(O=>O.last!==void 0).length,recoveredSessionLastCount:rn.filter(({last:O})=>Pn.has(mn(O.conversationId,O.id))).length,offlineMessageCount:Ge.length}}));}let fr=null,Fo=false;function Ku(){return fr!==null?(Fo=true,fr):(fr=(async()=>{let l;do{Fo=false,l=void 0;try{await Fu();}catch(A){l=A;}}while(Fo);if(l!==void 0)throw l})().finally(()=>{fr=null;}),fr)}async function Ka(t,l=[]){if(!m$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88");await G.commitReceivedMessages(t,"offline",void 0,{events:l??[],apply:K=>Vt.ingest(K,"offline")});let A=t.flatMap(K=>{let ne=F$1.get(f$1({conversation:{conversationType:K.conversationType,conversationId:K.conversationId},messageId:K.id}));return ne===void 0?[]:[ne]});if(await Promise.all(A),!m$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88")}let Bu=Hb({commitBatch:Ka,pullers:[Fa("chat",Ca$1),Fa("owner_chat",Da),Nu()],domainState:G,emitter:n$1,logger:L,yieldToEventLoop:b$1});function Gu(){return m$1&&H==="ready"&&Le&&ke===0&&we.state==="authenticated"}async function Ba$1(){if(je!==void 0&&(!je.owned||We))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=Ae.begin(),l=Te.begin(),A=Lu().catch(ne=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:ne}}),ne}),K=Ku().catch(ne=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:ne}}),ne});ke+=1;try{let ee=(await Promise.allSettled([Bu.sync({rejectOnFailure:!0}),A,K])).find(te=>te.status==="rejected");if(ee?.status==="rejected")throw ee.reason}finally{l(),t(),ke-=1,Le=we.state==="authenticated",z?.notifySchedulingChanged();}}async function Hu(){if(H==="ready")return;H="preparing";let t=await c.getLoginContext();if(m$1){if(t!==null){if(await ku(t.userId),!m$1)return;o$2=t.userId;try{await g?.prepare(t.userId);}catch{n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u672C\u6B21\u4E0A\u4F20\u4EC5\u652F\u6301\u5F53\u524D\u9875\u9762\u5185\u6062\u590D"}});}if(!m$1)return;if(ie!==void 0&&ie.getUserPrivateKey(t.userId),M!==void 0)try{if(await M.open({namespace:t.userId}),U=!0,!m$1)return;try{await Q.hydrate();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!m$1||(await G.hydrate(()=>m$1),!m$1))return;for(let l of G.getSessions())l.title===""&&l.type!=="supergroup"&&G.refreshConversationProfile(l.id,l.type);if(await we.hydrateOutbox(()=>m$1),!m$1)return}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!m$1)return;if(he!==void 0)for(let l of G.getSessions())l.type==="group"&&Ht(l.id);}m$1&&(H="ready",o$2!==""&&Vr.start());}}function Ga(){if(We)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(H==="ready")return Promise.resolve();if(Yn!==null)return Yn;let t=Date.now();return u.record("info","sdk","session","prepare-start"),Yn=Hu().then(()=>u.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw u.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{Yn=null;}),Yn}function ju(t){if(We)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!m$1||We)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(Se=true,we.state==="authenticated")return Promise.resolve();if(E!==null)return E;Ee=t?.initialSync??"auto",_e=false;let l=Date.now();u.record("info","sdk","connection","connect-start",()=>({data:{initialSync:Ee}}));let A=qe;return E=(async()=>{await Ga(),!(!m$1||!Se||A!==qe)&&(qr.start(),await we.connect());})().then(()=>u.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(K=>{throw u.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:K}})),K}).finally(()=>{E=null;}),E}function Ha$1(t){u.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),Se=false,qe+=1,ka(),we.disconnect(t),qr.stop();}function ja(t,l={}){if(en!==void 0)return en;let A,K;return en=new Promise((ne,ee)=>{A=ne,K=ee;}),zu(t,l).then(A,K),en}async function zu(t,l){let A=Date.now(),K;u.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),m$1=false,Ie.abort(),q.dispose(),Te.dispose(),Ae.dispose(),xo.dispose(),l.notifyReplacement&&n$1.emit({type:"session:replaced"});let ne=Vr.dispose(),ee=z?.dispose();ru(),Du(),mr.dispose(),ka(),Do.dispose(),ko.dispose(),Vt.dispose(),La.dispose(),zr.dispose(),N.dispose(),sr.dispose(),Kn.dispose();let te=we.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let le of be)le.close();be.clear(),sn+=1,we.markOutboxForLogout(t?.pendingMessages??"fail"),xa$2.dispose(),Na.dispose(),wt.dispose(),Qn.dispose(),jn.dispose(),Re.dispose(),se.dispose();let V=Q.dispose();Gt.dispose();let re=G.invalidateAndDrainDraftOperations();cr.dispose(),Su(),Pu(),Eu(),Oa.dispose(),No.reset(),ye?.clearAll(),ft.clear(),kn.clear(),qn.clear(),Ha$1("im-logout"),(l.requireStorageClose||je?.owned===true)&&await Yn?.catch(()=>{});try{await te;}catch{n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u4EFB\u52A1\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u672C\u5730\u6570\u636E\u4E0E\u7F51\u7EDC\u72B6\u6001"}});}await ne;try{await g?.dispose(l.preserveUploadRecovery===!0);}catch(le){K=le,n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u6E05\u7406\u5931\u8D25\uFF0C\u8BF7\u6E05\u9664\u6B64\u7AD9\u70B9\u7684\u672C\u5730\u6570\u636E"}});}await re,await V,await ee,await Promise.allSettled([...De]),await G.waitForChannelSyncPersistence(),await Promise.allSettled([...F$1.values(),...Vn.values()]),await Promise.all([...a$1.values()]),G.clearSession();let ce=t?.localData==="purge"?o$2:"",W=ce===""?void 0:K,oe,Y=true;if(M!==void 0)try{await M.close();}catch(le){Y=false,ce!==""&&(W=le),l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:ce===""?"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25":"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93",cause:le}});}if(ce!==""&&Y)try{T$1!==void 0?await T$1.purgeCurrentAccount({namespaceFactory:r,accountId:ce}):await fb$1(ce,{namespaceFactory:r}),W===void 0&&(oe=ce);}catch(le){W=le,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:le}});}if(H="empty",u.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-A,data:{purgedAccountId:oe,purgeFailed:W!==void 0}})),Bt(),de(),xu(),We=true,(l.requireStorageClose||je!==void 0)&&!Y)throw new Error("Previous chat page could not close its account storage");return je?.stop(),{...oe===void 0?{}:{purgedAccountId:oe},...W===void 0?{}:{purgeError:W}}}function Vu(){return {sessionState:H,connectionState:we.state,...o$2!==""?{userId:o$2}:{},prepared:H==="ready",connectionDesired:Se,authenticated:we.state==="authenticated",receiving:Ae.receiving,syncing:Te.receiving}}function qu(t){return n$1.subscribe(t)}function Wu(){return {connectionState:we.state,pendingOutbox:we.getPendingOutbox()}}function $u(){return G.getConversationList()}Un=async({conversation:t,newestLoaded:l,cursor:A,limit:K,signal:ne})=>{ne?.throwIfAborted();let{conversationId:ee}=t,te=G.getConversationContext(t);if(te===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(te.type==="direct"||te.type==="robot")return {messages:[],exhausted:true};if(te.type==="group"){if(te.groupState!==void 0&&te.groupState!=="active")return {messages:[],exhausted:true};let V=await c.getLoginContext();if(V===null)return {messages:[],exhausted:true};let re=A===void 0?l?.serverTime??l?.createdAt:Vl(A,ee);if(re===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${ee}, messageId=${l?.id??""}\uFF09`);let ce=await Ia$1({signal:ne,http:w$1,userId:V.userId,clientType:i$1,groupId:ee,baseTime:re,direct:2,limit:K,decryptDeps:Dn("history"),prepareKeys:cn,onReaction:En});ne?.throwIfAborted(),ce.messages.length>0&&G.upsertMessages(ce.messages,"offline",{backfillOnly:true});let W=Nr({conversationId:ee,direction:"newer",baseTime:re,batchSize:ce.batchSize,boundaryTime:ce.newestEntryTime,limit:K});return {messages:ce.messages,...W}}if(te.type==="channel"){if(te.channelState!==void 0&&on(te.channelState))return {messages:[],exhausted:true};let V=A??l?.extensions?.historyCursor;if(typeof V!="string"||V.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${ee}, messageId=${l?.id??""}\uFF09`);let re=sn,ce=gn(ee),W=await c.getLoginContext();if(W===null)return {messages:[],exhausted:true};let oe=A===void 0?(await wt.loadMessageContext(ee,V,W.userId,ne)).context:await wt.loadNewerPage(ee,V,W.userId,ne);ne?.throwIfAborted();let Y=G.getConversationContext(t);return !m$1||re!==sn||ce!==gn(ee)||Y?.type!=="channel"||Y.channelState!==void 0&&on(Y.channelState)?{messages:[],exhausted:true}:(oe.messages.length>0&&G.upsertMessages(oe.messages,"offline",{backfillOnly:true}),{messages:oe.messages,exhausted:!oe.hasNewer,...!oe.hasNewer||oe.nextCursor===void 0?{}:{nextCursor:oe.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${te.type}`)};function Ju(t){let l=t.conversationId,A=o$2,K=sn,ne=gn(l),ee,te;return async({readCursor:V,cursor:re,signal:ce,isCurrent:W})=>{let oe=q.enterForeground();try{let Y=()=>{let He=G.getConversationContext(t);return m$1&&o$2===A&&W()&&K===sn&&ne===gn(l)&&He?.type==="channel"&&(He.channelState===void 0||!on(He.channelState))};if(ce.throwIfAborted(),!Y()||re!==void 0&&(ee!==V||te===void 0))return;let le=await c.getLoginContext();if(ce.throwIfAborted(),le===null||le.userId!==A||!Y())return;let Ge=[],Fe=[],Sn=await S({http:w$1,userId:le.userId,clientType:i$1,channelId:l,index:re??V,containAnchor:re===void 0,signal:ce,decryptDeps:{...et("history"),onDecryptRecovery:He=>Fe.push({...He,source:"history"})},prepareKey:He=>pn([He],{recoverExistingMessages:!1}),onContentDecodeError:x,onReaction:He=>Ge.push(He)});if(ce.throwIfAborted(),!Y())return;if(re===void 0){let He=Sn.messages.find(Xe=>Xe.extensions?.historyCursor===V);if(He===void 0)return;ee=V,te=He.sortKey;}if(te===void 0||(Sn.messages.length>0&&G.upsertMessages(Sn.messages,"offline",{backfillOnly:!0}),!Y()))return;for(let He of Ge){if(!Y())return;En(He);}for(let He of Fe){if(!Y())return;D(He);}return Y()?{messages:Sn.messages.map(He=>{let Xe=G.getConversationMessage(t,He.id);if(Xe===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Xe}),readCursorSortKey:te,exhausted:!Sn.hasNewer,...Sn.nextCursor===void 0?{}:{nextCursor:Sn.nextCursor}}:void 0}finally{oe();}}}async function za$2(){let t=await c.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await Lo(t.userId),A=await Ea({http:w$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:En}),K=await Fa$1({http:w$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:En}),ne=[...A,...K];return G.upsertMessages(ne,"offline"),ne}async function Yu(){await Ba$1();}let Xu=2;function Ln(t){let l=Z({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Qu(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Zu(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let l=t;return {code:l.code,category:l.category,retryable:l.retryable}}return t instanceof n?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o$1||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Va$1(t){if(!m$1)throw Ln({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function ep(t){let l=t?.conversationType,A=t?.conversationId;if(l==="supergroup")throw Ln({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof A!="string"||A.trim()==="")throw Ln({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:A.trim()})}function qt(t,l){return {id:t.conversationId,type:t.conversationType,title:l.title.trim()||t.conversationId,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:l.muted??false,...l.groupState===void 0?{}:{groupState:l.groupState},...l.channelState===void 0?{}:{channelState:l.channelState},...l.channelPermissions===void 0?{}:{channelPermissions:l.channelPermissions},...l.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:l.channelAccessSnapshot},...l.sendDisabledReason===void 0?{}:{sendDisabledReason:l.sendDisabledReason}}}async function np(t){let l=ep(t);if(Va$1(l),G.getSession(l)!==void 0)return l;let A=Ae.begin(),K=false,ne=n$1.subscribe(te=>{te.type==="session:removed"&&te.conversation.conversationType===l.conversationType&&te.conversation.conversationId===l.conversationId&&(K=true);}),ee=()=>{if(Va$1(l),K)throw Ln({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let W=jn.peekItem("individual",l.conversationId);if(W!==void 0)return G.prepareConversation(qt(l,{title:W.displayName||W.cardDisplayName,...W.avatarUrl===void 0?{}:{avatar:W.avatarUrl}})),l;let oe=await Kn.getRelationship(l.conversationId);if(ee(),oe!=="friend")throw Ln({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:oe})});let Y=await Kn.getProfile(l.conversationId);if(ee(),Y===null||Y.id!==l.conversationId)throw Ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return G.prepareConversation(qt(l,{title:Y.remark??Y.nickname,...Y.avatar===void 0?{}:{avatar:Y.avatar},...Y.muted===void 0?{}:{muted:Y.muted}})),l}if(l.conversationType==="group"){let W=G.isMembershipTerminated(l),oe=jn.peekItem("group",l.conversationId);if(oe!==void 0&&!W)return G.prepareConversation(qt(l,{title:oe.displayName||oe.cardDisplayName,...oe.avatarUrl===void 0?{}:{avatar:oe.avatarUrl},groupState:"active"})),l;if(Hn===void 0)throw Ln({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let Y=await Hn.getGroupProfile(l.conversationId,W?{forceRefresh:!0}:void 0);if(ee(),Y===null||Y.id!==l.conversationId)throw Ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(Y.isInGroup===!1||W&&Y.isInGroup!==!0||Y.status!==void 0&&Y.status!==Xu)throw Ln({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...Y.status===void 0?{}:{status:Y.status},...Y.isInGroup===void 0?{}:{isInGroup:Y.isInGroup}})});return G.prepareConversation(qt(l,{title:Y.name,...Y.avatar===void 0?{}:{avatar:Y.avatar},...Y.muted===void 0?{}:{muted:Y.muted},groupState:"active"}),{membershipConfirmed:W}),W&&(ee(),lr({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let W=Re.peek(l.conversationId);return G.prepareConversation(qt(l,{title:W?.displayName??l.conversationId,...W?.avatarUrl===void 0?{}:{avatar:W.avatarUrl}})),l}if(Qe===void 0)throw Ln({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let te=G.isMembershipTerminated(l),V=await Qe.getProfile(l.conversationId,te?{forceRefresh:!0}:void 0);if(ee(),V===null||V.id!==l.conversationId)throw Ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let re=V.channelState==="active"||V.channelState==="muted",ce=V.channelState==="muted"&&V.accessSnapshot?.allMembersMuted===!0&&V.role!=="owner"&&V.role!=="admin";if(!re||ce)throw Ln({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:V.channelState,role:V.role,hiddenByAllMemberMute:ce})});return G.prepareConversation(qt(l,{title:V.name,...V.avatar===void 0?{}:{avatar:V.avatar},...V.muted===void 0?{}:{muted:V.muted},channelState:V.channelState,channelPermissions:V.permissions,...V.accessSnapshot===void 0?{}:{channelAccessSnapshot:V.accessSnapshot},...V.permissions.sendMessages?{}:{sendDisabledReason:`channel_${V.channelState}`}}),{membershipConfirmed:te}),te&&(ee(),lr({conversationType:"channel",conversationId:l.conversationId})),l}catch(te){if(Qu(te))throw te;let V=Zu(te);throw Ln({...V,conversation:l,cause:te})}finally{ne(),A();}}let gr={...Gd({...h$1===void 0?{}:{coreClient:h$1},authProvider:c,http:w$1,resolveInput:p$1,domainState:G,operations:{list:$u,pullOffline:za$2,sync:Yu,prefetchRecent:(t,l)=>z.prefetchRecent(t,l)},beforeDeleteConversation:or,terminateConversationSending:(t,l)=>we.terminateConversationSending(t,l),resetConversationBackground:t=>se.api.resetBackground(t),reportStorageError:(t,l)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>we.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await qa(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...se.api,ensureOpenableConversation:np,getContext:t=>G.getConversationContext(t)};function tp(t,l=true){let A=new AbortController,K={...t,resumeMedia(){!l||!m$1||A.signal.aborted||we.state!=="authenticated"||t.ref.conversationType==="robot"||we.resumePausedMediaUploads(t.ref,A.signal).catch(()=>{m$1&&!A.signal.aborted&&n$1.emit({type:"error",error:{scope:"unknown",message:"\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4F20\u6062\u590D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6"}});});},close(){A.abort(),t.close(),be.delete(K);}};return Mo(K,t),be.add(K),l&&K.resumeMedia(),K}function Wr(t,l,A=true){if(!m$1)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return l?.aborted&&(t.close(),l.throwIfAborted()),tp(t,A)}async function qa(t,l={},A){if(!m$1)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let K=z?.enterForeground(t),ne=q.enterForeground(),ee=Ae.begin();try{let te={beginReceiving:Ae.begin,domainState:G,invalidateHistory:or,emitter:n$1,drafts:Gt.api,sendText:Ve.operations.sendText,sendContact:Ve.operations.sendContact,sendImage:Ve.operations.sendImage,sendVideo:Ve.operations.sendVideo,sendVoice:Ve.operations.sendVoice,sendFile:Ve.operations.sendFile,sendGif:Ve.operations.sendGif,sendMediaAlbum:Ve.operations.sendMediaAlbum,sendExpression:Ve.operations.sendExpression,sendGame:Ve.operations.sendGame,sendMiniProgram:Ve.operations.sendMiniProgram,sendTransfer:Ve.operations.sendTransfer,sendGift:Ve.operations.sendGift,sendLiveRoom:Ve.operations.sendLiveRoom,replaceVideo:Ve.operations.replaceInterruptedVideo,replaceFile:Ve.operations.replaceInterruptedFile,forwardMessages:Ve.operations.forwardMessages,recallMessage:Ve.operations.recallMessage,editMessage:Ve.operations.editMessage,setReaction:({conversation:V,parentMessageId:re,emoji:ce,action:W})=>{if(V.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let oe={conversationType:V.conversationType,conversationId:V.conversationId};return W==="toggle"?Vt.toggle({conversation:oe,parentMessageId:re,emoji:ce}):Vt.set({conversation:oe,parentMessageId:re,emoji:ce,action:W==="add"?0:1})},markRead:Ve.operations.markRead,markConversationRead:Ve.operations.markConversationRead,markVisibleMessages:Ve.operations.markVisibleMessages,markDirectMediaConsumed:Ve.operations.markDirectMediaConsumed,prepareMediaPreview:ve,getSelfId:()=>o$2,isOutboxOwned:V=>we.getPendingOutbox().some(re=>re.id===V),hasOutboxForConversation:V=>we.getPendingOutbox().some(re=>re.conversationType===V.conversationType&&re.conversationId===V.conversationId)};switch(t.conversationType){case "direct":{let V={conversationType:"direct",conversationId:t.conversationId},re=await ul(V,{...te,getRelationship:Kn.getRelationship,shouldCheckRelationship:()=>we.state==="authenticated",appendContactRequiredTextFailure:W=>G.appendDirectContactRequiredTextFailure({conversationId:W.conversationId,senderId:o$2,text:W.text,...W.refMessageId===void 0?{}:{refMessageId:W.refMessageId}}),setMuted:(W,oe)=>gr.setMuted(W,oe),fetchMessagesByIdBatch:W=>ou(V,W)},l),ce=Wr(re,l.signal,A!=="read");return Hr(V),ce}case "group":{let V={conversationType:"group",conversationId:t.conversationId},re=await pl(V,{...te,getSendPermissionError:W=>{let oe=G.getConversationContext(V),Y=oe?.type==="group"?oe.groupState:"unknown";if(!(Y===void 0||Y==="active"))return Z({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:W,retryable:!1,conversation:V,details:Object.freeze({groupState:Y})})},setMuted:(W,oe)=>gr.setMuted(W,oe),fetchMessagesByIdBatch:W=>Ra(V.conversationId,W)},l),ce=Wr(re,l.signal,A!=="read");return Hr(V),ce}case "channel":{let V={conversationType:"channel",conversationId:t.conversationId},re=await gl(V,{...te,loadEntryUnreadPage:Ju(V),getSelfId:()=>o$2,deleteMessageForEveryone:we.deleteChannelMessageForEveryone,reconcilePage:Au.reconcilePage,getSendPermissionError:W=>{let oe=G.getConversationContext(V),Y=oe?.type==="channel"&&oe.channelState!==void 0?oe.channelState:"unknown_restricted",le=La$1({channelState:Y,nowMs:Date.now(),...oe?.type!=="channel"||oe.channelAccessSnapshot===void 0?{}:{snapshot:oe.channelAccessSnapshot},...oe?.type!=="channel"||oe.channelPermissions===void 0?{}:{permissions:oe.channelPermissions}});if(!(le.channelState==="active"&&le.permissions.sendMessages))return Z({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:W,retryable:!1,conversation:V,details:Object.freeze({channelState:le.channelState,...le.muteReason===void 0?{}:{muteReason:le.muteReason}})})},setMuted:(W,oe)=>gr.setMuted(W,oe),fetchMessagesByIdBatch:W=>Ea$1(V.conversationId,W)},l),ce=Wr(re,l.signal,A!=="read");return Hr(V),ce}case "robot":{let V={conversationType:"robot",conversationId:t.conversationId},re=await ml(V,{...te,setMuted:(ce,W)=>gr.setMuted(ce,W)},l);return Wr(re,l.signal,A!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{ee(),K?.(),ne();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Ve.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:qa,localData:pt,directory:jn.search,robots:Re.api,search:cr.api,applications:sr.api,expressions:Rn.api,sessionFavorites:Br.api,outbox:La.api,drafts:Gt.api,connection:zd({operations:{prepare:Ga,connect:ju,disconnect:Ha$1,subscribe:qu,getSnapshot:Wu,getLifecycle:Vu},getState:()=>we.state}),conversations:gr,settings:Q.api,push:mr.api,contact:Kn,group:Yc({directory:jn.groups,...Hn===void 0?{}:{profile:Hn},...h$1===void 0?{}:{coreClient:h$1},...P===void 0?{}:{avatarTransfer:P},domainState:{...ur,prepareConversation:t=>G.prepareConversation(t)},emitter:n$1,pinned:xa$2.operations}),channel:Ud({directory:jn.channels,...Qe===void 0?{}:{channelProfile:Qe},...un===void 0?{}:{channelMembers:un},...ut===void 0?{}:{channelMentionMembers:ut},mentionCandidates:Qn.api,applications:wt.applications,pinned:Na.operations,...h$1===void 0?{}:{coreClient:h$1},...P===void 0?{}:{avatarTransfer:P},crypto:C$1,domainState:{prepareConversation:t=>G.prepareConversation(t),setChannelRestriction:G.setChannelRestriction,removeConversationForMembershipTermination:ur.removeConversationForMembershipTermination,updateConversationProfile:G.updateConversationProfile,refreshConversationProfile:G.refreshConversationProfile},emitter:n$1,...ye===void 0?{}:{cacheCreatedSecretKey:(t,l)=>ye.primeChannelKey(t,l)},getSelfUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??""}),media:zr.api,calls:$d(Do),groupCalls:Tl(ko),teardown:ja}}function xf(e){let n=Nf(e);return Jl(Yl(n),e.coreApi!==void 0)}function iv(e){return Yl(Lf(e))}function Nf(e){return {...Wl(e),...e.coreApi===void 0?{}:{coreClient:$l(e.authProvider,e.coreApi)}}}function Wl(e){let{authProvider:n,cache:r,clientType:d,connection:i,debug:c,endpointProvider:o,expressions:u,media:m,onRequestError:g,uploadRecovery:b}=e;return {authProvider:n,onRequestError:g,cache:r,clientType:d,connection:i,debug:c,endpointProvider:o,expressions:u,media:m,uploadRecovery:b}}function Lf(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:o,coreApi:u,coreClient:m,directory:g,expressionProvider:b,sessionFavoriteProvider:h,http:w,network:I,profile:T,groupApplications:M,transport:F}=e;return {...Wl(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:o,directory:g,expressionProvider:b,sessionFavoriteProvider:h,...m!==void 0?{coreClient:m}:u===void 0?{}:{coreClient:$l(e.authProvider,u)},http:w,network:I,profile:T,groupApplications:M,transport:F}}function $l(e,n){let r=n.baseUrl.trim();if(r==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return B({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:r,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function Jl(e,n){let r=Id({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),d={clearCache:()=>e.media.clearCache(),getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:(s,a)=>a===void 0?e.media.cancel(s):e.media.cancel(s,a),retry:(s,a)=>e.media.retry(s,a),pause:s=>e.media.pause(s),resume:s=>e.media.resume(s),getUploadRecovery:s=>e.media.getUploadRecovery(s),resumeUpload:(s,a)=>e.media.resumeUpload(s,a),download:s=>e.media.download(s),prioritizeDownload:s=>e.media.prioritizeDownload(s),probeCached:s=>e.media.probeCached(s),subscribeCacheChanges:s=>e.media.subscribeCacheChanges(s),getCached:s=>e.media.getCached(s),prepareLocalPreview:s=>e.media.prepareLocalPreview(s),prepareLocalVideoPoster:s=>e.media.prepareLocalVideoPoster(s)},i=s=>Promise.reject(Z({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function c(s,a,f){if(!n)return i(s);try{return await a()}catch(S){throw sa(S,s,f)}}function o(s,a,f){if(!n)throw Z({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:f});try{return a()}catch(S){throw sa(S,s,f)}}let u,m=s=>c("contacts.getRelationship",()=>e.contacts.getRelationship(s)),g=(s,a)=>c("groups.getProfile",async()=>{let f=await e.groups.getProfile(s,a);return f===null?null:_d(s,f)},s),b=(s,a)=>c("channels.getProfile",async()=>{let f=await e.channels.getProfile(s,a);return f===null?null:Dd(s,f)},s),h={listFirstPage:s=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>c("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,a)=>c("contacts.getProfile",async()=>{let f=await e.contacts.getProfile(s,a);return f===null?null:Td(s,f)}),getRelationship:async s=>{let a=s.trim(),f={conversationType:"direct",conversationId:a},S=u?.beginProjectionUpdate(f),v=await m(s);return S!==void 0&&u?.updateRelationshipProjection(a,v,S),v},setRemark:(s,a)=>c("contacts.setRemark",()=>e.contacts.setRemark(s,{...a.name===void 0?{}:{name:a.name},...a.emails===void 0?{}:{email:[...a.emails]},...a.phones===void 0?{}:{phones:a.phones.map(f=>({countryCode:f.countryCode,mobile:f.mobile}))}})),searchUser:s=>c("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,a)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,a)),blockUser:s=>c("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),listBlocked:()=>c("contacts.listBlocked",()=>e.contacts.listBlocked()),unblockUser:s=>c("contacts.unblockUser",()=>e.contacts.unblockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,a)=>c("contacts.reportUser",()=>e.contacts.reportUser(s,a),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},w={search:s=>c("directory.search",()=>e.directory.search(s))},I={listFirstPage:s=>c("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>c("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>c("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(s,a)=>{let f=u?.beginProjectionUpdate(s),S=await g(s,a);return f!==void 0&&u?.updateGroupProfileProjection(s,S,f),S},updateName:(s,a)=>c("groups.updateName",()=>e.groups.updateName(s,a),s),updateAvatar:(s,a)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(s,a),s),setMyNickname:(s,a)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(s,a),s),updateVerification:(s,a,f)=>c("groups.updateVerification",()=>e.groups.updateVerification(s,a,f),s),requestJoin:(s,a)=>c("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,a),s),joinByInviteCode:(s,a)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,a),s),inviteMembers:(s,a)=>c("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,a),s),removeMember:(s,a)=>c("groups.removeMember",()=>e.group.removeMember(s.conversationId,a),s),transferOwnership:(s,a)=>c("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,a),s),leave:(s,a)=>c("groups.leave",()=>e.group.leave(s.conversationId,a),s),peekPinnedMessage:s=>o("groups.peekPinnedMessage",()=>{let a=e.group.peekPinnedMessage(s.conversationId);return a===null?null:vo(s,a)},s),getPinnedMessage:s=>c("groups.getPinnedMessage",async()=>{let a=await e.groups.getPinnedMessage(s);return a===null?null:vo(s,a)},s),pinMessage:(s,a)=>c("groups.pinMessage",async()=>{let f=await e.groups.pinMessage(s,a);return vo(s,f)},s),unpinMessage:s=>c("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},T={listFirstPage:s=>c("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>c("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>c("channels.create",()=>e.channels.create(s)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>i("channels.mentions.getCachedPage"),prefetchFirstPage:()=>i("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>i("channels.mentions.refreshFirstPage"),listFirstPage:()=>i("channels.mentions.listFirstPage"),listNextPage:()=>i("channels.mentions.listNextPage"),searchFirstPage:()=>i("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>i("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>i("channels.mentions.searchNextPage")},getProfile:async(s,a)=>{let f=u?.beginProjectionUpdate(s),S=await b(s,a);return f!==void 0&&u?.updateChannelProfileProjection(s,S,f),S},updateName:(s,a)=>c("channels.updateName",()=>e.channel.updateName(s.conversationId,a),s),updateDescription:(s,a)=>c("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,a),s),updateAvatar:(s,a)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,a),s),updateVerification:(s,a,f)=>c("channels.updateVerification",()=>e.channels.updateVerification(s,a,f),s),requestJoin:(s,a)=>c("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,a),s),joinByInviteCode:(s,a)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,a),s),setAllMuted:(s,a)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,a),s),setMemberPrivateChatDisabled:(s,a)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,a),s),setMyNickname:(s,a)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,a),s),setMemberNickname:(s,a,f)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,a,f),s),inviteMembers:(s,a)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,a),s),removeMember:(s,a)=>c("channels.removeMember",()=>e.channel.removeMember(s.conversationId,a),s),addAdmin:(s,a)=>c("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,a),s),removeAdmin:(s,a)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,a),s),transferOwnership:(s,a)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,a),s),leave:(s,a)=>c("channels.leave",()=>e.channel.leave(s.conversationId,a),s),dismiss:s=>c("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>o("channels.peekPinnedMessage",()=>{let a=e.channel.peekPinnedMessage(s.conversationId);return a===null?null:ho(s,a)},s),getPinnedMessage:s=>c("channels.getPinnedMessage",async()=>{let a=await e.channels.getPinnedMessage(s);return a===null?null:ho(s,a)},s),pinMessage:(s,a)=>c("channels.pinMessage",async()=>{let f=await e.channels.pinMessage(s,a);return ho(s,f)},s),unpinMessage:s=>c("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},M=yd({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let a=e.conversations.getContext(s);return a===void 0?void 0:fo({...a,draft:null})},subscribeConversations:s=>r.api.subscribe(a=>s(a.items)),subscribeContext:s=>e.connection.subscribe(a=>{a.type==="conversation-context:updated"&&a.conversation.conversationType!=="supergroup"&&s({conversationType:a.conversation.conversationType,conversationId:a.conversation.conversationId});}),getRelationship:m,getGroupProfile:g,getChannelProfile:b});u=M;let F=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{M.reset();try{await e.session.logout(s);}finally{M.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function y(s,a={}){let f=e.conversations,S=e.openConversation,v=await f.ensureOpenableConversation(s);return v.conversationType==="direct"?S({conversationType:"direct",conversationId:v.conversationId},a):v.conversationType==="group"?S({conversationType:"group",conversationId:v.conversationId},a):v.conversationType==="robot"?S({conversationType:"robot",conversationId:v.conversationId},a):S({conversationType:"channel",conversationId:v.conversationId},a)}let _={get session(){return F},get capabilities(){return M.api},get conversations(){return r.api},get directory(){return w},get robots(){return e.robots},get contacts(){return h},get groups(){return I},get channels(){return T},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return d},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:y,dispose:async()=>{M.dispose(),r.dispose(),await e.dispose();}};return ca(_,()=>xd(e)),_}function sv(e,n){return Jl(e,n.coreApiAvailable)}function Yl(e){let n=b(e.cache?.prefix),r=e.adapters?.namespaceFactory??n;if(r.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=zb(),i=0,c=()=>ql(e,d,r,i++),o=c(),u=false,m;async function g(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let a=o;await a.teardown(s),!u&&o===a&&(o=c());}async function b$1(){if(u)throw vt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=o,a=await s.localData.getInfo();if(u||o!==s)throw vt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let f;try{f=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(S){throw !u&&o===s&&(o=c()),vt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:S})}if(!u&&o===s&&(o=c()),f.purgedAccountId!==a.accountScope)throw vt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:f.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});d.emit({type:"local-data:cleared",accountScope:a.accountScope,category:"all"});}let h=Rd({getRuntime:()=>o.localData,purgeCurrentAccount:b$1}),w={start:s=>o.connection.connect(s),stop:async s=>{o.connection.disconnect(s);},logout:g,getSnapshot:()=>o.connection.getLifecycle(),subscribe:s=>(s(o.connection.getLifecycle()),o.connection.subscribe(a=>{(a.type==="connection:changed"||a.type==="receiving:changed"||a.type==="syncing:changed")&&s(o.connection.getLifecycle());}))},I=Pd({subscribeCore:s=>o.connection.subscribe(s),getLifecycleSnapshot:()=>o.connection.getLifecycle(),getConversation:s=>{let a=o.conversations.list().find(f=>f.type===s.conversationType&&f.id===s.conversationId);return a===void 0?void 0:fo(a)},resolveContactApplicationAnswer:async s=>{let a=o,f=await a.contact.resolveApplicationAnswer(s.peerId,s.messageId);return o===a?f:null}}),T={listFirstPage:s=>o.contact.listFirstPage(s),listNextPage:s=>o.contact.listNextPage(s),getProfile:(s,a)=>o.contact.getProfile(s,a),getRelationship:s=>o.contact.getRelationship(s),setRemark:(s,a)=>o.contact.setRemark(s,a),searchUser:s=>o.contact.searchUser(s),requestFriendship:(s,a)=>o.contact.requestFriendship(s,a),blockUser:s=>o.contact.blockUser(s),listBlocked:()=>o.contact.listBlocked(),unblockUser:s=>o.contact.unblockUser(s),reportUser:(s,a)=>o.contact.reportUser(s,a),deleteFriendship:s=>o.contact.deleteFriendship(s)},M={listFirstPage:s=>o.group.listFirstPage(s),listNextPage:s=>o.group.listNextPage(s),uploadAvatar:s=>o.group.uploadAvatar(s),create:s=>o.group.create(s),createFaceToFace:()=>o.group.createFaceToFace(),get mentions(){return o.group.mentions},getProfile:(s,a)=>o.group.getProfile(s.conversationId,a),updateName:(s,a)=>o.group.updateName(s.conversationId,a),updateAvatar:async(s,a)=>{await o.group.updateAvatar(s.conversationId,a);},setMyNickname:(s,a)=>o.group.setMyNickname(s.conversationId,a),updateVerification:(s,a,f)=>o.group.updateVerification(s.conversationId,a,f),requestJoin:(s,a)=>o.group.requestJoin(s.conversationId,a),joinByInviteCode:(s,a)=>o.group.joinByInviteCode(s.conversationId,a),getPinnedMessage:s=>o.group.getPinnedMessage(s.conversationId),pinMessage:(s,a)=>o.group.pinMessage({groupId:s.conversationId,messageId:a}),unpinMessage:s=>o.group.unpinMessage(s.conversationId)},F={listFirstPage:s=>o.channel.listFirstPage(s),listNextPage:s=>o.channel.listNextPage(s),uploadAvatar:s=>o.channel.uploadAvatar(s),create:s=>o.channel.create(s),get mentions(){return o.channel.mentions},getProfile:(s,a)=>o.channel.getProfile(s.conversationId,a),updateVerification:(s,a,f)=>o.channel.updateVerification(s.conversationId,a,f),requestJoin:(s,a)=>o.channel.requestJoin(s.conversationId,a),joinByInviteCode:(s,a)=>o.channel.joinByInviteCode(s.conversationId,a),setAllMuted:(s,a)=>o.channel.setAllMuted(s.conversationId,a),setMemberPrivateChatDisabled:(s,a)=>o.channel.setMemberPrivateChatDisabled(s.conversationId,a),setMyNickname:(s,a)=>o.channel.setMyNickname(s.conversationId,a),setMemberNickname:(s,a,f)=>o.channel.setMemberNickname(s.conversationId,a,f),dismiss:s=>o.channel.dismiss(s.conversationId),getPinnedMessage:s=>o.channel.getPinnedMessage(s.conversationId),pinMessage:(s,a)=>o.channel.pinMessage({channelId:s.conversationId,messageId:a}),unpinMessage:s=>o.channel.unpinMessage(s.conversationId)};function y(){return m!==void 0||(u=true,m=o.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),m}let _={get session(){return w},get connection(){return o.connection},get conversations(){return o.conversations},get directory(){return o.directory},get robots(){return o.robots},get contacts(){return T},get groups(){return M},get channels(){return F},get events(){return I},get contact(){return o.contact},get group(){return o.group},get channel(){return o.channel},get media(){return o.media},get calls(){return o.calls},get groupCalls(){return o.groupCalls},get settings(){return o.settings},get push(){return o.push},get outbox(){return o.outbox},get localData(){return h},get search(){return o.search},get applications(){return o.applications},get expressions(){return o.expressions},get sessionFavorites(){return o.sessionFavorites},get drafts(){return o.drafts},get openConversation(){return o.openConversation},logout:g,dispose:y};return ca(_,()=>o.advancedMessageDiagnostics),_}var Ff=new TextEncoder;function Xl(e,n,r){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${r} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function Ql(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let r of Object.values(e))Ql(r,n);return Object.freeze(e)}function Uf(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:Ql(n),estimatedBytes:Ff.encode(r).byteLength}}catch{return}}function Kf(e){if(e.message?.id!==void 0)return e.message.id;if(typeof e.data!="object"||e.data===null)return;let n=e.data.messageId;return typeof n=="string"?n:void 0}function Bf(e,n){return !(n.accountId!==void 0&&e.accountId!==n.accountId||n.generation!==void 0&&e.generation!==n.generation||n.category!==void 0&&e.category!==n.category||n.traceId!==void 0&&e.traceId!==n.traceId||n.operationId!==void 0&&e.operationId!==n.operationId||n.messageId!==void 0&&Kf(e)!==n.messageId||n.fromTimestamp!==void 0&&e.timestamp<n.fromTimestamp||n.toTimestamp!==void 0&&e.timestamp>n.toTimestamp||n.conversation!==void 0&&(e.conversation?.conversationType!==n.conversation.conversationType||e.conversation.conversationId!==n.conversation.conversationId))}function Gf(e={}){let n=Xl(e.maxRecords,200,"maxRecords"),r=Xl(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,i=[],c=0,o=0,u=false;function m(h){let w=i.map(I=>I.record).filter(I=>h===void 0||Bf(I,h));return Object.freeze({records:Object.freeze(w),droppedCount:o,estimatedBytes:c,disposed:u})}function g(){let h=m();for(let w of d)try{w(h);}catch{}}function b(){i.length=0,c=0,o=0;}return {write(h){if(u)return;let w=Uf(h);if(w===void 0||w.estimatedBytes>r){o+=1,g();return}for(i.push(w),c+=w.estimatedBytes;i.length>n||c>r;){let I=i.shift();if(I===void 0)break;c-=I.estimatedBytes,o+=1;}g();},getSnapshot:m,subscribe(h){if(u)return ()=>{};d.add(h);let w=true;return ()=>{w&&(w=false,d.delete(h));}},clear(){u||(b(),g());},dispose(){u||(u=true,b(),d.clear());}}}function Hf(e){let n=ab({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),r=new Map,d;function i(o){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(o.file instanceof Blob))return Promise.reject(new Ya("upload-source-invalid","Resource upload requires a File or Blob"));if(o.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let m=new AbortController,g=()=>m.abort();o.signal?.addEventListener("abort",g,{once:true});let b=true,h=()=>{if(m.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},w=o.filename??(typeof File<"u"&&o.file instanceof File?o.file.name:void 0),I=(async()=>{try{let T=await u.uploadResource({data:o.file,kind:o.kind,...w===void 0?{}:{filename:w},...o.file.type===""?{}:{mimeType:o.file.type},signal:m.signal,onProgress:M=>{b&&!m.signal.aborted&&o.onProgress?.(M);}});if(h(),T.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:T.url}}catch(T){throw T instanceof Ya&&T.code==="multipart-abort-failed"||h(),T}finally{b=false,o.signal?.removeEventListener("abort",g);}})();return r.set(m,I),I.then(()=>r.delete(m),()=>r.delete(m)),I}function c(){if(d!==void 0)return d;n=void 0;let o=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(o).then(()=>{}),d}return {upload:i,dispose:c}}export{ap as a,hd as b,xe as c,io as d,gp as e,lo as f,Zc as g,ed as h,Yo as i,Xo as j,rd as k,uo as l,Zo as m,mo as n,xf as o,iv as p,sv as q,Gf as r,Hf as s};