k2-im 0.1.48 → 0.1.49

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,Ia,Aa,Ba,T,na,_a,db as db$1,eb as eb$1,b as b$1,bb as bb$1,cb as cb$1,v,$,aa,V,U,_,X,Z,W,Oa,ta,Pa,ua,Ga as Ga$1,Ha,Ca,Da,La,ba,c,Na,ca,da,Qa,Ma as Ma$1,g,Y,ea,fa,Ja,Ea,Fa as Fa$1,n,o as o$1,ha as ha$1,S,ya as ya$1,za as za$1,wa as wa$1,xa as xa$1,Ra,va as va$1,d as d$1,Sa as Sa$1,x,oa,j as j$1,q,y as y$1,z as z$1,k as k$1,r,la,ka,ja,ia,qa as qa$1,pa as pa$1,ma,R,N,M as M$1,L as L$1,K as K$1,J as J$1,I,Q,P,sa,ra,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-SWWW7C2U.js';import {b,xb,u,Ga,zb,yb,Sa,J,vb,sb,tb,rb,ub,cb,db,eb,fb,wa,xa,ya,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,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,_a as _a$1,La as La$1,Ka,pa,na as na$1,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,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-527YCOBJ.js';async function np(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(a){try{await e.migrator.rollback(d,a);}catch(c){throw new AggregateError([a,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw a}}var _e=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 dt(e,n,r){return n===39081?new _e({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new _e({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function lt(e,n){return n instanceof _e?n:n instanceof c?new _e({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new _e({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Zr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function tp(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 Ht(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function rp(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(Ht(e.image))},...e.video===void 0?{}:{video:Object.freeze(Ht(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Ht(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(Ht(n))))})},...e.file===void 0?{}:{file:Object.freeze(Ht(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(Ht(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function eo(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:rp(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:tp(e.reactions)}})}function jt(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$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function re(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function Ir(e,n,r){return re({...{"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 St(e,n,r){return re({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function zt(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 no(e,n){let r=await n(e.conversationId,[e.messageId]),d=r.messages.filter(o=>o.id===e.messageId),a=d[0],c=r.missingMessageIds.includes(e.messageId);if(d.length>1||a!==void 0&&(c||a.conversationType!==e.conversationType||a.conversationId!==e.conversationId))throw new _e({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u8FD4\u56DE\u51B2\u7A81\u6216\u9519\u8BEF\u4F1A\u8BDD\u7684\u6D88\u606F"});if(a===void 0){if(c)return null;throw new _e({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u672A\u8FD4\u56DE\u6D88\u606F\u6216\u660E\u786E\u7F3A\u5931\u7ED3\u679C"})}return a.recalled!==void 0||a.deletedForEveryone!==void 0?null:{...e,preview:{state:"ready",message:a}}}var op="IM_SDK_GROUP_NOT_MEMBER",ip="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",ap="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",sp="IM_SDK_GROUP_MANAGEMENT_FAILED";function zc(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function cp(e,n,r){if(zc(e))return e;let d=e instanceof d$1?e.businessCode:void 0,a=e instanceof oa?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?op:d===39029?ip:d===39033?ap:e instanceof d$1?sp:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let c$1=e instanceof oa?"contract":e instanceof c?"network":d===39029?"permission":"state",o=re({code:a,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 Pt(e,n,r){try{return await r()}catch(d){throw cp(d,e,n)??d}}var jc=39005,dp=39057,lp=39061;function Vc(e){let n=new Map,r=new Map,d=true,a=y=>({conversationType:"group",conversationId:y});function c(y){r.set(y,(r.get(y)??0)+1);}function o(y,_=true){let M=_?h("get",y):e.coreClient;if(M===void 0)return Promise.reject(new _e({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 L=r.get(y)??0,I=n.get(y);if(I?.version===L)return I.task;let D=()=>d&&(r.get(y)??0)===L&&e.domainState.getConversationContext(a(y))?.type==="group",s=()=>e.domainState.getPinnedMessage(a(y))??null,i=(async()=>{let S=await ea({client:M,groupId:y});if(!D())return s();if(!S.ok)throw dt("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(a(y),"reconcile"),null;let T=z(S.data.messageContent,{conversationId:y}),K=await no(T,e.fetchMessagesById);return D()?K===null?(e.domainState.clearPinnedMessage(a(y),"reconcile"),e.onSourceUnavailable?.(T),null):(e.domainState.setPinnedMessage(K,"reconcile"),s()):s()})();n.set(y,{version:L,task:i});let f=()=>{n.get(y)?.task===i&&n.delete(y);};return i.then(f,f),i}function u(y){if(!d)return;let _=r.get(y)??0;n.get(y)?.version!==_&&o(y,false).catch(M=>{!d||(r.get(y)??0)!==_||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(y=>{if(y.type==="session:removed"&&y.conversation.conversationType==="group"){c(y.conversation.conversationId);return}if(y.type!=="message:received"&&y.type!=="message:updated"||y.message.conversationType!=="group")return;let _=y.message.body.system?.pinnedMessageAction;(_?.type==="pin"||_?.type==="unpin")&&c(y.message.conversationId),m.handleMessage(y.message);});function C(y,_){if(_.trim()==="")throw new _e({operation:y,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let M=e.domainState.getConversationContext(a(_));if(M===void 0)throw new _e({operation:y,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(M.type!=="group")throw new _e({operation:y,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function h(y,_){if(e.coreClient===void 0)throw new _e({operation:y,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(y,_),e.coreClient}return {operations:{pinMessage:async({groupId:y,messageId:_})=>{let M=h("pin",y),L=e.domainState.getConversationMessage(a(y),_);if(L===void 0)throw new _e({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(L.conversationType!=="group")throw new _e({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(L.conversationId!==y)throw new _e({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:I,pinnedMessage:D}=A$1(L),s=await ta({client:M,groupId:y,messageContent:I});if(!s.ok)throw dt("pin",s.code,s.message);c(y),e.domainState.setPinnedMessage(D,"http:pin");let i=e.domainState.getPinnedMessage(a(y));if(i===void 0)throw new _e({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return i}catch(I){throw lt("pin",I)}},unpinMessage:async y=>{let _=h("unpin",y);try{let M=await Oa({client:_,groupId:y});if(!M.ok)throw dt("unpin",M.code,M.message);c(y),e.domainState.clearPinnedMessage(a(y),"http:unpin");}catch(M){throw lt("unpin",M)}},getPinnedMessage:async y=>{try{return await o(y)}catch(_){throw lt("get",_)}},peekPinnedMessage:y=>(C("get",y),e.domainState.getPinnedMessage(a(y))??null)},dispose:()=>{d&&(d=false,g());}}}function qc(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,a=new Map;function c$1(i){if(i.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(i.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function o(i){let f=[],S=new Set;for(let T of i){if(T.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");S.has(T.userId)||(S.add(T.userId),f.push(Object.freeze({userId:T.userId,displayName:T.nickName.trim()===""?T.userId:T.nickName})));}return Object.freeze(f)}async function u(i,f){c$1(i);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 T=i.conversationId,K=r.get(T);if(!f&&K!==void 0)return K;let q=a.get(T);if(q!==void 0&&(!f||q.refresh))return q.promise;let Y=(d.get(T)??0)+1;d.set(T,Y);let ue=Promise.resolve().then(()=>S(T,f?{forceRefresh:true}:void 0)).then(ye=>{if(ye===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let v=o(ye);return d.get(T)===Y&&r.set(T,v),v}).finally(()=>{a.get(T)?.promise===ue&&a.delete(T);});return a.set(T,{refresh:f,promise:ue}),ue}function m(i,f,S,T){let q=re({code:i,category:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":i==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...S===void 0?{}:{details:S},...T===void 0?{}:{cause:T}});return Object.assign(new Error(f),q)}function g(i,f,S,T){let K=re({code:i,category:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":i==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...S===void 0?{}:{details:S},...T===void 0?{}:{cause:T}});return Object.assign(new Error(f),K)}function C(i){if(i===null||typeof i!="object"||i===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let f=i.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 i.status=="number"?i.status:Number(i.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 T=String(f),K=i.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:T}),activation:S===1?"pending":"active",...K===void 0||K===""?{}:{avatarUrl:K},qrPayload:Zr(T,K)})}function h(i){if(i===void 0)return;let f=typeof i=="number"?i:Number(i);return Number.isSafeInteger(f)?f:void 0}function P(i){if(typeof i=="boolean")return i;if(i===1||i==="1"||i==="true")return true;if(i===0||i==="0"||i==="false")return false}function y(i){if(i===null||typeof i!="object"||i===void 0)throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let f=i.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),T=i,K=T.name?.trim()??"";if(K==="")throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let q=h(T.total_users),Y=h(T.status),ue=h(T.verify_way),ye=h(T.update_version),v=P(T.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:S}),name:K,...T.head_img_url?.trim()===""||T.head_img_url===void 0?{}:{avatar:T.head_img_url},...T.user_id===void 0?{}:{ownerId:String(T.user_id)},...q===void 0?{}:{memberCount:q},...Y===void 0?{}:{status:Y},...v===void 0?{}:{isInGroup:v},...ue===void 0?{}:{verifyWay:ue},...ye===void 0?{}:{updateVersion:ye},...T.invite_code===void 0?{}:{inviteCode:T.invite_code}}}function _(i){let f=i.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=i.memberIds;if(!Array.isArray(S))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let T=S.map(q=>typeof q=="string"?q.trim():"");if(T.includes(""))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let K=[...new Set(T)];if(K.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:K}}function M(i,f){let S=i.trim();if(S==="")throw new Error(`${f}\u4E0D\u80FD\u4E3A\u7A7A`);return S}function L(){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 I(i){if(!Array.isArray(i))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let f=i.map(S=>M(S,"\u7FA4\u6210\u5458 id"));return [...new Set(f)]}function D(i,f,S){if(i!==1&&i!==2&&i!==4){let K=re({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"),K)}if(i!==4)return {verifyWay:i};let T=f?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(T)){let K=re({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"),K)}return {verifyWay:i,inviteCode:T}}function s(i){r.delete(i),d.set(i,(d.get(i)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});}return {...n,mentions:{listAll:i=>u(i,false),refreshAll:i=>u(i,true)},getProfile:(i,f)=>e.profile?.getGroupProfile(i,f)??Promise.resolve(null),listMembers:(i,f)=>e.profile?.listGroupMembers?.(i,f)??Promise.resolve(null),getMemberNames:(i,f)=>e.profile?.getGroupMemberNames?.(i,f)??Promise.resolve(null),peekMembers:i=>e.profile?.peekGroupMembers?.(i)??Promise.resolve(null),peekMemberNames:i=>e.profile?.peekGroupMemberNames?.(i)??Promise.resolve(null),peekProfile:i=>e.profile?.peekGroupProfile?.(i)??Promise.resolve(null),updateName:async(i,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(i===""||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:i,name:S}),e.domainState.updateConversationProfile(i,{title:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateAvatar:async(i,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(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let S=await zt(e.avatarTransfer,f);return await Qa({client:e.coreClient,groupId:i,avatarUrl:S}),e.domainState.updateConversationProfile(i,{avatar:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i}),S},uploadAvatar:async i=>{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 zt(e.avatarTransfer,i)},create:async i=>{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=_(i);try{let S=await da({client:e.coreClient,name:f.name,memberIds:f.memberIds,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}});if(!S.ok){let K=S.code===jc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":S.code===dp?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":S.code===lp?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw m(K,S.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:S.code,message:S.message}))}let T=y(S.data);return e.domainState.prepareConversation({id:T.ref.conversationId,type:"group",title:T.name,...T.avatar===void 0?{}:{avatar:T.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:T})}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 i=await ca({client:e.coreClient});if(!i.ok){let f=i.code===jc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(f,i.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:i.code}))}return Object.freeze({group:C(i.data)})}catch(i){throw zc(i)?i:i instanceof c?g("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",i.message,void 0,i):g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,i)}},setMyNickname:async(i,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(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Na({client:e.coreClient,groupId:i,nickname:f}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateVerification:async(i,f,S)=>{let T=L(),K=M(i,"\u7FA4 id"),q=D(f,S,K);await Pt("groups.updateVerification",K,()=>ma({client:T,groupId:K,verifyWay:q.verifyWay,...q.inviteCode===void 0?{}:{inviteCode:q.inviteCode}})),s(K);},requestJoin:async(i,f)=>{let S=L(),T=M(i,"\u7FA4 id"),K=f?.remarks?.trim();return Pt("groups.requestJoin",T,()=>pa$1({client:S,groupId:T,...K===void 0?{}:{remarks:K}}))},joinByInviteCode:async(i,f)=>{let S=L(),T=M(i,"\u7FA4 id"),K=f.trim();if(!/^\d{6}$/.test(K))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Pt("groups.joinByInviteCode",T,()=>qa$1({client:S,groupId:T,inviteCode:K}))},inviteMembers:async(i,f)=>{let S=L(),T=M(i,"\u7FA4 id"),K=I(f);if(K.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Pt("groups.inviteMembers",T,()=>ia({client:S,groupId:T,userIds:K})),s(T);},removeMember:async(i,f)=>{let S=L(),T=M(i,"\u7FA4 id"),K=M(f,"\u5F85\u79FB\u9664\u6210\u5458 id");await Pt("groups.removeMember",T,()=>ja({client:S,groupId:T,userId:K})),s(T);},transferOwnership:async(i,f)=>{let S=L(),T=M(i,"\u7FA4 id"),K=M(f,"\u65B0\u7FA4\u4E3B id");await Pt("groups.transferOwnership",T,()=>ka({client:S,groupId:T,userId:K})),s(T);},leave:async(i,f)=>{let S=L();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 T=M(i,"\u7FA4 id"),K=f?.newOwnerId===void 0?void 0:M(f.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Pt("groups.leave",T,()=>la({client:S,groupId:T,...K===void 0?{}:{newOwnerId:K}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:T},"group_left"),s(T);},...e.pinned}}var up="image/jpeg,image/png,image/webp";async function to(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((a,c)=>n[c]===a)?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 $c(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 Jc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Yc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function qo(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,a=Yc();return xb({enabled:r,level:d?.level??"trace",categories:d?.categories??Jc,...r?{sink:d?.sink??a,fallbackSink:a}:{},getRuntimeContext:n})}var Xc=[{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 Wo=Object.freeze(Xc.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Qc=new Map(Wo.flatMap(e=>e.tokens.map(n=>[n,e])));function Zc(e){return Qc.get(e)}function ed(e){return Qc.has(e)}function ot(e){let n=re(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function nd(e,n){return n instanceof Ra?ot({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Sa$1?ot({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?ot({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):ot({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function Vt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function $o(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let a=e[d]??0,c=e[d+1]??0,o=e[d+2]??0,u=a<<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 ro(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=>Vt(r.url)!==""&&r.fileName.trim()!=="")?"filesAlbum":null}default:return null}}function Jo(e){let n=ro(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=Vt(e.body.image?.url),d=$o(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=Vt(e.body.video?.url),d=$o(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=Vt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=Vt(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(a=>({mediaType:a.kind==="video"?2:1,url:Vt(a.url),width:a.width,height:a.height,...a.durationMs!==void 0&&a.durationMs>0?{duration:a.durationMs}:{},...a.thumbUrl!==void 0&&a.thumbUrl!==""?{thumbUrl:a.thumbUrl}:{},...a.thumbData!==void 0&&a.thumbData.length>0?{thumbData:$o(a.thumbData)}:{},...a.md5!==void 0&&a.md5!==""?{md5:a.md5}:{},...a.size!==void 0&&a.size>0?{fileSize:a.size}:{},...a.hd!==void 0?{hd:a.hd}:{}}));return d.some(a=>a.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 mp(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function td(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 sd(e){function n(c){if(!e.isActive())throw ot({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 nd(c,new Ra);let u;try{u=await o(e.provider);}catch(m){throw n(c),nd(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),ot({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 ot({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(td))},addFromMessage:async c=>{let o="sessionFavorites.addFromMessage",u=ro(c.message),m=Jo(c.message);u==="filesAlbum"&&(m=await d(c.conversation,c.message.id,o));let g=c.selfId.trim(),C=c.message.id.trim();if(u===null||m===null||g===""||C==="")throw ot({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:o,retryable:false});let h={messageId:C,conversation:c.conversation,senderId:c.message.senderId.trim(),createdAt:c.message.createdAt,kind:u,plainBody:m,peerId:mp(c.message,g,c.conversation.conversationId)},P=await r(o,y=>y.add(h));return td(P)},delete:async c=>{let o="sessionFavorites.delete",u=[...new Set(c.map(m=>m.trim()).filter(m=>m!==""))];if(u.length===0)throw ot({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:o,retryable:false});await r(o,m=>m.delete(u));}}}}var cd="settings:read-receipts:v1",dd="settings:appearance:v1",io=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function Qn(e){return re({...e,retryable:e.retryable??false})}function Qo(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Zo(){return {fontScale:1}}function Yo(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function fp(e){if(typeof e!="object"||e===null)return Qo();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,a]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof a=="boolean"&&(r[d]=a);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function gp(e){if(typeof e!="object"||e===null)return Zo();let n=e.fontScale;return {fontScale:ld(n)?n:1}}function ld(e){return typeof e=="number"&&io.includes(e)}function Xo(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw Qn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function oo(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw Qn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function ud(e){let n=false,r=false,d=false,a,c,o=Qo(),u=Promise.resolve(),m=false,g,C=Zo(),h=Promise.resolve();function P(f){return Qn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:f})}function y(f){if(n)throw P(f)}async function _(f,S){if(y(S),r)return;let T;try{T=oo(e.storage,S);}catch(K){if(!f)return;throw K}try{let K=await T.getMeta(cd);y(S),o=fp(K),r=!0,d=!1;}catch(K){throw n?P(S):(d=true,Qn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:K}))}}function M(f){return y(f),r?Promise.resolve():(a===void 0&&(a=_(true,f).finally(()=>{a=void 0;})),a)}async function L(f){if(y(f),!m)try{let S=await oo(e.storage,f).getMeta(dd);y(f),C=gp(S),m=!0;}catch(S){throw n?P(f):typeof S=="object"&&S!==null&&"code"in S?S:Qn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:S})}}function I(f){return y(f),m?Promise.resolve():(g===void 0&&(g=L(f).finally(()=>{g=void 0;})),g)}async function D(f,S,T){y(f);let K=u.then(async()=>{y(f),await M(f),y(f);let q=Yo(o),Y=S(Yo(o));try{await oo(e.storage,f).setMeta(cd,Yo(Y));}catch(ue){throw n?P(f):typeof ue=="object"&&ue!==null&&"code"in ue?ue:Qn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:ue})}y(f),o=Y,T?.(q,Y);});return u=K.catch(()=>{}),K}let s={async getGlobal(){let f="settings.readReceipts.getGlobal";return y(f),await M(f),y(f),o.globalEnabled},setGlobal(f){return typeof f!="boolean"?Promise.reject(Qn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):D("settings.readReceipts.setGlobal",S=>({...S,globalEnabled:f}),(S,T)=>{S.globalEnabled&&!T.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(f){let S="settings.readReceipts.getConversation";y(S);let T=Xo(f,S);await M(S),y(S);let K=o.peerOverrides[T.conversationId]??true;return Object.freeze({enabled:K,effectiveEnabled:o.globalEnabled&&K})},setConversation(f,S){let T="settings.readReceipts.setConversation",K;try{K=Xo(f,T);}catch(q){return Promise.reject(q)}return typeof S!="boolean"?Promise.reject(Qn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:T,conversation:K})):D(T,q=>(q.peerOverrides[K.conversationId]=S,q),(q,Y)=>{let ue=K.conversationId,ye=q.globalEnabled&&(q.peerOverrides[ue]??true),v=Y.globalEnabled&&(Y.peerOverrides[ue]??true);ye&&!v&&e.onDirectReadReceiptDisabled?.(ue);})},resetConversation(f){let S="settings.readReceipts.resetConversation",T;try{T=Xo(f,S);}catch(K){return Promise.reject(K)}return D(S,K=>(delete K.peerOverrides[T.conversationId],K))}},i={fontScale:Object.freeze({async get(){let f="settings.appearance.fontScale.get";return await I(f),y(f),C.fontScale},set(f){let S="settings.appearance.fontScale.set";if(!ld(f))return Promise.reject(Qn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:S,details:{supportedValues:[...io]}}));let T=h.then(async()=>{y(S),await I(S),y(S);let K={fontScale:f};try{await oo(e.storage,S).setMeta(dd,K);}catch(q){throw n?P(S):typeof q=="object"&&q!==null&&"code"in q?q:Qn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:q})}y(S),C=K;});return h=T.catch(()=>{}),T}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(i),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){y("settings.readReceipts.hydrate"),!r&&(a===void 0&&(a=_(false,"settings.readReceipts.hydrate").finally(()=>{a=void 0;})),await a);},isDirectReadReceiptEnabled(f){return !n&&!d&&o.globalEnabled&&(o.peerOverrides[f]??true)},dispose(){if(c!==void 0)return c;n=true,o=Qo(),C=Zo();let f=a,S=u,T=g,K=h;return c=Promise.allSettled([...f===void 0?[]:[f],S,...T===void 0?[]:[T],K]).then(()=>{}),c}}}var un=Object.freeze({availability:"available",reason:"ok"});function En(e){return Object.freeze({availability:"unavailable",reason:e})}function tn(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function vr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function hr(e){return `${e.conversationType}:${e.conversationId}`}function yp(){return Object.freeze({sendMessages:false})}function Ip(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function vp(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 hp(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 Cp(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]),a=Number(r[2]),c=Number(r[3]),o=Number(r[4]);if(d>23||c>23||a>59||o>59)return;let u=new Date(n);u.setHours(d,a,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 Rt(e,n,r){let d=n.get(hr(e));if(d!==void 0)for(let a of [...d])a(r);}function pd(e){let n=new Map,r=new Map,d=new Map,a=new Map,c=new Map,o=new Map,u,m,g=new Set,C=e.getSessionUserId(),h=0;function P(Y){Y.conversationType==="direct"?n.delete(Y.conversationId):Y.conversationType==="group"?r.delete(Y.conversationId):Y.conversationType==="channel"&&d.delete(Y.conversationId);}function y(){n.clear(),r.clear(),d.clear(),o.clear(),g=new Set;}function _(){let Y=e.getSessionUserId();return Y!==C&&(C=Y,y()),Y}function M(Y){_();let ue=++h;return o.set(hr(Y),ue),ue}function L(Y,ue){return _(),o.get(hr(Y))===ue}function I(Y,ue={}){_();let ye=ue.nowMs??Date.now(),v=e.getConversation(Y);if(Y.conversationType==="direct"){let we=vr({conversationType:"direct",conversationId:Y.conversationId}),Z=n.get(Y.conversationId),ke=Z?.relationship??"unknown",We=Ip(ke),qe=We==="ok"?un:We==="relationship-unknown"?tn(We):En(We),cn=ke==="friend"?un:ke==="unknown"?tn(We):En(We);return Object.freeze({ref:we,conversationType:"direct",evaluatedAt:ye,value:Object.freeze({relationship:ke,...Z===void 0?{}:{relationshipCheckedAt:Z.checkedAt},canSendMessages:qe,canOpenProfile:un,canUseMessageActions:qe,canManageRelationship:cn})})}if(Y.conversationType==="robot"){let we=vr({conversationType:"robot",conversationId:Y.conversationId});return Object.freeze({ref:we,conversationType:"robot",evaluatedAt:ye,value:Object.freeze({canSendMessages:un,canOpenProfile:un,canUseMessageActions:un,canReadHistory:un})})}if(Y.conversationType==="group"){let we=vr({conversationType:"group",conversationId:Y.conversationId}),Z=r.get(Y.conversationId),ke=v?.ref.conversationType==="group"?v.groupState??"active":"unknown",We=vp(ke),qe=We==="ok",cn=e.getSessionUserId(),$e=Z?.ownerId,_n=cn!==void 0&&$e!==void 0&&cn===$e,je=qe?un:En(We),Rn=qe?Z===void 0?tn("not-ready"):_n?un:En("role-insufficient"):En(We);return Object.freeze({ref:we,conversationType:"group",evaluatedAt:ye,value:Object.freeze({membership:ke,...$e===void 0?{}:{ownerId:$e},isOwner:_n,canSendMessages:je,canOpenProfile:je,canReadHistory:un,canUseMessageActions:je,canViewMembers:je,canEditProfile:Rn,canInviteMembers:je,canManageMembers:Rn,canPinMessages:Rn,canUnpinMessages:Rn,canTransferOwnership:Rn,canLeave:je,canUpdateVerification:Rn})})}let F=vr({conversationType:"channel",conversationId:Y.conversationId}),X=d.get(Y.conversationId),E=v?.ref.conversationType==="channel"&&v.channelState!==void 0?v.channelState:X?.state;if(E===void 0)return Object.freeze({ref:F,conversationType:"channel",evaluatedAt:ye,value:Object.freeze({state:"unknown",role:X?.role??"unknown",permissions:yp(),canSendMessages:tn("unknown-restricted"),canOpenProfile:tn("unknown-restricted"),canReadHistory:un,canUseMessageActions:tn("unknown-restricted"),canMutateMessages:tn("unknown-restricted"),canPinMessages:tn("unknown-restricted"),canUnpinMessages:tn("unknown-restricted"),canDeleteMessagesForEveryone:tn("unknown-restricted"),canMentionAll:tn("unknown-restricted"),canViewMembers:tn("unknown-restricted"),canEditProfile:tn("unknown-restricted"),canManageMembers:tn("unknown-restricted"),canManageMute:tn("unknown-restricted"),canDismiss:tn("unknown-restricted"),canTransferOwnership:tn("unknown-restricted"),canLeave:tn("unknown-restricted"),canInviteMembers:tn("unknown-restricted"),canSetMemberAdmin:tn("unknown-restricted"),canRemoveMembers:tn("unknown-restricted"),canSetMemberPrivateChat:tn("unknown-restricted")})});let k=La$1({channelState:E,nowMs:ye,...v?.ref.conversationType==="channel"&&v.channelAccessSnapshot!==void 0?{snapshot:v.channelAccessSnapshot}:{},...v?.ref.conversationType==="channel"&&v.channelPermissions!==void 0?{permissions:v.channelPermissions}:X?.permissions===void 0?{}:{permissions:X.permissions}}),G=hp(k.channelState,k.muteReason),Ce=k.channelState==="active"||k.channelState==="muted",pe=k.channelState==="active"?k.permissions.sendMessages?un:En("unknown-restricted"):En(G),O=we=>Ce&&we?un:En(Ce?"role-insufficient":G),$=we=>k.channelState==="active"&&we?un:En(k.channelState==="muted"?G:Ce?"role-insufficient":G),j=X?.memberPrivateChatDisabled===false||k.permissions.manageMembers===true,de=Ce?X===void 0&&k.permissions.manageMembers!==true?tn("not-ready"):O(j):En(G),ae=k.channelState==="muted"?En(G):Ce?un:En(G),Se=Cp(v,ye);return Object.freeze({ref:F,conversationType:"channel",evaluatedAt:ye,...Se===void 0?{}:{nextEvaluationAt:Se},value:Object.freeze({state:k.channelState,role:X?.role??v?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...k.permissions}),...k.muteReason===void 0?{}:{muteReason:k.muteReason},canSendMessages:pe,canOpenProfile:Ce?un:En(G),canReadHistory:un,canUseMessageActions:Ce?un:En(G),canMutateMessages:ae,canPinMessages:$(k.permissions.moderateMessages===true),canUnpinMessages:$(k.permissions.moderateMessages===true),canDeleteMessagesForEveryone:$(k.permissions.moderateMessages===true),canMentionAll:O(k.permissions.mentionAll===true),canViewMembers:de,canEditProfile:O(k.permissions.editProfile===true),canManageMembers:O(k.permissions.manageMembers===true),canManageMute:O(k.permissions.manageMute===true),canDismiss:O(k.permissions.dismissChannel===true),canTransferOwnership:O(k.permissions.transferOwnership===true),canLeave:Ce?un:En(G),canInviteMembers:O(k.permissions.manageMembers===true),canSetMemberAdmin:O(k.permissions.manageAdmins===true),canRemoveMembers:O(k.permissions.manageMembers===true),canSetMemberPrivateChat:O(k.permissions.manageMute===true)})})}async function D(Y,ue={}){let ye=M(Y);if(Y.conversationType==="direct"){let v=await e.getRelationship(Y.conversationId);L(Y,ye)&&s(Y.conversationId,v,ye);}else if(Y.conversationType==="group"){let v={conversationType:"group",conversationId:Y.conversationId},F=await e.getGroupProfile(v,{forceRefresh:true});L(Y,ye)&&i(v,F,ye);}else if(Y.conversationType==="channel"){let v={conversationType:"channel",conversationId:Y.conversationId},F=await e.getChannelProfile(v,{forceRefresh:true});L(Y,ye)&&f(v,F,ye);}return I(Y,ue)}function s(Y,ue,ye){let v={conversationType:"direct",conversationId:Y};L(v,ye)&&(n.set(Y,{relationship:ue,checkedAt:Date.now()}),Rt(v,a,I(v)));}function i(Y,ue,ye){L(Y,ye)&&(r.set(Y.conversationId,ue),Rt(Y,a,I(Y)));}function f(Y,ue,ye){L(Y,ye)&&(d.set(Y.conversationId,ue),Rt(Y,a,I(Y)));}function S(Y,ue,ye={}){_();let v=hr(Y),F=a.get(v)??new Set;return F.add(ue),a.set(v,F),c.set(v,vr(Y)),ue(I(Y,ye)),m===void 0&&(m=e.subscribeContext?.(X=>{_(),Rt(X,a,I(X));})),u===void 0&&(u=e.subscribeConversations(X=>{_();let E=Date.now(),k=new Set(X.map(G=>hr(G.ref)));for(let G of X){let Ce=I(G.ref,{nowMs:E});Rt(G.ref,a,Ce);}for(let[G,Ce]of c){if(!g.has(G)||k.has(G))continue;P(Ce);let pe=I(Ce,{nowMs:E});Rt(Ce,a,pe);}g=k;})),()=>{F.delete(ue),F.size===0&&a.delete(v),a.has(v)||c.delete(v),a.size===0&&(m?.(),m=void 0,u?.(),u=void 0,g=new Set);}}function T(){y();let Y=Date.now();for(let ue of c.values())Rt(ue,a,I(ue,{nowMs:Y}));}function K(){m?.(),m=void 0,u?.(),u=void 0,a.clear(),c.clear(),y();}let q=Object.freeze({get:I,refresh:D,subscribe:S});return Object.freeze({...q,api:q,beginProjectionUpdate:M,updateRelationshipProjection:s,updateGroupProfileProjection:i,updateChannelProfileProjection:f,reset:T,dispose:K})}var bp=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function zn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw re({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 re({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function Mp(e){return e===null?null:Object.freeze({ref:zn(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 Sp(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 ao(e){let n=Sp(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}),a=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:zn({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"&&a!==void 0?{channelAccessSnapshot:a}:{},draft:Mp(e.draft)})}function Pp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function wt(e,n,r,d){return Pp(e)?e:re({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 md(e){let n=new Set,r,d,a;function c(){return Object.freeze(e.getCompatibilityApi().list().map(ao))}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(),...a===void 0?{}:{error:Object.freeze(a)}})}catch(h){let P=wt(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(P)})}}function m(){let h=u();for(let P of [...n])P(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(P=>{bp.has(P.type)&&m();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(zn(h,"conversations.getBackground")),setBackground:(h,P)=>e.getCompatibilityApi().setBackground(zn(h,"conversations.setBackground"),P),resetBackground:h=>e.getCompatibilityApi().resetBackground(zn(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,P)=>e.getCompatibilityApi().prefetchRecent(h.map(y=>zn(y,"conversations.prefetchRecent")),P),async refresh(){d="loading",a=void 0,m();try{await e.getCompatibilityApi().sync(),d=void 0,m();}catch(h){throw d="error",a=wt(h,"conversations.refresh",true),m(),a}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,P){let y=zn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(y,P);}catch(_){throw wt(_,"conversations.setPinned",false,y)}},async setMuted(h,P){let y=zn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(y,P);}catch(_){throw wt(_,"conversations.setMuted",true,y)}},async markRead(h){let P=zn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(P);}catch(y){throw wt(y,"conversations.markRead",true,P)}},markUnread(h){let P=zn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(P);}catch(y){throw wt(y,"conversations.markUnread",false,P)}},deleteLocal(h){let P=zn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(P);}catch(y){throw wt(y,"conversations.deleteLocal",false,P)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Rp=128,wp=8,Ep=64*1024*1024,Ap=3,Tp=8,_p=1440*60*1e3,br=10080*60*1e3,Dp=512*1024*1024,so=1024*1024;function kp(e){let n=0,r=false,d=[];function a(){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),a());});}}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 C=d.indexOf(g);C>=0&&d.splice(C,1),m(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",g.onAbort,{once:true}),d.push(g),a();})},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 gd(){return Ga([{kind:"image",softMaxBytes:512*so,maxEntries:512,maxEntryBytes:30*so,maxIdleMs:br},{kind:"video",softMaxBytes:1792*so,maxEntries:64,maxEntryBytes:200*so,maxIdleMs:br}])}function ei(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Op(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Mr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Cr(e,n,r,d){let a=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?a:`${a}:${d}`}function ni(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw De({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=Mr({conversationType:n,conversationId:r});return yd({id:Cr(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:ei(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:xp(e.failure,d)}})}function De(e){let n=re(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function fd(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 xp(e,n){if(e===void 0)return;let r=e.displayCode,a=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(re({...a??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function yd(e){return Object.freeze({...e,ref:Mr(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 co(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw De({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 De({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Mr({conversationType:r,conversationId:d})}function Id(e){let n=true,r=e.now??Date.now,d=0,a=0,c=new Map,o=new Set,u=new Map,m=new Map,g=new Map,C=new Map,h=new Map,P=new Set,y=false,_=new Map,M=new Set,L=e.maxDownloadCheckpointBytes??Dp;function I(w){return De({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:w})}function D(w,z){_.delete(w),M.add(w);let B=c.get(w);if(B!==void 0){let W={...B,recoveryReason:z,...B.state==="failed"||B.state==="canceled"?{error:I(B.ref)}:{}};B.state==="running"?Ce(W):pe(W);}}function s(w,z,B){_.delete(w),_.set(w,{url:z,state:B}),M.delete(w);let W=[..._.values()].reduce((ge,Te)=>ge+Te.state.bytesDownloaded,0);for(;_.size>Tp||W>L;){let ge=_.entries().next().value;if(ge===void 0)break;W-=ge[1].state.bytesDownloaded,D(ge[0],"download-checkpoint-limit");}}let i=kp(Ap),f,S=e.maxCachedBlobs??wp,T=e.maxCachedBlobBytes??Ep,K=0;function q(){if(!n||!e.isActive())throw De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function Y(){return Object.freeze([...c.values()])}function ue(){let w=Y();for(let z of [...o])try{z(w);}catch(B){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:B}});}}function ye(){y||!n||!e.isActive()||(y=true,queueMicrotask(()=>{if(y=false,!(!n||!e.isActive()))for(let w of [...P])try{w();}catch(z){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:z}});}}));}function v(w){let z=g.get(w);z!==void 0&&(K-=z.size,g.delete(w),C.delete(w),h.delete(w),ye());}function F(){if(!n||!e.isActive())return;let w=r();for(let[z,B]of _)!m.has(z)&&B.idleSince!==void 0&&w-B.idleSince>=_p&&D(z,"download-checkpoint-expired");for(let[z,B]of C)!m.has(z)&&w-B>=br&&v(z);ye();}function X(w,z){let B=g.get(w);if(B!==void 0){if(h.get(w)!==z||r()-C.get(w)>=br){v(w);return}return g.delete(w),g.set(w,B),C.set(w,r()),B}}function E(){d+=1,g.clear(),C.clear(),h.clear(),ye(),K=0;for(let w of [..._.keys()])D(w,"download-checkpoint-cleared");}function k(w){c.delete(w),u.delete(w),_.delete(w),M.delete(w),v(w);}function G(){for(;c.size>Rp;){let w=[...c.values()].find(z=>z.state==="completed"||z.state==="failed"||z.state==="canceled");if(w===void 0)return;k(w.id);}}function Ce(w){c.set(w.id,yd(w)),G();}function pe(w){if(!n||!e.isActive())return;Ce(w);let z=c.get(w.id);if(ue(),!n||!e.isActive()||z===void 0||c.get(w.id)!==z)return;let B={id:z.id,messageId:z.messageId,ref:z.ref,direction:"download",state:z.state,percent:z.percent};e.emitter.emit({type:"media-task:updated",conversation:z.ref,task:B});}function O(w,z,B){if(v(w),!(z.size>T))for(g.set(w,z),h.set(w,B),ye(),C.set(w,r()),K+=z.size;g.size>S||K>T;){let W=g.keys().next().value;if(W===void 0)break;v(W);}}function $(w,z=true){let B=co(w),W=e.domainState.getConversationMessage(B,w.messageId);if(W===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:B});let ge,Te,Oe,Je;if(W.contentType==="image")ge=W.body.image,Te=e.loaders?.loadImage,Je="image";else if(W.contentType==="video")ge=W.body.video,Te=e.loaders?.loadVideo,Je="video";else if(W.contentType==="voice")ge=W.body.voice,Te=e.loaders?.loadVoice;else if(W.contentType==="file")ge=W.body.file,Te=e.loaders?.loadFile,Oe=W.body.file?.mimeType;else if(W.contentType==="filesAlbum"){let Pe=w.itemIndex;if(ge=Pe===void 0?void 0:W.body.filesAlbum?.items[Pe],ge===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:B});Te=e.loaders?.loadFile;}else if(W.contentType==="mediaAlbum"){let Pe=W.body.mediaAlbum?.items,Ee=w.itemIndex,Ue=Ee===void 0||Pe===void 0?void 0:Pe[Ee];if(Ue===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:B});ge=Ue,Te=Ue.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,Je=Ue.kind;}if(W.contentType!=="mediaAlbum"&&W.contentType!=="filesAlbum"&&w.itemIndex!==void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:B});if(ge===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:B});if(z&&Te===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:B});if(ge.url.trim()===""||ge.url.startsWith("blob:"))throw De({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:B});return {ref:B,messageId:W.id,...w.itemIndex===void 0?{}:{itemIndex:w.itemIndex},...Oe===void 0?{}:{mimeType:Oe},...Je===void 0?{}:{cacheKind:Je,resourceVersion:Ha$1(ge.url)},...Te===void 0?{}:{load:Te},input:{url:ge.url,...ge.size===void 0?{}:{expectedBytes:ge.size},...ge.teaKey===void 0?{}:{teaKey:ge.teaKey},...ge.fileEncryptType===void 0?{}:{fileEncryptType:ge.fileEncryptType}}}}function j(w){return De({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:w})}function de(){return De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ae(w,z,B=d){if(q(),B!==d)return null;let W=Cr("download",w.ref,w.messageId,w.itemIndex),ge=X(W,w.resourceVersion);if(ge!==void 0)return ge;if(e.assetCache===void 0||w.cacheKind===void 0||w.resourceVersion===void 0)return null;let Te;try{Te=await e.assetCache.get({kind:w.cacheKind,messageId:w.messageId,resourceVersion:w.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Te===null?"miss":"hit",kind:w.cacheKind,messageId:w.messageId,...Te===null?{}:{byteLength:Te.blob.size}});}catch(Ee){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:w.cacheKind,messageId:w.messageId,cause:Ee}),z)throw De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:w.ref});return null}if(Te===null||(q(),B!==d))return null;let Oe=Te.blob,Je=Te.mimeType??w.mimeType??"",Pe=Oe.type===Je?Oe:Oe.slice(0,Oe.size,Je);return O(W,Pe,w.resourceVersion),Pe}function Se(w,z){F();let B=_.get(w);if(B!==void 0&&B.url!==z.input.url&&D(w,"download-object-changed"),M.has(w)){let W=I(z.ref),ge=c.get(w);throw ge!==void 0&&(ge.state==="failed"||ge.state==="canceled")&&pe({...ge,error:W}),W}return B?.state}function we(w,z=false){let B=d,W=Cr("download",w.ref,w.messageId,w.itemIndex),ge=m.get(W);if(ge!==void 0&&!ge.controller.signal.aborted)return ge.promise;if(!z){let Ue=X(W,w.resourceVersion);if(Ue!==void 0)return pe({id:W,ref:Mr(w.ref),messageId:w.messageId,...w.itemIndex===void 0?{}:{itemIndex:w.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Ue)}v(W);let Te=(()=>{let Ue=Se(W,w);return Ue===void 0?{percent:0}:{percent:Math.min(99,Math.round(Ue.bytesDownloaded/Ue.bytesTotal*100)),bytesTransferred:Ue.bytesDownloaded,bytesTotal:Ue.bytesTotal}})(),Oe=Mr(w.ref);u.set(W,Object.freeze({conversation:Oe,messageId:w.messageId,...w.itemIndex===void 0?{}:{itemIndex:w.itemIndex}}));let Je={id:W,messageId:w.messageId,ref:Oe,direction:"download",...w.itemIndex===void 0?{}:{itemIndex:w.itemIndex}},Pe=new AbortController,Ee=Promise.resolve().then(async()=>{let Ue;try{if(!n||!e.isActive())throw de();if(Pe.signal.aborted)throw j(Oe);if(Ue=await i.acquire(Pe.signal,()=>f===W?1:0),!n||!e.isActive())throw de();if(Pe.signal.aborted)throw j(Oe);if(pe({...Je,...Te,state:"running"}),!n||!e.isActive())throw de();if(Pe.signal.aborted)throw j(Oe);if(!z&&e.assetCache!==void 0&&w.cacheKind!==void 0&&w.resourceVersion!==void 0){let Ne=await ae(w,!1,B);if(Ne!==null){if(Pe.signal.aborted)throw j(Oe);return _.delete(W),M.delete(W),pe({...c.get(W),...Je,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Ne}}let nn=w.load;if(nn===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:Oe});let xn=Se(W,w);if(Te.bytesTransferred!==void 0&&(xn===void 0||B!==d))throw D(W,"download-checkpoint-cleared"),I(Oe);let Un=await nn({...w.input,getPriority:()=>f===W?1:0,...xn===void 0?{}:{resume:xn},onResumable:Ne=>{!n||!e.isActive()||B!==d||m.get(W)?.controller!==Pe||s(W,w.input.url,Ne);},onResumeInvalidated:()=>{!n||!e.isActive()||B!==d||m.get(W)?.controller!==Pe||D(W,"download-checkpoint-invalid");},signal:Pe.signal,onTransferProgress:Ne=>{let Cn=c.get(W);!n||!e.isActive()||Pe.signal.aborted||m.get(W)?.controller!==Pe||Cn?.state!=="running"||pe({...Cn,state:"running",percent:Math.min(99,ei(Ne.percent)),bytesTransferred:Ne.bytesTransferred,bytesTotal:Ne.bytesTotal,phase:Ne.bytesTotal>0&&Ne.bytesTransferred>=Ne.bytesTotal?"finalizing":"transferring"});},onProgress:Ne=>{let Cn=c.get(W);if(!n||!e.isActive()||Pe.signal.aborted||m.get(W)?.controller!==Pe||Cn?.state!=="running")return;let dn=Math.min(99,ei(Ne));dn<=Cn.percent||pe({...Cn,state:"running",percent:dn});}});if(!n||!e.isActive())throw de();if(Pe.signal.aborted)throw j(Oe);let tt=Un instanceof Blob?void 0:Un,Ye=tt===void 0?Un:new Blob([tt],w.mimeType===void 0?void 0:{type:w.mimeType});if(w.mimeType!==void 0&&Ye.type!==w.mimeType&&(Ye=Ye.slice(0,Ye.size,w.mimeType)),B===d&&O(W,Ye,w.resourceVersion),B===d&&e.assetCache!==void 0&&w.cacheKind!==void 0&&w.resourceVersion!==void 0){let Ne=Ye.size;e.assetCache.put({kind:w.cacheKind,messageId:w.messageId,resourceVersion:w.resourceVersion,blob:Ye,...w.mimeType===void 0?{}:{mimeType:w.mimeType}}).then(Cn=>{ye(),e.onAssetCacheEvent?.({operation:"put",outcome:Cn,kind:w.cacheKind,messageId:w.messageId,byteLength:Ne});}).catch(Cn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:w.cacheKind,messageId:w.messageId,byteLength:Ne,cause:Cn});});}if(_.delete(W),M.delete(W),pe({...c.get(W),...Je,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw de();return Ye}catch(nn){if(!n||!e.isActive())throw de();if(Pe.signal.aborted||typeof nn=="object"&&nn!==null&&"code"in nn&&nn.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Un=j(Oe);throw m.get(W)?.controller===Pe&&c.get(W)?.state!=="canceled"&&pe({...c.get(W),...Je,state:"canceled",percent:c.get(W)?.percent??0,error:M.has(W)?I(Oe):Un}),Un}let xn=M.has(W)?I(Oe):nn instanceof Error&&nn.name==="ImMediaTaskOperationError"?nn:De({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:Oe});throw m.get(W)?.controller===Pe&&pe({...c.get(W),...Je,state:"failed",percent:c.get(W)?.percent??0,error:xn}),xn}finally{if(Ue?.(),m.get(W)?.controller===Pe){m.delete(W);let nn=_.get(W);nn!==void 0&&(nn.idleSince=r());}}});return m.set(W,{controller:Pe,promise:Ee}),pe({...Je,...Te,state:"queued"}),Ee}function Z(w){q();let z=co(w);f=Cr("download",z,w.messageId,w.itemIndex);}function ke(w){try{return q(),we($(w))}catch(z){return Promise.reject(z)}}async function We(w){q();let z=d,B=w.map(Ee=>$(Ee,false)),W=new Map,ge=r(),Te=B.map(Ee=>{let Ue=Cr("download",Ee.ref,Ee.messageId,Ee.itemIndex);return g.has(Ue)&&h.get(Ue)===Ee.resourceVersion&&ge-(C.get(Ue)??0)<br});B.forEach((Ee,Ue)=>{if(Te[Ue]||Ee.cacheKind===void 0||Ee.resourceVersion===void 0)return;let nn={kind:Ee.cacheKind,messageId:Ee.messageId,resourceVersion:Ee.resourceVersion};W.set(JSON.stringify(nn),nn);});let Oe=[...W.values()],Je=Oe.map(()=>false);if(Oe.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw De({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(Je=await e.assetCache.hasMany(Oe),Je.length!==Oe.length||Je.some(Ee=>typeof Ee!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(Ee){throw q(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:Oe[0].kind,messageId:Oe[0].messageId,cause:Ee}),De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(q(),z!==d)throw De({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Pe=new Map(Oe.map((Ee,Ue)=>[JSON.stringify(Ee),Je[Ue]]));return Object.freeze(B.map((Ee,Ue)=>Te[Ue]||Pe.get(JSON.stringify({kind:Ee.cacheKind,messageId:Ee.messageId,resourceVersion:Ee.resourceVersion}))===true))}async function qe(w){let z=$(w,false);return z.cacheKind===void 0?null:await ae(z,true)}async function cn(w){if(q(),e.preparePreview===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let z;try{z=await e.preparePreview({operationId:`media.prepareLocalPreview:${++a}`,kind:w.kind,file:w.file,...w.signal===void 0?{}:{signal:w.signal}});}catch(W){if(w.signal?.aborted===true||W instanceof Error&&W.name==="AbortError")throw W;return e.onLocalPreviewError?.({kind:w.kind,byteLength:w.file.size,cause:W}),null}return q(),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0?(e.onLocalPreviewError?.({kind:w.kind,byteLength:w.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${z.width}\xD7${z.height}`)}),null):w.kind==="video"?{width:z.width,height:z.height,...z.duration===void 0?{}:{duration:z.duration},...z.posterData===void 0?{}:{posterData:z.posterData}}:{width:z.width,height:z.height}}async function $e(w){if(q(),w.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let z;try{z=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++a}`,kind:"video",file:w.file,...w.signal===void 0?{}:{signal:w.signal}});}catch(B){if(w.signal?.throwIfAborted(),B instanceof Error&&B.name==="AbortError")throw B;return q(),e.onLocalPreviewError?.({kind:"video",byteLength:w.file.size,cause:B}),null}return w.signal?.throwIfAborted(),q(),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0||!z.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:w.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([z.posterData],{type:"image/jpeg"})}function _n(w,z){q();let B=c.get(w);if(B===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:z,retryable:false});return B}function je(w,z){return De({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:z,retryable:false,conversation:w.ref,details:Object.freeze({state:w.state,direction:w.direction})})}let Rn=e.emitter.subscribe(w=>{!n||w.type!=="media-task:updated"||w.task.direction!=="upload"||Op(w.conversation,w.task.ref)&&(Ce(ni(w.task)),ue());});return {api:{async clearCache(){q(),e.connection.invalidateMediaAssetCacheWrites?.(),E();try{await e.assetCache?.clear();}catch(w){throw q(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:w}}),De({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}q(),ye();},getSnapshot(){return q(),Y()},subscribe(w){return q(),o.add(w),()=>o.delete(w)},async cancel(w,z){let B=_n(w,"media.cancel");if(B.state!=="queued"&&B.state!=="running"&&!(B.direction==="upload"&&B.state==="paused"))throw je(B,"media.cancel");if(B.direction==="upload"){if(!(z===void 0?e.connection.cancelMediaUpload(B.messageId):e.connection.cancelMediaUpload(B.messageId,z)))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:B.ref});return}let W=m.get(w);if(W===void 0)throw je(B,"media.cancel");W.controller.abort();let ge=M.has(w)?I(B.ref):j(B.ref);pe({...B,state:"canceled",error:ge});},async pause(w){let z=_n(w,"media.pause");if(z.direction!=="upload"||z.state!=="queued"&&z.state!=="running")throw je(z,"media.pause");if(!await e.connection.pauseMediaUpload?.(z.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:z.ref});q();},async resume(w){let z=_n(w,"media.resume");if(z.direction!=="upload"||z.state!=="paused")throw je(z,"media.resume");if(!e.connection.resumeMediaUpload?.(z.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:z.ref})},async retry(w,z){let B=_n(w,"media.retry");if(B.state!=="failed"&&B.state!=="canceled")throw je(B,"media.retry");if(B.direction==="upload"){if(z?.restartDownload!==void 0)throw je(B,"media.retry");if((B.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||B.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&z?.restartUpload!==true)throw De({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:B.ref});if(!(z===void 0?e.connection.retryMediaUpload(B.messageId):e.connection.retryMediaUpload(B.messageId,z)))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:B.ref});return}if(z?.restartUpload!==void 0)throw je(B,"media.retry");if(m.has(w)&&!m.get(w).controller.signal.aborted)throw De({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:B.ref});let W=u.get(w);if(W===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});z?.restartDownload===true&&(_.delete(w),M.delete(w)),await we($(W),true);},async getUploadRecovery(w){q();let z=co(w);if(w.itemIndex!==void 0)return {available:false,reason:"unsupported"};let B=w.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let W=e.domainState.getConversationMessage(z,B);if(W===void 0)return {available:false,reason:"not-found"};if(!fd(W))return {available:false,reason:"invalid-state"};try{let ge=await e.recoveryPort.get(z,B);q();let Te=e.domainState.getConversationMessage(z,B);return Te===void 0?{available:!1,reason:"not-found"}:fd(Te)?ge===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:ge.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(ge){return q(),{available:false,reason:typeof ge=="object"&&ge!==null&&"reason"in ge?String(ge.reason):"storage"}}},async resumeUpload(w,z){q();let B=co(w);if(w.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw De({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:B});try{let W=await e.connection.recoverMediaUpload(B,w.messageId,z.file);if(q(),!W.ok&&W.reason==="paused")throw De({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:B});if(!W.ok&&W.reason==="cancelled")throw De({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:B});if(!W.ok)throw De({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:B})}catch(W){if(q(),typeof W=="object"&&W!==null&&"code"in W&&typeof W.code=="string"&&W.code.startsWith("IM_SDK_"))throw W;let ge=W instanceof Error&&W.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw De({code:ge,category:"state",operation:"media.resumeUpload",retryable:false,conversation:B})}},download:ke,prioritizeDownload:Z,probeCached:We,subscribeCacheChanges(w){return q(),P.add(w),()=>P.delete(w)},getCached:qe,prepareLocalPreview:cn,prepareLocalVideoPoster:$e},clearCache:E,prune:F,dispose(){if(n){n=false,d+=1,Rn();for(let w of m.values())w.controller.abort();i.dispose(),f=void 0,m.clear(),o.clear(),P.clear(),h.clear(),c.clear(),u.clear(),g.clear(),C.clear(),_.clear(),M.clear(),K=0;}}}}var Np={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"}},Lp={"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 vd(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fp(e,n){let r=Np[e.reason];return Object.freeze(re({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function ti(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Fp(e.failure,n)}})}function Up(e){let n=vd(e);return ti({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 Kp(e,n,r){let d=re({code:Lp[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 hd(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 a(){return d(),Object.freeze(e.operations.getPending().map(Up))}async function c(u,m){d();let g=e.operations.getPending().find(h=>h.id===m),C=u==="outbox.retry"?e.operations.retry(m):e.operations.cancel(m);if(!C.accepted)throw Kp(u,C.reason,g===void 0?void 0:vd(g))}return {api:{getSnapshot:a,subscribe(u){d();let m=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(a());}),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 Bp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function lo(e){return Object.freeze({type:"error",error:Object.freeze(re(e))})}function vn(e){throw re(e)}function Ae(e,n,r){return (typeof e!="string"||e.trim()==="")&&vn({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 Xe(e,n){let r=e,d=r?.conversationType,a=r?.conversationId;return d==="supergroup"&&vn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof a=="string"?a:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof a!="string"||a.trim()==="")&&vn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:a})}function Gp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Sr(e,n){let r=Xe(e,n);return r.conversationType!=="direct"&&vn({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 qt(e,n){let r=Xe(e,n);return r.conversationType!=="group"&&vn({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 Et(e,n,r){Gp(e,n)||vn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function Hp(e){return Object.freeze({...e})}function jp(e,n){return Et(Xe(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 zp(e){let n=Ae(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=Xe(e.conversation,"application:updated");r.conversationType!=="group"&&vn({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=Xe(e.conversation,"application:updated");r.conversationType!=="channel"&&vn({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 vn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Vp(e){return Object.freeze({ref:zp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function qp(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 Wp(e){return Object.freeze(re({...{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 $p(e,n){if(Bp(e)){let{cause:r,...d}=e;return lo(d)}return lo({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Jp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:Hp(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=Xe(e.conversation,e.type);return Et(Xe({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&vn({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(jt(e.message)),source:e.source})}case "message:removed":{let r=Xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Ae(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=Xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=Xe(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:Ae(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=Xe(e.conversation,e.type);Et(Xe(e.task.ref,e.type),r,e.type);let d=ni(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=Xe(e.conversation,e.type);Et(Xe({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&vn({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Et(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=Xe(e.conversation,e.type);return e.conversationId!==r.conversationId&&vn({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=Xe(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&vn({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Et(Xe({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=Ae(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=Xe(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&vn({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=Xe(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&vn({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:Ae(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?vn({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Ae(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=Xe(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&vn({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=Xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:jp(e.draft,r)})}case "draft:cleared":{let r=Xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=Xe(e.conversation,e.type);return Et(Xe(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:ti(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Ae(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Vp(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=>Xe(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...qp(e.issue)});case "error":return Object.freeze({type:e.type,error:Wp(e.error)});case "call:incoming":{let r=Sr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Sr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Sr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Sr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r)})}case "call:failed":{let r=Sr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),inviterId:Ae(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Ae(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Ae(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r)})}case "group-call:busy":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),hintUserId:Ae(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=qt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return $p(r,e)}}function Yp(e){let{type:n,...r}=e;return Object.freeze(r)}function Xp(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=Xe(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Cd(e){let n=new WeakMap;function r(a,c){let o=n.get(a);if(o!==void 0)return o;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:a.notification.messageId}));return n.set(a,u),u}function d(a){let c=true,o=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){a(lo({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Ae(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(h=>{if(!c||h===null)return;let P=Object.freeze({type:"contact-application:answered",peerId:C,result:h});a(P);}).catch(()=>{c&&a(lo({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let m=Jp(u,e);m!==null&&a(m);let g=Xp(u);g!==null&&a(Object.freeze({type:"group:activated",...g}));});return ()=>{c=false,o();}}return {subscribe:a=>d(a),on:(a,c)=>d(o=>{o.type===a&&c(Yp(o));})}}function ut(e){let n=re({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 bd(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw ut({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 ut({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 ut({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 Md(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function Pr(e,n,r,d){return re({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 Sd(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Pd(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Rd(e,n){if(n.id!==e)throw Pr("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(a=>Object.freeze({countryCode:a.countryCode,mobile:a.mobile})))}})}function wd(e,n){if(n.id!==e.conversationId)throw Pr("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Sd(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 Qp(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 Ed(e,n){if(n.id!==e.conversationId)throw Pr("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Pd(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:Qp(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 Ad(e){return e.state==="ready"?Object.freeze({state:"ready",message:eo(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 uo(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw Pr("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Sd(e),messageId:n.messageId,preview:Ad(n.preview)})}function po(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw Pr("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Pd(e),messageId:n.messageId,preview:Ad(n.preview)})}function Zp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function em(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 nm(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function ri(e,n,r){return Zp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&nm(e)?re({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:em(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):re({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 Td=new WeakMap;function oi(e,n){Td.set(e,n);}function _d(e){let n=Td.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 tm="IM_SDK_CHANNEL_NOT_MEMBER",rm="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",om="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",im="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function am(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function sm(e,n,r){if(am(e))return e;let d=e instanceof d$1?e.businessCode:void 0,a=e instanceof oa?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?tm:d===40527?rm:d===40547?om:e instanceof d$1?im:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let c$1=e instanceof oa?"contract":e instanceof c?"network":d===40527?"permission":"state",o=re({code:a,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 mn(e,n,r){try{return await r()}catch(d){throw sm(d,e,n)??d}}var cm={pinMessage:()=>Promise.reject(new _e({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new _e({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new _e({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new _e({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Dd(e){let n=new Map,r=new Map,d=true,a=y=>({conversationType:"channel",conversationId:y}),c=y=>{r.set(y,(r.get(y)??0)+1);};function o(y,_=true){let M=_?h("get",y):e.coreClient;if(M===void 0)return Promise.reject(new _e({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 L=r.get(y)??0,I=n.get(y);if(I?.version===L)return I.task;let D=()=>d&&(r.get(y)??0)===L&&e.domainState.getConversationContext(a(y))?.type==="channel",s=()=>e.domainState.getPinnedMessage(a(y))??null,i=(async()=>{let S=await fa({client:M,channelId:y});if(!D())return s();if(!S.ok)throw dt("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(a(y),"reconcile"),null;let T=C$1(S.data.messageContent,{conversationId:y}),K=await no(T,e.fetchMessagesById);return D()?K===null?(e.domainState.clearPinnedMessage(a(y),"reconcile"),e.onSourceUnavailable?.(T),null):(e.domainState.setPinnedMessage(K,"reconcile"),s()):s()})();n.set(y,{version:L,task:i});let f=()=>{n.get(y)?.task===i&&n.delete(y);};return i.then(f,f),i}function u(y){if(!d)return;let _=r.get(y)??0;n.get(y)?.version!==_&&o(y,false).catch(M=>{!d||(r.get(y)??0)!==_||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(y=>{if(y.type==="session:removed"&&y.conversation.conversationType==="channel"){c(y.conversation.conversationId);return}if(y.type!=="message:received"&&y.type!=="message:updated")return;let _=y.message;if(_.conversationType!=="channel")return;let M=_.body.system?.pinnedMessageAction;M!==void 0&&y.source!=="live"&&y.channelLifecycleEffects!==true||((M?.type==="pin"||M?.type==="unpin")&&c(_.conversationId),m.handleMessage(_));});function C(y,_){if(_.trim()==="")throw new _e({operation:y,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let M=e.domainState.getConversationContext(a(_));if(M===void 0)throw new _e({operation:y,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(M.type!=="channel")throw new _e({operation:y,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function h(y,_){if(e.coreClient===void 0)throw new _e({operation:y,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(y,_),e.coreClient}return {operations:{pinMessage:async({channelId:y,messageId:_})=>{let M=h("pin",y),L=e.domainState.getConversationMessage(a(y),_);if(L===void 0)throw new _e({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(L.conversationType!=="channel")throw new _e({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(L.conversationId!==y)throw new _e({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:I,pinnedMessage:D$1}=D(L),s=await ua({client:M,channelId:y,messageContent:I});if(!s.ok)throw dt("pin",s.code,s.message);c(y),e.domainState.setPinnedMessage(D$1,"http:pin");let i=e.domainState.getPinnedMessage(a(y));if(i===void 0)throw new _e({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return i}catch(I){throw lt("pin",I)}},unpinMessage:async y=>{let _=h("unpin",y);try{let M=await Pa({client:_,channelId:y});if(!M.ok)throw dt("unpin",M.code,M.message);c(y),e.domainState.clearPinnedMessage(a(y),"http:unpin");}catch(M){throw lt("unpin",M)}},getPinnedMessage:async y=>{try{return await o(y)}catch(_){throw lt("get",_)}},peekPinnedMessage:y=>(C("get",y),e.domainState.getPinnedMessage(a(y))??null)},dispose:()=>{d&&(d=false,g());}}}async function pt(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var dm={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:pt,prefetchFirstPage:pt,refreshFirstPage:pt,listFirstPage:pt,listNextPage:pt,searchFirstPage:pt,refreshSearchFirstPage:pt,searchNextPage:pt},lm=new Set(["unknown_restricted","left","removed","dismissed"]);function an(e){return lm.has(e)}function kd(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 a(){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(C){let h=C.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function o(C){let P=await a().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return d(),P}async function u(C,h){d();let P=c(C),y=a();await(h==="accept"?y.acceptJoinApplication(P):y.ignoreJoinApplication(P)),d();}async function m(C,h,P,y,_){r(),_?.throwIfAborted();let M=await S({signal:_,http:e.http,userId:P,clientType:e.clientType,channelId:C,index:h,containAnchor:y,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),_?.throwIfAborted(),M}async function g(C,h,P,y){let _=await m(C,h,P,true,y),M=_.messages.find(L=>L.extensions?.historyCursor===h);if(M===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${h}\uFF09`);return {context:_,message:M}}return {applications:{listJoinApplications:o,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:g,loadNewerPage:(C,h,P,y)=>m(C,h,P,false,y),dispose:()=>{n=false;}}}function Od(e){async function n(a,c,o){let u=new Map(c.filter(E).sort((g,C)=>g.sortKey.localeCompare(C.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=${a}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let g=u.values().next().value;u.delete(g.id);let C=g.extensions?.historyCursor;if(typeof C!="string"||C.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}, messageId=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),P=e.getHistoryEpoch(a);try{let{context:y,message:_}=await e.loadMessageContext(a,C,m.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||P!==e.getHistoryEpoch(a))return;if(_.id!==g.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${C}, expected=${g.id}, actual=${_.id}\uFF09`);if(_.contentType!=="system"||E(_))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${C}, messageId=${g.id}\uFF09`);let M=y.messages.filter(L=>L.id===g.id||u.has(L.id));if(M.some(L=>L.contentType!=="system"||E(L)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${C}\uFF09`);e.domainState.upsertMessages(M,"offline",{backfillOnly:!0}),o.applyIncoming(M.flatMap(L=>{let I=e.domainState.getConversationMessage(L,L.id);return I===void 0?[]:[I]}));for(let L of M)u.delete(L.id);}catch(y){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=${a}, messageId=${g.id}\uFF09`,cause:y}});}}}function r(a,c){return a?.conversationType===c.conversationType&&a.conversationId===c.conversationId}async function d(a,c=e.domainState.messageWindow){if(a.stale||!a.messages.some(E))return a;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=${a.conversationId}\uFF09`);let u=e.domainState.getConversationContext(o);if(u?.type!=="channel"||u.channelState!==void 0&&an(u.channelState))return a;let m=c.getRevision();if(await n(o.conversationId,a.messages,c),c.getRevision()!==m||!r(c.info().conversation,o))return {...a,stale:true};let g=new Map(c.list().map(C=>[C.id,C]));return {...a,messages:a.messages.map(C=>g.get(C.id)??C)}}return {reconcilePage:d}}function xd(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(I,D,s,i){let S=re({code:I,category:I==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":I==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:I==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...i===void 0?{}:{cause:i}});return Object.assign(new Error(D),S)}function d(I){let D=I.name.trim();if(D==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(D.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=I.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let i=s.map(S=>typeof S=="string"?S.trim():"");if(i.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let f=[...new Set(i)];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:D,memberIds:f}}function a(){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 I=e.crypto.randomTeaKey();if(!(I instanceof Uint8Array)||I.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let D="";for(let s of I)D+=String.fromCharCode(s);return globalThis.btoa(D)}function c$1(I,D){let s=I.trim();if(s==="")throw new Error(`${D}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function o(I){let D=I.trim();if(D==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...D].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return D}function u(I){let D=I.trim();if(D==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...D].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return D}async function m(I){let D=(await e.getSelfUserId?.()??"").trim();return D!==""&&D===I.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 C(I,D,s){if(I!==1&&I!==2&&I!==4){let f=re({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(I!==4)return {verifyType:I};let i=D?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){let f=re({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:I,inviteCode:i}}function h(I){if(!Array.isArray(I))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(I.map(D=>c$1(D,"\u793E\u7FA4\u6210\u5458 id")))]}function P$1(I){e.emitter?.emit({type:"channel-profile:updated",channelId:I,conversation:{conversationType:"channel",conversationId:I}});}function y(I){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(I).catch(D=>{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:I,error:D}}});});}function _(I){if(I===void 0)return;let D=typeof I=="number"?I:Number(I);return Number.isSafeInteger(D)?D:void 0}function M(I){if(typeof I=="boolean")return I;if(I===1||I==="1"||I==="true")return true;if(I===0||I==="0"||I==="false")return false}function L(I){if(I===null||typeof I!="object"||I===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let D=I.id??I.radio_id;if(typeof D!="string"&&typeof D!="number"||String(D).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=I.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let i=String(D),f=_(I.total_users),S=_(I.status),T=_(I.verify_way),K=_(I.update_version),q=M(I.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:i}),name:s,...I.head_img_url?.trim()===""||I.head_img_url===void 0?{}:{avatar:I.head_img_url},...I.user_id===void 0?{}:{ownerId:String(I.user_id)},...f===void 0?{}:{memberCount:f},...S===void 0?{}:{status:S},...q===void 0?{}:{isInChannel:q},...T===void 0?{}:{verifyWay:T},...K===void 0?{}:{updateVersion:K},...I.invite_code===void 0?{}:{inviteCode:I.invite_code}}}return {...n,mentions:e.mentionCandidates??dm,uploadAvatar:async I=>{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 zt(e.avatarTransfer,I)},create:async I=>{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=d(I),s=a();try{let i=await ba({client:e.coreClient,name:D.name,memberIds:D.memberIds,secretKey:s,...I.avatarUrl===void 0?{}:{avatarUrl:I.avatarUrl}});if(!i.ok){let T=i.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(T,i.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:i.code,message:i.message}))}let f=L(i.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(i){throw i!==void 0&&typeof i=="object"&&i!==null&&"code"in i&&String(i.code).startsWith("IM_SDK_")?i:i instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",i.message,void 0,i):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,i)}},listProfiles:I=>e.channelProfile?.listProfiles(I)??Promise.resolve([]),getProfile:(I,D)=>e.channelProfile?.getProfile(I,D)??Promise.resolve(null),listMembers:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),prefetchMembers:I=>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(I),getCachedMembers:I=>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(I),refreshMembers:I=>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(I),searchMembers:I=>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:I.channelId,query:I.query,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),listMentionMembers:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),searchMentionMembers:I=>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:I.channelId,query:I.query,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),listAdmins:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),getMembersByIds:(I,D,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(I,D,s),updateName:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=c$1(D,"\u793E\u7FA4\u540D\u79F0");await mn("channels.updateName",i,()=>F$1({client:s,channelId:i,name:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{title:f}),P$1(i);},updateDescription:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=u(D);await mn("channels.updateDescription",i,()=>F$1({client:s,channelId:i,description:f})),P$1(i);},updateAvatar:async(I,D)=>{let s=g(),i=c$1(I,"\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 mn("channels.updateAvatar",i,()=>zt(e.avatarTransfer,D));return await mn("channels.updateAvatar",i,()=>F$1({client:s,channelId:i,avatarUrl:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{avatar:f}),P$1(i),f},setMyNickname:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=o(D);await mn("channels.setMyNickname",i,()=>G({client:s,channelId:i,nickname:f})),P$1(i);},setMemberNickname:async(I,D,s)=>{let i=g(),f=c$1(I,"\u793E\u7FA4 id"),S=c$1(D,"\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 T=o(s);await mn("channels.setMemberNickname",f,()=>H({client:i,channelId:f,userId:S,nickname:T})),P$1(f);},updateVerification:async(I,D,s)=>{let i=g(),f=c$1(I,"\u793E\u7FA4 id"),S=C(D,s,f);await mn("channels.updateVerification",f,()=>O({client:i,channelId:f,verifyType:S.verifyType,...S.inviteCode===void 0?{}:{inviteCode:S.inviteCode}})),P$1(f);},requestJoin:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=D?.remarks?.trim();return mn("channels.requestJoin",i,()=>ra({client:s,channelId:i,...f===void 0?{}:{remarks:f}}))},joinByInviteCode:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=D.trim();if(!/^\d{6}$/.test(f))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return mn("channels.joinByInviteCode",i,()=>sa({client:s,channelId:i,inviteCode:f}))},setAllMuted:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id");await mn("channels.setAllMuted",i,()=>P({client:s,channelId:i,muted:D})),e.domainState?.refreshConversationProfile?.(i,"channel"),P$1(i);},setMemberPrivateChatDisabled:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id");await mn("channels.setMemberPrivateChatDisabled",i,()=>Q({client:s,channelId:i,disabled:D})),e.domainState?.refreshConversationProfile?.(i,"channel"),P$1(i);},inviteMembers:async(I$1,D)=>{let s=g(),i=c$1(I$1,"\u793E\u7FA4 id"),f=h(D);if(f.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await mn("channels.inviteMembers",i,()=>I({client:s,channelId:i,userIds:f})),P$1(i);},removeMember:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=c$1(D,"\u5F85\u79FB\u9664\u6210\u5458 id");await mn("channels.removeMember",i,()=>J$1({client:s,channelId:i,userId:f})),P$1(i);},addAdmin:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=c$1(D,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await mn("channels.addAdmin",i,()=>K$1({client:s,channelId:i,userId:f})),y(i),P$1(i);},removeAdmin:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=c$1(D,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await mn("channels.removeAdmin",i,()=>L$1({client:s,channelId:i,userId:f})),y(i),P$1(i);},transferOwnership:async(I,D)=>{let s=g(),i=c$1(I,"\u793E\u7FA4 id"),f=c$1(D,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.transferOwnership",i,()=>M$1({client:s,channelId:i,userId:f})),y(i),e.domainState?.refreshConversationProfile?.(i,"channel"),P$1(i);},leave:async(I,D)=>{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 i=c$1(I,"\u793E\u7FA4 id"),f=D?.newOwnerId===void 0?void 0:c$1(D.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.leave",i,()=>N({client:s,channelId:i,...f===void 0?{}:{newOwnerId:f}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_left"),P$1(i);},dismiss:async I=>{let D=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(I,"\u793E\u7FA4 id");await mn("channels.dismiss",s,()=>R({client:D,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),P$1(s);},...e.applications,...e.pinned??cm}}function um(e){let r=re({...{"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 pm(e){let n=e.responseCode===Y,a=re({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(a.code),a)}function mm(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Nd(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,a=new Map,c=new Map,o=0,u=false,m=5e3;function g$1(s,i,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,i),a.set(s,Date.now()),S!==i&&e.onRelationshipChanged?.(s,i),i}function C(s,i){if(u)return;let f=P(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(f,++o),g$1(f,i);}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 P(s,i){let f=s.trim();if(f==="")throw new Error(`${i}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return f}function y(s,i){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(f=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${i}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:f}});});}async function _$1(s,i){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===""||i.name===void 0&&i.email===void 0&&i.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$1({client:e.coreClient,userId:s,...i.name===void 0?{}:{name:i.name},...i.email===void 0?{}:{email:i.email},...i.phones===void 0?{}:{phones:i.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 L(s,i){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(i&&S!==void 0)return S;let T=++o;r.set(f,T);let K=g(e.coreClient,{userId:f}).then(q=>g$1(f,M(q?.friend_status),T)).finally(()=>{c.get(f)===K&&c.delete(f);});return c.set(f,K),K}function I(s){return L(s,true)}async function D(s,i){let f=P(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),S;try{S=await L(f,!1);}catch(T){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:T}}}),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";C(f,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(f,i,Date.now());}catch(T){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:T}}}),null}return u?null:(e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),y(f,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,i)=>e.profile?.getUserProfile(s,i)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:_$1,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(e.coreClient,{query:s}).catch(i=>{throw i instanceof W?pm(i):i}).then(i=>{if(i===null)return null;let f=M(i.friendStatus);return C(i.userId,f),Object.freeze({userId:i.userId,displayName:i.nickname||i.miCallId||i.username||i.userId,nickname:i.nickname,relationship:f,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl},...i.username===void 0?{}:{username:i.username},...i.miCallId===void 0?{}:{miCallId:i.miCallId},...i.signature===void 0?{}:{signature:i.signature}})}),getRelationship:I,requestFriendship:async(s,i)=>{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=P(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),S;try{S=await _(e.coreClient,{userId:f,message:i.message,...i.remark===void 0?{}:{remark:i.remark}});}catch(K){throw K instanceof X?um(K):K}let T=mm(S.status);return C(f,T==="sent"?"pending":"friend"),T==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(f,j(),Date.now()),e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),y(f,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:T,...S.message===void 0?{}:{message:S.message}})},blockUser:async s=>{let i=P(s,"\u52A0\u5165\u9ED1\u540D\u5355");await V(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:i,blocked:true}),C(i,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:i}),e.emitter.emit({type:"profile:updated",profileType:"user",id:i}),y(i,"\u52A0\u5165\u9ED1\u540D\u5355");},listBlocked:async()=>{let s=await U(h("\u8BFB\u53D6\u9ED1\u540D\u5355"));return Object.freeze(s.map(i=>Object.freeze({userId:i.userId,displayName:i.displayName,nickname:i.nickname,...i.remark===void 0?{}:{remark:i.remark},...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}})))},unblockUser:async s=>{let i=P(s,"\u79FB\u51FA\u9ED1\u540D\u5355");await V(h("\u79FB\u51FA\u9ED1\u540D\u5355"),{userId:i,blocked:false}),C(i,"unknown"),L(i,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:i}),y(i,"\u79FB\u51FA\u9ED1\u540D\u5355");},reportUser:async(s,i)=>{let f=P(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),S=i.trim();if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let T=e.getSelfId?.().trim()??"";if(T==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await aa(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:T,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 i=s.trim();if(i==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await $(e.coreClient,{userId:i}),C(i,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:i});try{await e.resetDirectReadReceiptPreference?.(i);}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}});}y(i,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let i=P(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),f=a.get(i);return f!==void 0&&Date.now()-f<m?Promise.resolve(d.get(i)??"unknown"):I(i)},updateRelationshipFromEvent:C,resolveApplicationAnswer:D,dispose:()=>{u=true,o+=1,r.clear(),d.clear(),a.clear(),c.clear();}}}function Ld(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 a=d[0];if(a.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:a.type,conversationId:a.id}}}function Fd(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 a=e.domainState.getConversationContext(d);if(a===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:a.type,targetId:a.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 a=e.domainState.getMessagesByConversation(r),c=a.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({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(a);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 ai=1,fm=3;function si(e){return typeof Blob<"u"&&e instanceof Blob}async function Ud(e){return si(e)?new Uint8Array(await e.arrayBuffer()):e}function Kd(e){async function n(E){return e.connection.sendText(E)}async function r(E){return e.connection.sendContact(E)}async function d(E){return e.connection.forwardMessages(E)}async function a(E){return e.connection.recallMessage(E)}async function c(E){return e.connection.editMessage(E)}async function o(E){return e.connection.sendImage(E)}async function u(E){return e.connection.sendVideo(E)}async function m(E){return e.connection.sendVoice(E)}async function g(E){return e.connection.sendFile(E)}async function C(E){return e.connection.sendMediaAlbum(E)}async function h(E){return e.connection.sendGif(E)}async function P(E){return e.connection.sendExpression(E)}async function y(E){return e.connection.sendGame(E)}async function _(E){return e.connection.sendMiniProgram(E)}async function M(E){return e.connection.sendTransfer(E)}async function L(E){return e.connection.sendGift(E)}async function I(E){return e.connection.sendLiveRoom(E)}async function D(E,k){return e.connection.replaceInterruptedVideo(E,k)}async function s(E,k){return e.connection.replaceInterruptedFile(E,k)}function i(E){e.connection.cancelMedia(E);}function f(E,k){return {url:E.url,...E.getPriority===void 0?{}:{getPriority:E.getPriority},...E.expectedBytes===void 0?{}:{expectedBytes:E.expectedBytes},...E.onProgress===void 0&&E.onTransferProgress===void 0?{}:{onProgress:G=>{E.onTransferProgress?.(G),E.onProgress?.(G.percent);}},...E.signal!==void 0?{signal:E.signal}:{},...E.resume===void 0?{}:{resume:E.resume},...E.onResumable===void 0?{}:{onResumable:E.onResumable},...E.onResumeInvalidated===void 0?{}:{onResumeInvalidated:E.onResumeInvalidated},...k?{preferBlob:true}:{}}}async function S(E){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 k=await e.mediaTransfer.download(f(E,false)),G=await Ud(k);return E.teaKey!==void 0&&E.teaKey.length>0&&E.fileEncryptType!==ai?e.crypto.decryptSymmetric({teaKey:E.teaKey,cipherData:G}):G}async function T(E){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 k=await e.mediaTransfer.download(f(E,true));if(E.teaKey===void 0||E.teaKey.length===0||E.fileEncryptType===ai)return k;let G=E.teaKey;return si(k)?e.crypto.decryptSymmetricChunked({teaKey:G,cipherData:k,...E.signal===void 0?{}:{signal:E.signal}}):e.crypto.decryptSymmetric({teaKey:G,cipherData:k})}async function K(E){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(E.fileEncryptType===fm)return T(E);let k=await e.mediaTransfer.download(f(E,true));if(E.teaKey===void 0||E.teaKey.length===0||E.fileEncryptType===ai)return k;let Ce=E.teaKey;if(!si(k))return e.crypto.decryptFileSimple({teaKey:Ce,cipherData:k});if(k.size<=32){let $=e.crypto.decryptFileSimple({teaKey:Ce,cipherData:await Ud(k)});return new Blob([$],{type:k.type})}let pe=new Uint8Array(await k.slice(0,32).arrayBuffer()),O=e.crypto.decryptFileSimple({teaKey:Ce,cipherData:pe});return new Blob([O,k.slice(32)],{type:k.type})}function q(E){e.connection.retryMessage(E);}function Y(E,k){let G={conversationType:"channel",conversationId:E},Ce=e.domainState.getLoadedMessagesByConversation(G),O=e.domainState.getConversationMessage(G,k)??Ce.find(j=>Za(j)===k),$=Za(O);if(O===void 0||typeof $!="string"||$.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${E}, input=${k}\uFF09`);return O.id}async function ue(E){let k=E.conversationType??e.domainState.getSession(E.conversationId)?.type;if(k==="channel"){let G=Y(E.conversationId,E.readCursor);await e.connection.markRead(E.conversationId,G,"channel");return}await e.connection.markRead(E.conversationId,E.readCursor,E.conversationType),k==="direct"&&await e.prepareDirectReadReceipt?.(E.conversationId);}function ye(E){if(E.conversationType!=="direct"&&E.conversationType!=="group"&&E.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${E.conversationType}`)}async function v(E,k){ye(E);let G={...E};if(k===void 0){let O=e.domainState.getSession(G);if((O?.unreadCount??0)>0||(O?.mentionUnreadCount??0)>0){if(G.conversationType!=="group")throw new Error(`${G.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=${G.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:G.conversationId});}e.domainState.clearConversationManualUnread?.(G);return}let Ce=e.connection.settleConversationRead;if(Ce===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let pe=G.conversationType==="channel"?Y(G.conversationId,k):k;await Ce(G,pe),e.domainState.clearConversationManualUnread?.(G);}async function F(E,k){if(ye(E),E.conversationType!=="direct"||k.length===0)return;let G=e.connection.reportVisibleMessages;if(G===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");G(E,k),await e.prepareDirectReadReceipt?.(E.conversationId);}async function X(E,k){e.connection.reportDirectMediaConsumed?.(E,k),await e.prepareDirectReadReceipt?.(E);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:a,editMessage:c,sendImage:o,sendVideo:u,sendVoice:m,sendFile:g,sendGif:h,sendMediaAlbum:C,sendExpression:P,sendGame:y,sendMiniProgram:_,sendTransfer:M,sendGift:L,sendLiveRoom:I,replaceInterruptedVideo:D,replaceInterruptedFile:s,cancelMediaUpload:i,loadImage:S,loadVideo:T,loadVoice:S,loadFile:K,retry:q,markRead:ue,markConversationRead:v,markVisibleMessages:F,markDirectMediaConsumed:X}}}function Bd(e){return {...e.operations,get state(){return e.getState()}}}var gm=50,ym=1e3,Pn={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 sn(e){let n=re({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 Im(e,n){switch(e){case Pn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Pn.CONTACT_PERMISSION_DENIED:case Pn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Pn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Pn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Pn.ALREADY_GROUP_MEMBER:case Pn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Pn.GROUP_MEMBER_LIMIT_REACHED:case Pn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Pn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Pn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Pn.OPERATION_FAILED:case Pn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Pn.GROUP_APPLICATION_UNAVAILABLE_40521:case Pn.GROUP_APPLICATION_UNAVAILABLE_40612:case Pn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function vm(e){if(e instanceof j$1||e instanceof q)return e.code}function hm(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 Gd(e,n,r){let d=vm(r),a=Im(d,e),c=hm(r);return sn({code:a,category:c.category,operation:n,retryable:c.retryable,cause:r})}function Hd(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function An(e,n){if(typeof e!="string"&&typeof e!="number")throw sn({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 sn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function ci(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw sn({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 At(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 Cm(e,n,r="pending"){return Object.freeze({ref:At(e),...n===void 0?{}:{createdAt:n},state:r})}function bm(e){let n=ci(e.createdAt),r=mt(e.applicantAvatar,"contact.applicantAvatar"),d=mt(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:At({domain:"contact",applicationId:An(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:An(e.applicantId,"contact.applicantId"),name:An(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:di(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Mm(e){if(e.kind!=="request"&&e.kind!=="invite")throw sn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=ci(e.createdAt),r=mt(e.actor.avatarUrl,"group.actor.avatarUrl"),d=mt(e.actor.displayId,"group.actor.displayId"),a=mt(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:At({domain:"group",applicationId:An(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:An(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:An(e.actor.id,"group.actor.id"),name:An(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:An(e.target.id,"group.target.id"),name:An(e.target.name,"group.target.name"),...a===void 0?{}:{avatarUrl:a}}),message:di(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function mt(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw sn({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 di(e,n){if(typeof e!="string"&&typeof e!="number")throw sn({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 Sm(e){let n=ci(e.createdAt),r=mt(e.applicantAvatar,"channel.applicantAvatar"),d=mt(e.applicantDisplayId,"channel.applicantDisplayId"),a=mt(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:At({domain:"channel",applicationId:An(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:An(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:An(e.applicantId,"channel.applicantId"),name:An(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:An(e.channelId,"channel.channelId"),name:An(e.channelName,"channel.channelName"),...a===void 0?{}:{avatarUrl:a}}),message:di(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Rr(e){return `${e.domain}:${e.applicationId}`}function jd(e){let n=false,r=0,d=0,a=new Map,c=new Map,o=new Map;function u(y,_){if(n||!e.isActive()||_!==void 0&&r!==_)throw sn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:y,retryable:false})}function m(y){if(u(y),e.contact===void 0||e.group===void 0||e.channel===void 0)throw sn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:y,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(y,_){let M=[],L=new Set,I;for(let D=0;D<ym;D+=1){let s=await _({limit:gm,...I===void 0?{}:{cursor:I}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw sn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:y,retryable:false});if(M.push(...s.items),s.exhausted)return M;let i=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(i===""||L.has(i))throw sn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:y,retryable:false});L.add(i),I=i;}throw sn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:y,retryable:false})}async function C(){let y="applications.listPending",_=m(y),M=r,L=++d;try{let[I,D,s]=await Promise.all([g(y,T=>_.contact.listPendingApplications(T)),g(y,T=>_.group.listPendingApplications(T)),g(y,T=>_.channel.listJoinApplications(T))]);u(y,M);let i=[...I.map(bm),...D.map(Mm),...s.map(Sm)],f=new Map;for(let T of i){let K=Rr(T.ref);if(c.has(K))continue;let q=f.get(K);if(q!==void 0&&JSON.stringify(q.ref)!==JSON.stringify(T.ref))throw sn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:y,retryable:!1});(q===void 0||(T.createdAt??0)>(q.createdAt??0))&&f.set(K,T);}let S=[...f.values()].sort((T,K)=>{let q=(K.createdAt??0)-(T.createdAt??0);return q!==0?q:Rr(T.ref).localeCompare(Rr(K.ref))});if(L===d){a.clear();for(let T of S)a.set(Rr(T.ref),T);}return Object.freeze(S)}catch(I){throw Hd(I)?I:(u(y,M),Gd("IM_SDK_APPLICATION_LIST_FAILED",y,I))}}function h(y,_){if(u(_),y===null||typeof y!="object")throw sn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:_,retryable:false});let M=typeof y?.applicationId=="string"?y.applicationId.trim():"";if(M==="")throw sn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:_,retryable:false});if(y.domain==="contact")return At({domain:"contact",applicationId:M});let L=typeof y.conversation?.conversationId=="string"?y.conversation.conversationId.trim():"";if(y.domain==="group"&&y.conversation?.conversationType==="group"&&L!=="")return At({domain:"group",applicationId:M,conversation:{conversationType:"group",conversationId:L}});if(y.domain==="channel"&&y.conversation?.conversationType==="channel"&&L!=="")return At({domain:"channel",applicationId:M,conversation:{conversationType:"channel",conversationId:L}});throw sn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:_,retryable:false})}function P(y,_){let M=_==="accepted"?"applications.accept":"applications.ignore",L=h(y,M),I=Rr(L),D=c.get(I);if(D===_)return Promise.resolve();if(D!==void 0)return Promise.reject(sn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:M,retryable:false}));let s=o.get(I);if(s!==void 0)return s.state===_?s.promise:Promise.reject(sn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:M,retryable:true}));let i=r,f=Promise.resolve().then(async()=>{try{let T;if(L.domain==="contact"){if(e.contact===void 0)throw sn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});T=_==="accepted"?e.contact.acceptApplication(L.applicationId):e.contact.ignoreApplication(L.applicationId);}else if(L.domain==="group"){if(e.group===void 0)throw sn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});T=_==="accepted"?e.group.acceptApplication(L.applicationId):e.group.ignoreApplication(L.applicationId);}else {if(e.channel===void 0)throw sn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});T=_==="accepted"?e.channel.acceptJoinApplication(L.applicationId):e.channel.ignoreJoinApplication(L.applicationId);}if(await T,u(M,i),_==="accepted"&&L.domain==="contact"){let q=a.get(I);q?.kind==="contact-request"&&await e.onContactAccepted?.(q.applicant.id,L.applicationId);}c.set(I,_);let K=Cm(L,a.get(I)?.createdAt,_);a.delete(I),e.emitter.emit({type:"application:updated",application:K});}catch(T){throw Hd(T)?T:(u(M,i),Gd("IM_SDK_APPLICATION_ACTION_FAILED",M,T))}}),S=()=>{o.get(I)?.promise===f&&o.delete(I);};return o.set(I,{state:_,promise:f}),f.then(S,S),f}return {api:{listPending:C,accept:async y=>P(y,"accepted"),ignore:async y=>P(y,"ignored")},dispose(){n||(n=true,r+=1,a.clear(),c.clear(),o.clear());}}}function Tt(e,n,r){try{r();}catch(d){let a=d instanceof Error?d.message:String(d);throw a.includes("\u672A\u9274\u6743")?re({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u53EA\u5B9E\u73B0")||a.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?re({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?re({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u6CA1\u6709\u5339\u914D")||a.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?re({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):re({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function zd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Tt("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Tt("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Tt("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Tt("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Tt("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Tt("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Tt("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var li=18,Pm=12,Rm=300*1e3,wm=64,Vd=Object.freeze([]),Em=0;function Am(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function qd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Rm,d=e.maxCacheEntries??wm;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 a=++Em,c=new Map,o=new Map,u=new Map,m=new Map,g=new Map,C=new Map,h=new Map,P=new Set,y=0,_=true,M=O=>m.get(O)??0;function L(){if(!_)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function I(O){if(O.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let $=O.conversationId.trim();if($==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return $}function D(O){let $=c.get(O);c.delete(O),$?.page.nextPageToken!==void 0&&u.delete($.page.nextPageToken);}function s(O,$){let j=c.get(O);return j===void 0?null:j.generation!==$||j.expiresAt<=n()?(D(O),null):(c.delete(O),c.set(O,j),j.page)}function i(O,$){for(D(O),c.set(O,$);c.size>d;){let j=c.keys().next().value;if(typeof j!="string")break;D(j);}}function f(O){let $=[],j=new Map;for(let de of O){let ae=de.userId.trim();if(ae==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");j.has(ae)||$.push(ae);let Se=de.displayName.trim()||ae,we=de.avatar?.trim();j.set(ae,Object.freeze({userId:ae,displayName:Se,...we===void 0||we===""?{}:{avatar:we}}));}return Object.freeze($.map(de=>j.get(de)))}async function S(O,$){let j=await pa($);return Object.freeze(O.filter(de=>j.match(de.displayName)!==null||j.match(de.userId,{pinyin:false})!==null))}async function T(O,$){let j=await E(O);return j===null?Vd:S(j.page.items,$)}function K(O,$){let j=[...O.items],de=new Set(j.map(ae=>ae.userId));for(let ae of $)de.has(ae.userId)||(de.add(ae.userId),j.push(ae));return Object.freeze({...O,items:Object.freeze(j)})}function q(O,$){let j=O.map(ae=>ae.userId),de=new Map(O.map(ae=>[ae.userId,ae]));for(let ae of $)de.has(ae.userId)||j.push(ae.userId),de.set(ae.userId,ae);return j.map(ae=>de.get(ae))}function Y(O,$,j){let de=`im-channel-mention:${a}:${++y}`;for(u.set(de,{...O,generation:$,expiresAt:j});u.size>d;){let ae=u.keys().next().value;if(typeof ae!="string")break;u.delete(ae);}return de}function ue(O){let $=O.nextCursor?.trim();if(O.exhausted&&$!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!O.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 ye(O,$,j,de){let ae=ue(O),Se=ae===void 0?void 0:Y({...$,cursor:ae},j,de);return Object.freeze({items:f(O.items),...Se===void 0?{}:{nextPageToken:Se},exhausted:O.exhausted})}function v(){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 F(O,$){let j=g.get(O);for(j?.page.nextPageToken!==void 0&&u.delete(j.page.nextPageToken),g.delete(O),g.set(O,$);g.size>d;){let de=g.keys().next().value;if(de===void 0)break;let ae=g.get(de);ae?.page.nextPageToken!==void 0&&u.delete(ae.page.nextPageToken),g.delete(de);}}function X(O,$){let j=n()+r,de={channelId:O.channelId,kind:"list"},ae=O.nextCursor===void 0?void 0:Y({...de,cursor:O.nextCursor},$,j);return {generation:$,updatedAt:O.updatedAt,page:Object.freeze({items:f(O.items),...ae===void 0?{}:{nextPageToken:ae},exhausted:O.exhausted})}}function E(O){L();let $=g.get(O);if($!==void 0)return Promise.resolve($);if(P.has(O)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let j=h.get(O);if(j!==void 0)return j;let de=M(O),ae=e.storage.getChannelMentionCandidateSnapshot(O).then(Se=>{if(L(),Se===null||Se.channelId!==O||M(O)!==de||P.has(O))return null;let we=X(Se,de);return F(O,we),we}).finally(()=>{h.get(O)===ae&&h.delete(O);});return h.set(O,ae),ae}function k(O){L();let $=C.get(O);if($!==void 0)return $;let j=M(O),de=v(),ae=(async()=>{let Se,we=false,Z=[];for(let cn=0;cn<Pm&&!we;cn+=1){let $e=await de.listMentionMembers({channelId:O,limit:li,...Se===void 0?{}:{cursor:Se}});if(L(),M(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");Se=ue($e),we=$e.exhausted,Z=q(Z,$e.items);}let ke=n(),We={channelId:O,items:Z,...Se===void 0?{}:{nextCursor:Se},exhausted:we,updatedAt:ke};if(M(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(We),L(),M(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let qe=X(We,j);return F(O,qe),qe.page})().finally(()=>{C.get(O)===ae&&C.delete(O);});return C.set(O,ae),ae}function G(O,$=false){L();let j=M(O.channelId),de=Am(O);if(!$){let ke=s(de,j);if(ke!==null)return Promise.resolve(ke)}let ae=o.get(de);if(ae!==void 0&&ae.generation===j)return ae.promise;let Se=v(),we=O.kind==="list"?Se.listMentionMembers({channelId:O.channelId,limit:li,...O.cursor===void 0?{}:{cursor:O.cursor}}):Se.searchMentionMembers({channelId:O.channelId,query:O.keyword,limit:li,...O.cursor===void 0?{}:{cursor:O.cursor}}),Z=Promise.resolve(we).then(async ke=>{L();let We=O.kind==="search"&&O.cursor===void 0?await T(O.channelId,O.keyword):Vd;if(L(),M(O.channelId)!==j)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let qe=n()+r,cn=ye(ke,O,j,qe),$e=We.length===0?cn:K(cn,We);return M(O.channelId)===j&&i(de,{channelId:O.channelId,generation:j,expiresAt:qe,page:$e}),$e}).finally(()=>{o.get(de)?.promise===Z&&o.delete(de);});return o.set(de,{generation:j,promise:Z}),Z}function Ce(O,$){L();let j=u.get(O);if(j===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(j.kind!==$)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${$} \u5206\u9875`);if(j.expiresAt<=n())throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(M(j.channelId)!==j.generation)throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return j}return {api:{peekFirstPage(O){if(!_)return null;let $=I(O),j=g.get($);return j===void 0||j.generation!==M($)?null:(F($,j),j.page)},peekSearchCandidates(O,$){if(!_)return Object.freeze([]);let j=I(O),de=$.trim().toLocaleLowerCase();if(de==="")return Object.freeze([]);let ae=g.get(j);return ae===void 0||ae.generation!==M(j)?Object.freeze([]):(F(j,ae),Object.freeze(ae.page.items.filter(Se=>Se.displayName.toLocaleLowerCase().includes(de)||Se.userId.toLocaleLowerCase().includes(de))))},async getCachedPage(O,$){let j=I(O),de=await E(j);if(de===null)return null;let ae=$?.trim()??"";if(ae==="")return de.page;let Se=await S(de.page.items,ae);return L(),de.generation!==M(j)?null:Object.freeze({items:Se,exhausted:true})},async prefetchFirstPage(O){let $=I(O),j=await E($);j!==null&&j.updatedAt+r>n()||await k($);},async refreshFirstPage(O){return k(I(O))},async listFirstPage(O){let $=I(O),j=g.get($);if(j!==void 0&&j.generation===M($))return F($,j),j.page;let de=await E($);return de!==null?de.page:k($)},async listNextPage(O){return G(Ce(O,"list"))},async searchFirstPage(O,$){let j=I(O),de=$.trim();return de===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):G({channelId:j,kind:"search",keyword:de})},async refreshSearchFirstPage(O,$){let j=I(O),de=$.trim();return de===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):G({channelId:j,kind:"search",keyword:de},true)},async searchNextPage(O){return G(Ce(O,"search"))}},async invalidate(O){if(!_)return;let $=O.trim();if($==="")return;m.set($,M($)+1),P.add($);let j=g.get($);j?.page.nextPageToken!==void 0&&u.delete(j.page.nextPageToken),g.delete($),C.delete($),h.delete($);for(let[de,ae]of c)ae.channelId===$&&D(de);for(let[de,ae]of u)ae.channelId===$&&u.delete(de);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot($),P.delete($));},clear(){if(!_)return;let O=new Set;for(let $ of c.values())O.add($.channelId);for(let $ of u.values())O.add($.channelId);for(let $ of O)m.set($,M($)+1);c.clear(),u.clear(),o.clear(),g.clear(),C.clear(),h.clear(),P.clear();},dispose(){_&&(_=false,c.clear(),u.clear(),o.clear(),g.clear(),C.clear(),h.clear(),P.clear());}}}var Tm=20*1024*1024;function Zn(e){return re({...e,retryable:e.retryable??false})}function ui(e,n){if(e?.conversationType==="supergroup")throw Zn({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 Zn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function _m(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 Zn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Dm(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw Zn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Wd(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw Zn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Dm(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw Zn({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 pi(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 km(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function $d(e){let n=e.maxCustomImageBytes??Tm,r=false,d=0,a,c;async function o(m,g){try{return await g(_m(e.storage,m))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:Zn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:m,cause:C})}}return {api:{async getBackground(m){let g="conversations.getBackground",C=ui(m,g);return o(g,async h=>{let P=await h.getConversationBackground(C);if(P!==null)return Object.freeze({source:"conversation",selection:pi(P)});let y=await h.getDefaultConversationBackground();return Object.freeze(y===null?{source:"builtin",selection:null}:{source:"default",selection:pi(y)})})},async setBackground(m,g){let C="conversations.setBackground",h=ui(m,C),P=await Wd(g,C,n);await o(C,y=>y.saveConversationBackground(h,P));},async resetBackground(m){let g="conversations.resetBackground",C=ui(m,g);await o(g,h=>h.deleteConversationBackground(C));},async getDefaultBackground(){return o("conversations.getDefaultBackground",async g=>{let C=await g.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:pi(C)})})},async setDefaultBackground(m){let g="conversations.setDefaultBackground",C=await Wd(m,g,n);await o(g,h=>h.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await o("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(m){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(Zn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!m?.forceRefresh&&a!==void 0)return Promise.resolve(a);if(!m?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(Zn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:g}));let C=++d,h=ha$1(e.coreClient).then(P=>{let y=Object.freeze(P.map(km));return !r&&C===d&&(a=y),y}).catch(P=>{throw Zn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:P})}).finally(()=>{C===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,a=void 0,c=void 0;}}}var wr=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 Er(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 wr(e.conversationId,e.direction);return {exhausted:false,nextCursor:String(n)}}var Jd=2;async function Om(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,a,c,o=g=>Yd(e.entryUpperSortKey===void 0?g:g.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,a,e.isEntryUnread).unreadMessages;for(let g=0;g<=(e.maxExtraPages??Jd);g+=1){e.signal?.throwIfAborted();let C=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),C===void 0)break;if(a!==void 0&&a!==C.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");a=C.readCursorSortKey,c=C;for(let _ of C.messages){if(_.conversationId!==e.conversation.conversationId||_.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(_.id,_);}let h=[...n.values()].sort(n$1),P=o(h),y=e.entryUpperSortKey!==void 0&&C.messages.some(_=>_.sortKey>=e.entryUpperSortKey);if(mi(P)&&(C.exhausted||y))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(y||P.some(_=>_.contentType!=="system")||C.exhausted||C.nextCursor===void 0||C.nextCursor===d||r.has(C.nextCursor))break;r.add(C.nextCursor),d=C.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(),Xd(m.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function mi(e){return e.length>0&&e.every(n=>n.contentType==="system")}function xm(e){return qa(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Yd(e,n,r,d){let a=[];for(let c of e)!xm(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??va(c,n))&&a.push(c);return {unreadMessages:a}}function Xd(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function fi(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return Om(e);let n=new Map,r=()=>{let _=e.list();for(let M of _)n.delete(M.id);for(let M of Yd(_,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 a=d&&e.list().some(_=>_.sortKey===e.readCursorSortKey),c=false,o=()=>{a&&e.entryUpperSortKey!==void 0&&e.list().some(_=>_.sortKey>=e.entryUpperSortKey)&&(c=true);};o();let u=r(),m=e.maxExtraPages??Jd,g=e.paginationKey??(()=>JSON.stringify(e.list().map(_=>[_.id,_.sortKey]))),C=new Set,h=()=>!c&&(u.length<e.unreadCount||d&&mi(u));for(let _=0;h()&&(d?e.hasNewer():e.hasOlder())&&_<m&&(e.signal?.throwIfAborted(),C.add(g()),await(d?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),u=r(),o(),!(e.maxExtraPages!==void 0&&C.has(g())));_+=1);if(u.length<e.unreadCount&&!c)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let P=d?u:u.slice(-e.unreadCount);if(c&&P.length===0||(!d||!e.hasNewer()||c)&&mi(P))return await e.openLatest(),Object.freeze({state:"none"});let y=P[0];return y===void 0?Object.freeze({state:"unavailable"}):((!e.preserveLocatedWindow||!e.list().some(_=>_.id===y.id))&&await e.openAt(y.sortKey),e.signal?.throwIfAborted(),Xd(y.id,e.unreadCount))}function Ar(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},a=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}a.has(c.userId)||(a.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 Nm(e){return i$1(e)?[...new Set([e.toLowerCase(),e.toUpperCase(),e])]:[e]}function Qd(e){let n=new Map;for(let r of e){let d=r.trim(),a=M([d])[0];if(a===void 0)continue;let c=k(a),o=n.get(c)??{sourceIds:new Map,queryIds:new Set};o.sourceIds.has(a)||o.sourceIds.set(a,d);for(let u of Nm(a))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 Zd(e){let n=[],r=[],d=0;for(let a of e)d+a.queryIds.length>L&&(n.push(r),r=[],d=0),r.push(a),d+=a.queryIds.length;return r.length>0&&n.push(r),n}async function mo(e,n){let r=new Map,d=new Set;for(let a of Zd(Qd(e))){let c=a.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 Lm(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 el(e){let n=Qd(e.messageIds);if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],a=[],c;for(let o of Zd(n)){let u=o.map(m=>m.id);if(!e.isCurrent()){a.push(...u);continue}try{let m=await e.fetchBatch(o.flatMap(y=>y.sourceIds));if(!e.isCurrent()){a.push(...u);continue}let g=new Set(u),C=m.messages.filter(y=>g.has(y.id)),h=new Set(C.map(y=>y.id)),P=new Set(m.missingMessageIds.filter(y=>g.has(y)));r.push(...C.map(e.projectMessage)),d.push(...P);for(let y of u)!h.has(y)&&!P.has(y)&&a.push(y);}catch(m){a.push(...u),c=Lm(m);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:a,...c===void 0?{}:{failure:c}}}function gi(e,n,r){return e instanceof wr?re({code:e.code,category:e.category,retryable:e.retryable,operation:n,conversation:r,cause:e}):St(e,n,r)}var Ii=new WeakMap;function go(e,n){let r=Ii.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Ii.set(e,r);}var Fm={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}},Um={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}},nl={"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}},tl={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 rl(e,n,r){let d=re({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function fo(e,n,r,d){if((n.conversationType==="group"||n.conversationType==="channel")&&e.getPinnedMessage(n)?.messageId===r){let a=re({code:"IM_SDK_MESSAGE_PINNED",category:"state",operation:d,retryable:false,conversation:n,details:{messageId:r}});throw Object.assign(new Error(a.code),a)}}function Km(e,n){let r=re({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)}var Bm=3*1024*1024,yi=200*1024*1024,ol=2*1024*1024*1024,il=30*1024*1024,al=4294967295,Gm=6,Hm=4,jm=16*1024;async function zm(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 Vm={"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 yo(e,n,r,d,a={},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*Gm},...a.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,b)=>a.shouldEstablishRemoteLatestOnOpen?.(b)===true}},g=n.domainState.createMessageWindow({...m}),C=new WeakSet,h=new WeakSet,P=new Set,y$1=new Set,_=new Map,M,L,I=false,D=false,s=false,i=true,f=0,S=Object.freeze({state:"none"}),T=c.captureEntryUnread===true&&o.conversationType!=="robot",K=T?n.domainState.getSession(o):void 0,q=Math.max(0,K?.manuallyUnread===true?0:K?.unreadCount??0),Y=T?n.domainState.getReadState(o):void 0,ue=n.getSelfId(),ye=new Map,v=new Set,F,X,E=Y?.readCursorSortKey,k=T?Object.freeze(q>0?{state:"pending",count:q}:{state:"none"}):void 0,G=0,Ce,pe,O=0,$=false,j,de;if(T)for(let p of n.domainState.getLoadedMessagesByConversation(o))ye.set(p.id,va(p,ue)),Y?.readCursor===(o.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(E=p.sortKey);let ae=new AbortController,Se=new WeakMap,we;function Z(){if(D)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function ke(){let p=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(o),draft:n.domainState.getDraft(o),loading:_.size>0,stale:I,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:L,entryUnread:S,entryUnreadNavigation:k}}function We(p,b){return p.length===b.length&&p.every((R,N)=>R===b[N])}function qe(p,b){return We(p.messages,b.messages)&&(p.context?.title??"")===(b.context?.title??"")&&(p.context?.avatar??"")===(b.context?.avatar??"")&&p.draft===b.draft&&p.loading===b.loading&&p.stale===b.stale&&p.hasOlder===b.hasOlder&&p.hasNewer===b.hasNewer&&p.error===b.error&&p.entryUnread===b.entryUnread&&p.entryUnreadNavigation===b.entryUnreadNavigation}function cn(p){let b=Se.get(p);if(b!==void 0)return b;let R=eo(p);return Se.set(p,R),R}function $e(p){let b=p.context;return {ref:o,...b===void 0?{}:{display:Object.freeze({title:b.title,...b.avatar===void 0?{}:{avatar:b.avatar}})},messages:Object.freeze(p.messages.map(cn)),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 _n(){return Z(),$e(ke())}function je(){nn();let p=ke();if(we!==void 0&&qe(we,p))return;we=p;let b=$e(p);for(let R of P)try{R(b);}catch(N){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:N}});}}async function Rn(p,b){if(b(),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 R=n.domainState.getPinnedMessage(o),N=o.conversationType==="channel"&&R?.messageId===p,ee=g.window.list().find(ve=>ve.id===p)??n.domainState.getConversationMessage(o,p);if(ee!==void 0&&(!N||Wt(ee)))return {anchor:ee,...N?{remoteSeed:ee}:{}};let le=N?await n.domainState.resolveConversationMessage(o,p):void 0;if(le!==void 0&&Wt(le))return {anchor:le,remoteSeed:le};let Ie=R?.messageId===p&&R.preview.state==="ready"?R.preview.message:void 0;if(Ie!==void 0){if(o.conversationType==="channel"){if(n.fetchMessagesByIdBatch===void 0)throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u88C5\u914D\u6309\u6D88\u606F ID \u67E5\u8BE2");if(b(),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 ve=await n.fetchMessagesByIdBatch([p]),Le=ve.messages.find(Be=>Be.id===p&&Be.conversationType===o.conversationType&&Be.conversationId===o.conversationId);if(Le===void 0){if(ve.missingMessageIds.includes(p))return;throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u53D6\u5F97\u5B8C\u6574\u6D88\u606F\u7ED3\u679C")}if(!Wt(Le))throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u6D88\u606F\u7F3A\u5C11\u5386\u53F2\u6E38\u6807");return {anchor:Le,remoteSeed:Le}}return {anchor:Ie,fallbackSeed:Ie}}let be=n.resolveSearchHistoryAnchor?.(o,p);if(be!==void 0)return {anchor:be};let he=N?le:await n.domainState.resolveConversationMessage(o,p);return he===void 0?void 0:{anchor:he}}async function Vn(p,b,R,N=false){R();let{anchor:ee}=b;if(b.remoteSeed!==void 0)return w(p,b.remoteSeed,R,N);let le=await p.openAt(o,{anchorSortKey:ee.sortKey,limit:u$1});R();let Ie=p.list().find(be=>be.id===ee.id);return p.info().remotePagination===true&&Ie!==void 0?w(p,Ie,R,N):p.list().some(be=>be.id===ee.id)||b.fallbackSeed===void 0?le:w(p,b.fallbackSeed,R,N)}async function w(p,b,R,N){let ee=await p.openAt(o,{anchorSortKey:b.sortKey,limit:u$1,seedMessages:[b],seedHasNewer:true,seedRemotePagination:{}});return R(),N?(await z(p,b,R),{...ee,messages:p.list()}):ee}async function z(p,b,R){for(let N of ["older","newer"])if(!p.list().some(ee=>qa(ee)&&(N==="older"?ee.sortKey<b.sortKey:ee.sortKey>b.sortKey)))for(let ee=0;ee<Hm;ee+=1){R();let le=p.info();if(!(N==="older"?le.hasMore:le.hasNewer))break;let Ie=N==="older"?await p.loadOlder({limit:u$1}):await p.loadNewer({limit:u$1});if(R(),Ie.stale)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");if(Ie.messages.length>0)break}}function B(p,b,R){Z();let N=g,ee=R?.window??N.window,le=R?.isCurrent??(()=>!D&&g===N),Ie=()=>{if(Z(),!le())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 be=_.get(p);if(be!==void 0)return be;let he=n.beginReceiving?.();L=void 0;let ve=Promise.resolve().then(()=>(Ie(),b())).then(Le=>(Ie(),a.reconcilePage===void 0?Le:a.reconcilePage(Le,ee))).then(Le=>{Ie(),I=Le.stale===true;}).catch(Le=>{let Be=Le instanceof Pa$1?Le.cause:Le;throw le()&&(L=gi(Be,`history.${p}`,o)),i?Le:Be}).finally(()=>{he?.(),_.delete(p),D||je();});return _.set(p,ve),je(),ve}function W(){g.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1));}function ge(p){return a.shouldEstablishRemoteLatestOnOpen?.(p.list())===true||p.info().remotePagination===true&&(q>0||c.initialPosition==="first-unread"&&(n.domainState.getSession(o)?.unreadCount??0)>0)}async function Te(){$=false,s?s=false:await B("latest",()=>g.window.open(o,{limit:u$1})),W(),ge(g.window)&&(await B("latest:remote",()=>g.window.loadOlder({limit:u$1,establishLatestOnly:true})),W()),$=!I,Pe(g.window.list());}function Oe(){if(Z(),pe?.version===G)return pe.promise;let p=++G,b=Je(p).finally(()=>{pe?.version===p&&(pe=void 0);});return pe={version:p,promise:b},b}async function Je(p){let b=g,R=n.domainState.createMessageWindow(m),N=()=>!D&&G===p&&g===b,ee=()=>{if(!N())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},le={window:R.window,isCurrent:N},Ie=(he,ve)=>B(he,async()=>{let Le=await ve();if(Le.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Le},le),be=false;try{await Ie(`latest:${p}`,()=>R.window.open(o,{limit:u$1})),ee(),R.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1)),ge(R.window)&&(await Ie(`latest:remote:${p}`,()=>R.window.loadOlder({limit:u$1,establishLatestOnly:!0})),ee(),R.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u$1))),g=R,be=!0,b.dispose(),$=!0,I=!1,Pe(R.window.list()),je();}finally{be||R.dispose();}}function Pe(p){let b=a.resolveReadMessageId?.(p);j=a.resolveReadMessageId===void 0?p.at(-1):p.find(R=>R.id===b);}function Ee(p){return v.has(p.id)||F===void 0||p.sortKey>F||E!==void 0&&p.sortKey<=E?false:ye.get(p.id)??va(p,ue)}function Ue(){if(!T||q<=0||g.window.info().remotePagination===true&&!$&&S.state!=="located")return;h.add(g.window);let b=g.window.list().filter(R=>!v.has(R.id));F=b.at(-1)?.sortKey;for(let R of b)ye.has(R.id)||ye.set(R.id,va(R,ue));if(c.initialPosition==="first-unread"&&S.state==="located"){X=S.firstMessageId,k=Object.freeze({state:"located",count:q,firstMessageId:S.firstMessageId});return}nn();}function nn(){if(!T||q<=0||X!==void 0||F===void 0||k?.state==="none")return;let p=g.window.list();if(!p.some(ee=>ee.sortKey===F))return;let b=p.filter(ee=>Ee(ee)&&qa(ee)&&ee.recalled===void 0&&ee.deletedForEveryone===void 0);if(b.length<q)return;let R=b.slice(-q);if(R.every(ee=>ee.contentType==="system")){k=Object.freeze({state:"none"});return}let N=R[0];X=N.id,S=Object.freeze({state:"located",firstMessageId:N.id,count:q}),k=Object.freeze({state:"located",firstMessageId:N.id,count:q});}function xn(p={}){if(Z(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(Ce!==void 0){if(!Ce.controller.signal.aborted&&Ce.version===G&&Ce.callerSignal===p.signal)return Ce.promise;Ce.controller.abort();}if(k===void 0||k.state==="none")return Promise.resolve(false);let b=++G,R=g.window.list(),N=R.find(ze=>ze.id===X),ee=g.window.info();if(M===void 0&&_.size===0&&!I&&!ae.signal.aborted&&h.has(g.window)&&N!==void 0&&qa(N)&&N.recalled===void 0&&N.deletedForEveryone===void 0&&(!ee.hasMore||R.some(ze=>qa(ze)&&ze.sortKey<N.sortKey))&&(!ee.hasNewer||R.some(ze=>qa(ze)&&ze.sortKey>N.sortKey)))return S=Object.freeze({state:"located",firstMessageId:N.id,count:q}),k=Object.freeze({state:"located",firstMessageId:N.id,count:q}),je(),Promise.resolve(true);let le=n.domainState.createMessageWindow(m),Ie=new AbortController,be=()=>!D&&!Ie.signal.aborted&&G===b,he=()=>{if(!be())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},ve=async ze=>{he();let gn=await ze();if(he(),a.reconcilePage!==void 0&&(gn=await a.reconcilePage(gn,le.window)),he(),gn.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");le.window.applyIncoming(le.window.list().map(Nn=>n.domainState.getConversationMessage(o,Nn.id)??Nn));},Le=false,Be,xe=new Promise((ze,gn)=>{Be=gn;}),Qt=()=>{Le||le.dispose(),Be(Ie.signal.reason);},Zt=()=>Ie.abort(p.signal?.reason),Ot=()=>Ie.abort(ae.signal.reason);Ie.signal.addEventListener("abort",Qt,{once:true}),p.signal?.addEventListener("abort",Zt,{once:true}),ae.signal.addEventListener("abort",Ot,{once:true}),ae.signal.aborted&&Ot();let er=n.beginReceiving?.(),Co=(async()=>{try{let ze=!1;F===void 0&&(await ve(()=>le.window.open(o,{limit:u$1})),ge(le.window)&&await ve(()=>le.window.loadOlder({limit:u$1,establishLatestOnly:!0})),F=le.window.list().filter(bn=>!v.has(bn.id)).at(-1)?.sortKey,ze=!0);let gn=X,Nn=gn===void 0?void 0:await Rn(gn,he);if(he(),gn!==void 0&&Nn===void 0)return k=Object.freeze({state:"unavailable",count:q}),!1;let $n=Nn===void 0?await fi({conversation:o,pageSize:u$1,maxExtraPages:Number.POSITIVE_INFINITY,preserveLocatedWindow:le.window.info().remotePagination===!0,...F===void 0?{}:{entryUpperSortKey:F},unreadCount:q,...E===void 0?{}:{readCursorSortKey:E},signal:Ie.signal,selfId:ue,isEntryUnread:Ee,...o.conversationType!=="channel"||!Y?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async bn=>{let Gn=await n.loadEntryUnreadPage({readCursor:Y.readCursor,...bn===void 0?{}:{cursor:bn},signal:Ie.signal,isCurrent:be});return he(),Gn}},paginationKey:()=>le.window.getPaginationKey(),list:()=>le.window.list(),hasOlder:()=>le.window.info().hasMore,hasNewer:()=>le.window.info().hasNewer,openLatest:async()=>{if(ze){ze=!1;return}await ve(()=>le.window.open(o,{limit:u$1})),ge(le.window)&&await ve(()=>le.window.loadOlder({limit:u$1,establishLatestOnly:!0}));},openAt:(bn,Gn)=>(ze=!1,ve(()=>le.window.openAt(o,{anchorSortKey:bn,limit:u$1,...Gn===void 0?{}:{seedMessages:Gn.messages.map(rt=>n.domainState.getConversationMessage(o,rt.id)??rt),seedHasNewer:Gn.hasNewer,seedRemotePagination:Gn.nextCursor===void 0?{}:{newerCursor:Gn.nextCursor}}}))),loadOlder:()=>ve(()=>le.window.loadOlder({limit:u$1})),loadNewer:()=>ve(()=>le.window.loadNewer({limit:u$1}))}):await(async()=>(await ve(()=>Vn(le.window,Nn,he)),{state:"located",firstMessageId:Nn.anchor.id,count:q}))();if(he(),$n.state!=="located")return k=Object.freeze($n.state==="none"?{state:"none"}:{state:"unavailable",count:q}),!1;let Ln=le.window.list().find(bn=>bn.id===$n.firstMessageId);if(Ln===void 0||!qa(Ln)||Ln.recalled!==void 0||Ln.deletedForEveryone!==void 0)return k=Object.freeze({state:"unavailable",count:q}),!1;le.window.info().remotePagination===!0&&await ve(async()=>(await z(le.window,Ln,he),{conversationId:o.conversationId,messages:le.window.list(),stale:!1})),he();let xt=le.window.list().find(bn=>bn.id===$n.firstMessageId);if(xt===void 0||!qa(xt)||xt.recalled!==void 0||xt.deletedForEveryone!==void 0)return k=Object.freeze({state:"unavailable",count:q}),!1;let ct=g;return g=le,Le=!0,ct.dispose(),h.add(le.window),X=$n.firstMessageId,S=$n,k=Object.freeze({state:"located",count:q,firstMessageId:$n.firstMessageId}),L=void 0,!0}catch(ze){let gn=ze instanceof Pa$1?ze.cause:ze;if(be()){let Nn=gi(gn,"history.loadEntryUnread",o);k=Object.freeze({state:"failed",count:q,error:Nn});}throw gn}})(),Bn=Promise.race([Co,xe]).finally(()=>{Ie.signal.removeEventListener("abort",Qt),p.signal?.removeEventListener("abort",Zt),ae.signal.removeEventListener("abort",Ot),Le||le.dispose(),er?.(),Ce?.controller===Ie&&(Ce=void 0),D||je();});return Ce={version:b,callerSignal:p.signal,controller:Ie,promise:Bn},Bn}async function Un(){if($){let R=new Map,N=n.domainState.getLoadedMessagesByConversation(o);for(let le of [j,...N])le!==void 0&&R.set(le.id,n.domainState.getConversationMessage(o,le.id)??le);let ee=[...R.values()].sort((le,Ie)=>le.sortKey.localeCompare(Ie.sortKey));return Pe(ee),j?.id}let p=O,b=n.domainState.createMessageWindow(m);try{let R=await b.window.open(o,{limit:u$1});if(Z(),R.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(ge(b.window)){let ee=await b.window.loadOlder({limit:u$1,establishLatestOnly:!0});if(Z(),ee.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==O)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");Pe(b.window.list()),$=!0;let N=b.window.list();return a.resolveReadMessageId===void 0?N.at(-1)?.id:a.resolveReadMessageId(N)}finally{b.dispose();}}async function tt(){let p=n.domainState.getSession(o),b=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),R=n.domainState.getReadState(o),N=R?.readCursor,le=(N===void 0||N===""?void 0:o.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(o).find(Ie=>Ie.extensions?.historyCursor===N):n.domainState.getConversationMessage(o,N))?.sortKey??R?.readCursorSortKey;if(S=await fi({conversation:o,pageSize:u$1,unreadCount:b,...le===void 0?{}:{readCursorSortKey:le},signal:ae.signal,...o.conversationType!=="channel"||N===void 0||N===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Ie=>{let be=g.window.getRevision(),he=()=>!D&&!ae.signal.aborted&&g.window.getRevision()===be,ve=await n.loadEntryUnreadPage({readCursor:N,...Ie===void 0?{}:{cursor:Ie},signal:ae.signal,isCurrent:he});if(ae.signal.throwIfAborted(),!he())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return ve}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:Te,openAt:(Ie,be)=>{if(be===void 0&&o.conversationType==="channel"&&N!==void 0&&N!==""&&n.loadEntryUnreadPage!==void 0)return Promise.resolve();s=false;let he=be?.messages.map(Be=>n.domainState.getConversationMessage(o,Be.id)??Be),ve=be?.messages.find(Be=>Be.sortKey===Ie)?.id,Le=ve===void 0?Ie:he?.find(Be=>Be.id===ve)?.sortKey??Ie;return B(`entry-unread:${Ie}`,()=>g.window.openAt(o,{anchorSortKey:Le,limit:u$1,...be===void 0?{}:{seedMessages:he,seedHasNewer:be.hasNewer,seedRemotePagination:be.nextCursor===void 0?{}:{newerCursor:be.nextCursor}}}))},loadOlder:()=>B("entry-unread:older",()=>g.window.loadOlder({limit:u$1})),loadNewer:()=>B("entry-unread:newer",()=>g.window.loadNewer({limit:u$1}))}),S.state==="located"&&g.window.info().remotePagination===true){let Ie=S.firstMessageId,be=g.window.list().find(ve=>ve.id===Ie);be!==void 0&&await B("entry-unread:context",async()=>(await z(g.window,be,()=>{ae.signal.throwIfAborted(),Z();}),{conversationId:o.conversationId,messages:g.window.list(),stale:false}));let he=g.window.list().find(ve=>ve.id===Ie);(he===void 0||!qa(he)||he.recalled!==void 0||he.deletedForEveryone!==void 0)&&(S=Object.freeze({state:"unavailable"}));}}let Ye=n.emitter.subscribe(p=>{if(!(D||!("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")&&(ae.abort(),G+=1,S=Object.freeze({state:"none"}),T&&(k=Object.freeze({state:"none"})),O+=1,de?.dispose(),de=void 0,$=false,j=void 0),p.type==="message:received"&&p.source==="live"&&(T&&v.add(p.message.id),$&&(j===void 0||p.message.sortKey>j.sortKey)&&(a.resolveReadMessageId===void 0||a.resolveReadMessageId([p.message])===p.message.id)&&(j=p.message)),p.type==="draft:updated"||p.type==="draft:cleared"){let b=p.type==="draft:updated"?p.draft:null;for(let R of y$1)try{R(b);}catch(N){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:N}});}}je();}});function Ne(){return c.initialPosition==="first-unread"?tt():Te()}let Cn=()=>{ae.abort(c.signal?.reason),g.dispose();};c.signal?.addEventListener("abort",Cn,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await B("initial:local",()=>g.window.open(o,{limit:u$1})),c.signal?.throwIfAborted(),W(),s=!0;try{await Ne();}catch(p){if(c.signal?.throwIfAborted(),p instanceof Pa$1)throw p;L=gi(p,"history.initial",o),c.initialPosition==="first-unread"&&(S=Object.freeze({state:"unavailable"}));}finally{s=!1;}}else await Ne();c.signal?.throwIfAborted();}catch(p){throw D=true,ae.abort(),Ye(),P.clear(),g.dispose(),p instanceof Pa$1?p.cause:p}finally{c.signal?.removeEventListener("abort",Cn);}i=false,Ue();function dn(p,b){let R=n.domainState.getConversationMessage(o,p);return R!==void 0&&R.conversationType===o.conversationType&&R.conversationId===o.conversationId?{ok:true,message:jt(R)}:{ok:false,error:re({code:R===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o})}}async function rn(p,b,R){let N=await a.getSendPermissionError?.(p);if(Z(),N!==void 0){if(R===void 0)return {ok:false,error:N};let ee=await R(N);return Z(),ee}try{let ee=await b();return Z(),ee}catch(ee){if(D)throw ee;return {ok:false,error:St(ee,p,o)}}}async function Tn(p,b={}){let R="name"in p?p.name:void 0,N=b.fileName??(typeof R=="string"&&R!==""?R:void 0);return {...o,data:p,...p.type===""?{}:{mimeType:p.type},...N===void 0?{}:{filename:N},...o.conversationType==="robot"?{encrypted:false}:{},...b.localPreviewUrl===void 0?{}:{localPreviewUrl:b.localPreviewUrl},...b.localPreviewMetadata===void 0?{}:{localPreviewMetadata:b.localPreviewMetadata},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}}}function qn(p){return p===void 0||Number.isFinite(p.width)&&p.width>0&&Number.isFinite(p.height)&&p.height>0}function Kn(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<=jm)}function it(p){return p!==void 0&&"duration"in p&&p.duration!==void 0&&Number.isFinite(p.duration)&&p.duration>0}function Re(p,b,R){return {ok:false,error:re({code:p,category:b,operation:R,retryable:false,conversation:o})}}function Wn(p,b){if(p===null||typeof p!="object"||p.kind!==b||!Number.isSafeInteger(p.width)||p.width<=0||p.width>al||!Number.isSafeInteger(p.height)||p.height<=0||p.height>al)return false;let R;try{R=new URL(p.url);}catch{return false}if(R.protocol!=="http:"&&R.protocol!=="https:"||R.username!==""||R.password!=="")return false;let N=p.resourceId;if(N!==void 0&&(typeof N!="string"||N.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(p,"packageId");let ee=p.packageId;return typeof N=="string"&&N.trim()!==""&&typeof ee=="string"&&ee.trim()!==""}function fn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function _r(p,b,R){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:b});throw fn(re({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:R,retryable:false,conversation:o,details:{targetConversationType:p,targetConversationId:b}}))}async function Dr(p,b,R){let N;try{N=await n.forwardMessages({messages:b,targets:R.map(ee=>({...ee}))});}catch(ee){throw fn(St(ee,p,o))}return Z(),Object.freeze({sent:Object.freeze(N.results.flatMap(ee=>ee.ok?[{conversation:_r(ee.targetConversationType,ee.targetConversationId,p),messageId:ee.newMessageId}]:[])),failed:Object.freeze(N.results.flatMap(ee=>ee.ok?[]:[{sourceMessageId:ee.sourceMessageId,conversation:Object.freeze({conversationType:ee.targetConversationType,conversationId:ee.targetConversationId}),error:re({...Vm[ee.reason],operation:p,conversation:{conversationType:ee.targetConversationType,conversationId:ee.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...N.skippedSourceIds])})}function at(p,b){let R=n.domainState.getConversationMessage(o,p);if(R===void 0){let N=n.domainState.getMessagesById(p)[0];throw fn(re({code:N===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}))}if(R.conversationType!==o.conversationType||R.conversationId!==o.conversationId)throw fn(re({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}));return R}function yt(p,b){return fn(re({...b,operation:p,conversation:o}))}function kt(p,b){let R=re({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),R,{name:"ImLocalMessageDeletionError"})}function st(p,b){let R=re({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),R,{name:"ImLocalConversationHistoryClearError"})}function kr(){if(D)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(M!==void 0)return M;n.invalidateHistory?.(o);let p=[..._.values()],b=Promise.all(p).then(async()=>{Z();let R=[...n.domainState.getMessagesByConversation(o),...g.window.list()];if(n.hasOutboxForConversation(o)||R.some(N=>n.isOutboxOwned(N.id)))throw st("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(R.some(N=>N.status==="pending"||N.status==="uploading"||N.status==="sending"))throw st("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(o),Z(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(R=>{throw R instanceof Error&&R.name==="ImLocalConversationHistoryClearError"?R:st("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",R)}).finally(()=>{M===b&&(M=void 0);});return M=b,b}async function Yt(p,b){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(o,p);}catch(R){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${b}\uFF09`,cause:R}});}}async function H(p,b,R,N,ee){return rn(p,async()=>{if(b==="image"){let he=await to(R);if(Z(),!he)return Re("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let le=await Tn(R,N);if(Z(),b!==void 0&&le.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let he=new AbortController,ve=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++f}`,kind:b,file:R,signal:he.signal});if(Z(),ve===void 0||(b==="image"?!qn(ve):!Kn(ve)))return Re(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);le.localPreviewMetadata=ve;}if(b==="video"&&(n.prepareMediaPreview!==void 0||le.localPreviewMetadata!==void 0)&&!it(le.localPreviewMetadata))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let Ie=a.recheckSendPermissionError?.(p);if(Ie!==void 0)return {ok:!1,error:Ie};let be=await ee({...le,...N.filesAlbum===void 0?{}:{filesAlbum:N.filesAlbum},...N.caption===void 0||N.caption===""?{}:{caption:N.caption}});return be.ok?(Z(),dn(be.messageId,p)):{ok:!1,error:Ir(be.reason,p,o)}})}async function ho(p,b){let R="messages.sendMediaAlbum";if(p.length===0)return Re("IM_SDK_MEDIA_ALBUM_EMPTY","validation",R);if(p.length>q$1)return Re("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",R);if(b.caption!==void 0&&Array.from(b.caption).length>p$1)return Re("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",R);for(let N of p){if(N.file.type==="image/gif")return Re("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",R);if(N.kind==="image"){if(N.file.size>il)return Re("IM_SDK_IMAGE_TOO_LARGE","validation",R);if(!qn(N.localPreviewMetadata))return Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",R)}else {if(N.file.size>yi)return Re("IM_SDK_VIDEO_TOO_LARGE","validation",R);if(!Kn(N.localPreviewMetadata))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",R)}}return rn(R,async()=>{for(let be of p){if(be.kind!=="image")continue;let he=await to(be.file);if(Z(),!he)return Re("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",R)}let N=await Promise.all(p.map(async be=>{if(be.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return be.localPreviewMetadata;let he=new AbortController;return n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${R}:${++f}`,kind:be.kind,file:be.file,signal:he.signal})}));Z();let ee=[];for(let[be,he]of p.entries()){let ve=N[be];if(he.kind==="image"&&!qn(ve))return Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",R);if(he.kind==="video"){if(!Kn(ve))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",R);if(n.prepareMediaPreview!==void 0&&!it(ve))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",R)}let Le="name"in he.file?he.file.name:void 0;ee.push({kind:he.kind,data:he.file,...he.file.type===""?{}:{mimeType:he.file.type},...typeof Le=="string"&&Le!==""?{filename:Le}:{},...he.localPreviewUrl===void 0?{}:{localPreviewUrl:he.localPreviewUrl},...ve===void 0?{}:{localPreviewMetadata:ve}});}let le=a.recheckSendPermissionError?.(R);if(le!==void 0)return {ok:!1,error:le};let Ie=await n.sendMediaAlbum({...o,items:ee,...b.caption===void 0||b.caption.trim()===""?{}:{caption:b.caption},...b.hd===void 0?{}:{hd:b.hd},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Ie.ok?(Z(),dn(Ie.messageId,R)):{ok:!1,error:Ir(Ie.reason,R,o)}})}function Or(p,b,R){let N=at(p,R);if(!(N.contentType===b||b==="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 fn(re({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:o}));return N}async function Dn(p,b,R,N,ee,le){return Or(b,R,p),rn(p,async()=>{let Ie=await Tn(N,ee);if(R==="video"&&Ie.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let ve=new AbortController,Le=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++f}`,kind:"video",file:N,signal:ve.signal});if(Z(),Le===void 0||!Kn(Le))return Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);Ie.localPreviewMetadata=Le;}if(R==="video"&&(n.prepareMediaPreview!==void 0||Ie.localPreviewMetadata!==void 0)&&!it(Ie.localPreviewMetadata))return Re("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let be=a.recheckSendPermissionError?.(p);if(be!==void 0)return {ok:!1,error:be};Or(b,R,p);let he=await le(b,{...Ie,...ee.caption===void 0||ee.caption===""?{}:{caption:ee.caption}});return he.ok?(Z(),dn(he.messageId,p)):{ok:!1,error:Ir(he.reason,p,o)}})}let Xt={ref:o,getSnapshot:_n,subscribe(p){return Z(),P.add(p),()=>P.delete(p)},resolveMessage:async p=>{Z();let b=g.window.list().find(R=>R.id===p)??await n.domainState.resolveConversationMessage(o,p);return b===void 0?null:cn(b)},history:{loadEntryUnread:p=>xn(p),loadLatest:async()=>Oe(),loadOlder:async()=>(Z(),G+=1,B("older",()=>g.window.loadOlder({limit:u$1}))),loadNewer:async()=>{Z(),G+=1,await B("newer",()=>g.window.loadNewer({limit:u$1})),Z(),g.window.info().hasNewer||(W(),je());},loadAround:async p=>{Z();let b=++G;if(M===void 0&&o.conversationType==="channel"&&C.has(g.window)&&n.domainState.getPinnedMessage(o)?.messageId===p&&g.window.list().some(ve=>ve.id===p&&Wt(ve)))return;let R=g,N=()=>!D&&G===b&&g===R,ee=()=>{if(Z(),!N())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},le=await Rn(p,ee);if(ee(),le===void 0||le.anchor.conversationType!==o.conversationType||le.anchor.conversationId!==o.conversationId)throw Km(o,p);let Ie=n.domainState.createMessageWindow(m),be=Ie.window,he=false;try{await B(`around:${p}:${b}`,async()=>(ee(),Vn(be,le,ee,!0)),{window:be,isCurrent:N}),ee(),g=Ie,le.remoteSeed!==void 0&&C.add(be),he=!0,R.dispose(),je();}finally{he||Ie.dispose();}},clearLocal:async()=>(Z(),kr())},messages:{sendText:async(p,b={})=>{Z();let R=r(o,p,b);if("code"in R)return {ok:false,error:R};let N=n.domainState.getDraft(o)?.updatedAt;return rn("messages.sendText",async()=>{let ee=await n.sendText(R);return Z(),await Yt(N,"messages.sendText"),dn(ee.id,"messages.sendText")},async ee=>{let le=a.appendTextPermissionFailure?.(R);return le===void 0?{ok:false,error:ee}:(await Yt(N,"messages.sendText"),{ok:true,message:jt(le)})})},sendContact:async(p,b={})=>{Z();let R=p.targetId.trim(),N=p.displayName.trim();if(R===""||N==="")return {ok:false,error:re({code:R===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:o})};let ee={...o,contact:{...p,targetId:R,displayName:N},encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return rn("messages.sendContact",async()=>{let le=await n.sendContact(ee);return dn(le.id,"messages.sendContact")})},sendImage:async(p,b={})=>(Z(),p.size>il?Re("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?Re("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):qn(b.localPreviewMetadata)?H("messages.sendImage","image",p,b,n.sendImage):Re("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,b={})=>(Z(),ho(p,b)),sendVideo:async(p,b={})=>(Z(),p.size>yi?Re("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):Kn(b.localPreviewMetadata)?H("messages.sendVideo","video",p,b,n.sendVideo):Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,b,R={})=>(Z(),b.size>yi?Re("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):Kn(R.localPreviewMetadata)?Dn("messages.replaceInterruptedVideo",p,"video",b,R,n.replaceVideo):Re("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(p,b)=>(Z(),rn("messages.sendVoice",async()=>{let R=await Tn(p,b),N=a.recheckSendPermissionError?.("messages.sendVoice");if(N!==void 0)return {ok:!1,error:N};let ee=await n.sendVoice({...R,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return ee.ok?(Z(),dn(ee.messageId,"messages.sendVoice")):{ok:!1,error:Ir(ee.reason,"messages.sendVoice",o)}})),sendFile:async(p,b={})=>{if(Z(),p.size>ol)return Re("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&Array.from(b.caption).length>p$1)return Re("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let R=b.fileName??("name"in p?p.name:void 0);return typeof R!="string"||R.trim()===""?Re("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):H("messages.sendFile",void 0,p,b,n.sendFile)},sendGif:async(p,b={})=>(Z(),p.size>Bm?Re("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await zm(p)?H("messages.sendGif",void 0,p,b,R=>n.sendGif(R)):Re("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,b={})=>(Z(),Wn(p,"sticker")?rn("messages.sendSticker",async()=>{let R=await n.sendExpression({...o,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendSticker")}):Re("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,b={})=>(Z(),Wn(p,"gif")?rn("messages.sendGifAsset",async()=>{let R=await n.sendExpression({...o,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendGifAsset")}):Re("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,b={})=>(Z(),p!=="rock-paper-scissors"&&p!=="dice"?Re("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):rn("messages.sendGame",async()=>{let R=await n.sendGame({...o,gameType:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendGame")})),sendMiniProgram:async(p,b={})=>(Z(),w$1(p)?rn("messages.sendMiniProgram",async()=>{let R=await n.sendMiniProgram({...o,miniProgram:p,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendMiniProgram")}):Re("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,b={})=>(Z(),o.conversationType==="channel"||o.conversationType==="robot"?Re("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):y(p)?rn("messages.sendTransfer",async()=>{let R=await n.sendTransfer({...o,transfer:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendTransfer")}):Re("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,b={})=>(Z(),o.conversationType==="channel"||o.conversationType==="robot"?Re("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):t$1(p)?rn("messages.sendGift",async()=>{let R=await n.sendGift({...o,gift:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendGift")}):Re("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),sendLiveRoom:async(p,b={})=>(Z(),u(p)?rn("messages.sendLiveRoom",async()=>{let R=await n.sendLiveRoom({...o,liveRoom:p,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return dn(R.id,"messages.sendLiveRoom")}):Re("IM_SDK_LIVE_ROOM_BODY_INVALID","validation","messages.sendLiveRoom")),toggleReaction:async(p,b)=>{Z(),at(p,"messages.toggleReaction");let R=await n.setReaction({conversation:o,parentMessageId:p,emoji:b,action:"toggle"});if(Z(),!R.ok)throw yt("messages.toggleReaction",nl[R.reason]);return Object.freeze({messageId:p,eventId:R.event.id,emoji:R.event.emoji,action:R.event.action===0?"add":"remove"})},setReaction:async(p,b,R)=>{Z(),at(p,"messages.setReaction");let N=await n.setReaction({conversation:o,parentMessageId:p,emoji:b,action:R});if(Z(),!N.ok)throw yt("messages.setReaction",nl[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,b,R={})=>{if(Z(),b.size>ol)return Re("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(R.caption!==void 0&&R.caption!=="")return Re("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let N=R.fileName??("name"in b?b.name:void 0);return typeof N!="string"||N.trim()===""?Re("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Dn("messages.replaceInterruptedFile",p,"file",b,{...R,fileName:N},n.replaceFile)},editText:async(p,b,R={})=>{Z(),at(p,"messages.editText"),fo(n.domainState,o,p,"messages.editText");let N=d(o,p,b,R);if("code"in N)throw fn(N);let ee;try{ee=await n.editMessage(N);}catch(le){throw fn(St(le,"messages.editText",o))}if(Z(),!ee.ok)throw yt("messages.editText",Um[ee.reason]);return jt(at(p,"messages.editText"))},recall:async p=>{Z(),at(p,"messages.recall"),fo(n.domainState,o,p,"messages.recall");let b;try{b=await n.recallMessage({...o,messageId:p});}catch(R){throw fn(St(R,"messages.recall",o))}if(Z(),!b.ok)throw yt("messages.recall",Fm[b.reason])},deleteLocal:async p=>{Z(),fo(n.domainState,o,p,"messages.deleteLocal");let b=n.domainState.getConversationMessage(o,p);if(n.isOutboxOwned(p))throw kt("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===o.conversationType&&b.conversationId===o.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw kt("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(o);let R=await n.domainState.deleteLocalMessage(o,p);return Z(),Object.freeze({scope:"local-only",messageId:p,deleted:R,remoteHistory:"remote-history-may-restore"})}catch(R){throw R instanceof Error&&"code"in R&&R.code==="IM_MESSAGE_PINNED"?kt("IM_SDK_MESSAGE_PINNED",R):R instanceof Error&&R.name==="ImLocalMessageDeletionError"?R:kt("IM_SDK_LOCAL_DELETE_FAILED",R)}},forward:async(p,b)=>{if(Z(),p.length===0||b.length===0)throw fn(re({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:o}));return Dr("messages.forward",p.map(R=>({id:R,...o})),b)},forwardMediaAlbumItem:async(p,b,R)=>{Z();let N="messages.forwardMediaAlbumItem";if(p.trim()===""||R.length===0)throw fn(re({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:N,retryable:false,conversation:o}));if(!Number.isInteger(b)||b<0)throw fn(re({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:N,retryable:false,conversation:o,details:{itemIndex:b}}));return Dr(N,[{id:p,...o,itemIndex:b}],R)},fetchByIds:async p=>{Z();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw fn(re({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:o}));let R=n.beginReceiving?.();try{let N=await el({messageIds:p,fetchBatch:b,isCurrent:()=>!D,projectMessage:cn});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{R?.();}}},draft:{get:async()=>(Z(),n.drafts.get(o)),save:async p=>(Z(),n.drafts.save(o,p)),clear:async()=>{Z(),await n.drafts.clear(o);},subscribe(p){return Z(),y$1.add(p),()=>y$1.delete(p)}},markRead:async p=>{Z();let b=g.window.list();if(p!==void 0&&!b.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 R=a.resolveReadMessageId===void 0?p??b.at(-1)?.id:a.resolveReadMessageId(b,p);R!==void 0&&await n.markRead({...o,readCursor:R});},markConversationRead:async()=>{if(Z(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=O,b=await Un();if(Z(),p!==O)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(o.conversationType==="channel"&&b===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(b!==void 0&&n.domainState.getConversationMessage(o,b)===void 0){let R=j?.id===b?j:void 0;if(R===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");de??=n.domainState.createMessageWindow({retention:{maxMessages:u$1}});let N=await de.window.openAt(o,{anchorSortKey:R.sortKey,limit:u$1,seedMessages:[R],seedHasNewer:false});if(Z(),N.stale||p!==O)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(o,b);},markVisibleMessages:async p=>{if(Z(),n.markVisibleMessages===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u80FD\u529B");let b=[...new Set(p)];if(b.some(R=>!g.window.list().some(N=>N.id===R)))throw new Error("\u53EF\u89C1\u56DE\u6267\u5305\u542B\u5F53\u524D\u8FDE\u7EED\u7A97\u53E3\u4E4B\u5916\u7684\u6D88\u606F");b.length>0&&await n.markVisibleMessages(o,b);},setMuted:async p=>(Z(),n.setMuted(o,p)),close(){D||(D=true,ae.abort(),G+=1,Ye(),P.clear(),y$1.clear(),de?.dispose(),g.dispose());}};return Ii.set(Xt,{getMessages:()=>(Z(),g.window.list()),resolveMessage:async p=>(Z(),g.window.list().find(b=>b.id===p)??n.domainState.resolveConversationMessage(o,p))}),Xt}var qm=5e3;async function sl(e,n,r={}){let d=false,a,c;function o(){let C=Date.now();if(a!==void 0&&C-a.checkedAt<qm)return Promise.resolve(a.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(P=>(a={value:P,checkedAt:Date.now()},P)).catch(P=>(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:P}}),a={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===h&&(c=void 0);});return c=h,h}async function u(C){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 re({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&o();let m=await yo(e,n,(C,h,P)=>P.mentions!==void 0&&P.mentions.length>0?re({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:h,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}},(C,h,P,y)=>y.mentions!==void 0&&y.mentions.length>0?re({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:h,text:P},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...m,messages:{...m.messages,async markMediaConsumed(C){let h=n.domainState.getConversationMessage(e,C);if(h===void 0||h.senderId===n.getSelfId()||h.contentType!=="voice"&&h.contentType!=="video"){let P=re({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(P.code),P)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return go(g,m),g}async function cl(e,n,r={}){return yo(e,n,(d,a,c)=>{let o=Ar(c.mentions);return {...d,text:a,encrypted:true,...o===void 0?{}:{mention:o},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,a,c,o)=>{let u=Ar(o.mentions);return {...d,messageId:a,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&&ll(d,n.pageSize??30)},r)}async function dl(e,n,r={}){return yo(e,n,(d,a,c)=>c.mentions!==void 0&&c.mentions.length>0?re({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:a,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,a,c,o)=>o.mentions!==void 0&&o.mentions.length>0?re({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:a,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Wm=new Set(["pending","uploading","sending"]);function ll(e,n){return e.length<n}function Wt(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function $m(e,n,r){let d=r===void 0?e.length-1:e.findIndex(o=>o.id===r),a=e[d];if(a===void 0||Wt(a))return a?.id;let c=e.slice(0,d).findLast(o=>Wt(o));return c!==void 0?c.id:a.senderId===n&&Wm.has(a.status)?void 0:a.id}function Jm(e,n){let r=false;for(let d of e){let a=d.body.system;if(!(d.conversationType!=="channel"||a?.targetUserIds?.includes(n)!==true)){if(a.eventType==="channel_member_left"||a.eventType==="channel_member_removed"){r=true;continue}if(r&&(a.eventType==="channel_member_joined"||a.eventType==="channel_member_invited"))return true}}return false}async function ul(e,n,r={}){let d=await yo(e,n,(c,o,u)=>{let m=Ar(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=Ar(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&&ll(c,n.pageSize??30)||Jm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,o)=>$m(c,n.getSelfId(),o)},r),a={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw rl(e,tl["not-found"]);fo(n.domainState,e,c,"messages.deleteForEveryone");let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(m){let g=St(m,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:m}),g)}if(!u.ok)throw rl(e,tl[u.reason])}}};return go(a,d),a}var Ym=40,Xm=100,Qm=0;function ft(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Zm(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function pl(e){let n=++Qm,r=new Map,d=new Map,a=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 C(I){let D=I??Ym;if(!Number.isSafeInteger(D)||D<1||D>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return D}function h(I){let D=`im-directory:${n}:${++u}`;return r.set(D,I),D}function P(I,D){let s=o.get(I);s===void 0&&(s=new Map,o.set(I,s));let i=D.map(f=>Object.freeze({...f}));for(let f of i)s.set(f.id,f);return Object.freeze(i)}async function y(I,D,s){if(g(),e.provider===void 0)throw new Error(`${ft(I)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let i=await e.provider.list({kind:I,page:D,pageSize:s});if(g(),i.exhausted===(i.nextPage!==void 0))throw new Error(`${ft(I)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let f=i.nextPage===void 0?void 0:h({kind:I,page:i.nextPage,pageSize:s}),S=P(I,i.items);return Object.freeze({items:S,...f===void 0?{}:{nextPageToken:f},exhausted:i.exhausted})}function _(I){return {listFirstPage:D=>y(I,1,C(D?.pageSize)),listNextPage:D=>{g();let s=r.get(D);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==I)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${ft(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${ft(I)}`));let i=d.get(D);if(i!==void 0)return i;let f=y(I,s.page,s.pageSize).then(S=>(r.delete(D),S)).finally(()=>{d.delete(D);});return d.set(D,f),f}}}function M(I){g();let D=a.get(I);if(D!==void 0)return Promise.resolve(D);let s=c.get(I);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${ft(I)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let i=(async()=>{let f=[],S=new Map,T=new Set,K=1;for(;;){if(g(),T.has(K))throw new Error(`${ft(I)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);T.add(K);let Y=await e.provider.list({kind:I,page:K,pageSize:Xm});if(g(),Y.exhausted===(Y.nextPage!==void 0))throw new Error(`${ft(I)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let ue of Y.items)S.has(ue.id)||f.push(ue.id),S.set(ue.id,ue);if(Y.nextPage===void 0)break;if(!Number.isSafeInteger(Y.nextPage)||Y.nextPage<1)throw new Error(`${ft(I)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);K=Y.nextPage;}let q=P(I,f.map(Y=>S.get(Y)));return g(),a.set(I,q),q})().finally(()=>{c.delete(I);});return c.set(I,i),i}async function L(I){if(g(),I.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[D,s,i,f]=await Promise.all([M("individual"),M("group"),M("channel"),pa(I)]);g();function S(K,q){let Y=[];for(let ue of q){let ye=ue==="displayName"?K.displayName:ue==="username"?K.username:K.id;if(ye===void 0||ye==="")continue;let v=f.match(ye,{pinyin:ue==="displayName"});v!==null&&Y.push(Zm(ue,v));}return Y.length===0?null:Object.freeze({item:K,matches:Object.freeze(Y)})}function T(K,q){return Object.freeze(K.flatMap(Y=>{let ue=S(Y,q);return ue===null?[]:[ue]}))}return Object.freeze({keyword:f.keyword,contacts:T(D,["displayName","username","id"]),groups:T(s,["displayName"]),channels:T(i,["displayName"])})}return {contacts:_("individual"),groups:_("group"),channels:_("channel"),search:{search:L},peekItem:(I,D)=>(g(),o.get(I)?.get(D)),dispose:()=>{m=false,r.clear(),d.clear(),a.clear(),c.clear(),o.clear();}}}function ef(e){if(e.conversationType==="supergroup")throw re({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw re({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Io(e){return ef(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function nf(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw re({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 ml(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(a){return r(),e.domainState.getDraft(Io(a))},async save(a,c){r();let o=Io(a);return e.domainState.saveDraft(o,nf(o,c))},async clear(a){r(),await e.domainState.clearDraft(Io(a));},subscribe(a,c){r();let o=Io(a),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 a of [...n])a();}}}var tf=20,fl=50,gl=30,yl=4294967295;function _t(e){let n=re(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function hn(e,n){return _t({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Il(e,n){if(n instanceof x)return _t({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 _t({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return _t({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 _t({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 _t({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function et(e,n,r){if(typeof e!="string"||e.trim()==="")throw hn(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function rf(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 of(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw hn(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function af(e,n,r){let d=et(e,n,r),a;try{a=new URL(d);}catch{throw hn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(a.protocol!=="https:"&&a.protocol!=="http:")throw hn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(a.username!==""||a.password!=="")throw hn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function vl(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>yl)throw hn(r,`${n} \u5FC5\u987B\u662F 1-${yl} \u7684\u6574\u6570`);return Number(e)}function Sl(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw hn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:af(e.url,"url",n),width:vl(e.width,"width",n),height:vl(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:et(e.packageId,"packageId",n),resourceId:et(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw hn(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:et(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function sf(e,n){if(e===null||typeof e!="object")throw hn(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:et(e.token,"token",n),resourceId:et(e.resourceId,"resourceId",n)}:Sl(e,n)}function cf(e,n){if(e!=="sticker"&&e!=="gif")throw hn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function df(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw hn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function hl(e,n){if(!Array.isArray(e))throw hn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>et(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw hn(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>gl)throw hn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${gl} \u4E2A id`);return r}function Cl(e,n){let r=e?.offset??0,d=e?.pageSize??tf;if(!Number.isSafeInteger(r)||r<0)throw hn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>fl)throw hn(n,`pageSize \u5FC5\u987B\u662F 1-${fl} \u7684\u6574\u6570`);return {offset:r,limit:d}}function bl(e){return Object.freeze({...e})}function lf(e){return Object.freeze({...e})}function Ml(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 Pl(e){function n(a){if(!e.isActive())throw _t({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function r(a,c){if(n(a),e.provider===void 0)throw Il(a,new x("core"));let o;try{o=await c(e.provider);}catch(u){throw n(a),Il(a,u)}return n(a),o}let d={packs:Object.freeze({list:async a=>{let c="expressions.packs.list",o=a?.version===void 0?void 0:of(a.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 a=>{let c="expressions.packs.listItems",o=et(a,"packageId",c),u=await r(c,m=>m.listStickerItems(o));return Object.freeze(u.map(bl))}}),favorites:Object.freeze({list:async a=>{let c="expressions.favorites.list",o=await r(c,u=>u.listFavorites(cf(a,c)));return Object.freeze(o.map(bl))},add:async a=>{let c="expressions.favorites.add",o=Sl(a,c);await r(c,u=>u.addFavorite(o));},delete:async a=>{let c="expressions.favorites.delete",o=hl(a,c);await r(c,u=>u.deleteFavorites(o));}}),recent:Object.freeze({list:async a=>{let c="expressions.recent.list",o=await r(c,u=>u.listRecent(df(a,c)));return Object.freeze(o.map(lf))},report:async a=>{let c="expressions.recent.report",o=sf(a,c);await r(c,u=>u.reportRecent(o));},delete:async a=>{let c="expressions.recent.delete",o=hl(a,c);await r(c,u=>u.deleteRecent(o));}}),reactions:Object.freeze({listTop:async a=>{let c="expressions.reactions.listTop",o=a?.limit;if(o!==void 0&&(!Number.isSafeInteger(o)||o<1||o>50))throw hn(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=>rf(g,"reaction emoji")))})},report:async a=>{let c="expressions.reactions.report",o=et(a,"emoji",c);await r(c,u=>u.reportReaction(o));}}),giphy:Object.freeze({trending:async a=>{let c="expressions.giphy.trending",o=await r(c,u=>u.listGiphyTrending(Cl(a,c)));return Ml(o)},search:async(a,c)=>{let o="expressions.giphy.search",u=et(a,"query",o),m=await r(o,g=>g.searchGiphy({query:u,...Cl(c,o)}));return Ml(m)}})};return {api:Object.freeze(d)}}function Dt(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?re({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):re({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function Rl(e){return {createRoom(n){Dt("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Dt("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Dt("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Dt("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Dt("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Dt("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Dt("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var uf=0;function wl(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 pf(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 mf(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 El(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 ff(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function Al(e){let n=++uf,r=new Map,d=new Map,a=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 L=M??20;if(!Number.isSafeInteger(L)||L<1||L>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return L}function g(M){let L=`im-robots:${n}:${++c}`;return r.set(L,M),L}function C(M){return Object.freeze(M.map(L=>{let I=wl(L);return a.set(I.id,I),I}))}function h(M,L){let I=a.get(M);I!==void 0&&a.set(M,wl({id:I.id,displayName:I.displayName,...I.username===void 0?{}:{username:I.username},...I.avatarUrl===void 0?{}:{avatarUrl:I.avatarUrl},bound:L}));}async function P(M,L){u();let I=L?e.bind:e.unbind;if(I===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await I(ff(M)),u(),h(M.robotId,L);}async function y(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 L=await e.search(mf(M));u();let I=C(L.items),D=L.exhausted?void 0:g({...M,page:M.page+1});return Object.freeze({items:I,...D===void 0?{}:{nextPageToken:D},exhausted:L.exhausted})}return {api:{listFirstPage:M=>{try{let L=pf(M?.scope??{kind:"catalog"});return y({page:1,pageSize:m(M?.pageSize),keyword:M?.keyword?.trim()??"",scope:L})}catch(L){return Promise.reject(L)}},listNextPage:M=>{u();let L=r.get(M);if(L===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let I=d.get(M);if(I!==void 0)return I;let D=y(L).then(s=>(r.delete(M),s)).finally(()=>{d.delete(M);});return d.set(M,D),D},bindToConversation:M=>{try{return P(El(M),!0)}catch(L){return Promise.reject(L)}},unbindFromConversation:M=>{try{return P(El(M),!1)}catch(L){return Promise.reject(L)}}},peek:M=>{let L=M.trim();return L===""?void 0:a.get(L)},dispose:()=>{o=false,r.clear(),d.clear(),a.clear();}}}var gf=30,yf=300*1e3,If=64,vf=900*1e3,hf=2048,Cf=0;function bf(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,a=[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&&a.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(a)}function nt(e){let n=re({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 Tl(e){let n=e.now??(()=>Date.now()),r=e.pageSize??gf,d=e.tokenTtlMs??yf,a=e.maxTokens??If,c=e.anchorTtlMs??vf,o=e.maxAnchors??hf;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(a)||a<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(o)||o<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++Cf,m=new Map,g=new Map,C=0,h=true;function P(v){if(!h)throw nt({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:v,retryable:false});if(e.isAvailable?.()===false)throw nt({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:v,retryable:false})}function y(v,F){let X=v.trim();if(X==="")throw nt({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:F,retryable:false});return X}function _(v){let F=`im-search:${u}:${++C}`;for(m.set(F,{...v,expiresAt:n()+d});m.size>a;){let X=m.keys().next().value;if(typeof X!="string")break;m.delete(X);}return F}function M(v,F){return JSON.stringify([v.conversationType,v.conversationId,F])}function L(v){for(let[F,X]of g)X.expiresAt<=v&&g.delete(F);}function I(v,F){let X=Object.freeze({conversationType:v.conversationType,conversationId:v.conversationId}),E=M(X,v.id);for(g.delete(E),g.set(E,{anchor:Object.freeze({id:v.id,conversationType:v.conversationType,conversationId:v.conversationId,sortKey:v.sortKey}),expiresAt:F+c});g.size>o;){let k=g.keys().next().value;if(typeof k!="string")break;g.delete(k);}}function D(v,F){let X=F==="conversation"?"search.conversations.next":"search.messages.next";P(X);let E=m.get(v);if(E===void 0||E.expiresAt<=n())throw m.delete(v),nt({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:X,retryable:false});if(E.kind!==F)throw nt({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:X,retryable:false});return E}function s(v){let F=v.draft?.text.trim();return F===void 0||F===""?v.lastMessagePreview:F}function i(v){let F=Object.freeze({conversationType:v.type,conversationId:v.id});return Object.freeze({ref:F,title:v.title,preview:s(v)})}function f(v,F){let X=Object.freeze(v.slice(F,F+r)),E=F+X.length,k=E>=v.length,G=k?void 0:_({kind:"conversation",items:v,offset:E});return Object.freeze({items:X,...G===void 0?{}:{nextPageToken:G},exhausted:k})}async function S(v,F,X){P(X);let E=y(F,X).toLowerCase(),k=Object.freeze(e.domainState.getConversationList().filter(G=>(G.type==="direct"||G.type==="group"||G.type==="channel"||G.type==="robot")&&(v===void 0||G.type===v)&&`${G.title}
2
+ ${G.id}`.toLowerCase().includes(E)).map(i));return f(k,0)}function T(v,F,X){let E=v.conversationId.trim();if(v.conversationType!==F||E==="")throw nt({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:X,retryable:false});return Object.freeze({conversationType:F,conversationId:E})}function K(v,F){let X=v.conversationType,E=v.conversationId.trim();if(X!=="direct"&&X!=="group"&&X!=="channel"&&X!=="robot"||E==="")throw nt({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:X==="supergroup"?"unsupported":"validation",operation:F,retryable:false});return Object.freeze({conversationType:X,conversationId:E})}async function q(v){P("search.messages");let F;try{F=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(pe){throw nt({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:pe})}let X=new Set,E=[],k=n();L(k);for(let{message:pe}of F.results){if(pe.conversationType!==v.ref.conversationType||pe.conversationId!==v.ref.conversationId||pe.sortKey.trim()===""||v.contentTypes!==void 0&&!v.contentTypes.includes(pe.contentType))throw nt({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(X.has(pe.id))continue;X.add(pe.id),I(pe,k);let O=na$1(pe);E.push(Object.freeze({ref:v.ref,messageId:pe.id,senderId:pe.senderId,createdAt:l$1(pe),contentType:pe.contentType,preview:O,previewParts:bf(pe,O)}));}let G=F.nextBeforeSortKey?.trim();if(!F.exhausted&&(G===void 0||G==="")||F.exhausted&&G!==void 0)throw nt({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let Ce=G===void 0?void 0:_({kind:"message",ref:v.ref,...v.keyword===void 0?{}:{keyword:v.keyword},...v.contentTypes===void 0?{}:{contentTypes:v.contentTypes},beforeSortKey:G});return Object.freeze({items:Object.freeze(E),...Ce===void 0?{}:{nextPageToken:Ce},exhausted:F.exhausted})}async function Y(v,F,X,E){P(E);let k=T(v,F,E);return q({ref:k,keyword:y(X,E)})}async function ue(v,F,X,E){P(X);let k=K(v,X),G=E?.trim();return q({ref:k,...G===void 0||G===""?{}:{keyword:G},contentTypes:Object.freeze([F])})}return {api:{conversations:{all:v=>S(void 0,v,"search.conversations.all"),direct:v=>S("direct",v,"search.conversations.direct"),groups:v=>S("group",v,"search.conversations.groups"),channels:v=>S("channel",v,"search.conversations.channels"),async next(v){let F=D(v,"conversation");return f(F.items,F.offset)}},messages:{inDirect:(v,F)=>Y(v,"direct",F,"search.messages.inDirect"),inGroup:(v,F)=>Y(v,"group",F,"search.messages.inGroup"),inChannel:(v,F)=>Y(v,"channel",F,"search.messages.inChannel"),inRobot:(v,F)=>Y(v,"robot",F,"search.messages.inRobot"),texts:async(v,F)=>(P("search.messages.texts"),ue(v,"text","search.messages.texts",y(F,"search.messages.texts"))),files:(v,F)=>ue(v,"file","search.messages.files",F),images:v=>ue(v,"image","search.messages.images"),videos:v=>ue(v,"video","search.messages.videos"),voices:v=>ue(v,"voice","search.messages.voices"),async next(v){let F=D(v,"message");return q(F)}}},resolveHistoryAnchor(v,F){if(!h||e.isAvailable?.()===false)return;let X=M(v,F),E=g.get(X);if(E!==void 0){if(E.expiresAt<=n()){g.delete(X);return}return E.anchor}},dispose(){h&&(h=false,m.clear(),g.clear());}}}function _l(e){let n=new Map,r=new Set,d=new Map,a=new Set,c=false,o=e.schedule??(C=>{let h=setTimeout(C,120);return ()=>clearTimeout(h)});function u(C,h,P){try{e.report(C,h,P);}catch{}}async function m(C){let h={conversationType:"channel",conversationId:C};r.add(C);try{for(let P=0;P<2;P+=1){let y=n.get(C);if(c||!e.isActive()||y===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(C);return}if(e.domainState.hasPendingChannelRead(h)){a.add(C),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(C),e.domainState.getReadState(h)?.readCursor!==y)return;let M=e.domainState.getChannelReadRevision(h),L=Date.now(),I;try{I=await e.loadSummary({channelId:C,readCursor:y});}catch(D){!c&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-L,errorName:D instanceof Error?D.name:"Unknown",errorCode:typeof D=="object"&&D!==null&&"code"in D&&typeof D.code=="string"?D.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(C)||n.set(C,y),a.add(C);return}if(P===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===y){n.set(C,y);continue}return}if(I===void 0||I.readCursor!==y){u("channel-read-summary-discarded",h,{reason:I===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,I),n.get(C)===y&&n.delete(C),u("channel-read-summary-applied",h,{unreadCount:I.unreadCount,durationMs:Date.now()-L});return}}finally{r.delete(C),n.has(C)&&!a.has(C)&&g(C);}}function g(C){c||a.has(C)||r.has(C)||d.has(C)||d.set(C,o(()=>{d.delete(C),m(C);}));}return {settled(C){a.delete(C.channelId),n.has(C.channelId)&&g(C.channelId);},request(C){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||a.delete(C.channelId),n.set(C.channelId,C.readCursor),g(C.channelId));},dispose(){c=true;for(let C of d.values())C();d.clear(),n.clear(),a.clear();}}}function vo(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 Dl(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function a(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(a(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});}),a(c);},dispose(){r=true,e.clear(),d();}}}function kl(e,n){return {prepareLocalMediaPreview:async a=>{let c=await e.prepare({operationId:a.operationId,generation:n(),kind:a.kind,file:a.file,includePoster:a.kind==="video",...a.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},a.signal);return a.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 a=>{let c=await e.prepare({operationId:a.operationId,generation:n(),kind:"video",file:a.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},a.signal);return {width:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function Ol(e){let n=false,r=false,d,a;function c(){return !n||r||!e.isActive()?Promise.resolve():(a??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(o=>{!r&&e.isActive()&&e.onError(o);}).finally(()=>{a=void 0;}),a)}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 a;}}}function xl(e){let n,r,d=false,a=false,c=new AbortController;function o(){if(!n||!a||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(),a=true;})(),r)},async prune(){a&&!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 Nl(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let a of [...r])a();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((a,c)=>{function o(){r.delete(u),d.removeEventListener("abort",m);}function u(){o(),a();}function m(){o(),c(d.reason);}r.add(u),d.addEventListener("abort",m,{once:true});})}}}function Ll(e){function n(u){let m=0n;for(let g=0;g<10;g++){let C=u+g,h=e[C];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:C+1,value:m}}return {ok:false,kind:"invalid-varint"}}let r=[],d,a=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(;a<e.length;){let u=a,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),C=Number(m.value&0x07n);if(!Number.isSafeInteger(g)||g<=0)return c("invalid","invalid-field-number",u);if(a=m.nextOffset,C===0){let h=a,P=n(h);if(!P.ok)return c(P.kind==="truncated-varint"?"truncated":"invalid",P.kind,h);a=P.nextOffset;}else if(C===1){if(e.length-a<8)return c("truncated","truncated-fixed64",a);a+=8;}else if(C===2){let h=a,P=n(h);if(!P.ok)return c(P.kind==="truncated-varint"?"truncated":"invalid",P.kind==="truncated-varint"?"truncated-length":P.kind,h);if(P.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",h);a=P.nextOffset;let y=Number(P.value);if(y>e.length-a)return c("truncated","truncated-length-delimited",a);a+=y;}else if(C===5){if(e.length-a<4)return c("truncated","truncated-fixed32",a);a+=4;}else return c("invalid","invalid-wire-type",u);o(g);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function vi(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 Fl(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 a=[],c=[],o=C=>{c.push({...C,source:"history"});},u=C=>{a.push(C);};if(n.conversationType==="group"){let C={...e.groupDecrypt(),onDecryptRecovery:o},h=Date.now(),P=await Ia({http:e.http,userId:d.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:h,direct:1,limit:30,decryptDeps:C,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let y=Er({conversationId:n.conversationId,direction:"older",baseTime:h,batchSize:P.batchSize,boundaryTime:P.oldestEntryTime,limit:30});return {messages:P.messages,reactions:a,recoveries:c,...y}}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:C=>e.prepareChannelKeys([C]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:g.messages,reactions:a,recoveries:c,exhausted:!g.hasOlder,...g.nextCursor===void 0?{}:{nextCursor:g.nextCursor}}}}var Mf=5*6e4,Sf=1440*6e4,Tr=2*1024*1024,Ul=20,$t=class extends Error{constructor(r){super(r);this.reason=r;}reason};function gt(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Pf(e,n){let r=new TextEncoder,d=new WeakSet,a=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(!(a>Tr))if(await u(),typeof g=="string"){a+=8;for(let C=0;C<g.length&&a<=Tr;C+=16384)a+=r.encode(g.slice(C,C+16384)).byteLength,await u();}else if(g!==null&&typeof g=="object"){if(d.has(g))return;if(d.add(g),a+=32,ArrayBuffer.isView(g)||g instanceof ArrayBuffer){a+=g.byteLength;return}for(let C in g)if(Object.hasOwn(g,C)&&(await m(C),await m(g[C]),a>Tr))break}else a+=8;}return await m(e),a}function Kl(e){let n=e.now??Date.now,r=new Map,d=new Map,a=new Map,c=new Map,o,u=true,m=0,g=new WeakMap,C=new WeakSet,h=new WeakMap,P=0,y=Promise.resolve();function _(v,F,X){try{e.report(v,{...F},{remainingNetworkPages:Math.max(0,Ul-P),...X});}catch{}}function M(v,F=n()){return v===void 0?0:Math.max(0,F-v)}function L(v,F,X,E){let k=E?.diagnostics;_("recent-history-prefetch-result",v,{status:F,reason:X,queueDurationMs:M(k?.queuedAt,k?.startedAt),requestDurationMs:k?.requestDurationMs??M(k?.requestStartedAt),persistenceDurationMs:k?.persistenceDurationMs??M(k?.persistenceStartedAt)});}function I(v){let F=y.then(v,v);return y=F.catch(()=>{}),F}function D(v){if(!u||v.generation!==m||v.controller.signal.aborted||v.epoch!==(r.get(v.key)??0))return false;let F=e.fingerprint(v.ref);return F!==void 0&&(F===v.fingerprint||!s(v)&&[...v.consumers.values()].includes("foreground"))}function s(v){return v.cacheRevision===(d.get(v.key)??0)}function i(v){if(!D(v))throw gt()}async function f(v,F=false){let X=J(v),E=r.get(X)??0,k={key:X,epoch:E,generation:m,cacheRevision:d.get(X)??0},G=m,Ce=e.fingerprint(v),pe=$=>(_("recent-history-cache-miss",v,{reason:$,allowStale:F}),null);if(!u||Ce===void 0||e.cache===void 0)return pe(u?Ce===void 0?"unavailable":"storage-unavailable":"disposed");if(await y,!u||G!==m||E!==(r.get(X)??0)||!s(k)||e.fingerprint(v)!==Ce)return pe("invalidated");let O=await e.cache.get(v);return !u||G!==m||E!==(r.get(X)??0)||!s(k)||e.fingerprint(v)!==Ce?pe("invalidated"):O===null?pe("empty"):O.version!==2?pe("version-mismatch"):J(O.conversation)!==X?pe("identity-mismatch"):O.fingerprint!==Ce?pe("fingerprint-mismatch"):O.fetchedAt>n()?pe("future-timestamp"):n()-O.fetchedAt>(F?Sf:Mf)?pe("expired"):(g.set(O,k),O)}async function S(v){i(v);try{let G=await f(v.ref);if(i(v),G!==null&&s(v))return v.diagnostics.source="cache",_("recent-history-cache-hit",v.ref),{page:G,durable:!0}}catch(G){if(i(v),v.diagnostics.failureReason="cache-read-failed",_("recent-history-cache-read-failed",v.ref,{reason:"cache-read-failed"}),![...v.consumers.values()].includes("foreground"))throw G}if(![...v.consumers.values()].includes("foreground")){if(P>=Ul)throw new $t("budget");P+=1;}let X=n();v.diagnostics.source="network",v.diagnostics.requestStartedAt=X;let E;try{E=await e.fetchPage(v.ref,v.controller.signal);}catch(G){throw v.diagnostics.failureReason="request-failed",G}finally{v.diagnostics.requestDurationMs=M(X);}i(v),await e.yieldToEventLoop(),i(v);let k={version:2,conversation:{...v.ref},fetchedAt:n(),fingerprint:v.fingerprint,messages:E.messages,reactions:E.reactions,exhausted:E.exhausted,...E.nextCursor===void 0?{}:{nextCursor:E.nextCursor},byteLength:0};if(g.set(k,{key:v.key,epoch:v.epoch,generation:v.generation,cacheRevision:v.cacheRevision}),E.recoveries!==void 0&&E.recoveries.length>0&&h.set(k,E.recoveries),h.has(k)||k.messages.some(G=>G.encryption.decryptFailed===true))return C.add(k),{page:k,durable:false,reason:"decrypt-failed"};if(k.byteLength=await Pf(k,e.yieldToEventLoop),i(v),_("recent-history-page-loaded",v.ref,{durationMs:n()-X,messageCount:k.messages.length,byteLength:k.byteLength}),k.byteLength>Tr)return {page:k,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:k,durable:false,reason:"storage-unavailable"};if(!s(v))return {page:k,durable:false,reason:"invalidated"};v.diagnostics.persistenceStartedAt=n();try{let G=await I(async()=>(i(v),s(v)?e.cache.put(k):!1));return i(v),s(v)?{page:k,durable:G,...G?{}:{reason:"page-too-large"}}:{page:k,durable:!1,reason:"invalidated"}}catch(G){return i(v),v.diagnostics.failureReason="cache-write-failed",_("recent-history-cache-write-failed",v.ref,{reason:"cache-write-failed"}),{page:k,durable:false,storageError:G}}finally{v.diagnostics.persistenceDurationMs=M(v.diagnostics.persistenceStartedAt);}}function T(v,F){v.started||(v.started=true,v.diagnostics.startedAt=n(),_("recent-history-prefetch-start",v.ref,{kind:F?"background":"foreground",queueDurationMs:M(v.diagnostics.queuedAt,v.diagnostics.startedAt)}),F&&(o=v),S(v).then(v.resolve,v.reject).finally(async()=>{a.get(v.key)===v&&a.delete(v.key),o===v&&(o=void 0),await e.yieldToEventLoop(),K();}).catch(X=>{if(!(X instanceof Error&&X.name==="AbortError"))throw X}));}function K(){if(!u||o!==void 0||c.size>0||!e.canRunBackground())return;let v=[...a.values()].find(F=>!F.started&&F.consumers.size>0);v!==void 0&&T(v,true);}function q(v,F,X){if(!u||X?.aborted===true)return F==="background"&&L(v,"cancelled","cancelled"),Promise.reject(gt());let E=J(v),k=e.fingerprint(v);if(k===void 0)return F==="background"&&L(v,"skipped","unavailable"),Promise.reject(new $t("unavailable"));let G=a.get(E);G!==void 0&&!D(G)&&(G.controller.abort(),G.reject(gt()),a.delete(E),G=void 0);let Ce=G!==void 0;if(G===void 0){let j,de,ae=new Promise((Se,we)=>{j=Se,de=we;});G={ref:{...v},key:E,fingerprint:k,generation:m,epoch:r.get(E)??0,cacheRevision:d.get(E)??0,controller:new AbortController,consumers:new Map,started:false,promise:ae,resolve:j,reject:de,diagnostics:{queuedAt:n()}},a.set(E,G);}let pe=G,O=Symbol(F);pe.consumers.set(O,F),F==="background"&&_("recent-history-prefetch-queued",v,{reason:Ce?"shared-request":"new-request"});let $=new Promise((j,de)=>{let ae=false,Se=(Z,ke)=>{ae||(ae=true,Z?.durable&&!s(pe)&&(Z={...Z,durable:false,reason:"invalidated"}),X?.removeEventListener("abort",we),pe.consumers.delete(O),pe.consumers.size===0&&(pe.controller.abort(),pe.started||(a.get(pe.key)===pe&&a.delete(pe.key),pe.reject(gt()))),F==="background"&&(ke instanceof $t?L(v,"skipped",ke.reason,pe):ke instanceof Error&&ke.name==="AbortError"?L(v,"cancelled","cancelled",pe):ke!==void 0||Z?.storageError!==void 0?L(v,"failed",pe.diagnostics.failureReason??"request-failed",pe):Z?.durable===true?L(v,"ready",pe.diagnostics.source==="cache"?"cache-hit":"persisted",pe):L(v,"skipped",Z?.reason??"not-persisted",pe)),ke!==void 0?de(ke):j(Z));};function we(){Se(void 0,gt());}X?.addEventListener("abort",we,{once:true}),pe.promise.then(Z=>Se(Z),Z=>Se(void 0,Z));});return F==="foreground"?T(pe,false):K(),$}function Y(v){let F=J(v);c.set(F,(c.get(F)??0)+1),o!==void 0&&o.key!==F&&![...o.consumers.values()].includes("foreground")&&(o.controller.abort(),o.reject(gt()));let X=false;return ()=>{if(X)return;X=true;let E=(c.get(F)??1)-1;E>0?c.set(F,E):c.delete(F),K();}}function ue(v,F={}){if(!u||v.conversationType!=="group"&&v.conversationType!=="channel")return;let X={...v,conversationType:v.conversationType},E=J(v);d.set(E,(d.get(E)??0)+1),F.preserveForeground||r.set(E,(r.get(E)??0)+1);let k=a.get(E);(!F.preserveForeground||!k||![...k.consumers.values()].includes("foreground"))&&(k?.controller.abort(),k?.reject(gt()),a.delete(E)),_("recent-history-cache-invalidated",X,{reason:F.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),I(async()=>e.cache?.delete(X)).catch(()=>_("recent-history-cache-delete-failed",X,{reason:"cache-delete-failed"}));}function ye(v){let F=g.get(v);return u&&F!==void 0&&F.generation===m&&F.epoch===(r.get(F.key)??0)}return {readCached:f,isPageCurrent:ye,enterForeground:Y,invalidate:ue,notifySchedulingChanged:K,takeRecoveries(v){if(!ye(v))return [];let F=h.get(v)??[];return h.delete(v),F},async confirmConsumed(v){let F=e.fingerprint(v.conversation),X=g.get(v);if(!ye(v)||X===void 0||!s(X)||C.has(v)||F===void 0||e.cache===void 0||F===v.fingerprint||v.byteLength>Tr||v.messages.some(G=>G.encryption.decryptFailed===true))return;let E=J(v.conversation),k=r.get(E)??0;await I(async()=>{ye(v)&&s(X)&&k===(r.get(E)??0)&&e.fingerprint(v.conversation)===F&&await e.cache.put({...v,fingerprint:F});}).catch(()=>_("recent-history-cache-write-failed",v.conversation,{reason:"cache-write-failed"}));},async latest(v,F){return (await q(v,"foreground",F)).page},async prefetchRecent(v,F={}){let X=[];for(let[E,k]of v.entries()){if(E>0&&E%16===0&&await e.yieldToEventLoop(),F.signal?.aborted===true||!u){L(k,"cancelled","cancelled"),X.push({ref:k,status:"cancelled",reason:"cancelled"});continue}if(k.conversationType==="direct"||k.conversationType==="robot"){L(k,"skipped","unsupported"),X.push({ref:k,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){L(k,"skipped","storage-unavailable"),X.push({ref:k,status:"skipped",reason:"storage-unavailable"});continue}try{let G=await q({...k,conversationType:k.conversationType},"background",F.signal);if(G.storageError!==void 0)throw G.storageError;X.push({ref:k,status:G.durable?"ready":"skipped",...G.reason===void 0?{}:{reason:G.reason}});}catch(G){G instanceof $t?X.push({ref:k,status:"skipped",reason:G.reason}):G instanceof Error&&G.name==="AbortError"?X.push({ref:k,status:"cancelled",reason:"cancelled"}):(_("recent-history-prefetch-failed",k,{reason:"prefetch-failed"}),X.push({ref:k,status:"failed",error:re({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:k,cause:G})}));}}return X},dispose(){u=false;for(let v of a.values())v.controller.abort(),v.reject(gt());return a.clear(),y.then(()=>{})},async clear(){if(u){m+=1;for(let v of [...a.values()])ue(v.ref);await I(async()=>e.cache?.clear());}}}}function Rf(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,a=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 a===void 0?void 0:Object.freeze({service:"core",kind:a,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function Bl(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 re({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(C,h)=>{d();let P=await m(C,h);return d(),P},http:{async postProtobuf(C){d();let h=await g.postProtobuf(C);return d(),h}}}}async function a(m,g,C){if(!(!e.isActive()||C?.aborted||!g?.userId||!g.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||C?.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 C=await c(),h,P=await o(m,{...g,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:_=>{h=_;}});if(d(),h===void 0)throw re({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let y=Rf(h);return y!==void 0&&await a(y,C,g?.signal),P},http:{async postProtobuf(m){let g=await c(),C=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(C==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let h=e.http??v({getBaseUrl:()=>C,getAuth:async()=>g,getClientType:()=>e.clientType,fetch:r});try{d();let P=await h.postProtobuf(m);return d(),P}catch(P){throw await a(P instanceof Fa?{service:"cm",kind:"http",httpStatus:P.status}:{service:"cm",kind:"network"},g,m.signal),P}}}}}var wf=2,Jt=30,Ef=50,Af=5,Tf=20;function Gl(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 _f(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 Df(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 Hl(e$1,n$1,r,d$1=0){let a$1=e$1.clientType??wf,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:a$1}}},o$2="",u=qo(e$1.debug,()=>({generation:d$1,...o$2===""?{}:{accountId:o$2}})),m$1=true,g=e$1.uploadRecovery?.enabled?xl(r):void 0,C$1=Nl(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:P}=Bl({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:a$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}}))}),y=e$1.transport??hb(),_=e$1.adapters?.storage,M=_?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:gb({namespaceFactory:r,mediaAssetCache:{strategies:gd()}})),L=new Map,I=new Map,D=new Map,s$1=new Map,i$1=new Map,f$1=t=>`${J(t.conversation)}\0${t.messageId}`;function S$1(t,l){let A=J(t),te=(i$1.get(A)??Promise.resolve()).then(l),se=te.then(()=>{},()=>{});return i$1.set(A,se),se.then(()=>{i$1.get(A)===se&&i$1.delete(A);}),te}function T$1(t,l){return S$1(t.conversation,async()=>{l()&&(await M?.deleteDecryptRecovery?.(t.conversation,t.messageId),l()&&(s$1.delete(f$1(t)),L.delete(f$1(t))));})}let K=t=>{let l=M?.saveDecryptRecovery;if(l===void 0)return;let A=f$1(t),U=(D.get(A)??0)+1;D.set(A,U),s$1.set(A,t);let te=J(t.conversation),se=I.get(te)??0,oe=()=>m$1&&se===(I.get(te)??0)&&U===D.get(A),V=S$1(t.conversation,async()=>{oe()&&await l(t);});L.set(A,V),V.then(()=>{if(L.get(A)===V&&L.delete(A),oe())return xr(t)}).catch(ie=>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:ie}}));},q=false,Y=_f(M)?M:void 0,ue=$d({...M===void 0?{}:{storage:M},...h$1===void 0?{}:{coreClient:h$1}}),ye,v,F$1=ud({...M===void 0?{}:{storage:M},conversationBackgrounds:ue.api,onDirectReadReceiptDisabled:t=>ye?.(t)}),X=0;function E(t){return X+=1,`channel-${t}-${d$1}-${X}`}let k=yb(u),G=(t,l,A=o$2)=>{let U=l.fromId===A?l.toId:l.fromId;vo(u,{conversation:{conversationType:"direct",conversationId:U},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}});},Ce=(t,l)=>{vo(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}});},pe=(t,l)=>{vo(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}});},O=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 j="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:$c(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 ae(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let Se=new Set,we="auto",Z=false,ke=false,We=0,qe,cn,$e=false,_n,je,Rn=()=>{},Vn=null,w$1=null,z,B,W=Dl(),ge=new AbortController,Te=new Set,Oe=0,Je=false,Pe=vi(t=>n$1.emit({type:"receiving:changed",receiving:t})),Ee=vi(t=>n$1.emit({type:"syncing:changed",syncing:t})),Ue=false,nn,xn,Un=new Map,tt=new Map,Ye=0,Ne=t=>Un.get(t)??0,Cn=t=>{Un.set(t,Ne(t)+1);};function dn(t){B?.invalidate(t),t.conversationType==="channel"&&Cn(t.conversationId),t.conversationType==="group"&&tt.set(t.conversationId,(tt.get(t.conversationId)??0)+1);}let rn=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:a$1,...M===void 0?{}:{storage:M}})),Tn=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:a$1,getUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??"",...M===void 0?{}:{storage:M}})),qn=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:a$1,isActive:()=>m$1,...M===void 0?{}:{storage:M}})),Kn=e$1.channelMentionMembers??(h$1===void 0?void 0:u$1({client:h$1,clientType:a$1})),it=qd({...Kn===void 0?{}:{provider:Kn},...M===void 0?{}:{storage:M}}),Re=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:a$1,getUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??""})),Wn=pl({...Re===void 0?{}:{provider:Re}}),fn=Al({...h$1===void 0?{}:{search:t=>Ka$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),bind:t=>D$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),unbind:t=>E$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}})}}),_r=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),Dr=Pl({provider:_r,isActive:()=>m$1}),at=e$1.sessionFavoriteProvider??Ta({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>o$2}),yt=()=>{},kt=bd({namespaceFactory:r,...M===void 0?{}:{storage:M},emitter:n$1,getAccountId:()=>o$2,isActive:()=>m$1,clearMemoryCaches:()=>{rn?.clearCache?.(),Tn?.clearCache?.(),qn?.clearCache?.(),it.clear(),yt(),B?.clear().catch(t=>n$1.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),st=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:a$1})),kr=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:a$1})),Yt=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:a$1})),H=Sa({emitter:n$1,diagnostics:u,profile:rn,channelProfile:Tn,storage:M,getSelfId:()=>o$2,loadOlderFromRemote:async t=>{let l=B?.enterForeground(t.conversation),A=W.enterForeground(),U=Pe.begin();try{return z===void 0?{messages:[],exhausted:!0}:await z(t)}finally{U(),l?.(),A();}},loadNewerFromRemote:async t=>{let l=B?.enterForeground(t.conversation),A=W.enterForeground(),U=Pe.begin();try{return xn===void 0?{messages:[],exhausted:!0}:await xn(t)}finally{U(),l?.(),A();}}}),ho=sd({provider:at,isActive:()=>m$1,resolveMessage:async(t,l)=>H.getConversationMessage(t,l)??await M?.getMessage(t,l)??void 0}),Or=n$1.subscribe(t=>{if(t.type==="message:removed"||t.type==="conversation-history:cleared"||t.type==="session:removed"){let l=J(t.conversation);I.set(l,(I.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=I.get(l)??0,U=f$1({conversation:t.conversation,messageId:t.message.id}),te=D.get(U)??0,se=()=>m$1&&A===(I.get(l)??0)&&te===(D.get(U)??0);(async()=>{let V=(await M.getDecryptRecoveries?.(t.conversation)??[]).find(ie=>ie.messageId===t.message.id);V===void 0||ae(V)||!se()||(await H.commitReceivedMessages([t.message],"offline",{backfillOnly:true}),await T$1(V,se));})().catch(oe=>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:oe}}));}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}}));}}}),Dn=Nd({directory:Wn.contacts,getSelfId:()=>o$2,...rn===void 0?{}:{profile:rn},...h$1===void 0?{}:{coreClient:h$1},domainState:H,emitter:n$1,terminateConversationSending:(t,l)=>Rn(t,l),resetDirectReadReceiptPreference:t=>F$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?v?.(t):l!=="unknown"&&ye?.(t);}}),Xt=jd({...kr===void 0?{}:{contact:kr},...Yt===void 0?{}:{group:Yt},...st===void 0?{}:{channel:st},onContactAccepted:async(t,l)=>{Dn.updateRelationshipFromEvent(t,"friend"),await H.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),H.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>m$1&&j==="ready"}),p$1=ml({domainState:H,emitter:n$1,isActive:()=>m$1}),b=Tl({domainState:H,isAvailable:()=>m$1&&j==="ready"}),R=Ld(()=>H.getSessions()),N=e$1.crypto??i(),ee=e$1.media!==void 0?ab(e$1.media,u):void 0,le=Xa(),Ie=Wa(le),{prepareLocalMediaPreview:be,prepareLocalVideoPoster:he}=kl(le,()=>d$1),ve=h$1===void 0?void 0:e({client:h$1,crypto:N,clientType:a$1,onError:(t,l)=>k?.("crypto",{message:t,cause:l})}),Le=h$1===void 0?void 0:h({client:h$1,clientType:a$1,onError:(t,l)=>k?.("crypto",{scope:"send-key",message:t,cause:l})}),Be=h$1===void 0?void 0:f({client:h$1,crypto:N,clientType:a$1,onError:(t,l)=>k?.("crypto",{scope:"group-key",message:t,cause:l})}),xe=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>ga(h$1,{channelId:t,clientType:a$1}),onError:(t,l)=>k?.("crypto",{scope:"channel-key",message:t,cause:l})})),Qt=async(t,l={})=>{if(xe===void 0)return;let A=xe.getCachedChannelKey(t)===null;try{await xe.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!A||!m$1))try{await Nr({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(U){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:U}});}},Zt=async t=>xe===void 0?null:xe.getChannelKey(t),Ot=t=>{if(xe===void 0)return null;let l=xe.getCachedChannelKey(t);return l===null&&Qt(t),l},er=()=>ve?.getCachedPrivateKey(o$2)?.privateKey??null,Co=()=>({crypto:N,resolveChannelKey:Ot,resolveUserPrivateKey:er,onDecryptRecovery:K,onDecryptError:t=>{let l=xe!==void 0&&M?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(pe("live",{...t,forceRefreshAttempted:l}),!l)return;let A=xe.getCachedChannelKey(t.channelId)??void 0;xe.getChannelKey(t.channelId,{staleKey:A}).catch(()=>{});}}),Bn=async(t,l={})=>{let A=[];xe!==void 0&&A.push(...[...new Set(t)].map(U=>Qt(U,l))),ve!==void 0&&o$2!==""&&A.push(ve.getUserPrivateKey(o$2).catch(()=>null)),await Promise.all(A);},ze=t=>({crypto:N,resolveChannelKey:l=>xe?.getCachedChannelKey(l)??null,resolveUserPrivateKey:er,onDecryptError:l=>pe(t,l),onDecryptRecovery:K});function gn(t){Be!==void 0&&t!==""&&Be.getGroupKeys(t);}let Nn=async t=>{if(Be===void 0)return null;let l=await Be.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},$n=t=>{if(Be===void 0)return null;let l=Be.getCachedGroupKeys(t);return l!==null?l.privateKey:(gn(t),null)},Ln=async t=>{Be!==void 0&&await Promise.all(t.map(l=>Be.getGroupKeys(l).catch(()=>null)));},xt=()=>({crypto:N,resolvePrivateKey:({groupId:t})=>$n(t),preparePrivateKey:async({groupId:t})=>Be===void 0?null:(await Be.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>Ce("live",t),onDecryptRecovery:K}),ct=t=>({crypto:N,resolvePrivateKey:({groupId:l})=>$n(l),onDecryptError:l=>Ce(t,l),onDecryptRecovery:K}),bn=new Map,Gn=new Map,rt=new Map,bo=new Set,Mo=new Set;function nr(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Jl(t,l){let A=J(t),U=rt.get(A)??new Set;U.add(l),rt.set(A,U);}function hi(t){rt.delete(J(t));}function Yl(t,l){return t.length===l.length&&t.every((A,U)=>A===l[U])}function Ci(t){if(t.conversation.conversationType==="group")return Be?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Nt(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 Xl(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 xr(t){let l=f$1(t);t=s$1.get(l)??t;let A=D.get(l)??0,U=J(t.conversation),te=I.get(U)??0,se=()=>m$1&&te===(I.get(U)??0)&&A===(D.get(l)??0),oe=bn.get(l);if(oe!==void 0){if(Gn.get(l)===A)return oe;await oe.catch(()=>{}),se()&&s$1.get(l)===t&&await xr(t);return}let V=async()=>H.getConversationMessage(t.conversation,t.messageId)??await M?.getMessage(t.conversation,t.messageId)??void 0,ie=(async()=>{let ce=await V();if(!se()||ce===void 0)return;let Q=ae(t);if(ce.encryption.decryptFailed!==true&&!Q){await H.commitReceivedMessages([ce],"offline",{backfillOnly:true}),await T$1(t,se);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 ne,J,fe="key-resolve",Qe=Nt(t);for(let On of [false,true]){let He=On?"force":"current",Ze;try{fe="bcontent";let on=d.decode(t.sContent);if(t.wireEncrypt===1){if(on.secretKey.length===0||on.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");fe="key-resolve";let pn=On?{...typeof J=="string"?{staleKey:J}:{}}:void 0,Sn=t.conversation.conversationType==="group"?(await Be?.getGroupKeys(t.conversation.conversationId,pn))?.privateKey??null:(await ve?.getUserPrivateKey(o$2,pn))?.privateKey??null;On&&J!==void 0&&(Ze=typeof J=="string"&&Sn!==null&&J!==Sn),Ze===!0&&hi(t.conversation),On||(J=Sn);let Jn=Ci(t);if(Sn===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:Nt(t),finalStage:fe,reason:"no-key",...Jn===void 0?{}:{resolvedKeyVersion:Jn},...Ze===void 0?{}:{keyChanged:Ze}}}));continue}fe="rsa";let Hn=N.rsaDecryptPkcs1({data:on.secretKey,privateKey:Sn});if(Hn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${Hn.length} < 16`);fe="tea";let ln=N.decryptSymmetric({teaKey:Hn,cipherData:on.cipherData});u.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:Nt(t),rsaCipherBytes:on.secretKey.length,cipherDataBytes:on.cipherData.length,cipherDataBlockRemainder:on.cipherData.length%8,resolvedTeaBytes:Hn.length,plainBytes:ln.length,plainBlockRemainder:ln.length%8,startsWithContentTypeField:ln[0]===8,startsWithMobileCardType:ln[0]===8&&ln[1]===8,...Ll(ln)}})),fe="bmessage",ne=c$1.decode(ln);}else if(t.conversation.conversationType==="channel"){if(on.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");fe="key-resolve";let pn=On?{...J instanceof Uint8Array?{staleKey:J}:{}}:void 0,Sn=xe?.getChannelKeyCandidates===void 0?await xe?.getChannelKey(t.conversation.conversationId,pn).then(ln=>[{strategy:"canonical-base64-pad",key:ln}])??[]:await xe.getChannelKeyCandidates(t.conversation.conversationId,pn),Jn=xe?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);Jn!=null&&u.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:He,...Jn}}));let Hn=Sn.find(ln=>ln.strategy==="canonical-base64-pad")?.key??null;if(On&&J instanceof Uint8Array&&Hn!==null&&(Ze=!Yl(J,Hn)),Ze===!0&&hi(t.conversation),On||(J=Hn?.slice()??null),Sn.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:Nt(t),finalStage:fe,reason:"no-key",...Ze===void 0?{}:{keyChanged:Ze}}}));continue}for(let ln of Sn)try{fe="tea";let cr=N.decryptSymmetric({teaKey:ln.key,cipherData:on.cipherData});fe="bmessage";let Kt=c$1.decode(cr);if(ln.strategy==="legacy-ascii16"&&!Xl(Kt))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");ne=Kt,Qe=ln.strategy,u.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:ln.strategy,finalStage:"recovered",reason:"recovered",...Ze===void 0?{}:{keyChanged:Ze}}}));break}catch(cr){u.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:ln.strategy,finalStage:fe,reason:"decrypt-failed",...Ze===void 0?{}:{keyChanged:Ze}},error:{message:"CHANNEL decrypt recovery candidate failed",data:cr}}));}}if(ne!==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:Qe,finalStage:"recovered",reason:"recovered",...Ze===void 0?{}:{keyChanged:Ze}}}));break}}catch(on){let pn=Ci(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:Nt(t),finalStage:fe,reason:"decrypt-failed",...pn===void 0?{}:{resolvedKeyVersion:pn},...Ze===void 0?{}:{keyChanged:Ze}},error:{message:"IM message decryption recovery failed",data:on}}));}}if(!se()||ne===void 0){ne===void 0&&(Jl(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:Nt(t),attempts:2,finalStage:fe}})));return}let Ge=await V();if(!se()||Ge===void 0||Ge.encryption.decryptFailed!==true&&!Q)return;let Mn=t.conversation.conversationType==="channel"&&(t.cmdId===12804||ne.contentType===101)?F({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(Ge.serverTime??Ge.createdAt),notifyType:ne.type,operatorId:ne.oprUserId,targetUserIds:ne.mnpledUserId,content:ne.content,...typeof Ge.extensions?.historyCursor=="string"?{historyCursor:Ge.extensions.historyCursor}:{},...typeof Ge.extensions?.channelSequence=="string"?{sequence:BigInt(Ge.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:Ge.raw!==void 0}):{...W$1(Ge,ne,o$2),...Q?{edited:true}:{}};await H.commitReceivedMessages([Mn],"offline",{backfillOnly:true,refreshSessionSummary:true}),await T$1(t,se);})().finally(()=>{bn.get(l)===ie&&(bn.delete(l),Gn.delete(l));});return bn.set(l,ie),Gn.set(l,A),ie}async function Nr(t,l={}){try{let A=J(t),U=await M?.getDecryptRecoveries?.(t)??[];if(!m$1)return;let te=rt.get(A),se=te===void 0?U:U.filter(ce=>!te.has(ce.messageId));if(await Promise.all(se.map(xr)),!m$1||l.recoverLegacyWithoutSidecar===!1)return;let oe=rt.get(A),V=new Set(U.filter(ce=>oe===void 0||!oe.has(ce.messageId)).map(ce=>ce.messageId)),ie=H.getMessagesByConversation(t).filter(ce=>ce.encryption.decryptFailed===!0&&!V.has(ce.id));if(ie.length===0||bo.has(A))return;if(bo.add(A),u.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:ie.length,withoutSidecar:ie.filter(ce=>!U.some(Q=>Q.messageId===ce.id)).length}})),t.conversationType==="channel"){let ce=await c.getLoginContext();if(ce===null||nn===void 0)return;for(let Q of ie.slice(0,Tf)){let ne=Q.extensions?.historyCursor;if(typeof ne!="string"||ne.trim()==="")continue;let J=await nn(t.conversationId,ne,ce.userId);if(!m$1)return;J.length>0&&H.upsertMessages(J,"offline");}}else t.conversationType==="group"?await Ql({conversationType:"group",conversationId:t.conversationId},ie):t.conversationType==="direct"&&await Bi();}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 Ql(t,l){if(z===void 0)return;let A=[...l].sort((V,ie)=>V.sortKey.localeCompare(ie.sortKey)),U=A[0],te=A.at(-1);if(U===void 0||te===void 0)return;let se=U.serverTime??U.createdAt,oe;for(let V=0;V<Af;V++){let ie=await z({conversation:t,oldestLoaded:te,...oe===void 0?{}:{cursor:oe},intent:"older",limit:Ef});if(!m$1||ie.exhausted||ie.nextCursor===void 0)return;let ce=Number(ie.nextCursor);if(Number.isFinite(ce)&&ce<=se)return;oe=ie.nextCursor;}}let wn=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function So(t,l=true){let A=t.channelPermissions,U=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||U===void 0?void 0:[U.role,U.baseState,U.resolvedState,U.allMembersMuted,U.currentUserMuted,U.mutePeriod]])}let Po=new Map;function It(t){let l=H.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&&an(l.channelState))return;let A=H.getMessagesByConversation(t).at(-1);return JSON.stringify([o$2,A===void 0?l.timestamp:void 0,So(l),A?.id,A?.sortKey])}B=Kl({...M?.recentHistoryCache===void 0?{}:{cache:M.recentHistoryCache},fingerprint:It,canRunBackground:Fu,fetchPage:Fl({http:P,authProvider:c,clientType:a$1,groupDecrypt:()=>ct("history"),channelDecrypt:()=>ze("history"),prepareGroupKeys:Ln,prepareChannelKeys:t=>Bn(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 Zl=n$1.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(Je=false),B?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=J(t.conversation),A=Po.get(l),U={timestamp:t.session.timestamp,access:So(t.session),capabilities:So(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(Po.set(l,U),j==="ready"&&A!==void 0&&(A.access!==U.access||!Ue&&A.timestamp!==U.timestamp)){let te=!A.hasSnapshot&&U.hasSnapshot&&(A.capabilities===U.capabilities||!A.hasPermissions&&A.state===U.state);B?.invalidate(t.conversation,{preserveForeground:A.access===U.access||te});}return}if(t.type==="session:removed"){Po.delete(J(t.conversation)),j==="ready"&&B?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){j==="ready"&&B?.invalidate(t.conversation);return}j!=="ready"||Ue||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&B?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function bi(t,l=true){Ue=true;try{t.messages.length>0&&H.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let A of t.reactions)wn(A);for(let A of B.takeRecoveries(t))K(A);}finally{Ue=false;}}z=async({conversation:t,oldestLoaded:l,cursor:A,intent:U,limit:te,signal:se})=>{se?.throwIfAborted();let{conversationId:oe}=t,V=H.getConversationContext(t);if(V===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${oe}\uFF09`);if(V.type==="direct"||V.type==="robot")return {messages:[],exhausted:true};if(U==="establish-latest"&&te===30&&(V.type==="group"||V.type==="channel")){let ie={conversationType:V.type,conversationId:oe};if(It(ie)===void 0)return {messages:[],exhausted:true};let ce=await B.readCached(ie,true).catch(ne=>(u.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:ie,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:ne}})),null));ce!==null&&B.isPageCurrent(ce)&&Date.now()-ce.fetchedAt>5*6e4&&bi(ce,false),se?.throwIfAborted();let Q=await B.latest(ie,se).catch(ne=>{if(m$1&&It(ie)===void 0)return null;throw ne});if(Q===null)return {messages:[],exhausted:true};if(se?.throwIfAborted(),!m$1||!B.isPageCurrent(Q)||It(ie)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(bi(Q),await B.confirmConsumed(Q),se?.throwIfAborted(),!B.isPageCurrent(Q))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:Q.messages,exhausted:Q.exhausted,...Q.nextCursor===void 0?{}:{nextCursor:Q.nextCursor},replaceWindow:true}}if(V.type==="group"){if(V.groupState!==void 0&&V.groupState!=="active")return {messages:[],exhausted:true};let ie=await c.getLoginContext();if(ie===null)return {messages:[],exhausted:true};let ce=U==="establish-latest"?Date.now():A===void 0?l?.serverTime??l?.createdAt??Date.now():Gl(A,oe),Q=await Ia({signal:se,http:P,userId:ie.userId,clientType:a$1,groupId:oe,baseTime:ce,direct:1,limit:te,decryptDeps:ct("history"),prepareKeys:Ln,onReaction:wn});se?.throwIfAborted(),Q.messages.length>0&&H.upsertMessages(Q.messages,"offline",{backfillOnly:true,refreshSessionSummary:U==="establish-latest"});let ne=Er({conversationId:oe,direction:"older",baseTime:ce,batchSize:Q.batchSize,boundaryTime:Q.oldestEntryTime,limit:te});return {messages:Q.messages,...ne,...U==="establish-latest"?{replaceWindow:true}:{}}}if(V.type==="channel"){let ie=E("history");if(V.channelState!==void 0&&an(V.channelState))return u.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:ie,data:{state:V.channelState}})),{messages:[],exhausted:true};let ce=Ye,Q=Ne(oe),ne=await c.getLoginContext();if(ne===null)return {messages:[],exhausted:true};if(U==="establish-latest"){let Ge=await Aa({signal:se,http:P,userId:ne.userId,clientType:a$1,channelId:oe,count:Jt,operationId:ie,decryptDeps:ze("history"),prepareKey:xe===void 0&&ve===void 0?void 0:On=>Bn([On]),onContentDecodeError:O,onReaction:wn});se?.throwIfAborted();let Mn=H.getConversationContext(t);return !m$1||ce!==Ye||Q!==Ne(oe)||Mn?.type!=="channel"||Mn.channelState!==void 0&&an(Mn.channelState)?{messages:[],exhausted:true}:(se?.throwIfAborted(),Ge.messages.length>0&&H.upsertMessages(Ge.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:Ge.messages,exhausted:!Ge.hasOlder,...Ge.nextCursor===void 0?{}:{nextCursor:Ge.nextCursor},replaceWindow:true})}let J=A??"";if(A===void 0&&l!==void 0){let Ge=l.extensions?.historyCursor;if(typeof Ge=="string"&&Ge.trim()!=="")J=Ge;else if(!Df(l,ne.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${oe}, messageId=${l.id}\uFF09`)}u.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:ie,data:{baseIndexPresent:J!=="",direction:1,contain:0,count:Jt,historyGeneration:ce,historyEpoch:Q,clientTypeHeader:a$1,clientTypeBody:a$1}}));let fe;try{fe=await Ba({signal:se,http:P,userId:ne.userId,clientType:a$1,channelId:oe,baseIndex:J,count:Jt,contain:0,operationId:ie,decryptDeps:ze("history"),prepareKey:xe===void 0&&ve===void 0?void 0:Ge=>Bn([Ge]),onContentDecodeError:O,onReaction:wn});}catch(Ge){throw u.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:ie,data:{baseIndexPresent:J!=="",direction:1,contain:0,count:Jt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Ge}})),Ge}se?.throwIfAborted();let Qe=H.getConversationContext(t);return !m$1||ce!==Ye||Q!==Ne(oe)||Qe?.type!=="channel"||Qe.channelState!==void 0&&an(Qe.channelState)?{messages:[],exhausted:true}:(se?.throwIfAborted(),fe.messages.length>0&&H.upsertMessages(fe.messages,"offline",{backfillOnly:true}),u.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:ie,data:{responseBatchSize:fe.batchSize,messageCount:fe.messages.length,exhausted:fe.exhausted,nextBaseIndexPresent:fe.nextBaseIndex!==void 0}})),{messages:fe.messages,exhausted:fe.exhausted,...fe.nextBaseIndex===void 0?{}:{nextCursor:fe.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${V.type}`)};let Ro=t=>{t.length>0&&H.upsertMessages(t,"offline",{backfillOnly:true});},wo=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}},eu=async(t,l)=>{let A=o$2,U=()=>{if(!m$1||o$2!==A)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError")};U();let{userId:te}=await wo();if(U(),te!==A)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let se=await ko(te),oe=[],V=[],ie=await mo(l,async ne=>{U();let J=await va$1({http:P,userId:te,clientType:a$1,messageIds:ne,decryptDeps:{...se,onDecryptRecovery:fe=>V.push(fe)},onReaction:fe=>oe.push(fe)});if(U(),J.code!==200)throw Object.assign(new Error("DIRECT \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:J.code});return J});U();let ce=ie.messages.filter(ne=>ne.conversationType===t.conversationType&&ne.conversationId===t.conversationId);for(let ne of ce)U(),Ro([ne]),U();for(let ne of oe)U(),ne.conversation.conversationType===t.conversationType&&ne.conversation.conversationId===t.conversationId&&wn(ne),U();for(let ne of V)U(),ne.conversation.conversationType===t.conversationType&&ne.conversation.conversationId===t.conversationId&&K(ne),U();return {messages:ce.map(ne=>{let J=H.getConversationMessage(t,ne.id);if(J===void 0)throw new Error("DIRECT \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return J}),missingMessageIds:ie.missingMessageIds}},Mi=async(t,l)=>{let A={conversationType:"group",conversationId:t},U=o$2,te=()=>{if(!m$1||o$2!==U)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError")};te();let{userId:se}=await wo();if(te(),se!==U)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let oe=[],V=[],ie=ct("history"),ce=await mo(l,async J=>{te();let fe=await wa$1({http:P,userId:se,clientType:a$1,groupId:t,messageIds:J,decryptDeps:{...ie,onDecryptRecovery:Qe=>V.push(Qe)},prepareKeys:Ln,onReaction:Qe=>oe.push(Qe)});if(te(),fe.code!==200)throw Object.assign(new Error("GROUP \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:fe.code});return fe});te();let Q=ce.messages.filter(J=>J.conversationType===A.conversationType&&J.conversationId===A.conversationId);for(let J of Q)te(),Ro([J]),te();for(let J of oe)te(),J.conversation.conversationType===A.conversationType&&J.conversation.conversationId===A.conversationId&&wn(J),te();for(let J of V)te(),J.conversation.conversationType===A.conversationType&&J.conversation.conversationId===A.conversationId&&K(J),te();return {messages:Q.map(J=>{let fe=H.getConversationMessage(A,J.id);if(fe===void 0)throw new Error("GROUP \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return fe}),missingMessageIds:ce.missingMessageIds}},Si=async(t,l)=>{let A={conversationType:"channel",conversationId:t},U=o$2,te=Ye,se=Ne(t),oe=()=>{let J=H.getConversationContext(A);if(!m$1||o$2!==U||te!==Ye||se!==Ne(t)||J?.type!=="channel"||J.channelState!==void 0&&an(J.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};oe();let{userId:V}=await wo();if(oe(),V!==U)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let ie=[],ce=[],Q=await mo(l,async J=>{oe();let fe=await xa$1({http:P,userId:V,clientType:a$1,channelId:t,messageIds:J,operationId:E("history"),decryptDeps:{...ze("history"),onDecryptRecovery:Qe=>ce.push({...Qe,source:"history"})},prepareKey:xe===void 0&&ve===void 0?void 0:async Qe=>{await Bn([Qe],{recoverExistingMessages:false}),oe();},onContentDecodeError:O,onReaction:Qe=>ie.push(Qe)});if(oe(),fe.code!==0)throw Object.assign(new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:fe.code});return fe});oe();for(let J of Q.messages)oe(),Ro([J]);for(let J of ie)oe(),wn(J);for(let J of ce)oe(),K(J);return oe(),{messages:Q.messages.map(J=>{let fe=H.getConversationMessage(A,J.id);if(fe===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return fe}),missingMessageIds:Q.missingMessageIds}},nu=vb([sb({includeOppositeEnd:true}),tb({resolveGroupKey:Nn}),rb({resolveChannelKey:Zt}),ub()]),tu=cb([db(),eb(),fb()]),ru=wa([xa(),ya(),za({resolveChannelKey:Zt,resolveProfile:t=>Tn?.getProfile(t)??Promise.resolve(null)})]),yn=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Lt=()=>false,Lr=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Pi=()=>{},tr=()=>{},rr={...H,removeConversationForMembershipTermination:(t,l)=>{Pi(t,l),t.conversationType==="group"?Be?.clearGroupKeys(t.conversationId):xe?.clearChannelKey(t.conversationId),H.removeConversationForMembershipTermination(t,l),ue.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}}));}},Ft=Va({domainState:H,sendFrame:t=>yn(t),getSelfId:()=>o$2,isAuthenticated:()=>Lt(),reportReaction:t=>_r.reportReaction(t),isEmojiSupported:ed,logger:k});wn=t=>{Ft.ingest(t,"offline");};let ou=Wa$1({manager:Ft,getSelfId:()=>o$2,logger:k}),iu=nb({domainState:H,outbox:{onChatAck:t=>Lr(t)},sendFrame:t=>yn(t),getSelfId:()=>o$2,emitter:n$1,logger:k,keepRaw:true,decrypt:xt(),isActive:()=>m$1}),au=ib({domainState:H,outbox:{onChatAck:t=>Lr(t)},sendFrame:t=>yn(t),getSelfId:()=>o$2,emitter:n$1,logger:k,keepRaw:true,decrypt:Co()}),su=ob({isActive:()=>m$1,domainState:H,outbox:{onChatAck:t=>Lr(t)},sendFrame:t=>yn(t),getSelfId:()=>o$2,emitter:n$1,logger:k,keepRaw:true}),cu=hb$1({domainState:H,sendFrame:t=>yn(t),getSelfId:()=>o$2,emitter:n$1,logger:k,keepRaw:true,decrypt:{crypto:N,resolveChannelKey:Ot,resolveUserPrivateKey:er,onDecryptRecovery:K}}),du=gb$1({getSelfId:()=>o$2,sendFrame:t=>yn(t),emitter:n$1}),lu=pb({emitter:n$1,getSelfId:()=>o$2}),uu=lb({sendFrame:t=>yn(t),emitter:n$1,getSelfId:()=>o$2,domainState:{reconcileDirectContactEstablishedNotice:H.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){H.removeConversation(t);return}t.conversationType==="direct"&&Rn(t,"friend_relation_removed"),H.removeConversation(t);})},resetDirectReadReceiptPreference:t=>F$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:Dn.updateRelationshipFromEvent}),pu=qb({sendFrame:t=>yn(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:H.applyTransferStatusBySerialNumber}}),mu=kb({getSelfId:()=>o$2,sendFrame:t=>yn(t),emitter:n$1}),fu=jb({getSelfId:()=>o$2,domainState:H,sendFrame:t=>yn(t),emitter:n$1,onRelationshipChanged:Dn.updateRelationshipFromEvent}),Eo=o({sendFrame:t=>yn(t),emitter:n$1,getSelfId:()=>o$2,isAuthenticated:()=>Lt(),domainState:H}),Ao=B$1({sendFrame:t=>yn(t),emitter:n$1,getSelfId:()=>o$2,isAuthenticated:()=>Lt(),domainState:H}),Ri=[...Eo.handlers,...Ao.commandHandlers],gu=2e3,or,To=false,wi=new Set;async function Ei(){if(To||!m$1||!Lt())return;let t=await c.getLoginContext();if(t!==null){To=true;try{let l=[];for(;;){let A=await Ja({http:P,userId:t.userId,clientType:a$1,deliveredMsgIds:l});u.record("info","sdk","call","signal-offline-pull",()=>({data:{count:A.items.length,cmdIds:A.items.map(U=>`0x${U.cmdId.toString(16)}`)}})),A.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let U of A.items){if(n$1.emit({type:"notification",cmdId:U.cmdId,name:"OFFLINE_SIGNAL"}),U.msgId!==""&&wi.has(U.msgId))continue;U.msgId!==""&&wi.add(U.msgId);let te=Ri.find(se=>se.command===U.cmdId);te!==void 0&&te.handler(U.cmdId,U.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{To=false;}}}function yu(){Ei(),or===void 0&&(or=setInterval(()=>{Ei();},gu));}function Ai(){or!==void 0&&clearInterval(or),or=void 0;}let Iu=mb({domainState:H,sendFrame:t=>yn(t),getSelfId:()=>o$2,emitter:n$1,logger:k,keepRaw:true}),vu=Ta$1({domainState:rr,getSelfId:()=>o$2,prefetchGroupKey:gn,clearGroupKeys:t=>{Be?.clearGroupKeys(t);},clearConversationTermination:t=>tr(t)}),hu=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&vu.handleMessage(t.message);}),Ti=Ma({domainState:rr,getSelfId:()=>o$2,prepareChannelKey:t=>{u.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:xe!==void 0&&xe.getCachedChannelKey(t)!==null}})),xe!==void 0&&xe.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=xe!==void 0&&xe.getCachedChannelKey(t)!==null;xe?.clearChannelKey(t),u.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>tr(t),stopChannelHistory:t=>{let l=Ne(t);Cn(t),H.messageWindow.info().conversationId===t&&H.messageWindow.reset(),u.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:Ne(t)}}));}}),Cu=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:H.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Ti.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),bu=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"]),Mu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Su=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&&(bu.has(A)&&qn?.invalidateChannelMembers(l.conversationId).catch(U=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:U}});}),Mu.has(A)&&it.invalidate(l.conversationId).catch(U=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:U}});}));}),_i=Vc({fetchMessagesById:Mi,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:H,emitter:n$1}),Di=Dd({fetchMessagesById:Si,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:H,emitter:n$1}),vt=kd({...st===void 0?{}:{joinApplications:st},http:P,clientType:a$1,buildOfflineDecrypt:()=>ze("history"),onContentDecodeError:O,onReaction:wn,...xe===void 0&&ve===void 0?{}:{prepareKey:t=>Bn([t])}});nn=async(t,l,A)=>{let{context:U}=await vt.loadMessageContext(t,l,A);return U.messages};let Pu=Od({authProvider:c,emitter:n$1,domainState:H,loadMessageContext:vt.loadMessageContext,isActive:()=>m$1,getHistoryGeneration:()=>Ye,getHistoryEpoch:Ne}),_o=_l({domainState:H,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$1({http:P,userId:A.userId,clientType:a$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(te=>te.channelId===t)},report:(t,l,A)=>u.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:A}))}),Do=Ya$1({domainState:H,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:P,userId:A.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$1,logger:k,onReadCommitted:_o.request,onReadSettled:_o.settled,syncRead:{getSelfId:()=>o$2,sendFrame:t=>yn(t)}}),Ru=Xa$1({getSelfId:()=>o$2,applyRemoteRead:t=>Do.applyRemoteRead(t),emitter:n$1,logger:k}),wu=ab$1([$a({domainState:H,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({http:P,userId:l.userId,groupId:t});},emitter:n$1,logger:k,isAuthenticated:()=>Lt(),syncRead:{getSelfId:()=>o$2,sendFrame:t=>yn(t)}}),Do,bb({domainState:H})]),ir=Ab({getSelfId:()=>o$2,sendFrame:t=>yn(t),onListenerError:()=>n$1.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Eu=n$1.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&ir.setAuthenticated(false);}),Me=wb({transport:y,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:H,logger:k,decrypt:{crypto:N,resolvePrivateKey:({msgType:t})=>t===1?ve?.getCachedPrivateKey(o$2)?.privateKey??null:null,onDecryptError:t=>G("live",t),onDecryptRecovery:K},encryptSend:Le===void 0&&xe===void 0?void 0:{crypto:N,resolvePublicKey:t=>Le?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Nn},media:ee!==void 0?{transfer:ee,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=>C$1.wait(t),preview:Ie,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}}}));},...Y===void 0?{}:{assetCache:Y,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:nu,commandHandlers:[...ir.commandHandlers,...uu,...lu,...pu,...mu,...fu,...Ri,...ou,...iu,...Iu,...au,...cu,...du,...Ru,...su],readStrategies:wu,canSendDirectReadReceipt:t=>{if(!F$1.isDirectReadReceiptEnabled(t))return false;let l=Dn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:tu,channelMessageDeletion:{resolveProfile:t=>Tn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>H.refreshConversationProfile(t,"channel")},editStrategies:ru,storage:M,onAuthenticated:()=>{ir.setAuthenticated(true);for(let l of Se)l.resumeMedia();let t=Z;Z=true,(t||we==="auto")&&Li().catch(()=>{}),yu();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);ye=t=>Me.suppressDirectReadReceipts(t),v=t=>Me.resumeDirectReadReceipts(t),yn=Me.sendFrame,Lt=()=>Me.state==="authenticated",Lr=Me.onChatAck,Rn=Me.terminateConversationSending,Pi=Me.markOutboxConversationTerminated,tr=Me.clearOutboxConversationTerminated;let ki=hd({operations:{getPending:Me.getPendingOutbox,retry:Me.retryOutboxMessage,cancel:Me.cancelOutboxMessage},emitter:n$1,isActive:()=>m$1}),Ve=Kd({connection:Me,domainState:H,crypto:N,settleEmptyGroupRead:async t=>{let l=tt.get(t.conversationId)??0,A=H.getSession(t),U=A===void 0,te=A?.unreadCount??0,se=A?.mentionUnreadCount??0,oe=te,V=se,ie=()=>{let Q=H.getSession(t);if(!m$1||U||Q===void 0||l!==(tt.get(t.conversationId)??0)||Q.groupState!==void 0&&Q.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return Q},ce=n$1.subscribe(Q=>{if(!(!("conversation"in Q)||Q.conversation?.conversationType!=="group"||Q.conversation.conversationId!==t.conversationId)&&((Q.type==="session:removed"||Q.type==="conversation-history:cleared"||Q.type==="session:updated"&&Q.session.groupState!==void 0&&Q.session.groupState!=="active")&&(U=true),Q.type==="read:updated"||Q.type==="session:updated")){let ne=H.getReadState(t);if(ne===void 0)return;let J=ne.mentionUnreadCount??0;oe=Math.max(0,oe-Math.max(0,te-ne.unreadCount)),V=Math.max(0,V-Math.max(0,se-J)),te=ne.unreadCount,se=J;}});try{ie();let Q=await c.getLoginContext();if(ie(),Q===null||Q.userId!==o$2)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await na({http:P,userId:Q.userId,groupId:t.conversationId});let ne=ie(),J=H.getReadState(t),fe=Math.max(0,(J?.unreadCount??ne.unreadCount)-oe),Qe=Math.max(0,(J?.mentionUnreadCount??ne.mentionUnreadCount??0)-V);H.setReadState({...J??{...t,readCursor:ne.readCursor??"",unreadCount:ne.unreadCount},mentionUnreadCount:Qe}),H.applyServerUnread(t,fe);}finally{ce();}},...ee===void 0?{}:{mediaTransfer:ee},prepareDirectReadReceipt:async t=>{try{await Dn.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}}});}}}),Fr=Id({recoveryPort:g?.port,connection:Me,domainState:H,emitter:n$1,isActive:()=>m$1,preparePreview:be,prepareVideoPoster:he,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)}}));},...Y===void 0?{}:{assetCache:Y,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}}}));}},...ee===void 0?{}:{loaders:{loadImage:Ve.operations.loadImage,loadVideo:Ve.operations.loadVideo,loadVoice:Ve.operations.loadVoice,loadFile:Ve.operations.loadFile}}}),Ur=Ol({isActive:()=>m$1&&j==="ready"&&o$2!=="",maintain:async()=>{Fr.prune(),Me.expireRetainedUploads();let l=(await Promise.allSettled([q?Y?.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}}))});yt=()=>{Me.invalidateMediaAssetCacheWrites(),Fr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(Me.setConnectionAllowed(false),qe=db$1({onChange:(t,l)=>{if(!t)return $e=true,Me.setConnectionAllowed(false),m$1?(Tu(),Ki({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):je?.then(()=>{})},onError:t=>{_n=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 Au(t){if(!(qe===void 0||!m$1)){if(!$e){cn??=qe.start(r.forAccount(t).name("ephemeral","connection",`client-${a$1}`));let l=await cn;if(!m$1)return;if(m$1&&!$e&&l&&qe.owned){Me.setConnectionAllowed(true);return}}throw Me.setConnectionAllowed(false),await Me.connect(),_n!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:_n}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Kr=eb$1({onOnline:()=>{C$1.setOnline(true),Me.notifyOnline();},onOffline:()=>{C$1.setOnline(false),Me.notifyOffline();},onVisible:()=>{Ur.run(),Me.notifyVisible();for(let t of Se)t.resumeMedia();},onPageHide:()=>{ke&&Me.suspendForPageLifecycle();},onPageShow:()=>{if(Ur.run(),ke){Me.resumeFromPageLifecycle(),Me.notifyVisible();for(let t of Se)t.resumeMedia();}}},e$1.network);function Tu(){m$1=false,ge.abort(),W.dispose(),Ee.dispose(),Pe.dispose(),B?.dispose(),ke=false,We+=1,Kr.stop();}let _u=n$1.subscribe(t=>{!m$1||t.type!=="auth:invalid"||(ke=false,We+=1,$e=qe!==void 0,qe?.terminate(),Kr.stop());});async function ko(t){let l=await ve?.getUserPrivateKey(t)??null;return {crypto:N,resolvePrivateKey:({msgType:A})=>A===1?l?.privateKey??null:null,onDecryptError:A=>G("offline",A,t),onDecryptRecovery:K}}function Oi(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:A,limit:U})=>{let te=await c.getLoginContext();if(te===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let se=await ko(te.userId),oe=[];return {...await l({http:P,userId:te.userId,clientType:a$1,decryptDeps:se,deliveredMsgInfos:A,...U===void 0?{}:{limit:U},onReaction:ie=>oe.push(ie)}),reactions:oe}}}}let Du=()=>({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 U=[];return {...await Ga$1({http:P,userId:A.userId,clientType:a$1,decryptDeps:ct("offline"),prepareKeys:Ln,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:se=>U.push(se)}),reactions:U}}});async function xi(t){let l=[...new Map(t.map(te=>[J(te),te])).values()],A=0;await(async()=>{for(;A<l.length;){if(!m$1)return;let te=l[A++];if(!(H.getSession(te)===void 0||It(te)===void 0))try{if(await W.waitForBackground(ge.signal),!m$1||H.getSession(te)===void 0||It(te)===void 0)continue;B.invalidate(te,{preserveForeground:!0}),await z({conversation:te,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(se){if(!m$1||H.getSession(te)===void 0||It(te)===void 0)continue;n$1.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:se}}),u.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:te,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:se}}));}}})();}async function ku(){let t=await c.getLoginContext();if(t===null)return;let l=[],A=await Ha({http:P,userId:t.userId,clientType:a$1,decryptDeps:ct("offline"),prepareKeys:Ln,onReaction:U=>l.push(U)});if(m$1){for(let U of A.unreads)H.applyServerUnread({conversationType:"group",conversationId:U.groupId},U.unreadCount),gn(U.groupId);await Ni(A.messages,l),await xi(A.unreads.map(U=>({conversationType:"group",conversationId:U.groupId}))),ha(A);}}async function Ou(){let t=E("sync");u.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:a$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:a$1}}));try{await xu(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 xu(t){if(Tn===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 Tn.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 U=new Map(A.map(x=>[x.id,x]));for(let x of A){if($(x.channelState)){xe?.clearChannelKey(x.id),rr.removeConversationForMembershipTermination({conversationType:"channel",conversationId:x.id},`channel_${x.channelState}`);continue}let me=x.permissions.sendMessages?void 0:`channel_${x.channelState}`;H.setChannelRestriction(x.id,x.channelState,me,{permissions:x.permissions,...x.accessSnapshot===void 0?{}:{snapshot:x.accessSnapshot}}),H.updateConversationProfile({conversationType:"channel",conversationId:x.id},{title:x.name,avatar:x.avatar}),x.muted!==void 0&&H.setMuted({conversationType:"channel",conversationId:x.id},x.muted);}let te=new Map(A.map(x=>{let me={conversationType:"channel",conversationId:x.id},Fe=H.getReadState(me),Ke=H.getSession(me);return [x.id,{revision:H.getChannelReadRevision(me),pending:H.hasPendingChannelRead(me),readCursor:Fe?.readCursor??Ke?.readCursor??"",unreadCount:Ke?.unreadCount??Fe?.unreadCount??0,mentionUnreadCount:Ke?.mentionUnreadCount??Fe?.mentionUnreadCount??0}]})),se=A.map(x=>({channelId:x.id,readCursor:te.get(x.id).readCursor}));u.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:se.length,channelsWithReadCursor:se.filter(x=>x.readCursor!=="").length,clientTypeHeader:a$1,clientTypeBody:a$1}}));let oe=await ya$1({http:P,userId:l.userId,clientType:a$1,channels:se,operationId:t,decryptDeps:ze("offline"),prepareKeys:x=>Bn(x.filter(me=>{let Fe=U.get(me)?.channelState;return Fe===void 0||!an(Fe)})),onContentDecodeError:O,onReaction:wn});if(!m$1)return;u.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:oe.length,lastMessageCount:oe.filter(x=>x.last!==void 0).length,decryptFailedLastCount:oe.filter(x=>x.last?.encryption.decryptFailed===true).length,unknownContentLastCount:oe.filter(x=>x.last?.contentType==="unknown"&&x.last.encryption.decryptFailed!==true).length}}));let V=new Set(oe.filter(x=>{let me=te.get(x.channelId),Fe={conversationType:"channel",conversationId:x.channelId},Ke=H.getReadState(Fe),Yn=H.getSession(Fe);return me===void 0||me.pending||H.hasPendingChannelRead(Fe)||H.getChannelReadRevision(Fe)!==me.revision||(Ke?.readCursor??Yn?.readCursor??"")!==me.readCursor||(Yn?.unreadCount??Ke?.unreadCount??0)!==me.unreadCount||(Yn?.mentionUnreadCount??Ke?.mentionUnreadCount??0)!==me.mentionUnreadCount}).map(x=>x.channelId)),ie=oe.filter(x=>H.getConversationContext({conversationType:"channel",conversationId:x.channelId})!==void 0).map(x=>{let Fe=U.get(x.channelId)?.channelState,Ke=Fe!==void 0&&an(Fe)?Fe:an(x.channelState)?x.channelState:Fe??x.channelState,Yn=Ke==="active"?void 0:Ke===x.channelState?x.sendDisabledReason:`channel_${Ke}`;return {...x,channelState:Ke,sendDisabledReason:Yn}});for(let x of ie){let me=U.get(x.channelId);H.setChannelRestriction(x.channelId,x.channelState,x.sendDisabledReason,me===void 0?void 0:{permissions:me.permissions,...me.accessSnapshot===void 0?{}:{snapshot:me.accessSnapshot}}),me!==void 0&&(H.updateConversationProfile({conversationType:"channel",conversationId:x.channelId},{title:me.name,avatar:me.avatar}),me.muted!==void 0&&H.setMuted({conversationType:"channel",conversationId:x.channelId},me.muted)),V.has(x.channelId)||H.applyChannelReadSummary({conversationType:"channel",conversationId:x.channelId},x),an(x.channelState)&&xe?.clearChannelKey(x.channelId);}let ce=Ye,Q=new Map(ie.map(x=>[x.channelId,Ne(x.channelId)])),ne=x=>{let me=H.getConversationContext({conversationType:"channel",conversationId:x});return m$1&&ce===Ye&&Q.get(x)===Ne(x)&&me!==void 0&&(me.channelState===void 0||!an(me.channelState))},J=x=>{if(!m$1||ce!==Ye)return [];let me=x.filter(Fe=>ne(Fe.conversationId));return me.length>0&&H.upsertMessages(me,"offline",{applyChannelLifecycleEffects:true}),me};J(ie.flatMap(x=>x.last===void 0?[]:[x.last])),await xi(ie.filter(x=>x.last===void 0&&!an(x.channelState)).map(x=>({conversationType:"channel",conversationId:x.channelId})));let fe=ie.filter(x=>!V.has(x.channelId)&&!an(x.channelState)&&x.unreadCount>0&&x.readCursor!=="");u.record("debug","sdk","sync","channel-offline-plan",()=>{let x={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let me of ie)V.has(me.channelId)?x.staleRead+=1:an(me.channelState)?x.historyBlocked+=1:me.unreadCount<=0?x.zeroUnread+=1:me.readCursor===""&&(x.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:ie.length,eligibleChannelCount:fe.length,staleReadSkippedCount:x.staleRead,historyBlockedSkippedCount:x.historyBlocked,zeroUnreadSkippedCount:x.zeroUnread,emptyReadCursorSkippedCount:x.emptyReadCursor,direction:0,contain:0,count:Jt}}});let Qe=[],Ge=new Map(fe.map(x=>[x.channelId,x.readCursor])),Mn=[];for(let x of fe){let me={conversationType:"channel",conversationId:x.channelId},Fe=M?.supportsChannelSyncCheckpoint!==true?void 0:Oa$1(await M.getMeta(Na$1(me)),me);if(!ne(x.channelId))continue;let Ke=Fe?.startIndex===x.readCursor;Mn.push({channelId:x.channelId,baseIndex:Ke?Fe.baseIndex:x.readCursor}),u.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:me,data:{resumed:Ke}}));}let On=[],He=[],Ze;if(await za$1({http:P,userId:l.userId,clientType:a$1,operationId:t,pulls:Mn,messageCount:Jt,signal:ge.signal,beforePage:()=>W.waitForBackground(ge.signal),isChannelCurrent:ne,yieldToEventLoop:b$1,decryptDeps:{...ze("offline"),onDecryptRecovery:x=>He.push(x)},prepareKeys:x=>Bn(x,{recoverExistingMessages:false}),onContentDecodeError:O,onReaction:x=>On.push(x),onPage:async(x,me)=>{let Fe=On.splice(0),Ke=He.splice(0),xo=(async()=>{for(let ht of me.pulls){let ji={conversationType:"channel",conversationId:ht.channelId},Ct=()=>ne(ht.channelId);if(!Ct())continue;let Gr=Ke.filter(Fn=>Fn.conversation.conversationId===ht.channelId),zi=()=>{Qe.push(...J(x.filter(Fn=>Fn.conversationId===ht.channelId)));for(let Fn of Fe)Ct()&&Fn.conversation.conversationId===ht.channelId&&wn(Fn);};if(M?.supportsChannelSyncCheckpoint!==true){zi();for(let Fn of Gr)Ct()&&K(Fn);continue}if(!await H.commitChannelSyncPage([ji],zi,Ct,async()=>{if(Gr.length>0&&M.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Fn of Gr)await M.saveDecryptRecovery(Fn);})||!Ct())continue;let Vi=me.nextBaseIndexes[ht.channelId];Vi!==void 0&&await H.saveChannelSyncCheckpoint({version:1,conversation:ji,startIndex:Ge.get(ht.channelId),baseIndex:Vi},Ct);for(let Fn of Gr)Ct()&&xr(Fn).catch(ep=>n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:ep}}));}})();Te.add(xo);try{await xo;}finally{Te.delete(xo);}}}).catch(x=>{Ze={cause:x};}),!m$1)return;let on=ie.flatMap(x=>{let me=x.last;if(me===void 0||nr(me))return [];let Fe=me.extensions?.historyCursor;return [{summary:x,last:me,historyCursor:typeof Fe=="string"?Fe.trim():""}]}),pn=(x,me)=>`${x}:${me}`,Sn=new Map,Jn=new Set;for(let{summary:x,last:me}of on){let Fe=H.getConversationMessage({conversationType:"channel",conversationId:x.channelId},me.id);if(Fe===void 0||!nr(Fe))continue;let Ke=pn(x.channelId,me.id);Sn.set(Ke,Fe),Jn.add(Ke);}for(let x of Qe)nr(x)&&Sn.set(pn(x.conversationId,x.id),x);let Hn=on.filter(({summary:x,last:me,historyCursor:Fe})=>Fe!==""&&!V.has(x.channelId)&&!an(x.channelState)&&!Sn.has(pn(me.conversationId,me.id))&&!Mo.has(pn(me.conversationId,me.id))),ln=on.filter(({summary:x,last:me})=>!V.has(x.channelId)&&!an(x.channelState)&&!Jn.has(pn(me.conversationId,me.id))&&Sn.has(pn(me.conversationId,me.id))).length;u.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:on.length,decryptFailedLastCount:on.filter(({last:x})=>x.encryption.decryptFailed===true).length,unknownContentLastCount:on.filter(({last:x})=>x.contentType==="unknown"&&x.encryption.decryptFailed!==true).length,localRecoveredCount:Jn.size,offlineRecoveredCount:ln,contextRecoveryCount:Hn.length,staleReadSkippedCount:on.filter(x=>V.has(x.summary.channelId)).length,historyBlockedSkippedCount:on.filter(x=>an(x.summary.channelState)).length,missingHistoryCursorCount:on.filter(x=>x.historyCursor==="").length}}));let cr=async({summary:x,last:me,historyCursor:Fe})=>{try{if(await W.waitForBackground(ge.signal),!ne(x.channelId))return;let{message:Ke}=await vt.loadMessageContext(x.channelId,Fe,l.userId,ge.signal),Yn=H.getConversationContext({conversationType:"channel",conversationId:x.channelId});if(!m$1||Yn?.type!=="channel"||Yn.channelState!==void 0&&an(Yn.channelState))return;if(Ke.conversationType!=="channel"||Ke.conversationId!==x.channelId||Ke.id!==me.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${x.channelId}, messageId=${me.id}\uFF09`);if(!nr(Ke)){if(Ke.contentType==="unknown"&&Ke.encryption.decryptFailed!==!0){Mo.add(pn(Ke.conversationId,Ke.id)),u.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},data:{messageId:me.id,reason:Ke.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${x.channelId}, messageId=${me.id}\uFF09`)}return Ke}catch(Ke){u.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Ke},data:{messageId:me.id}}));return}},Kt=[];for(let x of Hn){if(!m$1)break;Kt.push(await cr(x));}for(let x of Kt)x!==void 0&&Sn.set(pn(x.conversationId,x.id),x);let Zu=Kt.filter(x=>{if(x===void 0)return false;let me=H.getConversationMessage({conversationType:"channel",conversationId:x.conversationId},x.id);return me===void 0||!nr(me)});if(J(Zu),Ze!==void 0)throw Ze.cause;u.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:A.length,terminalProfileCount:A.filter(x=>$(x.channelState)).length,sessionCount:oe.length,acceptedSessionCount:ie.length,sessionLastCount:ie.filter(x=>x.last!==void 0).length,recoveredSessionLastCount:on.filter(({last:x})=>Sn.has(pn(x.conversationId,x.id))).length,offlineMessageCount:Qe.length}}));}let ar=null,Oo=false;function Nu(){return ar!==null?(Oo=true,ar):(ar=(async()=>{let l;do{Oo=false,l=void 0;try{await Ou();}catch(A){l=A;}}while(Oo);if(l!==void 0)throw l})().finally(()=>{ar=null;}),ar)}async function Ni(t,l=[]){if(!m$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88");await H.commitReceivedMessages(t,"offline",void 0,{events:l??[],apply:U=>Ft.ingest(U,"offline")});let A=t.flatMap(U=>{let te=L.get(f$1({conversation:{conversationType:U.conversationType,conversationId:U.conversationId},messageId:U.id}));return te===void 0?[]:[te]});if(await Promise.all(A),!m$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88")}let Lu=Hb({commitBatch:Ni,pullers:[Oi("chat",Ca),Oi("owner_chat",Da),Du()],domainState:H,emitter:n$1,logger:k,yieldToEventLoop:b$1});function Fu(){return m$1&&j==="ready"&&Je&&Oe===0&&Me.state==="authenticated"}async function Li(){if(qe!==void 0&&(!qe.owned||$e))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=Pe.begin(),l=Ee.begin(),A=ku().catch(te=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:te}}),te}),U=Nu().catch(te=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:te}}),te});Oe+=1;try{let se=(await Promise.allSettled([Lu.sync({rejectOnFailure:!0}),A,U])).find(oe=>oe.status==="rejected");if(se?.status==="rejected")throw se.reason}finally{l(),t(),Oe-=1,Je=Me.state==="authenticated",B?.notifySchedulingChanged();}}async function Uu(){if(j==="ready")return;j="preparing";let t=await c.getLoginContext();if(m$1){if(t!==null){if(await Au(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(ve!==void 0&&ve.getUserPrivateKey(t.userId),M!==void 0)try{if(await M.open({namespace:t.userId}),q=!0,!m$1)return;try{await F$1.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 H.hydrate(()=>m$1),!m$1))return;for(let l of H.getSessions())l.title===""&&l.type!=="supergroup"&&H.refreshConversationProfile(l.id,l.type);if(await Me.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(Be!==void 0)for(let l of H.getSessions())l.type==="group"&&gn(l.id);}m$1&&(j="ready",o$2!==""&&Ur.start());}}function Fi(){if($e)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(j==="ready")return Promise.resolve();if(Vn!==null)return Vn;let t=Date.now();return u.record("info","sdk","session","prepare-start"),Vn=Uu().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(()=>{Vn=null;}),Vn}function Ku(t){if($e)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!m$1||$e)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(ke=true,Me.state==="authenticated")return Promise.resolve();if(w$1!==null)return w$1;we=t?.initialSync??"auto",Z=false;let l=Date.now();u.record("info","sdk","connection","connect-start",()=>({data:{initialSync:we}}));let A=We;return w$1=(async()=>{await Fi(),!(!m$1||!ke||A!==We)&&(Kr.start(),await Me.connect());})().then(()=>u.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(U=>{throw u.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:U}})),U}).finally(()=>{w$1=null;}),w$1}function Ui(t){u.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),ke=false,We+=1,Ai(),Me.disconnect(t),Kr.stop();}function Ki(t,l={}){if(je!==void 0)return je;let A,U;return je=new Promise((te,se)=>{A=te,U=se;}),Bu(t,l).then(A,U),je}async function Bu(t,l){let A=Date.now(),U;u.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),m$1=false,ge.abort(),W.dispose(),Ee.dispose(),Pe.dispose(),_o.dispose(),l.notifyReplacement&&n$1.emit({type:"session:replaced"});let te=Ur.dispose(),se=B?.dispose();Zl(),Eu(),ir.dispose(),Ai(),Eo.dispose(),Ao.dispose(),Ft.dispose(),ki.dispose(),Fr.dispose(),le.dispose(),Xt.dispose(),Dn.dispose();let oe=Me.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let fe of Se)fe.close();Se.clear(),Ye+=1,Me.markOutboxForLogout(t?.pendingMessages??"fail"),_i.dispose(),Di.dispose(),vt.dispose(),it.dispose(),Wn.dispose(),fn.dispose(),ue.dispose();let V=F$1.dispose();p$1.dispose();let ie=H.invalidateAndDrainDraftOperations();b.dispose(),hu(),Cu(),Su(),Ti.dispose(),Do.reset(),xe?.clearAll(),rt.clear(),bo.clear(),Mo.clear(),Ui("im-logout"),(l.requireStorageClose||qe?.owned===true)&&await Vn?.catch(()=>{});try{await oe;}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 te;try{await g?.dispose(l.preserveUploadRecovery===!0);}catch(fe){U=fe,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 ie,await V,await se,await Promise.allSettled([...Te]),await H.waitForChannelSyncPersistence(),await Promise.allSettled([...L.values(),...bn.values()]),await Promise.all([...i$1.values()]),H.clearSession();let ce=t?.localData==="purge"?o$2:"",Q=ce===""?void 0:U,ne,J=true;if(M!==void 0)try{await M.close();}catch(fe){J=false,ce!==""&&(Q=fe),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:fe}});}if(ce!==""&&J)try{_!==void 0?await _.purgeCurrentAccount({namespaceFactory:r,accountId:ce}):await fb$1(ce,{namespaceFactory:r}),Q===void 0&&(ne=ce);}catch(fe){Q=fe,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:fe}});}if(j="empty",u.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-A,data:{purgedAccountId:ne,purgeFailed:Q!==void 0}})),Or(),de(),_u(),$e=true,(l.requireStorageClose||qe!==void 0)&&!J)throw new Error("Previous chat page could not close its account storage");return qe?.stop(),{...ne===void 0?{}:{purgedAccountId:ne},...Q===void 0?{}:{purgeError:Q}}}function Gu(){return {sessionState:j,connectionState:Me.state,...o$2!==""?{userId:o$2}:{},prepared:j==="ready",connectionDesired:ke,authenticated:Me.state==="authenticated",receiving:Pe.receiving,syncing:Ee.receiving}}function Hu(t){return n$1.subscribe(t)}function ju(){return {connectionState:Me.state,pendingOutbox:Me.getPendingOutbox()}}function zu(){return H.getConversationList()}xn=async({conversation:t,newestLoaded:l,cursor:A,limit:U,signal:te})=>{te?.throwIfAborted();let{conversationId:se}=t,oe=H.getConversationContext(t);if(oe===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${se}\uFF09`);if(oe.type==="direct"||oe.type==="robot")return {messages:[],exhausted:true};if(oe.type==="group"){if(oe.groupState!==void 0&&oe.groupState!=="active")return {messages:[],exhausted:true};let V=await c.getLoginContext();if(V===null)return {messages:[],exhausted:true};let ie=A===void 0?l?.serverTime??l?.createdAt:Gl(A,se);if(ie===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${se}, messageId=${l?.id??""}\uFF09`);let ce=await Ia({signal:te,http:P,userId:V.userId,clientType:a$1,groupId:se,baseTime:ie,direct:2,limit:U,decryptDeps:ct("history"),prepareKeys:Ln,onReaction:wn});te?.throwIfAborted(),ce.messages.length>0&&H.upsertMessages(ce.messages,"offline",{backfillOnly:true});let Q=Er({conversationId:se,direction:"newer",baseTime:ie,batchSize:ce.batchSize,boundaryTime:ce.newestEntryTime,limit:U});return {messages:ce.messages,...Q}}if(oe.type==="channel"){if(oe.channelState!==void 0&&an(oe.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=${se}, messageId=${l?.id??""}\uFF09`);let ie=Ye,ce=Ne(se),Q=await c.getLoginContext();if(Q===null)return {messages:[],exhausted:true};let ne=A===void 0?(await vt.loadMessageContext(se,V,Q.userId,te)).context:await vt.loadNewerPage(se,V,Q.userId,te);te?.throwIfAborted();let J=H.getConversationContext(t);return !m$1||ie!==Ye||ce!==Ne(se)||J?.type!=="channel"||J.channelState!==void 0&&an(J.channelState)?{messages:[],exhausted:true}:(ne.messages.length>0&&H.upsertMessages(ne.messages,"offline",{backfillOnly:true}),{messages:ne.messages,exhausted:!ne.hasNewer,...!ne.hasNewer||ne.nextCursor===void 0?{}:{nextCursor:ne.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${oe.type}`)};function Vu(t){let l=t.conversationId,A=o$2,U=Ye,te=Ne(l),se,oe;return async({readCursor:V,cursor:ie,signal:ce,isCurrent:Q})=>{let ne=W.enterForeground();try{let J=()=>{let He=H.getConversationContext(t);return m$1&&o$2===A&&Q()&&U===Ye&&te===Ne(l)&&He?.type==="channel"&&(He.channelState===void 0||!an(He.channelState))};if(ce.throwIfAborted(),!J()||ie!==void 0&&(se!==V||oe===void 0))return;let fe=await c.getLoginContext();if(ce.throwIfAborted(),fe===null||fe.userId!==A||!J())return;let Qe=[],Ge=[],Mn=await S({http:P,userId:fe.userId,clientType:a$1,channelId:l,index:ie??V,containAnchor:ie===void 0,signal:ce,decryptDeps:{...ze("history"),onDecryptRecovery:He=>Ge.push({...He,source:"history"})},prepareKey:He=>Bn([He],{recoverExistingMessages:!1}),onContentDecodeError:O,onReaction:He=>Qe.push(He)});if(ce.throwIfAborted(),!J())return;if(ie===void 0){let He=Mn.messages.find(Ze=>Ze.extensions?.historyCursor===V);if(He===void 0)return;se=V,oe=He.sortKey;}if(oe===void 0||(Mn.messages.length>0&&H.upsertMessages(Mn.messages,"offline",{backfillOnly:!0}),!J()))return;for(let He of Qe){if(!J())return;wn(He);}for(let He of Ge){if(!J())return;K(He);}return J()?{messages:Mn.messages.map(He=>{let Ze=H.getConversationMessage(t,He.id);if(Ze===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Ze}),readCursorSortKey:oe,exhausted:!Mn.hasNewer,...Mn.nextCursor===void 0?{}:{nextCursor:Mn.nextCursor}}:void 0}finally{ne();}}}async function Bi(){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 ko(t.userId),A=await Ea({http:P,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:wn}),U=await Fa$1({http:P,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:wn}),te=[...A,...U];return H.upsertMessages(te,"offline"),te}async function qu(){await Li();}let Wu=2;function kn(t){let l=re({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function $u(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Ju(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 Gi(t){if(!m$1)throw kn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Yu(t){let l=t?.conversationType,A=t?.conversationId;if(l==="supergroup")throw kn({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 kn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:A.trim()})}function Ut(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 Xu(t){let l=Yu(t);if(Gi(l),H.getSession(l)!==void 0)return l;let A=Pe.begin(),U=false,te=n$1.subscribe(oe=>{oe.type==="session:removed"&&oe.conversation.conversationType===l.conversationType&&oe.conversation.conversationId===l.conversationId&&(U=true);}),se=()=>{if(Gi(l),U)throw kn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let Q=Wn.peekItem("individual",l.conversationId);if(Q!==void 0)return H.prepareConversation(Ut(l,{title:Q.displayName||Q.cardDisplayName,...Q.avatarUrl===void 0?{}:{avatar:Q.avatarUrl}})),l;let ne=await Dn.getRelationship(l.conversationId);if(se(),ne!=="friend")throw kn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:ne})});let J=await Dn.getProfile(l.conversationId);if(se(),J===null||J.id!==l.conversationId)throw kn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return H.prepareConversation(Ut(l,{title:J.remark??J.nickname,...J.avatar===void 0?{}:{avatar:J.avatar},...J.muted===void 0?{}:{muted:J.muted}})),l}if(l.conversationType==="group"){let Q=H.isMembershipTerminated(l),ne=Wn.peekItem("group",l.conversationId);if(ne!==void 0&&!Q)return H.prepareConversation(Ut(l,{title:ne.displayName||ne.cardDisplayName,...ne.avatarUrl===void 0?{}:{avatar:ne.avatarUrl},groupState:"active"})),l;if(rn===void 0)throw kn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let J=await rn.getGroupProfile(l.conversationId,Q?{forceRefresh:!0}:void 0);if(se(),J===null||J.id!==l.conversationId)throw kn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(J.isInGroup===!1||Q&&J.isInGroup!==!0||J.status!==void 0&&J.status!==Wu)throw kn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...J.status===void 0?{}:{status:J.status},...J.isInGroup===void 0?{}:{isInGroup:J.isInGroup}})});return H.prepareConversation(Ut(l,{title:J.name,...J.avatar===void 0?{}:{avatar:J.avatar},...J.muted===void 0?{}:{muted:J.muted},groupState:"active"}),{membershipConfirmed:Q}),Q&&(se(),tr({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let Q=fn.peek(l.conversationId);return H.prepareConversation(Ut(l,{title:Q?.displayName??l.conversationId,...Q?.avatarUrl===void 0?{}:{avatar:Q.avatarUrl}})),l}if(Tn===void 0)throw kn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let oe=H.isMembershipTerminated(l),V=await Tn.getProfile(l.conversationId,oe?{forceRefresh:!0}:void 0);if(se(),V===null||V.id!==l.conversationId)throw kn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let ie=V.channelState==="active"||V.channelState==="muted",ce=V.channelState==="muted"&&V.accessSnapshot?.allMembersMuted===!0&&V.role!=="owner"&&V.role!=="admin";if(!ie||ce)throw kn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:V.channelState,role:V.role,hiddenByAllMemberMute:ce})});return H.prepareConversation(Ut(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:oe}),oe&&(se(),tr({conversationType:"channel",conversationId:l.conversationId})),l}catch(oe){if($u(oe))throw oe;let V=Ju(oe);throw kn({...V,conversation:l,cause:oe})}finally{te(),A();}}let sr={...Fd({...h$1===void 0?{}:{coreClient:h$1},authProvider:c,http:P,resolveInput:R,domainState:H,operations:{list:zu,pullOffline:Bi,sync:qu,prefetchRecent:(t,l)=>B.prefetchRecent(t,l)},beforeDeleteConversation:dn,terminateConversationSending:(t,l)=>Me.terminateConversationSending(t,l),resetConversationBackground:t=>ue.api.resetBackground(t),reportStorageError:(t,l)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>Me.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await Hi(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...ue.api,ensureOpenableConversation:Xu,getContext:t=>H.getConversationContext(t)};function Qu(t,l=true){let A=new AbortController,U={...t,resumeMedia(){!l||!m$1||A.signal.aborted||Me.state!=="authenticated"||t.ref.conversationType==="robot"||Me.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(),Se.delete(U);}};return go(U,t),Se.add(U),l&&U.resumeMedia(),U}function Br(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()),Qu(t,A)}async function Hi(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 U=B?.enterForeground(t),te=W.enterForeground(),se=Pe.begin();try{let oe={beginReceiving:Pe.begin,domainState:H,invalidateHistory:dn,emitter:n$1,drafts:p$1.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:ie,emoji:ce,action:Q})=>{if(V.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let ne={conversationType:V.conversationType,conversationId:V.conversationId};return Q==="toggle"?Ft.toggle({conversation:ne,parentMessageId:ie,emoji:ce}):Ft.set({conversation:ne,parentMessageId:ie,emoji:ce,action:Q==="add"?0:1})},markRead:Ve.operations.markRead,markConversationRead:Ve.operations.markConversationRead,markVisibleMessages:Ve.operations.markVisibleMessages,markDirectMediaConsumed:Ve.operations.markDirectMediaConsumed,prepareMediaPreview:be,getSelfId:()=>o$2,isOutboxOwned:V=>Me.getPendingOutbox().some(ie=>ie.id===V),hasOutboxForConversation:V=>Me.getPendingOutbox().some(ie=>ie.conversationType===V.conversationType&&ie.conversationId===V.conversationId),resolveSearchHistoryAnchor:b.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let V={conversationType:"direct",conversationId:t.conversationId},ie=await sl(V,{...oe,getRelationship:Dn.getRelationship,shouldCheckRelationship:()=>Me.state==="authenticated",appendContactRequiredTextFailure:Q=>H.appendDirectContactRequiredTextFailure({conversationId:Q.conversationId,senderId:o$2,text:Q.text,...Q.refMessageId===void 0?{}:{refMessageId:Q.refMessageId}}),setMuted:(Q,ne)=>sr.setMuted(Q,ne),fetchMessagesByIdBatch:Q=>eu(V,Q)},l),ce=Br(ie,l.signal,A!=="read");return Nr(V),ce}case "group":{let V={conversationType:"group",conversationId:t.conversationId},ie=await cl(V,{...oe,getSendPermissionError:Q=>{let ne=H.getConversationContext(V),J=ne?.type==="group"?ne.groupState:"unknown";if(!(J===void 0||J==="active"))return re({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:Q,retryable:!1,conversation:V,details:Object.freeze({groupState:J})})},setMuted:(Q,ne)=>sr.setMuted(Q,ne),fetchMessagesByIdBatch:Q=>Mi(V.conversationId,Q)},l),ce=Br(ie,l.signal,A!=="read");return Nr(V),ce}case "channel":{let V={conversationType:"channel",conversationId:t.conversationId},ie=await ul(V,{...oe,loadEntryUnreadPage:Vu(V),getSelfId:()=>o$2,deleteMessageForEveryone:Me.deleteChannelMessageForEveryone,reconcilePage:Pu.reconcilePage,getSendPermissionError:Q=>{let ne=H.getConversationContext(V),J=ne?.type==="channel"&&ne.channelState!==void 0?ne.channelState:"unknown_restricted",fe=La$1({channelState:J,nowMs:Date.now(),...ne?.type!=="channel"||ne.channelAccessSnapshot===void 0?{}:{snapshot:ne.channelAccessSnapshot},...ne?.type!=="channel"||ne.channelPermissions===void 0?{}:{permissions:ne.channelPermissions}});if(!(fe.channelState==="active"&&fe.permissions.sendMessages))return re({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:Q,retryable:!1,conversation:V,details:Object.freeze({channelState:fe.channelState,...fe.muteReason===void 0?{}:{muteReason:fe.muteReason}})})},setMuted:(Q,ne)=>sr.setMuted(Q,ne),fetchMessagesByIdBatch:Q=>Si(V.conversationId,Q)},l),ce=Br(ie,l.signal,A!=="read");return Nr(V),ce}case "robot":{let V={conversationType:"robot",conversationId:t.conversationId},ie=await dl(V,{...oe,setMuted:(ce,Q)=>sr.setMuted(ce,Q)},l);return Br(ie,l.signal,A!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{se(),U?.(),te();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Ve.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Hi,localData:kt,directory:Wn.search,robots:fn.api,search:b.api,applications:Xt.api,expressions:Dr.api,sessionFavorites:ho.api,outbox:ki.api,drafts:p$1.api,connection:Bd({operations:{prepare:Fi,connect:Ku,disconnect:Ui,subscribe:Hu,getSnapshot:ju,getLifecycle:Gu},getState:()=>Me.state}),conversations:sr,settings:F$1.api,push:ir.api,contact:Dn,group:qc({directory:Wn.groups,...rn===void 0?{}:{profile:rn},...h$1===void 0?{}:{coreClient:h$1},...ee===void 0?{}:{avatarTransfer:ee},domainState:{...rr,prepareConversation:t=>H.prepareConversation(t)},emitter:n$1,pinned:_i.operations}),channel:xd({directory:Wn.channels,...Tn===void 0?{}:{channelProfile:Tn},...qn===void 0?{}:{channelMembers:qn},...Kn===void 0?{}:{channelMentionMembers:Kn},mentionCandidates:it.api,applications:vt.applications,pinned:Di.operations,...h$1===void 0?{}:{coreClient:h$1},...ee===void 0?{}:{avatarTransfer:ee},crypto:N,domainState:{prepareConversation:t=>H.prepareConversation(t),setChannelRestriction:H.setChannelRestriction,removeConversationForMembershipTermination:rr.removeConversationForMembershipTermination,updateConversationProfile:H.updateConversationProfile,refreshConversationProfile:H.refreshConversationProfile},emitter:n$1,...xe===void 0?{}:{cacheCreatedSecretKey:(t,l)=>xe.primeChannelKey(t,l)},getSelfUserId:async()=>o$2!==""?o$2:(await c.getLoginContext())?.userId??""}),media:Fr.api,calls:zd(Eo),groupCalls:Rl(Ao),teardown:Ki}}function kf(e){let n=Of(e);return Vl(ql(n),e.coreApi!==void 0)}function ov(e){return ql(xf(e))}function Of(e){return {...jl(e),...e.coreApi===void 0?{}:{coreClient:zl(e.authProvider,e.coreApi)}}}function jl(e){let{authProvider:n,cache:r,clientType:d,connection:a,debug:c,endpointProvider:o,expressions:u,media:m,onRequestError:g,uploadRecovery:C}=e;return {authProvider:n,onRequestError:g,cache:r,clientType:d,connection:a,debug:c,endpointProvider:o,expressions:u,media:m,uploadRecovery:C}}function xf(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:a,channelProfile:c,contactApplications:o,coreApi:u,coreClient:m,directory:g,expressionProvider:C,sessionFavoriteProvider:h,http:P,network:y,profile:_,groupApplications:M,transport:L}=e;return {...jl(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:a,channelProfile:c,contactApplications:o,directory:g,expressionProvider:C,sessionFavoriteProvider:h,...m!==void 0?{coreClient:m}:u===void 0?{}:{coreClient:zl(e.authProvider,u)},http:P,network:y,profile:_,groupApplications:M,transport:L}}function zl(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 Vl(e,n){let r=md({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,i)=>i===void 0?e.media.cancel(s):e.media.cancel(s,i),retry:(s,i)=>e.media.retry(s,i),pause:s=>e.media.pause(s),resume:s=>e.media.resume(s),getUploadRecovery:s=>e.media.getUploadRecovery(s),resumeUpload:(s,i)=>e.media.resumeUpload(s,i),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)},a=s=>Promise.reject(re({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function c(s,i,f){if(!n)return a(s);try{return await i()}catch(S){throw ri(S,s,f)}}function o(s,i,f){if(!n)throw re({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:f});try{return i()}catch(S){throw ri(S,s,f)}}let u,m=s=>c("contacts.getRelationship",()=>e.contacts.getRelationship(s)),g=(s,i)=>c("groups.getProfile",async()=>{let f=await e.groups.getProfile(s,i);return f===null?null:wd(s,f)},s),C=(s,i)=>c("channels.getProfile",async()=>{let f=await e.channels.getProfile(s,i);return f===null?null:Ed(s,f)},s),h={listFirstPage:s=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>c("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,i)=>c("contacts.getProfile",async()=>{let f=await e.contacts.getProfile(s,i);return f===null?null:Rd(s,f)}),getRelationship:async s=>{let i=s.trim(),f={conversationType:"direct",conversationId:i},S=u?.beginProjectionUpdate(f),T=await m(s);return S!==void 0&&u?.updateRelationshipProjection(i,T,S),T},setRemark:(s,i)=>c("contacts.setRemark",()=>e.contacts.setRemark(s,{...i.name===void 0?{}:{name:i.name},...i.emails===void 0?{}:{email:[...i.emails]},...i.phones===void 0?{}:{phones:i.phones.map(f=>({countryCode:f.countryCode,mobile:f.mobile}))}})),searchUser:s=>c("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,i)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,i)),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,i)=>c("contacts.reportUser",()=>e.contacts.reportUser(s,i),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},P={search:s=>c("directory.search",()=>e.directory.search(s))},y={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:()=>a("groups.mentions.listAll"),refreshAll:()=>a("groups.mentions.refreshAll")},getProfile:async(s,i)=>{let f=u?.beginProjectionUpdate(s),S=await g(s,i);return f!==void 0&&u?.updateGroupProfileProjection(s,S,f),S},updateName:(s,i)=>c("groups.updateName",()=>e.groups.updateName(s,i),s),updateAvatar:(s,i)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(s,i),s),setMyNickname:(s,i)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(s,i),s),updateVerification:(s,i,f)=>c("groups.updateVerification",()=>e.groups.updateVerification(s,i,f),s),requestJoin:(s,i)=>c("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,i),s),joinByInviteCode:(s,i)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,i),s),inviteMembers:(s,i)=>c("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,i),s),removeMember:(s,i)=>c("groups.removeMember",()=>e.group.removeMember(s.conversationId,i),s),transferOwnership:(s,i)=>c("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,i),s),leave:(s,i)=>c("groups.leave",()=>e.group.leave(s.conversationId,i),s),peekPinnedMessage:s=>o("groups.peekPinnedMessage",()=>{let i=e.group.peekPinnedMessage(s.conversationId);return i===null?null:uo(s,i)},s),getPinnedMessage:s=>c("groups.getPinnedMessage",async()=>{let i=await e.groups.getPinnedMessage(s);return i===null?null:uo(s,i)},s),pinMessage:(s,i)=>c("groups.pinMessage",async()=>{let f=await e.groups.pinMessage(s,i);return uo(s,f)},s),unpinMessage:s=>c("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},_={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:()=>a("channels.mentions.getCachedPage"),prefetchFirstPage:()=>a("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>a("channels.mentions.refreshFirstPage"),listFirstPage:()=>a("channels.mentions.listFirstPage"),listNextPage:()=>a("channels.mentions.listNextPage"),searchFirstPage:()=>a("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>a("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>a("channels.mentions.searchNextPage")},getProfile:async(s,i)=>{let f=u?.beginProjectionUpdate(s),S=await C(s,i);return f!==void 0&&u?.updateChannelProfileProjection(s,S,f),S},updateName:(s,i)=>c("channels.updateName",()=>e.channel.updateName(s.conversationId,i),s),updateDescription:(s,i)=>c("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,i),s),updateAvatar:(s,i)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,i),s),updateVerification:(s,i,f)=>c("channels.updateVerification",()=>e.channels.updateVerification(s,i,f),s),requestJoin:(s,i)=>c("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,i),s),joinByInviteCode:(s,i)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,i),s),setAllMuted:(s,i)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,i),s),setMemberPrivateChatDisabled:(s,i)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,i),s),setMyNickname:(s,i)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,i),s),setMemberNickname:(s,i,f)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,i,f),s),inviteMembers:(s,i)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,i),s),removeMember:(s,i)=>c("channels.removeMember",()=>e.channel.removeMember(s.conversationId,i),s),addAdmin:(s,i)=>c("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,i),s),removeAdmin:(s,i)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,i),s),transferOwnership:(s,i)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,i),s),leave:(s,i)=>c("channels.leave",()=>e.channel.leave(s.conversationId,i),s),dismiss:s=>c("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>o("channels.peekPinnedMessage",()=>{let i=e.channel.peekPinnedMessage(s.conversationId);return i===null?null:po(s,i)},s),getPinnedMessage:s=>c("channels.getPinnedMessage",async()=>{let i=await e.channels.getPinnedMessage(s);return i===null?null:po(s,i)},s),pinMessage:(s,i)=>c("channels.pinMessage",async()=>{let f=await e.channels.pinMessage(s,i);return po(s,f)},s),unpinMessage:s=>c("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},M=pd({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let i=e.conversations.getContext(s);return i===void 0?void 0:ao({...i,draft:null})},subscribeConversations:s=>r.api.subscribe(i=>s(i.items)),subscribeContext:s=>e.connection.subscribe(i=>{i.type==="conversation-context:updated"&&i.conversation.conversationType!=="supergroup"&&s({conversationType:i.conversation.conversationType,conversationId:i.conversation.conversationId});}),getRelationship:m,getGroupProfile:g,getChannelProfile:C});u=M;let L=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 I(s,i={}){let f=e.conversations,S=e.openConversation,T=await f.ensureOpenableConversation(s);return T.conversationType==="direct"?S({conversationType:"direct",conversationId:T.conversationId},i):T.conversationType==="group"?S({conversationType:"group",conversationId:T.conversationId},i):T.conversationType==="robot"?S({conversationType:"robot",conversationId:T.conversationId},i):S({conversationType:"channel",conversationId:T.conversationId},i)}let D={get session(){return L},get capabilities(){return M.api},get conversations(){return r.api},get directory(){return P},get robots(){return e.robots},get contacts(){return h},get groups(){return y},get channels(){return _},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:I,dispose:async()=>{M.dispose(),r.dispose(),await e.dispose();}};return oi(D,()=>_d(e)),D}function iv(e,n){return Vl(e,n.coreApiAvailable)}function ql(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(),a=0,c=()=>Hl(e,d,r,a++),o=c(),u=false,m;async function g(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let i=o;await i.teardown(s),!u&&o===i&&(o=c());}async function C(){if(u)throw ut({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=o,i=await s.localData.getInfo();if(u||o!==s)throw ut({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()),ut({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:S})}if(!u&&o===s&&(o=c()),f.purgedAccountId!==i.accountScope)throw ut({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:f.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});d.emit({type:"local-data:cleared",accountScope:i.accountScope,category:"all"});}let h=Md({getRuntime:()=>o.localData,purgeCurrentAccount:C}),P={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(i=>{(i.type==="connection:changed"||i.type==="receiving:changed"||i.type==="syncing:changed")&&s(o.connection.getLifecycle());}))},y=Cd({subscribeCore:s=>o.connection.subscribe(s),getLifecycleSnapshot:()=>o.connection.getLifecycle(),getConversation:s=>{let i=o.conversations.list().find(f=>f.type===s.conversationType&&f.id===s.conversationId);return i===void 0?void 0:ao(i)},resolveContactApplicationAnswer:async s=>{let i=o,f=await i.contact.resolveApplicationAnswer(s.peerId,s.messageId);return o===i?f:null}}),_={listFirstPage:s=>o.contact.listFirstPage(s),listNextPage:s=>o.contact.listNextPage(s),getProfile:(s,i)=>o.contact.getProfile(s,i),getRelationship:s=>o.contact.getRelationship(s),setRemark:(s,i)=>o.contact.setRemark(s,i),searchUser:s=>o.contact.searchUser(s),requestFriendship:(s,i)=>o.contact.requestFriendship(s,i),blockUser:s=>o.contact.blockUser(s),listBlocked:()=>o.contact.listBlocked(),unblockUser:s=>o.contact.unblockUser(s),reportUser:(s,i)=>o.contact.reportUser(s,i),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,i)=>o.group.getProfile(s.conversationId,i),updateName:(s,i)=>o.group.updateName(s.conversationId,i),updateAvatar:async(s,i)=>{await o.group.updateAvatar(s.conversationId,i);},setMyNickname:(s,i)=>o.group.setMyNickname(s.conversationId,i),updateVerification:(s,i,f)=>o.group.updateVerification(s.conversationId,i,f),requestJoin:(s,i)=>o.group.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>o.group.joinByInviteCode(s.conversationId,i),getPinnedMessage:s=>o.group.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>o.group.pinMessage({groupId:s.conversationId,messageId:i}),unpinMessage:s=>o.group.unpinMessage(s.conversationId)},L={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,i)=>o.channel.getProfile(s.conversationId,i),updateVerification:(s,i,f)=>o.channel.updateVerification(s.conversationId,i,f),requestJoin:(s,i)=>o.channel.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>o.channel.joinByInviteCode(s.conversationId,i),setAllMuted:(s,i)=>o.channel.setAllMuted(s.conversationId,i),setMemberPrivateChatDisabled:(s,i)=>o.channel.setMemberPrivateChatDisabled(s.conversationId,i),setMyNickname:(s,i)=>o.channel.setMyNickname(s.conversationId,i),setMemberNickname:(s,i,f)=>o.channel.setMemberNickname(s.conversationId,i,f),dismiss:s=>o.channel.dismiss(s.conversationId),getPinnedMessage:s=>o.channel.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>o.channel.pinMessage({channelId:s.conversationId,messageId:i}),unpinMessage:s=>o.channel.unpinMessage(s.conversationId)};function I(){return m!==void 0||(u=true,m=o.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),m}let D={get session(){return P},get connection(){return o.connection},get conversations(){return o.conversations},get directory(){return o.directory},get robots(){return o.robots},get contacts(){return _},get groups(){return M},get channels(){return L},get events(){return y},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:I};return oi(D,()=>o.advancedMessageDiagnostics),D}var Nf=new TextEncoder;function Wl(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 $l(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))$l(r,n);return Object.freeze(e)}function Lf(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:$l(n),estimatedBytes:Nf.encode(r).byteLength}}catch{return}}function Ff(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 Uf(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&&Ff(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 Kf(e={}){let n=Wl(e.maxRecords,200,"maxRecords"),r=Wl(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,a=[],c=0,o=0,u=false;function m(h){let P=a.map(y=>y.record).filter(y=>h===void 0||Uf(y,h));return Object.freeze({records:Object.freeze(P),droppedCount:o,estimatedBytes:c,disposed:u})}function g(){let h=m();for(let P of d)try{P(h);}catch{}}function C(){a.length=0,c=0,o=0;}return {write(h){if(u)return;let P=Lf(h);if(P===void 0||P.estimatedBytes>r){o+=1,g();return}for(a.push(P),c+=P.estimatedBytes;a.length>n||c>r;){let y=a.shift();if(y===void 0)break;c-=y.estimatedBytes,o+=1;}g();},getSnapshot:m,subscribe(h){if(u)return ()=>{};d.add(h);let P=true;return ()=>{P&&(P=false,d.delete(h));}},clear(){u||(C(),g());},dispose(){u||(u=true,C(),d.clear());}}}function Bf(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 a(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 C=true,h=()=>{if(m.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},P=o.filename??(typeof File<"u"&&o.file instanceof File?o.file.name:void 0),y=(async()=>{try{let _=await u.uploadResource({data:o.file,kind:o.kind,...P===void 0?{}:{filename:P},...o.file.type===""?{}:{mimeType:o.file.type},signal:m.signal,onProgress:M=>{C&&!m.signal.aborted&&o.onProgress?.(M);}});if(h(),_.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:_.url}}catch(_){throw _ instanceof Ya&&_.code==="multipart-abort-failed"||h(),_}finally{C=false,o.signal?.removeEventListener("abort",g);}})();return r.set(m,y),y.then(()=>r.delete(m),()=>r.delete(m)),y}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:a,dispose:c}}export{np as a,gd as b,_e as c,Zr as d,up as e,to as f,Jc as g,Yc as h,qo as i,Wo as j,Zc as k,ro as l,Jo as m,io as n,kf as o,ov as p,iv as q,Kf as r,Bf as s};