k2-im 0.1.39 → 0.1.41

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.
@@ -1,2 +1,2 @@
1
- import {B,$a,Xa,gb,fb,C,p,t,u,w,A,Sa,s,l,m,i,Wa,Va,e,h,f,a,fa,Ha as Ha$1,za,Aa,T,ma,Za as Za$1,cb as cb$1,db as db$1,b as b$1,ab as ab$1,bb as bb$1,v,_,$,U,Z,W,Y,V,da,Na as Na$1,sa,ea as ea$1,Oa as Oa$1,ta as ta$1,Fa,Ga,Ba,Ca,Ka,aa,c,Ma,ba,ca,Pa as Pa$1,La,X,Ia,Da as Da$1,Ea,n as n$1,o,ga as ga$1,wa as wa$1,S,va,ua,g,xa as xa$1,ya as ya$1,Qa as Qa$1,d as d$1,Ra as Ra$1,x as x$1,na as na$2,j as j$1,q,y as y$1,z as z$1,k as k$1,r,ka,ja,ia,ha as ha$1,pa as pa$1,oa as oa$2,la,R,N,M,L,K,J,I,Q,P,ra as ra$1,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja as Ja$1,eb as eb$1}from'./chunk-SRMSBFOP.js';import {b,sb,xa,ub,tb,Na,Ha,qb,nb,ob,mb,pb,Za,_a,$a as $a$1,ab,na as na$1,oa as oa$1,pa,qa,Qa,Ra,ib,db,jb,cb,bb,kb,gb as gb$1,lb,fb as fb$1,eb,n,z,hb,Oa,Da,Ta,Sa as Sa$1,Xa as Xa$1,Wa as Wa$1,Ya,vb,rb,Ab,wa,j,Pa,x,y,A as A$1,B as B$1,Va as Va$1,Ca as Ca$1,Ba as Ba$1,ga,ea as ea$2,k,d,c as c$1,D,O,ya,h as h$1,w as w$1,Ja,Ia as Ia$1,ma as ma$1,Ka as Ka$1,o as o$1,v as v$1,t as t$1,p as p$1,C as C$1,Ua,ha,q as q$1,E,m as m$1}from'./chunk-54HSPG2Z.js';async function Tu(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(o){try{await e.migrator.rollback(d,o);}catch(c){throw new AggregateError([o,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw o}}var xe=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function Qn(e,n,r){return n===39081?new xe({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new xe({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Zn(e,n){return n instanceof xe?n:n instanceof c?new xe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new xe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Lr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function _u(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 Dt(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function Du(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(Dt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Dt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Dt(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(Dt(n))))})},...e.file===void 0?{}:{file:Object.freeze(Dt(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.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(Dt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Fr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Du(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:_u(e.reactions)}})}function kt(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:ea$2(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function ee(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function tr(e,n,r){return ee({...{"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 Yn(e,n,r){return ee({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Ot(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}var ku="IM_SDK_GROUP_NOT_MEMBER",Ou="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",xu="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Nu="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ic(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Lu(e,n,r){if(Ic(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$2?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?ku:d===39029?Ou:d===39033?xu:e instanceof d$1?Nu:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===39029?"permission":"state",a=ee({code:o,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"),a)}async function ft(e,n,r){try{return await r()}catch(d){throw Lu(d,e,n)??d}}var yc=39005,Fu=39057,Uu=39061;function vc(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"group",conversationId:f});function c(f){r.set(f,(r.get(f)??0)+1);}function a(f){if(!d||n.has(f))return;let E=r.get(f)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let S=await da({client:e.coreClient,groupId:f});if(!d||(r.get(f)??0)!==E)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(x(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==E)return;let x=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),y$1=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let E=f.message.body.system?.pinnedMessageAction;(E?.type==="pin"||E?.type==="unpin")&&c(f.message.conversationId),u.handleMessage(f.message);});function g(f,E){if(E.trim()==="")throw new xe({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(o(E));if(w===void 0)throw new xe({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="group")throw new xe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function C(f,E){if(e.coreClient===void 0)throw new xe({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,E),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:E})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(o(f),E);if(S===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="group")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:x,pinnedMessage:v}=y(S),_=await sa({client:w,groupId:f,messageContent:x});if(!_.ok)throw Qn("pin",_.code,_.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new xe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(x){throw Zn("pin",x)}},unpinMessage:async f=>{let E=C("unpin",f);try{let w=await Na$1({client:E,groupId:f});if(!w.ok)throw Qn("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(w){throw Zn("unpin",w)}},getPinnedMessage:async f=>{let E=C("get",f);try{let w=await da({client:E,groupId:f});if(!w.ok)throw Qn("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let S=x(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let x$1=e.domainState.getPinnedMessage(o(f));if(x$1===void 0)throw new xe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x$1}catch(w){throw Zn("get",w)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y$1());}}}function hc(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,o=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 a(i){let m=[],A=new Set;for(let T of i){if(T.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");A.has(T.userId)||(A.add(T.userId),m.push(Object.freeze({userId:T.userId,displayName:T.nickName.trim()===""?T.userId:T.nickName})));}return Object.freeze(m)}async function u(i,m){c$1(i);let A=e.profile?.listGroupMembers;if(A===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,U=r.get(T);if(!m&&U!==void 0)return U;let j=o.get(T);if(j!==void 0&&(!m||j.refresh))return j.promise;let J=(d.get(T)??0)+1;d.set(T,J);let se=Promise.resolve().then(()=>A(T,m?{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 I=a(ye);return d.get(T)===J&&r.set(T,I),I}).finally(()=>{o.get(T)?.promise===se&&o.delete(T);});return o.set(T,{refresh:m,promise:se}),se}function y(i,m,A,T){let j=ee({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",...A===void 0?{}:{details:A},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),j)}function g(i,m,A,T){let U=ee({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",...A===void 0?{}:{details:A},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),U)}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 m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).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 A=typeof i.status=="number"?i.status:Number(i.status);if(!Number.isSafeInteger(A)||A!==1&&A!==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(m),U=i.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:T}),activation:A===1?"pending":"active",...U===void 0||U===""?{}:{avatarUrl:U},qrPayload:Lr(T,U)})}function h(i){if(i===void 0)return;let m=typeof i=="number"?i:Number(i);return Number.isSafeInteger(m)?m:void 0}function f(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 E(i){if(i===null||typeof i!="object"||i===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let A=String(m),T=i,U=T.name?.trim()??"";if(U==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let j=h(T.total_users),J=h(T.status),se=h(T.verify_way),ye=h(T.update_version),I=f(T.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:A}),name:U,...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)},...j===void 0?{}:{memberCount:j},...J===void 0?{}:{status:J},...I===void 0?{}:{isInGroup:I},...se===void 0?{}:{verifyWay:se},...ye===void 0?{}:{updateVersion:ye},...T.invite_code===void 0?{}:{inviteCode:T.invite_code}}}function w(i){let m=i.name.trim();if(m==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let A=i.memberIds;if(!Array.isArray(A))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let T=A.map(j=>typeof j=="string"?j.trim():"");if(T.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let U=[...new Set(T)];if(U.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:U}}function S(i,m){let A=i.trim();if(A==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return A}function x(){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 v(i){if(!Array.isArray(i))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let m=i.map(A=>S(A,"\u7FA4\u6210\u5458 id"));return [...new Set(m)]}function _(i,m,A){if(i!==1&&i!==2&&i!==4){let U=ee({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),U)}if(i!==4)return {verifyWay:i};let T=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(T)){let U=ee({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),U)}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,m)=>e.profile?.getGroupProfile(i,m)??Promise.resolve(null),listMembers:(i,m)=>e.profile?.listGroupMembers?.(i,m)??Promise.resolve(null),getMemberNames:(i,m)=>e.profile?.getGroupMemberNames?.(i,m)??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,m)=>{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 A=m.trim();if(i===""||A==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Pa$1({client:e.coreClient,groupId:i,name:A}),e.domainState.updateConversationProfile(i,{title:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateAvatar:async(i,m)=>{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 A=await Ot(e.avatarTransfer,m);return await Pa$1({client:e.coreClient,groupId:i,avatarUrl:A}),e.domainState.updateConversationProfile(i,{avatar:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i}),A},uploadAvatar:async i=>{if(e.avatarTransfer===void 0)throw y("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 Ot(e.avatarTransfer,i)},create:async i=>{if(e.coreClient===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let m=w(i);try{let A=await ca({client:e.coreClient,name:m.name,memberIds:m.memberIds,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}});if(!A.ok){let U=A.code===yc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":A.code===Fu?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":A.code===Uu?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(U,A.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:A.code,message:A.message}))}let T=E(A.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(A){throw A!==void 0&&typeof A=="object"&&A!==null&&"code"in A&&String(A.code).startsWith("IM_SDK_")?A:A instanceof c?y("IM_SDK_GROUP_CREATE_NETWORK_FAILED",A.message,void 0,A):y("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,A)}},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 ba({client:e.coreClient});if(!i.ok){let m=i.code===yc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(m,i.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:i.code}))}return Object.freeze({group:C(i.data)})}catch(i){throw Ic(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,m)=>{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 Ma({client:e.coreClient,groupId:i,nickname:m}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateVerification:async(i,m,A)=>{let T=x(),U=S(i,"\u7FA4 id"),j=_(m,A,U);await ft("groups.updateVerification",U,()=>la({client:T,groupId:U,verifyWay:j.verifyWay,...j.inviteCode===void 0?{}:{inviteCode:j.inviteCode}})),s(U);},requestJoin:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=m?.remarks?.trim();return ft("groups.requestJoin",T,()=>oa$2({client:A,groupId:T,...U===void 0?{}:{remarks:U}}))},joinByInviteCode:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=m.trim();if(!/^\d{6}$/.test(U))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return ft("groups.joinByInviteCode",T,()=>pa$1({client:A,groupId:T,inviteCode:U}))},inviteMembers:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=v(m);if(U.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await ft("groups.inviteMembers",T,()=>ha$1({client:A,groupId:T,userIds:U})),s(T);},removeMember:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=S(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await ft("groups.removeMember",T,()=>ia({client:A,groupId:T,userId:U})),s(T);},transferOwnership:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=S(m,"\u65B0\u7FA4\u4E3B id");await ft("groups.transferOwnership",T,()=>ja({client:A,groupId:T,userId:U})),s(T);},leave:async(i,m)=>{let A=x();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=S(i,"\u7FA4 id"),U=m?.newOwnerId===void 0?void 0:S(m.newOwnerId,"\u65B0\u7FA4\u4E3B id");await ft("groups.leave",T,()=>ka({client:A,groupId:T,...U===void 0?{}:{newOwnerId:U}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:T},"group_left"),s(T);},...e.pinned}}var Ku="image/jpeg,image/png,image/webp";async function Ur(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((o,c)=>n[c]===o)?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 bc(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 Mc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Sc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Oo(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,o=Sc();return sb({enabled:r,level:d?.level??"trace",categories:d?.categories??Mc,...r?{sink:d?.sink??o,fallbackSink:o}:{},getRuntimeContext:n})}var Pc=[{code:"666",tokens:["[666]"],file:"666.webp"},{code:"AlmostCrying",tokens:["[AlmostCrying]","[\u8981\u54ED\u4E86]"],file:"AlmostCrying.webp"},{code:"Amazed",tokens:["[Amazed]","[\u60CA\u8BB6]"],file:"Amazed.webp"},{code:"Anger",tokens:["[Anger]","[\u6124\u6012]"],file:"Anger.webp"},{code:"Arrogance",tokens:["[Arrogance]","[\u50B2\u6162]"],file:"Arrogance.webp"},{code:"BearCried",tokens:["[BearCried]","[\u718A\u54ED\u4E86]"],file:"BearCried.webp"},{code:"Bearish",tokens:["[Bearish]","[\u770B\u8DCC]"],file:"Bearish.webp"},{code:"Bitter",tokens:["[Bitter]","[\u82E6\u6DA9]"],file:"Bitter.webp"},{code:"Blink",tokens:["[Blink]","[\u7728\u773C]"],file:"Blink.webp"},{code:"Block",tokens:["[Block]","[\u65B9\u5757]"],file:"Block.webp"},{code:"blush",tokens:["[blush]","[\u8138\u7EA2]"],file:"blush.webp"},{code:"Bomb",tokens:["[Bomb]","[\u70B8\u5F39]"],file:"Bomb.webp"},{code:"Bullish",tokens:["[Bullish]","[\u770B\u6DA8]"],file:"Bullish.webp"},{code:"BullMarket",tokens:["[BullMarket]","[\u725B\u5E02]"],file:"BullMarket.webp"},{code:"Cake",tokens:["[Cake]","[\u751F\u65E5\u86CB\u7CD5]"],file:"Cake.webp"},{code:"Candy",tokens:["[Candy]","[\u7CD6\u679C]"],file:"Candy.webp"},{code:"Celebration",tokens:["[Celebration]","[\u5E86\u795D]"],file:"Celebration.webp"},{code:"Cheers",tokens:["[Cheers]","[\u5E72\u676F]"],file:"Cheers.webp"},{code:"Coffee",tokens:["[Coffee]","[\u5496\u5561]"],file:"Coffee.webp"},{code:"Cold",tokens:["[Cold]","[\u611F\u5192]"],file:"Cold.webp"},{code:"Contemplation",tokens:["[Contemplation]","[\u9119\u89C6]"],file:"Contemplation.webp"},{code:"Cool",tokens:["[Cool]","[\u9177]"],file:"Cool.webp"},{code:"Coveryourface",tokens:["[Coveryourface]","[\u6342\u8138]"],file:"Coveryourface.webp"},{code:"Cracking",tokens:["[Cracking]","[\u88C2\u5F00]"],file:"Cracking.webp"},{code:"Crying",tokens:["[Crying]","[\u5927\u54ED]"],file:"Crying.webp"},{code:"Decline",tokens:["[Decline]","[\u8870]"],file:"Decline.webp"},{code:"Disappointed",tokens:["[Disappointed]","[\u5931\u671B]"],file:"Disappointed.webp"},{code:"Doghead",tokens:["[Doghead]","[\u72D7\u5934]"],file:"Doghead.webp"},{code:"Dull",tokens:["[Dull]","[\u5446\u6EDE]"],file:"Dull.webp"},{code:"EatingMelons",tokens:["[EatingMelons]","[\u5403\u74DC]"],file:"EatingMelons.webp"},{code:"Embrace",tokens:["[Embrace]","[\u62E5\u62B1]"],file:"Embrace.webp"},{code:"Faint",tokens:["[Faint]","[\u6655]"],file:"Faint.webp"},{code:"Farce",tokens:["[Farce]","[\u95F9\u5267]"],file:"Farce.webp"},{code:"Favorite",tokens:["[Favorite]","[\u559C\u7231]"],file:"Favorite.webp"},{code:"Fear",tokens:["[Fear]","[\u6050\u60E7]"],file:"Fear.webp"},{code:"Firecrackers",tokens:["[Firecrackers]","[\u7206\u7AF9]"],file:"Firecrackers.webp"},{code:"Fireworks",tokens:["[Fireworks]","[\u70DF\u82B1]"],file:"Fireworks.webp"},{code:"FlyingKiss",tokens:["[FlyingKiss]","[\u98DE\u543B]"],file:"FlyingKiss.webp"},{code:"Fortune",tokens:["[Fortune]","[\u798F]"],file:"Fortune.webp"},{code:"Frowns",tokens:["[Frowns]","[\u76B1\u7709]"],file:"Frowns.webp"},{code:"Gift",tokens:["[Gift]","[\u793C\u7269]"],file:"Gift.webp"},{code:"Giggle",tokens:["[Giggle]","[\u50BB\u7B11]"],file:"Giggle.webp"},{code:"Goodbye",tokens:["[Goodbye]","[\u62DC\u62DC]"],file:"Goodbye.webp"},{code:"Great",tokens:["[Great]","[\u8D5E]"],file:"Great.webp"},{code:"Grieve",tokens:["[Grieve]","[\u4F24\u5FC3]"],file:"Grieve.webp"},{code:"Handshake",tokens:["[Handshake]","[\u63E1\u624B]"],file:"Handshake.webp"},{code:"Harvesting",tokens:["[Harvesting]","[\u6536\u5272]"],file:"Harvesting.webp"},{code:"Heartbreak",tokens:["[Heartbreak]","[\u5FC3\u788E]"],file:"Heartbreak.webp"},{code:"Heidi",tokens:["[Heidi]","[\u6D77\u8482]"],file:"Heidi.webp"},{code:"Heyha",tokens:["[Heyha]","[\u563F\u54C8]"],file:"Heyha.webp"},{code:"Hugging",tokens:["[Hugging]","[\u62B1\u62F3]"],file:"Hugging.webp"},{code:"Idle",tokens:["[Idle]","[\u957F\u8349]"],file:"Idle.webp"},{code:"Injustice",tokens:["[Injustice]","[\u59D4\u5C48]"],file:"Injustice.webp"},{code:"Knife",tokens:["[Knife]","[\u83DC\u5200]"],file:"Knife.webp"},{code:"Laughingawkwardly",tokens:["[Laughingawkwardly]","[\u5C2C\u7B11]"],file:"Laughingawkwardly.webp"},{code:"LaughingCrying",tokens:["[LaughingCrying]","[\u7B11\u54ED]"],file:"LaughingCrying.webp"},{code:"Laughing",tokens:["[Laughing]","[\u5927\u7B11]"],file:"Laughing.webp"},{code:"Lips",tokens:["[Lips]","[\u5634\u5507]"],file:"Lips.webp"},{code:"Lockbox",tokens:["[Lockbox]","[\u9501\u7BB1]"],file:"Lockbox.webp"},{code:"Lostinthought",tokens:["[Lostinthought]","[\u53D1\u5446]"],file:"Lostinthought.webp"},{code:"Love",tokens:["[Love]","[\u7231\u5FC3]"],file:"Love.webp"},{code:"Mahjong",tokens:["[Mahjong]","[\u9EBB\u5C06]"],file:"Mahjong.webp"},{code:"Mischievous",tokens:["[Mischievous]","[\u8C03\u76AE]"],file:"Mischievous.webp"},{code:"Money",tokens:["[Money]","[\u91D1\u94B1]"],file:"Money.webp"},{code:"Moon",tokens:["[Moon]","[\u6708\u4EAE]"],file:"Moon.webp"},{code:"MovingBricks",tokens:["[MovingBricks]","[\u642C\u7816]"],file:"MovingBricks.webp"},{code:"Nosepicking",tokens:["[Nosepicking]","[\u62A0\u9F3B]"],file:"Nosepicking.webp"},{code:"OK",tokens:["[OK]"],file:"OK.webp"},{code:"Palmtogether",tokens:["[Palmtogether]","[\u5408\u638C]"],file:"Palmtogether.webp"},{code:"Parachute",tokens:["[Parachute]","[\u964D\u843D\u4F1E]"],file:"Parachute.webp"},{code:"Pig",tokens:["[Pig]","[\u732A]"],file:"Pig.webp"},{code:"Pleasure",tokens:["[Pleasure]","[\u6109\u60A6]"],file:"Pleasure.webp"},{code:"Poop",tokens:["[Poop]","[\u4FBF\u4FBF]"],file:"Poop.webp"},{code:"Poor",tokens:["[Poor]","[\u53EF\u601C]"],file:"Poor.webp"},{code:"Questionmark",tokens:["[Questionmark]","[\u95EE\u53F7]"],file:"Questionmark.webp"},{code:"Quickwitted",tokens:["[Quickwitted]","[\u673A\u667A]"],file:"Quickwitted.webp"},{code:"Received",tokens:["[Received]","[\u6536\u5230]"],file:"Received.webp"},{code:"Redenvelope",tokens:["[Redenvelope]","[\u7EA2\u5305]"],file:"Redenvelope.webp"},{code:"Regret",tokens:["[Regret]","[\u61CA\u607C]"],file:"Regret.webp"},{code:"Rose",tokens:["[Rose]","[\u73AB\u7470]"],file:"Rose.webp"},{code:"Sad",tokens:["[Sad]","[\u96BE\u8FC7]"],file:"Sad.webp"},{code:"Shy",tokens:["[Shy]","[\u5BB3\u7F9E]"],file:"Shy.webp"},{code:"Sighs",tokens:["[Sighs]","[\u53F9\u6C14]"],file:"Sighs.webp"},{code:"Skeleton",tokens:["[Skeleton]","[\u9AB7\u9AC5]"],file:"Skeleton.webp"},{code:"Sleepiness",tokens:["[Sleepiness]","[\u56F0]"],file:"Sleepiness.webp"},{code:"Sleep",tokens:["[Sleep]","[\u7761\u89C9]"],file:"Sleep.webp"},{code:"smirk",tokens:["[smirk]","[\u5978\u7B11]"],file:"smirk.webp"},{code:"Sneak",tokens:["[Sneak]","[\u5077\u7B11]"],file:"Sneak.webp"},{code:"Society",tokens:["[Society]","[\u793E\u4F1A]"],file:"Society.webp"},{code:"Speechless",tokens:["[Speechless]","[\u65E0\u8BED]"],file:"Speechless.webp"},{code:"Step",tokens:["[Step]","[\u8E29]"],file:"Step.webp"},{code:"Strike",tokens:["[Strike]","[\u6253\u51FB]"],file:"Strike.webp"},{code:"Struggle",tokens:["[Struggle]","[\u594B\u6597]"],file:"Struggle.webp"},{code:"Sun",tokens:["[Sun]","[\u592A\u9633]"],file:"Sun.webp"},{code:"Surprised",tokens:["[Surprised]","[\u5403\u60CA]"],file:"Surprised.webp"},{code:"Swearing",tokens:["[Swearing]","[\u5492\u9A82]"],file:"Swearing.webp"},{code:"Sweating",tokens:["[Sweating]","[\u5192\u6C57]"],file:"Sweating.webp"},{code:"Sweat",tokens:["[Sweat]","[\u6C57]"],file:"Sweat.webp"},{code:"Teasing",tokens:["[Teasing]","[\u620F\u5F04]"],file:"Teasing.webp"},{code:"Trapped",tokens:["[Trapped]","[\u56F0\u4F4F]"],file:"Trapped.webp"},{code:"Unscrupulous",tokens:["[Unscrupulous]","[\u9634\u9669]"],file:"Unscrupulous.webp"},{code:"Vomit",tokens:["[Vomit]","[\u5455\u5410]"],file:"Vomit.webp"},{code:"WhiteEyes",tokens:["[WhiteEyes]","[\u767D\u773C]"],file:"WhiteEyes.webp"},{code:"Withering",tokens:["[Withering]","[\u51CB\u96F6]"],file:"Withering.webp"},{code:"Worried",tokens:["[Worried]","[\u62C5\u5FC3]"],file:"Worried.webp"},{code:"Wow",tokens:["[Wow]","[\u54C7]"],file:"Wow.webp"},{code:"Yeah2",tokens:["[Yeah2]"],file:"Yeah2.webp"},{code:"Yeah",tokens:["[Yeah]","[\u8036]"],file:"Yeah.webp"},{code:"ALLIN",tokens:["[ALLIN]"],file:"ALLIN.webp"},{code:"Dollarsfly",tokens:["[Dollarsfly]","[\u7F8E\u5143]"],file:"Dollarsfly.webp"}];var xo=Object.freeze(Pc.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Ac=new Map(xo.flatMap(e=>e.tokens.map(n=>[n,e])));function Ec(e){return Ac.get(e)}function Rc(e){return Ac.has(e)}function gt(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function wc(e,n){return n instanceof Qa$1?gt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?gt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function rr(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function No(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let o=e[d]??0,c=e[d+1]??0,a=e[d+2]??0,u=o<<16|c<<8|a;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 Kr(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;default:return null}}function Lo(e){let n=Kr(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=rr(e.body.image?.url),d=No(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=rr(e.body.video?.url),d=No(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=rr(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=rr(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(o=>({mediaType:o.kind==="video"?2:1,url:rr(o.url),width:o.width,height:o.height,...o.durationMs!==void 0&&o.durationMs>0?{duration:o.durationMs}:{},...o.thumbUrl!==void 0&&o.thumbUrl!==""?{thumbUrl:o.thumbUrl}:{},...o.thumbData!==void 0&&o.thumbData.length>0?{thumbData:No(o.thumbData)}:{},...o.md5!==void 0&&o.md5!==""?{md5:o.md5}:{},...o.size!==void 0&&o.size>0?{fileSize:o.size}:{},...o.hd!==void 0?{hd:o.hd}:{}}));return d.some(o=>o.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function Gu(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function Tc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Oc(e){function n(o){if(!e.isActive())throw gt({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw wc(o,new Qa$1);let a;try{a=await c(e.provider);}catch(u){throw n(o),wc(o,u)}return n(o),a}return {api:{list:async()=>{let o=await r("sessionFavorites.list",c=>c.list());return Object.freeze(o.map(Tc))},addFromMessage:async o=>{let c="sessionFavorites.addFromMessage",a=Kr(o.message),u=Lo(o.message),y=o.selfId.trim(),g=o.message.id.trim();if(a===null||u===null||y===""||g==="")throw gt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:c,retryable:false});let C={messageId:g,conversation:o.conversation,senderId:o.message.senderId.trim(),createdAt:o.message.createdAt,kind:a,plainBody:u,peerId:Gu(o.message,y,o.conversation.conversationId)},h=await r(c,f=>f.add(C));return Tc(h)},delete:async o=>{let c="sessionFavorites.delete",a=[...new Set(o.map(u=>u.trim()).filter(u=>u!==""))];if(a.length===0)throw gt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:c,retryable:false});await r(c,u=>u.delete(a));}}}}var xc="settings:read-receipts:v1",Nc="settings:appearance:v1",Gr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function jn(e){return ee({...e,retryable:e.retryable??false})}function Ko(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Bo(){return {fontScale:1}}function Fo(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Hu(e){if(typeof e!="object"||e===null)return Ko();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,o]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof o=="boolean"&&(r[d]=o);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function ju(e){if(typeof e!="object"||e===null)return Bo();let n=e.fontScale;return {fontScale:Lc(n)?n:1}}function Lc(e){return typeof e=="number"&&Gr.includes(e)}function Uo(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw jn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Br(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw jn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Fc(e){let n=false,r=false,d=false,o,c,a=Ko(),u=Promise.resolve(),y=false,g,C=Bo(),h=Promise.resolve();function f(m){return jn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m})}function E(m){if(n)throw f(m)}async function w(m,A){if(E(A),r)return;let T;try{T=Br(e.storage,A);}catch(U){if(!m)return;throw U}try{let U=await T.getMeta(xc);E(A),a=Hu(U),r=!0,d=!1;}catch(U){throw n?f(A):(d=true,jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:U}))}}function S(m){return E(m),r?Promise.resolve():(o===void 0&&(o=w(true,m).finally(()=>{o=void 0;})),o)}async function x(m){if(E(m),!y)try{let A=await Br(e.storage,m).getMeta(Nc);E(m),C=ju(A),y=!0;}catch(A){throw n?f(m):typeof A=="object"&&A!==null&&"code"in A?A:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:A})}}function v(m){return E(m),y?Promise.resolve():(g===void 0&&(g=x(m).finally(()=>{g=void 0;})),g)}async function _(m,A,T){E(m);let U=u.then(async()=>{E(m),await S(m),E(m);let j=Fo(a),J=A(Fo(a));try{await Br(e.storage,m).setMeta(xc,Fo(J));}catch(se){throw n?f(m):typeof se=="object"&&se!==null&&"code"in se?se:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:se})}E(m),a=J,T?.(j,J);});return u=U.catch(()=>{}),U}let s={async getGlobal(){let m="settings.readReceipts.getGlobal";return E(m),await S(m),E(m),a.globalEnabled},setGlobal(m){return typeof m!="boolean"?Promise.reject(jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):_("settings.readReceipts.setGlobal",A=>({...A,globalEnabled:m}),(A,T)=>{A.globalEnabled&&!T.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(m){let A="settings.readReceipts.getConversation";E(A);let T=Uo(m,A);await S(A),E(A);let U=a.peerOverrides[T.conversationId]??true;return Object.freeze({enabled:U,effectiveEnabled:a.globalEnabled&&U})},setConversation(m,A){let T="settings.readReceipts.setConversation",U;try{U=Uo(m,T);}catch(j){return Promise.reject(j)}return typeof A!="boolean"?Promise.reject(jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:T,conversation:U})):_(T,j=>(j.peerOverrides[U.conversationId]=A,j),(j,J)=>{let se=U.conversationId,ye=j.globalEnabled&&(j.peerOverrides[se]??true),I=J.globalEnabled&&(J.peerOverrides[se]??true);ye&&!I&&e.onDirectReadReceiptDisabled?.(se);})},resetConversation(m){let A="settings.readReceipts.resetConversation",T;try{T=Uo(m,A);}catch(U){return Promise.reject(U)}return _(A,U=>(delete U.peerOverrides[T.conversationId],U))}},i={fontScale:Object.freeze({async get(){let m="settings.appearance.fontScale.get";return await v(m),E(m),C.fontScale},set(m){let A="settings.appearance.fontScale.set";if(!Lc(m))return Promise.reject(jn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:A,details:{supportedValues:[...Gr]}}));let T=h.then(async()=>{E(A),await v(A),E(A);let U={fontScale:m};try{await Br(e.storage,A).setMeta(Nc,U);}catch(j){throw n?f(A):typeof j=="object"&&j!==null&&"code"in j?j:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:j})}E(A),C=U;});return h=T.catch(()=>{}),T}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(i),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){E("settings.readReceipts.hydrate"),!r&&(o===void 0&&(o=w(false,"settings.readReceipts.hydrate").finally(()=>{o=void 0;})),await o);},isDirectReadReceiptEnabled(m){return !n&&!d&&a.globalEnabled&&(a.peerOverrides[m]??true)},dispose(){if(c!==void 0)return c;n=true,a=Ko(),C=Bo();let m=o,A=u,T=g,U=h;return c=Promise.allSettled([...m===void 0?[]:[m],A,...T===void 0?[]:[T],U]).then(()=>{}),c}}}var dn=Object.freeze({availability:"available",reason:"ok"});function Rn(e){return Object.freeze({availability:"unavailable",reason:e})}function Ze(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function or(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ar(e){return `${e.conversationType}:${e.conversationId}`}function zu(){return Object.freeze({sendMessages:false})}function Vu(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function qu(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 Wu(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 $u(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]),o=Number(r[2]),c=Number(r[3]),a=Number(r[4]);if(d>23||c>23||o>59||a>59)return;let u=new Date(n);u.setHours(d,o,0,0);let y=new Date(n);if(y.setHours(c,a,59,999),u.getTime()<=n&&n<=y.getTime())return y.getTime()+1;if(n<u.getTime())return u.getTime();let g=u;return g.setDate(g.getDate()+1),g.getTime()}function yt(e,n,r){let d=n.get(ar(e));if(d!==void 0)for(let o of [...d])o(r);}function Uc(e){let n=new Map,r=new Map,d=new Map,o=new Map,c=new Map,a=new Map,u,y,g=new Set,C=e.getSessionUserId(),h=0;function f(J){J.conversationType==="direct"?n.delete(J.conversationId):J.conversationType==="group"?r.delete(J.conversationId):J.conversationType==="channel"&&d.delete(J.conversationId);}function E(){n.clear(),r.clear(),d.clear(),a.clear(),g=new Set;}function w(){let J=e.getSessionUserId();return J!==C&&(C=J,E()),J}function S(J){w();let se=++h;return a.set(ar(J),se),se}function x(J,se){return w(),a.get(ar(J))===se}function v(J,se={}){w();let ye=se.nowMs??Date.now(),I=e.getConversation(J);if(J.conversationType==="direct"){let X=or({conversationType:"direct",conversationId:J.conversationId}),we=n.get(J.conversationId),Ke=we?.relationship??"unknown",ze=Vu(Ke),Xe=ze==="ok"?dn:ze==="relationship-unknown"?Ze(ze):Rn(ze),en=Ke==="friend"?dn:Ke==="unknown"?Ze(ze):Rn(ze);return Object.freeze({ref:X,conversationType:"direct",evaluatedAt:ye,value:Object.freeze({relationship:Ke,...we===void 0?{}:{relationshipCheckedAt:we.checkedAt},canSendMessages:Xe,canOpenProfile:dn,canUseMessageActions:Xe,canManageRelationship:en})})}if(J.conversationType==="robot"){let X=or({conversationType:"robot",conversationId:J.conversationId});return Object.freeze({ref:X,conversationType:"robot",evaluatedAt:ye,value:Object.freeze({canSendMessages:dn,canOpenProfile:dn,canUseMessageActions:dn,canReadHistory:dn})})}if(J.conversationType==="group"){let X=or({conversationType:"group",conversationId:J.conversationId}),we=r.get(J.conversationId),Ke=I?.ref.conversationType==="group"?I.groupState??"active":"unknown",ze=qu(Ke),Xe=ze==="ok",en=e.getSessionUserId(),Ee=we?.ownerId,$e=en!==void 0&&Ee!==void 0&&en===Ee,Je=Xe?dn:Rn(ze),Mn=Xe?we===void 0?Ze("not-ready"):$e?dn:Rn("role-insufficient"):Rn(ze);return Object.freeze({ref:X,conversationType:"group",evaluatedAt:ye,value:Object.freeze({membership:Ke,...Ee===void 0?{}:{ownerId:Ee},isOwner:$e,canSendMessages:Je,canOpenProfile:Je,canReadHistory:dn,canUseMessageActions:Je,canViewMembers:Je,canEditProfile:Mn,canInviteMembers:Je,canManageMembers:Mn,canPinMessages:Mn,canUnpinMessages:Mn,canTransferOwnership:Mn,canLeave:Je,canUpdateVerification:Mn})})}let L=or({conversationType:"channel",conversationId:J.conversationId}),M=d.get(J.conversationId),K=I?.ref.conversationType==="channel"&&I.channelState!==void 0?I.channelState:M?.state;if(K===void 0)return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:ye,value:Object.freeze({state:"unknown",role:M?.role??"unknown",permissions:zu(),canSendMessages:Ze("unknown-restricted"),canOpenProfile:Ze("unknown-restricted"),canReadHistory:dn,canUseMessageActions:Ze("unknown-restricted"),canMutateMessages:Ze("unknown-restricted"),canPinMessages:Ze("unknown-restricted"),canUnpinMessages:Ze("unknown-restricted"),canDeleteMessagesForEveryone:Ze("unknown-restricted"),canMentionAll:Ze("unknown-restricted"),canViewMembers:Ze("unknown-restricted"),canEditProfile:Ze("unknown-restricted"),canManageMembers:Ze("unknown-restricted"),canManageMute:Ze("unknown-restricted"),canDismiss:Ze("unknown-restricted"),canTransferOwnership:Ze("unknown-restricted"),canLeave:Ze("unknown-restricted"),canInviteMembers:Ze("unknown-restricted"),canSetMemberAdmin:Ze("unknown-restricted"),canRemoveMembers:Ze("unknown-restricted"),canSetMemberPrivateChat:Ze("unknown-restricted")})});let N=Ca$1({channelState:K,nowMs:ye,...I?.ref.conversationType==="channel"&&I.channelAccessSnapshot!==void 0?{snapshot:I.channelAccessSnapshot}:{},...I?.ref.conversationType==="channel"&&I.channelPermissions!==void 0?{permissions:I.channelPermissions}:M?.permissions===void 0?{}:{permissions:M.permissions}}),Y=Wu(N.channelState,N.muteReason),ve=N.channelState==="active"||N.channelState==="muted",ie=N.channelState==="active"?N.permissions.sendMessages?dn:Rn("unknown-restricted"):Rn(Y),O=X=>ve&&X?dn:Rn(ve?"role-insufficient":Y),H=X=>N.channelState==="active"&&X?dn:Rn(N.channelState==="muted"?Y:ve?"role-insufficient":Y),W=M?.memberPrivateChatDisabled===false||N.permissions.manageMembers===true,Z=ve?M===void 0&&N.permissions.manageMembers!==true?Ze("not-ready"):O(W):Rn(Y),ce=N.channelState==="muted"?Rn(Y):ve?dn:Rn(Y),be=$u(I,ye);return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:ye,...be===void 0?{}:{nextEvaluationAt:be},value:Object.freeze({state:N.channelState,role:M?.role??I?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...N.permissions}),...N.muteReason===void 0?{}:{muteReason:N.muteReason},canSendMessages:ie,canOpenProfile:ve?dn:Rn(Y),canReadHistory:dn,canUseMessageActions:ve?dn:Rn(Y),canMutateMessages:ce,canPinMessages:H(N.permissions.moderateMessages===true),canUnpinMessages:H(N.permissions.moderateMessages===true),canDeleteMessagesForEveryone:H(N.permissions.moderateMessages===true),canMentionAll:O(N.permissions.mentionAll===true),canViewMembers:Z,canEditProfile:O(N.permissions.editProfile===true),canManageMembers:O(N.permissions.manageMembers===true),canManageMute:O(N.permissions.manageMute===true),canDismiss:O(N.permissions.dismissChannel===true),canTransferOwnership:O(N.permissions.transferOwnership===true),canLeave:ve?dn:Rn(Y),canInviteMembers:O(N.permissions.manageMembers===true),canSetMemberAdmin:O(N.permissions.manageAdmins===true),canRemoveMembers:O(N.permissions.manageMembers===true),canSetMemberPrivateChat:O(N.permissions.manageMute===true)})})}async function _(J,se={}){let ye=S(J);if(J.conversationType==="direct"){let I=await e.getRelationship(J.conversationId);x(J,ye)&&s(J.conversationId,I,ye);}else if(J.conversationType==="group"){let I={conversationType:"group",conversationId:J.conversationId},L=await e.getGroupProfile(I,{forceRefresh:true});x(J,ye)&&i(I,L,ye);}else if(J.conversationType==="channel"){let I={conversationType:"channel",conversationId:J.conversationId},L=await e.getChannelProfile(I,{forceRefresh:true});x(J,ye)&&m(I,L,ye);}return v(J,se)}function s(J,se,ye){let I={conversationType:"direct",conversationId:J};x(I,ye)&&(n.set(J,{relationship:se,checkedAt:Date.now()}),yt(I,o,v(I)));}function i(J,se,ye){x(J,ye)&&(r.set(J.conversationId,se),yt(J,o,v(J)));}function m(J,se,ye){x(J,ye)&&(d.set(J.conversationId,se),yt(J,o,v(J)));}function A(J,se,ye={}){w();let I=ar(J),L=o.get(I)??new Set;return L.add(se),o.set(I,L),c.set(I,or(J)),se(v(J,ye)),y===void 0&&(y=e.subscribeContext?.(M=>{w(),yt(M,o,v(M));})),u===void 0&&(u=e.subscribeConversations(M=>{w();let K=Date.now(),N=new Set(M.map(Y=>ar(Y.ref)));for(let Y of M){let ve=v(Y.ref,{nowMs:K});yt(Y.ref,o,ve);}for(let[Y,ve]of c){if(!g.has(Y)||N.has(Y))continue;f(ve);let ie=v(ve,{nowMs:K});yt(ve,o,ie);}g=N;})),()=>{L.delete(se),L.size===0&&o.delete(I),o.has(I)||c.delete(I),o.size===0&&(y?.(),y=void 0,u?.(),u=void 0,g=new Set);}}function T(){E();let J=Date.now();for(let se of c.values())yt(se,o,v(se,{nowMs:J}));}function U(){y?.(),y=void 0,u?.(),u=void 0,o.clear(),c.clear(),E();}let j=Object.freeze({get:v,refresh:_,subscribe:A});return Object.freeze({...j,api:j,beginProjectionUpdate:S,updateRelationshipProjection:s,updateGroupProfileProjection:i,updateChannelProfileProjection:m,reset:T,dispose:U})}var Ju=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Kn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw ee({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 ee({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function Yu(e){return e===null?null:Object.freeze({ref:Kn(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 Xu(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 Hr(e){let n=Xu(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}),o=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:Kn({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"&&o!==void 0?{channelAccessSnapshot:o}:{},draft:Yu(e.draft)})}function Qu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function It(e,n,r,d){return Qu(e)?e:ee({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 Kc(e){let n=new Set,r,d,o;function c(){return Object.freeze(e.getCompatibilityApi().list().map(Hr))}function a(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=c();return Object.freeze({state:d??a(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...o===void 0?{}:{error:Object.freeze(o)}})}catch(h){let f=It(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function y(){let h=u();for(let f of [...n])f(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(f=>{Ju.has(f.type)&&y();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(Kn(h,"conversations.getBackground")),setBackground:(h,f)=>e.getCompatibilityApi().setBackground(Kn(h,"conversations.setBackground"),f),resetBackground:h=>e.getCompatibilityApi().resetBackground(Kn(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,f)=>e.getCompatibilityApi().prefetchRecent(h.map(E=>Kn(E,"conversations.prefetchRecent")),f),async refresh(){d="loading",o=void 0,y();try{await e.getCompatibilityApi().sync(),d=void 0,y();}catch(h){throw d="error",o=It(h,"conversations.refresh",true),y(),o}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,f){let E=Kn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(E,f);}catch(w){throw It(w,"conversations.setPinned",false,E)}},async setMuted(h,f){let E=Kn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(E,f);}catch(w){throw It(w,"conversations.setMuted",true,E)}},async markRead(h){let f=Kn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(E){throw It(E,"conversations.markRead",true,f)}},markUnread(h){let f=Kn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(E){throw It(E,"conversations.markUnread",false,f)}},deleteLocal(h){let f=Kn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(E){throw It(E,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Zu=128,ep=8,np=64*1024*1024,tp=3,rp=8,op=1440*60*1e3,sr=10080*60*1e3,ap=512*1024*1024,jr=1024*1024;function ip(e){let n=0,r=false,d=[];function o(){if(!r)for(;n<e&&d.length>0;){d.sort((u,y)=>y.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 a=false;c.resolve(()=>{a||(a=true,n=Math.max(0,n-1),o());});}}return {acquire(c,a){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,y)=>{let g={resolve:u,reject:y,signal:c,getPriority:a,onAbort:()=>{let C=d.indexOf(g);C>=0&&d.splice(C,1),y(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",g.onAbort,{once:true}),d.push(g),o();})},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 Gc(){return xa([{kind:"image",softMaxBytes:512*jr,maxEntries:512,maxEntryBytes:30*jr,maxIdleMs:sr},{kind:"video",softMaxBytes:1792*jr,maxEntries:64,maxEntryBytes:200*jr,maxIdleMs:sr}])}function Go(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function sp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function cr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ir(e,n,r,d){let o=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?o:`${o}:${d}`}function Ho(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw _e({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=cr({conversationType:n,conversationId:r});return Hc({id:ir(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:Go(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:cp(e.failure,d)}})}function _e(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Bc(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 cp(e,n){if(e===void 0)return;let r=e.displayCode,o=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(ee({...o??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function Hc(e){return Object.freeze({...e,ref:cr(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 zr(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw _e({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 _e({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return cr({conversationType:r,conversationId:d})}function jc(e){let n=true,r=e.now??Date.now,d=0,o=0,c=new Map,a=new Set,u=new Map,y=new Map,g=new Map,C=new Map,h=new Map,f=new Set,E=false,w=new Map,S=new Set,x=e.maxDownloadCheckpointBytes??ap;function v(R){return _e({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:R})}function _(R,G){w.delete(R),S.add(R);let Q=c.get(R);if(Q!==void 0){let $={...Q,recoveryReason:G,...Q.state==="failed"||Q.state==="canceled"?{error:v(Q.ref)}:{}};Q.state==="running"?ve($):ie($);}}function s(R,G,Q){w.delete(R),w.set(R,{url:G,state:Q}),S.delete(R);let $=[...w.values()].reduce((ge,Te)=>ge+Te.state.bytesDownloaded,0);for(;w.size>rp||$>x;){let ge=w.entries().next().value;if(ge===void 0)break;$-=ge[1].state.bytesDownloaded,_(ge[0],"download-checkpoint-limit");}}let i=ip(tp),m,A=e.maxCachedBlobs??ep,T=e.maxCachedBlobBytes??np,U=0;function j(){if(!n||!e.isActive())throw _e({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function J(){return Object.freeze([...c.values()])}function se(){let R=J();for(let G of [...a])try{G(R);}catch(Q){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:Q}});}}function ye(){E||!n||!e.isActive()||(E=true,queueMicrotask(()=>{if(E=false,!(!n||!e.isActive()))for(let R of [...f])try{R();}catch(G){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:G}});}}));}function I(R){let G=g.get(R);G!==void 0&&(U-=G.size,g.delete(R),C.delete(R),h.delete(R),ye());}function L(){if(!n||!e.isActive())return;let R=r();for(let[G,Q]of w)!y.has(G)&&Q.idleSince!==void 0&&R-Q.idleSince>=op&&_(G,"download-checkpoint-expired");for(let[G,Q]of C)!y.has(G)&&R-Q>=sr&&I(G);ye();}function M(R,G){let Q=g.get(R);if(Q!==void 0){if(h.get(R)!==G||r()-C.get(R)>=sr){I(R);return}return g.delete(R),g.set(R,Q),C.set(R,r()),Q}}function K(){d+=1,g.clear(),C.clear(),h.clear(),ye(),U=0;for(let R of [...w.keys()])_(R,"download-checkpoint-cleared");}function N(R){c.delete(R),u.delete(R),w.delete(R),S.delete(R),I(R);}function Y(){for(;c.size>Zu;){let R=[...c.values()].find(G=>G.state==="completed"||G.state==="failed"||G.state==="canceled");if(R===void 0)return;N(R.id);}}function ve(R){c.set(R.id,Hc(R)),Y();}function ie(R){if(!n||!e.isActive())return;ve(R);let G=c.get(R.id);if(se(),!n||!e.isActive()||G===void 0||c.get(R.id)!==G)return;let Q={id:G.id,messageId:G.messageId,ref:G.ref,direction:"download",state:G.state,percent:G.percent};e.emitter.emit({type:"media-task:updated",conversation:G.ref,task:Q});}function O(R,G,Q){if(I(R),!(G.size>T))for(g.set(R,G),h.set(R,Q),ye(),C.set(R,r()),U+=G.size;g.size>A||U>T;){let $=g.keys().next().value;if($===void 0)break;I($);}}function H(R,G=true){let Q=zr(R),$=e.domainState.getConversationMessage(Q,R.messageId);if($===void 0)throw _e({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:Q});let ge,Te,De,Ge;if($.contentType==="image")ge=$.body.image,Te=e.loaders?.loadImage,Ge="image";else if($.contentType==="video")ge=$.body.video,Te=e.loaders?.loadVideo,Ge="video";else if($.contentType==="voice")ge=$.body.voice,Te=e.loaders?.loadVoice;else if($.contentType==="file")ge=$.body.file,Te=e.loaders?.loadFile,De=$.body.file?.mimeType;else if($.contentType==="filesAlbum"){let Pe=R.itemIndex;if(ge=Pe===void 0?void 0:$.body.filesAlbum?.items[Pe],ge===void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});Te=e.loaders?.loadFile;}else if($.contentType==="mediaAlbum"){let Pe=$.body.mediaAlbum?.items,Me=R.itemIndex,Ue=Me===void 0||Pe===void 0?void 0:Pe[Me];if(Ue===void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});ge=Ue,Te=Ue.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,Ge=Ue.kind;}if($.contentType!=="mediaAlbum"&&$.contentType!=="filesAlbum"&&R.itemIndex!==void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});if(ge===void 0)throw _e({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:Q});if(G&&Te===void 0)throw _e({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:Q});if(ge.url.trim()===""||ge.url.startsWith("blob:"))throw _e({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:Q});return {ref:Q,messageId:$.id,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex},...De===void 0?{}:{mimeType:De},...Ge===void 0?{}:{cacheKind:Ge,resourceVersion:ya(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 W(R){return _e({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:R})}function Z(){return _e({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ce(R,G,Q=d){if(j(),Q!==d)return null;let $=ir("download",R.ref,R.messageId,R.itemIndex),ge=M($,R.resourceVersion);if(ge!==void 0)return ge;if(e.assetCache===void 0||R.cacheKind===void 0||R.resourceVersion===void 0)return null;let Te;try{Te=await e.assetCache.get({kind:R.cacheKind,messageId:R.messageId,resourceVersion:R.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Te===null?"miss":"hit",kind:R.cacheKind,messageId:R.messageId,...Te===null?{}:{byteLength:Te.blob.size}});}catch(Me){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:R.cacheKind,messageId:R.messageId,cause:Me}),G)throw _e({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:R.ref});return null}if(Te===null||(j(),Q!==d))return null;let De=Te.blob,Ge=Te.mimeType??R.mimeType??"",Pe=De.type===Ge?De:De.slice(0,De.size,Ge);return O($,Pe,R.resourceVersion),Pe}function be(R,G){L();let Q=w.get(R);if(Q!==void 0&&Q.url!==G.input.url&&_(R,"download-object-changed"),S.has(R)){let $=v(G.ref),ge=c.get(R);throw ge!==void 0&&(ge.state==="failed"||ge.state==="canceled")&&ie({...ge,error:$}),$}return Q?.state}function X(R,G=false){let Q=d,$=ir("download",R.ref,R.messageId,R.itemIndex),ge=y.get($);if(ge!==void 0&&!ge.controller.signal.aborted)return ge.promise;if(!G){let Ue=M($,R.resourceVersion);if(Ue!==void 0)return ie({id:$,ref:cr(R.ref),messageId:R.messageId,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Ue)}I($);let Te=(()=>{let Ue=be($,R);return Ue===void 0?{percent:0}:{percent:Math.min(99,Math.round(Ue.bytesDownloaded/Ue.bytesTotal*100)),bytesTransferred:Ue.bytesDownloaded,bytesTotal:Ue.bytesTotal}})(),De=cr(R.ref);u.set($,Object.freeze({conversation:De,messageId:R.messageId,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex}}));let Ge={id:$,messageId:R.messageId,ref:De,direction:"download",...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex}},Pe=new AbortController,Me=Promise.resolve().then(async()=>{let Ue;try{if(!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(Ue=await i.acquire(Pe.signal,()=>m===$?1:0),!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(ie({...Ge,...Te,state:"running"}),!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(!G&&e.assetCache!==void 0&&R.cacheKind!==void 0&&R.resourceVersion!==void 0){let Ye=await ce(R,!1,Q);if(Ye!==null){if(Pe.signal.aborted)throw W(De);return w.delete($),S.delete($),ie({...c.get($),...Ge,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Ye}}let nn=R.load;if(nn===void 0)throw _e({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:De});let ln=be($,R);if(Te.bytesTransferred!==void 0&&(ln===void 0||Q!==d))throw _($,"download-checkpoint-cleared"),v(De);let on=await nn({...R.input,getPriority:()=>m===$?1:0,...ln===void 0?{}:{resume:ln},onResumable:Ye=>{!n||!e.isActive()||Q!==d||y.get($)?.controller!==Pe||s($,R.input.url,Ye);},onResumeInvalidated:()=>{!n||!e.isActive()||Q!==d||y.get($)?.controller!==Pe||_($,"download-checkpoint-invalid");},signal:Pe.signal,onTransferProgress:Ye=>{let sn=c.get($);!n||!e.isActive()||Pe.signal.aborted||y.get($)?.controller!==Pe||sn?.state!=="running"||ie({...sn,state:"running",percent:Math.min(99,Go(Ye.percent)),bytesTransferred:Ye.bytesTransferred,bytesTotal:Ye.bytesTotal,phase:Ye.bytesTotal>0&&Ye.bytesTransferred>=Ye.bytesTotal?"finalizing":"transferring"});},onProgress:Ye=>{let sn=c.get($);if(!n||!e.isActive()||Pe.signal.aborted||y.get($)?.controller!==Pe||sn?.state!=="running")return;let fn=Math.min(99,Go(Ye));fn<=sn.percent||ie({...sn,state:"running",percent:fn});}});if(!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);let an=on instanceof Blob?void 0:on,qe=an===void 0?on:new Blob([an],R.mimeType===void 0?void 0:{type:R.mimeType});if(R.mimeType!==void 0&&qe.type!==R.mimeType&&(qe=qe.slice(0,qe.size,R.mimeType)),Q===d&&O($,qe,R.resourceVersion),Q===d&&e.assetCache!==void 0&&R.cacheKind!==void 0&&R.resourceVersion!==void 0){let Ye=qe.size;e.assetCache.put({kind:R.cacheKind,messageId:R.messageId,resourceVersion:R.resourceVersion,blob:qe,...R.mimeType===void 0?{}:{mimeType:R.mimeType}}).then(sn=>{ye(),e.onAssetCacheEvent?.({operation:"put",outcome:sn,kind:R.cacheKind,messageId:R.messageId,byteLength:Ye});}).catch(sn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:R.cacheKind,messageId:R.messageId,byteLength:Ye,cause:sn});});}if(w.delete($),S.delete($),ie({...c.get($),...Ge,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw Z();return qe}catch(nn){if(!n||!e.isActive())throw Z();if(Pe.signal.aborted||typeof nn=="object"&&nn!==null&&"code"in nn&&nn.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let on=W(De);throw y.get($)?.controller===Pe&&c.get($)?.state!=="canceled"&&ie({...c.get($),...Ge,state:"canceled",percent:c.get($)?.percent??0,error:S.has($)?v(De):on}),on}let ln=S.has($)?v(De):nn instanceof Error&&nn.name==="ImMediaTaskOperationError"?nn:_e({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:De});throw y.get($)?.controller===Pe&&ie({...c.get($),...Ge,state:"failed",percent:c.get($)?.percent??0,error:ln}),ln}finally{if(Ue?.(),y.get($)?.controller===Pe){y.delete($);let nn=w.get($);nn!==void 0&&(nn.idleSince=r());}}});return y.set($,{controller:Pe,promise:Me}),ie({...Ge,...Te,state:"queued"}),Me}function we(R){j();let G=zr(R);m=ir("download",G,R.messageId,R.itemIndex);}function Ke(R){try{return j(),X(H(R))}catch(G){return Promise.reject(G)}}async function ze(R){j();let G=d,Q=R.map(Me=>H(Me,false)),$=new Map,ge=r(),Te=Q.map(Me=>{let Ue=ir("download",Me.ref,Me.messageId,Me.itemIndex);return g.has(Ue)&&h.get(Ue)===Me.resourceVersion&&ge-(C.get(Ue)??0)<sr});Q.forEach((Me,Ue)=>{if(Te[Ue]||Me.cacheKind===void 0||Me.resourceVersion===void 0)return;let nn={kind:Me.cacheKind,messageId:Me.messageId,resourceVersion:Me.resourceVersion};$.set(JSON.stringify(nn),nn);});let De=[...$.values()],Ge=De.map(()=>false);if(De.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw _e({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(Ge=await e.assetCache.hasMany(De),Ge.length!==De.length||Ge.some(Me=>typeof Me!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(Me){throw j(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:De[0].kind,messageId:De[0].messageId,cause:Me}),_e({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(j(),G!==d)throw _e({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Pe=new Map(De.map((Me,Ue)=>[JSON.stringify(Me),Ge[Ue]]));return Object.freeze(Q.map((Me,Ue)=>Te[Ue]||Pe.get(JSON.stringify({kind:Me.cacheKind,messageId:Me.messageId,resourceVersion:Me.resourceVersion}))===true))}async function Xe(R){let G=H(R,false);return G.cacheKind===void 0?null:await ce(G,true)}async function en(R){if(j(),e.preparePreview===void 0)throw _e({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let G;try{G=await e.preparePreview({operationId:`media.prepareLocalPreview:${++o}`,kind:R.kind,file:R.file,...R.signal===void 0?{}:{signal:R.signal}});}catch($){if(R.signal?.aborted===true||$ instanceof Error&&$.name==="AbortError")throw $;return e.onLocalPreviewError?.({kind:R.kind,byteLength:R.file.size,cause:$}),null}return j(),!Number.isFinite(G.width)||!Number.isFinite(G.height)||G.width<=0||G.height<=0?(e.onLocalPreviewError?.({kind:R.kind,byteLength:R.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${G.width}\xD7${G.height}`)}),null):R.kind==="video"?{width:G.width,height:G.height,...G.duration===void 0?{}:{duration:G.duration},...G.posterData===void 0?{}:{posterData:G.posterData}}:{width:G.width,height:G.height}}async function Ee(R){if(j(),R.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw _e({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let G;try{G=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++o}`,kind:"video",file:R.file,...R.signal===void 0?{}:{signal:R.signal}});}catch(Q){if(R.signal?.throwIfAborted(),Q instanceof Error&&Q.name==="AbortError")throw Q;return j(),e.onLocalPreviewError?.({kind:"video",byteLength:R.file.size,cause:Q}),null}return R.signal?.throwIfAborted(),j(),!Number.isFinite(G.width)||!Number.isFinite(G.height)||G.width<=0||G.height<=0||!G.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:R.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([G.posterData],{type:"image/jpeg"})}function $e(R,G){j();let Q=c.get(R);if(Q===void 0)throw _e({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:G,retryable:false});return Q}function Je(R,G){return _e({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:G,retryable:false,conversation:R.ref,details:Object.freeze({state:R.state,direction:R.direction})})}let Mn=e.emitter.subscribe(R=>{!n||R.type!=="media-task:updated"||R.task.direction!=="upload"||sp(R.conversation,R.task.ref)&&(ve(Ho(R.task)),se());});return {api:{async clearCache(){j(),e.connection.invalidateMediaAssetCacheWrites?.(),K();try{await e.assetCache?.clear();}catch(R){throw j(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:R}}),_e({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}j(),ye();},getSnapshot(){return j(),J()},subscribe(R){return j(),a.add(R),()=>a.delete(R)},async cancel(R,G){let Q=$e(R,"media.cancel");if(Q.state!=="queued"&&Q.state!=="running"&&!(Q.direction==="upload"&&Q.state==="paused"))throw Je(Q,"media.cancel");if(Q.direction==="upload"){if(!(G===void 0?e.connection.cancelMediaUpload(Q.messageId):e.connection.cancelMediaUpload(Q.messageId,G)))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:Q.ref});return}let $=y.get(R);if($===void 0)throw Je(Q,"media.cancel");$.controller.abort();let ge=S.has(R)?v(Q.ref):W(Q.ref);ie({...Q,state:"canceled",error:ge});},async pause(R){let G=$e(R,"media.pause");if(G.direction!=="upload"||G.state!=="queued"&&G.state!=="running")throw Je(G,"media.pause");if(!await e.connection.pauseMediaUpload?.(G.messageId))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:G.ref});j();},async resume(R){let G=$e(R,"media.resume");if(G.direction!=="upload"||G.state!=="paused")throw Je(G,"media.resume");if(!e.connection.resumeMediaUpload?.(G.messageId))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:G.ref})},async retry(R,G){let Q=$e(R,"media.retry");if(Q.state!=="failed"&&Q.state!=="canceled")throw Je(Q,"media.retry");if(Q.direction==="upload"){if(G?.restartDownload!==void 0)throw Je(Q,"media.retry");if((Q.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||Q.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&G?.restartUpload!==true)throw _e({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:Q.ref});if(!(G===void 0?e.connection.retryMediaUpload(Q.messageId):e.connection.retryMediaUpload(Q.messageId,G)))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:Q.ref});return}if(G?.restartUpload!==void 0)throw Je(Q,"media.retry");if(y.has(R)&&!y.get(R).controller.signal.aborted)throw _e({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:Q.ref});let $=u.get(R);if($===void 0)throw _e({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});G?.restartDownload===true&&(w.delete(R),S.delete(R)),await X(H($),true);},async getUploadRecovery(R){j();let G=zr(R);if(R.itemIndex!==void 0)return {available:false,reason:"unsupported"};let Q=R.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let $=e.domainState.getConversationMessage(G,Q);if($===void 0)return {available:false,reason:"not-found"};if(!Bc($))return {available:false,reason:"invalid-state"};try{let ge=await e.recoveryPort.get(G,Q);j();let Te=e.domainState.getConversationMessage(G,Q);return Te===void 0?{available:!1,reason:"not-found"}:Bc(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 j(),{available:false,reason:typeof ge=="object"&&ge!==null&&"reason"in ge?String(ge.reason):"storage"}}},async resumeUpload(R,G){j();let Q=zr(R);if(R.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw _e({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:Q});try{let $=await e.connection.recoverMediaUpload(Q,R.messageId,G.file);if(j(),!$.ok&&$.reason==="paused")throw _e({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Q});if(!$.ok&&$.reason==="cancelled")throw _e({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Q});if(!$.ok)throw _e({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:Q})}catch($){if(j(),typeof $=="object"&&$!==null&&"code"in $&&typeof $.code=="string"&&$.code.startsWith("IM_SDK_"))throw $;let ge=$ instanceof Error&&$.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw _e({code:ge,category:"state",operation:"media.resumeUpload",retryable:false,conversation:Q})}},download:Ke,prioritizeDownload:we,probeCached:ze,subscribeCacheChanges(R){return j(),f.add(R),()=>f.delete(R)},getCached:Xe,prepareLocalPreview:en,prepareLocalVideoPoster:Ee},clearCache:K,prune:L,dispose(){if(n){n=false,d+=1,Mn();for(let R of y.values())R.controller.abort();i.dispose(),m=void 0,y.clear(),a.clear(),f.clear(),h.clear(),c.clear(),u.clear(),g.clear(),C.clear(),w.clear(),S.clear(),U=0;}}}}var dp={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 zc(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function up(e,n){let r=dp[e.reason];return Object.freeze(ee({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function jo(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:up(e.failure,n)}})}function pp(e){let n=zc(e);return jo({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 mp(e,n,r){let d=ee({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 Vc(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 o(){return d(),Object.freeze(e.operations.getPending().map(pp))}async function c(u,y){d();let g=e.operations.getPending().find(h=>h.id===y),C=u==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!C.accepted)throw mp(u,C.reason,g===void 0?void 0:zc(g))}return {api:{getSnapshot:o,subscribe(u){d();let y=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(o());}),g=()=>{y(),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 fp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Vr(e){return Object.freeze({type:"error",error:Object.freeze(ee(e))})}function vn(e){throw ee(e)}function Re(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 We(e,n){let r=e,d=r?.conversationType,o=r?.conversationId;return d==="supergroup"&&vn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof o=="string"?o:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof o!="string"||o.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:o})}function gp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function dr(e,n){let r=We(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 xt(e,n){let r=We(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 vt(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 yp(e){return Object.freeze({...e})}function Ip(e,n){return vt(We(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 vp(e){let n=Re(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=We(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=We(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 hp(e){return Object.freeze({ref:vp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Cp(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 bp(e){return Object.freeze(ee({...{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 Mp(e,n){if(fp(e)){let{cause:r,...d}=e;return Vr(d)}return Vr({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Sp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:yp(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=We(e.conversation,e.type);return vt(We({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(kt(e.message)),source:e.source})}case "message:removed":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Re(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=We(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:Re(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=We(e.conversation,e.type);vt(We(e.task.ref,e.type),r,e.type);let d=Ho(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=We(e.conversation,e.type);vt(We({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}),vt(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=We(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=We(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&&vt(We({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=Re(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=We(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=We(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:Re(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:Re(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=We(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=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Ip(e.draft,r)})}case "draft:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=We(e.conversation,e.type);return vt(We(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:jo(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Re(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:hp(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=>We(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Cp(e.issue)});case "error":return Object.freeze({type:e.type,error:bp(e.error)});case "call:incoming":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r)})}case "call:failed":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),inviterId:Re(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r)})}case "group-call:busy":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),hintUserId:Re(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Mp(r,e)}}function Pp(e){let{type:n,...r}=e;return Object.freeze(r)}function Ap(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=We(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function qc(e){let n=new WeakMap;function r(o,c){let a=n.get(o);if(a!==void 0)return a;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:o.notification.messageId}));return n.set(o,u),u}function d(o){let c=true,a=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){o(Vr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Re(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(h=>{if(!c||h===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:C,result:h});o(f);}).catch(()=>{c&&o(Vr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=Sp(u,e);y!==null&&o(y);let g=Ap(u);g!==null&&o(Object.freeze({type:"group:activated",...g}));});return ()=>{c=false,a();}}return {subscribe:o=>d(o),on:(o,c)=>d(a=>{a.type===o&&c(Pp(a));})}}function et(e){let n=ee({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 Wc(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw et({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 et({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 et({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 $c(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function lr(e,n,r,d){return ee({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 Jc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Yc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Xc(e,n){if(n.id!==e)throw lr("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(o=>Object.freeze({countryCode:o.countryCode,mobile:o.mobile})))}})}function Qc(e,n){if(n.id!==e.conversationId)throw lr("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Jc(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 Ep(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 Zc(e,n){if(n.id!==e.conversationId)throw lr("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Yc(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:Ep(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 ed(e){return e.state==="ready"?Object.freeze({state:"ready",message:Fr(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 qr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw lr("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Jc(e),messageId:n.messageId,preview:ed(n.preview)})}function Wr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw lr("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Yc(e),messageId:n.messageId,preview:ed(n.preview)})}function Rp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function wp(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 Tp(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function zo(e,n,r){return Rp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Tp(e)?ee({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:wp(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):ee({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 nd=new WeakMap;function Vo(e,n){nd.set(e,n);}function td(e){let n=nd.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 _p="IM_SDK_CHANNEL_NOT_MEMBER",Dp="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",kp="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Op="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function xp(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Np(e,n,r){if(xp(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$2?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?_p:d===40527?Dp:d===40547?kp:e instanceof d$1?Op:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===40527?"permission":"state",a=ee({code:o,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"),a)}async function mn(e,n,r){try{return await r()}catch(d){throw Np(d,e,n)??d}}var Lp={pinMessage:()=>Promise.reject(new xe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new xe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function rd(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"channel",conversationId:f}),c=f=>{r.set(f,(r.get(f)??0)+1);};function a(f){if(!d||n.has(f))return;let E=r.get(f)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let S=await ea$1({client:e.coreClient,channelId:f});if(!d||(r.get(f)??0)!==E)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==E)return;let x=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),y=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let E=f.message;if(E.conversationType!=="channel")return;let w=E.body.system?.pinnedMessageAction;w!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((w?.type==="pin"||w?.type==="unpin")&&c(E.conversationId),u.handleMessage(E));});function g(f,E){if(E.trim()==="")throw new xe({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(o(E));if(w===void 0)throw new xe({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="channel")throw new xe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function C(f,E){if(e.coreClient===void 0)throw new xe({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,E),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:E})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(o(f),E);if(S===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="channel")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:x,pinnedMessage:v}=B$1(S),_=await ta$1({client:w,channelId:f,messageContent:x});if(!_.ok)throw Qn("pin",_.code,_.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new xe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(x){throw Zn("pin",x)}},unpinMessage:async f=>{let E=C("unpin",f);try{let w=await Oa$1({client:E,channelId:f});if(!w.ok)throw Qn("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(w){throw Zn("unpin",w)}},getPinnedMessage:async f=>{let E=C("get",f);try{let w=await ea$1({client:E,channelId:f});if(!w.ok)throw Qn("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let S=A$1(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let x=e.domainState.getPinnedMessage(o(f));if(x===void 0)throw new xe({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x}catch(w){throw Zn("get",w)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y());}}}async function nt(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Fp={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:nt,prefetchFirstPage:nt,refreshFirstPage:nt,listFirstPage:nt,listNextPage:nt,searchFirstPage:nt,refreshSearchFirstPage:nt,searchNextPage:nt},Up=new Set(["unknown_restricted","left","removed","dismissed"]);function tn(e){return Up.has(e)}function od(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 o(){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 a(C){let f=await o().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return d(),f}async function u(C,h){d();let f=c(C),E=o();await(h==="accept"?E.acceptJoinApplication(f):E.ignoreJoinApplication(f)),d();}async function y(C,h,f,E,w){r(),w?.throwIfAborted();let S$1=await S({signal:w,http:e.http,userId:f,clientType:e.clientType,channelId:C,index:h,containAnchor:E,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),w?.throwIfAborted(),S$1}async function g(C,h,f,E){let w=await y(C,h,f,true,E),S=w.messages.find(x=>x.extensions?.historyCursor===h);if(S===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${h}\uFF09`);return {context:w,message:S}}return {applications:{listJoinApplications:a,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:g,loadNewerPage:(C,h,f,E)=>y(C,h,f,false,E),dispose:()=>{n=false;}}}function ad(e){async function n(o,c,a){let u=new Map(c.filter(C$1).sort((g,C)=>g.sortKey.localeCompare(C.sortKey)).map(g=>[g.id,g]));if(u.size===0)return;let y=await e.authProvider.getLoginContext();if(y===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}\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=${o}, messageId=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),f=e.getHistoryEpoch(o);try{let{context:E,message:w}=await e.loadMessageContext(o,C,y.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(o))return;if(w.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=${w.id}\uFF09`);if(w.contentType!=="system"||C$1(w))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 S=E.messages.filter(x=>x.id===g.id||u.has(x.id));if(S.some(x=>x.contentType!=="system"||C$1(x)))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(S,"offline",{backfillOnly:!0}),a.applyIncoming(S.flatMap(x=>{let v=e.domainState.getMessage(x.id);return v===void 0?[]:[v]}));for(let x of S)u.delete(x.id);}catch(E){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=${o}, messageId=${g.id}\uFF09`,cause:E}});}}}function r(o,c){return o?.conversationType===c.conversationType&&o.conversationId===c.conversationId}async function d(o,c=e.domainState.messageWindow){if(o.stale||!o.messages.some(C$1))return o;let a=c.info().conversation;if(a===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${o.conversationId}\uFF09`);let u=e.domainState.getConversationContext(a);if(u?.type!=="channel"||u.channelState!==void 0&&tn(u.channelState))return o;let y=c.getRevision();if(await n(a.conversationId,o.messages,c),c.getRevision()!==y||!r(c.info().conversation,a))return {...o,stale:true};let g=new Map(c.list().map(C=>[C.id,C]));return {...o,messages:o.messages.map(C=>g.get(C.id)??C)}}return {reconcilePage:d}}function id(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(v,_,s,i){let A=ee({code:v,category:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":v==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...i===void 0?{}:{cause:i}});return Object.assign(new Error(_),A)}function d(v){let _=v.name.trim();if(_==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(_.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=v.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(A=>typeof A=="string"?A.trim():"");if(i.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let m=[...new Set(i)];if(m.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:_,memberIds:m}}function o(){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 v=e.crypto.randomTeaKey();if(!(v instanceof Uint8Array)||v.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let _="";for(let s of v)_+=String.fromCharCode(s);return globalThis.btoa(_)}function c$1(v,_){let s=v.trim();if(s==="")throw new Error(`${_}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function a(v){let _=v.trim();if(_==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return _}function u(v){let _=v.trim();if(_==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return _}async function y(v){let _=(await e.getSelfUserId?.()??"").trim();return _!==""&&_===v.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(v,_,s){if(v!==1&&v!==2&&v!==4){let m=ee({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"),m)}if(v!==4)return {verifyType:v};let i=_?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){let m=ee({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"),m)}return {verifyType:v,inviteCode:i}}function h(v){if(!Array.isArray(v))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(v.map(_=>c$1(_,"\u793E\u7FA4\u6210\u5458 id")))]}function f(v){e.emitter?.emit({type:"channel-profile:updated",channelId:v,conversation:{conversationType:"channel",conversationId:v}});}function E(v){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(v).catch(_=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:v,error:_}}});});}function w(v){if(v===void 0)return;let _=typeof v=="number"?v:Number(v);return Number.isSafeInteger(_)?_:void 0}function S(v){if(typeof v=="boolean")return v;if(v===1||v==="1"||v==="true")return true;if(v===0||v==="0"||v==="false")return false}function x(v){if(v===null||typeof v!="object"||v===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let _=v.id??v.radio_id;if(typeof _!="string"&&typeof _!="number"||String(_).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=v.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(_),m=w(v.total_users),A=w(v.status),T=w(v.verify_way),U=w(v.update_version),j=S(v.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:i}),name:s,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...m===void 0?{}:{memberCount:m},...A===void 0?{}:{status:A},...j===void 0?{}:{isInChannel:j},...T===void 0?{}:{verifyWay:T},...U===void 0?{}:{updateVersion:U},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}return {...n,mentions:e.mentionCandidates??Fp,uploadAvatar:async v=>{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 Ot(e.avatarTransfer,v)},create:async v=>{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(v),s=o();try{let i=await aa({client:e.coreClient,name:_.name,memberIds:_.memberIds,secretKey:s,...v.avatarUrl===void 0?{}:{avatarUrl:v.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 m=x(i.data);e.cacheCreatedSecretKey?.(m.ref.conversationId,s);let A=m.status===3?"dismissed":m.status===void 0||m.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:m.ref.conversationId,type:"channel",title:m.name,...m.avatar===void 0?{}:{avatar:m.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:A,channelPermissions:Ba$1("owner",A)}),Object.freeze({channel:m})}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:v=>e.channelProfile?.listProfiles(v)??Promise.resolve([]),getProfile:(v,_)=>e.channelProfile?.getProfile(v,_)??Promise.resolve(null),listMembers:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),prefetchMembers:v=>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(v),getCachedMembers:v=>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(v),refreshMembers:v=>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(v),searchMembers:v=>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:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listMentionMembers:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),searchMentionMembers:v=>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:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listAdmins:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),getMembersByIds:(v,_,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(v,_,s),updateName:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u793E\u7FA4\u540D\u79F0");await mn("channels.updateName",i,()=>F({client:s,channelId:i,name:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{title:m}),f(i);},updateDescription:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=u(_);await mn("channels.updateDescription",i,()=>F({client:s,channelId:i,description:m})),f(i);},updateAvatar:async(v,_)=>{let s=g(),i=c$1(v,"\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 m=await mn("channels.updateAvatar",i,()=>Ot(e.avatarTransfer,_));return await mn("channels.updateAvatar",i,()=>F({client:s,channelId:i,avatarUrl:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{avatar:m}),f(i),m},setMyNickname:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=a(_);await mn("channels.setMyNickname",i,()=>G({client:s,channelId:i,nickname:m})),f(i);},setMemberNickname:async(v,_,s)=>{let i=g(),m=c$1(v,"\u793E\u7FA4 id"),A=c$1(_,"\u793E\u7FA4\u6210\u5458 id");if(await y(A))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let T=a(s);await mn("channels.setMemberNickname",m,()=>H({client:i,channelId:m,userId:A,nickname:T})),f(m);},updateVerification:async(v,_,s)=>{let i=g(),m=c$1(v,"\u793E\u7FA4 id"),A=C(_,s,m);await mn("channels.updateVerification",m,()=>O$1({client:i,channelId:m,verifyType:A.verifyType,...A.inviteCode===void 0?{}:{inviteCode:A.inviteCode}})),f(m);},requestJoin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=_?.remarks?.trim();return mn("channels.requestJoin",i,()=>qa$1({client:s,channelId:i,...m===void 0?{}:{remarks:m}}))},joinByInviteCode:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=_.trim();if(!/^\d{6}$/.test(m))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return mn("channels.joinByInviteCode",i,()=>ra$1({client:s,channelId:i,inviteCode:m}))},setAllMuted:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id");await mn("channels.setAllMuted",i,()=>P({client:s,channelId:i,muted:_})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},setMemberPrivateChatDisabled:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id");await mn("channels.setMemberPrivateChatDisabled",i,()=>Q({client:s,channelId:i,disabled:_})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},inviteMembers:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=h(_);if(m.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:m})),f(i);},removeMember:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u79FB\u9664\u6210\u5458 id");await mn("channels.removeMember",i,()=>J({client:s,channelId:i,userId:m})),f(i);},addAdmin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await mn("channels.addAdmin",i,()=>K({client:s,channelId:i,userId:m})),E(i),f(i);},removeAdmin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await mn("channels.removeAdmin",i,()=>L({client:s,channelId:i,userId:m})),E(i),f(i);},transferOwnership:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.transferOwnership",i,()=>M({client:s,channelId:i,userId:m})),E(i),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},leave:async(v,_)=>{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(v,"\u793E\u7FA4 id"),m=_?.newOwnerId===void 0?void 0:c$1(_.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.leave",i,()=>N({client:s,channelId:i,...m===void 0?{}:{newOwnerId:m}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_left"),f(i);},dismiss:async v=>{let _=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=c$1(v,"\u793E\u7FA4 id");await mn("channels.dismiss",s,()=>R({client:_,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??Lp}}function Kp(e){let r=ee({...{"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 Bp(e){let n=e.responseCode===X,o=ee({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(o.code),o)}function Gp(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function sd(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,o=new Map,c=new Map,a=0,u=false,y=5e3;function g$1(s,i,m){if(u)return "unknown";if(m!==void 0&&r.get(s)!==m)return d.get(s)??"unknown";let A=d.get(s);return d.set(s,i),o.set(s,Date.now()),A!==i&&e.onRelationshipChanged?.(s,i),i}function C(s,i){if(u)return;let m=f(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(m,++a),g$1(m,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 f(s,i){let m=s.trim();if(m==="")throw new Error(`${i}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return m}function E(s,i){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(m=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${i}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:m}});});}async function w(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 La({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(m=>({countryCode:m.countryCode,mobile:m.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function S(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 x(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 m=s.trim();if(m==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let A=c.get(m);if(i&&A!==void 0)return A;let T=++a;r.set(m,T);let U=g(e.coreClient,{userId:m}).then(j=>g$1(m,S(j?.friend_status),T)).finally(()=>{c.get(m)===U&&c.delete(m);});return c.set(m,U),U}function v(s){return x(s,true)}async function _$1(s,i){let m=f(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),A;try{A=await x(m,!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:m,error:T}}}),null}if(u)return null;if(A==="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:m}}}),null;if(A!=="friend")return "rejected";C(m,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(m,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:m,error:T}}}),null}return u?null:(e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),E(m,"\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:w,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")):Y(e.coreClient,{query:s}).catch(i=>{throw i instanceof V?Bp(i):i}).then(i=>{if(i===null)return null;let m=S(i.friendStatus);return C(i.userId,m),Object.freeze({userId:i.userId,displayName:i.nickname||i.miCallId||i.username||i.userId,nickname:i.nickname,relationship:m,...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:v,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 m=f(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),A;try{A=await Z(e.coreClient,{userId:m,message:i.message,...i.remark===void 0?{}:{remark:i.remark}});}catch(U){throw U instanceof W?Kp(U):U}let T=Gp(A.status);return C(m,T==="sent"?"pending":"friend"),T==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(m,j(),Date.now()),e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),E(m,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:T,...A.message===void 0?{}:{message:A.message}})},blockUser:async s=>{let i=f(s,"\u52A0\u5165\u9ED1\u540D\u5355");await U(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}),E(i,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,i)=>{let m=f(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),A=i.trim();if(A==="")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 $(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:T,targetUserId:m,problem:A});},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(m){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:m}});}E(i,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let i=f(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),m=o.get(i);return m!==void 0&&Date.now()-m<y?Promise.resolve(d.get(i)??"unknown"):v(i)},updateRelationshipFromEvent:C,resolveApplicationAnswer:_$1,dispose:()=>{u=true,a+=1,r.clear(),d.clear(),o.clear(),c.clear();}}}function cd(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 o=d[0];if(o.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:o.type,conversationId:o.id}}}function dd(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 o=e.domainState.getConversationContext(d);if(o===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:o.type,targetId:o.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 o=e.domainState.getMessagesByConversation(r),c=o.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 a=await e.authProvider.getLoginContext();if(a===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:e.http,userId:a.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let a=Va$1(o);if(a===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,a),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 Wo=1,Hp=3;function $o(e){return typeof Blob<"u"&&e instanceof Blob}async function ld(e){return $o(e)?new Uint8Array(await e.arrayBuffer()):e}function ud(e){async function n(M){return e.connection.sendText(M)}async function r(M){return e.connection.sendContact(M)}async function d(M){return e.connection.forwardMessages(M)}async function o(M){return e.connection.recallMessage(M)}async function c(M){return e.connection.editMessage(M)}async function a(M){return e.connection.sendImage(M)}async function u(M){return e.connection.sendVideo(M)}async function y(M){return e.connection.sendVoice(M)}async function g(M){return e.connection.sendFile(M)}async function C(M){return e.connection.sendMediaAlbum(M)}async function h(M){return e.connection.sendGif(M)}async function f(M){return e.connection.sendExpression(M)}async function E(M){return e.connection.sendGame(M)}async function w(M){return e.connection.sendMiniProgram(M)}async function S(M){return e.connection.sendTransfer(M)}async function x(M){return e.connection.sendGift(M)}async function v(M,K){return e.connection.replaceInterruptedVideo(M,K)}async function _(M,K){return e.connection.replaceInterruptedFile(M,K)}function s(M){e.connection.cancelMedia(M);}function i(M,K){return {url:M.url,...M.getPriority===void 0?{}:{getPriority:M.getPriority},...M.expectedBytes===void 0?{}:{expectedBytes:M.expectedBytes},...M.onProgress===void 0&&M.onTransferProgress===void 0?{}:{onProgress:N=>{M.onTransferProgress?.(N),M.onProgress?.(N.percent);}},...M.signal!==void 0?{signal:M.signal}:{},...M.resume===void 0?{}:{resume:M.resume},...M.onResumable===void 0?{}:{onResumable:M.onResumable},...M.onResumeInvalidated===void 0?{}:{onResumeInvalidated:M.onResumeInvalidated},...K?{preferBlob:true}:{}}}async function m(M){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(i(M,false)),N=await ld(K);return M.teaKey!==void 0&&M.teaKey.length>0&&M.fileEncryptType!==Wo?e.crypto.decryptSymmetric({teaKey:M.teaKey,cipherData:N}):N}async function A(M){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(i(M,true));if(M.teaKey===void 0||M.teaKey.length===0||M.fileEncryptType===Wo)return K;let N=M.teaKey;return $o(K)?e.crypto.decryptSymmetricChunked({teaKey:N,cipherData:K,...M.signal===void 0?{}:{signal:M.signal}}):e.crypto.decryptSymmetric({teaKey:N,cipherData:K})}async function T(M){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(M.fileEncryptType===Hp)return A(M);let K=await e.mediaTransfer.download(i(M,true));if(M.teaKey===void 0||M.teaKey.length===0||M.fileEncryptType===Wo)return K;let Y=M.teaKey;if(!$o(K))return e.crypto.decryptFileSimple({teaKey:Y,cipherData:K});if(K.size<=32){let O=e.crypto.decryptFileSimple({teaKey:Y,cipherData:await ld(K)});return new Blob([O],{type:K.type})}let ve=new Uint8Array(await K.slice(0,32).arrayBuffer()),ie=e.crypto.decryptFileSimple({teaKey:Y,cipherData:ve});return new Blob([ie,K.slice(32)],{type:K.type})}function U(M){e.connection.retryMessage(M);}function j(M,K){let N={conversationType:"channel",conversationId:M},Y=e.domainState.getLoadedMessagesByConversation(N),ie=e.domainState.getConversationMessage(N,K)??Y.find(H=>Ua(H)===K),O=Ua(ie);if(ie===void 0||typeof O!="string"||O.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${M}, input=${K}\uFF09`);return ie.id}async function J(M){let K=M.conversationType??e.domainState.getSession(M.conversationId)?.type;if(K==="channel"){let N=j(M.conversationId,M.readCursor);await e.connection.markRead(M.conversationId,N,"channel");return}await e.connection.markRead(M.conversationId,M.readCursor,M.conversationType),K==="direct"&&await e.prepareDirectReadReceipt?.(M.conversationId);}function se(M){if(M.conversationType!=="direct"&&M.conversationType!=="group"&&M.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${M.conversationType}`)}async function ye(M,K){se(M);let N={...M};if(K===void 0){let ie=e.domainState.getSession(N);if((ie?.unreadCount??0)>0||(ie?.mentionUnreadCount??0)>0){if(N.conversationType!=="group")throw new Error(`${N.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=${N.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:N.conversationId});}e.domainState.clearConversationManualUnread?.(N);return}let Y=e.connection.settleConversationRead;if(Y===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let ve=N.conversationType==="channel"?j(N.conversationId,K):K;await Y(N,ve),e.domainState.clearConversationManualUnread?.(N);}async function I(M,K){if(se(M),M.conversationType!=="direct"||K.length===0)return;let N=e.connection.reportVisibleMessages;if(N===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");N(M,K),await e.prepareDirectReadReceipt?.(M.conversationId);}async function L(M,K){e.connection.reportDirectMediaConsumed?.(M,K),await e.prepareDirectReadReceipt?.(M);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:o,editMessage:c,sendImage:a,sendVideo:u,sendVoice:y,sendFile:g,sendGif:h,sendMediaAlbum:C,sendExpression:f,sendGame:E,sendMiniProgram:w,sendTransfer:S,sendGift:x,replaceInterruptedVideo:v,replaceInterruptedFile:_,cancelMediaUpload:s,loadImage:m,loadVideo:A,loadVoice:m,loadFile:T,retry:U,markRead:J,markConversationRead:ye,markVisibleMessages:I,markDirectMediaConsumed:L}}}function pd(e){return {...e.operations,get state(){return e.getState()}}}var jp=50,zp=1e3,bn={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 rn(e){let n=ee({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 Vp(e,n){switch(e){case bn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case bn.CONTACT_PERMISSION_DENIED:case bn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case bn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case bn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case bn.ALREADY_GROUP_MEMBER:case bn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case bn.GROUP_MEMBER_LIMIT_REACHED:case bn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case bn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case bn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case bn.OPERATION_FAILED:case bn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case bn.GROUP_APPLICATION_UNAVAILABLE_40521:case bn.GROUP_APPLICATION_UNAVAILABLE_40612:case bn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function qp(e){if(e instanceof j$1||e instanceof q)return e.code}function Wp(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 md(e,n,r){let d=qp(r),o=Vp(d,e),c=Wp(r);return rn({code:o,category:c.category,operation:n,retryable:c.retryable,cause:r})}function fd(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function wn(e,n){if(typeof e!="string"&&typeof e!="number")throw rn({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 rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function Jo(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw rn({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 ht(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 $p(e,n,r="pending"){return Object.freeze({ref:ht(e),...n===void 0?{}:{createdAt:n},state:r})}function Jp(e){let n=Jo(e.createdAt),r=tt(e.applicantAvatar,"contact.applicantAvatar"),d=tt(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:ht({domain:"contact",applicationId:wn(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:wn(e.applicantId,"contact.applicantId"),name:wn(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:Yo(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Yp(e){if(e.kind!=="request"&&e.kind!=="invite")throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Jo(e.createdAt),r=tt(e.actor.avatarUrl,"group.actor.avatarUrl"),d=tt(e.actor.displayId,"group.actor.displayId"),o=tt(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:ht({domain:"group",applicationId:wn(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:wn(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:wn(e.actor.id,"group.actor.id"),name:wn(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:wn(e.target.id,"group.target.id"),name:wn(e.target.name,"group.target.name"),...o===void 0?{}:{avatarUrl:o}}),message:Yo(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function tt(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw rn({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 Yo(e,n){if(typeof e!="string"&&typeof e!="number")throw rn({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 Xp(e){let n=Jo(e.createdAt),r=tt(e.applicantAvatar,"channel.applicantAvatar"),d=tt(e.applicantDisplayId,"channel.applicantDisplayId"),o=tt(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:ht({domain:"channel",applicationId:wn(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:wn(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:wn(e.applicantId,"channel.applicantId"),name:wn(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:wn(e.channelId,"channel.channelId"),name:wn(e.channelName,"channel.channelName"),...o===void 0?{}:{avatarUrl:o}}),message:Yo(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function ur(e){return `${e.domain}:${e.applicationId}`}function gd(e){let n=false,r=0,d=0,o=new Map,c=new Map,a=new Map;function u(E,w){if(n||!e.isActive()||w!==void 0&&r!==w)throw rn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:E,retryable:false})}function y(E){if(u(E),e.contact===void 0||e.group===void 0||e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:E,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(E,w){let S=[],x=new Set,v;for(let _=0;_<zp;_+=1){let s=await w({limit:jp,...v===void 0?{}:{cursor:v}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:E,retryable:false});if(S.push(...s.items),s.exhausted)return S;let i=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(i===""||x.has(i))throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:E,retryable:false});x.add(i),v=i;}throw rn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:E,retryable:false})}async function C(){let E="applications.listPending",w=y(E),S=r,x=++d;try{let[v,_,s]=await Promise.all([g(E,T=>w.contact.listPendingApplications(T)),g(E,T=>w.group.listPendingApplications(T)),g(E,T=>w.channel.listJoinApplications(T))]);u(E,S);let i=[...v.map(Jp),..._.map(Yp),...s.map(Xp)],m=new Map;for(let T of i){let U=ur(T.ref);if(c.has(U))continue;let j=m.get(U);if(j!==void 0&&JSON.stringify(j.ref)!==JSON.stringify(T.ref))throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:E,retryable:!1});(j===void 0||(T.createdAt??0)>(j.createdAt??0))&&m.set(U,T);}let A=[...m.values()].sort((T,U)=>{let j=(U.createdAt??0)-(T.createdAt??0);return j!==0?j:ur(T.ref).localeCompare(ur(U.ref))});if(x===d){o.clear();for(let T of A)o.set(ur(T.ref),T);}return Object.freeze(A)}catch(v){throw fd(v)?v:(u(E,S),md("IM_SDK_APPLICATION_LIST_FAILED",E,v))}}function h(E,w){if(u(w),E===null||typeof E!="object")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});let S=typeof E?.applicationId=="string"?E.applicationId.trim():"";if(S==="")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});if(E.domain==="contact")return ht({domain:"contact",applicationId:S});let x=typeof E.conversation?.conversationId=="string"?E.conversation.conversationId.trim():"";if(E.domain==="group"&&E.conversation?.conversationType==="group"&&x!=="")return ht({domain:"group",applicationId:S,conversation:{conversationType:"group",conversationId:x}});if(E.domain==="channel"&&E.conversation?.conversationType==="channel"&&x!=="")return ht({domain:"channel",applicationId:S,conversation:{conversationType:"channel",conversationId:x}});throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false})}function f(E,w){let S=w==="accepted"?"applications.accept":"applications.ignore",x=h(E,S),v=ur(x),_=c.get(v);if(_===w)return Promise.resolve();if(_!==void 0)return Promise.reject(rn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:S,retryable:false}));let s=a.get(v);if(s!==void 0)return s.state===w?s.promise:Promise.reject(rn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:S,retryable:true}));let i=r,m=Promise.resolve().then(async()=>{try{let T;if(x.domain==="contact"){if(e.contact===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.contact.acceptApplication(x.applicationId):e.contact.ignoreApplication(x.applicationId);}else if(x.domain==="group"){if(e.group===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.group.acceptApplication(x.applicationId):e.group.ignoreApplication(x.applicationId);}else {if(e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.channel.acceptJoinApplication(x.applicationId):e.channel.ignoreJoinApplication(x.applicationId);}if(await T,u(S,i),w==="accepted"&&x.domain==="contact"){let j=o.get(v);j?.kind==="contact-request"&&await e.onContactAccepted?.(j.applicant.id,x.applicationId);}c.set(v,w);let U=$p(x,o.get(v)?.createdAt,w);o.delete(v),e.emitter.emit({type:"application:updated",application:U});}catch(T){throw fd(T)?T:(u(S,i),md("IM_SDK_APPLICATION_ACTION_FAILED",S,T))}}),A=()=>{a.get(v)?.promise===m&&a.delete(v);};return a.set(v,{state:w,promise:m}),m.then(A,A),m}return {api:{listPending:C,accept:async E=>f(E,"accepted"),ignore:async E=>f(E,"ignored")},dispose(){n||(n=true,r+=1,o.clear(),c.clear(),a.clear());}}}function Ct(e,n,r){try{r();}catch(d){let o=d instanceof Error?d.message:String(d);throw o.includes("\u672A\u9274\u6743")?ee({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u53EA\u5B9E\u73B0")||o.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?ee({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?ee({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u6CA1\u6709\u5339\u914D")||o.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?ee({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):ee({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function yd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Ct("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Ct("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Ct("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Ct("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Ct("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Ct("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Ct("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Xo=18,Qp=12,Zp=300*1e3,em=64,Id=Object.freeze([]),nm=0;function tm(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function vd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Zp,d=e.maxCacheEntries??em;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 o=++nm,c=new Map,a=new Map,u=new Map,y=new Map,g=new Map,C=new Map,h=new Map,f=new Set,E=0,w=true,S=O=>y.get(O)??0;function x(){if(!w)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function v(O){if(O.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let H=O.conversationId.trim();if(H==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return H}function _(O){let H=c.get(O);c.delete(O),H?.page.nextPageToken!==void 0&&u.delete(H.page.nextPageToken);}function s(O,H){let W=c.get(O);return W===void 0?null:W.generation!==H||W.expiresAt<=n()?(_(O),null):(c.delete(O),c.set(O,W),W.page)}function i(O,H){for(_(O),c.set(O,H);c.size>d;){let W=c.keys().next().value;if(typeof W!="string")break;_(W);}}function m(O){let H=[],W=new Map;for(let Z of O){let ce=Z.userId.trim();if(ce==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");W.has(ce)||H.push(ce);let be=Z.displayName.trim()||ce,X=Z.avatar?.trim();W.set(ce,Object.freeze({userId:ce,displayName:be,...X===void 0||X===""?{}:{avatar:X}}));}return Object.freeze(H.map(Z=>W.get(Z)))}async function A(O,H){let W=await ga(H);return Object.freeze(O.filter(Z=>W.match(Z.displayName)!==null||W.match(Z.userId,{pinyin:false})!==null))}async function T(O,H){let W=await K(O);return W===null?Id:A(W.page.items,H)}function U(O,H){let W=[...O.items],Z=new Set(W.map(ce=>ce.userId));for(let ce of H)Z.has(ce.userId)||(Z.add(ce.userId),W.push(ce));return Object.freeze({...O,items:Object.freeze(W)})}function j(O,H){let W=O.map(ce=>ce.userId),Z=new Map(O.map(ce=>[ce.userId,ce]));for(let ce of H)Z.has(ce.userId)||W.push(ce.userId),Z.set(ce.userId,ce);return W.map(ce=>Z.get(ce))}function J(O,H,W){let Z=`im-channel-mention:${o}:${++E}`;for(u.set(Z,{...O,generation:H,expiresAt:W});u.size>d;){let ce=u.keys().next().value;if(typeof ce!="string")break;u.delete(ce);}return Z}function se(O){let H=O.nextCursor?.trim();if(O.exhausted&&H!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!O.exhausted&&(H===void 0||H===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return H}function ye(O,H,W,Z){let ce=se(O),be=ce===void 0?void 0:J({...H,cursor:ce},W,Z);return Object.freeze({items:m(O.items),...be===void 0?{}:{nextPageToken:be},exhausted:O.exhausted})}function I(){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 L(O,H){let W=g.get(O);for(W?.page.nextPageToken!==void 0&&u.delete(W.page.nextPageToken),g.delete(O),g.set(O,H);g.size>d;){let Z=g.keys().next().value;if(Z===void 0)break;let ce=g.get(Z);ce?.page.nextPageToken!==void 0&&u.delete(ce.page.nextPageToken),g.delete(Z);}}function M(O,H){let W=n()+r,Z={channelId:O.channelId,kind:"list"},ce=O.nextCursor===void 0?void 0:J({...Z,cursor:O.nextCursor},H,W);return {generation:H,updatedAt:O.updatedAt,page:Object.freeze({items:m(O.items),...ce===void 0?{}:{nextPageToken:ce},exhausted:O.exhausted})}}function K(O){x();let H=g.get(O);if(H!==void 0)return Promise.resolve(H);if(f.has(O)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let W=h.get(O);if(W!==void 0)return W;let Z=S(O),ce=e.storage.getChannelMentionCandidateSnapshot(O).then(be=>{if(x(),be===null||be.channelId!==O||S(O)!==Z||f.has(O))return null;let X=M(be,Z);return L(O,X),X}).finally(()=>{h.get(O)===ce&&h.delete(O);});return h.set(O,ce),ce}function N(O){x();let H=C.get(O);if(H!==void 0)return H;let W=S(O),Z=I(),ce=(async()=>{let be,X=false,we=[];for(let en=0;en<Qp&&!X;en+=1){let Ee=await Z.listMentionMembers({channelId:O,limit:Xo,...be===void 0?{}:{cursor:be}});if(x(),S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");be=se(Ee),X=Ee.exhausted,we=j(we,Ee.items);}let Ke=n(),ze={channelId:O,items:we,...be===void 0?{}:{nextCursor:be},exhausted:X,updatedAt:Ke};if(S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(ze),x(),S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Xe=M(ze,W);return L(O,Xe),Xe.page})().finally(()=>{C.get(O)===ce&&C.delete(O);});return C.set(O,ce),ce}function Y(O,H=false){x();let W=S(O.channelId),Z=tm(O);if(!H){let Ke=s(Z,W);if(Ke!==null)return Promise.resolve(Ke)}let ce=a.get(Z);if(ce!==void 0&&ce.generation===W)return ce.promise;let be=I(),X=O.kind==="list"?be.listMentionMembers({channelId:O.channelId,limit:Xo,...O.cursor===void 0?{}:{cursor:O.cursor}}):be.searchMentionMembers({channelId:O.channelId,query:O.keyword,limit:Xo,...O.cursor===void 0?{}:{cursor:O.cursor}}),we=Promise.resolve(X).then(async Ke=>{x();let ze=O.kind==="search"&&O.cursor===void 0?await T(O.channelId,O.keyword):Id;if(x(),S(O.channelId)!==W)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Xe=n()+r,en=ye(Ke,O,W,Xe),Ee=ze.length===0?en:U(en,ze);return S(O.channelId)===W&&i(Z,{channelId:O.channelId,generation:W,expiresAt:Xe,page:Ee}),Ee}).finally(()=>{a.get(Z)?.promise===we&&a.delete(Z);});return a.set(Z,{generation:W,promise:we}),we}function ve(O,H){x();let W=u.get(O);if(W===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(W.kind!==H)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${H} \u5206\u9875`);if(W.expiresAt<=n())throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(S(W.channelId)!==W.generation)throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return W}return {api:{peekFirstPage(O){if(!w)return null;let H=v(O),W=g.get(H);return W===void 0||W.generation!==S(H)?null:(L(H,W),W.page)},peekSearchCandidates(O,H){if(!w)return Object.freeze([]);let W=v(O),Z=H.trim().toLocaleLowerCase();if(Z==="")return Object.freeze([]);let ce=g.get(W);return ce===void 0||ce.generation!==S(W)?Object.freeze([]):(L(W,ce),Object.freeze(ce.page.items.filter(be=>be.displayName.toLocaleLowerCase().includes(Z)||be.userId.toLocaleLowerCase().includes(Z))))},async getCachedPage(O,H){let W=v(O),Z=await K(W);if(Z===null)return null;let ce=H?.trim()??"";if(ce==="")return Z.page;let be=await A(Z.page.items,ce);return x(),Z.generation!==S(W)?null:Object.freeze({items:be,exhausted:true})},async prefetchFirstPage(O){let H=v(O),W=await K(H);W!==null&&W.updatedAt+r>n()||await N(H);},async refreshFirstPage(O){return N(v(O))},async listFirstPage(O){let H=v(O),W=g.get(H);if(W!==void 0&&W.generation===S(H))return L(H,W),W.page;let Z=await K(H);return Z!==null?Z.page:N(H)},async listNextPage(O){return Y(ve(O,"list"))},async searchFirstPage(O,H){let W=v(O),Z=H.trim();return Z===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Y({channelId:W,kind:"search",keyword:Z})},async refreshSearchFirstPage(O,H){let W=v(O),Z=H.trim();return Z===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Y({channelId:W,kind:"search",keyword:Z},true)},async searchNextPage(O){return Y(ve(O,"search"))}},async invalidate(O){if(!w)return;let H=O.trim();if(H==="")return;y.set(H,S(H)+1),f.add(H);let W=g.get(H);W?.page.nextPageToken!==void 0&&u.delete(W.page.nextPageToken),g.delete(H),C.delete(H),h.delete(H);for(let[Z,ce]of c)ce.channelId===H&&_(Z);for(let[Z,ce]of u)ce.channelId===H&&u.delete(Z);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(H),f.delete(H));},clear(){if(!w)return;let O=new Set;for(let H of c.values())O.add(H.channelId);for(let H of u.values())O.add(H.channelId);for(let H of O)y.set(H,S(H)+1);c.clear(),u.clear(),a.clear(),g.clear(),C.clear(),h.clear(),f.clear();},dispose(){w&&(w=false,c.clear(),u.clear(),a.clear(),g.clear(),C.clear(),h.clear(),f.clear());}}}var rm=20*1024*1024;function zn(e){return ee({...e,retryable:e.retryable??false})}function Qo(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 om(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 am(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 hd(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:am(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 Zo(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 im(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Cd(e){let n=e.maxCustomImageBytes??rm,r=false,d=0,o,c;async function a(y,g){try{return await g(om(e.storage,y))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:zn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:C})}}return {api:{async getBackground(y){let g="conversations.getBackground",C=Qo(y,g);return a(g,async h=>{let f=await h.getConversationBackground(C);if(f!==null)return Object.freeze({source:"conversation",selection:Zo(f)});let E=await h.getDefaultConversationBackground();return Object.freeze(E===null?{source:"builtin",selection:null}:{source:"default",selection:Zo(E)})})},async setBackground(y,g){let C="conversations.setBackground",h=Qo(y,C),f=await hd(g,C,n);await a(C,E=>E.saveConversationBackground(h,f));},async resetBackground(y){let g="conversations.resetBackground",C=Qo(y,g);await a(g,h=>h.deleteConversationBackground(C));},async getDefaultBackground(){return a("conversations.getDefaultBackground",async g=>{let C=await g.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:Zo(C)})})},async setDefaultBackground(y){let g="conversations.setDefaultBackground",C=await hd(y,g,n);await a(g,h=>h.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await a("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(y){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(zn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!y?.forceRefresh&&o!==void 0)return Promise.resolve(o);if(!y?.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=ga$1(e.coreClient).then(f=>{let E=Object.freeze(f.map(im));return !r&&C===d&&(o=E),E}).catch(f=>{throw zn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:f})}).finally(()=>{C===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,o=void 0,c=void 0;}}}var bd=2;async function sm(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,o,c,a=g=>Md(e.entryUpperSortKey===void 0?g:g.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,o,e.isEntryUnread).unreadMessages;for(let g=0;g<=(e.maxExtraPages??bd);g+=1){e.signal?.throwIfAborted();let C=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),C===void 0)break;if(o!==void 0&&o!==C.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");o=C.readCursorSortKey,c=C;for(let w of C.messages){if(w.conversationId!==e.conversation.conversationId||w.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(w.id,w);}let h=[...n.values()].sort(m$1),f=a(h),E=e.entryUpperSortKey!==void 0&&C.messages.some(w=>w.sortKey>=e.entryUpperSortKey);if(ea(f)&&(C.exhausted||E))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(E||f.some(w=>w.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(m$1),y=a(u)[0];return y!==void 0&&c!==void 0?(await e.openAt(y.sortKey,{messages:u,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),Sd(y.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function ea(e){return e.length>0&&e.every(n=>n.contentType==="system")}function cm(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Md(e,n,r,d){let o=[];for(let c of e)!cm(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??ma$1(c,n))&&o.push(c);return {unreadMessages:o}}function Sd(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function na(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return sm(e);let n=new Map,r=()=>{let h=e.list();for(let f of h)n.delete(f.id);for(let f of Md(h,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)n.set(f.id,{id:f.id,sortKey:f.sortKey,contentType:f.contentType});return [...n.values()].sort(m$1)},d=e.readCursorSortKey!==void 0;d?await e.openAt(e.readCursorSortKey):await e.openLatest(),e.signal?.throwIfAborted();let o=r(),c=e.maxExtraPages??bd,a=e.paginationKey??(()=>JSON.stringify(e.list().map(h=>[h.id,h.sortKey]))),u=new Set,y=()=>o.length<e.unreadCount||d&&ea(o);for(let h=0;y()&&(d?e.hasNewer():e.hasOlder())&&h<c&&(e.signal?.throwIfAborted(),u.add(a()),await(d?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),o=r(),!(e.maxExtraPages!==void 0&&u.has(a())));h+=1);if(o.length<e.unreadCount)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let g=d?o:o.slice(-e.unreadCount);if((!d||!e.hasNewer())&&ea(g))return await e.openLatest(),Object.freeze({state:"none"});let C=g[0];return C===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(C.sortKey),e.signal?.throwIfAborted(),Sd(C.id,e.unreadCount))}function pr(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},o=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}o.has(c.userId)||(o.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 dm(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function lm(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Pd(e){let n=[...new Set(e.messageIds.map(a=>a.trim()).filter(a=>a!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],o=[],c;for(let a of lm(n)){if(!e.isCurrent()){o.push(...a);continue}try{let u=await e.fetchBatch(a);if(!e.isCurrent()){o.push(...a);continue}let y=new Set(u.messages.map(C=>C.id)),g=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),d.push(...u.missingMessageIds);for(let C of a)!y.has(C)&&!g.has(C)&&o.push(C);}catch(u){o.push(...a),c=dm(u);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:o,...c===void 0?{}:{failure:c}}}var ra=new WeakMap;function $r(e,n){let r=ra.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");ra.set(e,r);}var um={"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}},pm={"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}},Ad={"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}},Ed={"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 Rd(e,n,r){let d=ee({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function mm(e,n){let r=ee({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 fm=3*1024*1024,ta=200*1024*1024,wd=2*1024*1024*1024,Td=30*1024*1024,_d=4294967295,gm=6,ym=16*1024;async function Im(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 Jr(e,n,r,d,o={},c={}){c.signal?.throwIfAborted();let a=Object.freeze({...e}),u=n.pageSize??30,y={retention:{maxMessages:u*gm},...o.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,b)=>o.shouldEstablishRemoteLatestOnOpen?.(b)===true}},g=n.domainState.createMessageWindow({...y}),C=new WeakSet,h=new Set,f=new Set,E=new Map,w,S,x=false,v=false,_=false,s=true,i=0,m=Object.freeze({state:"none"}),A=c.captureEntryUnread===true&&a.conversationType!=="robot",T=A?n.domainState.getSession(a):void 0,U=Math.max(0,T?.manuallyUnread===true?0:T?.unreadCount??0),j=A?n.domainState.getReadState(a):void 0,J=n.getSelfId(),se=new Map,ye=new Set,I,L,M=j?.readCursorSortKey,K=A?Object.freeze(U>0?{state:"pending",count:U}:{state:"none"}):void 0,N=0,Y,ve,ie=0,O=false,H,W;if(A)for(let p of n.domainState.getLoadedMessagesByConversation(a))se.set(p.id,ma$1(p,J)),j?.readCursor===(a.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(M=p.sortKey);let Z=new AbortController,ce=new WeakMap,be;function X(){if(v)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function we(){let p=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(a),draft:n.domainState.getDraft(a),loading:E.size>0,stale:x,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:S,entryUnread:m,entryUnreadNavigation:K}}function Ke(p,b){return p.length===b.length&&p.every((P,F)=>P===b[F])}function ze(p,b){return Ke(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 Xe(p){let b=ce.get(p);if(b!==void 0)return b;let P=Fr(p);return ce.set(p,P),P}function en(p){let b=p.context;return {ref:a,...b===void 0?{}:{display:Object.freeze({title:b.title,...b.avatar===void 0?{}:{avatar:b.avatar}})},messages:Object.freeze(p.messages.map(Xe)),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 Ee(){return X(),en(we())}function $e(){Ge();let p=we();if(be!==void 0&&ze(be,p))return;be=p;let b=en(p);for(let P of h)try{P(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}async function Je(p,b){if(b(),w!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let P=n.domainState.getPinnedMessage(a),F=a.conversationType==="channel"&&P?.messageId===p,re=g.window.list().find(ke=>ke.id===p)??n.domainState.getConversationMessage(a,p);if(re!==void 0&&(!F||Nt(re)))return {anchor:re,...F?{remoteSeed:re}:{}};let me=F?await n.domainState.resolveConversationMessage(a,p):void 0;if(me!==void 0&&Nt(me))return {anchor:me,remoteSeed:me};let he=P?.messageId===p&&P.preview.state==="ready"?P.preview.message:void 0;if(he!==void 0){if(a.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(),w!==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 ke=await n.fetchMessagesByIdBatch([p]),Ne=ke.messages.find(cn=>cn.id===p&&cn.conversationType===a.conversationType&&cn.conversationId===a.conversationId);if(Ne===void 0){if(ke.missingMessageIds.includes(p))return;throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u53D6\u5F97\u5B8C\u6574\u6D88\u606F\u7ED3\u679C")}if(!Nt(Ne))throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u6D88\u606F\u7F3A\u5C11\u5386\u53F2\u6E38\u6807");return {anchor:Ne,remoteSeed:Ne}}return {anchor:he,fallbackSeed:he}}let Ie=n.resolveSearchHistoryAnchor?.(a,p);if(Ie!==void 0)return {anchor:Ie};let de=F?me:await n.domainState.resolveConversationMessage(a,p);return de===void 0?void 0:{anchor:de}}async function Mn(p,b,P){P();let{anchor:F}=b;if(b.remoteSeed!==void 0)return p.openAt(a,{anchorSortKey:F.sortKey,limit:u,seedMessages:[b.remoteSeed],seedHasNewer:true,seedRemotePagination:{}});let re=await p.openAt(a,{anchorSortKey:F.sortKey,limit:u});return P(),p.list().some(me=>me.id===F.id)||b.fallbackSeed===void 0?re:p.openAt(a,{anchorSortKey:F.sortKey,limit:u,seedMessages:[b.fallbackSeed],seedHasNewer:true,seedRemotePagination:{}})}function Sn(p,b,P){X();let F=g,re=P?.window??F.window,me=P?.isCurrent??(()=>!v&&g===F),he=()=>{if(X(),!me())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(w!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let Ie=E.get(p);if(Ie!==void 0)return Ie;let de=n.beginReceiving?.();S=void 0;let ke=Promise.resolve().then(()=>(he(),b())).then(Ne=>(he(),o.reconcilePage===void 0?Ne:o.reconcilePage(Ne,re))).then(Ne=>{he(),x=Ne.stale===true;}).catch(Ne=>{let cn=Ne instanceof Ka$1?Ne.cause:Ne;throw me()&&(S=Yn(cn,`history.${p}`,a)),s?Ne:cn}).finally(()=>{de?.(),E.delete(p),v||$e();});return E.set(p,ke),$e(),ke}function R(){g.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u));}async function G(){O=false,_?_=false:await Sn("latest",()=>g.window.open(a,{limit:u})),R(),o.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await Sn("latest:remote",()=>g.window.loadOlder({limit:u})),R()),O=!x,ge(g.window.list());}function Q(){if(X(),ve?.version===N)return ve.promise;let p=++N,b=$(p).finally(()=>{ve?.version===p&&(ve=void 0);});return ve={version:p,promise:b},b}async function $(p){let b=g,P=n.domainState.createMessageWindow(y),F=()=>!v&&N===p&&g===b,re=()=>{if(!F())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},me={window:P.window,isCurrent:F},he=(de,ke)=>Sn(de,async()=>{let Ne=await ke();if(Ne.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Ne},me),Ie=false;try{await he(`latest:${p}`,()=>P.window.open(a,{limit:u})),re(),P.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u)),o.shouldEstablishRemoteLatestOnOpen?.(P.window.list())===!0&&(await he(`latest:remote:${p}`,()=>P.window.loadOlder({limit:u})),re(),P.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u))),g=P,Ie=!0,b.dispose(),O=!0,x=!1,ge(P.window.list()),$e();}finally{Ie||P.dispose();}}function ge(p){let b=o.resolveReadMessageId?.(p);H=o.resolveReadMessageId===void 0?p.at(-1):p.find(P=>P.id===b);}function Te(p){return ye.has(p.id)||I===void 0||p.sortKey>I||M!==void 0&&p.sortKey<=M?false:se.get(p.id)??ma$1(p,J)}function De(){if(!A||U<=0)return;let b=g.window.list().filter(P=>!ye.has(P.id));I=b.at(-1)?.sortKey;for(let P of b)se.has(P.id)||se.set(P.id,ma$1(P,J));if(c.initialPosition==="first-unread"&&m.state==="located"){L=m.firstMessageId,K=Object.freeze({state:"located",count:U,firstMessageId:m.firstMessageId});return}Ge();}function Ge(){if(!A||U<=0||L!==void 0||I===void 0||K?.state==="none")return;let p=g.window.list();if(!p.some(re=>re.sortKey===I))return;let b=p.filter(re=>Te(re)&&ha(re)&&re.recalled===void 0&&re.deletedForEveryone===void 0);if(b.length<U)return;let P=b.slice(-U);if(P.every(re=>re.contentType==="system")){K=Object.freeze({state:"none"});return}let F=P[0];L=F.id,m=Object.freeze({state:"located",firstMessageId:F.id,count:U}),K=Object.freeze({state:"located",firstMessageId:F.id,count:U});}function Pe(p={}){if(X(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(Y!==void 0){if(!Y.controller.signal.aborted&&Y.version===N&&Y.callerSignal===p.signal)return Y.promise;Y.controller.abort();}if(K===void 0||K.state==="none")return Promise.resolve(false);let b=++N,P=n.domainState.createMessageWindow(y),F=new AbortController,re=()=>!v&&!F.signal.aborted&&N===b,me=()=>{if(!re())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},he=async An=>{me();let Cn=await An();if(me(),o.reconcilePage!==void 0&&(Cn=await o.reconcilePage(Cn,P.window)),me(),Cn.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");P.window.applyIncoming(P.window.list().map(Tn=>n.domainState.getConversationMessage(a,Tn.id)??Tn));},Ie=false,de,ke=new Promise((An,Cn)=>{de=Cn;}),Ne=()=>{Ie||P.dispose(),de(F.signal.reason);},cn=()=>F.abort(p.signal?.reason),st=()=>F.abort(Z.signal.reason);F.signal.addEventListener("abort",Ne,{once:true}),p.signal?.addEventListener("abort",cn,{once:true}),Z.signal.addEventListener("abort",st,{once:true}),Z.signal.aborted&&st();let Zr=n.beginReceiving?.(),Bn=(async()=>{try{let An=L,Cn=An===void 0?void 0:await Je(An,me);if(me(),An!==void 0&&Cn===void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let Tn=Cn===void 0?await na({conversation:a,pageSize:u,maxExtraPages:Number.POSITIVE_INFINITY,...I===void 0?{}:{entryUpperSortKey:I},unreadCount:U,...M===void 0?{}:{readCursorSortKey:M},signal:F.signal,selfId:J,isEntryUnread:Te,...a.conversationType!=="channel"||!j?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async kn=>{let Nn=await n.loadEntryUnreadPage({readCursor:j.readCursor,...kn===void 0?{}:{cursor:kn},signal:F.signal,isCurrent:re});return me(),Nn}},paginationKey:()=>P.window.getPaginationKey(),list:()=>P.window.list(),hasOlder:()=>P.window.info().hasMore,hasNewer:()=>P.window.info().hasNewer,openLatest:async()=>{await he(()=>P.window.open(a,{limit:u})),o.shouldEstablishRemoteLatestOnOpen?.(P.window.list())===!0&&await he(()=>P.window.loadOlder({limit:u}));},openAt:(kn,Nn)=>he(()=>P.window.openAt(a,{anchorSortKey:kn,limit:u,...Nn===void 0?{}:{seedMessages:Nn.messages.map($n=>n.domainState.getConversationMessage(a,$n.id)??$n),seedHasNewer:Nn.hasNewer,seedRemotePagination:Nn.nextCursor===void 0?{}:{newerCursor:Nn.nextCursor}}})),loadOlder:()=>he(()=>P.window.loadOlder({limit:u})),loadNewer:()=>he(()=>P.window.loadNewer({limit:u}))}):await(async()=>(await he(()=>Mn(P.window,Cn,me)),{state:"located",firstMessageId:Cn.anchor.id,count:U}))();if(me(),Tn.state!=="located")return K=Object.freeze(Tn.state==="none"?{state:"none"}:{state:"unavailable",count:U}),!1;let Un=P.window.list().find(kn=>kn.id===Tn.firstMessageId);if(Un===void 0||!ha(Un)||Un.recalled!==void 0||Un.deletedForEveryone!==void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let eo=g;return g=P,Ie=!0,eo.dispose(),L=Tn.firstMessageId,m=Tn,K=Object.freeze({state:"located",count:U,firstMessageId:Tn.firstMessageId}),S=void 0,!0}catch(An){let Cn=An instanceof Ka$1?An.cause:An;if(re()){let Tn=Yn(Cn,"history.loadEntryUnread",a);K=Object.freeze({state:"failed",count:U,error:Tn});}throw Cn}})(),Fn=Promise.race([Bn,ke]).finally(()=>{F.signal.removeEventListener("abort",Ne),p.signal?.removeEventListener("abort",cn),Z.signal.removeEventListener("abort",st),Ie||P.dispose(),Zr?.(),Y?.controller===F&&(Y=void 0),v||$e();});return Y={version:b,callerSignal:p.signal,controller:F,promise:Fn},Fn}async function Me(){if(O){let P=new Map,F=n.domainState.getLoadedMessagesByConversation(a);for(let me of [H,...F])me!==void 0&&P.set(me.id,n.domainState.getConversationMessage(a,me.id)??me);let re=[...P.values()].sort((me,he)=>me.sortKey.localeCompare(he.sortKey));return ge(re),H?.id}let p=ie,b=n.domainState.createMessageWindow(y);try{let P=await b.window.open(a,{limit:u});if(X(),P.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(o.shouldEstablishRemoteLatestOnOpen?.(b.window.list())===!0){let re=await b.window.loadOlder({limit:u});if(X(),re.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");ge(b.window.list()),O=!0;let F=b.window.list();return o.resolveReadMessageId===void 0?F.at(-1)?.id:o.resolveReadMessageId(F)}finally{b.dispose();}}async function Ue(){let p=n.domainState.getSession(a),b=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),P=n.domainState.getReadState(a),F=P?.readCursor,me=(F===void 0||F===""?void 0:a.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(a).find(he=>he.extensions?.historyCursor===F):n.domainState.getConversationMessage(a,F))?.sortKey??P?.readCursorSortKey;m=await na({conversation:a,pageSize:u,unreadCount:b,...me===void 0?{}:{readCursorSortKey:me},signal:Z.signal,...a.conversationType!=="channel"||F===void 0||F===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async he=>{let Ie=g.window.getRevision(),de=()=>!v&&!Z.signal.aborted&&g.window.getRevision()===Ie,ke=await n.loadEntryUnreadPage({readCursor:F,...he===void 0?{}:{cursor:he},signal:Z.signal,isCurrent:de});if(Z.signal.throwIfAborted(),!de())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return ke}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:G,openAt:(he,Ie)=>{_=false;let de=Ie?.messages.map(cn=>n.domainState.getConversationMessage(a,cn.id)??cn),ke=Ie?.messages.find(cn=>cn.sortKey===he)?.id,Ne=ke===void 0?he:de?.find(cn=>cn.id===ke)?.sortKey??he;return Sn(`entry-unread:${he}`,()=>g.window.openAt(a,{anchorSortKey:Ne,limit:u,...Ie===void 0?{}:{seedMessages:de,seedHasNewer:Ie.hasNewer,seedRemotePagination:Ie.nextCursor===void 0?{}:{newerCursor:Ie.nextCursor}}}))},loadOlder:()=>Sn("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>Sn("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let nn=n.emitter.subscribe(p=>{if(!(v||!("conversation"in p)||p.conversation===void 0)&&!(p.conversation.conversationType!==a.conversationType||p.conversation.conversationId!==a.conversationId)){if((p.type==="conversation-history:cleared"||p.type==="session:removed")&&(Z.abort(),N+=1,m=Object.freeze({state:"none"}),A&&(K=Object.freeze({state:"none"})),ie+=1,W?.dispose(),W=void 0,O=false,H=void 0),p.type==="message:received"&&p.source==="live"&&(A&&ye.add(p.message.id),O&&(H===void 0||p.message.sortKey>H.sortKey)&&(o.resolveReadMessageId===void 0||o.resolveReadMessageId([p.message])===p.message.id)&&(H=p.message)),p.type==="draft:updated"||p.type==="draft:cleared"){let b=p.type==="draft:updated"?p.draft:null;for(let P of f)try{P(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}$e();}});function ln(){return c.initialPosition==="first-unread"?Ue():G()}let on=()=>{Z.abort(c.signal?.reason),g.dispose();};c.signal?.addEventListener("abort",on,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await Sn("initial:local",()=>g.window.open(a,{limit:u})),c.signal?.throwIfAborted(),R(),_=!0;try{await ln();}catch(p){if(c.signal?.throwIfAborted(),p instanceof Ka$1)throw p;S=Yn(p,"history.initial",a),c.initialPosition==="first-unread"&&(m=Object.freeze({state:"unavailable"}));}finally{_=!1;}}else await ln();c.signal?.throwIfAborted();}catch(p){throw v=true,Z.abort(),nn(),h.clear(),g.dispose(),p instanceof Ka$1?p.cause:p}finally{c.signal?.removeEventListener("abort",on);}s=false,De();function an(p,b){let P=n.domainState.getMessage(p);return P!==void 0&&P.conversationType===a.conversationType&&P.conversationId===a.conversationId?{ok:true,message:kt(P)}:{ok:false,error:ee({code:P===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a})}}async function qe(p,b,P){let F=await o.getSendPermissionError?.(p);if(X(),F!==void 0){if(P===void 0)return {ok:false,error:F};let re=await P(F);return X(),re}try{let re=await b();return X(),re}catch(re){if(v)throw re;return {ok:false,error:Yn(re,p,a)}}}async function Ye(p,b={}){let P="name"in p?p.name:void 0,F=b.fileName??(typeof P=="string"&&P!==""?P:void 0);return {...a,data:p,...p.type===""?{}:{mimeType:p.type},...F===void 0?{}:{filename:F},...a.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 sn(p){return p===void 0||Number.isFinite(p.width)&&p.width>0&&Number.isFinite(p.height)&&p.height>0}function fn(p){return sn(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<=ym)}function at(p){return p!==void 0&&"duration"in p&&p.duration!==void 0&&Number.isFinite(p.duration)&&p.duration>0}function Ae(p,b,P){return {ok:false,error:ee({code:p,category:b,operation:P,retryable:false,conversation:a})}}function fr(p,b){if(p===null||typeof p!="object"||p.kind!==b||!Number.isSafeInteger(p.width)||p.width<=0||p.width>_d||!Number.isSafeInteger(p.height)||p.height<=0||p.height>_d)return false;let P;try{P=new URL(p.url);}catch{return false}if(P.protocol!=="http:"&&P.protocol!=="https:"||P.username!==""||P.password!=="")return false;let F=p.resourceId;if(F!==void 0&&(typeof F!="string"||F.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(p,"packageId");let re=p.packageId;return typeof F=="string"&&F.trim()!==""&&typeof re=="string"&&re.trim()!==""}function Pn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function Qr(p,b,P){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:b});throw Pn(ee({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:P,retryable:false,conversation:a,details:{targetConversationType:p,targetConversationId:b}}))}async function Ut(p,b,P){let F;try{F=await n.forwardMessages({messages:b,targets:P.map(re=>({...re}))});}catch(re){throw Pn(Yn(re,p,a))}return X(),Object.freeze({sent:Object.freeze(F.results.flatMap(re=>re.ok?[{conversation:Qr(re.targetConversationType,re.targetConversationId,p),messageId:re.newMessageId}]:[])),failed:Object.freeze(F.results.flatMap(re=>re.ok?[]:[{sourceMessageId:re.sourceMessageId,conversation:Object.freeze({conversationType:re.targetConversationType,conversationId:re.targetConversationId}),error:ee({...vm[re.reason],operation:p,conversation:{conversationType:re.targetConversationType,conversationId:re.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...F.skippedSourceIds])})}function Xn(p,b){let P=n.domainState.getConversationMessage(a,p);if(P===void 0){let F=n.domainState.getMessage(p);throw Pn(ee({code:F===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a}))}if(P.conversationType!==a.conversationType||P.conversationId!==a.conversationId)throw Pn(ee({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a}));return P}function Wn(p,b){return Pn(ee({...b,operation:p,conversation:a}))}function St(p,b){let P=ee({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:a,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),P,{name:"ImLocalMessageDeletionError"})}function Pt(p,b){let P=ee({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:a,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),P,{name:"ImLocalConversationHistoryClearError"})}function B(){if(v)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(w!==void 0)return w;n.invalidateHistory?.(a);let p=[...E.values()],b=Promise.all(p).then(async()=>{X();let P=[...n.domainState.getMessagesByConversation(a),...g.window.list()];if(n.hasOutboxForConversation(a)||P.some(F=>n.isOutboxOwned(F.id)))throw Pt("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(P.some(F=>F.status==="pending"||F.status==="uploading"||F.status==="sending"))throw Pt("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(a),X(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(P=>{throw P instanceof Error&&P.name==="ImLocalConversationHistoryClearError"?P:Pt("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",P)}).finally(()=>{w===b&&(w=void 0);});return w=b,b}async function Dn(p,b){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(a,p);}catch(P){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${b}\uFF09`,cause:P}});}}async function it(p,b,P,F,re){return qe(p,async()=>{if(b==="image"){let de=await Ur(P);if(X(),!de)return Ae("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let me=await Ye(P,F);if(X(),b!==void 0&&me.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let de=new AbortController,ke=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${p}:${++i}`,kind:b,file:P,signal:de.signal});if(X(),ke===void 0||(b==="image"?!sn(ke):!fn(ke)))return Ae(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);me.localPreviewMetadata=ke;}if(b==="video"&&(n.prepareMediaPreview!==void 0||me.localPreviewMetadata!==void 0)&&!at(me.localPreviewMetadata))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let he=o.recheckSendPermissionError?.(p);if(he!==void 0)return {ok:!1,error:he};let Ie=await re({...me,...F.filesAlbum===void 0?{}:{filesAlbum:F.filesAlbum},...F.caption===void 0||F.caption===""?{}:{caption:F.caption}});return Ie.ok?(X(),an(Ie.messageId,p)):{ok:!1,error:tr(Ie.reason,p,a)}})}async function Kt(p,b){let P="messages.sendMediaAlbum";if(p.length===0)return Ae("IM_SDK_MEDIA_ALBUM_EMPTY","validation",P);if(p.length>q$1)return Ae("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",P);if(b.caption!==void 0&&b.caption.length>p$1)return Ae("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",P);for(let F of p){if(F.file.type==="image/gif")return Ae("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",P);if(F.kind==="image"){if(F.file.size>Td)return Ae("IM_SDK_IMAGE_TOO_LARGE","validation",P);if(!sn(F.localPreviewMetadata))return Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P)}else {if(F.file.size>ta)return Ae("IM_SDK_VIDEO_TOO_LARGE","validation",P);if(!fn(F.localPreviewMetadata))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P)}}return qe(P,async()=>{for(let Ie of p){if(Ie.kind!=="image")continue;let de=await Ur(Ie.file);if(X(),!de)return Ae("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",P)}let F=await Promise.all(p.map(async Ie=>{if(Ie.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return Ie.localPreviewMetadata;let de=new AbortController;return n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${P}:${++i}`,kind:Ie.kind,file:Ie.file,signal:de.signal})}));X();let re=[];for(let[Ie,de]of p.entries()){let ke=F[Ie];if(de.kind==="image"&&!sn(ke))return Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P);if(de.kind==="video"){if(!fn(ke))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P);if(n.prepareMediaPreview!==void 0&&!at(ke))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",P)}let Ne="name"in de.file?de.file.name:void 0;re.push({kind:de.kind,data:de.file,...de.file.type===""?{}:{mimeType:de.file.type},...typeof Ne=="string"&&Ne!==""?{filename:Ne}:{},...de.localPreviewUrl===void 0?{}:{localPreviewUrl:de.localPreviewUrl},...ke===void 0?{}:{localPreviewMetadata:ke}});}let me=o.recheckSendPermissionError?.(P);if(me!==void 0)return {ok:!1,error:me};let he=await n.sendMediaAlbum({...a,items:re,...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 he.ok?(X(),an(he.messageId,P)):{ok:!1,error:tr(he.reason,P,a)}})}function At(p,b,P){let F=Xn(p,P);if(!(F.contentType===b||b==="file"&&F.contentType==="filesAlbum"&&F.body.filesAlbum?.items.length===1)||F.status!=="failed"||!(F.failure?.displayCode==="media.uploadInterrupted"||F.failure?.displayCode==="media.cancelled"||F.failure?.displayCode==="media.uploadTimeout"&&F.failure.retryable===false)||n.isOutboxOwned(p))throw Pn(ee({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:a}));return F}async function gr(p,b,P,F,re,me){return At(b,P,p),qe(p,async()=>{let he=await Ye(F,re);if(P==="video"&&he.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let ke=new AbortController,Ne=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${p}:${++i}`,kind:"video",file:F,signal:ke.signal});if(X(),Ne===void 0||!fn(Ne))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);he.localPreviewMetadata=Ne;}if(P==="video"&&(n.prepareMediaPreview!==void 0||he.localPreviewMetadata!==void 0)&&!at(he.localPreviewMetadata))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let Ie=o.recheckSendPermissionError?.(p);if(Ie!==void 0)return {ok:!1,error:Ie};At(b,P,p);let de=await me(b,{...he,...re.caption===void 0||re.caption===""?{}:{caption:re.caption}});return de.ok?(X(),an(de.messageId,p)):{ok:!1,error:tr(de.reason,p,a)}})}let un={ref:a,getSnapshot:Ee,subscribe(p){return X(),h.add(p),()=>h.delete(p)},resolveMessage:async p=>{X();let b=g.window.list().find(P=>P.id===p)??await n.domainState.resolveConversationMessage(a,p);return b===void 0?null:Xe(b)},history:{loadEntryUnread:p=>Pe(p),loadLatest:async()=>Q(),loadOlder:async()=>(X(),N+=1,Sn("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{X(),N+=1,await Sn("newer",()=>g.window.loadNewer({limit:u})),X(),g.window.info().hasNewer||(R(),$e());},loadAround:async p=>{X();let b=++N;if(w===void 0&&a.conversationType==="channel"&&C.has(g.window)&&n.domainState.getPinnedMessage(a)?.messageId===p&&g.window.list().some(ke=>ke.id===p&&Nt(ke)))return;let P=g,F=()=>!v&&N===b&&g===P,re=()=>{if(X(),!F())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},me=await Je(p,re);if(re(),me===void 0||me.anchor.conversationType!==a.conversationType||me.anchor.conversationId!==a.conversationId)throw mm(a,p);let he=n.domainState.createMessageWindow(y),Ie=he.window,de=false;try{await Sn(`around:${p}:${b}`,async()=>(re(),Mn(Ie,me,re)),{window:Ie,isCurrent:F}),re(),g=he,me.remoteSeed!==void 0&&C.add(Ie),de=!0,P.dispose(),$e();}finally{de||he.dispose();}},clearLocal:async()=>(X(),B())},messages:{sendText:async(p,b={})=>{X();let P=r(a,p,b);if("code"in P)return {ok:false,error:P};let F=n.domainState.getDraft(a)?.updatedAt;return qe("messages.sendText",async()=>{let re=await n.sendText(P);return X(),await Dn(F,"messages.sendText"),an(re.id,"messages.sendText")},async re=>{let me=o.appendTextPermissionFailure?.(P);return me===void 0?{ok:false,error:re}:(await Dn(F,"messages.sendText"),{ok:true,message:kt(me)})})},sendContact:async(p,b={})=>{X();let P=p.targetId.trim(),F=p.displayName.trim();if(P===""||F==="")return {ok:false,error:ee({code:P===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:a})};let re={...a,contact:{...p,targetId:P,displayName:F},encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return qe("messages.sendContact",async()=>{let me=await n.sendContact(re);return an(me.id,"messages.sendContact")})},sendImage:async(p,b={})=>(X(),p.size>Td?Ae("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?Ae("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):sn(b.localPreviewMetadata)?it("messages.sendImage","image",p,b,n.sendImage):Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,b={})=>(X(),Kt(p,b)),sendVideo:async(p,b={})=>(X(),p.size>ta?Ae("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):fn(b.localPreviewMetadata)?it("messages.sendVideo","video",p,b,n.sendVideo):Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,b,P={})=>(X(),b.size>ta?Ae("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):fn(P.localPreviewMetadata)?gr("messages.replaceInterruptedVideo",p,"video",b,P,n.replaceVideo):Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(p,b)=>(X(),qe("messages.sendVoice",async()=>{let P=await Ye(p,b),F=o.recheckSendPermissionError?.("messages.sendVoice");if(F!==void 0)return {ok:!1,error:F};let re=await n.sendVoice({...P,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return re.ok?(X(),an(re.messageId,"messages.sendVoice")):{ok:!1,error:tr(re.reason,"messages.sendVoice",a)}})),sendFile:async(p,b={})=>{if(X(),p.size>wd)return Ae("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&b.caption.length>p$1)return Ae("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let P=b.fileName??("name"in p?p.name:void 0);return typeof P!="string"||P.trim()===""?Ae("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):it("messages.sendFile",void 0,p,b,n.sendFile)},sendGif:async(p,b={})=>(X(),p.size>fm?Ae("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Im(p)?it("messages.sendGif",void 0,p,b,P=>n.sendGif(P)):Ae("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,b={})=>(X(),fr(p,"sticker")?qe("messages.sendSticker",async()=>{let P=await n.sendExpression({...a,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendSticker")}):Ae("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,b={})=>(X(),fr(p,"gif")?qe("messages.sendGifAsset",async()=>{let P=await n.sendExpression({...a,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGifAsset")}):Ae("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,b={})=>(X(),p!=="rock-paper-scissors"&&p!=="dice"?Ae("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):qe("messages.sendGame",async()=>{let P=await n.sendGame({...a,gameType:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGame")})),sendMiniProgram:async(p,b={})=>(X(),t$1(p)?qe("messages.sendMiniProgram",async()=>{let P=await n.sendMiniProgram({...a,miniProgram:p,encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendMiniProgram")}):Ae("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,b={})=>(X(),a.conversationType==="channel"||a.conversationType==="robot"?Ae("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(p)?qe("messages.sendTransfer",async()=>{let P=await n.sendTransfer({...a,transfer:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendTransfer")}):Ae("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,b={})=>(X(),a.conversationType==="channel"||a.conversationType==="robot"?Ae("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):o$1(p)?qe("messages.sendGift",async()=>{let P=await n.sendGift({...a,gift:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGift")}):Ae("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(p,b)=>{X(),Xn(p,"messages.toggleReaction");let P=await n.setReaction({conversation:a,parentMessageId:p,emoji:b,action:"toggle"});if(X(),!P.ok)throw Wn("messages.toggleReaction",Ad[P.reason]);return Object.freeze({messageId:p,eventId:P.event.id,emoji:P.event.emoji,action:P.event.action===0?"add":"remove"})},setReaction:async(p,b,P)=>{X(),Xn(p,"messages.setReaction");let F=await n.setReaction({conversation:a,parentMessageId:p,emoji:b,action:P});if(X(),!F.ok)throw Wn("messages.setReaction",Ad[F.reason]);return Object.freeze({messageId:p,eventId:F.event.id,emoji:F.event.emoji,action:F.event.action===0?"add":"remove"})},replaceInterruptedFile:async(p,b,P={})=>{if(X(),b.size>wd)return Ae("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(P.caption!==void 0&&P.caption!=="")return Ae("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let F=P.fileName??("name"in b?b.name:void 0);return typeof F!="string"||F.trim()===""?Ae("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):gr("messages.replaceInterruptedFile",p,"file",b,{...P,fileName:F},n.replaceFile)},editText:async(p,b,P={})=>{X(),Xn(p,"messages.editText");let F=d(a,p,b,P);if("code"in F)throw Pn(F);let re;try{re=await n.editMessage(F);}catch(me){throw Pn(Yn(me,"messages.editText",a))}if(X(),!re.ok)throw Wn("messages.editText",pm[re.reason]);return kt(Xn(p,"messages.editText"))},recall:async p=>{X(),Xn(p,"messages.recall");let b;try{b=await n.recallMessage({...a,messageId:p});}catch(P){throw Pn(Yn(P,"messages.recall",a))}if(X(),!b.ok)throw Wn("messages.recall",um[b.reason])},deleteLocal:async p=>{X();let b=n.domainState.getConversationMessage(a,p);if(n.isOutboxOwned(p))throw St("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===a.conversationType&&b.conversationId===a.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw St("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(a);let P=await n.domainState.deleteLocalMessage(a,p);return X(),Object.freeze({scope:"local-only",messageId:p,deleted:P,remoteHistory:"remote-history-may-restore"})}catch(P){throw P instanceof Error&&P.name==="ImLocalMessageDeletionError"?P:St("IM_SDK_LOCAL_DELETE_FAILED",P)}},forward:async(p,b)=>{if(X(),p.length===0||b.length===0)throw Pn(ee({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:a}));return Ut("messages.forward",p.map(P=>({id:P,...a})),b)},forwardMediaAlbumItem:async(p,b,P)=>{X();let F="messages.forwardMediaAlbumItem";if(p.trim()===""||P.length===0)throw Pn(ee({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:F,retryable:false,conversation:a}));if(!Number.isInteger(b)||b<0)throw Pn(ee({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:F,retryable:false,conversation:a,details:{itemIndex:b}}));return Ut(F,[{id:p,...a,itemIndex:b}],P)},fetchByIds:async p=>{X();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw Pn(ee({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:a}));let P=n.beginReceiving?.();try{let F=await Pd({messageIds:p,fetchBatch:b,isCurrent:()=>!v,projectMessage:Xe});return Object.freeze({messages:Object.freeze([...F.messages]),missingMessageIds:Object.freeze([...F.missingMessageIds]),unresolvedMessageIds:Object.freeze([...F.unresolvedMessageIds]),...F.failure===void 0?{}:{failure:Object.freeze(F.failure)}})}finally{P?.();}}},draft:{get:async()=>(X(),n.drafts.get(a)),save:async p=>(X(),n.drafts.save(a,p)),clear:async()=>{X(),await n.drafts.clear(a);},subscribe(p){return X(),f.add(p),()=>f.delete(p)}},markRead:async p=>{X();let b=g.window.list();if(p!==void 0&&!b.some(F=>F.id===p))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${p}`);let P=o.resolveReadMessageId===void 0?p??b.at(-1)?.id:o.resolveReadMessageId(b,p);P!==void 0&&await n.markRead({...a,readCursor:P});},markConversationRead:async()=>{if(X(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=ie,b=await Me();if(X(),p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(a.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(a,b)===void 0){let P=H?.id===b?H:void 0;if(P===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");W??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let F=await W.window.openAt(a,{anchorSortKey:P.sortKey,limit:u,seedMessages:[P],seedHasNewer:false});if(X(),F.stale||p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(a,b);},markVisibleMessages:async p=>{if(X(),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(P=>!g.window.list().some(F=>F.id===P)))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(a,b);},setMuted:async p=>(X(),n.setMuted(a,p)),close(){v||(v=true,Z.abort(),N+=1,nn(),h.clear(),f.clear(),W?.dispose(),g.dispose());}};return ra.set(un,{getMessages:()=>(X(),g.window.list()),resolveMessage:async p=>(X(),g.window.list().find(b=>b.id===p)??n.domainState.resolveConversationMessage(a,p))}),un}var hm=5e3;async function Dd(e,n,r={}){let d=false,o,c;function a(){let C=Date.now();if(o!==void 0&&C-o.checkedAt<hm)return Promise.resolve(o.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(f=>(o={value:f,checkedAt:Date.now()},f)).catch(f=>(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:f}}),o={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 a();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 ee({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&a();let y=await Jr(e,n,(C,h,f)=>f.mentions!==void 0&&f.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:h,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(C,h,f,E)=>E.mentions!==void 0&&E.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:h,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...y,messages:{...y.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 f=ee({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(f.code),f)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return $r(g,y),g}async function kd(e,n,r={}){return Jr(e,n,(d,o,c)=>{let a=pr(c.mentions);return {...d,text:o,encrypted:true,...a===void 0?{}:{mention:a},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,o,c,a)=>{let u=pr(a.mentions);return {...d,messageId:o,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&&xd(d,n.pageSize??30)},r)}async function Od(e,n,r={}){return Jr(e,n,(d,o,c)=>c.mentions!==void 0&&c.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:o,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,o,c,a)=>a.mentions!==void 0&&a.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:o,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Cm=new Set(["pending","uploading","sending"]);function xd(e,n){return e.length<n}function Nt(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function bm(e,n,r){let d=r===void 0?e.length-1:e.findIndex(a=>a.id===r),o=e[d];if(o===void 0||Nt(o))return o?.id;let c=e.slice(0,d).findLast(a=>Nt(a));return c!==void 0?c.id:o.senderId===n&&Cm.has(o.status)?void 0:o.id}function Mm(e,n){let r=false;for(let d of e){let o=d.body.system;if(!(d.conversationType!=="channel"||o?.targetUserIds?.includes(n)!==true)){if(o.eventType==="channel_member_left"||o.eventType==="channel_member_removed"){r=true;continue}if(r&&(o.eventType==="channel_member_joined"||o.eventType==="channel_member_invited"))return true}}return false}async function Nd(e,n,r={}){let d=await Jr(e,n,(c,a,u)=>{let y=pr(u.mentions);return {...c,text:a,encrypted:true,...y===void 0?{}:{mention:y},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,a,u,y)=>{let g=pr(y.mentions);return {...c,messageId:a,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&&xd(c,n.pageSize??30)||Mm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,a)=>bm(c,n.getSelfId(),a)},r),o={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw Rd(e,Ed["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(y){let g=Yn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:y}),g)}if(!u.ok)throw Rd(e,Ed[u.reason])}}};return $r(o,d),o}var Sm=40,Pm=100,Am=0;function rt(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Em(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Ld(e){let n=++Am,r=new Map,d=new Map,o=new Map,c=new Map,a=new Map,u=0,y=true;function g(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(v){let _=v??Sm;if(!Number.isSafeInteger(_)||_<1||_>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return _}function h(v){let _=`im-directory:${n}:${++u}`;return r.set(_,v),_}function f(v,_){let s=a.get(v);s===void 0&&(s=new Map,a.set(v,s));let i=_.map(m=>Object.freeze({...m}));for(let m of i)s.set(m.id,m);return Object.freeze(i)}async function E(v,_,s){if(g(),e.provider===void 0)throw new Error(`${rt(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let i=await e.provider.list({kind:v,page:_,pageSize:s});if(g(),i.exhausted===(i.nextPage!==void 0))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let m=i.nextPage===void 0?void 0:h({kind:v,page:i.nextPage,pageSize:s}),A=f(v,i.items);return Object.freeze({items:A,...m===void 0?{}:{nextPageToken:m},exhausted:i.exhausted})}function w(v){return {listFirstPage:_=>E(v,1,C(_?.pageSize)),listNextPage:_=>{g();let s=r.get(_);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==v)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${rt(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${rt(v)}`));let i=d.get(_);if(i!==void 0)return i;let m=E(v,s.page,s.pageSize).then(A=>(r.delete(_),A)).finally(()=>{d.delete(_);});return d.set(_,m),m}}}function S(v){g();let _=o.get(v);if(_!==void 0)return Promise.resolve(_);let s=c.get(v);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${rt(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let i=(async()=>{let m=[],A=new Map,T=new Set,U=1;for(;;){if(g(),T.has(U))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);T.add(U);let J=await e.provider.list({kind:v,page:U,pageSize:Pm});if(g(),J.exhausted===(J.nextPage!==void 0))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let se of J.items)A.has(se.id)||m.push(se.id),A.set(se.id,se);if(J.nextPage===void 0)break;if(!Number.isSafeInteger(J.nextPage)||J.nextPage<1)throw new Error(`${rt(v)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);U=J.nextPage;}let j=f(v,m.map(J=>A.get(J)));return g(),o.set(v,j),j})().finally(()=>{c.delete(v);});return c.set(v,i),i}async function x(v){if(g(),v.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[_,s,i,m]=await Promise.all([S("individual"),S("group"),S("channel"),ga(v)]);g();function A(U,j){let J=[];for(let se of j){let ye=se==="displayName"?U.displayName:se==="username"?U.username:U.id;if(ye===void 0||ye==="")continue;let I=m.match(ye,{pinyin:se==="displayName"});I!==null&&J.push(Em(se,I));}return J.length===0?null:Object.freeze({item:U,matches:Object.freeze(J)})}function T(U,j){return Object.freeze(U.flatMap(J=>{let se=A(J,j);return se===null?[]:[se]}))}return Object.freeze({keyword:m.keyword,contacts:T(_,["displayName","username","id"]),groups:T(s,["displayName"]),channels:T(i,["displayName"])})}return {contacts:w("individual"),groups:w("group"),channels:w("channel"),search:{search:x},peekItem:(v,_)=>(g(),a.get(v)?.get(_)),dispose:()=>{y=false,r.clear(),d.clear(),o.clear(),c.clear(),a.clear();}}}function Rm(e){if(e.conversationType==="supergroup")throw ee({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw ee({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Yr(e){return Rm(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function wm(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw ee({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 Fd(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(o){return r(),e.domainState.getDraft(Yr(o))},async save(o,c){r();let a=Yr(o);return e.domainState.saveDraft(a,wm(a,c))},async clear(o){r(),await e.domainState.clearDraft(Yr(o));},subscribe(o,c){r();let a=Yr(o),u=e.emitter.subscribe(g=>{g.type!=="draft:updated"&&g.type!=="draft:cleared"||g.conversation.conversationType!==a.conversationType||g.conversation.conversationId!==a.conversationId||c(g.type==="draft:updated"?g.draft:null);}),y=()=>{u(),n.delete(y);};return n.add(y),y}},dispose(){for(let o of [...n])o();}}}var Tm=20,Ud=50,Kd=30,Bd=4294967295;function bt(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function hn(e,n){return bt({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Gd(e,n){if(n instanceof x$1)return bt({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 bt({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return bt({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 bt({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 bt({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function Vn(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 _m(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 Dm(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 km(e,n,r){let d=Vn(e,n,r),o;try{o=new URL(d);}catch{throw hn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(o.protocol!=="https:"&&o.protocol!=="http:")throw hn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(o.username!==""||o.password!=="")throw hn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function Hd(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Bd)throw hn(r,`${n} \u5FC5\u987B\u662F 1-${Bd} \u7684\u6574\u6570`);return Number(e)}function Wd(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:km(e.url,"url",n),width:Hd(e.width,"width",n),height:Hd(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:Vn(e.packageId,"packageId",n),resourceId:Vn(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:Vn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function Om(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:Vn(e.token,"token",n),resourceId:Vn(e.resourceId,"resourceId",n)}:Wd(e,n)}function xm(e,n){if(e!=="sticker"&&e!=="gif")throw hn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Nm(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw hn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function jd(e,n){if(!Array.isArray(e))throw hn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>Vn(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>Kd)throw hn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Kd} \u4E2A id`);return r}function zd(e,n){let r=e?.offset??0,d=e?.pageSize??Tm;if(!Number.isSafeInteger(r)||r<0)throw hn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>Ud)throw hn(n,`pageSize \u5FC5\u987B\u662F 1-${Ud} \u7684\u6574\u6570`);return {offset:r,limit:d}}function Vd(e){return Object.freeze({...e})}function Lm(e){return Object.freeze({...e})}function qd(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 $d(e){function n(o){if(!e.isActive())throw bt({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw Gd(o,new x$1("core"));let a;try{a=await c(e.provider);}catch(u){throw n(o),Gd(o,u)}return n(o),a}let d={packs:Object.freeze({list:async o=>{let c="expressions.packs.list",a=o?.version===void 0?void 0:Dm(o.version,"version",c),u=await r(c,g=>g.listStickerPacks(a)),y=Object.freeze(u.items.map(g=>Object.freeze({...g})));return Object.freeze({version:u.version,items:y})},listItems:async o=>{let c="expressions.packs.listItems",a=Vn(o,"packageId",c),u=await r(c,y=>y.listStickerItems(a));return Object.freeze(u.map(Vd))}}),favorites:Object.freeze({list:async o=>{let c="expressions.favorites.list",a=await r(c,u=>u.listFavorites(xm(o,c)));return Object.freeze(a.map(Vd))},add:async o=>{let c="expressions.favorites.add",a=Wd(o,c);await r(c,u=>u.addFavorite(a));},delete:async o=>{let c="expressions.favorites.delete",a=jd(o,c);await r(c,u=>u.deleteFavorites(a));}}),recent:Object.freeze({list:async o=>{let c="expressions.recent.list",a=await r(c,u=>u.listRecent(Nm(o,c)));return Object.freeze(a.map(Lm))},report:async o=>{let c="expressions.recent.report",a=Om(o,c);await r(c,u=>u.reportRecent(a));},delete:async o=>{let c="expressions.recent.delete",a=jd(o,c);await r(c,u=>u.deleteRecent(a));}}),reactions:Object.freeze({listTop:async o=>{let c="expressions.reactions.listTop",a=o?.limit;if(a!==void 0&&(!Number.isSafeInteger(a)||a<1||a>50))throw hn(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let y=await u.listReactionTop(a);if(!Array.isArray(y))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(g=>_m(g,"reaction emoji")))})},report:async o=>{let c="expressions.reactions.report",a=Vn(o,"emoji",c);await r(c,u=>u.reportReaction(a));}}),giphy:Object.freeze({trending:async o=>{let c="expressions.giphy.trending",a=await r(c,u=>u.listGiphyTrending(zd(o,c)));return qd(a)},search:async(o,c)=>{let a="expressions.giphy.search",u=Vn(o,"query",a),y=await r(a,g=>g.searchGiphy({query:u,...zd(c,a)}));return qd(y)}})};return {api:Object.freeze(d)}}function Mt(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?ee({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):ee({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function Jd(e){return {createRoom(n){Mt("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Mt("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Mt("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Mt("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Mt("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Mt("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Mt("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Fm=0;function Yd(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 Um(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 Km(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 Xd(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 Bm(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function Qd(e){let n=++Fm,r=new Map,d=new Map,o=new Map,c=0,a=true;function u(){if(!a)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function y(S){let x=S??20;if(!Number.isSafeInteger(x)||x<1||x>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return x}function g(S){let x=`im-robots:${n}:${++c}`;return r.set(x,S),x}function C(S){return Object.freeze(S.map(x=>{let v=Yd(x);return o.set(v.id,v),v}))}function h(S,x){let v=o.get(S);v!==void 0&&o.set(S,Yd({id:v.id,displayName:v.displayName,...v.username===void 0?{}:{username:v.username},...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl},bound:x}));}async function f(S,x){u();let v=x?e.bind:e.unbind;if(v===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await v(Bm(S)),u(),h(S.robotId,x);}async function E(S){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 x=await e.search(Km(S));u();let v=C(x.items),_=x.exhausted?void 0:g({...S,page:S.page+1});return Object.freeze({items:v,..._===void 0?{}:{nextPageToken:_},exhausted:x.exhausted})}return {api:{listFirstPage:S=>{try{let x=Um(S?.scope??{kind:"catalog"});return E({page:1,pageSize:y(S?.pageSize),keyword:S?.keyword?.trim()??"",scope:x})}catch(x){return Promise.reject(x)}},listNextPage:S=>{u();let x=r.get(S);if(x===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let v=d.get(S);if(v!==void 0)return v;let _=E(x).then(s=>(r.delete(S),s)).finally(()=>{d.delete(S);});return d.set(S,_),_},bindToConversation:S=>{try{return f(Xd(S),!0)}catch(x){return Promise.reject(x)}},unbindFromConversation:S=>{try{return f(Xd(S),!1)}catch(x){return Promise.reject(x)}}},peek:S=>{let x=S.trim();return x===""?void 0:o.get(x)},dispose:()=>{a=false,r.clear(),d.clear(),o.clear();}}}var Gm=30,Hm=300*1e3,jm=64,zm=900*1e3,Vm=2048,qm=0;function Wm(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,o=[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&&o.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(o)}function qn(e){let n=ee({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 Zd(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Gm,d=e.tokenTtlMs??Hm,o=e.maxTokens??jm,c=e.anchorTtlMs??zm,a=e.maxAnchors??Vm;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(o)||o<=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(a)||a<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++qm,y=new Map,g=new Map,C=0,h=true;function f(I){if(!h)throw qn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:I,retryable:false});if(e.isAvailable?.()===false)throw qn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:I,retryable:false})}function E(I,L){let M=I.trim();if(M==="")throw qn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:L,retryable:false});return M}function w(I){let L=`im-search:${u}:${++C}`;for(y.set(L,{...I,expiresAt:n()+d});y.size>o;){let M=y.keys().next().value;if(typeof M!="string")break;y.delete(M);}return L}function S(I,L){return JSON.stringify([I.conversationType,I.conversationId,L])}function x(I){for(let[L,M]of g)M.expiresAt<=I&&g.delete(L);}function v(I,L){let M=Object.freeze({conversationType:I.conversationType,conversationId:I.conversationId}),K=S(M,I.id);for(g.delete(K),g.set(K,{anchor:Object.freeze({id:I.id,conversationType:I.conversationType,conversationId:I.conversationId,sortKey:I.sortKey}),expiresAt:L+c});g.size>a;){let N=g.keys().next().value;if(typeof N!="string")break;g.delete(N);}}function _(I,L){let M=L==="conversation"?"search.conversations.next":"search.messages.next";f(M);let K=y.get(I);if(K===void 0||K.expiresAt<=n())throw y.delete(I),qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:M,retryable:false});if(K.kind!==L)throw qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:M,retryable:false});return K}function s(I){let L=I.draft?.text.trim();return L===void 0||L===""?I.lastMessagePreview:L}function i(I){let L=Object.freeze({conversationType:I.type,conversationId:I.id});return Object.freeze({ref:L,title:I.title,preview:s(I)})}function m(I,L){let M=Object.freeze(I.slice(L,L+r)),K=L+M.length,N=K>=I.length,Y=N?void 0:w({kind:"conversation",items:I,offset:K});return Object.freeze({items:M,...Y===void 0?{}:{nextPageToken:Y},exhausted:N})}async function A(I,L,M){f(M);let K=E(L,M).toLowerCase(),N=Object.freeze(e.domainState.getConversationList().filter(Y=>(Y.type==="direct"||Y.type==="group"||Y.type==="channel"||Y.type==="robot")&&(I===void 0||Y.type===I)&&`${Y.title}
1
+ import {B,$a,Xa,gb,fb,C,p,t,u,w,A,Sa,s,l,m,i,Wa,Va,e,h,f,a,fa,Ha as Ha$1,za,Aa,T,ma,Za as Za$1,cb as cb$1,db as db$1,b as b$1,ab as ab$1,bb as bb$1,v,_,$,U,Z,W,Y,V,da,Na as Na$1,sa,ea as ea$1,Oa as Oa$1,ta as ta$1,Fa,Ga,Ba,Ca,Ka,aa,c,Ma,ba,ca,Pa as Pa$1,La,X,Ia,Da as Da$1,Ea,n as n$1,o,ga as ga$1,wa as wa$1,S,va,ua,g,xa as xa$1,ya as ya$1,Qa as Qa$1,d as d$1,Ra as Ra$1,x as x$1,na as na$2,j as j$1,q,y as y$1,z as z$1,k as k$1,r as r$1,ka,ja,ia,ha as ha$1,pa as pa$1,oa as oa$2,la,R,N,M,L,K,J,I,Q,P,ra as ra$1,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja as Ja$1,eb as eb$1}from'./chunk-YNYTR73D.js';import {b,sb,xa,ub,tb,Na,Ha,qb,nb,ob,mb,pb,Za,_a,$a as $a$1,ab,na as na$1,oa as oa$1,pa,qa,Qa,Ra,ib,db,jb,cb,bb,kb,gb as gb$1,lb,fb as fb$1,eb,n,z,hb,Oa,Da,Ta,Sa as Sa$1,Xa as Xa$1,Wa as Wa$1,Ya,vb,rb,Ab,wa,j,Pa,x,y,A as A$1,B as B$1,Va as Va$1,Ca as Ca$1,Ba as Ba$1,ga,ea as ea$2,k,d,c as c$1,D,O,ya,h as h$1,w as w$1,Ja,Ia as Ia$1,ma as ma$1,Ka as Ka$1,r,v as v$1,t as t$1,o as o$1,C as C$1,Ua,ha,p as p$1,E,m as m$1}from'./chunk-J77L6JLQ.js';async function Tu(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(o){try{await e.migrator.rollback(d,o);}catch(c){throw new AggregateError([o,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw o}}var xe=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function Qn(e,n,r){return n===39081?new xe({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new xe({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Zn(e,n){return n instanceof xe?n:n instanceof c?new xe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new xe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Lr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function _u(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 Dt(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function Du(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(Dt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Dt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Dt(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(Dt(n))))})},...e.file===void 0?{}:{file:Object.freeze(Dt(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.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(Dt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Fr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Du(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:_u(e.reactions)}})}function kt(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:ea$2(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function ee(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function tr(e,n,r){return ee({...{"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 Yn(e,n,r){return ee({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Ot(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}var ku="IM_SDK_GROUP_NOT_MEMBER",Ou="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",xu="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Nu="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ic(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Lu(e,n,r){if(Ic(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$2?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?ku:d===39029?Ou:d===39033?xu:e instanceof d$1?Nu:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===39029?"permission":"state",a=ee({code:o,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"),a)}async function ft(e,n,r){try{return await r()}catch(d){throw Lu(d,e,n)??d}}var yc=39005,Fu=39057,Uu=39061;function vc(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"group",conversationId:f});function c(f){r.set(f,(r.get(f)??0)+1);}function a(f){if(!d||n.has(f))return;let E=r.get(f)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let S=await da({client:e.coreClient,groupId:f});if(!d||(r.get(f)??0)!==E)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(x(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==E)return;let x=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),y$1=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let E=f.message.body.system?.pinnedMessageAction;(E?.type==="pin"||E?.type==="unpin")&&c(f.message.conversationId),u.handleMessage(f.message);});function g(f,E){if(E.trim()==="")throw new xe({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(o(E));if(w===void 0)throw new xe({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="group")throw new xe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function C(f,E){if(e.coreClient===void 0)throw new xe({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,E),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:E})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(o(f),E);if(S===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="group")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:x,pinnedMessage:v}=y(S),_=await sa({client:w,groupId:f,messageContent:x});if(!_.ok)throw Qn("pin",_.code,_.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new xe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(x){throw Zn("pin",x)}},unpinMessage:async f=>{let E=C("unpin",f);try{let w=await Na$1({client:E,groupId:f});if(!w.ok)throw Qn("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(w){throw Zn("unpin",w)}},getPinnedMessage:async f=>{let E=C("get",f);try{let w=await da({client:E,groupId:f});if(!w.ok)throw Qn("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let S=x(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let x$1=e.domainState.getPinnedMessage(o(f));if(x$1===void 0)throw new xe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x$1}catch(w){throw Zn("get",w)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y$1());}}}function hc(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,o=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 a(i){let m=[],A=new Set;for(let T of i){if(T.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");A.has(T.userId)||(A.add(T.userId),m.push(Object.freeze({userId:T.userId,displayName:T.nickName.trim()===""?T.userId:T.nickName})));}return Object.freeze(m)}async function u(i,m){c$1(i);let A=e.profile?.listGroupMembers;if(A===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,U=r.get(T);if(!m&&U!==void 0)return U;let j=o.get(T);if(j!==void 0&&(!m||j.refresh))return j.promise;let J=(d.get(T)??0)+1;d.set(T,J);let se=Promise.resolve().then(()=>A(T,m?{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 I=a(ye);return d.get(T)===J&&r.set(T,I),I}).finally(()=>{o.get(T)?.promise===se&&o.delete(T);});return o.set(T,{refresh:m,promise:se}),se}function y(i,m,A,T){let j=ee({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",...A===void 0?{}:{details:A},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),j)}function g(i,m,A,T){let U=ee({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",...A===void 0?{}:{details:A},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),U)}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 m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).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 A=typeof i.status=="number"?i.status:Number(i.status);if(!Number.isSafeInteger(A)||A!==1&&A!==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(m),U=i.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:T}),activation:A===1?"pending":"active",...U===void 0||U===""?{}:{avatarUrl:U},qrPayload:Lr(T,U)})}function h(i){if(i===void 0)return;let m=typeof i=="number"?i:Number(i);return Number.isSafeInteger(m)?m:void 0}function f(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 E(i){if(i===null||typeof i!="object"||i===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let A=String(m),T=i,U=T.name?.trim()??"";if(U==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let j=h(T.total_users),J=h(T.status),se=h(T.verify_way),ye=h(T.update_version),I=f(T.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:A}),name:U,...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)},...j===void 0?{}:{memberCount:j},...J===void 0?{}:{status:J},...I===void 0?{}:{isInGroup:I},...se===void 0?{}:{verifyWay:se},...ye===void 0?{}:{updateVersion:ye},...T.invite_code===void 0?{}:{inviteCode:T.invite_code}}}function w(i){let m=i.name.trim();if(m==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let A=i.memberIds;if(!Array.isArray(A))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let T=A.map(j=>typeof j=="string"?j.trim():"");if(T.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let U=[...new Set(T)];if(U.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:U}}function S(i,m){let A=i.trim();if(A==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return A}function x(){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 v(i){if(!Array.isArray(i))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let m=i.map(A=>S(A,"\u7FA4\u6210\u5458 id"));return [...new Set(m)]}function _(i,m,A){if(i!==1&&i!==2&&i!==4){let U=ee({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),U)}if(i!==4)return {verifyWay:i};let T=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(T)){let U=ee({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),U)}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,m)=>e.profile?.getGroupProfile(i,m)??Promise.resolve(null),listMembers:(i,m)=>e.profile?.listGroupMembers?.(i,m)??Promise.resolve(null),getMemberNames:(i,m)=>e.profile?.getGroupMemberNames?.(i,m)??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,m)=>{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 A=m.trim();if(i===""||A==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Pa$1({client:e.coreClient,groupId:i,name:A}),e.domainState.updateConversationProfile(i,{title:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateAvatar:async(i,m)=>{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 A=await Ot(e.avatarTransfer,m);return await Pa$1({client:e.coreClient,groupId:i,avatarUrl:A}),e.domainState.updateConversationProfile(i,{avatar:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i}),A},uploadAvatar:async i=>{if(e.avatarTransfer===void 0)throw y("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 Ot(e.avatarTransfer,i)},create:async i=>{if(e.coreClient===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let m=w(i);try{let A=await ca({client:e.coreClient,name:m.name,memberIds:m.memberIds,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}});if(!A.ok){let U=A.code===yc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":A.code===Fu?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":A.code===Uu?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(U,A.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:A.code,message:A.message}))}let T=E(A.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(A){throw A!==void 0&&typeof A=="object"&&A!==null&&"code"in A&&String(A.code).startsWith("IM_SDK_")?A:A instanceof c?y("IM_SDK_GROUP_CREATE_NETWORK_FAILED",A.message,void 0,A):y("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,A)}},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 ba({client:e.coreClient});if(!i.ok){let m=i.code===yc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(m,i.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:i.code}))}return Object.freeze({group:C(i.data)})}catch(i){throw Ic(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,m)=>{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 Ma({client:e.coreClient,groupId:i,nickname:m}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateVerification:async(i,m,A)=>{let T=x(),U=S(i,"\u7FA4 id"),j=_(m,A,U);await ft("groups.updateVerification",U,()=>la({client:T,groupId:U,verifyWay:j.verifyWay,...j.inviteCode===void 0?{}:{inviteCode:j.inviteCode}})),s(U);},requestJoin:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=m?.remarks?.trim();return ft("groups.requestJoin",T,()=>oa$2({client:A,groupId:T,...U===void 0?{}:{remarks:U}}))},joinByInviteCode:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=m.trim();if(!/^\d{6}$/.test(U))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return ft("groups.joinByInviteCode",T,()=>pa$1({client:A,groupId:T,inviteCode:U}))},inviteMembers:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=v(m);if(U.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await ft("groups.inviteMembers",T,()=>ha$1({client:A,groupId:T,userIds:U})),s(T);},removeMember:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=S(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await ft("groups.removeMember",T,()=>ia({client:A,groupId:T,userId:U})),s(T);},transferOwnership:async(i,m)=>{let A=x(),T=S(i,"\u7FA4 id"),U=S(m,"\u65B0\u7FA4\u4E3B id");await ft("groups.transferOwnership",T,()=>ja({client:A,groupId:T,userId:U})),s(T);},leave:async(i,m)=>{let A=x();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=S(i,"\u7FA4 id"),U=m?.newOwnerId===void 0?void 0:S(m.newOwnerId,"\u65B0\u7FA4\u4E3B id");await ft("groups.leave",T,()=>ka({client:A,groupId:T,...U===void 0?{}:{newOwnerId:U}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:T},"group_left"),s(T);},...e.pinned}}var Ku="image/jpeg,image/png,image/webp";async function Ur(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((o,c)=>n[c]===o)?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 bc(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 Mc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Sc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Oo(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,o=Sc();return sb({enabled:r,level:d?.level??"trace",categories:d?.categories??Mc,...r?{sink:d?.sink??o,fallbackSink:o}:{},getRuntimeContext:n})}var Pc=[{code:"666",tokens:["[666]"],file:"666.webp"},{code:"AlmostCrying",tokens:["[AlmostCrying]","[\u8981\u54ED\u4E86]"],file:"AlmostCrying.webp"},{code:"Amazed",tokens:["[Amazed]","[\u60CA\u8BB6]"],file:"Amazed.webp"},{code:"Anger",tokens:["[Anger]","[\u6124\u6012]"],file:"Anger.webp"},{code:"Arrogance",tokens:["[Arrogance]","[\u50B2\u6162]"],file:"Arrogance.webp"},{code:"BearCried",tokens:["[BearCried]","[\u718A\u54ED\u4E86]"],file:"BearCried.webp"},{code:"Bearish",tokens:["[Bearish]","[\u770B\u8DCC]"],file:"Bearish.webp"},{code:"Bitter",tokens:["[Bitter]","[\u82E6\u6DA9]"],file:"Bitter.webp"},{code:"Blink",tokens:["[Blink]","[\u7728\u773C]"],file:"Blink.webp"},{code:"Block",tokens:["[Block]","[\u65B9\u5757]"],file:"Block.webp"},{code:"blush",tokens:["[blush]","[\u8138\u7EA2]"],file:"blush.webp"},{code:"Bomb",tokens:["[Bomb]","[\u70B8\u5F39]"],file:"Bomb.webp"},{code:"Bullish",tokens:["[Bullish]","[\u770B\u6DA8]"],file:"Bullish.webp"},{code:"BullMarket",tokens:["[BullMarket]","[\u725B\u5E02]"],file:"BullMarket.webp"},{code:"Cake",tokens:["[Cake]","[\u751F\u65E5\u86CB\u7CD5]"],file:"Cake.webp"},{code:"Candy",tokens:["[Candy]","[\u7CD6\u679C]"],file:"Candy.webp"},{code:"Celebration",tokens:["[Celebration]","[\u5E86\u795D]"],file:"Celebration.webp"},{code:"Cheers",tokens:["[Cheers]","[\u5E72\u676F]"],file:"Cheers.webp"},{code:"Coffee",tokens:["[Coffee]","[\u5496\u5561]"],file:"Coffee.webp"},{code:"Cold",tokens:["[Cold]","[\u611F\u5192]"],file:"Cold.webp"},{code:"Contemplation",tokens:["[Contemplation]","[\u9119\u89C6]"],file:"Contemplation.webp"},{code:"Cool",tokens:["[Cool]","[\u9177]"],file:"Cool.webp"},{code:"Coveryourface",tokens:["[Coveryourface]","[\u6342\u8138]"],file:"Coveryourface.webp"},{code:"Cracking",tokens:["[Cracking]","[\u88C2\u5F00]"],file:"Cracking.webp"},{code:"Crying",tokens:["[Crying]","[\u5927\u54ED]"],file:"Crying.webp"},{code:"Decline",tokens:["[Decline]","[\u8870]"],file:"Decline.webp"},{code:"Disappointed",tokens:["[Disappointed]","[\u5931\u671B]"],file:"Disappointed.webp"},{code:"Doghead",tokens:["[Doghead]","[\u72D7\u5934]"],file:"Doghead.webp"},{code:"Dull",tokens:["[Dull]","[\u5446\u6EDE]"],file:"Dull.webp"},{code:"EatingMelons",tokens:["[EatingMelons]","[\u5403\u74DC]"],file:"EatingMelons.webp"},{code:"Embrace",tokens:["[Embrace]","[\u62E5\u62B1]"],file:"Embrace.webp"},{code:"Faint",tokens:["[Faint]","[\u6655]"],file:"Faint.webp"},{code:"Farce",tokens:["[Farce]","[\u95F9\u5267]"],file:"Farce.webp"},{code:"Favorite",tokens:["[Favorite]","[\u559C\u7231]"],file:"Favorite.webp"},{code:"Fear",tokens:["[Fear]","[\u6050\u60E7]"],file:"Fear.webp"},{code:"Firecrackers",tokens:["[Firecrackers]","[\u7206\u7AF9]"],file:"Firecrackers.webp"},{code:"Fireworks",tokens:["[Fireworks]","[\u70DF\u82B1]"],file:"Fireworks.webp"},{code:"FlyingKiss",tokens:["[FlyingKiss]","[\u98DE\u543B]"],file:"FlyingKiss.webp"},{code:"Fortune",tokens:["[Fortune]","[\u798F]"],file:"Fortune.webp"},{code:"Frowns",tokens:["[Frowns]","[\u76B1\u7709]"],file:"Frowns.webp"},{code:"Gift",tokens:["[Gift]","[\u793C\u7269]"],file:"Gift.webp"},{code:"Giggle",tokens:["[Giggle]","[\u50BB\u7B11]"],file:"Giggle.webp"},{code:"Goodbye",tokens:["[Goodbye]","[\u62DC\u62DC]"],file:"Goodbye.webp"},{code:"Great",tokens:["[Great]","[\u8D5E]"],file:"Great.webp"},{code:"Grieve",tokens:["[Grieve]","[\u4F24\u5FC3]"],file:"Grieve.webp"},{code:"Handshake",tokens:["[Handshake]","[\u63E1\u624B]"],file:"Handshake.webp"},{code:"Harvesting",tokens:["[Harvesting]","[\u6536\u5272]"],file:"Harvesting.webp"},{code:"Heartbreak",tokens:["[Heartbreak]","[\u5FC3\u788E]"],file:"Heartbreak.webp"},{code:"Heidi",tokens:["[Heidi]","[\u6D77\u8482]"],file:"Heidi.webp"},{code:"Heyha",tokens:["[Heyha]","[\u563F\u54C8]"],file:"Heyha.webp"},{code:"Hugging",tokens:["[Hugging]","[\u62B1\u62F3]"],file:"Hugging.webp"},{code:"Idle",tokens:["[Idle]","[\u957F\u8349]"],file:"Idle.webp"},{code:"Injustice",tokens:["[Injustice]","[\u59D4\u5C48]"],file:"Injustice.webp"},{code:"Knife",tokens:["[Knife]","[\u83DC\u5200]"],file:"Knife.webp"},{code:"Laughingawkwardly",tokens:["[Laughingawkwardly]","[\u5C2C\u7B11]"],file:"Laughingawkwardly.webp"},{code:"LaughingCrying",tokens:["[LaughingCrying]","[\u7B11\u54ED]"],file:"LaughingCrying.webp"},{code:"Laughing",tokens:["[Laughing]","[\u5927\u7B11]"],file:"Laughing.webp"},{code:"Lips",tokens:["[Lips]","[\u5634\u5507]"],file:"Lips.webp"},{code:"Lockbox",tokens:["[Lockbox]","[\u9501\u7BB1]"],file:"Lockbox.webp"},{code:"Lostinthought",tokens:["[Lostinthought]","[\u53D1\u5446]"],file:"Lostinthought.webp"},{code:"Love",tokens:["[Love]","[\u7231\u5FC3]"],file:"Love.webp"},{code:"Mahjong",tokens:["[Mahjong]","[\u9EBB\u5C06]"],file:"Mahjong.webp"},{code:"Mischievous",tokens:["[Mischievous]","[\u8C03\u76AE]"],file:"Mischievous.webp"},{code:"Money",tokens:["[Money]","[\u91D1\u94B1]"],file:"Money.webp"},{code:"Moon",tokens:["[Moon]","[\u6708\u4EAE]"],file:"Moon.webp"},{code:"MovingBricks",tokens:["[MovingBricks]","[\u642C\u7816]"],file:"MovingBricks.webp"},{code:"Nosepicking",tokens:["[Nosepicking]","[\u62A0\u9F3B]"],file:"Nosepicking.webp"},{code:"OK",tokens:["[OK]"],file:"OK.webp"},{code:"Palmtogether",tokens:["[Palmtogether]","[\u5408\u638C]"],file:"Palmtogether.webp"},{code:"Parachute",tokens:["[Parachute]","[\u964D\u843D\u4F1E]"],file:"Parachute.webp"},{code:"Pig",tokens:["[Pig]","[\u732A]"],file:"Pig.webp"},{code:"Pleasure",tokens:["[Pleasure]","[\u6109\u60A6]"],file:"Pleasure.webp"},{code:"Poop",tokens:["[Poop]","[\u4FBF\u4FBF]"],file:"Poop.webp"},{code:"Poor",tokens:["[Poor]","[\u53EF\u601C]"],file:"Poor.webp"},{code:"Questionmark",tokens:["[Questionmark]","[\u95EE\u53F7]"],file:"Questionmark.webp"},{code:"Quickwitted",tokens:["[Quickwitted]","[\u673A\u667A]"],file:"Quickwitted.webp"},{code:"Received",tokens:["[Received]","[\u6536\u5230]"],file:"Received.webp"},{code:"Redenvelope",tokens:["[Redenvelope]","[\u7EA2\u5305]"],file:"Redenvelope.webp"},{code:"Regret",tokens:["[Regret]","[\u61CA\u607C]"],file:"Regret.webp"},{code:"Rose",tokens:["[Rose]","[\u73AB\u7470]"],file:"Rose.webp"},{code:"Sad",tokens:["[Sad]","[\u96BE\u8FC7]"],file:"Sad.webp"},{code:"Shy",tokens:["[Shy]","[\u5BB3\u7F9E]"],file:"Shy.webp"},{code:"Sighs",tokens:["[Sighs]","[\u53F9\u6C14]"],file:"Sighs.webp"},{code:"Skeleton",tokens:["[Skeleton]","[\u9AB7\u9AC5]"],file:"Skeleton.webp"},{code:"Sleepiness",tokens:["[Sleepiness]","[\u56F0]"],file:"Sleepiness.webp"},{code:"Sleep",tokens:["[Sleep]","[\u7761\u89C9]"],file:"Sleep.webp"},{code:"smirk",tokens:["[smirk]","[\u5978\u7B11]"],file:"smirk.webp"},{code:"Sneak",tokens:["[Sneak]","[\u5077\u7B11]"],file:"Sneak.webp"},{code:"Society",tokens:["[Society]","[\u793E\u4F1A]"],file:"Society.webp"},{code:"Speechless",tokens:["[Speechless]","[\u65E0\u8BED]"],file:"Speechless.webp"},{code:"Step",tokens:["[Step]","[\u8E29]"],file:"Step.webp"},{code:"Strike",tokens:["[Strike]","[\u6253\u51FB]"],file:"Strike.webp"},{code:"Struggle",tokens:["[Struggle]","[\u594B\u6597]"],file:"Struggle.webp"},{code:"Sun",tokens:["[Sun]","[\u592A\u9633]"],file:"Sun.webp"},{code:"Surprised",tokens:["[Surprised]","[\u5403\u60CA]"],file:"Surprised.webp"},{code:"Swearing",tokens:["[Swearing]","[\u5492\u9A82]"],file:"Swearing.webp"},{code:"Sweating",tokens:["[Sweating]","[\u5192\u6C57]"],file:"Sweating.webp"},{code:"Sweat",tokens:["[Sweat]","[\u6C57]"],file:"Sweat.webp"},{code:"Teasing",tokens:["[Teasing]","[\u620F\u5F04]"],file:"Teasing.webp"},{code:"Trapped",tokens:["[Trapped]","[\u56F0\u4F4F]"],file:"Trapped.webp"},{code:"Unscrupulous",tokens:["[Unscrupulous]","[\u9634\u9669]"],file:"Unscrupulous.webp"},{code:"Vomit",tokens:["[Vomit]","[\u5455\u5410]"],file:"Vomit.webp"},{code:"WhiteEyes",tokens:["[WhiteEyes]","[\u767D\u773C]"],file:"WhiteEyes.webp"},{code:"Withering",tokens:["[Withering]","[\u51CB\u96F6]"],file:"Withering.webp"},{code:"Worried",tokens:["[Worried]","[\u62C5\u5FC3]"],file:"Worried.webp"},{code:"Wow",tokens:["[Wow]","[\u54C7]"],file:"Wow.webp"},{code:"Yeah2",tokens:["[Yeah2]"],file:"Yeah2.webp"},{code:"Yeah",tokens:["[Yeah]","[\u8036]"],file:"Yeah.webp"},{code:"ALLIN",tokens:["[ALLIN]"],file:"ALLIN.webp"},{code:"Dollarsfly",tokens:["[Dollarsfly]","[\u7F8E\u5143]"],file:"Dollarsfly.webp"}];var xo=Object.freeze(Pc.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Ac=new Map(xo.flatMap(e=>e.tokens.map(n=>[n,e])));function Ec(e){return Ac.get(e)}function Rc(e){return Ac.has(e)}function gt(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function wc(e,n){return n instanceof Qa$1?gt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?gt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function rr(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function No(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let o=e[d]??0,c=e[d+1]??0,a=e[d+2]??0,u=o<<16|c<<8|a;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 Kr(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;default:return null}}function Lo(e){let n=Kr(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=rr(e.body.image?.url),d=No(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=rr(e.body.video?.url),d=No(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=rr(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=rr(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(o=>({mediaType:o.kind==="video"?2:1,url:rr(o.url),width:o.width,height:o.height,...o.durationMs!==void 0&&o.durationMs>0?{duration:o.durationMs}:{},...o.thumbUrl!==void 0&&o.thumbUrl!==""?{thumbUrl:o.thumbUrl}:{},...o.thumbData!==void 0&&o.thumbData.length>0?{thumbData:No(o.thumbData)}:{},...o.md5!==void 0&&o.md5!==""?{md5:o.md5}:{},...o.size!==void 0&&o.size>0?{fileSize:o.size}:{},...o.hd!==void 0?{hd:o.hd}:{}}));return d.some(o=>o.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function Gu(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function Tc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Oc(e){function n(o){if(!e.isActive())throw gt({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw wc(o,new Qa$1);let a;try{a=await c(e.provider);}catch(u){throw n(o),wc(o,u)}return n(o),a}return {api:{list:async()=>{let o=await r("sessionFavorites.list",c=>c.list());return Object.freeze(o.map(Tc))},addFromMessage:async o=>{let c="sessionFavorites.addFromMessage",a=Kr(o.message),u=Lo(o.message),y=o.selfId.trim(),g=o.message.id.trim();if(a===null||u===null||y===""||g==="")throw gt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:c,retryable:false});let C={messageId:g,conversation:o.conversation,senderId:o.message.senderId.trim(),createdAt:o.message.createdAt,kind:a,plainBody:u,peerId:Gu(o.message,y,o.conversation.conversationId)},h=await r(c,f=>f.add(C));return Tc(h)},delete:async o=>{let c="sessionFavorites.delete",a=[...new Set(o.map(u=>u.trim()).filter(u=>u!==""))];if(a.length===0)throw gt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:c,retryable:false});await r(c,u=>u.delete(a));}}}}var xc="settings:read-receipts:v1",Nc="settings:appearance:v1",Gr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function jn(e){return ee({...e,retryable:e.retryable??false})}function Ko(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Bo(){return {fontScale:1}}function Fo(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Hu(e){if(typeof e!="object"||e===null)return Ko();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,o]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof o=="boolean"&&(r[d]=o);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function ju(e){if(typeof e!="object"||e===null)return Bo();let n=e.fontScale;return {fontScale:Lc(n)?n:1}}function Lc(e){return typeof e=="number"&&Gr.includes(e)}function Uo(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw jn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Br(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw jn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Fc(e){let n=false,r=false,d=false,o,c,a=Ko(),u=Promise.resolve(),y=false,g,C=Bo(),h=Promise.resolve();function f(m){return jn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m})}function E(m){if(n)throw f(m)}async function w(m,A){if(E(A),r)return;let T;try{T=Br(e.storage,A);}catch(U){if(!m)return;throw U}try{let U=await T.getMeta(xc);E(A),a=Hu(U),r=!0,d=!1;}catch(U){throw n?f(A):(d=true,jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:U}))}}function S(m){return E(m),r?Promise.resolve():(o===void 0&&(o=w(true,m).finally(()=>{o=void 0;})),o)}async function x(m){if(E(m),!y)try{let A=await Br(e.storage,m).getMeta(Nc);E(m),C=ju(A),y=!0;}catch(A){throw n?f(m):typeof A=="object"&&A!==null&&"code"in A?A:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:A})}}function v(m){return E(m),y?Promise.resolve():(g===void 0&&(g=x(m).finally(()=>{g=void 0;})),g)}async function _(m,A,T){E(m);let U=u.then(async()=>{E(m),await S(m),E(m);let j=Fo(a),J=A(Fo(a));try{await Br(e.storage,m).setMeta(xc,Fo(J));}catch(se){throw n?f(m):typeof se=="object"&&se!==null&&"code"in se?se:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:se})}E(m),a=J,T?.(j,J);});return u=U.catch(()=>{}),U}let s={async getGlobal(){let m="settings.readReceipts.getGlobal";return E(m),await S(m),E(m),a.globalEnabled},setGlobal(m){return typeof m!="boolean"?Promise.reject(jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):_("settings.readReceipts.setGlobal",A=>({...A,globalEnabled:m}),(A,T)=>{A.globalEnabled&&!T.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(m){let A="settings.readReceipts.getConversation";E(A);let T=Uo(m,A);await S(A),E(A);let U=a.peerOverrides[T.conversationId]??true;return Object.freeze({enabled:U,effectiveEnabled:a.globalEnabled&&U})},setConversation(m,A){let T="settings.readReceipts.setConversation",U;try{U=Uo(m,T);}catch(j){return Promise.reject(j)}return typeof A!="boolean"?Promise.reject(jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:T,conversation:U})):_(T,j=>(j.peerOverrides[U.conversationId]=A,j),(j,J)=>{let se=U.conversationId,ye=j.globalEnabled&&(j.peerOverrides[se]??true),I=J.globalEnabled&&(J.peerOverrides[se]??true);ye&&!I&&e.onDirectReadReceiptDisabled?.(se);})},resetConversation(m){let A="settings.readReceipts.resetConversation",T;try{T=Uo(m,A);}catch(U){return Promise.reject(U)}return _(A,U=>(delete U.peerOverrides[T.conversationId],U))}},i={fontScale:Object.freeze({async get(){let m="settings.appearance.fontScale.get";return await v(m),E(m),C.fontScale},set(m){let A="settings.appearance.fontScale.set";if(!Lc(m))return Promise.reject(jn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:A,details:{supportedValues:[...Gr]}}));let T=h.then(async()=>{E(A),await v(A),E(A);let U={fontScale:m};try{await Br(e.storage,A).setMeta(Nc,U);}catch(j){throw n?f(A):typeof j=="object"&&j!==null&&"code"in j?j:jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:j})}E(A),C=U;});return h=T.catch(()=>{}),T}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(i),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){E("settings.readReceipts.hydrate"),!r&&(o===void 0&&(o=w(false,"settings.readReceipts.hydrate").finally(()=>{o=void 0;})),await o);},isDirectReadReceiptEnabled(m){return !n&&!d&&a.globalEnabled&&(a.peerOverrides[m]??true)},dispose(){if(c!==void 0)return c;n=true,a=Ko(),C=Bo();let m=o,A=u,T=g,U=h;return c=Promise.allSettled([...m===void 0?[]:[m],A,...T===void 0?[]:[T],U]).then(()=>{}),c}}}var dn=Object.freeze({availability:"available",reason:"ok"});function Rn(e){return Object.freeze({availability:"unavailable",reason:e})}function Ze(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function or(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ar(e){return `${e.conversationType}:${e.conversationId}`}function zu(){return Object.freeze({sendMessages:false})}function Vu(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function qu(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 Wu(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 $u(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]),o=Number(r[2]),c=Number(r[3]),a=Number(r[4]);if(d>23||c>23||o>59||a>59)return;let u=new Date(n);u.setHours(d,o,0,0);let y=new Date(n);if(y.setHours(c,a,59,999),u.getTime()<=n&&n<=y.getTime())return y.getTime()+1;if(n<u.getTime())return u.getTime();let g=u;return g.setDate(g.getDate()+1),g.getTime()}function yt(e,n,r){let d=n.get(ar(e));if(d!==void 0)for(let o of [...d])o(r);}function Uc(e){let n=new Map,r=new Map,d=new Map,o=new Map,c=new Map,a=new Map,u,y,g=new Set,C=e.getSessionUserId(),h=0;function f(J){J.conversationType==="direct"?n.delete(J.conversationId):J.conversationType==="group"?r.delete(J.conversationId):J.conversationType==="channel"&&d.delete(J.conversationId);}function E(){n.clear(),r.clear(),d.clear(),a.clear(),g=new Set;}function w(){let J=e.getSessionUserId();return J!==C&&(C=J,E()),J}function S(J){w();let se=++h;return a.set(ar(J),se),se}function x(J,se){return w(),a.get(ar(J))===se}function v(J,se={}){w();let ye=se.nowMs??Date.now(),I=e.getConversation(J);if(J.conversationType==="direct"){let X=or({conversationType:"direct",conversationId:J.conversationId}),we=n.get(J.conversationId),Ke=we?.relationship??"unknown",ze=Vu(Ke),Xe=ze==="ok"?dn:ze==="relationship-unknown"?Ze(ze):Rn(ze),en=Ke==="friend"?dn:Ke==="unknown"?Ze(ze):Rn(ze);return Object.freeze({ref:X,conversationType:"direct",evaluatedAt:ye,value:Object.freeze({relationship:Ke,...we===void 0?{}:{relationshipCheckedAt:we.checkedAt},canSendMessages:Xe,canOpenProfile:dn,canUseMessageActions:Xe,canManageRelationship:en})})}if(J.conversationType==="robot"){let X=or({conversationType:"robot",conversationId:J.conversationId});return Object.freeze({ref:X,conversationType:"robot",evaluatedAt:ye,value:Object.freeze({canSendMessages:dn,canOpenProfile:dn,canUseMessageActions:dn,canReadHistory:dn})})}if(J.conversationType==="group"){let X=or({conversationType:"group",conversationId:J.conversationId}),we=r.get(J.conversationId),Ke=I?.ref.conversationType==="group"?I.groupState??"active":"unknown",ze=qu(Ke),Xe=ze==="ok",en=e.getSessionUserId(),Ee=we?.ownerId,$e=en!==void 0&&Ee!==void 0&&en===Ee,Je=Xe?dn:Rn(ze),Mn=Xe?we===void 0?Ze("not-ready"):$e?dn:Rn("role-insufficient"):Rn(ze);return Object.freeze({ref:X,conversationType:"group",evaluatedAt:ye,value:Object.freeze({membership:Ke,...Ee===void 0?{}:{ownerId:Ee},isOwner:$e,canSendMessages:Je,canOpenProfile:Je,canReadHistory:dn,canUseMessageActions:Je,canViewMembers:Je,canEditProfile:Mn,canInviteMembers:Je,canManageMembers:Mn,canPinMessages:Mn,canUnpinMessages:Mn,canTransferOwnership:Mn,canLeave:Je,canUpdateVerification:Mn})})}let L=or({conversationType:"channel",conversationId:J.conversationId}),M=d.get(J.conversationId),K=I?.ref.conversationType==="channel"&&I.channelState!==void 0?I.channelState:M?.state;if(K===void 0)return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:ye,value:Object.freeze({state:"unknown",role:M?.role??"unknown",permissions:zu(),canSendMessages:Ze("unknown-restricted"),canOpenProfile:Ze("unknown-restricted"),canReadHistory:dn,canUseMessageActions:Ze("unknown-restricted"),canMutateMessages:Ze("unknown-restricted"),canPinMessages:Ze("unknown-restricted"),canUnpinMessages:Ze("unknown-restricted"),canDeleteMessagesForEveryone:Ze("unknown-restricted"),canMentionAll:Ze("unknown-restricted"),canViewMembers:Ze("unknown-restricted"),canEditProfile:Ze("unknown-restricted"),canManageMembers:Ze("unknown-restricted"),canManageMute:Ze("unknown-restricted"),canDismiss:Ze("unknown-restricted"),canTransferOwnership:Ze("unknown-restricted"),canLeave:Ze("unknown-restricted"),canInviteMembers:Ze("unknown-restricted"),canSetMemberAdmin:Ze("unknown-restricted"),canRemoveMembers:Ze("unknown-restricted"),canSetMemberPrivateChat:Ze("unknown-restricted")})});let N=Ca$1({channelState:K,nowMs:ye,...I?.ref.conversationType==="channel"&&I.channelAccessSnapshot!==void 0?{snapshot:I.channelAccessSnapshot}:{},...I?.ref.conversationType==="channel"&&I.channelPermissions!==void 0?{permissions:I.channelPermissions}:M?.permissions===void 0?{}:{permissions:M.permissions}}),Y=Wu(N.channelState,N.muteReason),ve=N.channelState==="active"||N.channelState==="muted",ie=N.channelState==="active"?N.permissions.sendMessages?dn:Rn("unknown-restricted"):Rn(Y),O=X=>ve&&X?dn:Rn(ve?"role-insufficient":Y),H=X=>N.channelState==="active"&&X?dn:Rn(N.channelState==="muted"?Y:ve?"role-insufficient":Y),W=M?.memberPrivateChatDisabled===false||N.permissions.manageMembers===true,Z=ve?M===void 0&&N.permissions.manageMembers!==true?Ze("not-ready"):O(W):Rn(Y),ce=N.channelState==="muted"?Rn(Y):ve?dn:Rn(Y),be=$u(I,ye);return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:ye,...be===void 0?{}:{nextEvaluationAt:be},value:Object.freeze({state:N.channelState,role:M?.role??I?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...N.permissions}),...N.muteReason===void 0?{}:{muteReason:N.muteReason},canSendMessages:ie,canOpenProfile:ve?dn:Rn(Y),canReadHistory:dn,canUseMessageActions:ve?dn:Rn(Y),canMutateMessages:ce,canPinMessages:H(N.permissions.moderateMessages===true),canUnpinMessages:H(N.permissions.moderateMessages===true),canDeleteMessagesForEveryone:H(N.permissions.moderateMessages===true),canMentionAll:O(N.permissions.mentionAll===true),canViewMembers:Z,canEditProfile:O(N.permissions.editProfile===true),canManageMembers:O(N.permissions.manageMembers===true),canManageMute:O(N.permissions.manageMute===true),canDismiss:O(N.permissions.dismissChannel===true),canTransferOwnership:O(N.permissions.transferOwnership===true),canLeave:ve?dn:Rn(Y),canInviteMembers:O(N.permissions.manageMembers===true),canSetMemberAdmin:O(N.permissions.manageAdmins===true),canRemoveMembers:O(N.permissions.manageMembers===true),canSetMemberPrivateChat:O(N.permissions.manageMute===true)})})}async function _(J,se={}){let ye=S(J);if(J.conversationType==="direct"){let I=await e.getRelationship(J.conversationId);x(J,ye)&&s(J.conversationId,I,ye);}else if(J.conversationType==="group"){let I={conversationType:"group",conversationId:J.conversationId},L=await e.getGroupProfile(I,{forceRefresh:true});x(J,ye)&&i(I,L,ye);}else if(J.conversationType==="channel"){let I={conversationType:"channel",conversationId:J.conversationId},L=await e.getChannelProfile(I,{forceRefresh:true});x(J,ye)&&m(I,L,ye);}return v(J,se)}function s(J,se,ye){let I={conversationType:"direct",conversationId:J};x(I,ye)&&(n.set(J,{relationship:se,checkedAt:Date.now()}),yt(I,o,v(I)));}function i(J,se,ye){x(J,ye)&&(r.set(J.conversationId,se),yt(J,o,v(J)));}function m(J,se,ye){x(J,ye)&&(d.set(J.conversationId,se),yt(J,o,v(J)));}function A(J,se,ye={}){w();let I=ar(J),L=o.get(I)??new Set;return L.add(se),o.set(I,L),c.set(I,or(J)),se(v(J,ye)),y===void 0&&(y=e.subscribeContext?.(M=>{w(),yt(M,o,v(M));})),u===void 0&&(u=e.subscribeConversations(M=>{w();let K=Date.now(),N=new Set(M.map(Y=>ar(Y.ref)));for(let Y of M){let ve=v(Y.ref,{nowMs:K});yt(Y.ref,o,ve);}for(let[Y,ve]of c){if(!g.has(Y)||N.has(Y))continue;f(ve);let ie=v(ve,{nowMs:K});yt(ve,o,ie);}g=N;})),()=>{L.delete(se),L.size===0&&o.delete(I),o.has(I)||c.delete(I),o.size===0&&(y?.(),y=void 0,u?.(),u=void 0,g=new Set);}}function T(){E();let J=Date.now();for(let se of c.values())yt(se,o,v(se,{nowMs:J}));}function U(){y?.(),y=void 0,u?.(),u=void 0,o.clear(),c.clear(),E();}let j=Object.freeze({get:v,refresh:_,subscribe:A});return Object.freeze({...j,api:j,beginProjectionUpdate:S,updateRelationshipProjection:s,updateGroupProfileProjection:i,updateChannelProfileProjection:m,reset:T,dispose:U})}var Ju=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Kn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw ee({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 ee({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function Yu(e){return e===null?null:Object.freeze({ref:Kn(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 Xu(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 Hr(e){let n=Xu(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}),o=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:Kn({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"&&o!==void 0?{channelAccessSnapshot:o}:{},draft:Yu(e.draft)})}function Qu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function It(e,n,r,d){return Qu(e)?e:ee({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 Kc(e){let n=new Set,r,d,o;function c(){return Object.freeze(e.getCompatibilityApi().list().map(Hr))}function a(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=c();return Object.freeze({state:d??a(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...o===void 0?{}:{error:Object.freeze(o)}})}catch(h){let f=It(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function y(){let h=u();for(let f of [...n])f(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(f=>{Ju.has(f.type)&&y();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(Kn(h,"conversations.getBackground")),setBackground:(h,f)=>e.getCompatibilityApi().setBackground(Kn(h,"conversations.setBackground"),f),resetBackground:h=>e.getCompatibilityApi().resetBackground(Kn(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,f)=>e.getCompatibilityApi().prefetchRecent(h.map(E=>Kn(E,"conversations.prefetchRecent")),f),async refresh(){d="loading",o=void 0,y();try{await e.getCompatibilityApi().sync(),d=void 0,y();}catch(h){throw d="error",o=It(h,"conversations.refresh",true),y(),o}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,f){let E=Kn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(E,f);}catch(w){throw It(w,"conversations.setPinned",false,E)}},async setMuted(h,f){let E=Kn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(E,f);}catch(w){throw It(w,"conversations.setMuted",true,E)}},async markRead(h){let f=Kn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(E){throw It(E,"conversations.markRead",true,f)}},markUnread(h){let f=Kn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(E){throw It(E,"conversations.markUnread",false,f)}},deleteLocal(h){let f=Kn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(E){throw It(E,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Zu=128,ep=8,np=64*1024*1024,tp=3,rp=8,op=1440*60*1e3,sr=10080*60*1e3,ap=512*1024*1024,jr=1024*1024;function ip(e){let n=0,r=false,d=[];function o(){if(!r)for(;n<e&&d.length>0;){d.sort((u,y)=>y.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 a=false;c.resolve(()=>{a||(a=true,n=Math.max(0,n-1),o());});}}return {acquire(c,a){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,y)=>{let g={resolve:u,reject:y,signal:c,getPriority:a,onAbort:()=>{let C=d.indexOf(g);C>=0&&d.splice(C,1),y(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",g.onAbort,{once:true}),d.push(g),o();})},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 Gc(){return xa([{kind:"image",softMaxBytes:512*jr,maxEntries:512,maxEntryBytes:30*jr,maxIdleMs:sr},{kind:"video",softMaxBytes:1792*jr,maxEntries:64,maxEntryBytes:200*jr,maxIdleMs:sr}])}function Go(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function sp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function cr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ir(e,n,r,d){let o=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?o:`${o}:${d}`}function Ho(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw _e({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=cr({conversationType:n,conversationId:r});return Hc({id:ir(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:Go(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:cp(e.failure,d)}})}function _e(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Bc(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 cp(e,n){if(e===void 0)return;let r=e.displayCode,o=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(ee({...o??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function Hc(e){return Object.freeze({...e,ref:cr(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 zr(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw _e({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 _e({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return cr({conversationType:r,conversationId:d})}function jc(e){let n=true,r=e.now??Date.now,d=0,o=0,c=new Map,a=new Set,u=new Map,y=new Map,g=new Map,C=new Map,h=new Map,f=new Set,E=false,w=new Map,S=new Set,x=e.maxDownloadCheckpointBytes??ap;function v(R){return _e({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:R})}function _(R,G){w.delete(R),S.add(R);let Q=c.get(R);if(Q!==void 0){let $={...Q,recoveryReason:G,...Q.state==="failed"||Q.state==="canceled"?{error:v(Q.ref)}:{}};Q.state==="running"?ve($):ie($);}}function s(R,G,Q){w.delete(R),w.set(R,{url:G,state:Q}),S.delete(R);let $=[...w.values()].reduce((ge,Te)=>ge+Te.state.bytesDownloaded,0);for(;w.size>rp||$>x;){let ge=w.entries().next().value;if(ge===void 0)break;$-=ge[1].state.bytesDownloaded,_(ge[0],"download-checkpoint-limit");}}let i=ip(tp),m,A=e.maxCachedBlobs??ep,T=e.maxCachedBlobBytes??np,U=0;function j(){if(!n||!e.isActive())throw _e({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function J(){return Object.freeze([...c.values()])}function se(){let R=J();for(let G of [...a])try{G(R);}catch(Q){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:Q}});}}function ye(){E||!n||!e.isActive()||(E=true,queueMicrotask(()=>{if(E=false,!(!n||!e.isActive()))for(let R of [...f])try{R();}catch(G){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:G}});}}));}function I(R){let G=g.get(R);G!==void 0&&(U-=G.size,g.delete(R),C.delete(R),h.delete(R),ye());}function L(){if(!n||!e.isActive())return;let R=r();for(let[G,Q]of w)!y.has(G)&&Q.idleSince!==void 0&&R-Q.idleSince>=op&&_(G,"download-checkpoint-expired");for(let[G,Q]of C)!y.has(G)&&R-Q>=sr&&I(G);ye();}function M(R,G){let Q=g.get(R);if(Q!==void 0){if(h.get(R)!==G||r()-C.get(R)>=sr){I(R);return}return g.delete(R),g.set(R,Q),C.set(R,r()),Q}}function K(){d+=1,g.clear(),C.clear(),h.clear(),ye(),U=0;for(let R of [...w.keys()])_(R,"download-checkpoint-cleared");}function N(R){c.delete(R),u.delete(R),w.delete(R),S.delete(R),I(R);}function Y(){for(;c.size>Zu;){let R=[...c.values()].find(G=>G.state==="completed"||G.state==="failed"||G.state==="canceled");if(R===void 0)return;N(R.id);}}function ve(R){c.set(R.id,Hc(R)),Y();}function ie(R){if(!n||!e.isActive())return;ve(R);let G=c.get(R.id);if(se(),!n||!e.isActive()||G===void 0||c.get(R.id)!==G)return;let Q={id:G.id,messageId:G.messageId,ref:G.ref,direction:"download",state:G.state,percent:G.percent};e.emitter.emit({type:"media-task:updated",conversation:G.ref,task:Q});}function O(R,G,Q){if(I(R),!(G.size>T))for(g.set(R,G),h.set(R,Q),ye(),C.set(R,r()),U+=G.size;g.size>A||U>T;){let $=g.keys().next().value;if($===void 0)break;I($);}}function H(R,G=true){let Q=zr(R),$=e.domainState.getConversationMessage(Q,R.messageId);if($===void 0)throw _e({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:Q});let ge,Te,De,Ge;if($.contentType==="image")ge=$.body.image,Te=e.loaders?.loadImage,Ge="image";else if($.contentType==="video")ge=$.body.video,Te=e.loaders?.loadVideo,Ge="video";else if($.contentType==="voice")ge=$.body.voice,Te=e.loaders?.loadVoice;else if($.contentType==="file")ge=$.body.file,Te=e.loaders?.loadFile,De=$.body.file?.mimeType;else if($.contentType==="filesAlbum"){let Pe=R.itemIndex;if(ge=Pe===void 0?void 0:$.body.filesAlbum?.items[Pe],ge===void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});Te=e.loaders?.loadFile;}else if($.contentType==="mediaAlbum"){let Pe=$.body.mediaAlbum?.items,Me=R.itemIndex,Ue=Me===void 0||Pe===void 0?void 0:Pe[Me];if(Ue===void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});ge=Ue,Te=Ue.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,Ge=Ue.kind;}if($.contentType!=="mediaAlbum"&&$.contentType!=="filesAlbum"&&R.itemIndex!==void 0)throw _e({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Q});if(ge===void 0)throw _e({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:Q});if(G&&Te===void 0)throw _e({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:Q});if(ge.url.trim()===""||ge.url.startsWith("blob:"))throw _e({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:Q});return {ref:Q,messageId:$.id,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex},...De===void 0?{}:{mimeType:De},...Ge===void 0?{}:{cacheKind:Ge,resourceVersion:ya(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 W(R){return _e({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:R})}function Z(){return _e({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ce(R,G,Q=d){if(j(),Q!==d)return null;let $=ir("download",R.ref,R.messageId,R.itemIndex),ge=M($,R.resourceVersion);if(ge!==void 0)return ge;if(e.assetCache===void 0||R.cacheKind===void 0||R.resourceVersion===void 0)return null;let Te;try{Te=await e.assetCache.get({kind:R.cacheKind,messageId:R.messageId,resourceVersion:R.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Te===null?"miss":"hit",kind:R.cacheKind,messageId:R.messageId,...Te===null?{}:{byteLength:Te.blob.size}});}catch(Me){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:R.cacheKind,messageId:R.messageId,cause:Me}),G)throw _e({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:R.ref});return null}if(Te===null||(j(),Q!==d))return null;let De=Te.blob,Ge=Te.mimeType??R.mimeType??"",Pe=De.type===Ge?De:De.slice(0,De.size,Ge);return O($,Pe,R.resourceVersion),Pe}function be(R,G){L();let Q=w.get(R);if(Q!==void 0&&Q.url!==G.input.url&&_(R,"download-object-changed"),S.has(R)){let $=v(G.ref),ge=c.get(R);throw ge!==void 0&&(ge.state==="failed"||ge.state==="canceled")&&ie({...ge,error:$}),$}return Q?.state}function X(R,G=false){let Q=d,$=ir("download",R.ref,R.messageId,R.itemIndex),ge=y.get($);if(ge!==void 0&&!ge.controller.signal.aborted)return ge.promise;if(!G){let Ue=M($,R.resourceVersion);if(Ue!==void 0)return ie({id:$,ref:cr(R.ref),messageId:R.messageId,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Ue)}I($);let Te=(()=>{let Ue=be($,R);return Ue===void 0?{percent:0}:{percent:Math.min(99,Math.round(Ue.bytesDownloaded/Ue.bytesTotal*100)),bytesTransferred:Ue.bytesDownloaded,bytesTotal:Ue.bytesTotal}})(),De=cr(R.ref);u.set($,Object.freeze({conversation:De,messageId:R.messageId,...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex}}));let Ge={id:$,messageId:R.messageId,ref:De,direction:"download",...R.itemIndex===void 0?{}:{itemIndex:R.itemIndex}},Pe=new AbortController,Me=Promise.resolve().then(async()=>{let Ue;try{if(!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(Ue=await i.acquire(Pe.signal,()=>m===$?1:0),!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(ie({...Ge,...Te,state:"running"}),!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);if(!G&&e.assetCache!==void 0&&R.cacheKind!==void 0&&R.resourceVersion!==void 0){let Ye=await ce(R,!1,Q);if(Ye!==null){if(Pe.signal.aborted)throw W(De);return w.delete($),S.delete($),ie({...c.get($),...Ge,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Ye}}let nn=R.load;if(nn===void 0)throw _e({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:De});let ln=be($,R);if(Te.bytesTransferred!==void 0&&(ln===void 0||Q!==d))throw _($,"download-checkpoint-cleared"),v(De);let on=await nn({...R.input,getPriority:()=>m===$?1:0,...ln===void 0?{}:{resume:ln},onResumable:Ye=>{!n||!e.isActive()||Q!==d||y.get($)?.controller!==Pe||s($,R.input.url,Ye);},onResumeInvalidated:()=>{!n||!e.isActive()||Q!==d||y.get($)?.controller!==Pe||_($,"download-checkpoint-invalid");},signal:Pe.signal,onTransferProgress:Ye=>{let sn=c.get($);!n||!e.isActive()||Pe.signal.aborted||y.get($)?.controller!==Pe||sn?.state!=="running"||ie({...sn,state:"running",percent:Math.min(99,Go(Ye.percent)),bytesTransferred:Ye.bytesTransferred,bytesTotal:Ye.bytesTotal,phase:Ye.bytesTotal>0&&Ye.bytesTransferred>=Ye.bytesTotal?"finalizing":"transferring"});},onProgress:Ye=>{let sn=c.get($);if(!n||!e.isActive()||Pe.signal.aborted||y.get($)?.controller!==Pe||sn?.state!=="running")return;let fn=Math.min(99,Go(Ye));fn<=sn.percent||ie({...sn,state:"running",percent:fn});}});if(!n||!e.isActive())throw Z();if(Pe.signal.aborted)throw W(De);let an=on instanceof Blob?void 0:on,qe=an===void 0?on:new Blob([an],R.mimeType===void 0?void 0:{type:R.mimeType});if(R.mimeType!==void 0&&qe.type!==R.mimeType&&(qe=qe.slice(0,qe.size,R.mimeType)),Q===d&&O($,qe,R.resourceVersion),Q===d&&e.assetCache!==void 0&&R.cacheKind!==void 0&&R.resourceVersion!==void 0){let Ye=qe.size;e.assetCache.put({kind:R.cacheKind,messageId:R.messageId,resourceVersion:R.resourceVersion,blob:qe,...R.mimeType===void 0?{}:{mimeType:R.mimeType}}).then(sn=>{ye(),e.onAssetCacheEvent?.({operation:"put",outcome:sn,kind:R.cacheKind,messageId:R.messageId,byteLength:Ye});}).catch(sn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:R.cacheKind,messageId:R.messageId,byteLength:Ye,cause:sn});});}if(w.delete($),S.delete($),ie({...c.get($),...Ge,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw Z();return qe}catch(nn){if(!n||!e.isActive())throw Z();if(Pe.signal.aborted||typeof nn=="object"&&nn!==null&&"code"in nn&&nn.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let on=W(De);throw y.get($)?.controller===Pe&&c.get($)?.state!=="canceled"&&ie({...c.get($),...Ge,state:"canceled",percent:c.get($)?.percent??0,error:S.has($)?v(De):on}),on}let ln=S.has($)?v(De):nn instanceof Error&&nn.name==="ImMediaTaskOperationError"?nn:_e({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:De});throw y.get($)?.controller===Pe&&ie({...c.get($),...Ge,state:"failed",percent:c.get($)?.percent??0,error:ln}),ln}finally{if(Ue?.(),y.get($)?.controller===Pe){y.delete($);let nn=w.get($);nn!==void 0&&(nn.idleSince=r());}}});return y.set($,{controller:Pe,promise:Me}),ie({...Ge,...Te,state:"queued"}),Me}function we(R){j();let G=zr(R);m=ir("download",G,R.messageId,R.itemIndex);}function Ke(R){try{return j(),X(H(R))}catch(G){return Promise.reject(G)}}async function ze(R){j();let G=d,Q=R.map(Me=>H(Me,false)),$=new Map,ge=r(),Te=Q.map(Me=>{let Ue=ir("download",Me.ref,Me.messageId,Me.itemIndex);return g.has(Ue)&&h.get(Ue)===Me.resourceVersion&&ge-(C.get(Ue)??0)<sr});Q.forEach((Me,Ue)=>{if(Te[Ue]||Me.cacheKind===void 0||Me.resourceVersion===void 0)return;let nn={kind:Me.cacheKind,messageId:Me.messageId,resourceVersion:Me.resourceVersion};$.set(JSON.stringify(nn),nn);});let De=[...$.values()],Ge=De.map(()=>false);if(De.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw _e({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(Ge=await e.assetCache.hasMany(De),Ge.length!==De.length||Ge.some(Me=>typeof Me!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(Me){throw j(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:De[0].kind,messageId:De[0].messageId,cause:Me}),_e({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(j(),G!==d)throw _e({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Pe=new Map(De.map((Me,Ue)=>[JSON.stringify(Me),Ge[Ue]]));return Object.freeze(Q.map((Me,Ue)=>Te[Ue]||Pe.get(JSON.stringify({kind:Me.cacheKind,messageId:Me.messageId,resourceVersion:Me.resourceVersion}))===true))}async function Xe(R){let G=H(R,false);return G.cacheKind===void 0?null:await ce(G,true)}async function en(R){if(j(),e.preparePreview===void 0)throw _e({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let G;try{G=await e.preparePreview({operationId:`media.prepareLocalPreview:${++o}`,kind:R.kind,file:R.file,...R.signal===void 0?{}:{signal:R.signal}});}catch($){if(R.signal?.aborted===true||$ instanceof Error&&$.name==="AbortError")throw $;return e.onLocalPreviewError?.({kind:R.kind,byteLength:R.file.size,cause:$}),null}return j(),!Number.isFinite(G.width)||!Number.isFinite(G.height)||G.width<=0||G.height<=0?(e.onLocalPreviewError?.({kind:R.kind,byteLength:R.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${G.width}\xD7${G.height}`)}),null):R.kind==="video"?{width:G.width,height:G.height,...G.duration===void 0?{}:{duration:G.duration},...G.posterData===void 0?{}:{posterData:G.posterData}}:{width:G.width,height:G.height}}async function Ee(R){if(j(),R.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw _e({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let G;try{G=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++o}`,kind:"video",file:R.file,...R.signal===void 0?{}:{signal:R.signal}});}catch(Q){if(R.signal?.throwIfAborted(),Q instanceof Error&&Q.name==="AbortError")throw Q;return j(),e.onLocalPreviewError?.({kind:"video",byteLength:R.file.size,cause:Q}),null}return R.signal?.throwIfAborted(),j(),!Number.isFinite(G.width)||!Number.isFinite(G.height)||G.width<=0||G.height<=0||!G.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:R.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([G.posterData],{type:"image/jpeg"})}function $e(R,G){j();let Q=c.get(R);if(Q===void 0)throw _e({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:G,retryable:false});return Q}function Je(R,G){return _e({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:G,retryable:false,conversation:R.ref,details:Object.freeze({state:R.state,direction:R.direction})})}let Mn=e.emitter.subscribe(R=>{!n||R.type!=="media-task:updated"||R.task.direction!=="upload"||sp(R.conversation,R.task.ref)&&(ve(Ho(R.task)),se());});return {api:{async clearCache(){j(),e.connection.invalidateMediaAssetCacheWrites?.(),K();try{await e.assetCache?.clear();}catch(R){throw j(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:R}}),_e({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}j(),ye();},getSnapshot(){return j(),J()},subscribe(R){return j(),a.add(R),()=>a.delete(R)},async cancel(R,G){let Q=$e(R,"media.cancel");if(Q.state!=="queued"&&Q.state!=="running"&&!(Q.direction==="upload"&&Q.state==="paused"))throw Je(Q,"media.cancel");if(Q.direction==="upload"){if(!(G===void 0?e.connection.cancelMediaUpload(Q.messageId):e.connection.cancelMediaUpload(Q.messageId,G)))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:Q.ref});return}let $=y.get(R);if($===void 0)throw Je(Q,"media.cancel");$.controller.abort();let ge=S.has(R)?v(Q.ref):W(Q.ref);ie({...Q,state:"canceled",error:ge});},async pause(R){let G=$e(R,"media.pause");if(G.direction!=="upload"||G.state!=="queued"&&G.state!=="running")throw Je(G,"media.pause");if(!await e.connection.pauseMediaUpload?.(G.messageId))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:G.ref});j();},async resume(R){let G=$e(R,"media.resume");if(G.direction!=="upload"||G.state!=="paused")throw Je(G,"media.resume");if(!e.connection.resumeMediaUpload?.(G.messageId))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:G.ref})},async retry(R,G){let Q=$e(R,"media.retry");if(Q.state!=="failed"&&Q.state!=="canceled")throw Je(Q,"media.retry");if(Q.direction==="upload"){if(G?.restartDownload!==void 0)throw Je(Q,"media.retry");if((Q.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||Q.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&G?.restartUpload!==true)throw _e({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:Q.ref});if(!(G===void 0?e.connection.retryMediaUpload(Q.messageId):e.connection.retryMediaUpload(Q.messageId,G)))throw _e({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:Q.ref});return}if(G?.restartUpload!==void 0)throw Je(Q,"media.retry");if(y.has(R)&&!y.get(R).controller.signal.aborted)throw _e({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:Q.ref});let $=u.get(R);if($===void 0)throw _e({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});G?.restartDownload===true&&(w.delete(R),S.delete(R)),await X(H($),true);},async getUploadRecovery(R){j();let G=zr(R);if(R.itemIndex!==void 0)return {available:false,reason:"unsupported"};let Q=R.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let $=e.domainState.getConversationMessage(G,Q);if($===void 0)return {available:false,reason:"not-found"};if(!Bc($))return {available:false,reason:"invalid-state"};try{let ge=await e.recoveryPort.get(G,Q);j();let Te=e.domainState.getConversationMessage(G,Q);return Te===void 0?{available:!1,reason:"not-found"}:Bc(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 j(),{available:false,reason:typeof ge=="object"&&ge!==null&&"reason"in ge?String(ge.reason):"storage"}}},async resumeUpload(R,G){j();let Q=zr(R);if(R.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw _e({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:Q});try{let $=await e.connection.recoverMediaUpload(Q,R.messageId,G.file);if(j(),!$.ok&&$.reason==="paused")throw _e({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Q});if(!$.ok&&$.reason==="cancelled")throw _e({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Q});if(!$.ok)throw _e({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:Q})}catch($){if(j(),typeof $=="object"&&$!==null&&"code"in $&&typeof $.code=="string"&&$.code.startsWith("IM_SDK_"))throw $;let ge=$ instanceof Error&&$.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw _e({code:ge,category:"state",operation:"media.resumeUpload",retryable:false,conversation:Q})}},download:Ke,prioritizeDownload:we,probeCached:ze,subscribeCacheChanges(R){return j(),f.add(R),()=>f.delete(R)},getCached:Xe,prepareLocalPreview:en,prepareLocalVideoPoster:Ee},clearCache:K,prune:L,dispose(){if(n){n=false,d+=1,Mn();for(let R of y.values())R.controller.abort();i.dispose(),m=void 0,y.clear(),a.clear(),f.clear(),h.clear(),c.clear(),u.clear(),g.clear(),C.clear(),w.clear(),S.clear(),U=0;}}}}var dp={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 zc(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function up(e,n){let r=dp[e.reason];return Object.freeze(ee({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function jo(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:up(e.failure,n)}})}function pp(e){let n=zc(e);return jo({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 mp(e,n,r){let d=ee({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 Vc(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 o(){return d(),Object.freeze(e.operations.getPending().map(pp))}async function c(u,y){d();let g=e.operations.getPending().find(h=>h.id===y),C=u==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!C.accepted)throw mp(u,C.reason,g===void 0?void 0:zc(g))}return {api:{getSnapshot:o,subscribe(u){d();let y=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(o());}),g=()=>{y(),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 fp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Vr(e){return Object.freeze({type:"error",error:Object.freeze(ee(e))})}function vn(e){throw ee(e)}function Re(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 We(e,n){let r=e,d=r?.conversationType,o=r?.conversationId;return d==="supergroup"&&vn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof o=="string"?o:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof o!="string"||o.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:o})}function gp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function dr(e,n){let r=We(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 xt(e,n){let r=We(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 vt(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 yp(e){return Object.freeze({...e})}function Ip(e,n){return vt(We(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 vp(e){let n=Re(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=We(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=We(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 hp(e){return Object.freeze({ref:vp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Cp(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 bp(e){return Object.freeze(ee({...{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 Mp(e,n){if(fp(e)){let{cause:r,...d}=e;return Vr(d)}return Vr({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Sp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:yp(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=We(e.conversation,e.type);return vt(We({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(kt(e.message)),source:e.source})}case "message:removed":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Re(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=We(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:Re(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=We(e.conversation,e.type);vt(We(e.task.ref,e.type),r,e.type);let d=Ho(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=We(e.conversation,e.type);vt(We({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}),vt(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=We(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=We(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&&vt(We({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=Re(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=We(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=We(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:Re(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:Re(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=We(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=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Ip(e.draft,r)})}case "draft:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=We(e.conversation,e.type);return vt(We(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:jo(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Re(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:hp(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=>We(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Cp(e.issue)});case "error":return Object.freeze({type:e.type,error:bp(e.error)});case "call:incoming":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r)})}case "call:failed":{let r=dr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),inviterId:Re(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r)})}case "group-call:busy":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),hintUserId:Re(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=xt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Mp(r,e)}}function Pp(e){let{type:n,...r}=e;return Object.freeze(r)}function Ap(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=We(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function qc(e){let n=new WeakMap;function r(o,c){let a=n.get(o);if(a!==void 0)return a;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:o.notification.messageId}));return n.set(o,u),u}function d(o){let c=true,a=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){o(Vr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Re(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(h=>{if(!c||h===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:C,result:h});o(f);}).catch(()=>{c&&o(Vr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=Sp(u,e);y!==null&&o(y);let g=Ap(u);g!==null&&o(Object.freeze({type:"group:activated",...g}));});return ()=>{c=false,a();}}return {subscribe:o=>d(o),on:(o,c)=>d(a=>{a.type===o&&c(Pp(a));})}}function et(e){let n=ee({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 Wc(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw et({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 et({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 et({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 $c(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function lr(e,n,r,d){return ee({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 Jc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Yc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Xc(e,n){if(n.id!==e)throw lr("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(o=>Object.freeze({countryCode:o.countryCode,mobile:o.mobile})))}})}function Qc(e,n){if(n.id!==e.conversationId)throw lr("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Jc(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 Ep(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 Zc(e,n){if(n.id!==e.conversationId)throw lr("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Yc(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:Ep(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 ed(e){return e.state==="ready"?Object.freeze({state:"ready",message:Fr(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 qr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw lr("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Jc(e),messageId:n.messageId,preview:ed(n.preview)})}function Wr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw lr("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Yc(e),messageId:n.messageId,preview:ed(n.preview)})}function Rp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function wp(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 Tp(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function zo(e,n,r){return Rp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Tp(e)?ee({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:wp(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):ee({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 nd=new WeakMap;function Vo(e,n){nd.set(e,n);}function td(e){let n=nd.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 _p="IM_SDK_CHANNEL_NOT_MEMBER",Dp="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",kp="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Op="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function xp(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Np(e,n,r){if(xp(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$2?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?_p:d===40527?Dp:d===40547?kp:e instanceof d$1?Op:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===40527?"permission":"state",a=ee({code:o,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"),a)}async function mn(e,n,r){try{return await r()}catch(d){throw Np(d,e,n)??d}}var Lp={pinMessage:()=>Promise.reject(new xe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new xe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new xe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function rd(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"channel",conversationId:f}),c=f=>{r.set(f,(r.get(f)??0)+1);};function a(f){if(!d||n.has(f))return;let E=r.get(f)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let S=await ea$1({client:e.coreClient,channelId:f});if(!d||(r.get(f)??0)!==E)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==E)return;let x=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),y=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let E=f.message;if(E.conversationType!=="channel")return;let w=E.body.system?.pinnedMessageAction;w!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((w?.type==="pin"||w?.type==="unpin")&&c(E.conversationId),u.handleMessage(E));});function g(f,E){if(E.trim()==="")throw new xe({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(o(E));if(w===void 0)throw new xe({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="channel")throw new xe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function C(f,E){if(e.coreClient===void 0)throw new xe({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,E),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:E})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(o(f),E);if(S===void 0)throw new xe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="channel")throw new xe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new xe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:x,pinnedMessage:v}=B$1(S),_=await ta$1({client:w,channelId:f,messageContent:x});if(!_.ok)throw Qn("pin",_.code,_.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new xe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(x){throw Zn("pin",x)}},unpinMessage:async f=>{let E=C("unpin",f);try{let w=await Oa$1({client:E,channelId:f});if(!w.ok)throw Qn("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(w){throw Zn("unpin",w)}},getPinnedMessage:async f=>{let E=C("get",f);try{let w=await ea$1({client:E,channelId:f});if(!w.ok)throw Qn("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let S=A$1(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let x=e.domainState.getPinnedMessage(o(f));if(x===void 0)throw new xe({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x}catch(w){throw Zn("get",w)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y());}}}async function nt(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Fp={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:nt,prefetchFirstPage:nt,refreshFirstPage:nt,listFirstPage:nt,listNextPage:nt,searchFirstPage:nt,refreshSearchFirstPage:nt,searchNextPage:nt},Up=new Set(["unknown_restricted","left","removed","dismissed"]);function tn(e){return Up.has(e)}function od(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 o(){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 a(C){let f=await o().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return d(),f}async function u(C,h){d();let f=c(C),E=o();await(h==="accept"?E.acceptJoinApplication(f):E.ignoreJoinApplication(f)),d();}async function y(C,h,f,E,w){r(),w?.throwIfAborted();let S$1=await S({signal:w,http:e.http,userId:f,clientType:e.clientType,channelId:C,index:h,containAnchor:E,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),w?.throwIfAborted(),S$1}async function g(C,h,f,E){let w=await y(C,h,f,true,E),S=w.messages.find(x=>x.extensions?.historyCursor===h);if(S===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${h}\uFF09`);return {context:w,message:S}}return {applications:{listJoinApplications:a,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:g,loadNewerPage:(C,h,f,E)=>y(C,h,f,false,E),dispose:()=>{n=false;}}}function ad(e){async function n(o,c,a){let u=new Map(c.filter(C$1).sort((g,C)=>g.sortKey.localeCompare(C.sortKey)).map(g=>[g.id,g]));if(u.size===0)return;let y=await e.authProvider.getLoginContext();if(y===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}\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=${o}, messageId=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),f=e.getHistoryEpoch(o);try{let{context:E,message:w}=await e.loadMessageContext(o,C,y.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(o))return;if(w.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=${w.id}\uFF09`);if(w.contentType!=="system"||C$1(w))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 S=E.messages.filter(x=>x.id===g.id||u.has(x.id));if(S.some(x=>x.contentType!=="system"||C$1(x)))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(S,"offline",{backfillOnly:!0}),a.applyIncoming(S.flatMap(x=>{let v=e.domainState.getMessage(x.id);return v===void 0?[]:[v]}));for(let x of S)u.delete(x.id);}catch(E){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=${o}, messageId=${g.id}\uFF09`,cause:E}});}}}function r(o,c){return o?.conversationType===c.conversationType&&o.conversationId===c.conversationId}async function d(o,c=e.domainState.messageWindow){if(o.stale||!o.messages.some(C$1))return o;let a=c.info().conversation;if(a===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${o.conversationId}\uFF09`);let u=e.domainState.getConversationContext(a);if(u?.type!=="channel"||u.channelState!==void 0&&tn(u.channelState))return o;let y=c.getRevision();if(await n(a.conversationId,o.messages,c),c.getRevision()!==y||!r(c.info().conversation,a))return {...o,stale:true};let g=new Map(c.list().map(C=>[C.id,C]));return {...o,messages:o.messages.map(C=>g.get(C.id)??C)}}return {reconcilePage:d}}function id(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(v,_,s,i){let A=ee({code:v,category:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":v==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...i===void 0?{}:{cause:i}});return Object.assign(new Error(_),A)}function d(v){let _=v.name.trim();if(_==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(_.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=v.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(A=>typeof A=="string"?A.trim():"");if(i.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let m=[...new Set(i)];if(m.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:_,memberIds:m}}function o(){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 v=e.crypto.randomTeaKey();if(!(v instanceof Uint8Array)||v.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let _="";for(let s of v)_+=String.fromCharCode(s);return globalThis.btoa(_)}function c$1(v,_){let s=v.trim();if(s==="")throw new Error(`${_}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function a(v){let _=v.trim();if(_==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return _}function u(v){let _=v.trim();if(_==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return _}async function y(v){let _=(await e.getSelfUserId?.()??"").trim();return _!==""&&_===v.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(v,_,s){if(v!==1&&v!==2&&v!==4){let m=ee({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"),m)}if(v!==4)return {verifyType:v};let i=_?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){let m=ee({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"),m)}return {verifyType:v,inviteCode:i}}function h(v){if(!Array.isArray(v))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(v.map(_=>c$1(_,"\u793E\u7FA4\u6210\u5458 id")))]}function f(v){e.emitter?.emit({type:"channel-profile:updated",channelId:v,conversation:{conversationType:"channel",conversationId:v}});}function E(v){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(v).catch(_=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:v,error:_}}});});}function w(v){if(v===void 0)return;let _=typeof v=="number"?v:Number(v);return Number.isSafeInteger(_)?_:void 0}function S(v){if(typeof v=="boolean")return v;if(v===1||v==="1"||v==="true")return true;if(v===0||v==="0"||v==="false")return false}function x(v){if(v===null||typeof v!="object"||v===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let _=v.id??v.radio_id;if(typeof _!="string"&&typeof _!="number"||String(_).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=v.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(_),m=w(v.total_users),A=w(v.status),T=w(v.verify_way),U=w(v.update_version),j=S(v.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:i}),name:s,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...m===void 0?{}:{memberCount:m},...A===void 0?{}:{status:A},...j===void 0?{}:{isInChannel:j},...T===void 0?{}:{verifyWay:T},...U===void 0?{}:{updateVersion:U},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}return {...n,mentions:e.mentionCandidates??Fp,uploadAvatar:async v=>{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 Ot(e.avatarTransfer,v)},create:async v=>{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(v),s=o();try{let i=await aa({client:e.coreClient,name:_.name,memberIds:_.memberIds,secretKey:s,...v.avatarUrl===void 0?{}:{avatarUrl:v.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 m=x(i.data);e.cacheCreatedSecretKey?.(m.ref.conversationId,s);let A=m.status===3?"dismissed":m.status===void 0||m.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:m.ref.conversationId,type:"channel",title:m.name,...m.avatar===void 0?{}:{avatar:m.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:A,channelPermissions:Ba$1("owner",A)}),Object.freeze({channel:m})}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:v=>e.channelProfile?.listProfiles(v)??Promise.resolve([]),getProfile:(v,_)=>e.channelProfile?.getProfile(v,_)??Promise.resolve(null),listMembers:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),prefetchMembers:v=>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(v),getCachedMembers:v=>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(v),refreshMembers:v=>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(v),searchMembers:v=>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:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listMentionMembers:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),searchMentionMembers:v=>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:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listAdmins:v=>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:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),getMembersByIds:(v,_,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(v,_,s),updateName:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u793E\u7FA4\u540D\u79F0");await mn("channels.updateName",i,()=>F({client:s,channelId:i,name:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{title:m}),f(i);},updateDescription:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=u(_);await mn("channels.updateDescription",i,()=>F({client:s,channelId:i,description:m})),f(i);},updateAvatar:async(v,_)=>{let s=g(),i=c$1(v,"\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 m=await mn("channels.updateAvatar",i,()=>Ot(e.avatarTransfer,_));return await mn("channels.updateAvatar",i,()=>F({client:s,channelId:i,avatarUrl:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{avatar:m}),f(i),m},setMyNickname:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=a(_);await mn("channels.setMyNickname",i,()=>G({client:s,channelId:i,nickname:m})),f(i);},setMemberNickname:async(v,_,s)=>{let i=g(),m=c$1(v,"\u793E\u7FA4 id"),A=c$1(_,"\u793E\u7FA4\u6210\u5458 id");if(await y(A))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let T=a(s);await mn("channels.setMemberNickname",m,()=>H({client:i,channelId:m,userId:A,nickname:T})),f(m);},updateVerification:async(v,_,s)=>{let i=g(),m=c$1(v,"\u793E\u7FA4 id"),A=C(_,s,m);await mn("channels.updateVerification",m,()=>O$1({client:i,channelId:m,verifyType:A.verifyType,...A.inviteCode===void 0?{}:{inviteCode:A.inviteCode}})),f(m);},requestJoin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=_?.remarks?.trim();return mn("channels.requestJoin",i,()=>qa$1({client:s,channelId:i,...m===void 0?{}:{remarks:m}}))},joinByInviteCode:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=_.trim();if(!/^\d{6}$/.test(m))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return mn("channels.joinByInviteCode",i,()=>ra$1({client:s,channelId:i,inviteCode:m}))},setAllMuted:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id");await mn("channels.setAllMuted",i,()=>P({client:s,channelId:i,muted:_})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},setMemberPrivateChatDisabled:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id");await mn("channels.setMemberPrivateChatDisabled",i,()=>Q({client:s,channelId:i,disabled:_})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},inviteMembers:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=h(_);if(m.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:m})),f(i);},removeMember:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u79FB\u9664\u6210\u5458 id");await mn("channels.removeMember",i,()=>J({client:s,channelId:i,userId:m})),f(i);},addAdmin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await mn("channels.addAdmin",i,()=>K({client:s,channelId:i,userId:m})),E(i),f(i);},removeAdmin:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await mn("channels.removeAdmin",i,()=>L({client:s,channelId:i,userId:m})),E(i),f(i);},transferOwnership:async(v,_)=>{let s=g(),i=c$1(v,"\u793E\u7FA4 id"),m=c$1(_,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.transferOwnership",i,()=>M({client:s,channelId:i,userId:m})),E(i),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},leave:async(v,_)=>{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(v,"\u793E\u7FA4 id"),m=_?.newOwnerId===void 0?void 0:c$1(_.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await mn("channels.leave",i,()=>N({client:s,channelId:i,...m===void 0?{}:{newOwnerId:m}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_left"),f(i);},dismiss:async v=>{let _=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=c$1(v,"\u793E\u7FA4 id");await mn("channels.dismiss",s,()=>R({client:_,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??Lp}}function Kp(e){let r=ee({...{"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 Bp(e){let n=e.responseCode===X,o=ee({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(o.code),o)}function Gp(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function sd(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,o=new Map,c=new Map,a=0,u=false,y=5e3;function g$1(s,i,m){if(u)return "unknown";if(m!==void 0&&r.get(s)!==m)return d.get(s)??"unknown";let A=d.get(s);return d.set(s,i),o.set(s,Date.now()),A!==i&&e.onRelationshipChanged?.(s,i),i}function C(s,i){if(u)return;let m=f(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(m,++a),g$1(m,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 f(s,i){let m=s.trim();if(m==="")throw new Error(`${i}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return m}function E(s,i){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(m=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${i}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:m}});});}async function w(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 La({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(m=>({countryCode:m.countryCode,mobile:m.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function S(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 x(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 m=s.trim();if(m==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let A=c.get(m);if(i&&A!==void 0)return A;let T=++a;r.set(m,T);let U=g(e.coreClient,{userId:m}).then(j=>g$1(m,S(j?.friend_status),T)).finally(()=>{c.get(m)===U&&c.delete(m);});return c.set(m,U),U}function v(s){return x(s,true)}async function _$1(s,i){let m=f(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),A;try{A=await x(m,!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:m,error:T}}}),null}if(u)return null;if(A==="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:m}}}),null;if(A!=="friend")return "rejected";C(m,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(m,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:m,error:T}}}),null}return u?null:(e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),E(m,"\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:w,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")):Y(e.coreClient,{query:s}).catch(i=>{throw i instanceof V?Bp(i):i}).then(i=>{if(i===null)return null;let m=S(i.friendStatus);return C(i.userId,m),Object.freeze({userId:i.userId,displayName:i.nickname||i.miCallId||i.username||i.userId,nickname:i.nickname,relationship:m,...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:v,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 m=f(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),A;try{A=await Z(e.coreClient,{userId:m,message:i.message,...i.remark===void 0?{}:{remark:i.remark}});}catch(U){throw U instanceof W?Kp(U):U}let T=Gp(A.status);return C(m,T==="sent"?"pending":"friend"),T==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(m,j(),Date.now()),e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),E(m,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:T,...A.message===void 0?{}:{message:A.message}})},blockUser:async s=>{let i=f(s,"\u52A0\u5165\u9ED1\u540D\u5355");await U(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}),E(i,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,i)=>{let m=f(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),A=i.trim();if(A==="")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 $(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:T,targetUserId:m,problem:A});},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(m){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:m}});}E(i,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let i=f(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),m=o.get(i);return m!==void 0&&Date.now()-m<y?Promise.resolve(d.get(i)??"unknown"):v(i)},updateRelationshipFromEvent:C,resolveApplicationAnswer:_$1,dispose:()=>{u=true,a+=1,r.clear(),d.clear(),o.clear(),c.clear();}}}function cd(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 o=d[0];if(o.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:o.type,conversationId:o.id}}}function dd(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 o=e.domainState.getConversationContext(d);if(o===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:o.type,targetId:o.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 o=e.domainState.getMessagesByConversation(r),c=o.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 a=await e.authProvider.getLoginContext();if(a===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:e.http,userId:a.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let a=Va$1(o);if(a===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,a),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 Wo=1,Hp=3;function $o(e){return typeof Blob<"u"&&e instanceof Blob}async function ld(e){return $o(e)?new Uint8Array(await e.arrayBuffer()):e}function ud(e){async function n(M){return e.connection.sendText(M)}async function r(M){return e.connection.sendContact(M)}async function d(M){return e.connection.forwardMessages(M)}async function o(M){return e.connection.recallMessage(M)}async function c(M){return e.connection.editMessage(M)}async function a(M){return e.connection.sendImage(M)}async function u(M){return e.connection.sendVideo(M)}async function y(M){return e.connection.sendVoice(M)}async function g(M){return e.connection.sendFile(M)}async function C(M){return e.connection.sendMediaAlbum(M)}async function h(M){return e.connection.sendGif(M)}async function f(M){return e.connection.sendExpression(M)}async function E(M){return e.connection.sendGame(M)}async function w(M){return e.connection.sendMiniProgram(M)}async function S(M){return e.connection.sendTransfer(M)}async function x(M){return e.connection.sendGift(M)}async function v(M,K){return e.connection.replaceInterruptedVideo(M,K)}async function _(M,K){return e.connection.replaceInterruptedFile(M,K)}function s(M){e.connection.cancelMedia(M);}function i(M,K){return {url:M.url,...M.getPriority===void 0?{}:{getPriority:M.getPriority},...M.expectedBytes===void 0?{}:{expectedBytes:M.expectedBytes},...M.onProgress===void 0&&M.onTransferProgress===void 0?{}:{onProgress:N=>{M.onTransferProgress?.(N),M.onProgress?.(N.percent);}},...M.signal!==void 0?{signal:M.signal}:{},...M.resume===void 0?{}:{resume:M.resume},...M.onResumable===void 0?{}:{onResumable:M.onResumable},...M.onResumeInvalidated===void 0?{}:{onResumeInvalidated:M.onResumeInvalidated},...K?{preferBlob:true}:{}}}async function m(M){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(i(M,false)),N=await ld(K);return M.teaKey!==void 0&&M.teaKey.length>0&&M.fileEncryptType!==Wo?e.crypto.decryptSymmetric({teaKey:M.teaKey,cipherData:N}):N}async function A(M){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(i(M,true));if(M.teaKey===void 0||M.teaKey.length===0||M.fileEncryptType===Wo)return K;let N=M.teaKey;return $o(K)?e.crypto.decryptSymmetricChunked({teaKey:N,cipherData:K,...M.signal===void 0?{}:{signal:M.signal}}):e.crypto.decryptSymmetric({teaKey:N,cipherData:K})}async function T(M){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(M.fileEncryptType===Hp)return A(M);let K=await e.mediaTransfer.download(i(M,true));if(M.teaKey===void 0||M.teaKey.length===0||M.fileEncryptType===Wo)return K;let Y=M.teaKey;if(!$o(K))return e.crypto.decryptFileSimple({teaKey:Y,cipherData:K});if(K.size<=32){let O=e.crypto.decryptFileSimple({teaKey:Y,cipherData:await ld(K)});return new Blob([O],{type:K.type})}let ve=new Uint8Array(await K.slice(0,32).arrayBuffer()),ie=e.crypto.decryptFileSimple({teaKey:Y,cipherData:ve});return new Blob([ie,K.slice(32)],{type:K.type})}function U(M){e.connection.retryMessage(M);}function j(M,K){let N={conversationType:"channel",conversationId:M},Y=e.domainState.getLoadedMessagesByConversation(N),ie=e.domainState.getConversationMessage(N,K)??Y.find(H=>Ua(H)===K),O=Ua(ie);if(ie===void 0||typeof O!="string"||O.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${M}, input=${K}\uFF09`);return ie.id}async function J(M){let K=M.conversationType??e.domainState.getSession(M.conversationId)?.type;if(K==="channel"){let N=j(M.conversationId,M.readCursor);await e.connection.markRead(M.conversationId,N,"channel");return}await e.connection.markRead(M.conversationId,M.readCursor,M.conversationType),K==="direct"&&await e.prepareDirectReadReceipt?.(M.conversationId);}function se(M){if(M.conversationType!=="direct"&&M.conversationType!=="group"&&M.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${M.conversationType}`)}async function ye(M,K){se(M);let N={...M};if(K===void 0){let ie=e.domainState.getSession(N);if((ie?.unreadCount??0)>0||(ie?.mentionUnreadCount??0)>0){if(N.conversationType!=="group")throw new Error(`${N.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=${N.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:N.conversationId});}e.domainState.clearConversationManualUnread?.(N);return}let Y=e.connection.settleConversationRead;if(Y===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let ve=N.conversationType==="channel"?j(N.conversationId,K):K;await Y(N,ve),e.domainState.clearConversationManualUnread?.(N);}async function I(M,K){if(se(M),M.conversationType!=="direct"||K.length===0)return;let N=e.connection.reportVisibleMessages;if(N===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");N(M,K),await e.prepareDirectReadReceipt?.(M.conversationId);}async function L(M,K){e.connection.reportDirectMediaConsumed?.(M,K),await e.prepareDirectReadReceipt?.(M);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:o,editMessage:c,sendImage:a,sendVideo:u,sendVoice:y,sendFile:g,sendGif:h,sendMediaAlbum:C,sendExpression:f,sendGame:E,sendMiniProgram:w,sendTransfer:S,sendGift:x,replaceInterruptedVideo:v,replaceInterruptedFile:_,cancelMediaUpload:s,loadImage:m,loadVideo:A,loadVoice:m,loadFile:T,retry:U,markRead:J,markConversationRead:ye,markVisibleMessages:I,markDirectMediaConsumed:L}}}function pd(e){return {...e.operations,get state(){return e.getState()}}}var jp=50,zp=1e3,bn={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 rn(e){let n=ee({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 Vp(e,n){switch(e){case bn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case bn.CONTACT_PERMISSION_DENIED:case bn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case bn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case bn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case bn.ALREADY_GROUP_MEMBER:case bn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case bn.GROUP_MEMBER_LIMIT_REACHED:case bn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case bn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case bn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case bn.OPERATION_FAILED:case bn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case bn.GROUP_APPLICATION_UNAVAILABLE_40521:case bn.GROUP_APPLICATION_UNAVAILABLE_40612:case bn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function qp(e){if(e instanceof j$1||e instanceof q)return e.code}function Wp(e){return e instanceof k$1||e instanceof r$1?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function md(e,n,r){let d=qp(r),o=Vp(d,e),c=Wp(r);return rn({code:o,category:c.category,operation:n,retryable:c.retryable,cause:r})}function fd(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function wn(e,n){if(typeof e!="string"&&typeof e!="number")throw rn({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 rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function Jo(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw rn({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 ht(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 $p(e,n,r="pending"){return Object.freeze({ref:ht(e),...n===void 0?{}:{createdAt:n},state:r})}function Jp(e){let n=Jo(e.createdAt),r=tt(e.applicantAvatar,"contact.applicantAvatar"),d=tt(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:ht({domain:"contact",applicationId:wn(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:wn(e.applicantId,"contact.applicantId"),name:wn(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:Yo(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Yp(e){if(e.kind!=="request"&&e.kind!=="invite")throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Jo(e.createdAt),r=tt(e.actor.avatarUrl,"group.actor.avatarUrl"),d=tt(e.actor.displayId,"group.actor.displayId"),o=tt(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:ht({domain:"group",applicationId:wn(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:wn(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:wn(e.actor.id,"group.actor.id"),name:wn(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:wn(e.target.id,"group.target.id"),name:wn(e.target.name,"group.target.name"),...o===void 0?{}:{avatarUrl:o}}),message:Yo(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function tt(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw rn({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 Yo(e,n){if(typeof e!="string"&&typeof e!="number")throw rn({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 Xp(e){let n=Jo(e.createdAt),r=tt(e.applicantAvatar,"channel.applicantAvatar"),d=tt(e.applicantDisplayId,"channel.applicantDisplayId"),o=tt(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:ht({domain:"channel",applicationId:wn(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:wn(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:wn(e.applicantId,"channel.applicantId"),name:wn(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:wn(e.channelId,"channel.channelId"),name:wn(e.channelName,"channel.channelName"),...o===void 0?{}:{avatarUrl:o}}),message:Yo(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function ur(e){return `${e.domain}:${e.applicationId}`}function gd(e){let n=false,r=0,d=0,o=new Map,c=new Map,a=new Map;function u(E,w){if(n||!e.isActive()||w!==void 0&&r!==w)throw rn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:E,retryable:false})}function y(E){if(u(E),e.contact===void 0||e.group===void 0||e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:E,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(E,w){let S=[],x=new Set,v;for(let _=0;_<zp;_+=1){let s=await w({limit:jp,...v===void 0?{}:{cursor:v}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:E,retryable:false});if(S.push(...s.items),s.exhausted)return S;let i=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(i===""||x.has(i))throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:E,retryable:false});x.add(i),v=i;}throw rn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:E,retryable:false})}async function C(){let E="applications.listPending",w=y(E),S=r,x=++d;try{let[v,_,s]=await Promise.all([g(E,T=>w.contact.listPendingApplications(T)),g(E,T=>w.group.listPendingApplications(T)),g(E,T=>w.channel.listJoinApplications(T))]);u(E,S);let i=[...v.map(Jp),..._.map(Yp),...s.map(Xp)],m=new Map;for(let T of i){let U=ur(T.ref);if(c.has(U))continue;let j=m.get(U);if(j!==void 0&&JSON.stringify(j.ref)!==JSON.stringify(T.ref))throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:E,retryable:!1});(j===void 0||(T.createdAt??0)>(j.createdAt??0))&&m.set(U,T);}let A=[...m.values()].sort((T,U)=>{let j=(U.createdAt??0)-(T.createdAt??0);return j!==0?j:ur(T.ref).localeCompare(ur(U.ref))});if(x===d){o.clear();for(let T of A)o.set(ur(T.ref),T);}return Object.freeze(A)}catch(v){throw fd(v)?v:(u(E,S),md("IM_SDK_APPLICATION_LIST_FAILED",E,v))}}function h(E,w){if(u(w),E===null||typeof E!="object")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});let S=typeof E?.applicationId=="string"?E.applicationId.trim():"";if(S==="")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});if(E.domain==="contact")return ht({domain:"contact",applicationId:S});let x=typeof E.conversation?.conversationId=="string"?E.conversation.conversationId.trim():"";if(E.domain==="group"&&E.conversation?.conversationType==="group"&&x!=="")return ht({domain:"group",applicationId:S,conversation:{conversationType:"group",conversationId:x}});if(E.domain==="channel"&&E.conversation?.conversationType==="channel"&&x!=="")return ht({domain:"channel",applicationId:S,conversation:{conversationType:"channel",conversationId:x}});throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false})}function f(E,w){let S=w==="accepted"?"applications.accept":"applications.ignore",x=h(E,S),v=ur(x),_=c.get(v);if(_===w)return Promise.resolve();if(_!==void 0)return Promise.reject(rn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:S,retryable:false}));let s=a.get(v);if(s!==void 0)return s.state===w?s.promise:Promise.reject(rn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:S,retryable:true}));let i=r,m=Promise.resolve().then(async()=>{try{let T;if(x.domain==="contact"){if(e.contact===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.contact.acceptApplication(x.applicationId):e.contact.ignoreApplication(x.applicationId);}else if(x.domain==="group"){if(e.group===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.group.acceptApplication(x.applicationId):e.group.ignoreApplication(x.applicationId);}else {if(e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});T=w==="accepted"?e.channel.acceptJoinApplication(x.applicationId):e.channel.ignoreJoinApplication(x.applicationId);}if(await T,u(S,i),w==="accepted"&&x.domain==="contact"){let j=o.get(v);j?.kind==="contact-request"&&await e.onContactAccepted?.(j.applicant.id,x.applicationId);}c.set(v,w);let U=$p(x,o.get(v)?.createdAt,w);o.delete(v),e.emitter.emit({type:"application:updated",application:U});}catch(T){throw fd(T)?T:(u(S,i),md("IM_SDK_APPLICATION_ACTION_FAILED",S,T))}}),A=()=>{a.get(v)?.promise===m&&a.delete(v);};return a.set(v,{state:w,promise:m}),m.then(A,A),m}return {api:{listPending:C,accept:async E=>f(E,"accepted"),ignore:async E=>f(E,"ignored")},dispose(){n||(n=true,r+=1,o.clear(),c.clear(),a.clear());}}}function Ct(e,n,r){try{r();}catch(d){let o=d instanceof Error?d.message:String(d);throw o.includes("\u672A\u9274\u6743")?ee({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u53EA\u5B9E\u73B0")||o.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?ee({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?ee({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u6CA1\u6709\u5339\u914D")||o.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?ee({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):ee({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function yd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Ct("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Ct("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Ct("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Ct("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Ct("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Ct("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Ct("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Xo=18,Qp=12,Zp=300*1e3,em=64,Id=Object.freeze([]),nm=0;function tm(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function vd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Zp,d=e.maxCacheEntries??em;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 o=++nm,c=new Map,a=new Map,u=new Map,y=new Map,g=new Map,C=new Map,h=new Map,f=new Set,E=0,w=true,S=O=>y.get(O)??0;function x(){if(!w)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function v(O){if(O.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let H=O.conversationId.trim();if(H==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return H}function _(O){let H=c.get(O);c.delete(O),H?.page.nextPageToken!==void 0&&u.delete(H.page.nextPageToken);}function s(O,H){let W=c.get(O);return W===void 0?null:W.generation!==H||W.expiresAt<=n()?(_(O),null):(c.delete(O),c.set(O,W),W.page)}function i(O,H){for(_(O),c.set(O,H);c.size>d;){let W=c.keys().next().value;if(typeof W!="string")break;_(W);}}function m(O){let H=[],W=new Map;for(let Z of O){let ce=Z.userId.trim();if(ce==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");W.has(ce)||H.push(ce);let be=Z.displayName.trim()||ce,X=Z.avatar?.trim();W.set(ce,Object.freeze({userId:ce,displayName:be,...X===void 0||X===""?{}:{avatar:X}}));}return Object.freeze(H.map(Z=>W.get(Z)))}async function A(O,H){let W=await ga(H);return Object.freeze(O.filter(Z=>W.match(Z.displayName)!==null||W.match(Z.userId,{pinyin:false})!==null))}async function T(O,H){let W=await K(O);return W===null?Id:A(W.page.items,H)}function U(O,H){let W=[...O.items],Z=new Set(W.map(ce=>ce.userId));for(let ce of H)Z.has(ce.userId)||(Z.add(ce.userId),W.push(ce));return Object.freeze({...O,items:Object.freeze(W)})}function j(O,H){let W=O.map(ce=>ce.userId),Z=new Map(O.map(ce=>[ce.userId,ce]));for(let ce of H)Z.has(ce.userId)||W.push(ce.userId),Z.set(ce.userId,ce);return W.map(ce=>Z.get(ce))}function J(O,H,W){let Z=`im-channel-mention:${o}:${++E}`;for(u.set(Z,{...O,generation:H,expiresAt:W});u.size>d;){let ce=u.keys().next().value;if(typeof ce!="string")break;u.delete(ce);}return Z}function se(O){let H=O.nextCursor?.trim();if(O.exhausted&&H!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!O.exhausted&&(H===void 0||H===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return H}function ye(O,H,W,Z){let ce=se(O),be=ce===void 0?void 0:J({...H,cursor:ce},W,Z);return Object.freeze({items:m(O.items),...be===void 0?{}:{nextPageToken:be},exhausted:O.exhausted})}function I(){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 L(O,H){let W=g.get(O);for(W?.page.nextPageToken!==void 0&&u.delete(W.page.nextPageToken),g.delete(O),g.set(O,H);g.size>d;){let Z=g.keys().next().value;if(Z===void 0)break;let ce=g.get(Z);ce?.page.nextPageToken!==void 0&&u.delete(ce.page.nextPageToken),g.delete(Z);}}function M(O,H){let W=n()+r,Z={channelId:O.channelId,kind:"list"},ce=O.nextCursor===void 0?void 0:J({...Z,cursor:O.nextCursor},H,W);return {generation:H,updatedAt:O.updatedAt,page:Object.freeze({items:m(O.items),...ce===void 0?{}:{nextPageToken:ce},exhausted:O.exhausted})}}function K(O){x();let H=g.get(O);if(H!==void 0)return Promise.resolve(H);if(f.has(O)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let W=h.get(O);if(W!==void 0)return W;let Z=S(O),ce=e.storage.getChannelMentionCandidateSnapshot(O).then(be=>{if(x(),be===null||be.channelId!==O||S(O)!==Z||f.has(O))return null;let X=M(be,Z);return L(O,X),X}).finally(()=>{h.get(O)===ce&&h.delete(O);});return h.set(O,ce),ce}function N(O){x();let H=C.get(O);if(H!==void 0)return H;let W=S(O),Z=I(),ce=(async()=>{let be,X=false,we=[];for(let en=0;en<Qp&&!X;en+=1){let Ee=await Z.listMentionMembers({channelId:O,limit:Xo,...be===void 0?{}:{cursor:be}});if(x(),S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");be=se(Ee),X=Ee.exhausted,we=j(we,Ee.items);}let Ke=n(),ze={channelId:O,items:we,...be===void 0?{}:{nextCursor:be},exhausted:X,updatedAt:Ke};if(S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(ze),x(),S(O)!==W)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Xe=M(ze,W);return L(O,Xe),Xe.page})().finally(()=>{C.get(O)===ce&&C.delete(O);});return C.set(O,ce),ce}function Y(O,H=false){x();let W=S(O.channelId),Z=tm(O);if(!H){let Ke=s(Z,W);if(Ke!==null)return Promise.resolve(Ke)}let ce=a.get(Z);if(ce!==void 0&&ce.generation===W)return ce.promise;let be=I(),X=O.kind==="list"?be.listMentionMembers({channelId:O.channelId,limit:Xo,...O.cursor===void 0?{}:{cursor:O.cursor}}):be.searchMentionMembers({channelId:O.channelId,query:O.keyword,limit:Xo,...O.cursor===void 0?{}:{cursor:O.cursor}}),we=Promise.resolve(X).then(async Ke=>{x();let ze=O.kind==="search"&&O.cursor===void 0?await T(O.channelId,O.keyword):Id;if(x(),S(O.channelId)!==W)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Xe=n()+r,en=ye(Ke,O,W,Xe),Ee=ze.length===0?en:U(en,ze);return S(O.channelId)===W&&i(Z,{channelId:O.channelId,generation:W,expiresAt:Xe,page:Ee}),Ee}).finally(()=>{a.get(Z)?.promise===we&&a.delete(Z);});return a.set(Z,{generation:W,promise:we}),we}function ve(O,H){x();let W=u.get(O);if(W===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(W.kind!==H)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${H} \u5206\u9875`);if(W.expiresAt<=n())throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(S(W.channelId)!==W.generation)throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return W}return {api:{peekFirstPage(O){if(!w)return null;let H=v(O),W=g.get(H);return W===void 0||W.generation!==S(H)?null:(L(H,W),W.page)},peekSearchCandidates(O,H){if(!w)return Object.freeze([]);let W=v(O),Z=H.trim().toLocaleLowerCase();if(Z==="")return Object.freeze([]);let ce=g.get(W);return ce===void 0||ce.generation!==S(W)?Object.freeze([]):(L(W,ce),Object.freeze(ce.page.items.filter(be=>be.displayName.toLocaleLowerCase().includes(Z)||be.userId.toLocaleLowerCase().includes(Z))))},async getCachedPage(O,H){let W=v(O),Z=await K(W);if(Z===null)return null;let ce=H?.trim()??"";if(ce==="")return Z.page;let be=await A(Z.page.items,ce);return x(),Z.generation!==S(W)?null:Object.freeze({items:be,exhausted:true})},async prefetchFirstPage(O){let H=v(O),W=await K(H);W!==null&&W.updatedAt+r>n()||await N(H);},async refreshFirstPage(O){return N(v(O))},async listFirstPage(O){let H=v(O),W=g.get(H);if(W!==void 0&&W.generation===S(H))return L(H,W),W.page;let Z=await K(H);return Z!==null?Z.page:N(H)},async listNextPage(O){return Y(ve(O,"list"))},async searchFirstPage(O,H){let W=v(O),Z=H.trim();return Z===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Y({channelId:W,kind:"search",keyword:Z})},async refreshSearchFirstPage(O,H){let W=v(O),Z=H.trim();return Z===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Y({channelId:W,kind:"search",keyword:Z},true)},async searchNextPage(O){return Y(ve(O,"search"))}},async invalidate(O){if(!w)return;let H=O.trim();if(H==="")return;y.set(H,S(H)+1),f.add(H);let W=g.get(H);W?.page.nextPageToken!==void 0&&u.delete(W.page.nextPageToken),g.delete(H),C.delete(H),h.delete(H);for(let[Z,ce]of c)ce.channelId===H&&_(Z);for(let[Z,ce]of u)ce.channelId===H&&u.delete(Z);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(H),f.delete(H));},clear(){if(!w)return;let O=new Set;for(let H of c.values())O.add(H.channelId);for(let H of u.values())O.add(H.channelId);for(let H of O)y.set(H,S(H)+1);c.clear(),u.clear(),a.clear(),g.clear(),C.clear(),h.clear(),f.clear();},dispose(){w&&(w=false,c.clear(),u.clear(),a.clear(),g.clear(),C.clear(),h.clear(),f.clear());}}}var rm=20*1024*1024;function zn(e){return ee({...e,retryable:e.retryable??false})}function Qo(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 om(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 am(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 hd(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:am(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 Zo(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 im(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Cd(e){let n=e.maxCustomImageBytes??rm,r=false,d=0,o,c;async function a(y,g){try{return await g(om(e.storage,y))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:zn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:C})}}return {api:{async getBackground(y){let g="conversations.getBackground",C=Qo(y,g);return a(g,async h=>{let f=await h.getConversationBackground(C);if(f!==null)return Object.freeze({source:"conversation",selection:Zo(f)});let E=await h.getDefaultConversationBackground();return Object.freeze(E===null?{source:"builtin",selection:null}:{source:"default",selection:Zo(E)})})},async setBackground(y,g){let C="conversations.setBackground",h=Qo(y,C),f=await hd(g,C,n);await a(C,E=>E.saveConversationBackground(h,f));},async resetBackground(y){let g="conversations.resetBackground",C=Qo(y,g);await a(g,h=>h.deleteConversationBackground(C));},async getDefaultBackground(){return a("conversations.getDefaultBackground",async g=>{let C=await g.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:Zo(C)})})},async setDefaultBackground(y){let g="conversations.setDefaultBackground",C=await hd(y,g,n);await a(g,h=>h.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await a("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(y){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(zn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!y?.forceRefresh&&o!==void 0)return Promise.resolve(o);if(!y?.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=ga$1(e.coreClient).then(f=>{let E=Object.freeze(f.map(im));return !r&&C===d&&(o=E),E}).catch(f=>{throw zn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:f})}).finally(()=>{C===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,o=void 0,c=void 0;}}}var bd=2;async function sm(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,o,c,a=g=>Md(e.entryUpperSortKey===void 0?g:g.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,o,e.isEntryUnread).unreadMessages;for(let g=0;g<=(e.maxExtraPages??bd);g+=1){e.signal?.throwIfAborted();let C=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),C===void 0)break;if(o!==void 0&&o!==C.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");o=C.readCursorSortKey,c=C;for(let w of C.messages){if(w.conversationId!==e.conversation.conversationId||w.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(w.id,w);}let h=[...n.values()].sort(m$1),f=a(h),E=e.entryUpperSortKey!==void 0&&C.messages.some(w=>w.sortKey>=e.entryUpperSortKey);if(ea(f)&&(C.exhausted||E))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(E||f.some(w=>w.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(m$1),y=a(u)[0];return y!==void 0&&c!==void 0?(await e.openAt(y.sortKey,{messages:u,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),Sd(y.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function ea(e){return e.length>0&&e.every(n=>n.contentType==="system")}function cm(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Md(e,n,r,d){let o=[];for(let c of e)!cm(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??ma$1(c,n))&&o.push(c);return {unreadMessages:o}}function Sd(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function na(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return sm(e);let n=new Map,r=()=>{let h=e.list();for(let f of h)n.delete(f.id);for(let f of Md(h,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)n.set(f.id,{id:f.id,sortKey:f.sortKey,contentType:f.contentType});return [...n.values()].sort(m$1)},d=e.readCursorSortKey!==void 0;d?await e.openAt(e.readCursorSortKey):await e.openLatest(),e.signal?.throwIfAborted();let o=r(),c=e.maxExtraPages??bd,a=e.paginationKey??(()=>JSON.stringify(e.list().map(h=>[h.id,h.sortKey]))),u=new Set,y=()=>o.length<e.unreadCount||d&&ea(o);for(let h=0;y()&&(d?e.hasNewer():e.hasOlder())&&h<c&&(e.signal?.throwIfAborted(),u.add(a()),await(d?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),o=r(),!(e.maxExtraPages!==void 0&&u.has(a())));h+=1);if(o.length<e.unreadCount)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let g=d?o:o.slice(-e.unreadCount);if((!d||!e.hasNewer())&&ea(g))return await e.openLatest(),Object.freeze({state:"none"});let C=g[0];return C===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(C.sortKey),e.signal?.throwIfAborted(),Sd(C.id,e.unreadCount))}function pr(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},o=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}o.has(c.userId)||(o.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 dm(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function lm(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Pd(e){let n=[...new Set(e.messageIds.map(a=>a.trim()).filter(a=>a!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],o=[],c;for(let a of lm(n)){if(!e.isCurrent()){o.push(...a);continue}try{let u=await e.fetchBatch(a);if(!e.isCurrent()){o.push(...a);continue}let y=new Set(u.messages.map(C=>C.id)),g=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),d.push(...u.missingMessageIds);for(let C of a)!y.has(C)&&!g.has(C)&&o.push(C);}catch(u){o.push(...a),c=dm(u);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:o,...c===void 0?{}:{failure:c}}}var ra=new WeakMap;function $r(e,n){let r=ra.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");ra.set(e,r);}var um={"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}},pm={"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}},Ad={"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}},Ed={"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 Rd(e,n,r){let d=ee({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function mm(e,n){let r=ee({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 fm=3*1024*1024,ta=200*1024*1024,wd=2*1024*1024*1024,Td=30*1024*1024,_d=4294967295,gm=6,ym=16*1024;async function Im(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 Jr(e,n,r$1,d,o={},c={}){c.signal?.throwIfAborted();let a=Object.freeze({...e}),u=n.pageSize??30,y={retention:{maxMessages:u*gm},...o.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,b)=>o.shouldEstablishRemoteLatestOnOpen?.(b)===true}},g=n.domainState.createMessageWindow({...y}),C=new WeakSet,h=new Set,f=new Set,E=new Map,w,S,x=false,v=false,_=false,s=true,i=0,m=Object.freeze({state:"none"}),A=c.captureEntryUnread===true&&a.conversationType!=="robot",T=A?n.domainState.getSession(a):void 0,U=Math.max(0,T?.manuallyUnread===true?0:T?.unreadCount??0),j=A?n.domainState.getReadState(a):void 0,J=n.getSelfId(),se=new Map,ye=new Set,I,L,M=j?.readCursorSortKey,K=A?Object.freeze(U>0?{state:"pending",count:U}:{state:"none"}):void 0,N=0,Y,ve,ie=0,O=false,H,W;if(A)for(let p of n.domainState.getLoadedMessagesByConversation(a))se.set(p.id,ma$1(p,J)),j?.readCursor===(a.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(M=p.sortKey);let Z=new AbortController,ce=new WeakMap,be;function X(){if(v)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function we(){let p=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(a),draft:n.domainState.getDraft(a),loading:E.size>0,stale:x,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:S,entryUnread:m,entryUnreadNavigation:K}}function Ke(p,b){return p.length===b.length&&p.every((P,F)=>P===b[F])}function ze(p,b){return Ke(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 Xe(p){let b=ce.get(p);if(b!==void 0)return b;let P=Fr(p);return ce.set(p,P),P}function en(p){let b=p.context;return {ref:a,...b===void 0?{}:{display:Object.freeze({title:b.title,...b.avatar===void 0?{}:{avatar:b.avatar}})},messages:Object.freeze(p.messages.map(Xe)),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 Ee(){return X(),en(we())}function $e(){Ge();let p=we();if(be!==void 0&&ze(be,p))return;be=p;let b=en(p);for(let P of h)try{P(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}async function Je(p,b){if(b(),w!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let P=n.domainState.getPinnedMessage(a),F=a.conversationType==="channel"&&P?.messageId===p,re=g.window.list().find(ke=>ke.id===p)??n.domainState.getConversationMessage(a,p);if(re!==void 0&&(!F||Nt(re)))return {anchor:re,...F?{remoteSeed:re}:{}};let me=F?await n.domainState.resolveConversationMessage(a,p):void 0;if(me!==void 0&&Nt(me))return {anchor:me,remoteSeed:me};let he=P?.messageId===p&&P.preview.state==="ready"?P.preview.message:void 0;if(he!==void 0){if(a.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(),w!==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 ke=await n.fetchMessagesByIdBatch([p]),Ne=ke.messages.find(cn=>cn.id===p&&cn.conversationType===a.conversationType&&cn.conversationId===a.conversationId);if(Ne===void 0){if(ke.missingMessageIds.includes(p))return;throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u53D6\u5F97\u5B8C\u6574\u6D88\u606F\u7ED3\u679C")}if(!Nt(Ne))throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u6D88\u606F\u7F3A\u5C11\u5386\u53F2\u6E38\u6807");return {anchor:Ne,remoteSeed:Ne}}return {anchor:he,fallbackSeed:he}}let Ie=n.resolveSearchHistoryAnchor?.(a,p);if(Ie!==void 0)return {anchor:Ie};let de=F?me:await n.domainState.resolveConversationMessage(a,p);return de===void 0?void 0:{anchor:de}}async function Mn(p,b,P){P();let{anchor:F}=b;if(b.remoteSeed!==void 0)return p.openAt(a,{anchorSortKey:F.sortKey,limit:u,seedMessages:[b.remoteSeed],seedHasNewer:true,seedRemotePagination:{}});let re=await p.openAt(a,{anchorSortKey:F.sortKey,limit:u});return P(),p.list().some(me=>me.id===F.id)||b.fallbackSeed===void 0?re:p.openAt(a,{anchorSortKey:F.sortKey,limit:u,seedMessages:[b.fallbackSeed],seedHasNewer:true,seedRemotePagination:{}})}function Sn(p,b,P){X();let F=g,re=P?.window??F.window,me=P?.isCurrent??(()=>!v&&g===F),he=()=>{if(X(),!me())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(w!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let Ie=E.get(p);if(Ie!==void 0)return Ie;let de=n.beginReceiving?.();S=void 0;let ke=Promise.resolve().then(()=>(he(),b())).then(Ne=>(he(),o.reconcilePage===void 0?Ne:o.reconcilePage(Ne,re))).then(Ne=>{he(),x=Ne.stale===true;}).catch(Ne=>{let cn=Ne instanceof Ka$1?Ne.cause:Ne;throw me()&&(S=Yn(cn,`history.${p}`,a)),s?Ne:cn}).finally(()=>{de?.(),E.delete(p),v||$e();});return E.set(p,ke),$e(),ke}function R(){g.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u));}async function G(){O=false,_?_=false:await Sn("latest",()=>g.window.open(a,{limit:u})),R(),o.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await Sn("latest:remote",()=>g.window.loadOlder({limit:u})),R()),O=!x,ge(g.window.list());}function Q(){if(X(),ve?.version===N)return ve.promise;let p=++N,b=$(p).finally(()=>{ve?.version===p&&(ve=void 0);});return ve={version:p,promise:b},b}async function $(p){let b=g,P=n.domainState.createMessageWindow(y),F=()=>!v&&N===p&&g===b,re=()=>{if(!F())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},me={window:P.window,isCurrent:F},he=(de,ke)=>Sn(de,async()=>{let Ne=await ke();if(Ne.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Ne},me),Ie=false;try{await he(`latest:${p}`,()=>P.window.open(a,{limit:u})),re(),P.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u)),o.shouldEstablishRemoteLatestOnOpen?.(P.window.list())===!0&&(await he(`latest:remote:${p}`,()=>P.window.loadOlder({limit:u})),re(),P.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u))),g=P,Ie=!0,b.dispose(),O=!0,x=!1,ge(P.window.list()),$e();}finally{Ie||P.dispose();}}function ge(p){let b=o.resolveReadMessageId?.(p);H=o.resolveReadMessageId===void 0?p.at(-1):p.find(P=>P.id===b);}function Te(p){return ye.has(p.id)||I===void 0||p.sortKey>I||M!==void 0&&p.sortKey<=M?false:se.get(p.id)??ma$1(p,J)}function De(){if(!A||U<=0)return;let b=g.window.list().filter(P=>!ye.has(P.id));I=b.at(-1)?.sortKey;for(let P of b)se.has(P.id)||se.set(P.id,ma$1(P,J));if(c.initialPosition==="first-unread"&&m.state==="located"){L=m.firstMessageId,K=Object.freeze({state:"located",count:U,firstMessageId:m.firstMessageId});return}Ge();}function Ge(){if(!A||U<=0||L!==void 0||I===void 0||K?.state==="none")return;let p=g.window.list();if(!p.some(re=>re.sortKey===I))return;let b=p.filter(re=>Te(re)&&ha(re)&&re.recalled===void 0&&re.deletedForEveryone===void 0);if(b.length<U)return;let P=b.slice(-U);if(P.every(re=>re.contentType==="system")){K=Object.freeze({state:"none"});return}let F=P[0];L=F.id,m=Object.freeze({state:"located",firstMessageId:F.id,count:U}),K=Object.freeze({state:"located",firstMessageId:F.id,count:U});}function Pe(p={}){if(X(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(Y!==void 0){if(!Y.controller.signal.aborted&&Y.version===N&&Y.callerSignal===p.signal)return Y.promise;Y.controller.abort();}if(K===void 0||K.state==="none")return Promise.resolve(false);let b=++N,P=n.domainState.createMessageWindow(y),F=new AbortController,re=()=>!v&&!F.signal.aborted&&N===b,me=()=>{if(!re())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},he=async An=>{me();let Cn=await An();if(me(),o.reconcilePage!==void 0&&(Cn=await o.reconcilePage(Cn,P.window)),me(),Cn.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");P.window.applyIncoming(P.window.list().map(Tn=>n.domainState.getConversationMessage(a,Tn.id)??Tn));},Ie=false,de,ke=new Promise((An,Cn)=>{de=Cn;}),Ne=()=>{Ie||P.dispose(),de(F.signal.reason);},cn=()=>F.abort(p.signal?.reason),st=()=>F.abort(Z.signal.reason);F.signal.addEventListener("abort",Ne,{once:true}),p.signal?.addEventListener("abort",cn,{once:true}),Z.signal.addEventListener("abort",st,{once:true}),Z.signal.aborted&&st();let Zr=n.beginReceiving?.(),Bn=(async()=>{try{let An=L,Cn=An===void 0?void 0:await Je(An,me);if(me(),An!==void 0&&Cn===void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let Tn=Cn===void 0?await na({conversation:a,pageSize:u,maxExtraPages:Number.POSITIVE_INFINITY,...I===void 0?{}:{entryUpperSortKey:I},unreadCount:U,...M===void 0?{}:{readCursorSortKey:M},signal:F.signal,selfId:J,isEntryUnread:Te,...a.conversationType!=="channel"||!j?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async kn=>{let Nn=await n.loadEntryUnreadPage({readCursor:j.readCursor,...kn===void 0?{}:{cursor:kn},signal:F.signal,isCurrent:re});return me(),Nn}},paginationKey:()=>P.window.getPaginationKey(),list:()=>P.window.list(),hasOlder:()=>P.window.info().hasMore,hasNewer:()=>P.window.info().hasNewer,openLatest:async()=>{await he(()=>P.window.open(a,{limit:u})),o.shouldEstablishRemoteLatestOnOpen?.(P.window.list())===!0&&await he(()=>P.window.loadOlder({limit:u}));},openAt:(kn,Nn)=>he(()=>P.window.openAt(a,{anchorSortKey:kn,limit:u,...Nn===void 0?{}:{seedMessages:Nn.messages.map($n=>n.domainState.getConversationMessage(a,$n.id)??$n),seedHasNewer:Nn.hasNewer,seedRemotePagination:Nn.nextCursor===void 0?{}:{newerCursor:Nn.nextCursor}}})),loadOlder:()=>he(()=>P.window.loadOlder({limit:u})),loadNewer:()=>he(()=>P.window.loadNewer({limit:u}))}):await(async()=>(await he(()=>Mn(P.window,Cn,me)),{state:"located",firstMessageId:Cn.anchor.id,count:U}))();if(me(),Tn.state!=="located")return K=Object.freeze(Tn.state==="none"?{state:"none"}:{state:"unavailable",count:U}),!1;let Un=P.window.list().find(kn=>kn.id===Tn.firstMessageId);if(Un===void 0||!ha(Un)||Un.recalled!==void 0||Un.deletedForEveryone!==void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let eo=g;return g=P,Ie=!0,eo.dispose(),L=Tn.firstMessageId,m=Tn,K=Object.freeze({state:"located",count:U,firstMessageId:Tn.firstMessageId}),S=void 0,!0}catch(An){let Cn=An instanceof Ka$1?An.cause:An;if(re()){let Tn=Yn(Cn,"history.loadEntryUnread",a);K=Object.freeze({state:"failed",count:U,error:Tn});}throw Cn}})(),Fn=Promise.race([Bn,ke]).finally(()=>{F.signal.removeEventListener("abort",Ne),p.signal?.removeEventListener("abort",cn),Z.signal.removeEventListener("abort",st),Ie||P.dispose(),Zr?.(),Y?.controller===F&&(Y=void 0),v||$e();});return Y={version:b,callerSignal:p.signal,controller:F,promise:Fn},Fn}async function Me(){if(O){let P=new Map,F=n.domainState.getLoadedMessagesByConversation(a);for(let me of [H,...F])me!==void 0&&P.set(me.id,n.domainState.getConversationMessage(a,me.id)??me);let re=[...P.values()].sort((me,he)=>me.sortKey.localeCompare(he.sortKey));return ge(re),H?.id}let p=ie,b=n.domainState.createMessageWindow(y);try{let P=await b.window.open(a,{limit:u});if(X(),P.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(o.shouldEstablishRemoteLatestOnOpen?.(b.window.list())===!0){let re=await b.window.loadOlder({limit:u});if(X(),re.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");ge(b.window.list()),O=!0;let F=b.window.list();return o.resolveReadMessageId===void 0?F.at(-1)?.id:o.resolveReadMessageId(F)}finally{b.dispose();}}async function Ue(){let p=n.domainState.getSession(a),b=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),P=n.domainState.getReadState(a),F=P?.readCursor,me=(F===void 0||F===""?void 0:a.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(a).find(he=>he.extensions?.historyCursor===F):n.domainState.getConversationMessage(a,F))?.sortKey??P?.readCursorSortKey;m=await na({conversation:a,pageSize:u,unreadCount:b,...me===void 0?{}:{readCursorSortKey:me},signal:Z.signal,...a.conversationType!=="channel"||F===void 0||F===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async he=>{let Ie=g.window.getRevision(),de=()=>!v&&!Z.signal.aborted&&g.window.getRevision()===Ie,ke=await n.loadEntryUnreadPage({readCursor:F,...he===void 0?{}:{cursor:he},signal:Z.signal,isCurrent:de});if(Z.signal.throwIfAborted(),!de())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return ke}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:G,openAt:(he,Ie)=>{_=false;let de=Ie?.messages.map(cn=>n.domainState.getConversationMessage(a,cn.id)??cn),ke=Ie?.messages.find(cn=>cn.sortKey===he)?.id,Ne=ke===void 0?he:de?.find(cn=>cn.id===ke)?.sortKey??he;return Sn(`entry-unread:${he}`,()=>g.window.openAt(a,{anchorSortKey:Ne,limit:u,...Ie===void 0?{}:{seedMessages:de,seedHasNewer:Ie.hasNewer,seedRemotePagination:Ie.nextCursor===void 0?{}:{newerCursor:Ie.nextCursor}}}))},loadOlder:()=>Sn("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>Sn("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let nn=n.emitter.subscribe(p=>{if(!(v||!("conversation"in p)||p.conversation===void 0)&&!(p.conversation.conversationType!==a.conversationType||p.conversation.conversationId!==a.conversationId)){if((p.type==="conversation-history:cleared"||p.type==="session:removed")&&(Z.abort(),N+=1,m=Object.freeze({state:"none"}),A&&(K=Object.freeze({state:"none"})),ie+=1,W?.dispose(),W=void 0,O=false,H=void 0),p.type==="message:received"&&p.source==="live"&&(A&&ye.add(p.message.id),O&&(H===void 0||p.message.sortKey>H.sortKey)&&(o.resolveReadMessageId===void 0||o.resolveReadMessageId([p.message])===p.message.id)&&(H=p.message)),p.type==="draft:updated"||p.type==="draft:cleared"){let b=p.type==="draft:updated"?p.draft:null;for(let P of f)try{P(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}$e();}});function ln(){return c.initialPosition==="first-unread"?Ue():G()}let on=()=>{Z.abort(c.signal?.reason),g.dispose();};c.signal?.addEventListener("abort",on,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await Sn("initial:local",()=>g.window.open(a,{limit:u})),c.signal?.throwIfAborted(),R(),_=!0;try{await ln();}catch(p){if(c.signal?.throwIfAborted(),p instanceof Ka$1)throw p;S=Yn(p,"history.initial",a),c.initialPosition==="first-unread"&&(m=Object.freeze({state:"unavailable"}));}finally{_=!1;}}else await ln();c.signal?.throwIfAborted();}catch(p){throw v=true,Z.abort(),nn(),h.clear(),g.dispose(),p instanceof Ka$1?p.cause:p}finally{c.signal?.removeEventListener("abort",on);}s=false,De();function an(p,b){let P=n.domainState.getMessage(p);return P!==void 0&&P.conversationType===a.conversationType&&P.conversationId===a.conversationId?{ok:true,message:kt(P)}:{ok:false,error:ee({code:P===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a})}}async function qe(p,b,P){let F=await o.getSendPermissionError?.(p);if(X(),F!==void 0){if(P===void 0)return {ok:false,error:F};let re=await P(F);return X(),re}try{let re=await b();return X(),re}catch(re){if(v)throw re;return {ok:false,error:Yn(re,p,a)}}}async function Ye(p,b={}){let P="name"in p?p.name:void 0,F=b.fileName??(typeof P=="string"&&P!==""?P:void 0);return {...a,data:p,...p.type===""?{}:{mimeType:p.type},...F===void 0?{}:{filename:F},...a.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 sn(p){return p===void 0||Number.isFinite(p.width)&&p.width>0&&Number.isFinite(p.height)&&p.height>0}function fn(p){return sn(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<=ym)}function at(p){return p!==void 0&&"duration"in p&&p.duration!==void 0&&Number.isFinite(p.duration)&&p.duration>0}function Ae(p,b,P){return {ok:false,error:ee({code:p,category:b,operation:P,retryable:false,conversation:a})}}function fr(p,b){if(p===null||typeof p!="object"||p.kind!==b||!Number.isSafeInteger(p.width)||p.width<=0||p.width>_d||!Number.isSafeInteger(p.height)||p.height<=0||p.height>_d)return false;let P;try{P=new URL(p.url);}catch{return false}if(P.protocol!=="http:"&&P.protocol!=="https:"||P.username!==""||P.password!=="")return false;let F=p.resourceId;if(F!==void 0&&(typeof F!="string"||F.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(p,"packageId");let re=p.packageId;return typeof F=="string"&&F.trim()!==""&&typeof re=="string"&&re.trim()!==""}function Pn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function Qr(p,b,P){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:b});throw Pn(ee({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:P,retryable:false,conversation:a,details:{targetConversationType:p,targetConversationId:b}}))}async function Ut(p,b,P){let F;try{F=await n.forwardMessages({messages:b,targets:P.map(re=>({...re}))});}catch(re){throw Pn(Yn(re,p,a))}return X(),Object.freeze({sent:Object.freeze(F.results.flatMap(re=>re.ok?[{conversation:Qr(re.targetConversationType,re.targetConversationId,p),messageId:re.newMessageId}]:[])),failed:Object.freeze(F.results.flatMap(re=>re.ok?[]:[{sourceMessageId:re.sourceMessageId,conversation:Object.freeze({conversationType:re.targetConversationType,conversationId:re.targetConversationId}),error:ee({...vm[re.reason],operation:p,conversation:{conversationType:re.targetConversationType,conversationId:re.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...F.skippedSourceIds])})}function Xn(p,b){let P=n.domainState.getConversationMessage(a,p);if(P===void 0){let F=n.domainState.getMessage(p);throw Pn(ee({code:F===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a}))}if(P.conversationType!==a.conversationType||P.conversationId!==a.conversationId)throw Pn(ee({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:a}));return P}function Wn(p,b){return Pn(ee({...b,operation:p,conversation:a}))}function St(p,b){let P=ee({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:a,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),P,{name:"ImLocalMessageDeletionError"})}function Pt(p,b){let P=ee({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:a,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),P,{name:"ImLocalConversationHistoryClearError"})}function B(){if(v)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(w!==void 0)return w;n.invalidateHistory?.(a);let p=[...E.values()],b=Promise.all(p).then(async()=>{X();let P=[...n.domainState.getMessagesByConversation(a),...g.window.list()];if(n.hasOutboxForConversation(a)||P.some(F=>n.isOutboxOwned(F.id)))throw Pt("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(P.some(F=>F.status==="pending"||F.status==="uploading"||F.status==="sending"))throw Pt("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(a),X(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(P=>{throw P instanceof Error&&P.name==="ImLocalConversationHistoryClearError"?P:Pt("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",P)}).finally(()=>{w===b&&(w=void 0);});return w=b,b}async function Dn(p,b){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(a,p);}catch(P){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${b}\uFF09`,cause:P}});}}async function it(p,b,P,F,re){return qe(p,async()=>{if(b==="image"){let de=await Ur(P);if(X(),!de)return Ae("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let me=await Ye(P,F);if(X(),b!==void 0&&me.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let de=new AbortController,ke=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${p}:${++i}`,kind:b,file:P,signal:de.signal});if(X(),ke===void 0||(b==="image"?!sn(ke):!fn(ke)))return Ae(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);me.localPreviewMetadata=ke;}if(b==="video"&&(n.prepareMediaPreview!==void 0||me.localPreviewMetadata!==void 0)&&!at(me.localPreviewMetadata))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let he=o.recheckSendPermissionError?.(p);if(he!==void 0)return {ok:!1,error:he};let Ie=await re({...me,...F.filesAlbum===void 0?{}:{filesAlbum:F.filesAlbum},...F.caption===void 0||F.caption===""?{}:{caption:F.caption}});return Ie.ok?(X(),an(Ie.messageId,p)):{ok:!1,error:tr(Ie.reason,p,a)}})}async function Kt(p,b){let P="messages.sendMediaAlbum";if(p.length===0)return Ae("IM_SDK_MEDIA_ALBUM_EMPTY","validation",P);if(p.length>p$1)return Ae("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",P);if(b.caption!==void 0&&Array.from(b.caption).length>o$1)return Ae("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",P);for(let F of p){if(F.file.type==="image/gif")return Ae("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",P);if(F.kind==="image"){if(F.file.size>Td)return Ae("IM_SDK_IMAGE_TOO_LARGE","validation",P);if(!sn(F.localPreviewMetadata))return Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P)}else {if(F.file.size>ta)return Ae("IM_SDK_VIDEO_TOO_LARGE","validation",P);if(!fn(F.localPreviewMetadata))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P)}}return qe(P,async()=>{for(let Ie of p){if(Ie.kind!=="image")continue;let de=await Ur(Ie.file);if(X(),!de)return Ae("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",P)}let F=await Promise.all(p.map(async Ie=>{if(Ie.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return Ie.localPreviewMetadata;let de=new AbortController;return n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${P}:${++i}`,kind:Ie.kind,file:Ie.file,signal:de.signal})}));X();let re=[];for(let[Ie,de]of p.entries()){let ke=F[Ie];if(de.kind==="image"&&!sn(ke))return Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",P);if(de.kind==="video"){if(!fn(ke))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",P);if(n.prepareMediaPreview!==void 0&&!at(ke))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",P)}let Ne="name"in de.file?de.file.name:void 0;re.push({kind:de.kind,data:de.file,...de.file.type===""?{}:{mimeType:de.file.type},...typeof Ne=="string"&&Ne!==""?{filename:Ne}:{},...de.localPreviewUrl===void 0?{}:{localPreviewUrl:de.localPreviewUrl},...ke===void 0?{}:{localPreviewMetadata:ke}});}let me=o.recheckSendPermissionError?.(P);if(me!==void 0)return {ok:!1,error:me};let he=await n.sendMediaAlbum({...a,items:re,...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 he.ok?(X(),an(he.messageId,P)):{ok:!1,error:tr(he.reason,P,a)}})}function At(p,b,P){let F=Xn(p,P);if(!(F.contentType===b||b==="file"&&F.contentType==="filesAlbum"&&F.body.filesAlbum?.items.length===1)||F.status!=="failed"||!(F.failure?.displayCode==="media.uploadInterrupted"||F.failure?.displayCode==="media.cancelled"||F.failure?.displayCode==="media.uploadTimeout"&&F.failure.retryable===false)||n.isOutboxOwned(p))throw Pn(ee({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:a}));return F}async function gr(p,b,P,F,re,me){return At(b,P,p),qe(p,async()=>{let he=await Ye(F,re);if(P==="video"&&he.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let ke=new AbortController,Ne=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${p}:${++i}`,kind:"video",file:F,signal:ke.signal});if(X(),Ne===void 0||!fn(Ne))return Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);he.localPreviewMetadata=Ne;}if(P==="video"&&(n.prepareMediaPreview!==void 0||he.localPreviewMetadata!==void 0)&&!at(he.localPreviewMetadata))return Ae("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let Ie=o.recheckSendPermissionError?.(p);if(Ie!==void 0)return {ok:!1,error:Ie};At(b,P,p);let de=await me(b,{...he,...re.caption===void 0||re.caption===""?{}:{caption:re.caption}});return de.ok?(X(),an(de.messageId,p)):{ok:!1,error:tr(de.reason,p,a)}})}let un={ref:a,getSnapshot:Ee,subscribe(p){return X(),h.add(p),()=>h.delete(p)},resolveMessage:async p=>{X();let b=g.window.list().find(P=>P.id===p)??await n.domainState.resolveConversationMessage(a,p);return b===void 0?null:Xe(b)},history:{loadEntryUnread:p=>Pe(p),loadLatest:async()=>Q(),loadOlder:async()=>(X(),N+=1,Sn("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{X(),N+=1,await Sn("newer",()=>g.window.loadNewer({limit:u})),X(),g.window.info().hasNewer||(R(),$e());},loadAround:async p=>{X();let b=++N;if(w===void 0&&a.conversationType==="channel"&&C.has(g.window)&&n.domainState.getPinnedMessage(a)?.messageId===p&&g.window.list().some(ke=>ke.id===p&&Nt(ke)))return;let P=g,F=()=>!v&&N===b&&g===P,re=()=>{if(X(),!F())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},me=await Je(p,re);if(re(),me===void 0||me.anchor.conversationType!==a.conversationType||me.anchor.conversationId!==a.conversationId)throw mm(a,p);let he=n.domainState.createMessageWindow(y),Ie=he.window,de=false;try{await Sn(`around:${p}:${b}`,async()=>(re(),Mn(Ie,me,re)),{window:Ie,isCurrent:F}),re(),g=he,me.remoteSeed!==void 0&&C.add(Ie),de=!0,P.dispose(),$e();}finally{de||he.dispose();}},clearLocal:async()=>(X(),B())},messages:{sendText:async(p,b={})=>{X();let P=r$1(a,p,b);if("code"in P)return {ok:false,error:P};let F=n.domainState.getDraft(a)?.updatedAt;return qe("messages.sendText",async()=>{let re=await n.sendText(P);return X(),await Dn(F,"messages.sendText"),an(re.id,"messages.sendText")},async re=>{let me=o.appendTextPermissionFailure?.(P);return me===void 0?{ok:false,error:re}:(await Dn(F,"messages.sendText"),{ok:true,message:kt(me)})})},sendContact:async(p,b={})=>{X();let P=p.targetId.trim(),F=p.displayName.trim();if(P===""||F==="")return {ok:false,error:ee({code:P===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:a})};let re={...a,contact:{...p,targetId:P,displayName:F},encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return qe("messages.sendContact",async()=>{let me=await n.sendContact(re);return an(me.id,"messages.sendContact")})},sendImage:async(p,b={})=>(X(),p.size>Td?Ae("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?Ae("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):sn(b.localPreviewMetadata)?it("messages.sendImage","image",p,b,n.sendImage):Ae("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,b={})=>(X(),Kt(p,b)),sendVideo:async(p,b={})=>(X(),p.size>ta?Ae("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):fn(b.localPreviewMetadata)?it("messages.sendVideo","video",p,b,n.sendVideo):Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,b,P={})=>(X(),b.size>ta?Ae("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):fn(P.localPreviewMetadata)?gr("messages.replaceInterruptedVideo",p,"video",b,P,n.replaceVideo):Ae("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(p,b)=>(X(),qe("messages.sendVoice",async()=>{let P=await Ye(p,b),F=o.recheckSendPermissionError?.("messages.sendVoice");if(F!==void 0)return {ok:!1,error:F};let re=await n.sendVoice({...P,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return re.ok?(X(),an(re.messageId,"messages.sendVoice")):{ok:!1,error:tr(re.reason,"messages.sendVoice",a)}})),sendFile:async(p,b={})=>{if(X(),p.size>wd)return Ae("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&Array.from(b.caption).length>o$1)return Ae("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let P=b.fileName??("name"in p?p.name:void 0);return typeof P!="string"||P.trim()===""?Ae("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):it("messages.sendFile",void 0,p,b,n.sendFile)},sendGif:async(p,b={})=>(X(),p.size>fm?Ae("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Im(p)?it("messages.sendGif",void 0,p,b,P=>n.sendGif(P)):Ae("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,b={})=>(X(),fr(p,"sticker")?qe("messages.sendSticker",async()=>{let P=await n.sendExpression({...a,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendSticker")}):Ae("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,b={})=>(X(),fr(p,"gif")?qe("messages.sendGifAsset",async()=>{let P=await n.sendExpression({...a,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGifAsset")}):Ae("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,b={})=>(X(),p!=="rock-paper-scissors"&&p!=="dice"?Ae("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):qe("messages.sendGame",async()=>{let P=await n.sendGame({...a,gameType:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGame")})),sendMiniProgram:async(p,b={})=>(X(),t$1(p)?qe("messages.sendMiniProgram",async()=>{let P=await n.sendMiniProgram({...a,miniProgram:p,encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendMiniProgram")}):Ae("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,b={})=>(X(),a.conversationType==="channel"||a.conversationType==="robot"?Ae("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(p)?qe("messages.sendTransfer",async()=>{let P=await n.sendTransfer({...a,transfer:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendTransfer")}):Ae("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,b={})=>(X(),a.conversationType==="channel"||a.conversationType==="robot"?Ae("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):r(p)?qe("messages.sendGift",async()=>{let P=await n.sendGift({...a,gift:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return an(P.id,"messages.sendGift")}):Ae("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(p,b)=>{X(),Xn(p,"messages.toggleReaction");let P=await n.setReaction({conversation:a,parentMessageId:p,emoji:b,action:"toggle"});if(X(),!P.ok)throw Wn("messages.toggleReaction",Ad[P.reason]);return Object.freeze({messageId:p,eventId:P.event.id,emoji:P.event.emoji,action:P.event.action===0?"add":"remove"})},setReaction:async(p,b,P)=>{X(),Xn(p,"messages.setReaction");let F=await n.setReaction({conversation:a,parentMessageId:p,emoji:b,action:P});if(X(),!F.ok)throw Wn("messages.setReaction",Ad[F.reason]);return Object.freeze({messageId:p,eventId:F.event.id,emoji:F.event.emoji,action:F.event.action===0?"add":"remove"})},replaceInterruptedFile:async(p,b,P={})=>{if(X(),b.size>wd)return Ae("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(P.caption!==void 0&&P.caption!=="")return Ae("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let F=P.fileName??("name"in b?b.name:void 0);return typeof F!="string"||F.trim()===""?Ae("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):gr("messages.replaceInterruptedFile",p,"file",b,{...P,fileName:F},n.replaceFile)},editText:async(p,b,P={})=>{X(),Xn(p,"messages.editText");let F=d(a,p,b,P);if("code"in F)throw Pn(F);let re;try{re=await n.editMessage(F);}catch(me){throw Pn(Yn(me,"messages.editText",a))}if(X(),!re.ok)throw Wn("messages.editText",pm[re.reason]);return kt(Xn(p,"messages.editText"))},recall:async p=>{X(),Xn(p,"messages.recall");let b;try{b=await n.recallMessage({...a,messageId:p});}catch(P){throw Pn(Yn(P,"messages.recall",a))}if(X(),!b.ok)throw Wn("messages.recall",um[b.reason])},deleteLocal:async p=>{X();let b=n.domainState.getConversationMessage(a,p);if(n.isOutboxOwned(p))throw St("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===a.conversationType&&b.conversationId===a.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw St("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(a);let P=await n.domainState.deleteLocalMessage(a,p);return X(),Object.freeze({scope:"local-only",messageId:p,deleted:P,remoteHistory:"remote-history-may-restore"})}catch(P){throw P instanceof Error&&P.name==="ImLocalMessageDeletionError"?P:St("IM_SDK_LOCAL_DELETE_FAILED",P)}},forward:async(p,b)=>{if(X(),p.length===0||b.length===0)throw Pn(ee({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:a}));return Ut("messages.forward",p.map(P=>({id:P,...a})),b)},forwardMediaAlbumItem:async(p,b,P)=>{X();let F="messages.forwardMediaAlbumItem";if(p.trim()===""||P.length===0)throw Pn(ee({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:F,retryable:false,conversation:a}));if(!Number.isInteger(b)||b<0)throw Pn(ee({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:F,retryable:false,conversation:a,details:{itemIndex:b}}));return Ut(F,[{id:p,...a,itemIndex:b}],P)},fetchByIds:async p=>{X();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw Pn(ee({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:a}));let P=n.beginReceiving?.();try{let F=await Pd({messageIds:p,fetchBatch:b,isCurrent:()=>!v,projectMessage:Xe});return Object.freeze({messages:Object.freeze([...F.messages]),missingMessageIds:Object.freeze([...F.missingMessageIds]),unresolvedMessageIds:Object.freeze([...F.unresolvedMessageIds]),...F.failure===void 0?{}:{failure:Object.freeze(F.failure)}})}finally{P?.();}}},draft:{get:async()=>(X(),n.drafts.get(a)),save:async p=>(X(),n.drafts.save(a,p)),clear:async()=>{X(),await n.drafts.clear(a);},subscribe(p){return X(),f.add(p),()=>f.delete(p)}},markRead:async p=>{X();let b=g.window.list();if(p!==void 0&&!b.some(F=>F.id===p))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${p}`);let P=o.resolveReadMessageId===void 0?p??b.at(-1)?.id:o.resolveReadMessageId(b,p);P!==void 0&&await n.markRead({...a,readCursor:P});},markConversationRead:async()=>{if(X(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=ie,b=await Me();if(X(),p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(a.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(a,b)===void 0){let P=H?.id===b?H:void 0;if(P===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");W??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let F=await W.window.openAt(a,{anchorSortKey:P.sortKey,limit:u,seedMessages:[P],seedHasNewer:false});if(X(),F.stale||p!==ie)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(a,b);},markVisibleMessages:async p=>{if(X(),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(P=>!g.window.list().some(F=>F.id===P)))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(a,b);},setMuted:async p=>(X(),n.setMuted(a,p)),close(){v||(v=true,Z.abort(),N+=1,nn(),h.clear(),f.clear(),W?.dispose(),g.dispose());}};return ra.set(un,{getMessages:()=>(X(),g.window.list()),resolveMessage:async p=>(X(),g.window.list().find(b=>b.id===p)??n.domainState.resolveConversationMessage(a,p))}),un}var hm=5e3;async function Dd(e,n,r={}){let d=false,o,c;function a(){let C=Date.now();if(o!==void 0&&C-o.checkedAt<hm)return Promise.resolve(o.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(f=>(o={value:f,checkedAt:Date.now()},f)).catch(f=>(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:f}}),o={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 a();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 ee({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&a();let y=await Jr(e,n,(C,h,f)=>f.mentions!==void 0&&f.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:h,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(C,h,f,E)=>E.mentions!==void 0&&E.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:h,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...y,messages:{...y.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 f=ee({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(f.code),f)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return $r(g,y),g}async function kd(e,n,r={}){return Jr(e,n,(d,o,c)=>{let a=pr(c.mentions);return {...d,text:o,encrypted:true,...a===void 0?{}:{mention:a},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,o,c,a)=>{let u=pr(a.mentions);return {...d,messageId:o,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&&xd(d,n.pageSize??30)},r)}async function Od(e,n,r={}){return Jr(e,n,(d,o,c)=>c.mentions!==void 0&&c.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:o,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,o,c,a)=>a.mentions!==void 0&&a.mentions.length>0?ee({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:o,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Cm=new Set(["pending","uploading","sending"]);function xd(e,n){return e.length<n}function Nt(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function bm(e,n,r){let d=r===void 0?e.length-1:e.findIndex(a=>a.id===r),o=e[d];if(o===void 0||Nt(o))return o?.id;let c=e.slice(0,d).findLast(a=>Nt(a));return c!==void 0?c.id:o.senderId===n&&Cm.has(o.status)?void 0:o.id}function Mm(e,n){let r=false;for(let d of e){let o=d.body.system;if(!(d.conversationType!=="channel"||o?.targetUserIds?.includes(n)!==true)){if(o.eventType==="channel_member_left"||o.eventType==="channel_member_removed"){r=true;continue}if(r&&(o.eventType==="channel_member_joined"||o.eventType==="channel_member_invited"))return true}}return false}async function Nd(e,n,r={}){let d=await Jr(e,n,(c,a,u)=>{let y=pr(u.mentions);return {...c,text:a,encrypted:true,...y===void 0?{}:{mention:y},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,a,u,y)=>{let g=pr(y.mentions);return {...c,messageId:a,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&&xd(c,n.pageSize??30)||Mm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,a)=>bm(c,n.getSelfId(),a)},r),o={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw Rd(e,Ed["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(y){let g=Yn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:y}),g)}if(!u.ok)throw Rd(e,Ed[u.reason])}}};return $r(o,d),o}var Sm=40,Pm=100,Am=0;function rt(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Em(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Ld(e){let n=++Am,r=new Map,d=new Map,o=new Map,c=new Map,a=new Map,u=0,y=true;function g(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(v){let _=v??Sm;if(!Number.isSafeInteger(_)||_<1||_>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return _}function h(v){let _=`im-directory:${n}:${++u}`;return r.set(_,v),_}function f(v,_){let s=a.get(v);s===void 0&&(s=new Map,a.set(v,s));let i=_.map(m=>Object.freeze({...m}));for(let m of i)s.set(m.id,m);return Object.freeze(i)}async function E(v,_,s){if(g(),e.provider===void 0)throw new Error(`${rt(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let i=await e.provider.list({kind:v,page:_,pageSize:s});if(g(),i.exhausted===(i.nextPage!==void 0))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let m=i.nextPage===void 0?void 0:h({kind:v,page:i.nextPage,pageSize:s}),A=f(v,i.items);return Object.freeze({items:A,...m===void 0?{}:{nextPageToken:m},exhausted:i.exhausted})}function w(v){return {listFirstPage:_=>E(v,1,C(_?.pageSize)),listNextPage:_=>{g();let s=r.get(_);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==v)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${rt(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${rt(v)}`));let i=d.get(_);if(i!==void 0)return i;let m=E(v,s.page,s.pageSize).then(A=>(r.delete(_),A)).finally(()=>{d.delete(_);});return d.set(_,m),m}}}function S(v){g();let _=o.get(v);if(_!==void 0)return Promise.resolve(_);let s=c.get(v);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${rt(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let i=(async()=>{let m=[],A=new Map,T=new Set,U=1;for(;;){if(g(),T.has(U))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);T.add(U);let J=await e.provider.list({kind:v,page:U,pageSize:Pm});if(g(),J.exhausted===(J.nextPage!==void 0))throw new Error(`${rt(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let se of J.items)A.has(se.id)||m.push(se.id),A.set(se.id,se);if(J.nextPage===void 0)break;if(!Number.isSafeInteger(J.nextPage)||J.nextPage<1)throw new Error(`${rt(v)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);U=J.nextPage;}let j=f(v,m.map(J=>A.get(J)));return g(),o.set(v,j),j})().finally(()=>{c.delete(v);});return c.set(v,i),i}async function x(v){if(g(),v.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[_,s,i,m]=await Promise.all([S("individual"),S("group"),S("channel"),ga(v)]);g();function A(U,j){let J=[];for(let se of j){let ye=se==="displayName"?U.displayName:se==="username"?U.username:U.id;if(ye===void 0||ye==="")continue;let I=m.match(ye,{pinyin:se==="displayName"});I!==null&&J.push(Em(se,I));}return J.length===0?null:Object.freeze({item:U,matches:Object.freeze(J)})}function T(U,j){return Object.freeze(U.flatMap(J=>{let se=A(J,j);return se===null?[]:[se]}))}return Object.freeze({keyword:m.keyword,contacts:T(_,["displayName","username","id"]),groups:T(s,["displayName"]),channels:T(i,["displayName"])})}return {contacts:w("individual"),groups:w("group"),channels:w("channel"),search:{search:x},peekItem:(v,_)=>(g(),a.get(v)?.get(_)),dispose:()=>{y=false,r.clear(),d.clear(),o.clear(),c.clear(),a.clear();}}}function Rm(e){if(e.conversationType==="supergroup")throw ee({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw ee({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Yr(e){return Rm(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function wm(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw ee({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 Fd(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(o){return r(),e.domainState.getDraft(Yr(o))},async save(o,c){r();let a=Yr(o);return e.domainState.saveDraft(a,wm(a,c))},async clear(o){r(),await e.domainState.clearDraft(Yr(o));},subscribe(o,c){r();let a=Yr(o),u=e.emitter.subscribe(g=>{g.type!=="draft:updated"&&g.type!=="draft:cleared"||g.conversation.conversationType!==a.conversationType||g.conversation.conversationId!==a.conversationId||c(g.type==="draft:updated"?g.draft:null);}),y=()=>{u(),n.delete(y);};return n.add(y),y}},dispose(){for(let o of [...n])o();}}}var Tm=20,Ud=50,Kd=30,Bd=4294967295;function bt(e){let n=ee(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function hn(e,n){return bt({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Gd(e,n){if(n instanceof x$1)return bt({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 bt({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return bt({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 bt({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 bt({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function Vn(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 _m(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 Dm(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 km(e,n,r){let d=Vn(e,n,r),o;try{o=new URL(d);}catch{throw hn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(o.protocol!=="https:"&&o.protocol!=="http:")throw hn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(o.username!==""||o.password!=="")throw hn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function Hd(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Bd)throw hn(r,`${n} \u5FC5\u987B\u662F 1-${Bd} \u7684\u6574\u6570`);return Number(e)}function Wd(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:km(e.url,"url",n),width:Hd(e.width,"width",n),height:Hd(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:Vn(e.packageId,"packageId",n),resourceId:Vn(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:Vn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function Om(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:Vn(e.token,"token",n),resourceId:Vn(e.resourceId,"resourceId",n)}:Wd(e,n)}function xm(e,n){if(e!=="sticker"&&e!=="gif")throw hn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Nm(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw hn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function jd(e,n){if(!Array.isArray(e))throw hn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>Vn(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>Kd)throw hn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Kd} \u4E2A id`);return r}function zd(e,n){let r=e?.offset??0,d=e?.pageSize??Tm;if(!Number.isSafeInteger(r)||r<0)throw hn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>Ud)throw hn(n,`pageSize \u5FC5\u987B\u662F 1-${Ud} \u7684\u6574\u6570`);return {offset:r,limit:d}}function Vd(e){return Object.freeze({...e})}function Lm(e){return Object.freeze({...e})}function qd(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 $d(e){function n(o){if(!e.isActive())throw bt({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw Gd(o,new x$1("core"));let a;try{a=await c(e.provider);}catch(u){throw n(o),Gd(o,u)}return n(o),a}let d={packs:Object.freeze({list:async o=>{let c="expressions.packs.list",a=o?.version===void 0?void 0:Dm(o.version,"version",c),u=await r(c,g=>g.listStickerPacks(a)),y=Object.freeze(u.items.map(g=>Object.freeze({...g})));return Object.freeze({version:u.version,items:y})},listItems:async o=>{let c="expressions.packs.listItems",a=Vn(o,"packageId",c),u=await r(c,y=>y.listStickerItems(a));return Object.freeze(u.map(Vd))}}),favorites:Object.freeze({list:async o=>{let c="expressions.favorites.list",a=await r(c,u=>u.listFavorites(xm(o,c)));return Object.freeze(a.map(Vd))},add:async o=>{let c="expressions.favorites.add",a=Wd(o,c);await r(c,u=>u.addFavorite(a));},delete:async o=>{let c="expressions.favorites.delete",a=jd(o,c);await r(c,u=>u.deleteFavorites(a));}}),recent:Object.freeze({list:async o=>{let c="expressions.recent.list",a=await r(c,u=>u.listRecent(Nm(o,c)));return Object.freeze(a.map(Lm))},report:async o=>{let c="expressions.recent.report",a=Om(o,c);await r(c,u=>u.reportRecent(a));},delete:async o=>{let c="expressions.recent.delete",a=jd(o,c);await r(c,u=>u.deleteRecent(a));}}),reactions:Object.freeze({listTop:async o=>{let c="expressions.reactions.listTop",a=o?.limit;if(a!==void 0&&(!Number.isSafeInteger(a)||a<1||a>50))throw hn(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let y=await u.listReactionTop(a);if(!Array.isArray(y))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(g=>_m(g,"reaction emoji")))})},report:async o=>{let c="expressions.reactions.report",a=Vn(o,"emoji",c);await r(c,u=>u.reportReaction(a));}}),giphy:Object.freeze({trending:async o=>{let c="expressions.giphy.trending",a=await r(c,u=>u.listGiphyTrending(zd(o,c)));return qd(a)},search:async(o,c)=>{let a="expressions.giphy.search",u=Vn(o,"query",a),y=await r(a,g=>g.searchGiphy({query:u,...zd(c,a)}));return qd(y)}})};return {api:Object.freeze(d)}}function Mt(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?ee({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):ee({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function Jd(e){return {createRoom(n){Mt("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Mt("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Mt("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Mt("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Mt("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Mt("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Mt("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Fm=0;function Yd(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 Um(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 Km(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 Xd(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 Bm(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function Qd(e){let n=++Fm,r=new Map,d=new Map,o=new Map,c=0,a=true;function u(){if(!a)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function y(S){let x=S??20;if(!Number.isSafeInteger(x)||x<1||x>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return x}function g(S){let x=`im-robots:${n}:${++c}`;return r.set(x,S),x}function C(S){return Object.freeze(S.map(x=>{let v=Yd(x);return o.set(v.id,v),v}))}function h(S,x){let v=o.get(S);v!==void 0&&o.set(S,Yd({id:v.id,displayName:v.displayName,...v.username===void 0?{}:{username:v.username},...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl},bound:x}));}async function f(S,x){u();let v=x?e.bind:e.unbind;if(v===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await v(Bm(S)),u(),h(S.robotId,x);}async function E(S){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 x=await e.search(Km(S));u();let v=C(x.items),_=x.exhausted?void 0:g({...S,page:S.page+1});return Object.freeze({items:v,..._===void 0?{}:{nextPageToken:_},exhausted:x.exhausted})}return {api:{listFirstPage:S=>{try{let x=Um(S?.scope??{kind:"catalog"});return E({page:1,pageSize:y(S?.pageSize),keyword:S?.keyword?.trim()??"",scope:x})}catch(x){return Promise.reject(x)}},listNextPage:S=>{u();let x=r.get(S);if(x===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let v=d.get(S);if(v!==void 0)return v;let _=E(x).then(s=>(r.delete(S),s)).finally(()=>{d.delete(S);});return d.set(S,_),_},bindToConversation:S=>{try{return f(Xd(S),!0)}catch(x){return Promise.reject(x)}},unbindFromConversation:S=>{try{return f(Xd(S),!1)}catch(x){return Promise.reject(x)}}},peek:S=>{let x=S.trim();return x===""?void 0:o.get(x)},dispose:()=>{a=false,r.clear(),d.clear(),o.clear();}}}var Gm=30,Hm=300*1e3,jm=64,zm=900*1e3,Vm=2048,qm=0;function Wm(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,o=[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&&o.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(o)}function qn(e){let n=ee({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 Zd(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Gm,d=e.tokenTtlMs??Hm,o=e.maxTokens??jm,c=e.anchorTtlMs??zm,a=e.maxAnchors??Vm;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(o)||o<=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(a)||a<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++qm,y=new Map,g=new Map,C=0,h=true;function f(I){if(!h)throw qn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:I,retryable:false});if(e.isAvailable?.()===false)throw qn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:I,retryable:false})}function E(I,L){let M=I.trim();if(M==="")throw qn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:L,retryable:false});return M}function w(I){let L=`im-search:${u}:${++C}`;for(y.set(L,{...I,expiresAt:n()+d});y.size>o;){let M=y.keys().next().value;if(typeof M!="string")break;y.delete(M);}return L}function S(I,L){return JSON.stringify([I.conversationType,I.conversationId,L])}function x(I){for(let[L,M]of g)M.expiresAt<=I&&g.delete(L);}function v(I,L){let M=Object.freeze({conversationType:I.conversationType,conversationId:I.conversationId}),K=S(M,I.id);for(g.delete(K),g.set(K,{anchor:Object.freeze({id:I.id,conversationType:I.conversationType,conversationId:I.conversationId,sortKey:I.sortKey}),expiresAt:L+c});g.size>a;){let N=g.keys().next().value;if(typeof N!="string")break;g.delete(N);}}function _(I,L){let M=L==="conversation"?"search.conversations.next":"search.messages.next";f(M);let K=y.get(I);if(K===void 0||K.expiresAt<=n())throw y.delete(I),qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:M,retryable:false});if(K.kind!==L)throw qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:M,retryable:false});return K}function s(I){let L=I.draft?.text.trim();return L===void 0||L===""?I.lastMessagePreview:L}function i(I){let L=Object.freeze({conversationType:I.type,conversationId:I.id});return Object.freeze({ref:L,title:I.title,preview:s(I)})}function m(I,L){let M=Object.freeze(I.slice(L,L+r)),K=L+M.length,N=K>=I.length,Y=N?void 0:w({kind:"conversation",items:I,offset:K});return Object.freeze({items:M,...Y===void 0?{}:{nextPageToken:Y},exhausted:N})}async function A(I,L,M){f(M);let K=E(L,M).toLowerCase(),N=Object.freeze(e.domainState.getConversationList().filter(Y=>(Y.type==="direct"||Y.type==="group"||Y.type==="channel"||Y.type==="robot")&&(I===void 0||Y.type===I)&&`${Y.title}
2
2
  ${Y.id}`.toLowerCase().includes(K)).map(i));return m(N,0)}function T(I,L,M){let K=I.conversationId.trim();if(I.conversationType!==L||K==="")throw qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:M,retryable:false});return Object.freeze({conversationType:L,conversationId:K})}function U(I,L){let M=I.conversationType,K=I.conversationId.trim();if(M!=="direct"&&M!=="group"&&M!=="channel"&&M!=="robot"||K==="")throw qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:M==="supergroup"?"unsupported":"validation",operation:L,retryable:false});return Object.freeze({conversationType:M,conversationId:K})}async function j(I){f("search.messages");let L;try{L=await e.domainState.searchMessages(I.ref,{...I.keyword===void 0?{}:{keyword:I.keyword},...I.contentTypes===void 0?{}:{contentTypes:I.contentTypes},limit:r,...I.beforeSortKey===void 0?{}:{beforeSortKey:I.beforeSortKey}});}catch(ie){throw qn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:ie})}let M=new Set,K=[],N=n();x(N);for(let{message:ie}of L.results){if(ie.conversationType!==I.ref.conversationType||ie.conversationId!==I.ref.conversationId||ie.sortKey.trim()===""||I.contentTypes!==void 0&&!I.contentTypes.includes(ie.contentType))throw qn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(M.has(ie.id))continue;M.add(ie.id),v(ie,N);let O=ea$2(ie);K.push(Object.freeze({ref:I.ref,messageId:ie.id,senderId:ie.senderId,createdAt:k(ie),contentType:ie.contentType,preview:O,previewParts:Wm(ie,O)}));}let Y=L.nextBeforeSortKey?.trim();if(!L.exhausted&&(Y===void 0||Y==="")||L.exhausted&&Y!==void 0)throw qn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let ve=Y===void 0?void 0:w({kind:"message",ref:I.ref,...I.keyword===void 0?{}:{keyword:I.keyword},...I.contentTypes===void 0?{}:{contentTypes:I.contentTypes},beforeSortKey:Y});return Object.freeze({items:Object.freeze(K),...ve===void 0?{}:{nextPageToken:ve},exhausted:L.exhausted})}async function J(I,L,M,K){f(K);let N=T(I,L,K);return j({ref:N,keyword:E(M,K)})}async function se(I,L,M,K){f(M);let N=U(I,M),Y=K?.trim();return j({ref:N,...Y===void 0||Y===""?{}:{keyword:Y},contentTypes:Object.freeze([L])})}return {api:{conversations:{all:I=>A(void 0,I,"search.conversations.all"),direct:I=>A("direct",I,"search.conversations.direct"),groups:I=>A("group",I,"search.conversations.groups"),channels:I=>A("channel",I,"search.conversations.channels"),async next(I){let L=_(I,"conversation");return m(L.items,L.offset)}},messages:{inDirect:(I,L)=>J(I,"direct",L,"search.messages.inDirect"),inGroup:(I,L)=>J(I,"group",L,"search.messages.inGroup"),inChannel:(I,L)=>J(I,"channel",L,"search.messages.inChannel"),inRobot:(I,L)=>J(I,"robot",L,"search.messages.inRobot"),texts:async(I,L)=>(f("search.messages.texts"),se(I,"text","search.messages.texts",E(L,"search.messages.texts"))),files:(I,L)=>se(I,"file","search.messages.files",L),images:I=>se(I,"image","search.messages.images"),videos:I=>se(I,"video","search.messages.videos"),voices:I=>se(I,"voice","search.messages.voices"),async next(I){let L=_(I,"message");return j(L)}}},resolveHistoryAnchor(I,L){if(!h||e.isAvailable?.()===false)return;let M=S(I,L),K=g.get(M);if(K!==void 0){if(K.expiresAt<=n()){g.delete(M);return}return K.anchor}},dispose(){h&&(h=false,y.clear(),g.clear());}}}function el(e){let n=new Map,r=new Set,d=new Map,o=new Set,c=false,a=e.schedule??(C=>{let h=setTimeout(C,120);return ()=>clearTimeout(h)});function u(C,h,f){try{e.report(C,h,f);}catch{}}async function y(C){let h={conversationType:"channel",conversationId:C};r.add(C);try{for(let f=0;f<2;f+=1){let E=n.get(C);if(c||!e.isActive()||E===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(C);return}if(e.domainState.hasPendingChannelRead(h)){o.add(C),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(C),e.domainState.getReadState(h)?.readCursor!==E)return;let S=e.domainState.getChannelReadRevision(h),x=Date.now(),v;try{v=await e.loadSummary({channelId:C,readCursor:E});}catch(_){!c&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-x,errorName:_ instanceof Error?_.name:"Unknown",errorCode:typeof _=="object"&&_!==null&&"code"in _&&typeof _.code=="string"?_.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==S){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(C)||n.set(C,E),o.add(C);return}if(f===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===E){n.set(C,E);continue}return}if(v===void 0||v.readCursor!==E){u("channel-read-summary-discarded",h,{reason:v===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,v),n.get(C)===E&&n.delete(C),u("channel-read-summary-applied",h,{unreadCount:v.unreadCount,durationMs:Date.now()-x});return}}finally{r.delete(C),n.has(C)&&!o.has(C)&&g(C);}}function g(C){c||o.has(C)||r.has(C)||d.has(C)||d.set(C,a(()=>{d.delete(C),y(C);}));}return {settled(C){o.delete(C.channelId),n.has(C.channelId)&&g(C.channelId);},request(C){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||o.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(),o.clear();}}}function Xr(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let r={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},...n.resolvedKeyVersion===void 0?{}:{resolvedKeyVersion:n.resolvedKeyVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(r).length===0?{}:{safeProtocolMetadata:r}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function nl(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function o(c){if(c?.throwIfAborted(),r){let a=new Error("\u8D26\u53F7\u5DF2\u91CA\u653E\uFF0C\u540E\u53F0\u5DE5\u4F5C\u505C\u6B62\u7B49\u5F85");throw a.name="AbortError",a}}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(o(c);e.size>0;)await new Promise(a=>{let u=()=>{n.delete(u),c?.removeEventListener("abort",u),a();};n.add(u),c?.addEventListener("abort",u,{once:true});}),o(c);},dispose(){r=true,e.clear(),d();}}}function tl(e,n){return {prepareLocalMediaPreview:async o=>{let c=await e.prepare({operationId:o.operationId,generation:n(),kind:o.kind,file:o.file,includePoster:o.kind==="video",...o.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},o.signal);return o.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 o=>{let c=await e.prepare({operationId:o.operationId,generation:n(),kind:"video",file:o.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},o.signal);return {width:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function rl(e){let n=false,r=false,d,o;function c(){return !n||r||!e.isActive()?Promise.resolve():(o??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(a=>{!r&&e.isActive()&&e.onError(a);}).finally(()=>{o=void 0;}),o)}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 o;}}}function ol(e){let n,r,d=false,o=false,c=new AbortController;function a(){if(!n||!o||d)throw new ab$1("unavailable");return n}return {port:{get:async(...y)=>a().get(...y),list:async()=>a().list(),save:async y=>a().save(y),remove:async(...y)=>a().remove(...y),clear:async()=>a().clear(),drain:async()=>n?.drain(),fingerprint:async(...y)=>a().fingerprint(...y),acquireLease:async y=>a().acquireLease(y),close:async()=>n?.close()},prepare(y){return d?Promise.reject(new ab$1("unavailable")):(r??=(async()=>{n=bb$1({namespaceFactory:e,accountId:y}),await n.acquireLease(c.signal),await n.list(),c.signal.throwIfAborted(),o=true;})(),r)},async prune(){o&&!d&&await a().list();},async dispose(y){if(d=true,c.abort(),await r?.catch(()=>{}),!!n)try{y||await n.clear();}finally{await n.close();}}}}function al(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let o of [...r])o();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((o,c)=>{function a(){r.delete(u),d.removeEventListener("abort",y);}function u(){a(),o();}function y(){a(),c(d.reason);}r.add(u),d.addEventListener("abort",y,{once:true});})}}}function il(e){function n(u){let y=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(y|=BigInt(h&127)<<BigInt(g*7),(h&128)===0)return {ok:true,nextOffset:C+1,value:y}}return {ok:false,kind:"invalid-varint"}}let r=[],d,o=0;function c(u,y,g){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:y,protobufFailureOffset:g,protobufBytesRemaining:Math.max(0,e.length-g)}}function a(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;o<e.length;){let u=o,y=n(u);if(!y.ok)return c(y.kind==="truncated-varint"?"truncated":"invalid",y.kind==="truncated-varint"?"truncated-tag":y.kind,u);let g=Number(y.value>>3n),C=Number(y.value&0x07n);if(!Number.isSafeInteger(g)||g<=0)return c("invalid","invalid-field-number",u);if(o=y.nextOffset,C===0){let h=o,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,h);o=f.nextOffset;}else if(C===1){if(e.length-o<8)return c("truncated","truncated-fixed64",o);o+=8;}else if(C===2){let h=o,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,h);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",h);o=f.nextOffset;let E=Number(f.value);if(E>e.length-o)return c("truncated","truncated-length-delimited",o);o+=E;}else if(C===5){if(e.length-o<4)return c("truncated","truncated-fixed32",o);o+=4;}else return c("invalid","invalid-wire-type",u);a(g);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function oa(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 sl(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 o=[],c=[],a=C=>{c.push({...C,source:"history"});},u=C=>{o.push(C);};if(n.conversationType==="group"){let C={...e.groupDecrypt(),onDecryptRecovery:a},h=Date.now(),f=await Ha$1({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 E=f.batchSize<30||f.oldestEntryTime===void 0||f.oldestEntryTime>=h;return {messages:f.messages,reactions:o,recoveries:c,exhausted:E,...E?{}:{nextCursor:String(f.oldestEntryTime)}}}let y={...e.channelDecrypt(),onDecryptRecovery:a},g=await za({http:e.http,userId:d.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:y,prepareKey:C=>e.prepareChannelKeys([C]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:g.messages,reactions:o,recoveries:c,exhausted:!g.hasOlder,...g.nextCursor===void 0?{}:{nextCursor:g.nextCursor}}}}var $m=5*6e4,Jm=1440*6e4,mr=2*1024*1024,cl=20,Lt=class extends Error{constructor(r){super(r);this.reason=r;}reason};function ot(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Ym(e,n){let r=new TextEncoder,d=new WeakSet,o=0,c=0,a=performance.now();async function u(){++c%64===0&&performance.now()-a>=4&&(await n(),a=performance.now());}async function y(g){if(!(o>mr))if(await u(),typeof g=="string"){o+=8;for(let C=0;C<g.length&&o<=mr;C+=16384)o+=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),o+=32,ArrayBuffer.isView(g)||g instanceof ArrayBuffer){o+=g.byteLength;return}for(let C in g)if(Object.hasOwn(g,C)&&(await y(C),await y(g[C]),o>mr))break}else o+=8;}return await y(e),o}function dl(e){let n=e.now??Date.now,r=new Map,d=new Map,o=new Map,c=new Map,a,u=true,y=0,g=new WeakMap,C=new WeakSet,h=new WeakMap,f=0,E=Promise.resolve();function w(I,L,M){try{e.report(I,{...L},{remainingNetworkPages:Math.max(0,cl-f),...M});}catch{}}function S(I,L=n()){return I===void 0?0:Math.max(0,L-I)}function x(I,L,M,K){let N=K?.diagnostics;w("recent-history-prefetch-result",I,{status:L,reason:M,queueDurationMs:S(N?.queuedAt,N?.startedAt),requestDurationMs:N?.requestDurationMs??S(N?.requestStartedAt),persistenceDurationMs:N?.persistenceDurationMs??S(N?.persistenceStartedAt)});}function v(I){let L=E.then(I,I);return E=L.catch(()=>{}),L}function _(I){if(!u||I.generation!==y||I.controller.signal.aborted||I.epoch!==(r.get(I.key)??0))return false;let L=e.fingerprint(I.ref);return L!==void 0&&(L===I.fingerprint||!s(I)&&[...I.consumers.values()].includes("foreground"))}function s(I){return I.cacheRevision===(d.get(I.key)??0)}function i(I){if(!_(I))throw ot()}async function m(I,L=false){let M=Ha(I),K=r.get(M)??0,N={key:M,epoch:K,generation:y,cacheRevision:d.get(M)??0},Y=y,ve=e.fingerprint(I),ie=H=>(w("recent-history-cache-miss",I,{reason:H,allowStale:L}),null);if(!u||ve===void 0||e.cache===void 0)return ie(u?ve===void 0?"unavailable":"storage-unavailable":"disposed");if(await E,!u||Y!==y||K!==(r.get(M)??0)||!s(N)||e.fingerprint(I)!==ve)return ie("invalidated");let O=await e.cache.get(I);return !u||Y!==y||K!==(r.get(M)??0)||!s(N)||e.fingerprint(I)!==ve?ie("invalidated"):O===null?ie("empty"):O.version!==2?ie("version-mismatch"):Ha(O.conversation)!==M?ie("identity-mismatch"):O.fingerprint!==ve?ie("fingerprint-mismatch"):O.fetchedAt>n()?ie("future-timestamp"):n()-O.fetchedAt>(L?Jm:$m)?ie("expired"):(g.set(O,N),O)}async function A(I){i(I);try{let Y=await m(I.ref);if(i(I),Y!==null&&s(I))return I.diagnostics.source="cache",w("recent-history-cache-hit",I.ref),{page:Y,durable:!0}}catch(Y){if(i(I),I.diagnostics.failureReason="cache-read-failed",w("recent-history-cache-read-failed",I.ref,{reason:"cache-read-failed"}),![...I.consumers.values()].includes("foreground"))throw Y}if(![...I.consumers.values()].includes("foreground")){if(f>=cl)throw new Lt("budget");f+=1;}let M=n();I.diagnostics.source="network",I.diagnostics.requestStartedAt=M;let K;try{K=await e.fetchPage(I.ref,I.controller.signal);}catch(Y){throw I.diagnostics.failureReason="request-failed",Y}finally{I.diagnostics.requestDurationMs=S(M);}i(I),await e.yieldToEventLoop(),i(I);let N={version:2,conversation:{...I.ref},fetchedAt:n(),fingerprint:I.fingerprint,messages:K.messages,reactions:K.reactions,exhausted:K.exhausted,...K.nextCursor===void 0?{}:{nextCursor:K.nextCursor},byteLength:0};if(g.set(N,{key:I.key,epoch:I.epoch,generation:I.generation,cacheRevision:I.cacheRevision}),K.recoveries!==void 0&&K.recoveries.length>0&&h.set(N,K.recoveries),h.has(N)||N.messages.some(Y=>Y.encryption.decryptFailed===true))return C.add(N),{page:N,durable:false,reason:"decrypt-failed"};if(N.byteLength=await Ym(N,e.yieldToEventLoop),i(I),w("recent-history-page-loaded",I.ref,{durationMs:n()-M,messageCount:N.messages.length,byteLength:N.byteLength}),N.byteLength>mr)return {page:N,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:N,durable:false,reason:"storage-unavailable"};if(!s(I))return {page:N,durable:false,reason:"invalidated"};I.diagnostics.persistenceStartedAt=n();try{let Y=await v(async()=>(i(I),s(I)?e.cache.put(N):!1));return i(I),s(I)?{page:N,durable:Y,...Y?{}:{reason:"page-too-large"}}:{page:N,durable:!1,reason:"invalidated"}}catch(Y){return i(I),I.diagnostics.failureReason="cache-write-failed",w("recent-history-cache-write-failed",I.ref,{reason:"cache-write-failed"}),{page:N,durable:false,storageError:Y}}finally{I.diagnostics.persistenceDurationMs=S(I.diagnostics.persistenceStartedAt);}}function T(I,L){I.started||(I.started=true,I.diagnostics.startedAt=n(),w("recent-history-prefetch-start",I.ref,{kind:L?"background":"foreground",queueDurationMs:S(I.diagnostics.queuedAt,I.diagnostics.startedAt)}),L&&(a=I),A(I).then(I.resolve,I.reject).finally(async()=>{o.get(I.key)===I&&o.delete(I.key),a===I&&(a=void 0),await e.yieldToEventLoop(),U();}).catch(M=>{if(!(M instanceof Error&&M.name==="AbortError"))throw M}));}function U(){if(!u||a!==void 0||c.size>0||!e.canRunBackground())return;let I=[...o.values()].find(L=>!L.started&&L.consumers.size>0);I!==void 0&&T(I,true);}function j(I,L,M){if(!u||M?.aborted===true)return L==="background"&&x(I,"cancelled","cancelled"),Promise.reject(ot());let K=Ha(I),N=e.fingerprint(I);if(N===void 0)return L==="background"&&x(I,"skipped","unavailable"),Promise.reject(new Lt("unavailable"));let Y=o.get(K);Y!==void 0&&!_(Y)&&(Y.controller.abort(),Y.reject(ot()),o.delete(K),Y=void 0);let ve=Y!==void 0;if(Y===void 0){let W,Z,ce=new Promise((be,X)=>{W=be,Z=X;});Y={ref:{...I},key:K,fingerprint:N,generation:y,epoch:r.get(K)??0,cacheRevision:d.get(K)??0,controller:new AbortController,consumers:new Map,started:false,promise:ce,resolve:W,reject:Z,diagnostics:{queuedAt:n()}},o.set(K,Y);}let ie=Y,O=Symbol(L);ie.consumers.set(O,L),L==="background"&&w("recent-history-prefetch-queued",I,{reason:ve?"shared-request":"new-request"});let H=new Promise((W,Z)=>{let ce=false,be=(we,Ke)=>{ce||(ce=true,we?.durable&&!s(ie)&&(we={...we,durable:false,reason:"invalidated"}),M?.removeEventListener("abort",X),ie.consumers.delete(O),ie.consumers.size===0&&(ie.controller.abort(),ie.started||(o.get(ie.key)===ie&&o.delete(ie.key),ie.reject(ot()))),L==="background"&&(Ke instanceof Lt?x(I,"skipped",Ke.reason,ie):Ke instanceof Error&&Ke.name==="AbortError"?x(I,"cancelled","cancelled",ie):Ke!==void 0||we?.storageError!==void 0?x(I,"failed",ie.diagnostics.failureReason??"request-failed",ie):we?.durable===true?x(I,"ready",ie.diagnostics.source==="cache"?"cache-hit":"persisted",ie):x(I,"skipped",we?.reason??"not-persisted",ie)),Ke!==void 0?Z(Ke):W(we));};function X(){be(void 0,ot());}M?.addEventListener("abort",X,{once:true}),ie.promise.then(we=>be(we),we=>be(void 0,we));});return L==="foreground"?T(ie,false):U(),H}function J(I){let L=Ha(I);c.set(L,(c.get(L)??0)+1),a!==void 0&&a.key!==L&&![...a.consumers.values()].includes("foreground")&&(a.controller.abort(),a.reject(ot()));let M=false;return ()=>{if(M)return;M=true;let K=(c.get(L)??1)-1;K>0?c.set(L,K):c.delete(L),U();}}function se(I,L={}){if(!u||I.conversationType!=="group"&&I.conversationType!=="channel")return;let M={...I,conversationType:I.conversationType},K=Ha(I);d.set(K,(d.get(K)??0)+1),L.preserveForeground||r.set(K,(r.get(K)??0)+1);let N=o.get(K);(!L.preserveForeground||!N||![...N.consumers.values()].includes("foreground"))&&(N?.controller.abort(),N?.reject(ot()),o.delete(K)),w("recent-history-cache-invalidated",M,{reason:L.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),v(async()=>e.cache?.delete(M)).catch(()=>w("recent-history-cache-delete-failed",M,{reason:"cache-delete-failed"}));}function ye(I){let L=g.get(I);return u&&L!==void 0&&L.generation===y&&L.epoch===(r.get(L.key)??0)}return {readCached:m,isPageCurrent:ye,enterForeground:J,invalidate:se,notifySchedulingChanged:U,takeRecoveries(I){if(!ye(I))return [];let L=h.get(I)??[];return h.delete(I),L},async confirmConsumed(I){let L=e.fingerprint(I.conversation),M=g.get(I);if(!ye(I)||M===void 0||!s(M)||C.has(I)||L===void 0||e.cache===void 0||L===I.fingerprint||I.byteLength>mr||I.messages.some(Y=>Y.encryption.decryptFailed===true))return;let K=Ha(I.conversation),N=r.get(K)??0;await v(async()=>{ye(I)&&s(M)&&N===(r.get(K)??0)&&e.fingerprint(I.conversation)===L&&await e.cache.put({...I,fingerprint:L});}).catch(()=>w("recent-history-cache-write-failed",I.conversation,{reason:"cache-write-failed"}));},async latest(I,L){return (await j(I,"foreground",L)).page},async prefetchRecent(I,L={}){let M=[];for(let[K,N]of I.entries()){if(K>0&&K%16===0&&await e.yieldToEventLoop(),L.signal?.aborted===true||!u){x(N,"cancelled","cancelled"),M.push({ref:N,status:"cancelled",reason:"cancelled"});continue}if(N.conversationType==="direct"||N.conversationType==="robot"){x(N,"skipped","unsupported"),M.push({ref:N,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){x(N,"skipped","storage-unavailable"),M.push({ref:N,status:"skipped",reason:"storage-unavailable"});continue}try{let Y=await j({...N,conversationType:N.conversationType},"background",L.signal);if(Y.storageError!==void 0)throw Y.storageError;M.push({ref:N,status:Y.durable?"ready":"skipped",...Y.reason===void 0?{}:{reason:Y.reason}});}catch(Y){Y instanceof Lt?M.push({ref:N,status:"skipped",reason:Y.reason}):Y instanceof Error&&Y.name==="AbortError"?M.push({ref:N,status:"cancelled",reason:"cancelled"}):(w("recent-history-prefetch-failed",N,{reason:"prefetch-failed"}),M.push({ref:N,status:"failed",error:ee({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:N,cause:Y})}));}}return M},dispose(){u=false;for(let I of o.values())I.controller.abort(),I.reject(ot());return o.clear(),E.then(()=>{})},async clear(){if(u){y+=1;for(let I of [...o.values()])se(I.ref);await v(async()=>e.cache?.clear());}}}}function Xm(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,o=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 o===void 0?void 0:Object.freeze({service:"core",kind:o,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function ll(e){let n=y=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:y,getClientType:()=>e.clientType,fetch:r});function r(y,g){return d(),globalThis.fetch(y,g)}function d(){if(!e.isActive())throw ee({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let y=e.coreClient,g=e.http??n(e.authProvider.getLoginContext);return {coreClient:y===void 0?void 0:async(C,h)=>{d();let f=await y(C,h);return d(),f},http:{async postProtobuf(C){d();let h=await g.postProtobuf(C);return d(),h}}}}async function o(y,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(y))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function c(){let y=await e.authProvider.getLoginContext();return d(),y===null?null:{...y}}let a=e.coreClient;return {coreClient:a===void 0?void 0:async(y,g)=>{let C=await c(),h,f=await a(y,{...g,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:w=>{h=w;}});if(d(),h===void 0)throw ee({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let E=Xm(h);return E!==void 0&&await o(E,C,g?.signal),f},http:{async postProtobuf(y){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 f=await h.postProtobuf(y);return d(),f}catch(f){throw await o(f instanceof wa?{service:"cm",kind:"http",httpStatus:f.status}:{service:"cm",kind:"network"},g,y.signal),f}}}}}var Qm=2,Ft=30,Zm=50,ef=5,nf=20;function ul(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 tf(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 rf(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 pl(e$1,n$2,r,d$1=0){let o$1=e$1.clientType??Qm,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:o$1}}},a$1="",u$1=Oo(e$1.debug,()=>({generation:d$1,...a$1===""?{}:{accountId:a$1}})),y=true,g=e$1.uploadRecovery?.enabled?ol(r):void 0,C$1=al(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:f$1}=ll({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:o$1,isActive:()=>y,onRequestError:e$1.onRequestError,onHandlerError:t=>u$1.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:t}}))}),E=e$1.transport??gb(),w$1=e$1.adapters?.storage,S$1=w$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:fb({namespaceFactory:r,mediaAssetCache:{strategies:Gc()}})),x=t=>{let l=S$1?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>ro(t)).catch(D=>n$2.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:D}}));},v=false,_=tf(S$1)?S$1:void 0,s$1=Cd({...S$1===void 0?{}:{storage:S$1},...h$1===void 0?{}:{coreClient:h$1}}),i$1,m$1,A$1=Fc({...S$1===void 0?{}:{storage:S$1},conversationBackgrounds:s$1.api,onDirectReadReceiptDisabled:t=>i$1?.(t)}),T$1=0;function U(t){return T$1+=1,`channel-${t}-${d$1}-${T$1}`}let j=tb(u$1),J=(t,l,D=a$1)=>{let V=l.fromId===D?l.toId:l.fromId;Xr(u$1,{conversation:{conversationType:"direct",conversationId:V},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}});},se=(t,l)=>{Xr(u$1,{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}});},ye=(t,l)=>{Xr(u$1,{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}});},I=t=>{u$1.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 L(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let M="empty",K=n$2.subscribe(t=>{if(y){if(t.type==="connection:changed"){u$1.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){u$1.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:bc(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){u$1.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$1.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function N(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let Y=n$2.subscribe(t=>{S$1?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let D=(await S$1.getDecryptRecoveries?.(t.conversation)??[]).find(V=>V.messageId===t.message.id);D!==void 0&&N(D)||await S$1.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:l}})):t.type==="message:removed"?S$1.deleteDecryptRecovery(t.conversation,t.messageId).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}})):t.type==="conversation-history:cleared"&&S$1.deleteConversationDecryptRecoveries?.(t.conversation).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}})));}),ve=new Set,ie="auto",O$1=false,H=false,W=0,Z,ce,be=false,X,we,Ke=()=>{},ze=null,Xe=null,en,Ee,$e=nl(),Je=new AbortController,Mn=new Set,Sn=0,R=false,G=oa(t=>n$2.emit({type:"receiving:changed",receiving:t})),Q=oa(t=>n$2.emit({type:"syncing:changed",syncing:t})),$=false,ge,Te,De=new Map,Ge=new Map,Pe=0,Me=t=>De.get(t)??0,Ue=t=>{De.set(t,Me(t)+1);};function nn(t){Ee?.invalidate(t),t.conversationType==="channel"&&Ue(t.conversationId),t.conversationType==="group"&&Ge.set(t.conversationId,(Ge.get(t.conversationId)??0)+1);}let ln=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:o$1,...S$1===void 0?{}:{storage:S$1}})),on=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:o$1,getUserId:async()=>a$1!==""?a$1:(await c.getLoginContext())?.userId??"",...S$1===void 0?{}:{storage:S$1}})),an=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:o$1,isActive:()=>y,...S$1===void 0?{}:{storage:S$1}})),qe=e$1.channelMentionMembers??(h$1===void 0?void 0:u({client:h$1,clientType:o$1})),Ye=vd({...qe===void 0?{}:{provider:qe},...S$1===void 0?{}:{storage:S$1}}),sn=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:o$1,getUserId:async()=>a$1!==""?a$1:(await c.getLoginContext())?.userId??""})),fn=Ld({...sn===void 0?{}:{provider:sn}}),at=Qd({...h$1===void 0?{}:{search:t=>Ja$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}}),bind:t=>D$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}}),unbind:t=>E$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}})}}),Ae=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),fr=$d({provider:Ae,isActive:()=>y}),Pn=e$1.sessionFavoriteProvider??Sa({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>a$1}),Qr=Oc({provider:Pn,isActive:()=>y}),Ut=()=>{},Xn=Wc({namespaceFactory:r,...S$1===void 0?{}:{storage:S$1},emitter:n$2,getAccountId:()=>a$1,isActive:()=>y,clearMemoryCaches:()=>{ln?.clearCache?.(),on?.clearCache?.(),an?.clearCache?.(),Ye.clear(),Ut(),Ee?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),Wn=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:o$1})),St=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:o$1})),Pt=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:o$1})),B=Na({emitter:n$2,diagnostics:u$1,profile:ln,channelProfile:on,storage:S$1,getSelfId:()=>a$1,loadOlderFromRemote:async t=>{let l=Ee?.enterForeground(t.conversation),D=$e.enterForeground(),V=G.begin();try{return en===void 0?{messages:[],exhausted:!0}:await en(t)}finally{V(),l?.(),D();}},loadNewerFromRemote:async t=>{let l=Ee?.enterForeground(t.conversation),D=$e.enterForeground(),V=G.begin();try{return Te===void 0?{messages:[],exhausted:!0}:await Te(t)}finally{V(),l?.(),D();}}}),Dn=sd({directory:fn.contacts,getSelfId:()=>a$1,...ln===void 0?{}:{profile:ln},...h$1===void 0?{}:{coreClient:h$1},domainState:B,emitter:n$2,terminateConversationSending:(t,l)=>Ke(t,l),resetDirectReadReceiptPreference:t=>A$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?m$1?.(t):l!=="unknown"&&i$1?.(t);}}),it=gd({...St===void 0?{}:{contact:St},...Pt===void 0?{}:{group:Pt},...Wn===void 0?{}:{channel:Wn},onContactAccepted:async(t,l)=>{Dn.updateRelationshipFromEvent(t,"friend"),await B.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),B.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>y&&M==="ready"}),Kt=Fd({domainState:B,emitter:n$2,isActive:()=>y}),At=Zd({domainState:B,isAvailable:()=>y&&M==="ready"}),gr=cd(()=>B.getSessions()),un=e$1.crypto??i(),p$1=e$1.media!==void 0?$a(e$1.media,u$1):void 0,b=Wa(),P=Va(b),{prepareLocalMediaPreview:F,prepareLocalVideoPoster:re}=tl(b,()=>d$1),me=h$1===void 0?void 0:e({client:h$1,crypto:un,clientType:o$1,onError:(t,l)=>j?.("crypto",{message:t,cause:l})}),he=h$1===void 0?void 0:h({client:h$1,clientType:o$1,onError:(t,l)=>j?.("crypto",{scope:"send-key",message:t,cause:l})}),Ie=h$1===void 0?void 0:f({client:h$1,crypto:un,clientType:o$1,onError:(t,l)=>j?.("crypto",{scope:"group-key",message:t,cause:l})}),de=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>fa(h$1,{channelId:t,clientType:o$1}),onError:(t,l)=>j?.("crypto",{scope:"channel-key",message:t,cause:l})})),ke=async(t,l={})=>{if(de===void 0)return;let D=de.getCachedChannelKey(t)===null;try{await de.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!D||!y))try{await yr({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(V){n$2.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:V}});}},Ne=async t=>de===void 0?null:de.getChannelKey(t),cn=t=>{if(de===void 0)return null;let l=de.getCachedChannelKey(t);return l===null&&ke(t),l},st=()=>me?.getCachedPrivateKey(a$1)?.privateKey??null,Zr=()=>({crypto:un,resolveChannelKey:cn,resolveUserPrivateKey:st,onDecryptRecovery:x,onDecryptError:t=>{let l=de!==void 0&&S$1?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(ye("live",{...t,forceRefreshAttempted:l}),!l)return;let D=de.getCachedChannelKey(t.channelId)??void 0;de.getChannelKey(t.channelId,{staleKey:D}).catch(()=>{});}}),Bn=async(t,l={})=>{let D=[];de!==void 0&&D.push(...[...new Set(t)].map(V=>ke(V,l))),me!==void 0&&a$1!==""&&D.push(me.getUserPrivateKey(a$1).catch(()=>null)),await Promise.all(D);},Fn=t=>({crypto:un,resolveChannelKey:l=>de?.getCachedChannelKey(l)??null,resolveUserPrivateKey:st,onDecryptError:l=>ye(t,l),onDecryptRecovery:x});function An(t){Ie!==void 0&&t!==""&&Ie.getGroupKeys(t);}let Cn=async t=>{if(Ie===void 0)return null;let l=await Ie.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},Tn=t=>{if(Ie===void 0)return null;let l=Ie.getCachedGroupKeys(t);return l!==null?l.privateKey:(An(t),null)},Un=async t=>{Ie!==void 0&&await Promise.all(t.map(l=>Ie.getGroupKeys(l).catch(()=>null)));},eo=()=>({crypto:un,resolvePrivateKey:({groupId:t})=>Tn(t),preparePrivateKey:async({groupId:t})=>Ie===void 0?null:(await Ie.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>se("live",t),onDecryptRecovery:x}),kn=t=>({crypto:un,resolvePrivateKey:({groupId:l})=>Tn(l),onDecryptError:l=>se(t,l),onDecryptRecovery:x}),Nn=new Map,$n=new Map,no=new Set,to=new Set;function Bt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function hl(t,l){let D=Ha(t),V=$n.get(D)??new Set;V.add(l),$n.set(D,V);}function aa(t){$n.delete(Ha(t));}function Cl(t,l){return t.length===l.length&&t.every((D,V)=>D===l[V])}function ia(t){if(t.conversation.conversationType==="group")return Ie?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Et(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 bl(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 ro(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,D$1=Nn.get(l);if(D$1!==void 0)return D$1;let V=(async()=>{let pe=B.getConversationMessage(t.conversation,t.messageId),fe=N(t);if(pe===void 0||pe.encryption.decryptFailed!==true&&!fe){await S$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:pe.senderId,messageCreatedAt:pe.createdAt,selfMessage:pe.senderId===a$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let oe,q,te="key-resolve",ue=Et(t);for(let ne of [false,true]){let Ce=ne?"force":"current",Be;try{te="bcontent";let Fe=d.decode(t.sContent);if(t.wireEncrypt===1){if(Fe.secretKey.length===0||Fe.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");te="key-resolve";let Qe=ne?{...typeof q=="string"?{staleKey:q}:{}}:void 0,En=t.conversation.conversationType==="group"?(await Ie?.getGroupKeys(t.conversation.conversationId,Qe))?.privateKey??null:(await me?.getUserPrivateKey(a$1,Qe))?.privateKey??null;ne&&q!==void 0&&(Be=typeof q=="string"&&En!==null&&q!==En),Be===!0&&aa(t.conversation),ne||(q=En);let He=ia(t);if(En===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ce,strategy:Et(t),finalStage:te,reason:"no-key",...He===void 0?{}:{resolvedKeyVersion:He},...Be===void 0?{}:{keyChanged:Be}}}));continue}te="rsa";let yn=un.rsaDecryptPkcs1({data:Fe.secretKey,privateKey:En});if(yn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${yn.length} < 16`);te="tea";let je=un.decryptSymmetric({teaKey:yn,cipherData:Fe.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ce,strategy:Et(t),rsaCipherBytes:Fe.secretKey.length,cipherDataBytes:Fe.cipherData.length,cipherDataBlockRemainder:Fe.cipherData.length%8,resolvedTeaBytes:yn.length,plainBytes:je.length,plainBlockRemainder:je.length%8,startsWithContentTypeField:je[0]===8,startsWithMobileCardType:je[0]===8&&je[1]===8,...il(je)}})),te="bmessage",oe=c$1.decode(je);}else if(t.conversation.conversationType==="channel"){if(Fe.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");te="key-resolve";let Qe=ne?{...q instanceof Uint8Array?{staleKey:q}:{}}:void 0,En=de?.getChannelKeyCandidates===void 0?await de?.getChannelKey(t.conversation.conversationId,Qe).then(je=>[{strategy:"canonical-base64-pad",key:je}])??[]:await de.getChannelKeyCandidates(t.conversation.conversationId,Qe),He=de?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);He!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Ce,...He}}));let yn=En.find(je=>je.strategy==="canonical-base64-pad")?.key??null;if(ne&&q instanceof Uint8Array&&yn!==null&&(Be=!Cl(q,yn)),Be===!0&&aa(t.conversation),ne||(q=yn?.slice()??null),En.length===0){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ce,strategy:Et(t),finalStage:te,reason:"no-key",...Be===void 0?{}:{keyChanged:Be}}}));continue}for(let je of En)try{te="tea";let xn=un.decryptSymmetric({teaKey:je.key,cipherData:Fe.cipherData});te="bmessage";let Jn=c$1.decode(xn);if(je.strategy==="legacy-ascii16"&&!bl(Jn))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");oe=Jn,ue=je.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ce,strategy:je.strategy,finalStage:"recovered",reason:"recovered",...Be===void 0?{}:{keyChanged:Be}}}));break}catch(xn){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ce,strategy:je.strategy,finalStage:te,reason:"decrypt-failed",...Be===void 0?{}:{keyChanged:Be}},error:{message:"CHANNEL decrypt recovery candidate failed",data:xn}}));}}if(oe!==void 0){u$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ce,strategy:ue,finalStage:"recovered",reason:"recovered",...Be===void 0?{}:{keyChanged:Be}}}));break}}catch(Fe){let Qe=ia(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ce,strategy:Et(t),finalStage:te,reason:"decrypt-failed",...Qe===void 0?{}:{resolvedKeyVersion:Qe},...Be===void 0?{}:{keyChanged:Be}},error:{message:"IM message decryption recovery failed",data:Fe}}));}}if(!y||oe===void 0){oe===void 0&&(hl(t.conversation,t.messageId),u$1.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:Et(t),attempts:2,finalStage:te}})));return}let z=B.getConversationMessage(t.conversation,t.messageId);if(z===void 0||z.encryption.decryptFailed!==true&&!fe)return;let ae=t.conversation.conversationType==="channel"&&(t.cmdId===12804||oe.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(z.serverTime??z.createdAt),notifyType:oe.type,operatorId:oe.oprUserId,targetUserIds:oe.mnpledUserId,content:oe.content,...typeof z.extensions?.historyCursor=="string"?{historyCursor:z.extensions.historyCursor}:{},...typeof z.extensions?.channelSequence=="string"?{sequence:BigInt(z.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:z.raw!==void 0}):{...O(z,oe,a$1),...fe?{edited:true}:{}};B.upsertMessages([ae],"offline"),await S$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{Nn.get(l)===V&&Nn.delete(l);});return Nn.set(l,V),V}async function yr(t,l={}){try{let D=Ha(t),V=await S$1?.getDecryptRecoveries?.(t)??[];if(!y)return;let pe=$n.get(D),fe=pe===void 0?V:V.filter(ue=>!pe.has(ue.messageId));if(await Promise.all(fe.map(ro)),!y||l.recoverLegacyWithoutSidecar===!1)return;let oe=$n.get(D),q=new Set(V.filter(ue=>oe===void 0||!oe.has(ue.messageId)).map(ue=>ue.messageId)),te=B.getMessagesByConversation(t).filter(ue=>ue.encryption.decryptFailed===!0&&!q.has(ue.id));if(te.length===0||no.has(D))return;if(no.add(D),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:te.length,withoutSidecar:te.filter(ue=>!V.some(z=>z.messageId===ue.id)).length}})),t.conversationType==="channel"){let ue=await c.getLoginContext();if(ue===null||ge===void 0)return;for(let z of te.slice(0,nf)){let ae=z.extensions?.historyCursor;if(typeof ae!="string"||ae.trim()==="")continue;let ne=await ge(t.conversationId,ae,ue.userId);if(!y)return;ne.length>0&&B.upsertMessages(ne,"offline");}}else t.conversationType==="group"?await Ml({conversationType:"group",conversationId:t.conversationId},te):t.conversationType==="direct"&&await Sa$2();}catch(D){if(!y)return;n$2.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:D}});}}async function Ml(t,l){if(en===void 0)return;let D=[...l].sort((q,te)=>q.sortKey.localeCompare(te.sortKey)),V=D[0],pe=D.at(-1);if(V===void 0||pe===void 0)return;let fe=V.serverTime??V.createdAt,oe;for(let q=0;q<ef;q++){let te=await en({conversation:t,oldestLoaded:pe,...oe===void 0?{}:{cursor:oe},intent:"older",limit:Zm});if(!y||te.exhausted||te.nextCursor===void 0)return;let ue=Number(te.nextCursor);if(Number.isFinite(ue)&&ue<=fe)return;oe=te.nextCursor;}}let pn=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function oo(t,l=true){let D=t.channelPermissions,V=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,D===void 0?void 0:[D.sendMessages,D.mentionAll,D.editProfile,D.manageMembers,D.manageAdmins,D.moderateMessages,D.manageMute,D.dismissChannel,D.transferOwnership],!l||V===void 0?void 0:[V.role,V.baseState,V.resolvedState,V.allMembersMuted,V.currentUserMuted,V.mutePeriod]])}let ao=new Map;function ct(t){let l=B.getConversationContext(t);if(!y||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&tn(l.channelState))return;let D=B.getMessagesByConversation(t).at(-1);return JSON.stringify([a$1,D===void 0?l.timestamp:void 0,oo(l),D?.id,D?.sortKey])}Ee=dl({...S$1?.recentHistoryCache===void 0?{}:{cache:S$1.recentHistoryCache},fingerprint:ct,canRunBackground:du,fetchPage:sl({http:f$1,authProvider:c,clientType:o$1,groupDecrypt:()=>kn("history"),channelDecrypt:()=>Fn("history"),prepareGroupKeys:Un,prepareChannelKeys:t=>Bn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,D)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:D}))});let Sl=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(R=false),Ee?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ha(t.conversation),D=ao.get(l),V={timestamp:t.session.timestamp,access:oo(t.session),capabilities:oo(t.session,false),state:t.session.type==="group"?t.session.groupState??"active":t.session.channelState,hasPermissions:t.session.channelPermissions!==void 0,hasSnapshot:t.session.channelAccessSnapshot!==void 0};if(ao.set(l,V),M==="ready"&&D!==void 0&&(D.access!==V.access||!$&&D.timestamp!==V.timestamp)){let pe=!D.hasSnapshot&&V.hasSnapshot&&(D.capabilities===V.capabilities||!D.hasPermissions&&D.state===V.state);Ee?.invalidate(t.conversation,{preserveForeground:D.access===V.access||pe});}return}if(t.type==="session:removed"){ao.delete(Ha(t.conversation)),M==="ready"&&Ee?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){M==="ready"&&Ee?.invalidate(t.conversation);return}M!=="ready"||$||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&Ee?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function sa(t,l=true){$=true;try{t.messages.length>0&&B.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let D of t.reactions)pn(D);for(let D of Ee.takeRecoveries(t))x(D);}finally{$=false;}}en=async({conversation:t,oldestLoaded:l,cursor:D,intent:V,limit:pe,signal:fe})=>{fe?.throwIfAborted();let{conversationId:oe}=t,q=B.getConversationContext(t);if(q===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${oe}\uFF09`);if(q.type==="direct"||q.type==="robot")return {messages:[],exhausted:true};if(V==="establish-latest"&&pe===30&&(q.type==="group"||q.type==="channel")){let te={conversationType:q.type,conversationId:oe};if(ct(te)===void 0)return {messages:[],exhausted:true};let ue=await Ee.readCached(te,true).catch(ae=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:te,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:ae}})),null));ue!==null&&Ee.isPageCurrent(ue)&&Date.now()-ue.fetchedAt>5*6e4&&sa(ue,false),fe?.throwIfAborted();let z=await Ee.latest(te,fe).catch(ae=>{if(y&&ct(te)===void 0)return null;throw ae});if(z===null)return {messages:[],exhausted:true};if(fe?.throwIfAborted(),!y||!Ee.isPageCurrent(z)||ct(te)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(sa(z),await Ee.confirmConsumed(z),fe?.throwIfAborted(),!Ee.isPageCurrent(z))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:z.messages,exhausted:z.exhausted,...z.nextCursor===void 0?{}:{nextCursor:z.nextCursor},replaceWindow:true}}if(q.type==="group"){if(q.groupState!==void 0&&q.groupState!=="active")return {messages:[],exhausted:true};let te=await c.getLoginContext();if(te===null)return {messages:[],exhausted:true};let ue=V==="establish-latest"?Date.now():D===void 0?l?.serverTime??l?.createdAt??Date.now():ul(D,oe),z=await Ha$1({signal:fe,http:f$1,userId:te.userId,clientType:o$1,groupId:oe,baseTime:ue,direct:1,limit:pe,decryptDeps:kn("history"),prepareKeys:Un,onReaction:pn});fe?.throwIfAborted(),z.messages.length>0&&B.upsertMessages(z.messages,"offline",{backfillOnly:true,refreshSessionSummary:V==="establish-latest"});let ae=z.oldestEntryTime,ne=z.batchSize<pe||ae===void 0||ae>=ue;return {messages:z.messages,exhausted:ne,...ne?{}:{nextCursor:String(ae)},...V==="establish-latest"?{replaceWindow:true}:{}}}if(q.type==="channel"){let te=U("history");if(q.channelState!==void 0&&tn(q.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:te,data:{state:q.channelState}})),{messages:[],exhausted:true};let ue=Pe,z=Me(oe),ae=await c.getLoginContext();if(ae===null)return {messages:[],exhausted:true};if(V==="establish-latest"){let Fe=await za({signal:fe,http:f$1,userId:ae.userId,clientType:o$1,channelId:oe,count:Ft,operationId:te,decryptDeps:Fn("history"),prepareKey:de===void 0&&me===void 0?void 0:En=>Bn([En]),onContentDecodeError:I,onReaction:pn});fe?.throwIfAborted();let Qe=B.getConversationContext(t);return !y||ue!==Pe||z!==Me(oe)||Qe?.type!=="channel"||Qe.channelState!==void 0&&tn(Qe.channelState)?{messages:[],exhausted:true}:(fe?.throwIfAborted(),Fe.messages.length>0&&B.upsertMessages(Fe.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:Fe.messages,exhausted:!Fe.hasOlder,...Fe.nextCursor===void 0?{}:{nextCursor:Fe.nextCursor},replaceWindow:true})}let ne=D??"";if(D===void 0&&l!==void 0){let Fe=l.extensions?.historyCursor;if(typeof Fe=="string"&&Fe.trim()!=="")ne=Fe;else if(!rf(l,ae.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${oe}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:te,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:Ft,historyGeneration:ue,historyEpoch:z,clientTypeHeader:o$1,clientTypeBody:o$1}}));let Ce;try{Ce=await Aa({signal:fe,http:f$1,userId:ae.userId,clientType:o$1,channelId:oe,baseIndex:ne,count:Ft,contain:0,operationId:te,decryptDeps:Fn("history"),prepareKey:de===void 0&&me===void 0?void 0:Fe=>Bn([Fe]),onContentDecodeError:I,onReaction:pn});}catch(Fe){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:te,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:Ft},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Fe}})),Fe}fe?.throwIfAborted();let Be=B.getConversationContext(t);return !y||ue!==Pe||z!==Me(oe)||Be?.type!=="channel"||Be.channelState!==void 0&&tn(Be.channelState)?{messages:[],exhausted:true}:(fe?.throwIfAborted(),Ce.messages.length>0&&B.upsertMessages(Ce.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:te,data:{responseBatchSize:Ce.batchSize,messageCount:Ce.messages.length,exhausted:Ce.exhausted,nextBaseIndexPresent:Ce.nextBaseIndex!==void 0}})),{messages:Ce.messages,exhausted:Ce.exhausted,...Ce.nextBaseIndex===void 0?{}:{nextCursor:Ce.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${q.type}`)};let io=t=>{t.length>0&&B.upsertMessages(t,"offline",{backfillOnly:true});},so=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}},Pl=async t=>{let{userId:l}=await so(),D=await ua({http:f$1,userId:l,clientType:o$1,messageIds:t,decryptDeps:await fo(l),onReaction:pn});return io(D.messages),{messages:D.messages,missingMessageIds:D.missingMessageIds}},Al=async(t,l)=>{let{userId:D}=await so(),V=await va({http:f$1,userId:D,clientType:o$1,groupId:t,messageIds:l,decryptDeps:kn("history"),prepareKeys:Un,onReaction:pn});return io(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},El=async(t,l)=>{let D={conversationType:"channel",conversationId:t},V=a$1,pe=Pe,fe=Me(t),oe=()=>{let ne=B.getConversationContext(D);if(!y||a$1!==V||pe!==Pe||fe!==Me(t)||ne?.type!=="channel"||ne.channelState!==void 0&&tn(ne.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};oe();let{userId:q}=await so();if(oe(),q!==V)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let te=[],ue=[],z=await wa$1({http:f$1,userId:q,clientType:o$1,channelId:t,messageIds:l,operationId:U("history"),decryptDeps:{...Fn("history"),onDecryptRecovery:ne=>ue.push({...ne,source:"history"})},prepareKey:de===void 0&&me===void 0?void 0:async ne=>{await Bn([ne],{recoverExistingMessages:false}),oe();},onContentDecodeError:I,onReaction:ne=>te.push(ne)});oe();for(let ne of z.messages)oe(),io([ne]);for(let ne of te)oe(),pn(ne);for(let ne of ue)oe(),x(ne);return oe(),{messages:z.messages.map(ne=>{let Ce=B.getConversationMessage(D,ne.id);if(Ce===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Ce}),missingMessageIds:z.missingMessageIds}},Rl=qb([nb({includeOppositeEnd:true}),ob({resolveGroupKey:Cn}),mb({resolveChannelKey:Ne}),pb()]),wl=Za([_a(),$a$1(),ab()]),Tl=na$1([oa$1(),pa(),qa({resolveChannelKey:Ne,resolveProfile:t=>on?.getProfile(t)??Promise.resolve(null)})]),gn=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Rt=()=>false,Ir=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},ca=()=>{},Gt=()=>{},Ht={...B,removeConversationForMembershipTermination:(t,l)=>{ca(t,l),t.conversationType==="group"?Ie?.clearGroupKeys(t.conversationId):de?.clearChannelKey(t.conversationId),B.removeConversationForMembershipTermination(t,l),s$1.api.resetBackground(t).catch(D=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:D}}));}},jt=Qa({domainState:B,sendFrame:t=>gn(t),getSelfId:()=>a$1,isAuthenticated:()=>Rt(),reportReaction:t=>Ae.reportReaction(t),isEmojiSupported:Rc,logger:j});pn=t=>{jt.ingest(t,"offline");};let _l=Ra({manager:jt,getSelfId:()=>a$1,logger:j}),Dl=ib({domainState:B,outbox:{onChatAck:t=>Ir(t)},sendFrame:t=>gn(t),getSelfId:()=>a$1,emitter:n$2,logger:j,keepRaw:true,decrypt:eo(),isActive:()=>y}),kl=db({domainState:B,outbox:{onChatAck:t=>Ir(t)},sendFrame:t=>gn(t),getSelfId:()=>a$1,emitter:n$2,logger:j,keepRaw:true,decrypt:Zr()}),Ol=jb({domainState:B,outbox:{onChatAck:t=>Ir(t)},sendFrame:t=>gn(t),getSelfId:()=>a$1,emitter:n$2,logger:j,keepRaw:true}),xl=cb({domainState:B,sendFrame:t=>gn(t),getSelfId:()=>a$1,emitter:n$2,logger:j,keepRaw:true,decrypt:{crypto:un,resolveChannelKey:cn,resolveUserPrivateKey:st,onDecryptRecovery:x}}),Nl=bb({getSelfId:()=>a$1,sendFrame:t=>gn(t),emitter:n$2}),Ll=kb({emitter:n$2,getSelfId:()=>a$1}),Fl=gb$1({sendFrame:t=>gn(t),emitter:n$2,getSelfId:()=>a$1,domainState:{reconcileDirectContactEstablishedNotice:B.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){B.removeConversation(t);return}t.conversationType==="direct"&&Ke(t,"friend_relation_removed"),B.removeConversation(t);})},resetDirectReadReceiptPreference:t=>A$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:Dn.updateRelationshipFromEvent}),Ul=lb({sendFrame:t=>gn(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:B.applyTransferStatusBySerialNumber}}),Kl=fb$1({getSelfId:()=>a$1,sendFrame:t=>gn(t),emitter:n$2}),Bl=eb({getSelfId:()=>a$1,domainState:B,sendFrame:t=>gn(t),emitter:n$2,onRelationshipChanged:Dn.updateRelationshipFromEvent}),co=n({sendFrame:t=>gn(t),emitter:n$2,getSelfId:()=>a$1,isAuthenticated:()=>Rt(),domainState:B}),lo=z({sendFrame:t=>gn(t),emitter:n$2,getSelfId:()=>a$1,isAuthenticated:()=>Rt(),domainState:B}),da=[...co.handlers,...lo.commandHandlers],Gl=2e3,zt,uo=false,la=new Set;async function ua$1(){if(uo||!y||!Rt())return;let t=await c.getLoginContext();if(t!==null){uo=true;try{let l=[];for(;;){let D=await Ia({http:f$1,userId:t.userId,clientType:o$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:D.items.length,cmdIds:D.items.map(V=>`0x${V.cmdId.toString(16)}`)}})),D.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let V of D.items){if(n$2.emit({type:"notification",cmdId:V.cmdId,name:"OFFLINE_SIGNAL"}),V.msgId!==""&&la.has(V.msgId))continue;V.msgId!==""&&la.add(V.msgId);let pe=da.find(fe=>fe.command===V.cmdId);pe!==void 0&&pe.handler(V.cmdId,V.body);}if(D.deliveredMsgIds.length===0)break;l=D.deliveredMsgIds;}}catch(l){n$2.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{uo=false;}}}function Hl(){ua$1(),zt===void 0&&(zt=setInterval(()=>{ua$1();},Gl));}function pa$1(){zt!==void 0&&clearInterval(zt),zt=void 0;}let jl=hb({domainState:B,sendFrame:t=>gn(t),getSelfId:()=>a$1,emitter:n$2,logger:j,keepRaw:true}),zl=Oa({domainState:Ht,getSelfId:()=>a$1,prefetchGroupKey:An,clearGroupKeys:t=>{Ie?.clearGroupKeys(t);},clearConversationTermination:t=>Gt(t)}),Vl=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&zl.handleMessage(t.message);}),ma$1=Da({domainState:Ht,getSelfId:()=>a$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:de!==void 0&&de.getCachedChannelKey(t)!==null}})),de!==void 0&&de.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=de!==void 0&&de.getCachedChannelKey(t)!==null;de?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>Gt(t),stopChannelHistory:t=>{let l=Me(t);Ue(t),B.messageWindow.info().conversationId===t&&B.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:Me(t)}}));}}),ql=n$2.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$1.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(a$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:B.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),ma$1.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),Wl=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"]),$l=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Jl=n$2.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,D=l.body.system?.eventType;l.conversationType==="channel"&&D!==void 0&&(Wl.has(D)&&an?.invalidateChannelMembers(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}),$l.has(D)&&Ye.invalidate(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}));}),fa$1=vc({...h$1===void 0?{}:{coreClient:h$1},domainState:B,emitter:n$2}),ga=rd({...h$1===void 0?{}:{coreClient:h$1},domainState:B,emitter:n$2}),dt=od({...Wn===void 0?{}:{joinApplications:Wn},http:f$1,clientType:o$1,buildOfflineDecrypt:()=>Fn("history"),onContentDecodeError:I,onReaction:pn,...de===void 0&&me===void 0?{}:{prepareKey:t=>Bn([t])}});ge=async(t,l,D)=>{let{context:V}=await dt.loadMessageContext(t,l,D);return V.messages};let Yl=ad({authProvider:c,emitter:n$2,domainState:B,loadMessageContext:dt.loadMessageContext,isActive:()=>y,getHistoryGeneration:()=>Pe,getHistoryEpoch:Me}),po=el({domainState:B,isActive:()=>y,loadSummary:async({channelId:t,readCursor:l})=>{let D=await c.getLoginContext();if(D===null||!y||D.userId!==a$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:f$1,userId:D.userId,clientType:o$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(pe=>pe.channelId===t)},report:(t,l,D)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:D}))}),mo=Ta({domainState:B,updateReadIndex:async({channelId:t,readCursor:l})=>{let D=await c.getLoginContext();if(D===null||!y||D.userId!==a$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:f$1,userId:D.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:j,onReadCommitted:po.request,onReadSettled:po.settled,syncRead:{getSelfId:()=>a$1,sendFrame:t=>gn(t)}}),Xl=Sa$1({getSelfId:()=>a$1,applyRemoteRead:t=>mo.applyRemoteRead(t),emitter:n$2,logger:j}),Ql=Xa$1([Wa$1({domainState:B,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 ma({http:f$1,userId:l.userId,groupId:t});},emitter:n$2,logger:j,isAuthenticated:()=>Rt(),syncRead:{getSelfId:()=>a$1,sendFrame:t=>gn(t)}}),mo,Ya({domainState:B})]),Vt=vb({getSelfId:()=>a$1,sendFrame:t=>gn(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Zl=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&Vt.setAuthenticated(false);}),Se=rb({transport:E,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:B,logger:j,decrypt:{crypto:un,resolvePrivateKey:({msgType:t})=>t===1?me?.getCachedPrivateKey(a$1)?.privateKey??null:null,onDecryptError:t=>J("live",t),onDecryptRecovery:x},encryptSend:he===void 0&&de===void 0?void 0:{crypto:un,resolvePublicKey:t=>he?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Cn},media:p$1!==void 0?{transfer:p$1,recoveryPort:g?.port,retainFailedUploads:e$1.uploadRecovery?.retainFailedUploads,shouldPersistUpload:(t,l)=>g!==void 0&&Za$1(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>C$1.wait(t),preview:P,onTransferError:t=>{u$1.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$1.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}}}));},..._===void 0?{}:{assetCache:_,onAssetCacheError:t=>{u$1.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:Rl,commandHandlers:[...Vt.commandHandlers,...Fl,...Ll,...Ul,...Kl,...Bl,...da,..._l,...Dl,...jl,...kl,...xl,...Nl,...Xl,...Ol],readStrategies:Ql,canSendDirectReadReceipt:t=>{if(!A$1.isDirectReadReceiptEnabled(t))return false;let l=Dn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:wl,channelMessageDeletion:{resolveProfile:t=>on?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>B.refreshConversationProfile(t,"channel")},editStrategies:Tl,storage:S$1,onAuthenticated:()=>{Vt.setAuthenticated(true);for(let l of ve)l.resumeMedia();let t=O$1;O$1=true,(t||ie==="auto")&&ha().catch(()=>{}),Hl();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);i$1=t=>Se.suppressDirectReadReceipts(t),m$1=t=>Se.resumeDirectReadReceipts(t),gn=Se.sendFrame,Rt=()=>Se.state==="authenticated",Ir=Se.onChatAck,Ke=Se.terminateConversationSending,ca=Se.markOutboxConversationTerminated,Gt=Se.clearOutboxConversationTerminated;let ya=Vc({operations:{getPending:Se.getPendingOutbox,retry:Se.retryOutboxMessage,cancel:Se.cancelOutboxMessage},emitter:n$2,isActive:()=>y}),Ve=ud({connection:Se,domainState:B,crypto:un,settleEmptyGroupRead:async t=>{let l=Ge.get(t.conversationId)??0,D=B.getSession(t),V=D===void 0,pe=D?.unreadCount??0,fe=D?.mentionUnreadCount??0,oe=pe,q=fe,te=()=>{let z=B.getSession(t);if(!y||V||z===void 0||l!==(Ge.get(t.conversationId)??0)||z.groupState!==void 0&&z.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return z},ue=n$2.subscribe(z=>{if(!(!("conversation"in z)||z.conversation?.conversationType!=="group"||z.conversation.conversationId!==t.conversationId)&&((z.type==="session:removed"||z.type==="conversation-history:cleared"||z.type==="session:updated"&&z.session.groupState!==void 0&&z.session.groupState!=="active")&&(V=true),z.type==="read:updated"||z.type==="session:updated")){let ae=B.getReadState(t);if(ae===void 0)return;let ne=ae.mentionUnreadCount??0;oe=Math.max(0,oe-Math.max(0,pe-ae.unreadCount)),q=Math.max(0,q-Math.max(0,fe-ne)),pe=ae.unreadCount,fe=ne;}});try{te();let z=await c.getLoginContext();if(te(),z===null||z.userId!==a$1)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await ma({http:f$1,userId:z.userId,groupId:t.conversationId});let ae=te(),ne=B.getReadState(t),Ce=Math.max(0,(ne?.unreadCount??ae.unreadCount)-oe),Be=Math.max(0,(ne?.mentionUnreadCount??ae.mentionUnreadCount??0)-q);B.setReadState({...ne??{...t,readCursor:ae.readCursor??"",unreadCount:ae.unreadCount},mentionUnreadCount:Be}),B.applyServerUnread(t,Ce);}finally{ue();}},...p$1===void 0?{}:{mediaTransfer:p$1},prepareDirectReadReceipt:async t=>{try{await Dn.ensureRelationship(t);}catch(l){n$2.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}}});}}}),vr=jc({recoveryPort:g?.port,connection:Se,domainState:B,emitter:n$2,isActive:()=>y,preparePreview:F,prepareVideoPoster:re,onLocalPreviewError:({kind:t,byteLength:l,cause:D})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:d$1,data:{kind:t,byteLength:l},error:{message:D instanceof Error?D.message:String(D)}}));},..._===void 0?{}:{assetCache:_,onAssetCacheEvent:t=>{u$1.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...p$1===void 0?{}:{loaders:{loadImage:Ve.operations.loadImage,loadVideo:Ve.operations.loadVideo,loadVoice:Ve.operations.loadVoice,loadFile:Ve.operations.loadFile}}}),hr=rl({isActive:()=>y&&M==="ready"&&a$1!=="",maintain:async()=>{vr.prune(),Se.expireRetainedUploads();let l=(await Promise.allSettled([v?_?.prune?.():void 0,g?.prune()])).find(D=>D.status==="rejected");if(l?.status==="rejected")throw l.reason},onError:t=>u$1.record("warn","sdk","media","media-cache-maintenance-failed",()=>({error:{message:"\u5A92\u4F53\u8FC7\u671F\u7F13\u5B58\u6E05\u7406\u5931\u8D25",data:t}}))});Ut=()=>{Se.invalidateMediaAssetCacheWrites(),vr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(Se.setConnectionAllowed(false),Z=cb$1({onChange:(t,l)=>{if(!t)return be=true,Se.setConnectionAllowed(false),y?(nu(),Ma({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):we?.then(()=>{})},onError:t=>{X=t,n$2.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 eu(t){if(!(Z===void 0||!y)){if(!be){ce??=Z.start(r.forAccount(t).name("ephemeral","connection",`client-${o$1}`));let l=await ce;if(!y)return;if(y&&!be&&l&&Z.owned){Se.setConnectionAllowed(true);return}}throw Se.setConnectionAllowed(false),await Se.connect(),X!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:X}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Cr=db$1({onOnline:()=>{C$1.setOnline(true),Se.notifyOnline();},onOffline:()=>{C$1.setOnline(false),Se.notifyOffline();},onVisible:()=>{hr.run(),Se.notifyVisible();for(let t of ve)t.resumeMedia();},onPageHide:()=>{H&&Se.suspendForPageLifecycle();},onPageShow:()=>{if(hr.run(),H){Se.resumeFromPageLifecycle(),Se.notifyVisible();for(let t of ve)t.resumeMedia();}}},e$1.network);function nu(){y=false,Je.abort(),$e.dispose(),Q.dispose(),G.dispose(),Ee?.dispose(),H=false,W+=1,Cr.stop();}let tu=n$2.subscribe(t=>{!y||t.type!=="auth:invalid"||(H=false,W+=1,be=Z!==void 0,Z?.terminate(),Cr.stop());});async function fo(t){let l=await me?.getUserPrivateKey(t)??null;return {crypto:un,resolvePrivateKey:({msgType:D})=>D===1?l?.privateKey??null:null,onDecryptError:D=>J("offline",D,t),onDecryptRecovery:x}}function Ia$2(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:D,limit:V})=>{let pe=await c.getLoginContext();if(pe===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let fe=await fo(pe.userId);return l({http:f$1,userId:pe.userId,clientType:o$1,decryptDeps:fe,deliveredMsgInfos:D,...V===void 0?{}:{limit:V},onReaction:pn})}}}let ru=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let D=await c.getLoginContext();if(D===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Fa({http:f$1,userId:D.userId,clientType:o$1,decryptDeps:kn("offline"),prepareKeys:Un,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:pn})}});async function va$1(t){let l=[...new Map(t.map(pe=>[Ha(pe),pe])).values()],D=0;await(async()=>{for(;D<l.length;){if(!y)return;let pe=l[D++];if(!(B.getSession(pe)===void 0||ct(pe)===void 0))try{if(await $e.waitForBackground(Je.signal),!y||B.getSession(pe)===void 0||ct(pe)===void 0)continue;Ee.invalidate(pe,{preserveForeground:!0}),await en({conversation:pe,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(fe){if(!y||B.getSession(pe)===void 0||ct(pe)===void 0)continue;n$2.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:fe}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:pe,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:fe}}));}}})();}async function ou(){let t=await c.getLoginContext();if(t===null)return;let l=await Ga({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:kn("offline"),prepareKeys:Un,onReaction:pn});if(y){for(let D of l.unreads)B.applyServerUnread({conversationType:"group",conversationId:D.groupId},D.unreadCount),An(D.groupId);l.messages.length>0&&B.upsertMessages(l.messages,"offline"),await va$1(l.unreads.map(D=>({conversationType:"group",conversationId:D.groupId})));}}async function au(){let t=U("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:o$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:o$1}}));try{await iu(t);}catch(l){throw u$1.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function iu(t){if(on===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await c.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let D=await on.listProfiles({forceRefresh:true});if(!y)return;if(D.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let V=new Map(D.map(k=>[k.id,k]));for(let k of D){if(L(k.channelState)){de?.clearChannelKey(k.id),Ht.removeConversationForMembershipTermination({conversationType:"channel",conversationId:k.id},`channel_${k.channelState}`);continue}let le=k.permissions.sendMessages?void 0:`channel_${k.channelState}`;B.setChannelRestriction(k.id,k.channelState,le,{permissions:k.permissions,...k.accessSnapshot===void 0?{}:{snapshot:k.accessSnapshot}}),B.updateConversationProfile({conversationType:"channel",conversationId:k.id},{title:k.name,avatar:k.avatar}),k.muted!==void 0&&B.setMuted({conversationType:"channel",conversationId:k.id},k.muted);}let pe=new Map(D.map(k=>{let le={conversationType:"channel",conversationId:k.id},Oe=B.getReadState(le),Le=B.getSession(le);return [k.id,{revision:B.getChannelReadRevision(le),pending:B.hasPendingChannelRead(le),readCursor:Oe?.readCursor??Le?.readCursor??"",unreadCount:Le?.unreadCount??Oe?.unreadCount??0,mentionUnreadCount:Le?.mentionUnreadCount??Oe?.mentionUnreadCount??0}]})),fe=D.map(k=>({channelId:k.id,readCursor:pe.get(k.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:fe.length,channelsWithReadCursor:fe.filter(k=>k.readCursor!=="").length,clientTypeHeader:o$1,clientTypeBody:o$1}}));let oe=await xa$1({http:f$1,userId:l.userId,clientType:o$1,channels:fe,operationId:t,decryptDeps:Fn("offline"),prepareKeys:k=>Bn(k.filter(le=>{let Oe=V.get(le)?.channelState;return Oe===void 0||!tn(Oe)})),onContentDecodeError:I,onReaction:pn});if(!y)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:oe.length,lastMessageCount:oe.filter(k=>k.last!==void 0).length,decryptFailedLastCount:oe.filter(k=>k.last?.encryption.decryptFailed===true).length,unknownContentLastCount:oe.filter(k=>k.last?.contentType==="unknown"&&k.last.encryption.decryptFailed!==true).length}}));let q=new Set(oe.filter(k=>{let le=pe.get(k.channelId),Oe={conversationType:"channel",conversationId:k.channelId},Le=B.getReadState(Oe),Gn=B.getSession(Oe);return le===void 0||le.pending||B.hasPendingChannelRead(Oe)||B.getChannelReadRevision(Oe)!==le.revision||(Le?.readCursor??Gn?.readCursor??"")!==le.readCursor||(Gn?.unreadCount??Le?.unreadCount??0)!==le.unreadCount||(Gn?.mentionUnreadCount??Le?.mentionUnreadCount??0)!==le.mentionUnreadCount}).map(k=>k.channelId)),te=oe.filter(k=>B.getConversationContext({conversationType:"channel",conversationId:k.channelId})!==void 0).map(k=>{let Oe=V.get(k.channelId)?.channelState,Le=Oe!==void 0&&tn(Oe)?Oe:tn(k.channelState)?k.channelState:Oe??k.channelState,Gn=Le==="active"?void 0:Le===k.channelState?k.sendDisabledReason:`channel_${Le}`;return {...k,channelState:Le,sendDisabledReason:Gn}});for(let k of te){let le=V.get(k.channelId);B.setChannelRestriction(k.channelId,k.channelState,k.sendDisabledReason,le===void 0?void 0:{permissions:le.permissions,...le.accessSnapshot===void 0?{}:{snapshot:le.accessSnapshot}}),le!==void 0&&(B.updateConversationProfile({conversationType:"channel",conversationId:k.channelId},{title:le.name,avatar:le.avatar}),le.muted!==void 0&&B.setMuted({conversationType:"channel",conversationId:k.channelId},le.muted)),q.has(k.channelId)||B.applyChannelReadSummary({conversationType:"channel",conversationId:k.channelId},k),tn(k.channelState)&&de?.clearChannelKey(k.channelId);}let ue=Pe,z=new Map(te.map(k=>[k.channelId,Me(k.channelId)])),ae=k=>{let le=B.getConversationContext({conversationType:"channel",conversationId:k});return y&&ue===Pe&&z.get(k)===Me(k)&&le!==void 0&&(le.channelState===void 0||!tn(le.channelState))},ne=k=>{if(!y||ue!==Pe)return [];let le=k.filter(Oe=>ae(Oe.conversationId));return le.length>0&&B.upsertMessages(le,"offline",{applyChannelLifecycleEffects:true}),le};ne(te.flatMap(k=>k.last===void 0?[]:[k.last])),await va$1(te.filter(k=>k.last===void 0&&!tn(k.channelState)).map(k=>({conversationType:"channel",conversationId:k.channelId})));let Ce=te.filter(k=>!q.has(k.channelId)&&!tn(k.channelState)&&k.unreadCount>0&&k.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let k={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let le of te)q.has(le.channelId)?k.staleRead+=1:tn(le.channelState)?k.historyBlocked+=1:le.unreadCount<=0?k.zeroUnread+=1:le.readCursor===""&&(k.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:te.length,eligibleChannelCount:Ce.length,staleReadSkippedCount:k.staleRead,historyBlockedSkippedCount:k.historyBlocked,zeroUnreadSkippedCount:k.zeroUnread,emptyReadCursorSkippedCount:k.emptyReadCursor,direction:0,contain:0,count:Ft}}});let Be=[],Fe=new Map(Ce.map(k=>[k.channelId,k.readCursor])),Qe=[];for(let k of Ce){let le={conversationType:"channel",conversationId:k.channelId},Oe=S$1?.supportsChannelSyncCheckpoint!==true?void 0:Ja(await S$1.getMeta(Ia$1(le)),le);if(!ae(k.channelId))continue;let Le=Oe?.startIndex===k.readCursor;Qe.push({channelId:k.channelId,baseIndex:Le?Oe.baseIndex:k.readCursor}),u$1.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:le,data:{resumed:Le}}));}let En=[],He=[],yn;if(await ya$1({http:f$1,userId:l.userId,clientType:o$1,operationId:t,pulls:Qe,messageCount:Ft,signal:Je.signal,beforePage:()=>$e.waitForBackground(Je.signal),isChannelCurrent:ae,yieldToEventLoop:b$1,decryptDeps:{...Fn("offline"),onDecryptRecovery:k=>He.push(k)},prepareKeys:k=>Bn(k,{recoverExistingMessages:false}),onContentDecodeError:I,onReaction:k=>En.push(k),onPage:async(k,le)=>{let Oe=En.splice(0),Le=He.splice(0),vo=(async()=>{for(let lt of le.pulls){let Ra={conversationType:"channel",conversationId:lt.channelId},ut=()=>ae(lt.channelId);if(!ut())continue;let Mr=Le.filter(Ln=>Ln.conversation.conversationId===lt.channelId),wa=()=>{Be.push(...ne(k.filter(Ln=>Ln.conversationId===lt.channelId)));for(let Ln of Oe)ut()&&Ln.conversation.conversationId===lt.channelId&&pn(Ln);};if(S$1?.supportsChannelSyncCheckpoint!==true){wa();for(let Ln of Mr)ut()&&x(Ln);continue}if(!await B.commitChannelSyncPage([Ra],wa,ut,async()=>{if(Mr.length>0&&S$1.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Ln of Mr)await S$1.saveDecryptRecovery(Ln);})||!ut())continue;let Ta=le.nextBaseIndexes[lt.channelId];Ta!==void 0&&await B.saveChannelSyncCheckpoint({version:1,conversation:Ra,startIndex:Fe.get(lt.channelId),baseIndex:Ta},ut);for(let Ln of Mr)ut()&&ro(Ln).catch(wu=>n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:wu}}));}})();Mn.add(vo);try{await vo;}finally{Mn.delete(vo);}}}).catch(k=>{yn={cause:k};}),!y)return;let je=te.flatMap(k=>{let le=k.last;if(le===void 0||Bt(le))return [];let Oe=le.extensions?.historyCursor;return [{summary:k,last:le,historyCursor:typeof Oe=="string"?Oe.trim():""}]}),xn=(k,le)=>`${k}:${le}`,Jn=new Map,yo=new Set;for(let{summary:k,last:le}of je){let Oe=B.getConversationMessage({conversationType:"channel",conversationId:k.channelId},le.id);if(Oe===void 0||!Bt(Oe))continue;let Le=xn(k.channelId,le.id);Jn.set(Le,Oe),yo.add(Le);}for(let k of Be)Bt(k)&&Jn.set(xn(k.conversationId,k.id),k);let Ea=je.filter(({summary:k,last:le,historyCursor:Oe})=>Oe!==""&&!q.has(k.channelId)&&!tn(k.channelState)&&!Jn.has(xn(le.conversationId,le.id))&&!to.has(xn(le.conversationId,le.id))),Au=je.filter(({summary:k,last:le})=>!q.has(k.channelId)&&!tn(k.channelState)&&!yo.has(xn(le.conversationId,le.id))&&Jn.has(xn(le.conversationId,le.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:je.length,decryptFailedLastCount:je.filter(({last:k})=>k.encryption.decryptFailed===true).length,unknownContentLastCount:je.filter(({last:k})=>k.contentType==="unknown"&&k.encryption.decryptFailed!==true).length,localRecoveredCount:yo.size,offlineRecoveredCount:Au,contextRecoveryCount:Ea.length,staleReadSkippedCount:je.filter(k=>q.has(k.summary.channelId)).length,historyBlockedSkippedCount:je.filter(k=>tn(k.summary.channelState)).length,missingHistoryCursorCount:je.filter(k=>k.historyCursor==="").length}}));let Eu=async({summary:k,last:le,historyCursor:Oe})=>{try{if(await $e.waitForBackground(Je.signal),!ae(k.channelId))return;let{message:Le}=await dt.loadMessageContext(k.channelId,Oe,l.userId,Je.signal),Gn=B.getConversationContext({conversationType:"channel",conversationId:k.channelId});if(!y||Gn?.type!=="channel"||Gn.channelState!==void 0&&tn(Gn.channelState))return;if(Le.conversationType!=="channel"||Le.conversationId!==k.channelId||Le.id!==le.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${k.channelId}, messageId=${le.id}\uFF09`);if(!Bt(Le)){if(Le.contentType==="unknown"&&Le.encryption.decryptFailed!==!0){to.add(xn(Le.conversationId,Le.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:k.channelId},data:{messageId:le.id,reason:Le.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${k.channelId}, messageId=${le.id}\uFF09`)}return Le}catch(Le){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:k.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Le},data:{messageId:le.id}}));return}},Io=[];for(let k of Ea){if(!y)break;Io.push(await Eu(k));}for(let k of Io)k!==void 0&&Jn.set(xn(k.conversationId,k.id),k);let Ru=Io.filter(k=>{if(k===void 0)return false;let le=B.getConversationMessage({conversationType:"channel",conversationId:k.conversationId},k.id);return le===void 0||!Bt(le)});if(ne(Ru),yn!==void 0)throw yn.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:D.length,terminalProfileCount:D.filter(k=>L(k.channelState)).length,sessionCount:oe.length,acceptedSessionCount:te.length,sessionLastCount:te.filter(k=>k.last!==void 0).length,recoveredSessionLastCount:je.filter(({last:k})=>Jn.has(xn(k.conversationId,k.id))).length,offlineMessageCount:Be.length}}));}let qt=null,go=false;function su(){return qt!==null?(go=true,qt):(qt=(async()=>{let l;do{go=false,l=void 0;try{await au();}catch(D){l=D;}}while(go);if(l!==void 0)throw l})().finally(()=>{qt=null;}),qt)}let cu=Ab({pullers:[Ia$2("chat",Ba),Ia$2("owner_chat",Ca),ru()],domainState:B,emitter:n$2,logger:j,yieldToEventLoop:b$1});function du(){return y&&M==="ready"&&R&&Sn===0&&Se.state==="authenticated"}async function ha(){if(Z!==void 0&&(!Z.owned||be))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=G.begin(),l=Q.begin(),D=ou().catch(pe=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:pe}})),V=su().catch(pe=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:pe}}));Sn+=1;try{let fe=(await Promise.allSettled([cu.sync(),D,V])).find(oe=>oe.status==="rejected");if(fe?.status==="rejected")throw fe.reason}finally{l(),t(),Sn-=1,R=Se.state==="authenticated",Ee?.notifySchedulingChanged();}}async function lu(){if(M==="ready")return;M="preparing";let t=await c.getLoginContext();if(y){if(t!==null){if(await eu(t.userId),!y)return;a$1=t.userId;try{await g?.prepare(t.userId);}catch{n$2.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(!y)return;if(me!==void 0&&me.getUserPrivateKey(t.userId),S$1!==void 0)try{if(await S$1.open({namespace:t.userId}),v=!0,!y)return;try{await A$1.hydrate();}catch(l){n$2.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(!y||(await B.hydrate(()=>y),!y))return;for(let l of B.getSessions())l.title===""&&l.type!=="supergroup"&&B.refreshConversationProfile(l.id,l.type);if(await Se.hydrateOutbox(()=>y),!y)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!y)return;if(Ie!==void 0)for(let l of B.getSessions())l.type==="group"&&An(l.id);}y&&(M="ready",a$1!==""&&hr.start());}}function Ca$2(){if(be)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(M==="ready")return Promise.resolve();if(ze!==null)return ze;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),ze=lu().then(()=>u$1.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw u$1.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{ze=null;}),ze}function uu(t){if(be)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!y||be)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(H=true,Se.state==="authenticated")return Promise.resolve();if(Xe!==null)return Xe;ie=t?.initialSync??"auto",O$1=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:ie}}));let D=W;return Xe=(async()=>{await Ca$2(),!(!y||!H||D!==W)&&(Cr.start(),await Se.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(V=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:V}})),V}).finally(()=>{Xe=null;}),Xe}function ba(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),H=false,W+=1,pa$1(),Se.disconnect(t),Cr.stop();}function Ma(t,l={}){if(we!==void 0)return we;let D,V;return we=new Promise((pe,fe)=>{D=pe,V=fe;}),pu(t,l).then(D,V),we}async function pu(t,l){let D=Date.now(),V;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),y=false,Je.abort(),$e.dispose(),Q.dispose(),G.dispose(),po.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let pe=hr.dispose(),fe=Ee?.dispose();Sl(),Zl(),Vt.dispose(),pa$1(),co.dispose(),lo.dispose(),jt.dispose(),ya.dispose(),vr.dispose(),b.dispose(),it.dispose(),Dn.dispose();let oe=Se.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let Ce of ve)Ce.close();ve.clear(),Pe+=1,Se.markOutboxForLogout(t?.pendingMessages??"fail"),fa$1.dispose(),ga.dispose(),dt.dispose(),Ye.dispose(),fn.dispose(),at.dispose(),s$1.dispose();let q=A$1.dispose();Kt.dispose();let te=B.invalidateAndDrainDraftOperations();At.dispose(),Vl(),ql(),Jl(),ma$1.dispose(),mo.reset(),de?.clearAll(),$n.clear(),no.clear(),to.clear(),ba("im-logout"),(l.requireStorageClose||Z?.owned===true)&&await ze?.catch(()=>{});try{await oe;}catch{n$2.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 pe;try{await g?.dispose(l.preserveUploadRecovery===!0);}catch(Ce){V=Ce,n$2.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 te,await q,await fe,await Promise.allSettled([...Mn]),await B.waitForChannelSyncPersistence(),B.clearSession();let ue=t?.localData==="purge"?a$1:"",z=ue===""?void 0:V,ae,ne=true;if(S$1!==void 0)try{await S$1.close();}catch(Ce){ne=false,ue!==""&&(z=Ce),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:ue===""?"\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:Ce}});}if(ue!==""&&ne)try{w$1!==void 0?await w$1.purgeCurrentAccount({namespaceFactory:r,accountId:ue}):await eb$1(ue,{namespaceFactory:r}),z===void 0&&(ae=ue);}catch(Ce){z=Ce,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:Ce}});}if(M="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-D,data:{purgedAccountId:ae,purgeFailed:z!==void 0}})),Y(),K(),tu(),be=true,(l.requireStorageClose||Z!==void 0)&&!ne)throw new Error("Previous chat page could not close its account storage");return Z?.stop(),{...ae===void 0?{}:{purgedAccountId:ae},...z===void 0?{}:{purgeError:z}}}function mu(){return {sessionState:M,connectionState:Se.state,...a$1!==""?{userId:a$1}:{},prepared:M==="ready",connectionDesired:H,authenticated:Se.state==="authenticated",receiving:G.receiving,syncing:Q.receiving}}function fu(t){return n$2.subscribe(t)}function gu(){return {connectionState:Se.state,pendingOutbox:Se.getPendingOutbox()}}function yu(){return B.getConversationList()}Te=async({conversation:t,newestLoaded:l,cursor:D,limit:V,signal:pe})=>{pe?.throwIfAborted();let{conversationId:fe}=t,oe=B.getConversationContext(t);if(oe===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${fe}\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 q=await c.getLoginContext();if(q===null)return {messages:[],exhausted:true};let te=D===void 0?l?.serverTime??l?.createdAt:ul(D,fe);if(te===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${fe}, messageId=${l?.id??""}\uFF09`);let ue=await Ha$1({signal:pe,http:f$1,userId:q.userId,clientType:o$1,groupId:fe,baseTime:te,direct:2,limit:V,decryptDeps:kn("history"),prepareKeys:Un,onReaction:pn});pe?.throwIfAborted(),ue.messages.length>0&&B.upsertMessages(ue.messages,"offline",{backfillOnly:true});let z=ue.newestEntryTime,ae=ue.batchSize<V||z===void 0||z<=te;return {messages:ue.messages,exhausted:ae,...ae?{}:{nextCursor:String(z)}}}if(oe.type==="channel"){if(oe.channelState!==void 0&&tn(oe.channelState))return {messages:[],exhausted:true};let q=D??l?.extensions?.historyCursor;if(typeof q!="string"||q.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${fe}, messageId=${l?.id??""}\uFF09`);let te=Pe,ue=Me(fe),z=await c.getLoginContext();if(z===null)return {messages:[],exhausted:true};let ae=D===void 0?(await dt.loadMessageContext(fe,q,z.userId,pe)).context:await dt.loadNewerPage(fe,q,z.userId,pe);pe?.throwIfAborted();let ne=B.getConversationContext(t);return !y||te!==Pe||ue!==Me(fe)||ne?.type!=="channel"||ne.channelState!==void 0&&tn(ne.channelState)?{messages:[],exhausted:true}:(ae.messages.length>0&&B.upsertMessages(ae.messages,"offline",{backfillOnly:true}),{messages:ae.messages,exhausted:!ae.hasNewer,...!ae.hasNewer||ae.nextCursor===void 0?{}:{nextCursor:ae.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${oe.type}`)};function Iu(t){let l=t.conversationId,D=a$1,V=Pe,pe=Me(l),fe,oe;return async({readCursor:q,cursor:te,signal:ue,isCurrent:z})=>{let ae=$e.enterForeground();try{let ne=()=>{let He=B.getConversationContext(t);return y&&a$1===D&&z()&&V===Pe&&pe===Me(l)&&He?.type==="channel"&&(He.channelState===void 0||!tn(He.channelState))};if(ue.throwIfAborted(),!ne()||te!==void 0&&(fe!==q||oe===void 0))return;let Ce=await c.getLoginContext();if(ue.throwIfAborted(),Ce===null||Ce.userId!==D||!ne())return;let Be=[],Fe=[],Qe=await S({http:f$1,userId:Ce.userId,clientType:o$1,channelId:l,index:te??q,containAnchor:te===void 0,signal:ue,decryptDeps:{...Fn("history"),onDecryptRecovery:He=>Fe.push({...He,source:"history"})},prepareKey:He=>Bn([He],{recoverExistingMessages:!1}),onContentDecodeError:I,onReaction:He=>Be.push(He)});if(ue.throwIfAborted(),!ne())return;if(te===void 0){let He=Qe.messages.find(yn=>yn.extensions?.historyCursor===q);if(He===void 0)return;fe=q,oe=He.sortKey;}if(oe===void 0||(Qe.messages.length>0&&B.upsertMessages(Qe.messages,"offline",{backfillOnly:!0}),!ne()))return;for(let He of Be){if(!ne())return;pn(He);}for(let He of Fe){if(!ne())return;x(He);}return ne()?{messages:Qe.messages.map(He=>{let yn=B.getConversationMessage(t,He.id);if(yn===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return yn}),readCursorSortKey:oe,exhausted:!Qe.hasNewer,...Qe.nextCursor===void 0?{}:{nextCursor:Qe.nextCursor}}:void 0}finally{ae();}}}async function Sa$2(){let t=await c.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await fo(t.userId),D=await Da$1({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:l,onReaction:pn}),V=await Ea({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:l,onReaction:pn}),pe=[...D,...V];return B.upsertMessages(pe,"offline"),pe}async function vu(){await ha();}let hu=2;function On(t){let l=ee({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Cu(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function bu(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$1?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o||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 Pa(t){if(!y)throw On({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Mu(t){let l=t?.conversationType,D=t?.conversationId;if(l==="supergroup")throw On({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof D!="string"||D.trim()==="")throw On({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:D.trim()})}function wt(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 Su(t){let l=Mu(t);if(Pa(l),B.getSession(l)!==void 0)return l;let D=G.begin(),V=false,pe=n$2.subscribe(oe=>{oe.type==="session:removed"&&oe.conversation.conversationType===l.conversationType&&oe.conversation.conversationId===l.conversationId&&(V=true);}),fe=()=>{if(Pa(l),V)throw On({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let z=fn.peekItem("individual",l.conversationId);if(z!==void 0)return B.prepareConversation(wt(l,{title:z.displayName||z.cardDisplayName,...z.avatarUrl===void 0?{}:{avatar:z.avatarUrl}})),l;let ae=await Dn.getRelationship(l.conversationId);if(fe(),ae!=="friend")throw On({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:ae})});let ne=await Dn.getProfile(l.conversationId);if(fe(),ne===null||ne.id!==l.conversationId)throw On({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return B.prepareConversation(wt(l,{title:ne.remark??ne.nickname,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted}})),l}if(l.conversationType==="group"){let z=B.isMembershipTerminated(l),ae=fn.peekItem("group",l.conversationId);if(ae!==void 0&&!z)return B.prepareConversation(wt(l,{title:ae.displayName||ae.cardDisplayName,...ae.avatarUrl===void 0?{}:{avatar:ae.avatarUrl},groupState:"active"})),l;if(ln===void 0)throw On({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let ne=await ln.getGroupProfile(l.conversationId,z?{forceRefresh:!0}:void 0);if(fe(),ne===null||ne.id!==l.conversationId)throw On({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(ne.isInGroup===!1||z&&ne.isInGroup!==!0||ne.status!==void 0&&ne.status!==hu)throw On({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...ne.status===void 0?{}:{status:ne.status},...ne.isInGroup===void 0?{}:{isInGroup:ne.isInGroup}})});return B.prepareConversation(wt(l,{title:ne.name,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted},groupState:"active"}),{membershipConfirmed:z}),z&&(fe(),Gt({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let z=at.peek(l.conversationId);return B.prepareConversation(wt(l,{title:z?.displayName??l.conversationId,...z?.avatarUrl===void 0?{}:{avatar:z.avatarUrl}})),l}if(on===void 0)throw On({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let oe=B.isMembershipTerminated(l),q=await on.getProfile(l.conversationId,oe?{forceRefresh:!0}:void 0);if(fe(),q===null||q.id!==l.conversationId)throw On({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let te=q.channelState==="active"||q.channelState==="muted",ue=q.channelState==="muted"&&q.accessSnapshot?.allMembersMuted===!0&&q.role!=="owner"&&q.role!=="admin";if(!te||ue)throw On({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:q.channelState,role:q.role,hiddenByAllMemberMute:ue})});return B.prepareConversation(wt(l,{title:q.name,...q.avatar===void 0?{}:{avatar:q.avatar},...q.muted===void 0?{}:{muted:q.muted},channelState:q.channelState,channelPermissions:q.permissions,...q.accessSnapshot===void 0?{}:{channelAccessSnapshot:q.accessSnapshot},...q.permissions.sendMessages?{}:{sendDisabledReason:`channel_${q.channelState}`}}),{membershipConfirmed:oe}),oe&&(fe(),Gt({conversationType:"channel",conversationId:l.conversationId})),l}catch(oe){if(Cu(oe))throw oe;let q=bu(oe);throw On({...q,conversation:l,cause:oe})}finally{pe(),D();}}let Wt={...dd({...h$1===void 0?{}:{coreClient:h$1},authProvider:c,http:f$1,resolveInput:gr,domainState:B,operations:{list:yu,pullOffline:Sa$2,sync:vu,prefetchRecent:(t,l)=>Ee.prefetchRecent(t,l)},beforeDeleteConversation:nn,terminateConversationSending:(t,l)=>Se.terminateConversationSending(t,l),resetConversationBackground:t=>s$1.api.resetBackground(t),reportStorageError:(t,l)=>n$2.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>Se.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await Aa$1(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...s$1.api,ensureOpenableConversation:Su,getContext:t=>B.getConversationContext(t)};function Pu(t,l=true){let D=new AbortController,V={...t,resumeMedia(){!l||!y||D.signal.aborted||Se.state!=="authenticated"||t.ref.conversationType==="robot"||Se.resumePausedMediaUploads(t.ref,D.signal).catch(()=>{y&&!D.signal.aborted&&n$2.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(){D.abort(),t.close(),ve.delete(V);}};return $r(V,t),ve.add(V),l&&V.resumeMedia(),V}function br(t,l,D=true){if(!y)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()),Pu(t,D)}async function Aa$1(t,l={},D){if(!y)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let V=Ee?.enterForeground(t),pe=$e.enterForeground(),fe=G.begin();try{let oe={beginReceiving:G.begin,domainState:B,invalidateHistory:nn,emitter:n$2,drafts:Kt.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,replaceVideo:Ve.operations.replaceInterruptedVideo,replaceFile:Ve.operations.replaceInterruptedFile,forwardMessages:Ve.operations.forwardMessages,recallMessage:Ve.operations.recallMessage,editMessage:Ve.operations.editMessage,setReaction:({conversation:q,parentMessageId:te,emoji:ue,action:z})=>{if(q.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let ae={conversationType:q.conversationType,conversationId:q.conversationId};return z==="toggle"?jt.toggle({conversation:ae,parentMessageId:te,emoji:ue}):jt.set({conversation:ae,parentMessageId:te,emoji:ue,action:z==="add"?0:1})},markRead:Ve.operations.markRead,markConversationRead:Ve.operations.markConversationRead,markVisibleMessages:Ve.operations.markVisibleMessages,markDirectMediaConsumed:Ve.operations.markDirectMediaConsumed,prepareMediaPreview:F,getSelfId:()=>a$1,isOutboxOwned:q=>Se.getPendingOutbox().some(te=>te.id===q),hasOutboxForConversation:q=>Se.getPendingOutbox().some(te=>te.conversationType===q.conversationType&&te.conversationId===q.conversationId),resolveSearchHistoryAnchor:At.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let q={conversationType:"direct",conversationId:t.conversationId},te=await Dd(q,{...oe,getRelationship:Dn.getRelationship,shouldCheckRelationship:()=>Se.state==="authenticated",appendContactRequiredTextFailure:z=>B.appendDirectContactRequiredTextFailure({conversationId:z.conversationId,senderId:a$1,text:z.text,...z.refMessageId===void 0?{}:{refMessageId:z.refMessageId}}),setMuted:(z,ae)=>Wt.setMuted(z,ae),fetchMessagesByIdBatch:Pl},l),ue=br(te,l.signal,D!=="read");return yr(q),ue}case "group":{let q={conversationType:"group",conversationId:t.conversationId},te=await kd(q,{...oe,getSendPermissionError:z=>{let ae=B.getConversationContext(q),ne=ae?.type==="group"?ae.groupState:"unknown";if(!(ne===void 0||ne==="active"))return ee({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:z,retryable:!1,conversation:q,details:Object.freeze({groupState:ne})})},setMuted:(z,ae)=>Wt.setMuted(z,ae),fetchMessagesByIdBatch:z=>Al(q.conversationId,z)},l),ue=br(te,l.signal,D!=="read");return yr(q),ue}case "channel":{let q={conversationType:"channel",conversationId:t.conversationId},te=await Nd(q,{...oe,loadEntryUnreadPage:Iu(q),getSelfId:()=>a$1,deleteMessageForEveryone:Se.deleteChannelMessageForEveryone,reconcilePage:Yl.reconcilePage,getSendPermissionError:z=>{let ae=B.getConversationContext(q),ne=ae?.type==="channel"&&ae.channelState!==void 0?ae.channelState:"unknown_restricted",Ce=Ca$1({channelState:ne,nowMs:Date.now(),...ae?.type!=="channel"||ae.channelAccessSnapshot===void 0?{}:{snapshot:ae.channelAccessSnapshot},...ae?.type!=="channel"||ae.channelPermissions===void 0?{}:{permissions:ae.channelPermissions}});if(!(Ce.channelState==="active"&&Ce.permissions.sendMessages))return ee({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:z,retryable:!1,conversation:q,details:Object.freeze({channelState:Ce.channelState,...Ce.muteReason===void 0?{}:{muteReason:Ce.muteReason}})})},setMuted:(z,ae)=>Wt.setMuted(z,ae),fetchMessagesByIdBatch:z=>El(q.conversationId,z)},l),ue=br(te,l.signal,D!=="read");return yr(q),ue}case "robot":{let q={conversationType:"robot",conversationId:t.conversationId},te=await Od(q,{...oe,setMuted:(ue,z)=>Wt.setMuted(ue,z)},l);return br(te,l.signal,D!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{fe(),V?.(),pe();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Ve.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Aa$1,localData:Xn,directory:fn.search,robots:at.api,search:At.api,applications:it.api,expressions:fr.api,sessionFavorites:Qr.api,outbox:ya.api,drafts:Kt.api,connection:pd({operations:{prepare:Ca$2,connect:uu,disconnect:ba,subscribe:fu,getSnapshot:gu,getLifecycle:mu},getState:()=>Se.state}),conversations:Wt,settings:A$1.api,push:Vt.api,contact:Dn,group:hc({directory:fn.groups,...ln===void 0?{}:{profile:ln},...h$1===void 0?{}:{coreClient:h$1},...p$1===void 0?{}:{avatarTransfer:p$1},domainState:{...Ht,prepareConversation:t=>B.prepareConversation(t)},emitter:n$2,pinned:fa$1.operations}),channel:id({directory:fn.channels,...on===void 0?{}:{channelProfile:on},...an===void 0?{}:{channelMembers:an},...qe===void 0?{}:{channelMentionMembers:qe},mentionCandidates:Ye.api,applications:dt.applications,pinned:ga.operations,...h$1===void 0?{}:{coreClient:h$1},...p$1===void 0?{}:{avatarTransfer:p$1},crypto:un,domainState:{prepareConversation:t=>B.prepareConversation(t),setChannelRestriction:B.setChannelRestriction,removeConversationForMembershipTermination:Ht.removeConversationForMembershipTermination,updateConversationProfile:B.updateConversationProfile,refreshConversationProfile:B.refreshConversationProfile},emitter:n$2,...de===void 0?{}:{cacheCreatedSecretKey:(t,l)=>de.primeChannelKey(t,l)},getSelfUserId:async()=>a$1!==""?a$1:(await c.getLoginContext())?.userId??""}),media:vr.api,calls:yd(co),groupCalls:Jd(lo),teardown:Ma}}function of(e){let n=af(e);return gl(yl(n),e.coreApi!==void 0)}function SI(e){return yl(sf(e))}function af(e){return {...ml(e),...e.coreApi===void 0?{}:{coreClient:fl(e.authProvider,e.coreApi)}}}function ml(e){let{authProvider:n,cache:r,clientType:d,connection:o,debug:c,endpointProvider:a,expressions:u,media:y,onRequestError:g,uploadRecovery:C}=e;return {authProvider:n,onRequestError:g,cache:r,clientType:d,connection:o,debug:c,endpointProvider:a,expressions:u,media:y,uploadRecovery:C}}function sf(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:o,channelProfile:c,contactApplications:a,coreApi:u,coreClient:y,directory:g,expressionProvider:C,sessionFavoriteProvider:h,http:f,network:E,profile:w,groupApplications:S,transport:x}=e;return {...ml(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:o,channelProfile:c,contactApplications:a,directory:g,expressionProvider:C,sessionFavoriteProvider:h,...y!==void 0?{coreClient:y}:u===void 0?{}:{coreClient:fl(e.authProvider,u)},http:f,network:E,profile:w,groupApplications:S,transport:x}}function fl(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 gl(e,n){let r=Kc({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)},o=s=>Promise.reject(ee({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function c(s,i,m){if(!n)return o(s);try{return await i()}catch(A){throw zo(A,s,m)}}function a(s,i,m){if(!n)throw ee({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:m});try{return i()}catch(A){throw zo(A,s,m)}}let u,y=s=>c("contacts.getRelationship",()=>e.contacts.getRelationship(s)),g=(s,i)=>c("groups.getProfile",async()=>{let m=await e.groups.getProfile(s,i);return m===null?null:Qc(s,m)},s),C=(s,i)=>c("channels.getProfile",async()=>{let m=await e.channels.getProfile(s,i);return m===null?null:Zc(s,m)},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 m=await e.contacts.getProfile(s,i);return m===null?null:Xc(s,m)}),getRelationship:async s=>{let i=s.trim(),m={conversationType:"direct",conversationId:i},A=u?.beginProjectionUpdate(m),T=await y(s);return A!==void 0&&u?.updateRelationshipProjection(i,T,A),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(m=>({countryCode:m.countryCode,mobile:m.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}),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})},f={search:s=>c("directory.search",()=>e.directory.search(s))},E={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:()=>o("groups.mentions.listAll"),refreshAll:()=>o("groups.mentions.refreshAll")},getProfile:async(s,i)=>{let m=u?.beginProjectionUpdate(s),A=await g(s,i);return m!==void 0&&u?.updateGroupProfileProjection(s,A,m),A},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,m)=>c("groups.updateVerification",()=>e.groups.updateVerification(s,i,m),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=>a("groups.peekPinnedMessage",()=>{let i=e.group.peekPinnedMessage(s.conversationId);return i===null?null:qr(s,i)},s),getPinnedMessage:s=>c("groups.getPinnedMessage",async()=>{let i=await e.groups.getPinnedMessage(s);return i===null?null:qr(s,i)},s),pinMessage:(s,i)=>c("groups.pinMessage",async()=>{let m=await e.groups.pinMessage(s,i);return qr(s,m)},s),unpinMessage:s=>c("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},w={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:()=>o("channels.mentions.getCachedPage"),prefetchFirstPage:()=>o("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>o("channels.mentions.refreshFirstPage"),listFirstPage:()=>o("channels.mentions.listFirstPage"),listNextPage:()=>o("channels.mentions.listNextPage"),searchFirstPage:()=>o("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>o("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>o("channels.mentions.searchNextPage")},getProfile:async(s,i)=>{let m=u?.beginProjectionUpdate(s),A=await C(s,i);return m!==void 0&&u?.updateChannelProfileProjection(s,A,m),A},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,m)=>c("channels.updateVerification",()=>e.channels.updateVerification(s,i,m),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,m)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,i,m),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=>a("channels.peekPinnedMessage",()=>{let i=e.channel.peekPinnedMessage(s.conversationId);return i===null?null:Wr(s,i)},s),getPinnedMessage:s=>c("channels.getPinnedMessage",async()=>{let i=await e.channels.getPinnedMessage(s);return i===null?null:Wr(s,i)},s),pinMessage:(s,i)=>c("channels.pinMessage",async()=>{let m=await e.channels.pinMessage(s,i);return Wr(s,m)},s),unpinMessage:s=>c("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},S=Uc({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let i=e.conversations.getContext(s);return i===void 0?void 0:Hr({...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:y,getGroupProfile:g,getChannelProfile:C});u=S;let x=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{S.reset();try{await e.session.logout(s);}finally{S.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function v(s,i={}){let m=e.conversations,A=e.openConversation,T=await m.ensureOpenableConversation(s);return T.conversationType==="direct"?A({conversationType:"direct",conversationId:T.conversationId},i):T.conversationType==="group"?A({conversationType:"group",conversationId:T.conversationId},i):T.conversationType==="robot"?A({conversationType:"robot",conversationId:T.conversationId},i):A({conversationType:"channel",conversationId:T.conversationId},i)}let _={get session(){return x},get capabilities(){return S.api},get conversations(){return r.api},get directory(){return f},get robots(){return e.robots},get contacts(){return h},get groups(){return E},get channels(){return w},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:v,dispose:async()=>{S.dispose(),r.dispose(),await e.dispose();}};return Vo(_,()=>td(e)),_}function PI(e,n){return gl(e,n.coreApiAvailable)}function yl(e){let n=b(e.cache?.prefix),r=e.adapters?.namespaceFactory??n;if(r.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=ub(),o=0,c=()=>pl(e,d,r,o++),a=c(),u=false,y;async function g(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let i=a;await i.teardown(s),!u&&a===i&&(a=c());}async function C(){if(u)throw et({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=a,i=await s.localData.getInfo();if(u||a!==s)throw et({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let m;try{m=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(A){throw !u&&a===s&&(a=c()),et({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:A})}if(!u&&a===s&&(a=c()),m.purgedAccountId!==i.accountScope)throw et({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:m.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=$c({getRuntime:()=>a.localData,purgeCurrentAccount:C}),f={start:s=>a.connection.connect(s),stop:async s=>{a.connection.disconnect(s);},logout:g,getSnapshot:()=>a.connection.getLifecycle(),subscribe:s=>(s(a.connection.getLifecycle()),a.connection.subscribe(i=>{(i.type==="connection:changed"||i.type==="receiving:changed"||i.type==="syncing:changed")&&s(a.connection.getLifecycle());}))},E=qc({subscribeCore:s=>a.connection.subscribe(s),getLifecycleSnapshot:()=>a.connection.getLifecycle(),getConversation:s=>{let i=a.conversations.list().find(m=>m.type===s.conversationType&&m.id===s.conversationId);return i===void 0?void 0:Hr(i)},resolveContactApplicationAnswer:async s=>{let i=a,m=await i.contact.resolveApplicationAnswer(s.peerId,s.messageId);return a===i?m:null}}),w={listFirstPage:s=>a.contact.listFirstPage(s),listNextPage:s=>a.contact.listNextPage(s),getProfile:(s,i)=>a.contact.getProfile(s,i),getRelationship:s=>a.contact.getRelationship(s),setRemark:(s,i)=>a.contact.setRemark(s,i),searchUser:s=>a.contact.searchUser(s),requestFriendship:(s,i)=>a.contact.requestFriendship(s,i),blockUser:s=>a.contact.blockUser(s),reportUser:(s,i)=>a.contact.reportUser(s,i),deleteFriendship:s=>a.contact.deleteFriendship(s)},S={listFirstPage:s=>a.group.listFirstPage(s),listNextPage:s=>a.group.listNextPage(s),uploadAvatar:s=>a.group.uploadAvatar(s),create:s=>a.group.create(s),createFaceToFace:()=>a.group.createFaceToFace(),get mentions(){return a.group.mentions},getProfile:(s,i)=>a.group.getProfile(s.conversationId,i),updateName:(s,i)=>a.group.updateName(s.conversationId,i),updateAvatar:async(s,i)=>{await a.group.updateAvatar(s.conversationId,i);},setMyNickname:(s,i)=>a.group.setMyNickname(s.conversationId,i),updateVerification:(s,i,m)=>a.group.updateVerification(s.conversationId,i,m),requestJoin:(s,i)=>a.group.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>a.group.joinByInviteCode(s.conversationId,i),getPinnedMessage:s=>a.group.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>a.group.pinMessage({groupId:s.conversationId,messageId:i}),unpinMessage:s=>a.group.unpinMessage(s.conversationId)},x={listFirstPage:s=>a.channel.listFirstPage(s),listNextPage:s=>a.channel.listNextPage(s),uploadAvatar:s=>a.channel.uploadAvatar(s),create:s=>a.channel.create(s),get mentions(){return a.channel.mentions},getProfile:(s,i)=>a.channel.getProfile(s.conversationId,i),updateVerification:(s,i,m)=>a.channel.updateVerification(s.conversationId,i,m),requestJoin:(s,i)=>a.channel.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>a.channel.joinByInviteCode(s.conversationId,i),setAllMuted:(s,i)=>a.channel.setAllMuted(s.conversationId,i),setMemberPrivateChatDisabled:(s,i)=>a.channel.setMemberPrivateChatDisabled(s.conversationId,i),setMyNickname:(s,i)=>a.channel.setMyNickname(s.conversationId,i),setMemberNickname:(s,i,m)=>a.channel.setMemberNickname(s.conversationId,i,m),dismiss:s=>a.channel.dismiss(s.conversationId),getPinnedMessage:s=>a.channel.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>a.channel.pinMessage({channelId:s.conversationId,messageId:i}),unpinMessage:s=>a.channel.unpinMessage(s.conversationId)};function v(){return y!==void 0||(u=true,y=a.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),y}let _={get session(){return f},get connection(){return a.connection},get conversations(){return a.conversations},get directory(){return a.directory},get robots(){return a.robots},get contacts(){return w},get groups(){return S},get channels(){return x},get events(){return E},get contact(){return a.contact},get group(){return a.group},get channel(){return a.channel},get media(){return a.media},get calls(){return a.calls},get groupCalls(){return a.groupCalls},get settings(){return a.settings},get push(){return a.push},get outbox(){return a.outbox},get localData(){return h},get search(){return a.search},get applications(){return a.applications},get expressions(){return a.expressions},get sessionFavorites(){return a.sessionFavorites},get drafts(){return a.drafts},get openConversation(){return a.openConversation},logout:g,dispose:v};return Vo(_,()=>a.advancedMessageDiagnostics),_}var cf=new TextEncoder;function Il(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 vl(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))vl(r,n);return Object.freeze(e)}function df(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:vl(n),estimatedBytes:cf.encode(r).byteLength}}catch{return}}function lf(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&&lf(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 pf(e={}){let n=Il(e.maxRecords,200,"maxRecords"),r=Il(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,o=[],c=0,a=0,u=false;function y(h){let f=o.map(E=>E.record).filter(E=>h===void 0||uf(E,h));return Object.freeze({records:Object.freeze(f),droppedCount:a,estimatedBytes:c,disposed:u})}function g(){let h=y();for(let f of d)try{f(h);}catch{}}function C(){o.length=0,c=0,a=0;}return {write(h){if(u)return;let f=df(h);if(f===void 0||f.estimatedBytes>r){a+=1,g();return}for(o.push(f),c+=f.estimatedBytes;o.length>n||c>r;){let E=o.shift();if(E===void 0)break;c-=E.estimatedBytes,a+=1;}g();},getSnapshot:y,subscribe(h){if(u)return ()=>{};d.add(h);let f=true;return ()=>{f&&(f=false,d.delete(h));}},clear(){u||(C(),g());},dispose(){u||(u=true,C(),d.clear());}}}function mf(e){let n=$a({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 o(a){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(!(a.file instanceof Blob))return Promise.reject(new Xa("upload-source-invalid","Resource upload requires a File or Blob"));if(a.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let y=new AbortController,g=()=>y.abort();a.signal?.addEventListener("abort",g,{once:true});let C=true,h=()=>{if(y.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=a.filename??(typeof File<"u"&&a.file instanceof File?a.file.name:void 0),E=(async()=>{try{let w=await u.uploadResource({data:a.file,kind:a.kind,...f===void 0?{}:{filename:f},...a.file.type===""?{}:{mimeType:a.file.type},signal:y.signal,onProgress:S=>{C&&!y.signal.aborted&&a.onProgress?.(S);}});if(h(),w.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:w.url}}catch(w){throw w instanceof Xa&&w.code==="multipart-abort-failed"||h(),w}finally{C=false,a.signal?.removeEventListener("abort",g);}})();return r.set(y,E),E.then(()=>r.delete(y),()=>r.delete(y)),E}function c(){if(d!==void 0)return d;n=void 0;let a=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(a).then(()=>{}),d}return {upload:o,dispose:c}}export{Tu as a,Gc as b,xe as c,Lr as d,Ku as e,Ur as f,Mc as g,Sc as h,Oo as i,xo as j,Ec as k,Kr as l,Lo as m,Gr as n,of as o,SI as p,PI as q,pf as r,mf as s};