k2-im 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {A,Sa,Ra,B,o,s,t,v,z,r,k,l,h,Oa,Na,Ma,d,g,u,e,a,ca,Q,ja,Pa as Pa$1,da,X,Y,R,W,T,V as V$1,S,aa,Ja,pa,ba,Ka as Ka$1,qa,Ca as Ca$1,Da as Da$1,ya,za,Ga as Ga$1,Z,b as b$1,Ia,_,$,La as La$1,Ha as Ha$1,U,Fa as Fa$1,Aa,Ba as Ba$1,m as m$1,n,f,ua as ua$1,va,c as c$1,w as w$1,ta as ta$1,ra,ka,x,y,i,p as p$1,P,j as j$1,q as q$1,ha as ha$1,ga as ga$1,fa as fa$1,ea as ea$1,ma,la,ia,O,K,J,I,H,G as G$1,F,N,M,oa as oa$1,na as na$1,L,E,D,C,Ea as Ea$1,wa,xa,sa as sa$1,Qa as Qa$1}from'./chunk-KBKZ27GY.js';import {b,cb,oa,eb,db,Ba,ab,_a,$a,Za,Ma as Ma$1,Na as Na$1,Oa as Oa$1,Pa,ea,fa,ga,ha,Ea,Fa,Xa,Sa as Sa$1,Ra as Ra$1,Qa,Va,Ya,Ua,Ta,l as l$1,m,Wa,Ca,ua,Ha,Ga,La,Ka,bb,fb,j,Da,r as r$1,s as s$1,t as t$1,u as u$1,Ja as Ja$1,sa,ta,Z as Z$1,X as X$1,d as d$1,c,w,G,ya as ya$1,h as h$1,q,p,n as n$1,Ia as Ia$1,da as da$1,x as x$1,na,v as v$1,_ as _$1,pa as pa$1}from'./chunk-KZM3GLRL.js';async function dd(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let c={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(c.fromPrefix===c.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(c);}catch(i){try{await e.migrator.rollback(c,i);}catch(d){throw new AggregateError([i,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var fe=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 dn(e,n,r){return n===39081?new fe({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new fe({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function ln(e,n){return n instanceof fe?n:n instanceof b$1?new fe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new fe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function yt(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function ld(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function ht(e){let{teaKey:n,fileEncryptType:r,...c}=e;return c}function ud(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(ht(e.image))},...e.video===void 0?{}:{video:Object.freeze(ht(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(ht(e.voice))},...e.file===void 0?{}:{file:Object.freeze(ht(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...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.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Ct(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:ud(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:ld(e.reactions)}})}function kn(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:X$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function V(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function vt(e,n,r){return V({...{"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},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function yn(e,n,r){return V({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function On(e,n){let r=new Uint8Array(await n.arrayBuffer()),c=typeof File<"u"&&n instanceof File?n.name:void 0,d=(await e.uploadAvatar({data:r,...c===void 0?{}:{filename:c},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(d==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return d}var pd="IM_SDK_GROUP_NOT_MEMBER",md="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",fd="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",gd="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ri(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Id(e,n,r){if(Ri(e))return e;let c=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c===39011?pd:c===39029?md:c===39033?fd:e instanceof c$1?gd:e instanceof b$1?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka?"contract":e instanceof b$1?"network":c===39029?"permission":"state",s=V({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"group",conversationId:r},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function hn(e,n,r){try{return await r()}catch(c){throw Id(c,e,n)??c}}var Ai=39005,yd=39057,hd=39061;function wi(e){let n=new Map,r=new Map,c=true,i=p=>({conversationType:"group",conversationId:p});function d(p){r.set(p,(r.get(p)??0)+1);}function s(p){if(!c||n.has(p))return;let P=r.get(p)??0,N=(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:p}}});return}try{let b=await aa({client:e.coreClient,groupId:p});if(!c||(r.get(p)??0)!==P)return;if(!b.ok){e.emitter.emit({type:"error",error:{scope:"http",code:b.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${b.message}`,cause:{conversationId:p}}});return}if(b.data===null){e.domainState.clearPinnedMessage(i(p),"reconcile");return}e.domainState.setPinnedMessage(r$1(b.data.messageContent,{conversationId:p}),"reconcile");}catch(b){if(!c||(r.get(p)??0)!==P)return;let T=b instanceof h$1||b instanceof q?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:b}});}})();n.set(p,N),N.finally(()=>{n.get(p)===N&&n.delete(p);});}let I=Da({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated"||p.message.conversationType!=="group")return;let P=p.message.body.system?.pinnedMessageAction;(P?.type==="pin"||P?.type==="unpin")&&d(p.message.conversationId),I.handleMessage(p.message);});function h(p,P){if(P.trim()==="")throw new fe({operation:p,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let N=e.domainState.getSession(i(P));if(N===void 0)throw new fe({operation:p,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(N.type!=="group")throw new fe({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function _(p,P){if(e.coreClient===void 0)throw new fe({operation:p,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,P),e.coreClient}return {operations:{pinMessage:async({groupId:p,messageId:P})=>{let N=_("pin",p),b=e.domainState.getConversationMessage(i(p),P);if(b===void 0)throw new fe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(b.conversationType!=="group")throw new fe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(b.conversationId!==p)throw new fe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:T,pinnedMessage:g}=s$1(b),m=await pa({client:N,groupId:p,messageContent:T});if(!m.ok)throw dn("pin",m.code,m.message);d(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new fe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(T){throw ln("pin",T)}},unpinMessage:async p=>{let P=_("unpin",p);try{let N=await Ja({client:P,groupId:p});if(!N.ok)throw dn("unpin",N.code,N.message);d(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(N){throw ln("unpin",N)}},getPinnedMessage:async p=>{let P=_("get",p);try{let N=await aa({client:P,groupId:p});if(!N.ok)throw dn("get",N.code,N.message);if(d(p),N.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let b=r$1(N.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(b,"reconcile");let T=e.domainState.getPinnedMessage(i(p));if(T===void 0)throw new fe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(N){throw ln("get",N)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{c&&(c=false,y());}}}function Ti(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,c=new Map,i=new Map;function d(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function s(o){let u=[],C=new Set;for(let S of o){if(S.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");C.has(S.userId)||(C.add(S.userId),u.push(Object.freeze({userId:S.userId,displayName:S.nickName.trim()===""?S.userId:S.nickName})));}return Object.freeze(u)}async function I(o,u){d(o);let C=e.profile?.listGroupMembers;if(C===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 S=o.conversationId,v=r.get(S);if(!u&&v!==void 0)return v;let D=i.get(S);if(D!==void 0&&(!u||D.refresh))return D.promise;let G=(c.get(S)??0)+1;c.set(S,G);let J=Promise.resolve().then(()=>C(S,u?{forceRefresh:true}:void 0)).then(oe=>{if(oe===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let x=s(oe);return c.get(S)===G&&r.set(S,x),x}).finally(()=>{i.get(S)?.promise===J&&i.delete(S);});return i.set(S,{refresh:u,promise:J}),J}function y(o,u,C,S){let D=V({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...C===void 0?{}:{details:C},...S===void 0?{}:{cause:S}});return Object.assign(new Error(u),D)}function h(o,u,C,S){let v=V({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...C===void 0?{}:{details:C},...S===void 0?{}:{cause:S}});return Object.assign(new Error(u),v)}function _$1(o){if(o===null||typeof o!="object"||o===void 0)throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let u=o.group_id;if(typeof u!="string"&&typeof u!="number"||String(u).trim()==="")throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let C=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(C)||C!==1&&C!==2)throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let S=String(u),v=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:S}),activation:C===1?"pending":"active",...v===void 0||v===""?{}:{avatarUrl:v},qrPayload:yt(S,v)})}function A(o){if(o===void 0)return;let u=typeof o=="number"?o:Number(o);return Number.isSafeInteger(u)?u:void 0}function p(o){if(typeof o=="boolean")return o;if(o===1||o==="1"||o==="true")return true;if(o===0||o==="0"||o==="false")return false}function P(o){if(o===null||typeof o!="object"||o===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let u=o.group_id;if(typeof u!="string"&&typeof u!="number"||String(u).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let C=String(u),S=o,v=S.name?.trim()??"";if(v==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let D=A(S.total_users),G=A(S.status),J=A(S.verify_way),oe=A(S.update_version),x=p(S.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:C}),name:v,...S.head_img_url?.trim()===""||S.head_img_url===void 0?{}:{avatar:S.head_img_url},...S.user_id===void 0?{}:{ownerId:String(S.user_id)},...D===void 0?{}:{memberCount:D},...G===void 0?{}:{status:G},...x===void 0?{}:{isInGroup:x},...J===void 0?{}:{verifyWay:J},...oe===void 0?{}:{updateVersion:oe},...S.invite_code===void 0?{}:{inviteCode:S.invite_code}}}function N(o){let u=o.name.trim();if(u==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(u.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let C=o.memberIds;if(!Array.isArray(C))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let S=C.map(D=>typeof D=="string"?D.trim():"");if(S.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let v=[...new Set(S)];if(v.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:u,memberIds:v}}function b(o,u){let C=o.trim();if(C==="")throw new Error(`${u}\u4E0D\u80FD\u4E3A\u7A7A`);return C}function T(){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 g(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let u=o.map(C=>b(C,"\u7FA4\u6210\u5458 id"));return [...new Set(u)]}function m(o,u,C){if(o!==1&&o!==2&&o!==4){let v=V({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:C}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),v)}if(o!==4)return {verifyWay:o};let S=u?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(S)){let v=V({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:C}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),v)}return {verifyWay:o,inviteCode:S}}function a(o){r.delete(o),c.set(o,(c.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>I(o,false),refreshAll:o=>I(o,true)},getProfile:(o,u)=>e.profile?.getGroupProfile(o,u)??Promise.resolve(null),listMembers:(o,u)=>e.profile?.listGroupMembers?.(o,u)??Promise.resolve(null),getMemberNames:(o,u)=>e.profile?.getGroupMemberNames?.(o,u)??Promise.resolve(null),peekMembers:o=>e.profile?.peekGroupMembers?.(o)??Promise.resolve(null),peekMemberNames:o=>e.profile?.peekGroupMemberNames?.(o)??Promise.resolve(null),peekProfile:o=>e.profile?.peekGroupProfile?.(o)??Promise.resolve(null),updateName:async(o,u)=>{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 C=u.trim();if(o===""||C==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await La$1({client:e.coreClient,groupId:o,name:C}),e.domainState.updateConversationProfile(o,{title:C}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,u)=>{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(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let C=await On(e.avatarTransfer,u);return await La$1({client:e.coreClient,groupId:o,avatarUrl:C}),e.domainState.updateConversationProfile(o,{avatar:C}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),C},uploadAvatar:async o=>{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 On(e.avatarTransfer,o)},create:async o=>{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.ensureConversation===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 u=N(o);try{let C=await $({client:e.coreClient,name:u.name,memberIds:u.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!C.ok){let v=C.code===Ai?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":C.code===yd?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":C.code===hd?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(v,C.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:C.code,message:C.message}))}let S=P(C.data);return e.domainState.ensureConversation({id:S.ref.conversationId,type:"group",title:S.name,...S.avatar===void 0?{}:{avatar:S.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:S})}catch(C){throw C!==void 0&&typeof C=="object"&&C!==null&&"code"in C&&String(C.code).startsWith("IM_SDK_")?C:C instanceof b$1?y("IM_SDK_GROUP_CREATE_NETWORK_FAILED",C.message,void 0,C):y("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,C)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw h("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await _({client:e.coreClient});if(!o.ok){let u=o.code===Ai?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw h(u,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:_$1(o.data)})}catch(o){throw Ri(o)?o:o instanceof b$1?h("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):h("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,u)=>{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(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ia({client:e.coreClient,groupId:o,nickname:u}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,u,C)=>{let S=T(),v=b(o,"\u7FA4 id"),D=m(u,C,v);await hn("groups.updateVerification",v,()=>ia({client:S,groupId:v,verifyWay:D.verifyWay,...D.inviteCode===void 0?{}:{inviteCode:D.inviteCode}})),a(v);},requestJoin:async(o,u)=>{let C=T(),S=b(o,"\u7FA4 id"),v=u?.remarks?.trim();return hn("groups.requestJoin",S,()=>la({client:C,groupId:S,...v===void 0?{}:{remarks:v}}))},joinByInviteCode:async(o,u)=>{let C=T(),S=b(o,"\u7FA4 id"),v=u.trim();if(!/^\d{6}$/.test(v))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return hn("groups.joinByInviteCode",S,()=>ma({client:C,groupId:S,inviteCode:v}))},inviteMembers:async(o,u)=>{let C=T(),S=b(o,"\u7FA4 id"),v=g(u);if(v.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await hn("groups.inviteMembers",S,()=>ea$1({client:C,groupId:S,userIds:v})),a(S);},removeMember:async(o,u)=>{let C=T(),S=b(o,"\u7FA4 id"),v=b(u,"\u5F85\u79FB\u9664\u6210\u5458 id");await hn("groups.removeMember",S,()=>fa$1({client:C,groupId:S,userId:v})),a(S);},transferOwnership:async(o,u)=>{let C=T(),S=b(o,"\u7FA4 id"),v=b(u,"\u65B0\u7FA4\u4E3B id");await hn("groups.transferOwnership",S,()=>ga$1({client:C,groupId:S,userId:v})),a(S);},leave:async(o,u)=>{let C=T();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 S=b(o,"\u7FA4 id"),v=u?.newOwnerId===void 0?void 0:b(u.newOwnerId,"\u65B0\u7FA4\u4E3B id");await hn("groups.leave",S,()=>ha$1({client:C,groupId:S,...v===void 0?{}:{newOwnerId:v}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:S},"group_left"),a(S);},...e.pinned}}function Di(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 ki=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Oi(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function or(e,n){let r=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,i=Oi();return cb({enabled:r,level:c?.level??"trace",categories:c?.categories??ki,...r?{sink:c?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var xi=[{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 ar=Object.freeze(xi.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Ni=new Map(ar.flatMap(e=>e.tokens.map(n=>[n,e])));function Li(e){return Ni.get(e)}function Fi(e){return Ni.has(e)}var Ki="settings:read-receipts:v1",Ui="settings:appearance:v1",St=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function nn(e){return V({...e,retryable:e.retryable??false})}function cr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function dr(){return {fontScale:1}}function ir(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function vd(e){if(typeof e!="object"||e===null)return cr();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[c,i]of Object.entries(n.peerOverrides))c.trim()!==""&&typeof i=="boolean"&&(r[c]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function Md(e){if(typeof e!="object"||e===null)return dr();let n=e.fontScale;return {fontScale:Bi(n)?n:1}}function Bi(e){return typeof e=="number"&&St.includes(e)}function sr(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw nn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Mt(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw nn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Gi(e){let n=false,r=false,c=false,i,d,s=cr(),I=Promise.resolve(),y=false,h,_=dr(),A=Promise.resolve();function p(u){return nn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:u})}function P(u){if(n)throw p(u)}async function N(u,C){if(P(C),r)return;let S;try{S=Mt(e.storage,C);}catch(v){if(!u)return;throw v}try{let v=await S.getMeta(Ki);P(C),s=vd(v),r=!0,c=!1;}catch(v){throw n?p(C):(c=true,nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:C,cause:v}))}}function b(u){return P(u),r?Promise.resolve():(i===void 0&&(i=N(true,u).finally(()=>{i=void 0;})),i)}async function T(u){if(P(u),!y)try{let C=await Mt(e.storage,u).getMeta(Ui);P(u),_=Md(C),y=!0;}catch(C){throw n?p(u):typeof C=="object"&&C!==null&&"code"in C?C:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:u,cause:C})}}function g(u){return P(u),y?Promise.resolve():(h===void 0&&(h=T(u).finally(()=>{h=void 0;})),h)}async function m(u,C,S){P(u);let v=I.then(async()=>{P(u),await b(u),P(u);let D=ir(s),G=C(ir(s));try{await Mt(e.storage,u).setMeta(Ki,ir(G));}catch(J){throw n?p(u):typeof J=="object"&&J!==null&&"code"in J?J:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:u,cause:J})}P(u),s=G,S?.(D,G);});return I=v.catch(()=>{}),v}let a={async getGlobal(){let u="settings.readReceipts.getGlobal";return P(u),await b(u),P(u),s.globalEnabled},setGlobal(u){return typeof u!="boolean"?Promise.reject(nn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):m("settings.readReceipts.setGlobal",C=>({...C,globalEnabled:u}),(C,S)=>{C.globalEnabled&&!S.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(u){let C="settings.readReceipts.getConversation";P(C);let S=sr(u,C);await b(C),P(C);let v=s.peerOverrides[S.conversationId]??true;return Object.freeze({enabled:v,effectiveEnabled:s.globalEnabled&&v})},setConversation(u,C){let S="settings.readReceipts.setConversation",v;try{v=sr(u,S);}catch(D){return Promise.reject(D)}return typeof C!="boolean"?Promise.reject(nn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:S,conversation:v})):m(S,D=>(D.peerOverrides[v.conversationId]=C,D),(D,G)=>{let J=v.conversationId,oe=D.globalEnabled&&(D.peerOverrides[J]??true),x=G.globalEnabled&&(G.peerOverrides[J]??true);oe&&!x&&e.onDirectReadReceiptDisabled?.(J);})},resetConversation(u){let C="settings.readReceipts.resetConversation",S;try{S=sr(u,C);}catch(v){return Promise.reject(v)}return m(C,v=>(delete v.peerOverrides[S.conversationId],v))}},o={fontScale:Object.freeze({async get(){let u="settings.appearance.fontScale.get";return await g(u),P(u),_.fontScale},set(u){let C="settings.appearance.fontScale.set";if(!Bi(u))return Promise.reject(nn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:C,details:{supportedValues:[...St]}}));let S=A.then(async()=>{P(C),await g(C),P(C);let v={fontScale:u};try{await Mt(e.storage,C).setMeta(Ui,v);}catch(D){throw n?p(C):typeof D=="object"&&D!==null&&"code"in D?D:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:C,cause:D})}P(C),_=v;});return A=S.catch(()=>{}),S}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){P("settings.readReceipts.hydrate"),!r&&(i===void 0&&(i=N(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(u){return !n&&!c&&s.globalEnabled&&(s.peerOverrides[u]??true)},dispose(){if(d!==void 0)return d;n=true,s=cr(),_=dr();let u=i,C=I,S=h,v=A;return d=Promise.allSettled([...u===void 0?[]:[u],C,...S===void 0?[]:[S],v]).then(()=>{}),d}}}var ze=Object.freeze({availability:"available",reason:"ok"});function Ve(e){return Object.freeze({availability:"unavailable",reason:e})}function Pe(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function bt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xn(e){return `${e.conversationType}:${e.conversationId}`}function Sd(){return Object.freeze({sendMessages:false})}function bd(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function Pd(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 Ed(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 Ad(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 c=Number(r[1]),i=Number(r[2]),d=Number(r[3]),s=Number(r[4]);if(c>23||d>23||i>59||s>59)return;let I=new Date(n);I.setHours(c,i,0,0);let y=new Date(n);if(y.setHours(d,s,59,999),I.getTime()<=n&&n<=y.getTime())return y.getTime()+1;if(n<I.getTime())return I.getTime();let h=I;return h.setDate(h.getDate()+1),h.getTime()}function xn(e,n,r){let c=n.get(Xn(e));if(c!==void 0)for(let i of [...c])i(r);}function ji(e){let n=new Map,r=new Map,c=new Map,i=new Map,d=new Map,s=new Map,I,y=new Set,h=e.getSessionUserId(),_=0;function A(D){D.conversationType==="direct"?n.delete(D.conversationId):D.conversationType==="group"?r.delete(D.conversationId):c.delete(D.conversationId);}function p(){n.clear(),r.clear(),c.clear(),s.clear(),y=new Set;}function P(){let D=e.getSessionUserId();return D!==h&&(h=D,p()),D}function N(D){P();let G=++_;return s.set(Xn(D),G),G}function b(D,G){return P(),s.get(Xn(D))===G}function T(D,G={}){P();let J=G.nowMs??Date.now(),oe=e.getConversation(D);if(D.conversationType==="direct"){let ae=bt({conversationType:"direct",conversationId:D.conversationId}),ce=n.get(D.conversationId),ye=ce?.relationship??"unknown",se=bd(ye),Se=se==="ok"?ze:se==="relationship-unknown"?Pe(se):Ve(se),we=ye==="friend"?ze:ye==="unknown"?Pe(se):Ve(se);return Object.freeze({ref:ae,conversationType:"direct",evaluatedAt:J,value:Object.freeze({relationship:ye,...ce===void 0?{}:{relationshipCheckedAt:ce.checkedAt},canSendMessages:Se,canOpenProfile:ze,canUseMessageActions:Se,canManageRelationship:we})})}if(D.conversationType==="group"){let ae=bt({conversationType:"group",conversationId:D.conversationId}),ce=r.get(D.conversationId),ye=oe?.ref.conversationType==="group"?oe.groupState??"active":"unknown",se=Pd(ye),Se=se==="ok",we=e.getSessionUserId(),Te=ce?.ownerId,We=we!==void 0&&Te!==void 0&&we===Te,xe=Se?ze:Ve(se),$e=Se?ce===void 0?Pe("not-ready"):We?ze:Ve("role-insufficient"):Ve(se);return Object.freeze({ref:ae,conversationType:"group",evaluatedAt:J,value:Object.freeze({membership:ye,...Te===void 0?{}:{ownerId:Te},isOwner:We,canSendMessages:xe,canOpenProfile:xe,canReadHistory:ze,canUseMessageActions:xe,canViewMembers:xe,canEditProfile:$e,canInviteMembers:xe,canManageMembers:$e,canPinMessages:$e,canUnpinMessages:$e,canTransferOwnership:$e,canLeave:xe,canUpdateVerification:$e})})}let x=bt({conversationType:"channel",conversationId:D.conversationId}),z=c.get(D.conversationId),re=oe?.ref.conversationType==="channel"&&oe.channelState!==void 0?oe.channelState:z?.state;if(re===void 0)return Object.freeze({ref:x,conversationType:"channel",evaluatedAt:J,value:Object.freeze({state:"unknown",role:z?.role??"unknown",permissions:Sd(),canSendMessages:Pe("unknown-restricted"),canOpenProfile:Pe("unknown-restricted"),canReadHistory:ze,canUseMessageActions:Pe("unknown-restricted"),canMutateMessages:Pe("unknown-restricted"),canPinMessages:Pe("unknown-restricted"),canUnpinMessages:Pe("unknown-restricted"),canDeleteMessagesForEveryone:Pe("unknown-restricted"),canMentionAll:Pe("unknown-restricted"),canViewMembers:Pe("unknown-restricted"),canEditProfile:Pe("unknown-restricted"),canManageMembers:Pe("unknown-restricted"),canManageMute:Pe("unknown-restricted"),canDismiss:Pe("unknown-restricted"),canTransferOwnership:Pe("unknown-restricted"),canLeave:Pe("unknown-restricted"),canInviteMembers:Pe("unknown-restricted"),canSetMemberAdmin:Pe("unknown-restricted"),canRemoveMembers:Pe("unknown-restricted"),canSetMemberPrivateChat:Pe("unknown-restricted")})});let E=ta({channelState:re,nowMs:J,...oe?.ref.conversationType==="channel"&&oe.channelAccessSnapshot!==void 0?{snapshot:oe.channelAccessSnapshot}:{},...oe?.ref.conversationType==="channel"&&oe.channelPermissions!==void 0?{permissions:oe.channelPermissions}:z?.permissions===void 0?{}:{permissions:z.permissions}}),U=Ed(E.channelState,E.muteReason),q=E.channelState==="active"||E.channelState==="muted",X=E.channelState==="active"?E.permissions.sendMessages?ze:Ve("unknown-restricted"):Ve(U),ne=ae=>q&&ae?ze:Ve(q?"role-insufficient":U),R=ae=>E.channelState==="active"&&ae?ze:Ve(E.channelState==="muted"?U:q?"role-insufficient":U),F=z?.memberPrivateChatDisabled===false||E.permissions.manageMembers===true,K=q?z===void 0&&E.permissions.manageMembers!==true?Pe("not-ready"):ne(F):Ve(U),$=E.channelState==="muted"?Ve(U):q?ze:Ve(U),B=Ad(oe,J);return Object.freeze({ref:x,conversationType:"channel",evaluatedAt:J,...B===void 0?{}:{nextEvaluationAt:B},value:Object.freeze({state:E.channelState,role:z?.role??oe?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...E.permissions}),...E.muteReason===void 0?{}:{muteReason:E.muteReason},canSendMessages:X,canOpenProfile:q?ze:Ve(U),canReadHistory:ze,canUseMessageActions:q?ze:Ve(U),canMutateMessages:$,canPinMessages:R(E.permissions.moderateMessages===true),canUnpinMessages:R(E.permissions.moderateMessages===true),canDeleteMessagesForEveryone:R(E.permissions.moderateMessages===true),canMentionAll:ne(E.permissions.mentionAll===true),canViewMembers:K,canEditProfile:ne(E.permissions.editProfile===true),canManageMembers:ne(E.permissions.manageMembers===true),canManageMute:ne(E.permissions.manageMute===true),canDismiss:ne(E.permissions.dismissChannel===true),canTransferOwnership:ne(E.permissions.transferOwnership===true),canLeave:q?ze:Ve(U),canInviteMembers:ne(E.permissions.manageMembers===true),canSetMemberAdmin:ne(E.permissions.manageAdmins===true),canRemoveMembers:ne(E.permissions.manageMembers===true),canSetMemberPrivateChat:ne(E.permissions.manageMute===true)})})}async function g(D,G={}){let J=N(D);if(D.conversationType==="direct"){let oe=await e.getRelationship(D.conversationId);b(D,J)&&m(D.conversationId,oe,J);}else if(D.conversationType==="group"){let oe={conversationType:"group",conversationId:D.conversationId},x=await e.getGroupProfile(oe,{forceRefresh:true});b(D,J)&&a(oe,x,J);}else {let oe={conversationType:"channel",conversationId:D.conversationId},x=await e.getChannelProfile(oe,{forceRefresh:true});b(D,J)&&o(oe,x,J);}return T(D,G)}function m(D,G,J){let oe={conversationType:"direct",conversationId:D};b(oe,J)&&(n.set(D,{relationship:G,checkedAt:Date.now()}),xn(oe,i,T(oe)));}function a(D,G,J){b(D,J)&&(r.set(D.conversationId,G),xn(D,i,T(D)));}function o(D,G,J){b(D,J)&&(c.set(D.conversationId,G),xn(D,i,T(D)));}function u(D,G,J={}){P();let oe=Xn(D),x=i.get(oe)??new Set;return x.add(G),i.set(oe,x),d.set(oe,bt(D)),G(T(D,J)),I===void 0&&(I=e.subscribeConversations(z=>{P();let re=Date.now(),E=new Set(z.map(U=>Xn(U.ref)));for(let U of z){let q=T(U.ref,{nowMs:re});xn(U.ref,i,q);}for(let[U,q]of d){if(!y.has(U)||E.has(U))continue;A(q);let X=T(q,{nowMs:re});xn(q,i,X);}y=E;})),()=>{x.delete(G),x.size===0&&i.delete(oe),i.has(oe)||d.delete(oe),i.size===0&&(I?.(),I=void 0,y=new Set);}}function C(){p();let D=Date.now();for(let G of d.values())xn(G,i,T(G,{nowMs:D}));}function S(){I?.(),I=void 0,i.clear(),d.clear(),p();}let v=Object.freeze({get:T,refresh:g,subscribe:u});return Object.freeze({...v,api:v,beginProjectionUpdate:N,updateRelationshipProjection:m,updateGroupProfileProjection:a,updateChannelProfileProjection:o,reset:C,dispose:S})}var Rd=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function tn(e,n){let r=e?.conversationType,c=e?.conversationId;if(r==="supergroup")throw V({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof c!="string"||c.trim()==="")throw V({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:c})}function wd(e){return e===null?null:Object.freeze({ref:tn(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 Td(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==="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 lr(e){let n=Td(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})}}),c=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),i=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:tn({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},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"&&c!==void 0?{channelPermissions:c}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:wd(e.draft)})}function _d(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Cn(e,n,r,c){return _d(e)?e:V({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...c===void 0?{}:{conversation:c},cause:e})}function Hi(e){let n=new Set,r,c,i;function d(){return Object.freeze(e.getCompatibilityApi().list().map(lr))}function s(){let A=e.getSessionState();return A==="preparing"?"loading":A==="ready"?"ready":"idle"}function I(){try{let A=d();return Object.freeze({state:c??s(),items:A,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(A){let p=Cn(A,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(p)})}}function y(){let A=I();for(let p of [...n])p(A);}function h(A){return n.add(A),A(I()),r===void 0&&(r=e.subscribeEvents(p=>{Rd.has(p.type)&&y();})),()=>{n.delete(A),n.size===0&&(r?.(),r=void 0);}}return {api:{list:d,getBackground:A=>e.getCompatibilityApi().getBackground(tn(A,"conversations.getBackground")),setBackground:(A,p)=>e.getCompatibilityApi().setBackground(tn(A,"conversations.setBackground"),p),resetBackground:A=>e.getCompatibilityApi().resetBackground(tn(A,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:A=>e.getCompatibilityApi().setDefaultBackground(A),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:A=>e.getCompatibilityApi().listBackgroundPresets(A),getSnapshot:I,subscribe:h,async refresh(){c="loading",i=void 0,y();try{await e.getCompatibilityApi().sync(),c=void 0,y();}catch(A){throw c="error",i=Cn(A,"conversations.refresh",true),y(),i}},getTotalUnread(A){return d(),e.getCompatibilityApi().getTotalUnread(A)},setPinned(A,p){let P=tn(A,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(P,p);}catch(N){throw Cn(N,"conversations.setPinned",false,P)}},async setMuted(A,p){let P=tn(A,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(P,p);}catch(N){throw Cn(N,"conversations.setMuted",true,P)}},async markRead(A){let p=tn(A,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(p);}catch(P){throw Cn(P,"conversations.markRead",true,p)}},markUnread(A){let p=tn(A,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(p);}catch(P){throw Cn(P,"conversations.markUnread",false,p)}},deleteLocal(A){let p=tn(A,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(p);}catch(P){throw Cn(P,"conversations.deleteLocal",false,p)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Dd=128,kd=8,Od=64*1024*1024,xd=3,Pt=1024*1024;function Nd(e){let n=0,r=false,c=[];function i(){if(!r)for(;n<e&&c.length>0;){let d=c.shift();if(d.signal.removeEventListener("abort",d.onAbort),d.signal.aborted){d.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let s=false;d.resolve(()=>{s||(s=true,n=Math.max(0,n-1),i());});}}return {acquire(d){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,I)=>{let y={resolve:s,reject:I,signal:d,onAbort:()=>{let h=c.indexOf(y);h>=0&&c.splice(h,1),I(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",y.onAbort,{once:true}),c.push(y),i();})},dispose(){r=true;for(let d of c.splice(0))d.signal.removeEventListener("abort",d.onAbort),d.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function zi(){return oa([{kind:"image",softMaxBytes:512*Pt,maxEntries:512,maxEntryBytes:30*Pt},{kind:"video",softMaxBytes:1792*Pt,maxEntries:64,maxEntryBytes:200*Pt}])}function Vi(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Ld(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Et(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ur(e,n,r){return `${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`}function pr(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw De({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let c=Et({conversationType:n,conversationId:r});return qi({id:ur(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:Vi(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:Fd(e.failure,c)}})}function De(e){let n=V(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Fd(e,n){if(e===void 0)return;let r=e.displayCode,i=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.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(V({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function qi(e){return Object.freeze({...e,ref:Et(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function Kd(e){let n=e?.conversation,r=n?.conversationType,c=n?.conversationId;if(r==="supergroup")throw De({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof c!="string"||c.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw De({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Et({conversationType:r,conversationId:c})}function Wi(e){let n=true,r=0,c=new Map,i=new Set,d=new Map,s=new Map,I=new Map,y=Nd(xd),h=e.maxCachedBlobs??kd,_=e.maxCachedBlobBytes??Od,A=0;function p(){if(!n||!e.isActive())throw De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function P(){return Object.freeze([...c.values()])}function N(){let E=P();for(let U of [...i])try{U(E);}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 b(E){let U=I.get(E);U!==void 0&&(A-=U.size,I.delete(E));}function T(E){c.delete(E),d.delete(E),b(E);}function g(){for(;c.size>Dd;){let E=[...c.values()].find(U=>U.state==="completed"||U.state==="failed"||U.state==="canceled");if(E===void 0)return;T(E.id);}}function m(E){c.set(E.id,qi(E)),g();}function a(E){if(!n||!e.isActive())return;m(E);let U=c.get(E.id);if(N(),!n||!e.isActive()||U===void 0||c.get(E.id)!==U)return;let q={id:U.id,messageId:U.messageId,ref:U.ref,direction:"download",state:U.state,percent:U.percent};e.emitter.emit({type:"media-task:updated",conversation:U.ref,task:q});}function o(E,U){if(b(E),!(U.size>_))for(I.set(E,U),A+=U.size;I.size>h||A>_;){let q=I.keys().next().value;if(q===void 0)break;b(q);}}function u(E,U=true){let q=Kd(E),X=e.domainState.getConversationMessage(q,E.messageId);if(X===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:q});let ne,R,F,K;if(X.contentType==="image"?(ne=X.body.image,R=e.loaders?.loadImage,K="image"):X.contentType==="video"?(ne=X.body.video,R=e.loaders?.loadVideo,K="video"):X.contentType==="voice"?(ne=X.body.voice,R=e.loaders?.loadVoice):X.contentType==="file"&&(ne=X.body.file,R=e.loaders?.loadFile,F=X.body.file?.mimeType),ne===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:q});if(U&&R===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:q});if(ne.url.trim()===""||ne.url.startsWith("blob:"))throw De({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:q});return {ref:q,messageId:X.id,...F===void 0?{}:{mimeType:F},...K===void 0?{}:{cacheKind:K,resourceVersion:pa$1(ne.url)},...R===void 0?{}:{load:R},input:{url:ne.url,...ne.size===void 0?{}:{expectedBytes:ne.size},...ne.teaKey===void 0?{}:{teaKey:ne.teaKey},...ne.fileEncryptType===void 0?{}:{fileEncryptType:ne.fileEncryptType}}}}function C(E){return De({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function S(){return De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function v(E,U,q=r){if(p(),q!==r)return null;let X=ur("download",E.ref,E.messageId),ne=I.get(X);if(ne!==void 0)return I.delete(X),I.set(X,ne),ne;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let R;try{R=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:R===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...R===null?{}:{byteLength:R.bytes.byteLength}});}catch(K){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:K}),U)throw De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(R===null||(p(),q!==r))return null;let F=new Blob([R.bytes],{type:R.mimeType??E.mimeType??""});return o(X,F),F}function D(E,U=false){let q=r,X=ur("download",E.ref,E.messageId),ne=s.get(X);if(ne!==void 0)return ne.promise;if(!U){let $=I.get(X);if($!==void 0)return I.delete(X),I.set(X,$),Promise.resolve($)}b(X);let R=Et(E.ref);d.set(X,Object.freeze({conversation:R,messageId:E.messageId}));let F=new AbortController,K=Promise.resolve().then(async()=>{let $;try{if(!n||!e.isActive())throw S();if(F.signal.aborted)throw C(R);if($=await y.acquire(F.signal),!n||!e.isActive())throw S();if(F.signal.aborted)throw C(R);if(a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"running",percent:0}),!n||!e.isActive())throw S();if(F.signal.aborted)throw C(R);if(!U&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let se=await v(E,!1,q);if(se!==null){if(F.signal.aborted)throw C(R);return a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"completed",percent:100}),se}}let B=E.load;if(B===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:R});let ae=await B({...E.input,signal:F.signal,onProgress:se=>{!n||!e.isActive()||F.signal.aborted||s.get(X)?.controller!==F||c.get(X)?.state!=="running"||a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"running",percent:Vi(se)});}});if(!n||!e.isActive())throw S();if(F.signal.aborted)throw C(R);let ce=ae,ye=new Blob([ce],E.mimeType===void 0?void 0:{type:E.mimeType});if(q===r&&o(X,ye),q===r&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let se=ce.byteLength;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,bytes:ce,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(Se=>{e.onAssetCacheEvent?.({operation:"put",outcome:Se,kind:E.cacheKind,messageId:E.messageId,byteLength:se});}).catch(Se=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:se,cause:Se});});}if(a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"completed",percent:100}),!n||!e.isActive())throw S();return ye}catch(B){if(!n||!e.isActive())throw S();if(F.signal.aborted||typeof B=="object"&&B!==null&&"code"in B&&B.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let ce=C(R);throw c.get(X)?.state!=="canceled"&&a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"canceled",percent:c.get(X)?.percent??0,error:ce}),ce}let ae=De({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:R});throw a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"failed",percent:c.get(X)?.percent??0,error:ae}),ae}finally{$?.(),s.get(X)?.controller===F&&s.delete(X);}});return s.set(X,{controller:F,promise:K}),a({id:X,messageId:E.messageId,ref:R,direction:"download",state:"queued",percent:0}),K}function G(E){try{return p(),D(u(E))}catch(U){return Promise.reject(U)}}async function J(E){let U=u(E,false);return U.cacheKind===void 0?null:await v(U,true)}function oe(E,U){p();let q=c.get(E);if(q===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:U,retryable:false});return q}function x(E,U){return De({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:U,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let z=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||Ld(E.conversation,E.task.ref)&&(m(pr(E.task)),N());});return {api:{getSnapshot(){return p(),P()},subscribe(E){return p(),i.add(E),()=>i.delete(E)},async cancel(E){let U=oe(E,"media.cancel");if(U.state!=="queued"&&U.state!=="running")throw x(U,"media.cancel");if(U.direction==="upload"){if(!e.connection.cancelMediaUpload(U.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:U.ref});return}let q=s.get(E);if(q===void 0)throw x(U,"media.cancel");q.controller.abort();let X=C(U.ref);a({...U,state:"canceled",error:X});},async retry(E){let U=oe(E,"media.retry");if(U.state!=="failed"&&U.state!=="canceled")throw x(U,"media.retry");if(U.direction==="upload"){if(!e.connection.retryMediaUpload(U.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:U.ref});return}if(s.has(E))throw De({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:U.ref});let q=d.get(E);if(q===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await D(u(q),true);},download:G,getCached:J},clearCache(){r+=1,I.clear(),A=0;},dispose(){if(n){n=false,r+=1,z();for(let E of s.values())E.controller.abort();y.dispose(),s.clear(),i.clear(),c.clear(),d.clear(),I.clear(),A=0;}}}}var Ud={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"}},Bd={"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 $i(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gd(e,n){let r=Ud[e.reason];return Object.freeze(V({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function mr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Gd(e.failure,n)}})}function jd(e){let n=$i(e);return mr({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 Hd(e,n,r){let c=V({code:Bd[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(c.code),c,{name:"ImOutboxOperationError"})}function Ji(e){let n=true,r=new Set;function c(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function i(){return c(),Object.freeze(e.operations.getPending().map(jd))}async function d(I,y){c();let h=e.operations.getPending().find(A=>A.id===y),_=I==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!_.accepted)throw Hd(I,_.reason,h===void 0?void 0:$i(h))}return {api:{getSnapshot:i,subscribe(I){c();let y=e.emitter.subscribe(_=>{_.type==="outbox:updated"&&n&&I(i());}),h=()=>{y(),r.delete(h);};return r.add(h),h},retry:I=>d("outbox.retry",I),cancel:I=>d("outbox.cancel",I)},dispose(){if(n){n=false;for(let I of [...r])I();}}}}function zd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function At(e){return Object.freeze({type:"error",error:Object.freeze(V(e))})}function Le(e){throw V(e)}function le(e,n,r){return (typeof e!="string"||e.trim()==="")&&Le({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 Me(e,n){let r=e,c=r?.conversationType,i=r?.conversationId;return c==="supergroup"&&Le({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"||typeof i!="string"||i.trim()==="")&&Le({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:c,conversationId:i})}function Vd(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Qn(e,n){let r=Me(e,n);return r.conversationType!=="direct"&&Le({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 Nn(e,n){let r=Me(e,n);return r.conversationType!=="group"&&Le({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 vn(e,n,r){Vd(e,n)||Le({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function qd(e){return Object.freeze({...e})}function Wd(e,n){return vn(Me(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 $d(e){let n=le(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=Me(e.conversation,"application:updated");r.conversationType!=="group"&&Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let c=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:c})}if(e.domain==="channel"){let r=Me(e.conversation,"application:updated");r.conversationType!=="channel"&&Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let c=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:c})}return Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Jd(e){return Object.freeze({ref:$d(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Yd(e){return Object.freeze({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"}}[e.reason])}function Xd(e){return Object.freeze(V({...{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 Qd(e,n){if(zd(e)){let{cause:r,...c}=e;return At(c)}return At({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Zd(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:qd(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let r=Me(e.conversation,e.type);return vn(Me({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&Le({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(kn(e.message)),source:e.source})}case "message:removed":{let r=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:le(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=Me(e.conversation,e.type),c=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:le(e.messageId,"messageId",r),percent:c})}case "media-task:updated":{let r=Me(e.conversation,e.type);vn(Me(e.task.ref,e.type),r,e.type);let c=pr(e.task);return Object.freeze({type:e.type,ref:r,task:c})}case "session:updated":{let r=Me(e.conversation,e.type);vn(Me({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let c=n.getConversation(r);return c===void 0&&Le({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),vn(c.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:c})}case "session:removed":{let r=Me(e.conversation,e.type);return e.conversationId!==r.conversationId&&Le({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=Me(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&Le({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&vn(Me({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),r,e.type);let c=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:c,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=le(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=Me(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&Le({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=Me(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&Le({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:le(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Le({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:le(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=Me(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Le({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=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Wd(e.draft,r)})}case "draft:cleared":{let r=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=Me(e.conversation,e.type);return vn(Me(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:mr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:le(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Jd(e.application)});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>Me(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Yd(e.issue)});case "error":return Object.freeze({type:e.type,error:Xd(e.error)});case "call:incoming":{let r=Qn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),peerId:le(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Qn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),peerId:le(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Qn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),peerId:le(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Qn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),peerId:le(e.peerId,"peerId",r)})}case "call:failed":{let r=Qn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),peerId:le(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),inviterId:le(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>le(c,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),userId:le(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),userId:le(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>le(c,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),userId:le(e.userId,"userId",r)})}case "group-call:busy":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),userId:le(e.userId,"userId",r),hintUserId:le(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=Nn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:le(e.callId,"callId",r),groupId:le(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Qd(r,e)}}function el(e){let{type:n,...r}=e;return Object.freeze(r)}function nl(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=Me(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Yi(e){let n=new WeakMap;function r(i,d){let s=n.get(i);if(s!==void 0)return s;let I=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:i.notification.messageId}));return n.set(i,I),I}function c(i){let d=true,s=e.subscribeCore(I=>{if(I.type==="contact-application:answered"&&I.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(At({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let _=le(I.notification.responderId,"contactApplicationAnswer.responderId");r(I,_).then(A=>{if(!d||A===null)return;let p=Object.freeze({type:"contact-application:answered",peerId:_,result:A});i(p);}).catch(()=>{d&&i(At({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=Zd(I,e);y!==null&&i(y);let h=nl(I);h!==null&&i(Object.freeze({type:"group:activated",...h}));});return ()=>{d=false,s();}}return {subscribe:i=>c(i),on:(i,d)=>c(s=>{s.type===i&&d(el(s));})}}function Mn(e){let n=V({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 Xi(e){function n(r){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw Mn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return c}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 Mn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:r});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(c){throw Mn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:c})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function Qi(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function Zn(e,n,r,c){return V({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...c===void 0?{}:{conversation:c},details:Object.freeze({expectedId:n,actualId:r})})}function Zi(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function es(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function ns(e,n){if(n.id!==e)throw Zn("contacts.getProfile",e,n.id);let r=n.remark?.trim(),c=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?c||e:n.remark,nickname:c,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(i=>Object.freeze({countryCode:i.countryCode,mobile:i.mobile})))}})}function ts(e,n){if(n.id!==e.conversationId)throw Zn("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Zi(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 tl(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 rs(e,n){if(n.id!==e.conversationId)throw Zn("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:es(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:tl(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 os(e){return e.state==="ready"?Object.freeze({state:"ready",message:Ct(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 Rt(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw Zn("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Zi(e),messageId:n.messageId,preview:os(n.preview)})}function wt(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw Zn("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:es(e),messageId:n.messageId,preview:os(n.preview)})}function rl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function ol(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 al(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function fr(e,n,r){return rl(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&al(e)?V({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:ol(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):V({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 as=new WeakMap;function gr(e,n){as.set(e,n);}function is(e){let n=as.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 il="IM_SDK_CHANNEL_NOT_MEMBER",sl="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",cl="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",dl="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function ll(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ul(e,n,r){if(ll(e))return e;let c=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c===40542?il:c===40527?sl:c===40547?cl:e instanceof c$1?dl:e instanceof b$1?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka?"contract":e instanceof b$1?"network":c===40527?"permission":"state",s=V({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"channel",conversationId:r},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function Oe(e,n,r){try{return await r()}catch(c){throw ul(c,e,n)??c}}var pl={pinMessage:()=>Promise.reject(new fe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new fe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new fe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new fe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function ss(e){let n=new Map,r=new Map,c=true,i=p=>({conversationType:"channel",conversationId:p}),d=p=>{r.set(p,(r.get(p)??0)+1);};function s(p){if(!c||n.has(p))return;let P=r.get(p)??0,N=(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:p}}});return}try{let b=await ba({client:e.coreClient,channelId:p});if(!c||(r.get(p)??0)!==P)return;if(!b.ok){e.emitter.emit({type:"error",error:{scope:"http",code:b.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${b.message}`,cause:{conversationId:p}}});return}if(b.data===null){e.domainState.clearPinnedMessage(i(p),"reconcile");return}e.domainState.setPinnedMessage(t$1(b.data.messageContent,{conversationId:p}),"reconcile");}catch(b){if(!c||(r.get(p)??0)!==P)return;let T=b instanceof h$1||b instanceof q?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:b}});}})();n.set(p,N),N.finally(()=>{n.get(p)===N&&n.delete(p);});}let I=Da({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated")return;let P=p.message;if(P.conversationType!=="channel")return;let N=P.body.system?.pinnedMessageAction;N!==void 0&&p.source!=="live"&&p.channelLifecycleEffects!==true||((N?.type==="pin"||N?.type==="unpin")&&d(P.conversationId),I.handleMessage(P));});function h(p,P){if(P.trim()==="")throw new fe({operation:p,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let N=e.domainState.getSession(i(P));if(N===void 0)throw new fe({operation:p,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(N.type!=="channel")throw new fe({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function _(p,P){if(e.coreClient===void 0)throw new fe({operation:p,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,P),e.coreClient}return {operations:{pinMessage:async({channelId:p,messageId:P})=>{let N=_("pin",p),b=e.domainState.getConversationMessage(i(p),P);if(b===void 0)throw new fe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(b.conversationType!=="channel")throw new fe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(b.conversationId!==p)throw new fe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:T,pinnedMessage:g}=u$1(b),m=await qa({client:N,channelId:p,messageContent:T});if(!m.ok)throw dn("pin",m.code,m.message);d(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new fe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(T){throw ln("pin",T)}},unpinMessage:async p=>{let P=_("unpin",p);try{let N=await Ka$1({client:P,channelId:p});if(!N.ok)throw dn("unpin",N.code,N.message);d(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(N){throw ln("unpin",N)}},getPinnedMessage:async p=>{let P=_("get",p);try{let N=await ba({client:P,channelId:p});if(!N.ok)throw dn("get",N.code,N.message);if(d(p),N.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let b=t$1(N.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(b,"reconcile");let T=e.domainState.getPinnedMessage(i(p));if(T===void 0)throw new fe({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(N){throw ln("get",N)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{c&&(c=false,y());}}}async function un(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var ml={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:un,prefetchFirstPage:un,refreshFirstPage:un,listFirstPage:un,listNextPage:un,searchFirstPage:un,refreshSearchFirstPage:un,searchNextPage:un},fl=new Set(["unknown_restricted","left","removed","dismissed"]);function Fe(e){return fl.has(e)}function cs(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function c(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function i(){if(c(),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 d(_){let A=_.trim();if(A==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return A}async function s(_){let p=await i().listJoinApplications({limit:_?.limit??20,..._?.cursor===void 0?{}:{cursor:_.cursor}});return c(),p}async function I(_,A){c();let p=d(_),P=i();await(A==="accept"?P.acceptJoinApplication(p):P.ignoreJoinApplication(p)),c();}async function y(_,A,p,P$1){r();let N=await P({http:e.http,userId:p,clientType:e.clientType,channelId:_,index:A,containAnchor:P$1,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),N}async function h(_,A,p){let P=await y(_,A,p,true),N=P.messages.find(b=>b.extensions?.historyCursor===A);if(N===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${_}, index=${A}\uFF09`);return {context:P,message:N}}return {applications:{listJoinApplications:s,acceptJoinApplication:_=>I(_,"accept"),ignoreJoinApplication:_=>I(_,"ignore")},loadMessageContext:h,loadNewerPage:(_,A,p)=>y(_,A,p,false),dispose:()=>{n=false;}}}function ds(e){async function n(i,d,s){let I=new Map(d.filter(v$1).sort((h,_)=>h.sortKey.localeCompare(_.sortKey)).map(h=>[h.id,h]));if(I.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=${i}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;I.size>0;){let h=I.values().next().value;I.delete(h.id);let _=h.extensions?.historyCursor;if(typeof _!="string"||_.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${h.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let A=e.getHistoryGeneration(),p=e.getHistoryEpoch(i);try{let{context:P,message:N}=await e.loadMessageContext(i,_,y.userId);if(!e.isActive()||A!==e.getHistoryGeneration()||p!==e.getHistoryEpoch(i))return;if(N.id!==h.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${_}, expected=${h.id}, actual=${N.id}\uFF09`);if(N.contentType!=="system"||v$1(N))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${_}, messageId=${h.id}\uFF09`);let b=P.messages.filter(T=>T.id===h.id||I.has(T.id));if(b.some(T=>T.contentType!=="system"||v$1(T)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${_}\uFF09`);e.domainState.upsertMessages(b,"offline"),s.applyIncoming(b.flatMap(T=>{let g=e.domainState.getMessage(T.id);return g===void 0?[]:[g]}));for(let T of b)I.delete(T.id);}catch(P){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${h.id}\uFF09`,cause:P}});}}}function r(i,d){return i?.conversationType===d.conversationType&&i.conversationId===d.conversationId}async function c(i,d=e.domainState.messageWindow){if(i.stale||!i.messages.some(v$1))return i;let s=d.info().conversation;if(s===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let I=e.domainState.getSession(s);if(I?.type!=="channel"||I.channelState!==void 0&&Fe(I.channelState))return i;let y=d.getRevision();if(await n(s.conversationId,i.messages,d),d.getRevision()!==y||!r(d.info().conversation,s))return {...i,stale:true};let h=new Map(d.list().map(_=>[_.id,_]));return {...i,messages:i.messages.map(_=>h.get(_.id)??_)}}return {reconcilePage:c}}function ls(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(g,m,a,o){let C=V({code:g,category:g==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":g==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:g==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...a===void 0?{}:{details:a},...o===void 0?{}:{cause:o}});return Object.assign(new Error(m),C)}function c(g){let m=g.name.trim();if(m==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let a=g.memberIds;if(!Array.isArray(a))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=a.map(C=>typeof C=="string"?C.trim():"");if(o.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let u=[...new Set(o)];if(u.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:u}}function i(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let g=e.crypto.randomTeaKey();if(!(g instanceof Uint8Array)||g.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let m="";for(let a of g)m+=String.fromCharCode(a);return globalThis.btoa(m)}function d(g,m){let a=g.trim();if(a==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function s(g){let m=g.trim();if(m==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...m].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return m}function I$1(g){let m=g.trim();if(m==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...m].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return m}async function y(g){let m=(await e.getSelfUserId?.()??"").trim();return m!==""&&m===g.trim()}function h(){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 _(g,m,a){if(g!==1&&g!==2&&g!==4){let u=V({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),u)}if(g!==4)return {verifyType:g};let o=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let u=V({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),u)}return {verifyType:g,inviteCode:o}}function A(g){if(!Array.isArray(g))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(g.map(m=>d(m,"\u793E\u7FA4\u6210\u5458 id")))]}function p(g){e.emitter?.emit({type:"channel-profile:updated",channelId:g,conversation:{conversationType:"channel",conversationId:g}});}function P(g){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(g).catch(m=>{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:g,error:m}}});});}function N$1(g){if(g===void 0)return;let m=typeof g=="number"?g:Number(g);return Number.isSafeInteger(m)?m:void 0}function b(g){if(typeof g=="boolean")return g;if(g===1||g==="1"||g==="true")return true;if(g===0||g==="0"||g==="false")return false}function T(g){if(g===null||typeof g!="object"||g===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let m=g.id??g.radio_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let a=g.name?.trim()??"";if(a==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(m),u=N$1(g.total_users),C=N$1(g.status),S=N$1(g.verify_way),v=N$1(g.update_version),D=b(g.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:a,...g.head_img_url?.trim()===""||g.head_img_url===void 0?{}:{avatar:g.head_img_url},...g.user_id===void 0?{}:{ownerId:String(g.user_id)},...u===void 0?{}:{memberCount:u},...C===void 0?{}:{status:C},...D===void 0?{}:{isInChannel:D},...S===void 0?{}:{verifyWay:S},...v===void 0?{}:{updateVersion:v},...g.invite_code===void 0?{}:{inviteCode:g.invite_code}}}return {...n,mentions:e.mentionCandidates??ml,uploadAvatar:async g=>{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 On(e.avatarTransfer,g)},create:async g=>{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?.ensureConversation===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 m=c(g),a=i();try{let o=await Z({client:e.coreClient,name:m.name,memberIds:m.memberIds,secretKey:a,...g.avatarUrl===void 0?{}:{avatarUrl:g.avatarUrl}});if(!o.ok){let S=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(S,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let u=T(o.data);e.cacheCreatedSecretKey?.(u.ref.conversationId,a);let C=u.status===3?"dismissed":u.status===void 0||u.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({id:u.ref.conversationId,type:"channel",title:u.name,...u.avatar===void 0?{}:{avatar:u.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:C,channelPermissions:sa("owner",C)}),Object.freeze({channel:u})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof b$1?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",o.message,void 0,o):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,o)}},listProfiles:g=>e.channelProfile?.listProfiles(g)??Promise.resolve([]),getProfile:(g,m)=>e.channelProfile?.getProfile(g,m)??Promise.resolve(null),listMembers:g=>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:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),prefetchMembers:g=>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(g),getCachedMembers:g=>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(g),refreshMembers:g=>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(g),searchMembers:g=>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:g.channelId,query:g.query,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),listMentionMembers:g=>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:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),searchMentionMembers:g=>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:g.channelId,query:g.query,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),listAdmins:g=>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:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),getMembersByIds:(g,m,a)=>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(g,m,a),updateName:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u793E\u7FA4\u540D\u79F0");await Oe("channels.updateName",o,()=>C({client:a,channelId:o,name:u})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:u}),p(o);},updateDescription:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=I$1(m);await Oe("channels.updateDescription",o,()=>C({client:a,channelId:o,description:u})),p(o);},updateAvatar:async(g,m)=>{let a=h(),o=d(g,"\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 u=await Oe("channels.updateAvatar",o,()=>On(e.avatarTransfer,m));return await Oe("channels.updateAvatar",o,()=>C({client:a,channelId:o,avatarUrl:u})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:u}),p(o),u},setMyNickname:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=s(m);await Oe("channels.setMyNickname",o,()=>D({client:a,channelId:o,nickname:u})),p(o);},setMemberNickname:async(g,m,a)=>{let o=h(),u=d(g,"\u793E\u7FA4 id"),C=d(m,"\u793E\u7FA4\u6210\u5458 id");if(await y(C))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let S=s(a);await Oe("channels.setMemberNickname",u,()=>E({client:o,channelId:u,userId:C,nickname:S})),p(u);},updateVerification:async(g,m,a)=>{let o=h(),u=d(g,"\u793E\u7FA4 id"),C=_(m,a,u);await Oe("channels.updateVerification",u,()=>L({client:o,channelId:u,verifyType:C.verifyType,...C.inviteCode===void 0?{}:{inviteCode:C.inviteCode}})),p(u);},requestJoin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=m?.remarks?.trim();return Oe("channels.requestJoin",o,()=>na$1({client:a,channelId:o,...u===void 0?{}:{remarks:u}}))},joinByInviteCode:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=m.trim();if(!/^\d{6}$/.test(u))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Oe("channels.joinByInviteCode",o,()=>oa$1({client:a,channelId:o,inviteCode:u}))},setAllMuted:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id");await Oe("channels.setAllMuted",o,()=>M({client:a,channelId:o,muted:m})),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},setMemberPrivateChatDisabled:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id");await Oe("channels.setMemberPrivateChatDisabled",o,()=>N({client:a,channelId:o,disabled:m})),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},inviteMembers:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=A(m);if(u.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Oe("channels.inviteMembers",o,()=>F({client:a,channelId:o,userIds:u})),p(o);},removeMember:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await Oe("channels.removeMember",o,()=>G$1({client:a,channelId:o,userId:u})),p(o);},addAdmin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await Oe("channels.addAdmin",o,()=>H({client:a,channelId:o,userId:u})),P(o),p(o);},removeAdmin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await Oe("channels.removeAdmin",o,()=>I({client:a,channelId:o,userId:u})),P(o),p(o);},transferOwnership:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u65B0\u793E\u7FA4\u4E3B id");await Oe("channels.transferOwnership",o,()=>J({client:a,channelId:o,userId:u})),P(o),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},leave:async(g,m)=>{let a=h();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 o=d(g,"\u793E\u7FA4 id"),u=m?.newOwnerId===void 0?void 0:d(m.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await Oe("channels.leave",o,()=>K({client:a,channelId:o,...u===void 0?{}:{newOwnerId:u}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),p(o);},dismiss:async g=>{let m=h();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 a=d(g,"\u793E\u7FA4 id");await Oe("channels.dismiss",a,()=>O({client:m,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),p(a);},...e.applications,...e.pinned??pl}}function gl(e){let r=V({...{"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 Il(e){let n=e.responseCode===U,i=V({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(i.code),i)}function yl(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function us(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,c=new Map,i=new Map,d=new Map,s=0,I=false,y=5e3;function h(a,o,u){if(I)return "unknown";if(u!==void 0&&r.get(a)!==u)return c.get(a)??"unknown";let C=c.get(a);return c.set(a,o),i.set(a,Date.now()),C!==o&&e.onRelationshipChanged?.(a,o),o}function _(a,o){if(I)return;let u=p(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(u,++s),h(u,o);}function A(a){if(e.coreClient===void 0)throw new Error(`${a}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function p(a,o){let u=a.trim();if(u==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return u}function P(a,o){e.profile!==void 0&&e.profile.getUserProfile(a,{forceRefresh:true}).catch(u=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:u}});});}async function N(a,o){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(a===""||o.name===void 0&&o.email===void 0&&o.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 Ha$1({client:e.coreClient,userId:a,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(u=>({countryCode:u.countryCode,mobile:u.mobile}))}}),e.domainState.getSession(a)?.type==="direct"&&e.domainState.refreshConversationProfile(a,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:a});}function b(a){switch(a){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 T$1(a,o){if(I)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 u=a.trim();if(u==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let C=d.get(u);if(o&&C!==void 0)return C;let S=++s;r.set(u,S);let v=f(e.coreClient,{userId:u}).then(D=>h(u,b(D?.friend_status),S)).finally(()=>{d.get(u)===v&&d.delete(u);});return d.set(u,v),v}function g(a){return T$1(a,true)}async function m(a,o){let u=p(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),C;try{C=await T$1(u,!1);}catch(S){return I||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:u,error:S}}}),null}if(I)return null;if(C==="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:u}}}),null;if(C!=="friend")return "rejected";_(u,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(u,o,Date.now());}catch(S){return I||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:u,error:S}}}),null}return I?null:(e.domainState.refreshConversationProfile(u,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:u}),P(u,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(a,o)=>e.profile?.getUserProfile(a,o)??Promise.resolve(null),peekProfile:a=>e.profile?.peekUserProfile?.(a)??Promise.resolve(null),setRemark:N,searchUser:a=>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")):V$1(e.coreClient,{query:a}).catch(o=>{throw o instanceof S?Il(o):o}).then(o=>{if(o===null)return null;let u=b(o.friendStatus);return _(o.userId,u),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:u,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl},...o.username===void 0?{}:{username:o.username},...o.miCallId===void 0?{}:{miCallId:o.miCallId},...o.signature===void 0?{}:{signature:o.signature}})}),getRelationship:g,requestFriendship:async(a,o)=>{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 u=p(a,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),C;try{C=await W(e.coreClient,{userId:u,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(v){throw v instanceof T?gl(v):v}let S=yl(C.status);return _(u,S==="sent"?"pending":"friend"),S==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(u,j(),Date.now()),e.domainState.refreshConversationProfile(u,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:u}),P(u,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:S,...C.message===void 0?{}:{message:C.message}})},blockUser:async a=>{let o=p(a,"\u52A0\u5165\u9ED1\u540D\u5355");await R(A("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),_(o,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:o}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),P(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,o)=>{let u=p(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),C=o.trim();if(C==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let S=e.getSelfId?.().trim()??"";if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Y(A("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:S,targetUserId:u,problem:C});},deleteFriendship:async a=>{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 o=a.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await X(e.coreClient,{userId:o}),_(o,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:o});try{await e.resetDirectReadReceiptPreference?.(o);}catch(u){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:u}});}P(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:a=>c.get(a.trim()),ensureRelationship(a){let o=p(a,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),u=i.get(o);return u!==void 0&&Date.now()-u<y?Promise.resolve(c.get(o)??"unknown"):g(o)},updateRelationshipFromEvent:_,resolveApplicationAnswer:m,dispose:()=>{I=true,s+=1,r.clear(),c.clear(),i.clear(),d.clear();}}}function ps(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let c=e().filter(d=>d.id===n);if(c.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(c.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let i=c[0];if(i.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function ms(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 c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=e.domainState.getSession(c);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ga$1({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:r}),e.domainState.setMuted(c,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(r);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(r),d=i.at(-1)?.id??c.readCursor??"";if(c.type==="direct"){d!==""&&e.domainState.advanceRead(r,d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="group"){let s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:e.http,userId:s.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="channel"){let s=Ja$1(i);if(s===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,s),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${c.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.terminateConversationSending?.(r,"conversation_deleted"),e.domainState.removeConversation(r),e.resetConversationBackground?.(r).catch(c=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",c));}}}var fs=1,hl=3;function gs(e){async function n(v){return e.connection.sendText(v)}async function r(v){return e.connection.sendContact(v)}async function c(v){return e.connection.forwardMessages(v)}async function i(v){return e.connection.recallMessage(v)}async function d(v){return e.connection.editMessage(v)}async function s(v){return e.connection.sendImage(v)}async function I(v){return e.connection.sendVideo(v)}async function y(v){return e.connection.sendVoice(v)}async function h(v){return e.connection.sendFile(v)}async function _(v){return e.connection.sendGif(v)}async function A(v){return e.connection.sendExpression(v)}async function p(v){return e.connection.sendGame(v)}async function P(v){return e.connection.sendMiniProgram(v)}async function N(v){return e.connection.sendTransfer(v)}async function b(v,D){return e.connection.replaceInterruptedVideo(v,D)}async function T(v,D){return e.connection.replaceInterruptedFile(v,D)}function g(v){e.connection.cancelMedia(v);}async function m(v){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 D=await e.mediaTransfer.download({url:v.url,...v.expectedBytes===void 0?{}:{expectedBytes:v.expectedBytes},...v.onProgress!==void 0?{onProgress:G=>v.onProgress?.(G.percent)}:{},...v.signal!==void 0?{signal:v.signal}:{}});return v.teaKey!==void 0&&v.teaKey.length>0&&v.fileEncryptType!==fs?e.crypto.decryptSymmetric({teaKey:v.teaKey,cipherData:D}):D}async function a(v){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");let D=await e.mediaTransfer.download({url:v.url,...v.expectedBytes===void 0?{}:{expectedBytes:v.expectedBytes},...v.onProgress!==void 0?{onProgress:G=>v.onProgress?.(G.percent)}:{},...v.signal!==void 0?{signal:v.signal}:{}});return v.teaKey===void 0||v.teaKey.length===0||v.fileEncryptType===fs?D:v.fileEncryptType===hl?e.crypto.decryptSymmetric({teaKey:v.teaKey,cipherData:D}):e.crypto.decryptFileSimple({teaKey:v.teaKey,cipherData:D})}function o(v){e.connection.retryMessage(v);}function u(v,D){let G={conversationType:"channel",conversationId:v},J=e.domainState.getLoadedMessagesByConversation(G),x=e.domainState.getConversationMessage(G,D)??J.find(re=>Ia$1(re)===D),z=Ia$1(x);if(x===void 0||typeof z!="string"||z.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${v}, input=${D}\uFF09`);return x.id}async function C(v){let D=v.conversationType??e.domainState.getSession(v.conversationId)?.type;if(D==="channel"){let G=u(v.conversationId,v.readCursor);await e.connection.markRead(v.conversationId,G,"channel");return}await e.connection.markRead(v.conversationId,v.readCursor,v.conversationType),D==="direct"&&await e.prepareDirectReadReceipt?.(v.conversationId);}async function S(v,D){e.connection.reportDirectMediaConsumed?.(v,D),await e.prepareDirectReadReceipt?.(v);}return {operations:{sendText:n,sendContact:r,forwardMessages:c,recallMessage:i,editMessage:d,sendImage:s,sendVideo:I,sendVoice:y,sendFile:h,sendGif:_,sendExpression:A,sendGame:p,sendMiniProgram:P,sendTransfer:N,replaceInterruptedVideo:b,replaceInterruptedFile:T,cancelMediaUpload:g,loadImage:m,loadVideo:m,loadVoice:m,loadFile:a,retry:o,markRead:C,markDirectMediaConsumed:S}}}function Is(e){return {...e.operations,get state(){return e.getState()}}}var Cl=50,vl=1e3,Be={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 Ae(e){let n=V({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 Ml(e,n){switch(e){case Be.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Be.CONTACT_PERMISSION_DENIED:case Be.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Be.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Be.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Be.ALREADY_GROUP_MEMBER:case Be.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Be.GROUP_MEMBER_LIMIT_REACHED:case Be.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Be.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Be.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Be.OPERATION_FAILED:case Be.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Be.GROUP_APPLICATION_UNAVAILABLE_40521:case Be.GROUP_APPLICATION_UNAVAILABLE_40612:case Be.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Sl(e){if(e instanceof i||e instanceof p$1)return e.code}function bl(e){return e instanceof j$1||e instanceof q$1?{category:"contract",retryable:false}:e instanceof b$1?{category:"network",retryable:true}:{category:"state",retryable:false}}function ys(e,n,r){let c=Sl(r),i=Ml(c,e),d=bl(r);return Ae({code:i,category:d.category,operation:n,retryable:d.retryable,cause:r})}function hs(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function qe(e,n){if(typeof e!="string"&&typeof e!="number")throw Ae({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 Ae({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function Ir(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Ae({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 Sn(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 Pl(e,n,r="pending"){return Object.freeze({ref:Sn(e),...n===void 0?{}:{createdAt:n},state:r})}function El(e){let n=Ir(e.createdAt),r=pn(e.applicantAvatar,"contact.applicantAvatar"),c=pn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Sn({domain:"contact",applicationId:qe(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:qe(e.applicantId,"contact.applicantId"),name:qe(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),message:yr(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Al(e){if(e.kind!=="request"&&e.kind!=="invite")throw Ae({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Ir(e.createdAt),r=pn(e.actor.avatarUrl,"group.actor.avatarUrl"),c=pn(e.actor.displayId,"group.actor.displayId"),i=pn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Sn({domain:"group",applicationId:qe(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:qe(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:qe(e.actor.id,"group.actor.id"),name:qe(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:qe(e.target.id,"group.target.id"),name:qe(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:yr(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function pn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Ae({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 yr(e,n){if(typeof e!="string"&&typeof e!="number")throw Ae({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 Rl(e){let n=Ir(e.createdAt),r=pn(e.applicantAvatar,"channel.applicantAvatar"),c=pn(e.applicantDisplayId,"channel.applicantDisplayId"),i=pn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Sn({domain:"channel",applicationId:qe(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:qe(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:qe(e.applicantId,"channel.applicantId"),name:qe(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:qe(e.channelId,"channel.channelId"),name:qe(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:yr(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function et(e){return `${e.domain}:${e.applicationId}`}function Cs(e){let n=false,r=0,c=0,i=new Map,d=new Map,s=new Map;function I(P,N){if(n||!e.isActive()||N!==void 0&&r!==N)throw Ae({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:P,retryable:false})}function y(P){if(I(P),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Ae({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function h(P,N){let b=[],T=new Set,g;for(let m=0;m<vl;m+=1){let a=await N({limit:Cl,...g===void 0?{}:{cursor:g}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Ae({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});if(b.push(...a.items),a.exhausted)return b;let o=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(o===""||T.has(o))throw Ae({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});T.add(o),g=o;}throw Ae({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:P,retryable:false})}async function _(){let P="applications.listPending",N=y(P),b=r,T=++c;try{let[g,m,a]=await Promise.all([h(P,S=>N.contact.listPendingApplications(S)),h(P,S=>N.group.listPendingApplications(S)),h(P,S=>N.channel.listJoinApplications(S))]);I(P,b);let o=[...g.map(El),...m.map(Al),...a.map(Rl)],u=new Map;for(let S of o){let v=et(S.ref);if(d.has(v))continue;let D=u.get(v);if(D!==void 0&&JSON.stringify(D.ref)!==JSON.stringify(S.ref))throw Ae({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:P,retryable:!1});(D===void 0||(S.createdAt??0)>(D.createdAt??0))&&u.set(v,S);}let C=[...u.values()].sort((S,v)=>{let D=(v.createdAt??0)-(S.createdAt??0);return D!==0?D:et(S.ref).localeCompare(et(v.ref))});if(T===c){i.clear();for(let S of C)i.set(et(S.ref),S);}return Object.freeze(C)}catch(g){throw hs(g)?g:(I(P,b),ys("IM_SDK_APPLICATION_LIST_FAILED",P,g))}}function A(P,N){if(I(N),P===null||typeof P!="object")throw Ae({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false});let b=typeof P?.applicationId=="string"?P.applicationId.trim():"";if(b==="")throw Ae({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false});if(P.domain==="contact")return Sn({domain:"contact",applicationId:b});let T=typeof P.conversation?.conversationId=="string"?P.conversation.conversationId.trim():"";if(P.domain==="group"&&P.conversation?.conversationType==="group"&&T!=="")return Sn({domain:"group",applicationId:b,conversation:{conversationType:"group",conversationId:T}});if(P.domain==="channel"&&P.conversation?.conversationType==="channel"&&T!=="")return Sn({domain:"channel",applicationId:b,conversation:{conversationType:"channel",conversationId:T}});throw Ae({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false})}function p(P,N){let b=N==="accepted"?"applications.accept":"applications.ignore",T=A(P,b),g=et(T),m=d.get(g);if(m===N)return Promise.resolve();if(m!==void 0)return Promise.reject(Ae({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:b,retryable:false}));let a=s.get(g);if(a!==void 0)return a.state===N?a.promise:Promise.reject(Ae({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:b,retryable:true}));let o=r,u=Promise.resolve().then(async()=>{try{let S;if(T.domain==="contact"){if(e.contact===void 0)throw Ae({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});S=N==="accepted"?e.contact.acceptApplication(T.applicationId):e.contact.ignoreApplication(T.applicationId);}else if(T.domain==="group"){if(e.group===void 0)throw Ae({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});S=N==="accepted"?e.group.acceptApplication(T.applicationId):e.group.ignoreApplication(T.applicationId);}else {if(e.channel===void 0)throw Ae({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});S=N==="accepted"?e.channel.acceptJoinApplication(T.applicationId):e.channel.ignoreJoinApplication(T.applicationId);}if(await S,I(b,o),N==="accepted"&&T.domain==="contact"){let D=i.get(g);D?.kind==="contact-request"&&await e.onContactAccepted?.(D.applicant.id,T.applicationId);}d.set(g,N);let v=Pl(T,i.get(g)?.createdAt,N);i.delete(g),e.emitter.emit({type:"application:updated",application:v});}catch(S){throw hs(S)?S:(I(b,o),ys("IM_SDK_APPLICATION_ACTION_FAILED",b,S))}}),C=()=>{s.get(g)?.promise===u&&s.delete(g);};return s.set(g,{state:N,promise:u}),u.then(C,C),u}return {api:{listPending:_,accept:async P=>p(P,"accepted"),ignore:async P=>p(P,"ignored")},dispose(){n||(n=true,r+=1,i.clear(),d.clear(),s.clear());}}}function bn(e,n,r){try{r();}catch(c){let i=c instanceof Error?c.message:String(c);throw i.includes("\u672A\u9274\u6743")?V({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?V({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?V({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?V({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):V({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function vs(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},c;return bn("calls.invite",r,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){bn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){bn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){bn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){bn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){bn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){bn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var hr=18,wl=12,Tl=300*1e3,_l=64,Ms=Object.freeze([]),Dl=0;function kl(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Ss(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Tl,c=e.maxCacheEntries??_l;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(c)||c<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let i=++Dl,d=new Map,s=new Map,I=new Map,y=new Map,h=new Map,_=new Map,A=new Map,p=new Set,P=0,N=true,b=R=>y.get(R)??0;function T(){if(!N)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function g(R){if(R.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let F=R.conversationId.trim();if(F==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return F}function m(R){let F=d.get(R);d.delete(R),F?.page.nextPageToken!==void 0&&I.delete(F.page.nextPageToken);}function a(R,F){let K=d.get(R);return K===void 0?null:K.generation!==F||K.expiresAt<=n()?(m(R),null):(d.delete(R),d.set(R,K),K.page)}function o(R,F){for(m(R),d.set(R,F);d.size>c;){let K=d.keys().next().value;if(typeof K!="string")break;m(K);}}function u(R){let F=[],K=new Map;for(let $ of R){let B=$.userId.trim();if(B==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");K.has(B)||F.push(B);let ae=$.displayName.trim()||B,ce=$.avatar?.trim();K.set(B,Object.freeze({userId:B,displayName:ae,...ce===void 0||ce===""?{}:{avatar:ce}}));}return Object.freeze(F.map($=>K.get($)))}async function C(R,F){let K=await Z$1(F);return Object.freeze(R.filter($=>K.match($.displayName)!==null||K.match($.userId,{pinyin:false})!==null))}async function S(R,F){let K=await E(R);return K===null?Ms:C(K.page.items,F)}function v(R,F){let K=[...R.items],$=new Set(K.map(B=>B.userId));for(let B of F)$.has(B.userId)||($.add(B.userId),K.push(B));return Object.freeze({...R,items:Object.freeze(K)})}function D(R,F){let K=R.map(B=>B.userId),$=new Map(R.map(B=>[B.userId,B]));for(let B of F)$.has(B.userId)||K.push(B.userId),$.set(B.userId,B);return K.map(B=>$.get(B))}function G(R,F,K){let $=`im-channel-mention:${i}:${++P}`;for(I.set($,{...R,generation:F,expiresAt:K});I.size>c;){let B=I.keys().next().value;if(typeof B!="string")break;I.delete(B);}return $}function J(R){let F=R.nextCursor?.trim();if(R.exhausted&&F!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!R.exhausted&&(F===void 0||F===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return F}function oe(R,F,K,$){let B=J(R),ae=B===void 0?void 0:G({...F,cursor:B},K,$);return Object.freeze({items:u(R.items),...ae===void 0?{}:{nextPageToken:ae},exhausted:R.exhausted})}function x(){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 z(R,F){let K=h.get(R);for(K?.page.nextPageToken!==void 0&&I.delete(K.page.nextPageToken),h.delete(R),h.set(R,F);h.size>c;){let $=h.keys().next().value;if($===void 0)break;let B=h.get($);B?.page.nextPageToken!==void 0&&I.delete(B.page.nextPageToken),h.delete($);}}function re(R,F){let K=n()+r,$={channelId:R.channelId,kind:"list"},B=R.nextCursor===void 0?void 0:G({...$,cursor:R.nextCursor},F,K);return {generation:F,updatedAt:R.updatedAt,page:Object.freeze({items:u(R.items),...B===void 0?{}:{nextPageToken:B},exhausted:R.exhausted})}}function E(R){T();let F=h.get(R);if(F!==void 0)return Promise.resolve(F);if(p.has(R)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let K=A.get(R);if(K!==void 0)return K;let $=b(R),B=e.storage.getChannelMentionCandidateSnapshot(R).then(ae=>{if(T(),ae===null||ae.channelId!==R||b(R)!==$||p.has(R))return null;let ce=re(ae,$);return z(R,ce),ce}).finally(()=>{A.get(R)===B&&A.delete(R);});return A.set(R,B),B}function U(R){T();let F=_.get(R);if(F!==void 0)return F;let K=b(R),$=x(),B=(async()=>{let ae,ce=false,ye=[];for(let Te=0;Te<wl&&!ce;Te+=1){let We=await $.listMentionMembers({channelId:R,limit:hr,...ae===void 0?{}:{cursor:ae}});if(T(),b(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ae=J(We),ce=We.exhausted,ye=D(ye,We.items);}let se=n(),Se={channelId:R,items:ye,...ae===void 0?{}:{nextCursor:ae},exhausted:ce,updatedAt:se};if(b(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Se),T(),b(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let we=re(Se,K);return z(R,we),we.page})().finally(()=>{_.get(R)===B&&_.delete(R);});return _.set(R,B),B}function q(R,F=false){T();let K=b(R.channelId),$=kl(R);if(!F){let se=a($,K);if(se!==null)return Promise.resolve(se)}let B=s.get($);if(B!==void 0&&B.generation===K)return B.promise;let ae=x(),ce=R.kind==="list"?ae.listMentionMembers({channelId:R.channelId,limit:hr,...R.cursor===void 0?{}:{cursor:R.cursor}}):ae.searchMentionMembers({channelId:R.channelId,query:R.keyword,limit:hr,...R.cursor===void 0?{}:{cursor:R.cursor}}),ye=Promise.resolve(ce).then(async se=>{T();let Se=R.kind==="search"&&R.cursor===void 0?await S(R.channelId,R.keyword):Ms;if(T(),b(R.channelId)!==K)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let we=n()+r,Te=oe(se,R,K,we),We=Se.length===0?Te:v(Te,Se);return b(R.channelId)===K&&o($,{channelId:R.channelId,generation:K,expiresAt:we,page:We}),We}).finally(()=>{s.get($)?.promise===ye&&s.delete($);});return s.set($,{generation:K,promise:ye}),ye}function X(R,F){T();let K=I.get(R);if(K===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(K.kind!==F)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${F} \u5206\u9875`);if(K.expiresAt<=n())throw I.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(b(K.channelId)!==K.generation)throw I.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return K}return {api:{peekFirstPage(R){if(!N)return null;let F=g(R),K=h.get(F);return K===void 0||K.generation!==b(F)?null:(z(F,K),K.page)},peekSearchCandidates(R,F){if(!N)return Object.freeze([]);let K=g(R),$=F.trim().toLocaleLowerCase();if($==="")return Object.freeze([]);let B=h.get(K);return B===void 0||B.generation!==b(K)?Object.freeze([]):(z(K,B),Object.freeze(B.page.items.filter(ae=>ae.displayName.toLocaleLowerCase().includes($)||ae.userId.toLocaleLowerCase().includes($))))},async getCachedPage(R,F){let K=g(R),$=await E(K);if($===null)return null;let B=F?.trim()??"";if(B==="")return $.page;let ae=await C($.page.items,B);return T(),$.generation!==b(K)?null:Object.freeze({items:ae,exhausted:true})},async prefetchFirstPage(R){let F=g(R),K=await E(F);K!==null&&K.updatedAt+r>n()||await U(F);},async refreshFirstPage(R){return U(g(R))},async listFirstPage(R){let F=g(R),K=h.get(F);if(K!==void 0&&K.generation===b(F))return z(F,K),K.page;let $=await E(F);return $!==null?$.page:U(F)},async listNextPage(R){return q(X(R,"list"))},async searchFirstPage(R,F){let K=g(R),$=F.trim();return $===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):q({channelId:K,kind:"search",keyword:$})},async refreshSearchFirstPage(R,F){let K=g(R),$=F.trim();return $===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):q({channelId:K,kind:"search",keyword:$},true)},async searchNextPage(R){return q(X(R,"search"))}},async invalidate(R){if(!N)return;let F=R.trim();if(F==="")return;y.set(F,b(F)+1),p.add(F);let K=h.get(F);K?.page.nextPageToken!==void 0&&I.delete(K.page.nextPageToken),h.delete(F),_.delete(F),A.delete(F);for(let[$,B]of d)B.channelId===F&&m($);for(let[$,B]of I)B.channelId===F&&I.delete($);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(F),p.delete(F));},clear(){if(!N)return;let R=new Set;for(let F of d.values())R.add(F.channelId);for(let F of I.values())R.add(F.channelId);for(let F of R)y.set(F,b(F)+1);d.clear(),I.clear(),s.clear(),h.clear(),_.clear(),A.clear(),p.clear();},dispose(){N&&(N=false,d.clear(),I.clear(),s.clear(),h.clear(),_.clear(),A.clear(),p.clear());}}}var Ol=20*1024*1024;function rn(e){return V({...e,retryable:e.retryable??false})}function Cr(e,n){if(e?.conversationType==="supergroup")throw rn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw rn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function xl(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 rn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Nl(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function bs(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Nl(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw rn({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 c=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:c}}function vr(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 Ll(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Ps(e){let n=e.maxCustomImageBytes??Ol,r=false,c=0,i,d;async function s(y,h){try{return await h(xl(e.storage,y))}catch(_){throw typeof _=="object"&&_!==null&&"code"in _?_:rn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:_})}}return {api:{async getBackground(y){let h="conversations.getBackground",_=Cr(y,h);return s(h,async A=>{let p=await A.getConversationBackground(_);if(p!==null)return Object.freeze({source:"conversation",selection:vr(p)});let P=await A.getDefaultConversationBackground();return Object.freeze(P===null?{source:"builtin",selection:null}:{source:"default",selection:vr(P)})})},async setBackground(y,h){let _="conversations.setBackground",A=Cr(y,_),p=await bs(h,_,n);await s(_,P=>P.saveConversationBackground(A,p));},async resetBackground(y){let h="conversations.resetBackground",_=Cr(y,h);await s(h,A=>A.deleteConversationBackground(_));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async h=>{let _=await h.getDefaultConversationBackground();return Object.freeze(_===null?{source:"builtin",selection:null}:{source:"default",selection:vr(_)})})},async setDefaultBackground(y){let h="conversations.setDefaultBackground",_=await bs(y,h,n);await s(h,A=>A.saveDefaultConversationBackground(_));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",h=>h.deleteDefaultConversationBackground());},listBackgroundPresets(y){let h="conversations.listBackgroundPresets";if(r)return Promise.reject(rn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:h}));if(!y?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!y?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(rn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:h}));let _=++c,A=da(e.coreClient).then(p=>{let P=Object.freeze(p.map(Ll));return !r&&_===c&&(i=P),P}).catch(p=>{throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:h,retryable:true,cause:p})}).finally(()=>{_===c&&(d=void 0);});return d=A,A}},dispose(){r=true,c+=1,i=void 0,d=void 0;}}}var Es=2;function Fl(e){return _$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Tt(e,n,r){let c=[];for(let i of e)!Fl(i)||r!==void 0&&i.sortKey<=r||da$1(i,n)&&c.push(i);return {unreadMessages:c}}function As(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Rs(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let c=Tt(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;c.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<Es;d+=1)await e.loadNewer(),c=Tt(e.list(),e.selfId,e.readCursorSortKey);if(c.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});let i=c.unreadMessages[0];return i===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(i.sortKey),As(i.id,e.unreadCount))}await e.openLatest();let n=Tt(e.list(),e.selfId,void 0);for(let c=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&c<Es;c+=1)await e.loadOlder(),n=Tt(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let r=n.unreadMessages.at(-e.unreadCount);return r===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(r.sortKey),As(r.id,e.unreadCount))}function nt(e){if(e===void 0||e.length===0)return;let n=false,r=[],c={},i=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}i.has(d.userId)||(i.add(d.userId),r.push(d.userId),d.displayName.trim()!==""&&(c[d.userId]=d.displayName));}return {atAll:n,atUserIds:r,...Object.keys(c).length===0?{}:{atUsersName:c}}}function Kl(e){return e instanceof na?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function Ul(e){let n=[];for(let r=0;r<e.length;r+=x$1)n.push(e.slice(r,r+x$1));return n}async function ws(e){let n=[...new Set(e.messageIds.map(s=>s.trim()).filter(s=>s!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],c=[],i=[],d;for(let s of Ul(n)){if(!e.isCurrent()){i.push(...s);continue}try{let I=await e.fetchBatch(s);if(!e.isCurrent()){i.push(...s);continue}let y=new Set(I.messages.map(_=>_.id)),h=new Set(I.missingMessageIds);r.push(...I.messages.map(e.projectMessage)),c.push(...I.missingMessageIds);for(let _ of s)!y.has(_)&&!h.has(_)&&i.push(_);}catch(I){i.push(...s),d=Kl(I);}}return {messages:r,missingMessageIds:c,unresolvedMessageIds:i,...d===void 0?{}:{failure:d}}}var Mr=new WeakMap;function _t(e,n){let r=Mr.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Mr.set(e,r);}var Bl={"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}},Gl={"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}},Ts={"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},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}},_s={"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 Ds(e,n,r){let c=V({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function jl(e,n){let r=V({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 Hl=3*1024*1024,ks=4294967295,zl=6,Vl=16*1024,ql=300;async function Wl(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 c=String.fromCharCode(...r);return c==="GIF87a"||c==="GIF89a"}var $l={"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},"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 Sr(e,n,r,c,i={},d={}){let s=Object.freeze({...e}),I=n.pageSize??30,y=n.domainState.createMessageWindow({retention:{maxMessages:I*zl},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(f,w)=>i.shouldEstablishRemoteLatestOnOpen?.(w)===true}}),h=new Set,_=new Set,A=new Map,p$1,P,N=false,b=false,T=0,g=Object.freeze({state:"none"}),m=new WeakMap,a;function o(){if(b)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function u(){let f=y.window.info();return {messages:y.window.list(),draft:n.domainState.getDraft(s),loading:A.size>0,stale:N,hasOlder:f.hasMore,hasNewer:f.hasNewer,error:P,entryUnread:g}}function C(f,w){return f.length===w.length&&f.every((O,M)=>O===w[M])}function S(f,w){return C(f.messages,w.messages)&&f.draft===w.draft&&f.loading===w.loading&&f.stale===w.stale&&f.hasOlder===w.hasOlder&&f.hasNewer===w.hasNewer&&f.error===w.error&&f.entryUnread===w.entryUnread}function v(f){let w=m.get(f);if(w!==void 0)return w;let O=Ct(f);return m.set(f,O),O}function D(f){return {ref:s,messages:Object.freeze(f.messages.map(v)),entryUnread:f.entryUnread,draft:f.draft,loading:f.loading,stale:f.stale,hasOlder:f.hasOlder,hasNewer:f.hasNewer,...f.error===void 0?{}:{error:f.error}}}function G(){return o(),D(u())}function J(){let f=u();if(a!==void 0&&S(a,f))return;a=f;let w=D(f);for(let O of h)try{O(w);}catch(M){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:M}});}}async function oe(f){let w=y.window.list().find(Ge=>Ge.id===f)??n.domainState.getConversationMessage(s,f);if(w!==void 0)return {anchor:w};let O=n.domainState.getPinnedMessage(s),M=O?.messageId===f&&O.preview.state==="ready"?O.preview.message:void 0;if(M!==void 0)return {anchor:M,fallbackSeed:M};let te=n.resolveSearchHistoryAnchor?.(s,f);if(te!==void 0)return {anchor:te};let ve=await n.domainState.resolveConversationMessage(s,f);return ve===void 0?void 0:{anchor:ve}}function x(f,w){if(o(),p$1!==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 O=A.get(f);if(O!==void 0)return O;P=void 0;let M=Promise.resolve().then(w).then(te=>i.reconcilePage===void 0?te:i.reconcilePage(te,y.window)).then(te=>{o(),N=te.stale===true;}).catch(te=>{throw b||(P=yn(te,`history.${f}`,s)),te}).finally(()=>{A.delete(f),b||J();});return A.set(f,M),J(),M}function z(){y.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-I));}async function re(){await x("latest",()=>y.window.open(s,{limit:I})),z(),i.shouldEstablishRemoteLatestOnOpen?.(y.window.list())===true&&(await x("latest:remote",()=>y.window.loadOlder({limit:I})),z());}async function E(){let f=n.domainState.getSession(s),w=Math.max(0,f?.manuallyUnread===true?0:f?.unreadCount??0),O=n.domainState.getReadState(s),M=O?.readCursor,te=O?.readCursorSortKey??(M===void 0||M===""?void 0:n.domainState.getConversationMessage(s,M)?.sortKey??n.domainState.getMessagesByConversation(s).find(ve=>ve.extensions?.historyCursor===M)?.sortKey);g=await Rs({conversation:s,pageSize:I,unreadCount:w,...te===void 0?{}:{readCursorSortKey:te},selfId:n.getSelfId(),list:()=>y.window.list(),hasOlder:()=>y.window.info().hasMore,hasNewer:()=>y.window.info().hasNewer,openLatest:re,openAt:ve=>x(`entry-unread:${ve}`,()=>y.window.openAt(s,{anchorSortKey:ve,limit:I})),loadOlder:()=>x("entry-unread:older",()=>y.window.loadOlder({limit:I})),loadNewer:()=>x("entry-unread:newer",()=>y.window.loadNewer({limit:I}))});}let U=n.emitter.subscribe(f=>{if(!(b||!("conversation"in f)||f.conversation===void 0)&&!(f.conversation.conversationType!==s.conversationType||f.conversation.conversationId!==s.conversationId)){if(f.type==="draft:updated"||f.type==="draft:cleared"){let w=f.type==="draft:updated"?f.draft:null;for(let O of _)try{O(w);}catch(M){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:M}});}}J();}});try{d.initialPosition==="first-unread"?await E():await re();}catch(f){throw b=true,U(),h.clear(),y.dispose(),f}function q(f,w){let O=n.domainState.getMessage(f);return O!==void 0&&O.conversationType===s.conversationType&&O.conversationId===s.conversationId?{ok:true,message:kn(O)}:{ok:false,error:V({code:O===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s})}}async function X(f,w,O){let M=await i.getSendPermissionError?.(f);if(o(),M!==void 0){if(O===void 0)return {ok:false,error:M};let te=await O(M);return o(),te}try{let te=await w();return o(),te}catch(te){if(b)throw te;return {ok:false,error:yn(te,f,s)}}}async function ne(f,w={}){let O="name"in f?f.name:void 0,M=w.fileName??(typeof O=="string"&&O!==""?O:void 0);return {...s,data:()=>f.arrayBuffer().then(te=>new Uint8Array(te)),...f.type===""?{}:{mimeType:f.type},...M===void 0?{}:{filename:M},...w.localPreviewUrl===void 0?{}:{localPreviewUrl:w.localPreviewUrl},...w.localPreviewMetadata===void 0?{}:{localPreviewMetadata:w.localPreviewMetadata},...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}}}function R(f){return f===void 0||Number.isFinite(f.width)&&f.width>0&&Number.isFinite(f.height)&&f.height>0}function F(f){return R(f)&&(f?.duration===void 0||Number.isFinite(f.duration)&&f.duration>0)&&(f?.posterData===void 0||f.posterData instanceof Uint8Array&&f.posterData.length>0&&f.posterData.length<=Vl)}function K(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&f.duration>ql}function $(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&Number.isFinite(f.duration)&&f.duration>0}function B(f,w,O){return {ok:false,error:V({code:f,category:w,operation:O,retryable:false,conversation:s})}}function ae(f,w){if(f===null||typeof f!="object"||f.kind!==w||!Number.isSafeInteger(f.width)||f.width<=0||f.width>ks||!Number.isSafeInteger(f.height)||f.height<=0||f.height>ks)return false;let O;try{O=new URL(f.url);}catch{return false}if(O.protocol!=="http:"&&O.protocol!=="https:"||O.username!==""||O.password!=="")return false;let M=f.resourceId;if(M!==void 0&&(typeof M!="string"||M.trim()===""))return false;if(w==="gif")return !Object.prototype.hasOwnProperty.call(f,"packageId");let te=f.packageId;return typeof M=="string"&&M.trim()!==""&&typeof te=="string"&&te.trim()!==""}function ce(f){return Object.assign(new Error(f.code),f,{name:"ImMessageActionError"})}function ye(f,w){if(f==="direct"||f==="group"||f==="channel")return Object.freeze({conversationType:f,conversationId:w});throw ce(V({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:"messages.forward",retryable:false,conversation:s,details:{targetConversationType:f,targetConversationId:w}}))}function se(f,w){let O=n.domainState.getConversationMessage(s,f);if(O===void 0){let M=n.domainState.getMessage(f);throw ce(V({code:M===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s}))}if(O.conversationType!==s.conversationType||O.conversationId!==s.conversationId)throw ce(V({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s}));return O}function Se(f,w){return ce(V({...w,operation:f,conversation:s}))}function we(f,w){let O=V({code:f,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...w===void 0?{}:{cause:w}});return Object.assign(new Error(f),O,{name:"ImLocalMessageDeletionError"})}function Te(f,w){let O=V({code:f,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...w===void 0?{}:{cause:w}});return Object.assign(new Error(f),O,{name:"ImLocalConversationHistoryClearError"})}function We(){if(b)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(p$1!==void 0)return p$1;let f=[...A.values()],w=Promise.all(f).then(async()=>{o();let O=[...n.domainState.getMessagesByConversation(s),...y.window.list()];if(n.hasOutboxForConversation(s)||O.some(M=>n.isOutboxOwned(M.id)))throw Te("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(O.some(M=>M.status==="pending"||M.status==="uploading"||M.status==="sending"))throw Te("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),o(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(O=>{throw O instanceof Error&&O.name==="ImLocalConversationHistoryClearError"?O:Te("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",O)}).finally(()=>{p$1===w&&(p$1=void 0);});return p$1=w,w}async function xe(f,w){if(f!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,f);}catch(O){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${w}\uFF09`,cause:O}});}}async function $e(f,w,O,M,te){return X(f,async()=>{let ve=await ne(O,M);if(w!==void 0&&ve.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let fn=new AbortController,Ee=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${f}:${++T}`,kind:w,file:O,signal:fn.signal});if(o(),Ee===void 0||(w==="image"?!R(Ee):!F(Ee)))return B(w==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);ve.localPreviewMetadata=Ee;}if(w==="video"&&(n.prepareMediaPreview!==void 0||ve.localPreviewMetadata!==void 0)&&!$(ve.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(w==="video"&&K(ve.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let Ge=i.recheckSendPermissionError?.(f);if(Ge!==void 0)return {ok:!1,error:Ge};let en=await te({...ve,...M.caption===void 0||M.caption===""?{}:{caption:M.caption}});return en.ok?(o(),q(en.messageId,f)):{ok:!1,error:vt(en.reason,f,s)}})}function tt(f,w,O){let M=se(f,O);if(M.contentType!==w||M.status!=="failed"||M.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(f))throw ce(V({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:O,retryable:false,conversation:s}));return M}async function Fn(f,w,O,M,te,ve){return tt(w,O,f),X(f,async()=>{let Ge=await ne(M,te);if(O==="video"&&Ge.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ee=new AbortController,Je=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${f}:${++T}`,kind:"video",file:M,signal:Ee.signal});if(o(),Je===void 0||!F(Je))return B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);Ge.localPreviewMetadata=Je;}if(O==="video"&&(n.prepareMediaPreview!==void 0||Ge.localPreviewMetadata!==void 0)&&!$(Ge.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(K(Ge.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let en=i.recheckSendPermissionError?.(f);if(en!==void 0)return {ok:!1,error:en};tt(w,O,f);let fn=await ve(w,{...Ge,...te.caption===void 0||te.caption===""?{}:{caption:te.caption}});return fn.ok?(o(),q(fn.messageId,f)):{ok:!1,error:vt(fn.reason,f,s)}})}let rt={ref:s,getSnapshot:G,subscribe(f){return o(),h.add(f),()=>h.delete(f)},resolveMessage:async f=>{o();let w=y.window.list().find(O=>O.id===f)??await n.domainState.resolveConversationMessage(s,f);return w===void 0?null:v(w)},history:{loadLatest:async()=>{await re(),o(),J();},loadOlder:async()=>x("older",()=>y.window.loadOlder({limit:I})),loadNewer:async()=>{await x("newer",()=>y.window.loadNewer({limit:I})),o(),y.window.info().hasNewer||(z(),J());},loadAround:async f=>{o();let w=await oe(f);if(w===void 0||w.anchor.conversationType!==s.conversationType||w.anchor.conversationId!==s.conversationId)throw jl(s,f);let{anchor:O}=w;await x(`around:${f}`,async()=>{let M=await y.window.openAt(s,{anchorSortKey:O.sortKey,limit:I});return y.window.list().some(te=>te.id===f)||w.fallbackSeed===void 0?M:y.window.openAt(s,{anchorSortKey:O.sortKey,limit:I,seedMessages:[w.fallbackSeed],seedHasNewer:true})});},clearLocal:We},messages:{sendText:async(f,w={})=>{o();let O=r(s,f,w);if("code"in O)return {ok:false,error:O};let M=n.domainState.getDraft(s)?.updatedAt;return X("messages.sendText",async()=>{let te=await n.sendText(O);return o(),await xe(M,"messages.sendText"),q(te.id,"messages.sendText")},async te=>{let ve=i.appendTextPermissionFailure?.(O);return ve===void 0?{ok:false,error:te}:(await xe(M,"messages.sendText"),{ok:true,message:kn(ve)})})},sendContact:async(f,w={})=>{o();let O=f.targetId.trim(),M=f.displayName.trim();if(O===""||M==="")return {ok:false,error:V({code:O===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let te={...s,contact:{...f,targetId:O,displayName:M},encrypted:s.conversationType!=="direct",...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}};return X("messages.sendContact",async()=>{let ve=await n.sendContact(te);return q(ve.id,"messages.sendContact")})},sendImage:async(f,w={})=>(o(),w.caption!==void 0&&w.caption!==""?B("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):R(w.localPreviewMetadata)?$e("messages.sendImage","image",f,w,n.sendImage):B("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendVideo:async(f,w={})=>(o(),F(w.localPreviewMetadata)?$e("messages.sendVideo","video",f,w,n.sendVideo):B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(f,w,O={})=>(o(),F(O.localPreviewMetadata)?Fn("messages.replaceInterruptedVideo",f,"video",w,O,n.replaceVideo):B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(f,w)=>(o(),X("messages.sendVoice",async()=>{let O=await ne(f,w),M=i.recheckSendPermissionError?.("messages.sendVoice");if(M!==void 0)return {ok:!1,error:M};let te=await n.sendVoice({...O,durationMs:w.durationMs,...w.waveform===void 0?{}:{waveform:[...w.waveform]}});return te.ok?(o(),q(te.messageId,"messages.sendVoice")):{ok:!1,error:vt(te.reason,"messages.sendVoice",s)}})),sendFile:async(f,w={})=>{if(o(),w.caption!==void 0&&w.caption!=="")return B("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let O=w.fileName??("name"in f?f.name:void 0);return typeof O!="string"||O.trim()===""?B("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):$e("messages.sendFile",void 0,f,w,n.sendFile)},sendGif:async(f,w={})=>(o(),f.size>Hl?B("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Wl(f)?$e("messages.sendGif",void 0,f,w,O=>n.sendGif(O)):B("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(f,w={})=>(o(),ae(f,"sticker")?X("messages.sendSticker",async()=>{let O=await n.sendExpression({...s,asset:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return q(O.id,"messages.sendSticker")}):B("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(f,w={})=>(o(),ae(f,"gif")?X("messages.sendGifAsset",async()=>{let O=await n.sendExpression({...s,asset:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return q(O.id,"messages.sendGifAsset")}):B("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(f,w={})=>(o(),f!=="rock-paper-scissors"&&f!=="dice"?B("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):X("messages.sendGame",async()=>{let O=await n.sendGame({...s,gameType:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return q(O.id,"messages.sendGame")})),sendMiniProgram:async(f,w={})=>(o(),n$1(f)?X("messages.sendMiniProgram",async()=>{let O=await n.sendMiniProgram({...s,miniProgram:f,encrypted:s.conversationType!=="direct",...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return q(O.id,"messages.sendMiniProgram")}):B("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(f,w={})=>(o(),s.conversationType==="channel"?B("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):p(f)?X("messages.sendTransfer",async()=>{let O=await n.sendTransfer({...s,transfer:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return q(O.id,"messages.sendTransfer")}):B("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(f,w)=>{o(),se(f,"messages.toggleReaction");let O=await n.setReaction({conversation:s,parentMessageId:f,emoji:w,action:"toggle"});if(o(),!O.ok)throw Se("messages.toggleReaction",Ts[O.reason]);return Object.freeze({messageId:f,eventId:O.event.id,emoji:O.event.emoji,action:O.event.action===0?"add":"remove"})},setReaction:async(f,w,O)=>{o(),se(f,"messages.setReaction");let M=await n.setReaction({conversation:s,parentMessageId:f,emoji:w,action:O});if(o(),!M.ok)throw Se("messages.setReaction",Ts[M.reason]);return Object.freeze({messageId:f,eventId:M.event.id,emoji:M.event.emoji,action:M.event.action===0?"add":"remove"})},replaceInterruptedFile:async(f,w,O={})=>{if(o(),O.caption!==void 0&&O.caption!=="")return B("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let M=O.fileName??("name"in w?w.name:void 0);return typeof M!="string"||M.trim()===""?B("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Fn("messages.replaceInterruptedFile",f,"file",w,{...O,fileName:M},n.replaceFile)},editText:async(f,w,O={})=>{o(),se(f,"messages.editText");let M=c(s,f,w,O);if("code"in M)throw ce(M);let te;try{te=await n.editMessage(M);}catch(ve){throw ce(yn(ve,"messages.editText",s))}if(o(),!te.ok)throw Se("messages.editText",Gl[te.reason]);return kn(se(f,"messages.editText"))},recall:async f=>{o(),se(f,"messages.recall");let w;try{w=await n.recallMessage({...s,messageId:f});}catch(O){throw ce(yn(O,"messages.recall",s))}if(o(),!w.ok)throw Se("messages.recall",Bl[w.reason])},deleteLocal:async f=>{o();let w=n.domainState.getConversationMessage(s,f);if(n.isOutboxOwned(f))throw we("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(w!==void 0&&w.conversationType===s.conversationType&&w.conversationId===s.conversationId&&(w.status==="pending"||w.status==="uploading"||w.status==="sending"))throw we("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let O=await n.domainState.deleteLocalMessage(s,f);return o(),Object.freeze({scope:"local-only",messageId:f,deleted:O,remoteHistory:"remote-history-may-restore"})}catch(O){throw O instanceof Error&&O.name==="ImLocalMessageDeletionError"?O:we("IM_SDK_LOCAL_DELETE_FAILED",O)}},forward:async(f,w)=>{if(o(),f.length===0||w.length===0)throw ce(V({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));let O;try{O=await n.forwardMessages({messages:f.map(M=>({id:M,...s})),targets:w.map(M=>({...M}))});}catch(M){throw ce(yn(M,"messages.forward",s))}return o(),Object.freeze({sent:Object.freeze(O.results.flatMap(M=>M.ok?[{conversation:ye(M.targetConversationType,M.targetConversationId),messageId:M.newMessageId}]:[])),failed:Object.freeze(O.results.flatMap(M=>M.ok?[]:[{sourceMessageId:M.sourceMessageId,conversation:Object.freeze({conversationType:M.targetConversationType,conversationId:M.targetConversationId}),error:V({...$l[M.reason],operation:"messages.forward",conversation:{conversationType:M.targetConversationType,conversationId:M.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...O.skippedSourceIds])})},fetchByIds:async f=>{o();let w=n.fetchMessagesByIdBatch;if(w===void 0)throw ce(V({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:s}));let O=await ws({messageIds:f,fetchBatch:w,isCurrent:()=>!b,projectMessage:v});return Object.freeze({messages:Object.freeze([...O.messages]),missingMessageIds:Object.freeze([...O.missingMessageIds]),unresolvedMessageIds:Object.freeze([...O.unresolvedMessageIds]),...O.failure===void 0?{}:{failure:Object.freeze(O.failure)}})}},draft:{get:async()=>(o(),n.drafts.get(s)),save:async f=>(o(),n.drafts.save(s,f)),clear:async()=>{o(),await n.drafts.clear(s);},subscribe(f){return o(),_.add(f),()=>_.delete(f)}},markRead:async f=>{o();let w=y.window.list();if(f!==void 0&&!w.some(M=>M.id===f))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${f}`);let O=i.resolveReadMessageId===void 0?f??w.at(-1)?.id:i.resolveReadMessageId(w,f);O!==void 0&&await n.markRead({...s,readCursor:O});},setMuted:async f=>(o(),n.setMuted(s,f)),close(){b||(b=true,U(),h.clear(),_.clear(),y.dispose());}};return Mr.set(rt,{getMessages:()=>(o(),y.window.list()),resolveMessage:async f=>(o(),y.window.list().find(w=>w.id===f)??n.domainState.resolveConversationMessage(s,f))}),rt}var Jl=5e3;async function xs(e,n,r={}){let c=false,i,d;function s(){let _=Date.now();if(i!==void 0&&_-i.checkedAt<Jl)return Promise.resolve(i.value);if(d!==void 0)return d;let A=n.getRelationship(e.conversationId).then(p=>(i={value:p,checkedAt:Date.now()},p)).catch(p=>(c=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:p}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===A&&(d=void 0);});return d=A,A}async function I(_){if(!n.shouldCheckRelationship())return;let A=await s();if(A!=="friend"){if(A==="unknown"){c||(c=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:A}}}));return}return V({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:_,retryable:false,conversation:e,details:Object.freeze({relationship:A})})}}n.shouldCheckRelationship()&&s();let y=await Sr(e,n,(_,A,p)=>p.mentions!==void 0&&p.mentions.length>0?V({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:_}):{..._,text:A,...p.replyToMessageId===void 0?{}:{refMessageId:p.replyToMessageId}},(_,A,p,P)=>P.mentions!==void 0&&P.mentions.length>0?V({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:_}):{..._,messageId:A,text:p},{getSendPermissionError:I,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),h={...y,messages:{...y.messages,async markMediaConsumed(_){let A=n.domainState.getConversationMessage(e,_);if(A===void 0||A.senderId===n.getSelfId()||A.contentType!=="voice"&&A.contentType!=="video"){let p=V({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(p.code),p)}await n.markDirectMediaConsumed(e.conversationId,_);}}};return _t(h,y),h}async function Ns(e,n,r={}){return Sr(e,n,(c,i,d)=>{let s=nt(d.mentions);return {...c,text:i,encrypted:true,...s===void 0?{}:{mention:s},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,i,d,s)=>{let I=nt(s.mentions);return {...c,messageId:i,text:d,...I===void 0?{}:{mention:I}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>r.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&Ls(c,n.pageSize??30)},r)}var Yl=new Set(["pending","uploading","sending"]);function Ls(e,n){return e.length<n}function Os(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Xl(e,n,r){let c=r===void 0?e.length-1:e.findIndex(s=>s.id===r),i=e[c];if(i===void 0||Os(i))return i?.id;let d=e.slice(0,c).findLast(s=>Os(s));return d!==void 0?d.id:i.senderId===n&&Yl.has(i.status)?void 0:i.id}function Ql(e,n){let r=false;for(let c of e){let i=c.body.system;if(!(c.conversationType!=="channel"||i?.targetUserIds?.includes(n)!==true)){if(i.eventType==="channel_member_left"||i.eventType==="channel_member_removed"){r=true;continue}if(r&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function Fs(e,n,r={}){let c=await Sr(e,n,(d,s,I)=>{let y=nt(I.mentions);return {...d,text:s,encrypted:true,...y===void 0?{}:{mention:y},...I.replyToMessageId===void 0?{}:{refMessageId:I.replyToMessageId}}},(d,s,I,y)=>{let h=nt(y.mentions);return {...d,messageId:s,text:I,...h===void 0?{}:{mention:h}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>r.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&Ls(d,n.pageSize??30)||Ql(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,s)=>Xl(d,n.getSelfId(),s)},r),i={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw Ds(e,_s["not-found"]);let I;try{I=await n.deleteMessageForEveryone({...e,messageId:d});}catch(y){let h=yn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(h.code,{cause:y}),h)}if(!I.ok)throw Ds(e,_s[I.reason])}}};return _t(i,c),i}var Zl=40,eu=100,nu=0;function mn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function tu(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Ks(e){let n=++nu,r=new Map,c=new Map,i=new Map,d=new Map,s=new Map,I=0,y=true;function h(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function _(g){let m=g??Zl;if(!Number.isSafeInteger(m)||m<1||m>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return m}function A(g){let m=`im-directory:${n}:${++I}`;return r.set(m,g),m}function p(g,m){let a=s.get(g);a===void 0&&(a=new Map,s.set(g,a));let o=m.map(u=>Object.freeze({...u}));for(let u of o)a.set(u.id,u);return Object.freeze(o)}async function P(g,m,a){if(h(),e.provider===void 0)throw new Error(`${mn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:g,page:m,pageSize:a});if(h(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let u=o.nextPage===void 0?void 0:A({kind:g,page:o.nextPage,pageSize:a}),C=p(g,o.items);return Object.freeze({items:C,...u===void 0?{}:{nextPageToken:u},exhausted:o.exhausted})}function N(g){return {listFirstPage:m=>P(g,1,_(m?.pageSize)),listNextPage:m=>{h();let a=r.get(m);if(a===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(a.kind!==g)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${mn(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${mn(g)}`));let o=c.get(m);if(o!==void 0)return o;let u=P(g,a.page,a.pageSize).then(C=>(r.delete(m),C)).finally(()=>{c.delete(m);});return c.set(m,u),u}}}function b(g){h();let m=i.get(g);if(m!==void 0)return Promise.resolve(m);let a=d.get(g);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${mn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let u=[],C=new Map,S=new Set,v=1;for(;;){if(h(),S.has(v))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);S.add(v);let G=await e.provider.list({kind:g,page:v,pageSize:eu});if(h(),G.exhausted===(G.nextPage!==void 0))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let J of G.items)C.has(J.id)||u.push(J.id),C.set(J.id,J);if(G.nextPage===void 0)break;if(!Number.isSafeInteger(G.nextPage)||G.nextPage<1)throw new Error(`${mn(g)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);v=G.nextPage;}let D=p(g,u.map(G=>C.get(G)));return h(),i.set(g,D),D})().finally(()=>{d.delete(g);});return d.set(g,o),o}async function T(g){if(h(),g.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[m,a,o,u]=await Promise.all([b("individual"),b("group"),b("channel"),Z$1(g)]);h();function C(v,D){let G=[];for(let J of D){let oe=J==="displayName"?v.displayName:J==="username"?v.username:v.id;if(oe===void 0||oe==="")continue;let x=u.match(oe,{pinyin:J==="displayName"});x!==null&&G.push(tu(J,x));}return G.length===0?null:Object.freeze({item:v,matches:Object.freeze(G)})}function S(v,D){return Object.freeze(v.flatMap(G=>{let J=C(G,D);return J===null?[]:[J]}))}return Object.freeze({keyword:u.keyword,contacts:S(m,["displayName","username","id"]),groups:S(a,["displayName"]),channels:S(o,["displayName"])})}return {contacts:N("individual"),groups:N("group"),channels:N("channel"),search:{search:T},peekItem:(g,m)=>(h(),s.get(g)?.get(m)),dispose:()=>{y=false,r.clear(),c.clear(),i.clear(),d.clear(),s.clear();}}}function ru(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw V({code:e.conversationType==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_DRAFT_CONVERSATION_INVALID",category:e.conversationType==="supergroup"?"unsupported":"validation",operation:"drafts",retryable:false,conversation:e})}function Dt(e){return ru(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ou(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw V({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 Us(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(i){return r(),e.domainState.getDraft(Dt(i))},async save(i,d){r();let s=Dt(i);return e.domainState.saveDraft(s,ou(s,d))},async clear(i){r(),await e.domainState.clearDraft(Dt(i));},subscribe(i,d){r();let s=Dt(i),I=e.emitter.subscribe(h=>{h.type!=="draft:updated"&&h.type!=="draft:cleared"||h.conversation.conversationType!==s.conversationType||h.conversation.conversationId!==s.conversationId||d(h.type==="draft:updated"?h.draft:null);}),y=()=>{I(),n.delete(y);};return n.add(y),y}},dispose(){for(let i of [...n])i();}}}var au=20,Bs=50,Gs=30,js=4294967295;function Pn(e){let n=V(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ke(e,n){return Pn({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Hs(e,n){if(n instanceof w$1)return Pn({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 x)return Pn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof c$1)return Pn({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof b$1||n instanceof y){let r=n instanceof y?n.status:void 0;return Pn({code:n instanceof y?"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 Pn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function on(e,n,r){if(typeof e!="string"||e.trim()==="")throw Ke(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function iu(e,n){if(typeof e!="string"||e.trim()==="")throw new x(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function su(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw Ke(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function cu(e,n,r){let c=on(e,n,r),i;try{i=new URL(c);}catch{throw Ke(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Ke(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Ke(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function zs(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>js)throw Ke(r,`${n} \u5FC5\u987B\u662F 1-${js} \u7684\u6574\u6570`);return Number(e)}function Js(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ke(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:cu(e.url,"url",n),width:zs(e.width,"width",n),height:zs(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:on(e.packageId,"packageId",n),resourceId:on(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ke(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:on(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...c===void 0?{}:{resourceId:c}}}function du(e,n){if(e===null||typeof e!="object")throw Ke(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:on(e.token,"token",n),resourceId:on(e.resourceId,"resourceId",n)}:Js(e,n)}function lu(e,n){if(e!=="sticker"&&e!=="gif")throw Ke(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function uu(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ke(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Vs(e,n){if(!Array.isArray(e))throw Ke(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(c=>on(c,"recordId",n)))];if(r.some(c=>c.includes("|")))throw Ke(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>Gs)throw Ke(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Gs} \u4E2A id`);return r}function qs(e,n){let r=e?.offset??0,c=e?.pageSize??au;if(!Number.isSafeInteger(r)||r<0)throw Ke(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>Bs)throw Ke(n,`pageSize \u5FC5\u987B\u662F 1-${Bs} \u7684\u6574\u6570`);return {offset:r,limit:c}}function Ws(e){return Object.freeze({...e})}function pu(e){return Object.freeze({...e})}function $s(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 Ys(e){function n(i){if(!e.isActive())throw Pn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,d){if(n(i),e.provider===void 0)throw Hs(i,new w$1("core"));let s;try{s=await d(e.provider);}catch(I){throw n(i),Hs(i,I)}return n(i),s}let c={packs:Object.freeze({list:async i=>{let d="expressions.packs.list",s=i?.version===void 0?void 0:su(i.version,"version",d),I=await r(d,h=>h.listStickerPacks(s)),y=Object.freeze(I.items.map(h=>Object.freeze({...h})));return Object.freeze({version:I.version,items:y})},listItems:async i=>{let d="expressions.packs.listItems",s=on(i,"packageId",d),I=await r(d,y=>y.listStickerItems(s));return Object.freeze(I.map(Ws))}}),favorites:Object.freeze({list:async i=>{let d="expressions.favorites.list",s=await r(d,I=>I.listFavorites(lu(i,d)));return Object.freeze(s.map(Ws))},add:async i=>{let d="expressions.favorites.add",s=Js(i,d);await r(d,I=>I.addFavorite(s));},delete:async i=>{let d="expressions.favorites.delete",s=Vs(i,d);await r(d,I=>I.deleteFavorites(s));}}),recent:Object.freeze({list:async i=>{let d="expressions.recent.list",s=await r(d,I=>I.listRecent(uu(i,d)));return Object.freeze(s.map(pu))},report:async i=>{let d="expressions.recent.report",s=du(i,d);await r(d,I=>I.reportRecent(s));},delete:async i=>{let d="expressions.recent.delete",s=Vs(i,d);await r(d,I=>I.deleteRecent(s));}}),reactions:Object.freeze({listTop:async i=>{let d="expressions.reactions.listTop",s=i?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw Ke(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(d,async I=>{let y=await I.listReactionTop(s);if(!Array.isArray(y))throw new x("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(h=>iu(h,"reaction emoji")))})},report:async i=>{let d="expressions.reactions.report",s=on(i,"emoji",d);await r(d,I=>I.reportReaction(s));}}),giphy:Object.freeze({trending:async i=>{let d="expressions.giphy.trending",s=await r(d,I=>I.listGiphyTrending(qs(i,d)));return $s(s)},search:async(i,d)=>{let s="expressions.giphy.search",I=on(i,"query",s),y=await r(s,h=>h.searchGiphy({query:I,...qs(d,s)}));return $s(y)}})};return {api:Object.freeze(c)}}function En(e,n,r){try{r();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?V({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):V({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function Xs(e){return {createRoom(n){En("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){En("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){En("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){En("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){En("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){En("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){En("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var mu=30,fu=300*1e3,gu=64,Iu=900*1e3,yu=2048,hu=0;function an(e){let n=V({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 Qs(e){let n=e.now??(()=>Date.now()),r=e.pageSize??mu,c=e.tokenTtlMs??fu,i=e.maxTokens??gu,d=e.anchorTtlMs??Iu,s=e.maxAnchors??yu;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let I=++hu,y=new Map,h=new Map,_=0,A=true;function p(x){if(!A)throw an({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:x,retryable:false});if(e.isAvailable?.()===false)throw an({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:x,retryable:false})}function P(x,z){let re=x.trim();if(re==="")throw an({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:z,retryable:false});return re}function N(x){let z=`im-search:${I}:${++_}`;for(y.set(z,{...x,expiresAt:n()+c});y.size>i;){let re=y.keys().next().value;if(typeof re!="string")break;y.delete(re);}return z}function b(x,z){return JSON.stringify([x.conversationType,x.conversationId,z])}function T(x){for(let[z,re]of h)re.expiresAt<=x&&h.delete(z);}function g(x,z){let re=Object.freeze({conversationType:x.conversationType,conversationId:x.conversationId}),E=b(re,x.id);for(h.delete(E),h.set(E,{anchor:Object.freeze({id:x.id,conversationType:x.conversationType,conversationId:x.conversationId,sortKey:x.sortKey}),expiresAt:z+d});h.size>s;){let U=h.keys().next().value;if(typeof U!="string")break;h.delete(U);}}function m(x,z){let re=z==="conversation"?"search.conversations.next":"search.messages.next";p(re);let E=y.get(x);if(E===void 0||E.expiresAt<=n())throw y.delete(x),an({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:re,retryable:false});if(E.kind!==z)throw an({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:re,retryable:false});return E}function a(x){let z=x.draft?.text.trim();return z===void 0||z===""?x.lastMessagePreview:z}function o(x){let z=Object.freeze({conversationType:x.type,conversationId:x.id});return Object.freeze({ref:z,title:x.title,preview:a(x)})}function u(x,z){let re=Object.freeze(x.slice(z,z+r)),E=z+re.length,U=E>=x.length,q=U?void 0:N({kind:"conversation",items:x,offset:E});return Object.freeze({items:re,...q===void 0?{}:{nextPageToken:q},exhausted:U})}async function C(x,z,re){p(re);let E=P(z,re).toLowerCase(),U=Object.freeze(e.domainState.getConversationList().filter(q=>(q.type==="direct"||q.type==="group"||q.type==="channel")&&(x===void 0||q.type===x)&&`${q.title}
2
+ ${q.id}`.toLowerCase().includes(E)).map(o));return u(U,0)}function S(x,z,re){let E=x.conversationId.trim();if(x.conversationType!==z||E==="")throw an({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:re,retryable:false});return Object.freeze({conversationType:z,conversationId:E})}function v(x,z){let re=x.conversationType,E=x.conversationId.trim();if(re!=="direct"&&re!=="group"&&re!=="channel"||E==="")throw an({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:re==="supergroup"?"unsupported":"validation",operation:z,retryable:false});return Object.freeze({conversationType:re,conversationId:E})}async function D(x){p("search.messages");let z;try{z=await e.domainState.searchMessages(x.ref,{...x.keyword===void 0?{}:{keyword:x.keyword},...x.contentTypes===void 0?{}:{contentTypes:x.contentTypes},limit:r,...x.beforeSortKey===void 0?{}:{beforeSortKey:x.beforeSortKey}});}catch(ne){throw an({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:ne})}let re=new Set,E=[],U=n();T(U);for(let{message:ne}of z.results){if(ne.conversationType!==x.ref.conversationType||ne.conversationId!==x.ref.conversationId||ne.sortKey.trim()===""||x.contentTypes!==void 0&&!x.contentTypes.includes(ne.contentType))throw an({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});re.has(ne.id)||(re.add(ne.id),g(ne,U),E.push(Object.freeze({ref:x.ref,messageId:ne.id,senderId:ne.senderId,createdAt:ne.createdAt,contentType:ne.contentType,preview:X$1(ne)})));}let q=z.nextBeforeSortKey?.trim();if(!z.exhausted&&(q===void 0||q==="")||z.exhausted&&q!==void 0)throw an({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let X=q===void 0?void 0:N({kind:"message",ref:x.ref,...x.keyword===void 0?{}:{keyword:x.keyword},...x.contentTypes===void 0?{}:{contentTypes:x.contentTypes},beforeSortKey:q});return Object.freeze({items:Object.freeze(E),...X===void 0?{}:{nextPageToken:X},exhausted:z.exhausted})}async function G(x,z,re,E){p(E);let U=S(x,z,E);return D({ref:U,keyword:P(re,E)})}async function J(x,z,re,E){p(re);let U=v(x,re),q=E?.trim();return D({ref:U,...q===void 0||q===""?{}:{keyword:q},contentTypes:Object.freeze([z])})}return {api:{conversations:{all:x=>C(void 0,x,"search.conversations.all"),direct:x=>C("direct",x,"search.conversations.direct"),groups:x=>C("group",x,"search.conversations.groups"),channels:x=>C("channel",x,"search.conversations.channels"),async next(x){let z=m(x,"conversation");return u(z.items,z.offset)}},messages:{inDirect:(x,z)=>G(x,"direct",z,"search.messages.inDirect"),inGroup:(x,z)=>G(x,"group",z,"search.messages.inGroup"),inChannel:(x,z)=>G(x,"channel",z,"search.messages.inChannel"),texts:async(x,z)=>(p("search.messages.texts"),J(x,"text","search.messages.texts",P(z,"search.messages.texts"))),files:(x,z)=>J(x,"file","search.messages.files",z),images:x=>J(x,"image","search.messages.images"),videos:x=>J(x,"video","search.messages.videos"),voices:x=>J(x,"voice","search.messages.voices"),async next(x){let z=m(x,"message");return D(z)}}},resolveHistoryAnchor(x,z){if(!A||e.isAvailable?.()===false)return;let re=b(x,z),E=h.get(re);if(E!==void 0){if(E.expiresAt<=n()){h.delete(re);return}return E.anchor}},dispose(){A&&(A=false,y.clear(),h.clear());}}}function kt(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 Zs(e){function n(I){let y=0n;for(let h=0;h<10;h++){let _=I+h,A=e[_];if(A===void 0)return {ok:false,kind:"truncated-varint"};if(y|=BigInt(A&127)<<BigInt(h*7),(A&128)===0)return {ok:true,nextOffset:_+1,value:y}}return {ok:false,kind:"invalid-varint"}}let r=[],c,i=0;function d(I,y,h){return {protobufWireStatus:I,protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:y,protobufFailureOffset:h,protobufBytesRemaining:Math.max(0,e.length-h)}}function s(I){r.length<32&&!r.includes(I)&&r.push(I),c=I;}for(;i<e.length;){let I=i,y=n(I);if(!y.ok)return d(y.kind==="truncated-varint"?"truncated":"invalid",y.kind==="truncated-varint"?"truncated-tag":y.kind,I);let h=Number(y.value>>3n),_=Number(y.value&0x07n);if(!Number.isSafeInteger(h)||h<=0)return d("invalid","invalid-field-number",I);if(i=y.nextOffset,_===0){let A=i,p=n(A);if(!p.ok)return d(p.kind==="truncated-varint"?"truncated":"invalid",p.kind,A);i=p.nextOffset;}else if(_===1){if(e.length-i<8)return d("truncated","truncated-fixed64",i);i+=8;}else if(_===2){let A=i,p=n(A);if(!p.ok)return d(p.kind==="truncated-varint"?"truncated":"invalid",p.kind==="truncated-varint"?"truncated-length":p.kind,A);if(p.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",A);i=p.nextOffset;let P=Number(p.value);if(P>e.length-i)return d("truncated","truncated-length-delimited",i);i+=P;}else if(_===5){if(e.length-i<4)return d("truncated","truncated-fixed32",i);i+=4;}else return d("invalid","invalid-wire-type",I);s(h);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}var Cu=2,Ln=30,vu=50,Mu=5,Su=20,bu={maxSize:320,targetBytes:10*1024,maxBytes:16*1024,quality:.84,minQuality:.68};function ec(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 Pu(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 Eu(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 nc(e$1,n$1,r$1,c$1=0){let i=e$1.clientType??Cu,d$2={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i}}},s$1=e$1.transport??Sa(),I=e$1.adapters?.storage,y=I?.create({namespaceFactory:r$1})??(typeof indexedDB>"u"?void 0:Ra({namespaceFactory:r$1,mediaAssetCache:{strategies:zi()}})),h$1=t=>{let l=y?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>kr(t)).catch(L=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:L}}));},_=Pu(y)?y:void 0,A=Ps({...y===void 0?{}:{storage:y},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient}}),p,P,N=Gi({...y===void 0?{}:{storage:y},conversationBackgrounds:A.api,onDirectReadReceiptDisabled:t=>p?.(t)}),b="",T=or(e$1.debug,()=>({generation:c$1,...b===""?{}:{accountId:b}})),g$1=0;function m$2(t){return g$1+=1,`channel-${t}-${c$1}-${g$1}`}let a$1=db(T),o$1=(t,l,L=b)=>{let j=l.fromId===L?l.toId:l.fromId;kt(T,{conversation:{conversationType:"direct",conversationId:j},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}});},u$1=(t,l)=>{kt(T,{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}});},C=(t,l)=>{kt(T,{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}});},S=t=>{T.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 v$1(t){return t==="left"||t==="removed"||t==="dismissed"}T.record("debug","sdk","session","runtime-created");let D="empty",G$1=true,J=n$1.subscribe(t=>{if(G$1){if(t.type==="connection:changed"){T.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){T.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:Di(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){T.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";T.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function oe(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let x=n$1.subscribe(t=>{y?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let L=(await y.getDecryptRecoveries?.(t.conversation)??[]).find(j=>j.messageId===t.message.id);L!==void 0&&oe(L)||await y.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:l}})):t.type==="message:removed"?y.deleteDecryptRecovery(t.conversation,t.messageId).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}})):t.type==="conversation-history:cleared"&&y.deleteConversationDecryptRecoveries?.(t.conversation).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}})));}),z$1=new Set,re="auto",E=false,U=false,q=()=>{},X=null,ne=null,R,F,K,$=new Map,B$1=0,ae=t=>$.get(t)??0,ce=t=>{$.set(t,ae(t)+1);},ye=e$1.profile??(e$1.coreClient===void 0?void 0:B({client:e$1.coreClient,clientType:i,...y===void 0?{}:{storage:y}})),se=e$1.channelProfile??(e$1.coreClient===void 0?void 0:o({client:e$1.coreClient,clientType:i,getUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??"",...y===void 0?{}:{storage:y}})),Se=e$1.channelMembers??(e$1.coreClient===void 0?void 0:s({client:e$1.coreClient,clientType:i,isActive:()=>G$1,...y===void 0?{}:{storage:y}})),we=e$1.channelMentionMembers??(e$1.coreClient===void 0?void 0:t({client:e$1.coreClient,clientType:i})),Te=Ss({...we===void 0?{}:{provider:we},...y===void 0?{}:{storage:y}}),We=e$1.directory??(e$1.coreClient===void 0?void 0:v({client:e$1.coreClient,clientType:i,getUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??""})),xe=Ks({...We===void 0?{}:{provider:We}}),$e=e$1.expressionProvider??z({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),tt=Ys({provider:$e,isActive:()=>G$1}),Fn=()=>{},rt=Xi({namespaceFactory:r$1,...y===void 0?{}:{storage:y},emitter:n$1,getAccountId:()=>b,isActive:()=>G$1,clearMemoryCaches:()=>{ye?.clearCache?.(),se?.clearCache?.(),Se?.clearCache?.(),Te.clear(),Fn();}}),f=e$1.channelJoinApplications??(e$1.coreClient===void 0?void 0:r({client:e$1.coreClient,clientType:i})),w$1=e$1.contactApplications??(e$1.coreClient===void 0?void 0:k({client:e$1.coreClient,clientType:i})),O=e$1.groupApplications??(e$1.coreClient===void 0?void 0:l({client:e$1.coreClient,clientType:i})),M=Ba({emitter:n$1,diagnostics:T,profile:ye,channelProfile:se,storage:y,getSelfId:()=>b,loadOlderFromRemote:t=>R===void 0?Promise.resolve({messages:[],exhausted:true}):R(t),loadNewerFromRemote:t=>K===void 0?Promise.resolve({messages:[],exhausted:true}):K(t)}),te=us({directory:xe.contacts,getSelfId:()=>b,...ye===void 0?{}:{profile:ye},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:M,emitter:n$1,terminateConversationSending:(t,l)=>q(t,l),resetDirectReadReceiptPreference:t=>N.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?P?.(t):l!=="unknown"&&p?.(t);}}),ve=Cs({...w$1===void 0?{}:{contact:w$1},...O===void 0?{}:{group:O},...f===void 0?{}:{channel:f},onContactAccepted:async(t,l)=>{te.updateRelationshipFromEvent(t,"friend"),await M.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),M.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>G$1&&D==="ready"}),Ge=Us({domainState:M,emitter:n$1,isActive:()=>G$1}),en=Qs({domainState:M,isAvailable:()=>G$1&&D==="ready"}),fn=ps(()=>M.getSessions()),Ee=e$1.crypto??h(),Je=e$1.media!==void 0?Oa(e$1.media):void 0,cc=Na(),br=Ma(),Ye=e$1.coreClient===void 0?void 0:d({client:e$1.coreClient,crypto:Ee,clientType:i,onError:(t,l)=>a$1?.("crypto",{message:t,cause:l})}),Pr=e$1.coreClient===void 0?void 0:g({client:e$1.coreClient,clientType:i,onError:(t,l)=>a$1?.("crypto",{scope:"send-key",message:t,cause:l})}),_e=e$1.http??u({getBaseUrl:()=>e$1.endpointProvider.getCmHttpBaseUrl(),getAuth:async()=>{let t=await d$2.getLoginContext();return t===null?null:{userId:t.userId,token:t.token}},getClientType:()=>i}),je=e$1.coreClient===void 0?void 0:e({client:e$1.coreClient,crypto:Ee,clientType:i,onError:(t,l)=>a$1?.("crypto",{scope:"group-key",message:t,cause:l})}),me=e$1.channelKeyService??(e$1.coreClient===void 0?void 0:a({loadSecretKey:t=>ca(e$1.coreClient,{channelId:t,clientType:i}),onError:(t,l)=>a$1?.("crypto",{scope:"channel-key",message:t,cause:l})})),Er=async t=>{if(me===void 0)return;let l=me.getCachedChannelKey(t)===null;try{await me.getChannelKey(t);}catch{return}if(!(!l||!G$1))try{await st({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(L){n$1.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:L}});}},Ar=async t=>me===void 0?null:me.getChannelKey(t),Rr=t=>{if(me===void 0)return null;let l=me.getCachedChannelKey(t);return l===null&&Er(t),l},Ot=()=>Ye?.getCachedPrivateKey(b)?.privateKey??null,dc=()=>({crypto:Ee,resolveChannelKey:Rr,resolveUserPrivateKey:Ot,onDecryptRecovery:h$1,onDecryptError:t=>{let l=me!==void 0&&y?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(C("live",{...t,forceRefreshAttempted:l}),!l)return;let L=me.getCachedChannelKey(t.channelId)??void 0;me.getChannelKey(t.channelId,{staleKey:L}).catch(()=>{});}}),An=async t=>{let l=[];me!==void 0&&l.push(...[...new Set(t)].map(L=>Er(L))),Ye!==void 0&&b!==""&&l.push(Ye.getUserPrivateKey(b).catch(()=>null)),await Promise.all(l);},Rn=t=>({crypto:Ee,resolveChannelKey:l=>me?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Ot,onDecryptError:l=>C(t,l),onDecryptRecovery:h$1});function ot(t){je!==void 0&&t!==""&&je.getGroupKeys(t);}let wr=async t=>{if(je===void 0)return null;let l=await je.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},Tr=t=>{if(je===void 0)return null;let l=je.getCachedGroupKeys(t);return l!==null?l.privateKey:(ot(t),null)},Kn=async t=>{je!==void 0&&await Promise.all(t.map(l=>je.getGroupKeys(l).catch(()=>null)));},lc=()=>({crypto:Ee,resolvePrivateKey:({groupId:t})=>Tr(t),preparePrivateKey:async({groupId:t})=>je===void 0?null:(await je.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>u$1("live",t),onDecryptRecovery:h$1}),Un=t=>({crypto:Ee,resolvePrivateKey:({groupId:l})=>Tr(l),onDecryptError:l=>u$1(t,l),onDecryptRecovery:h$1}),at=new Map,wn=new Map,xt=new Set,Nt=new Set;function it(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function uc(t,l){let L=ya$1(t),j=wn.get(L)??new Set;j.add(l),wn.set(L,j);}function _r(t){wn.delete(ya$1(t));}function pc(t,l){return t.length===l.length&&t.every((L,j)=>L===l[j])}function Dr(t){if(t.conversation.conversationType==="group")return je?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Tn(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 mc(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 kr(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,L=at.get(l);if(L!==void 0)return L;let j=(async()=>{let Q=M.getConversationMessage(t.conversation,t.messageId),ee=oe(t);if(Q===void 0||Q.encryption.decryptFailed!==true&&!ee){await y?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}T.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:Q.senderId,messageCreatedAt:Q.createdAt,selfMessage:Q.senderId===b,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 H,W,Z="key-resolve",ie=Tn(t);for(let ge of [false,true]){let Re=ge?"force":"current",pe;try{Z="bcontent";let ke=d$1.decode(t.sContent);if(t.wireEncrypt===1){if(ke.secretKey.length===0||ke.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");Z="key-resolve";let Qe=ge?{...typeof W=="string"?{staleKey:W}:{}}:void 0,Ze=t.conversation.conversationType==="group"?(await je?.getGroupKeys(t.conversation.conversationId,Qe))?.privateKey??null:(await Ye?.getUserPrivateKey(b,Qe))?.privateKey??null;ge&&W!==void 0&&(pe=typeof W=="string"&&Ze!==null&&W!==Ze),pe===!0&&_r(t.conversation),ge||(W=Ze);let sn=Dr(t);if(Ze===null){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Re,strategy:Tn(t),finalStage:Z,reason:"no-key",...sn===void 0?{}:{resolvedKeyVersion:sn},...pe===void 0?{}:{keyChanged:pe}}}));continue}Z="rsa";let k=Ee.rsaDecryptPkcs1({data:ke.secretKey,privateKey:Ze});if(k.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${k.length} < 16`);Z="tea";let Y=Ee.decryptSymmetric({teaKey:k,cipherData:ke.cipherData});T.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Re,strategy:Tn(t),rsaCipherBytes:ke.secretKey.length,cipherDataBytes:ke.cipherData.length,cipherDataBlockRemainder:ke.cipherData.length%8,resolvedTeaBytes:k.length,plainBytes:Y.length,plainBlockRemainder:Y.length%8,startsWithContentTypeField:Y[0]===8,startsWithMobileCardType:Y[0]===8&&Y[1]===8,...Zs(Y)}})),Z="bmessage",H=c.decode(Y);}else if(t.conversation.conversationType==="channel"){if(ke.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");Z="key-resolve";let Qe=ge?{...W instanceof Uint8Array?{staleKey:W}:{}}:void 0,Ze=me?.getChannelKeyCandidates===void 0?await me?.getChannelKey(t.conversation.conversationId,Qe).then(Y=>[{strategy:"canonical-base64-pad",key:Y}])??[]:await me.getChannelKeyCandidates(t.conversation.conversationId,Qe),sn=me?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);sn!=null&&T.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Re,...sn}}));let k=Ze.find(Y=>Y.strategy==="canonical-base64-pad")?.key??null;if(ge&&W instanceof Uint8Array&&k!==null&&(pe=!pc(W,k)),pe===!0&&_r(t.conversation),ge||(W=k?.slice()??null),Ze.length===0){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Re,strategy:Tn(t),finalStage:Z,reason:"no-key",...pe===void 0?{}:{keyChanged:pe}}}));continue}for(let Y of Ze)try{Z="tea";let Ie=Ee.decryptSymmetric({teaKey:Y.key,cipherData:ke.cipherData});Z="bmessage";let Ce=c.decode(Ie);if(Y.strategy==="legacy-ascii16"&&!mc(Ce))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");H=Ce,ie=Y.strategy,T.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Re,strategy:Y.strategy,finalStage:"recovered",reason:"recovered",...pe===void 0?{}:{keyChanged:pe}}}));break}catch(Ie){T.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Re,strategy:Y.strategy,finalStage:Z,reason:"decrypt-failed",...pe===void 0?{}:{keyChanged:pe}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Ie}}));}}if(H!==void 0){T.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Re,strategy:ie,finalStage:"recovered",reason:"recovered",...pe===void 0?{}:{keyChanged:pe}}}));break}}catch(ke){let Qe=Dr(t);T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Re,strategy:Tn(t),finalStage:Z,reason:"decrypt-failed",...Qe===void 0?{}:{resolvedKeyVersion:Qe},...pe===void 0?{}:{keyChanged:pe}},error:{message:"IM message decryption recovery failed",data:ke}}));}}if(!G$1||H===void 0){H===void 0&&(uc(t.conversation,t.messageId),T.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:Tn(t),attempts:2,finalStage:Z}})));return}let de=M.getConversationMessage(t.conversation,t.messageId);if(de===void 0||de.encryption.decryptFailed!==true&&!ee)return;let he=t.conversation.conversationType==="channel"&&(t.cmdId===12804||H.contentType===101)?w({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(de.serverTime??de.createdAt),notifyType:H.type,operatorId:H.oprUserId,targetUserIds:H.mnpledUserId,content:H.content,...typeof de.extensions?.historyCursor=="string"?{historyCursor:de.extensions.historyCursor}:{},...typeof de.extensions?.channelSequence=="string"?{sequence:BigInt(de.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:de.raw!==void 0}):{...G(de,H,b),...ee?{edited:true}:{}};M.upsertMessages([he],"offline"),await y?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{at.get(l)===j&&at.delete(l);});return at.set(l,j),j}async function st(t,l={}){let L=ya$1(t),j=await y?.getDecryptRecoveries?.(t)??[],Q=wn.get(L),ee=Q===void 0?j:j.filter(ie=>!Q.has(ie.messageId));if(await Promise.all(ee.map(kr)),!G$1||l.recoverLegacyWithoutSidecar===false)return;let H=wn.get(L),W=new Set(j.filter(ie=>H===void 0||!H.has(ie.messageId)).map(ie=>ie.messageId)),Z=M.getMessagesByConversation(t).filter(ie=>ie.encryption.decryptFailed===true&&!W.has(ie.id));if(!(Z.length===0||xt.has(L))){xt.add(L),T.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:Z.length,withoutSidecar:Z.filter(ie=>!j.some(de=>de.messageId===ie.id)).length}}));try{if(t.conversationType==="channel"){let ie=await d$2.getLoginContext();if(ie===null||F===void 0)return;for(let de of Z.slice(0,Su)){let he=de.extensions?.historyCursor;if(typeof he!="string"||he.trim()==="")continue;let ge=await F(t.conversationId,he,ie.userId);if(!G$1)return;ge.length>0&&M.upsertMessages(ge,"offline");}}else t.conversationType==="group"?await fc({conversationType:"group",conversationId:t.conversationId},Z):t.conversationType==="direct"&&await Wr();}catch(ie){n$1.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:ie}});}}}async function fc(t,l){if(R===void 0)return;let L=[...l].sort((W,Z)=>W.sortKey.localeCompare(Z.sortKey)),j=L[0],Q=L.at(-1);if(j===void 0||Q===void 0)return;let ee=j.serverTime??j.createdAt,H;for(let W=0;W<Mu;W++){let Z=await R({conversation:t,oldestLoaded:Q,...H===void 0?{}:{cursor:H},intent:"older",limit:vu});if(!G$1||Z.exhausted||Z.nextCursor===void 0)return;let ie=Number(Z.nextCursor);if(Number.isFinite(ie)&&ie<=ee)return;H=Z.nextCursor;}}let Ue=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};R=async({conversation:t,oldestLoaded:l,cursor:L,intent:j,limit:Q})=>{let{conversationId:ee}=t,H=M.getSession(t);if(H===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(H.type==="direct")return {messages:[],exhausted:true};if(H.type==="group"){if(H.groupState!==void 0&&H.groupState!=="active")return {messages:[],exhausted:true};let W=await d$2.getLoginContext();if(W===null)return {messages:[],exhausted:true};let Z=j==="establish-latest"?Date.now():L===void 0?l?.serverTime??l?.createdAt??Date.now():ec(L,ee),ie=await Ea$1({http:_e,userId:W.userId,clientType:i,groupId:ee,baseTime:Z,direct:1,limit:Q,decryptDeps:Un("history"),prepareKeys:Kn,onReaction:Ue});ie.messages.length>0&&M.upsertMessages(ie.messages,"offline");let de=ie.oldestEntryTime,he=ie.batchSize<Q||de===void 0||de>=Z;return {messages:ie.messages,exhausted:he,...he?{}:{nextCursor:String(de)},...j==="establish-latest"?{replaceWindow:true}:{}}}if(H.type==="channel"){let W=m$2("history");if(H.channelState!==void 0&&Fe(H.channelState))return T.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:W,data:{state:H.channelState}})),{messages:[],exhausted:true};let Z=B$1,ie=ae(ee),de=await d$2.getLoginContext();if(de===null)return {messages:[],exhausted:true};if(j==="establish-latest"){let pe=await wa({http:_e,userId:de.userId,clientType:i,channelId:ee,count:Ln,operationId:W,decryptDeps:Rn("history"),prepareKey:me===void 0&&Ye===void 0?void 0:Qe=>An([Qe]),onContentDecodeError:S,onReaction:Ue}),ke=M.getSession(t);return !G$1||Z!==B$1||ie!==ae(ee)||ke?.type!=="channel"||ke.channelState!==void 0&&Fe(ke.channelState)?{messages:[],exhausted:true}:(pe.messages.length>0&&M.upsertMessages(pe.messages,"offline"),{messages:pe.messages,exhausted:!pe.hasOlder,...pe.nextCursor===void 0?{}:{nextCursor:pe.nextCursor},replaceWindow:true})}let he=L??"";if(L===void 0&&l!==void 0){let pe=l.extensions?.historyCursor;if(typeof pe=="string"&&pe.trim()!=="")he=pe;else if(!Eu(l,de.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${ee}, messageId=${l.id}\uFF09`)}T.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:W,data:{baseIndexPresent:he!=="",direction:1,contain:0,count:Ln,historyGeneration:Z,historyEpoch:ie,clientTypeHeader:i,clientTypeBody:i}}));let ge;try{ge=await xa({http:_e,userId:de.userId,clientType:i,channelId:ee,baseIndex:he,count:Ln,contain:0,operationId:W,decryptDeps:Rn("history"),prepareKey:me===void 0&&Ye===void 0?void 0:pe=>An([pe]),onContentDecodeError:S,onReaction:Ue});}catch(pe){throw T.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:W,data:{baseIndexPresent:he!=="",direction:1,contain:0,count:Ln},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:pe}})),pe}let Re=M.getSession(t);return !G$1||Z!==B$1||ie!==ae(ee)||Re?.type!=="channel"||Re.channelState!==void 0&&Fe(Re.channelState)?{messages:[],exhausted:true}:(ge.messages.length>0&&M.upsertMessages(ge.messages,"offline"),T.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:W,data:{responseBatchSize:ge.batchSize,messageCount:ge.messages.length,exhausted:ge.exhausted,nextBaseIndexPresent:ge.nextBaseIndex!==void 0}})),{messages:ge.messages,exhausted:ge.exhausted,...ge.nextBaseIndex===void 0?{}:{nextCursor:ge.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${H.type}`)};let Lt=t=>{t.length>0&&M.upsertMessages(t,"offline",{backfillOnly:true});},Ft=async()=>{let t=await d$2.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}},gc=async t=>{let{userId:l}=await Ft(),L=await ra({http:_e,userId:l,clientType:i,messageIds:t,decryptDeps:await Vt(l),onReaction:Ue});return Lt(L.messages),{messages:L.messages,missingMessageIds:L.missingMessageIds}},Ic=async(t,l)=>{let{userId:L}=await Ft(),j=await sa$1({http:_e,userId:L,clientType:i,groupId:t,messageIds:l,decryptDeps:Un("history"),prepareKeys:Kn,onReaction:Ue});return Lt(j.messages),{messages:j.messages,missingMessageIds:j.missingMessageIds}},yc=async(t,l)=>{let{userId:L}=await Ft(),j=await ta$1({http:_e,userId:L,clientType:i,channelId:t,messageIds:l,operationId:m$2("history"),decryptDeps:Rn("history"),prepareKey:me===void 0&&Ye===void 0?void 0:Q=>An([Q]),onContentDecodeError:S,onReaction:Ue});return Lt(j.messages),{messages:j.messages,missingMessageIds:j.missingMessageIds}},hc=ab([_a({includeOppositeEnd:true}),$a({resolveGroupKey:wr}),Za({resolveChannelKey:Ar})]),Cc=Ma$1([Na$1(),Oa$1(),Pa()]),vc=ea([fa(),ga(),ha({resolveChannelKey:Ar,resolveProfile:t=>se?.getProfile(t)??Promise.resolve(null)})]),He=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},_n=()=>false,Kt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Or=()=>{},Ut=()=>{},Bn={...M,removeConversationForMembershipTermination:(t,l)=>{Or(t,l),t.conversationType==="group"?je?.clearGroupKeys(t.conversationId):me?.clearChannelKey(t.conversationId),M.removeConversationForMembershipTermination(t,l),A.api.resetBackground(t).catch(L=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:L}}));}},Gn=Ea({domainState:M,sendFrame:t=>He(t),getSelfId:()=>b,isAuthenticated:()=>_n(),reportReaction:t=>$e.reportReaction(t),isEmojiSupported:Fi,logger:a$1});Ue=t=>{Gn.ingest(t,"offline");};let Mc=Fa({manager:Gn,getSelfId:()=>b,logger:a$1}),Sc=Xa({domainState:M,outbox:{onChatAck:t=>Kt(t)},sendFrame:t=>He(t),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:lc(),isActive:()=>G$1}),bc=Sa$1({domainState:M,outbox:{onChatAck:t=>Kt(t)},sendFrame:t=>He(t),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:dc()}),Pc=Ra$1({domainState:M,sendFrame:t=>He(t),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:{crypto:Ee,resolveChannelKey:Rr,resolveUserPrivateKey:Ot,onDecryptRecovery:h$1}}),Ec=Qa({getSelfId:()=>b,sendFrame:t=>He(t),emitter:n$1}),Ac=Va({sendFrame:t=>He(t),emitter:n$1,getSelfId:()=>b,domainState:{reconcileDirectContactEstablishedNotice:M.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){M.removeConversation(t);return}t.conversationType==="direct"&&q(t,"friend_relation_removed"),M.removeConversation(t);})},resetDirectReadReceiptPreference:t=>N.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:te.updateRelationshipFromEvent}),Rc=Ya({sendFrame:t=>He(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:M.applyTransferStatusBySerialNumber}}),wc=Ua({getSelfId:()=>b,sendFrame:t=>He(t),emitter:n$1}),Tc=Ta({getSelfId:()=>b,domainState:M,sendFrame:t=>He(t),emitter:n$1,onRelationshipChanged:te.updateRelationshipFromEvent}),Bt=l$1({sendFrame:t=>He(t),emitter:n$1,getSelfId:()=>b,isAuthenticated:()=>_n(),domainState:M}),Gt=m({sendFrame:t=>He(t),emitter:n$1,getSelfId:()=>b,isAuthenticated:()=>_n(),domainState:M}),xr=[...Bt.handlers,...Gt.commandHandlers],_c=2e3,jn,jt=false,Nr=new Set;async function Lr(){if(jt||!G$1||!_n())return;let t=await d$2.getLoginContext();if(t!==null){jt=true;try{let l=[];for(;;){let L=await Fa$1({http:_e,userId:t.userId,clientType:i,deliveredMsgIds:l});T.record("info","sdk","call","signal-offline-pull",()=>({data:{count:L.items.length,cmdIds:L.items.map(j=>`0x${j.cmdId.toString(16)}`)}})),L.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let j of L.items){if(n$1.emit({type:"notification",cmdId:j.cmdId,name:"OFFLINE_SIGNAL"}),j.msgId!==""&&Nr.has(j.msgId))continue;j.msgId!==""&&Nr.add(j.msgId);let Q=xr.find(ee=>ee.command===j.cmdId);Q!==void 0&&Q.handler(j.cmdId,j.body);}if(L.deliveredMsgIds.length===0)break;l=L.deliveredMsgIds;}}catch(l){n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{jt=false;}}}function Dc(){Lr(),jn===void 0&&(jn=setInterval(()=>{Lr();},_c));}function Fr(){jn!==void 0&&clearInterval(jn),jn=void 0;}let kc=Wa({domainState:M,sendFrame:t=>He(t),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true}),Oc=Ca({domainState:Bn,getSelfId:()=>b,prefetchGroupKey:ot,clearGroupKeys:t=>{je?.clearGroupKeys(t);},clearConversationTermination:t=>Ut(t)}),xc=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&Oc.handleMessage(t.message);}),Kr=ua({domainState:Bn,getSelfId:()=>b,prepareChannelKey:t=>{T.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:me!==void 0&&me.getCachedChannelKey(t)!==null}})),me!==void 0&&me.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=me!==void 0&&me.getCachedChannelKey(t)!==null;me?.clearChannelKey(t),T.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>Ut(t),stopChannelHistory:t=>{let l=ae(t);ce(t),M.messageWindow.info().conversationId===t&&M.messageWindow.reset(),T.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:ae(t)}}));}}),Nc=n$1.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&T.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(b)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:M.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Kr.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),Lc=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"]),Fc=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Kc=n$1.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,L=l.body.system?.eventType;l.conversationType==="channel"&&L!==void 0&&(Lc.has(L)&&Se?.invalidateChannelMembers(l.conversationId).catch(j=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:j}});}),Fc.has(L)&&Te.invalidate(l.conversationId).catch(j=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:j}});}));}),Ur=wi({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:M,emitter:n$1}),Br=ss({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:M,emitter:n$1}),gn=cs({...f===void 0?{}:{joinApplications:f},http:_e,clientType:i,buildOfflineDecrypt:()=>Rn("history"),onContentDecodeError:S,onReaction:Ue,...me===void 0&&Ye===void 0?{}:{prepareKey:t=>An([t])}});F=async(t,l,L)=>{let{context:j}=await gn.loadMessageContext(t,l,L);return j.messages};let Uc=ds({authProvider:d$2,emitter:n$1,domainState:M,loadMessageContext:gn.loadMessageContext,isActive:()=>G$1,getHistoryGeneration:()=>B$1,getHistoryEpoch:ae}),Ht=Ha({domainState:M,updateReadIndex:async({channelId:t,readCursor:l})=>{let L=await d$2.getLoginContext();if(L===null)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Q({http:_e,userId:L.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$1,logger:a$1,syncRead:{getSelfId:()=>b,sendFrame:t=>He(t)}}),Bc=Ga({getSelfId:()=>b,applyRemoteRead:t=>Ht.applyRemoteRead(t),emitter:n$1,logger:a$1}),Gc=La([Ka({domainState:M,markGroupReadAll:async t=>{let l=await d$2.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:_e,userId:l.userId,groupId:t});},emitter:n$1,logger:a$1,isAuthenticated:()=>_n(),syncRead:{getSelfId:()=>b,sendFrame:t=>He(t)}}),Ht]),ue=bb({transport:s$1,authProvider:d$2,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:M,logger:a$1,decrypt:{crypto:Ee,resolvePrivateKey:({msgType:t})=>t===1?Ye?.getCachedPrivateKey(b)?.privateKey??null:null,onDecryptError:t=>o$1("live",t),onDecryptRecovery:h$1},encryptSend:Pr===void 0&&me===void 0?void 0:{crypto:Ee,resolvePublicKey:t=>Pr?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:wr},media:Je!==void 0?{transfer:Je,preview:cc,onTransferError:t=>{T.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}}));},..._===void 0?{}:{assetCache:_,onAssetCacheError:t=>{T.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:hc,commandHandlers:[...Ac,...Rc,...wc,...Tc,...xr,...Mc,...Sc,...kc,...bc,...Pc,...Ec,...Bc],readStrategies:Gc,canSendDirectReadReceipt:t=>{if(!N.isDirectReadReceiptEnabled(t))return false;let l=te.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:Cc,channelMessageDeletion:{resolveProfile:t=>se?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>M.refreshConversationProfile(t,"channel")},editStrategies:vc,storage:y,onAuthenticated:()=>{let t=E;E=true,(t||re==="auto")&&zr().catch(()=>{}),Dc();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);p=t=>ue.suppressDirectReadReceipts(t),P=t=>ue.resumeDirectReadReceipts(t),He=ue.sendFrame,_n=()=>ue.state==="authenticated",Kt=ue.onChatAck,q=ue.terminateConversationSending,Or=ue.markOutboxConversationTerminated,Ut=ue.clearOutboxConversationTerminated;let Gr=Ji({operations:{getPending:ue.getPendingOutbox,retry:ue.retryOutboxMessage,cancel:ue.cancelOutboxMessage},emitter:n$1,isActive:()=>G$1}),be=gs({connection:ue,domainState:M,crypto:Ee,...Je===void 0?{}:{mediaTransfer:Je},prepareDirectReadReceipt:async t=>{try{await te.ensureRelationship(t);}catch(l){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),zt=Wi({connection:ue,domainState:M,emitter:n$1,isActive:()=>G$1,..._===void 0?{}:{assetCache:_,onAssetCacheEvent:t=>{T.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}}}));}},...Je===void 0?{}:{loaders:{loadImage:be.operations.loadImage,loadVideo:be.operations.loadVideo,loadVoice:be.operations.loadVoice,loadFile:be.operations.loadFile}}});Fn=()=>{ue.invalidateMediaAssetCacheWrites(),zt.clearCache();};let jr=Pa$1({onOnline:()=>ue.notifyOnline(),onOffline:()=>ue.notifyOffline(),onVisible:()=>ue.notifyVisible(),onPageHide:()=>{U&&ue.suspendForPageLifecycle();},onPageShow:()=>{U&&(ue.resumeFromPageLifecycle(),ue.notifyVisible());}},e$1.network);async function Vt(t){let l=await Ye?.getUserPrivateKey(t)??null;return {crypto:Ee,resolvePrivateKey:({msgType:L})=>L===1?l?.privateKey??null:null,onDecryptError:L=>o$1("offline",L,t),onDecryptRecovery:h$1}}function Hr(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:L})=>{let j=await d$2.getLoginContext();if(j===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let Q=await Vt(j.userId);return l({http:_e,userId:j.userId,clientType:i,decryptDeps:Q,deliveredMsgInfos:L,onReaction:Ue})}}}let jc=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t})=>{let l=await d$2.getLoginContext();if(l===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Ca$1({http:_e,userId:l.userId,clientType:i,decryptDeps:Un("offline"),prepareKeys:Kn,deliveredMsgInfos:t,onReaction:Ue})}});async function Hc(){let t=await d$2.getLoginContext();if(t===null)return;let l=await Da$1({http:_e,userId:t.userId,clientType:i,decryptDeps:Un("offline"),prepareKeys:Kn,onReaction:Ue});for(let L of l.unreads)M.applyServerUnread({conversationType:"group",conversationId:L.groupId},L.unreadCount),ot(L.groupId);l.messages.length>0&&M.upsertMessages(l.messages,"offline");}async function zc(){let t=m$2("sync");T.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:i,sessionsClientTypeBody:"absent",offlineClientTypeBody:i}}));try{await Vc(t);}catch(l){throw T.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Vc(t){if(se===void 0){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await d$2.getLoginContext();if(l===null){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let L=await se.listProfiles({forceRefresh:true});if(L.length===0){T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let j=new Map(L.map(k=>[k.id,k]));for(let k of L){if(v$1(k.channelState)){me?.clearChannelKey(k.id),Bn.removeConversationForMembershipTermination({conversationType:"channel",conversationId:k.id},`channel_${k.channelState}`);continue}let Y=k.permissions.sendMessages?void 0:`channel_${k.channelState}`;M.setChannelRestriction(k.id,k.channelState,Y,{permissions:k.permissions,...k.accessSnapshot===void 0?{}:{snapshot:k.accessSnapshot}}),M.updateConversationProfile(k.id,{title:k.name,avatar:k.avatar}),k.muted!==void 0&&M.setMuted(k.id,k.muted);}let Q=new Map(L.map(k=>{let Y=M.getReadState(k.id),Ie=M.getSession(k.id);return [k.id,{readCursor:Y?.readCursor??Ie?.readCursor??"",unreadCount:Ie?.unreadCount??Y?.unreadCount??0,mentionUnreadCount:Ie?.mentionUnreadCount??Y?.mentionUnreadCount??0}]})),ee=L.map(k=>({channelId:k.id,readCursor:Q.get(k.id).readCursor}));T.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:ee.length,channelsWithReadCursor:ee.filter(k=>k.readCursor!=="").length,clientTypeHeader:i,clientTypeBody:i}}));let H=await ua$1({http:_e,userId:l.userId,clientType:i,channels:ee,operationId:t,decryptDeps:Rn("offline"),prepareKeys:k=>An(k.filter(Y=>{let Ie=j.get(Y)?.channelState;return Ie===void 0||!Fe(Ie)})),onContentDecodeError:S,onReaction:Ue});T.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:H.length,lastMessageCount:H.filter(k=>k.last!==void 0).length,decryptFailedLastCount:H.filter(k=>k.last?.encryption.decryptFailed===true).length,unknownContentLastCount:H.filter(k=>k.last?.contentType==="unknown"&&k.last.encryption.decryptFailed!==true).length}}));let W=new Set(H.filter(k=>{let Y=Q.get(k.channelId),Ie=M.getReadState(k.channelId),Ce=M.getSession(k.channelId);return Y===void 0||(Ie?.readCursor??Ce?.readCursor??"")!==Y.readCursor||(Ce?.unreadCount??Ie?.unreadCount??0)!==Y.unreadCount||(Ce?.mentionUnreadCount??Ie?.mentionUnreadCount??0)!==Y.mentionUnreadCount}).map(k=>k.channelId)),Z=H.filter(k=>M.getSession(k.channelId)!==void 0).map(k=>{let Ie=j.get(k.channelId)?.channelState,Ce=Ie!==void 0&&Fe(Ie)?Ie:Fe(k.channelState)?k.channelState:Ie??k.channelState,qn=Ce==="active"?void 0:Ce===k.channelState?k.sendDisabledReason:`channel_${Ce}`;return {...k,channelState:Ce,sendDisabledReason:qn}});for(let k of Z){let Y=j.get(k.channelId);M.setChannelRestriction(k.channelId,k.channelState,k.sendDisabledReason,Y===void 0?void 0:{permissions:Y.permissions,...Y.accessSnapshot===void 0?{}:{snapshot:Y.accessSnapshot}}),Y!==void 0&&(M.updateConversationProfile(k.channelId,{title:Y.name,avatar:Y.avatar}),Y.muted!==void 0&&M.setMuted(k.channelId,Y.muted)),W.has(k.channelId)||M.applyServerUnread({conversationType:"channel",conversationId:k.channelId},k.unreadCount,void 0,k.readCursor),Fe(k.channelState)&&me?.clearChannelKey(k.channelId);}let ie=Z.filter(k=>!W.has(k.channelId)&&!Fe(k.channelState)&&k.unreadCount>0&&k.readCursor!=="");T.record("debug","sdk","sync","channel-offline-plan",()=>{let k={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let Y of Z)W.has(Y.channelId)?k.staleRead+=1:Fe(Y.channelState)?k.historyBlocked+=1:Y.unreadCount<=0?k.zeroUnread+=1:Y.readCursor===""&&(k.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:Z.length,eligibleChannelCount:ie.length,staleReadSkippedCount:k.staleRead,historyBlockedSkippedCount:k.historyBlocked,zeroUnreadSkippedCount:k.zeroUnread,emptyReadCursorSkippedCount:k.emptyReadCursor,direction:0,contain:0,count:Ln}}});let de=await va({http:_e,userId:l.userId,clientType:i,operationId:t,pulls:ie.map(k=>({channelId:k.channelId,baseIndex:k.readCursor})),messageCount:Ln,decryptDeps:Rn("offline"),prepareKeys:An,onContentDecodeError:S,onReaction:Ue}),he=Z.flatMap(k=>{let Y=k.last;if(Y===void 0||it(Y))return [];let Ie=Y.extensions?.historyCursor;return [{summary:k,last:Y,historyCursor:typeof Ie=="string"?Ie.trim():""}]}),ge=(k,Y)=>`${k}:${Y}`,Re=new Map,pe=new Set;for(let{summary:k,last:Y}of he){let Ie=M.getConversationMessage({conversationType:"channel",conversationId:k.channelId},Y.id);if(Ie===void 0||!it(Ie))continue;let Ce=ge(k.channelId,Y.id);Re.set(Ce,Ie),pe.add(Ce);}for(let k of de)it(k)&&Re.set(ge(k.conversationId,k.id),k);let ke=he.filter(({summary:k,last:Y,historyCursor:Ie})=>Ie!==""&&!W.has(k.channelId)&&!Fe(k.channelState)&&!Re.has(ge(Y.conversationId,Y.id))&&!Nt.has(ge(Y.conversationId,Y.id))),Qe=he.filter(({summary:k,last:Y})=>!W.has(k.channelId)&&!Fe(k.channelState)&&!pe.has(ge(Y.conversationId,Y.id))&&Re.has(ge(Y.conversationId,Y.id))).length;T.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:he.length,decryptFailedLastCount:he.filter(({last:k})=>k.encryption.decryptFailed===true).length,unknownContentLastCount:he.filter(({last:k})=>k.contentType==="unknown"&&k.encryption.decryptFailed!==true).length,localRecoveredCount:pe.size,offlineRecoveredCount:Qe,contextRecoveryCount:ke.length,staleReadSkippedCount:he.filter(k=>W.has(k.summary.channelId)).length,historyBlockedSkippedCount:he.filter(k=>Fe(k.summary.channelState)).length,missingHistoryCursorCount:he.filter(k=>k.historyCursor==="").length}}));let Ze=await Promise.all(ke.map(async({summary:k,last:Y,historyCursor:Ie})=>{try{let{message:Ce}=await gn.loadMessageContext(k.channelId,Ie,l.userId),qn=M.getSession({conversationType:"channel",conversationId:k.channelId});if(!G$1||qn?.type!=="channel"||qn.channelState!==void 0&&Fe(qn.channelState))return;if(Ce.conversationType!=="channel"||Ce.conversationId!==k.channelId||Ce.id!==Y.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${k.channelId}, messageId=${Y.id}\uFF09`);if(!it(Ce)){if(Ce.contentType==="unknown"&&Ce.encryption.decryptFailed!==!0){Nt.add(ge(Ce.conversationId,Ce.id)),T.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:k.channelId},data:{messageId:Y.id,reason:Ce.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=${Y.id}\uFF09`)}return Ce}catch(Ce){T.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:Ce},data:{messageId:Y.id}}));return}}));for(let k of Ze)k!==void 0&&Re.set(ge(k.conversationId,k.id),k);let sn=[...Z.flatMap(k=>k.last===void 0?[]:[Re.get(ge(k.channelId,k.last.id))??k.last]),...de];sn.length>0&&M.upsertMessages(sn,"offline",{applyChannelLifecycleEffects:true}),T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:L.length,terminalProfileCount:L.filter(k=>v$1(k.channelState)).length,sessionCount:H.length,acceptedSessionCount:Z.length,sessionLastCount:Z.filter(k=>k.last!==void 0).length,recoveredSessionLastCount:he.filter(({last:k})=>Re.has(ge(k.conversationId,k.id))).length,offlineMessageCount:de.length}}));}let Hn=null,qt=false;function qc(){return Hn!==null?(qt=true,Hn):(Hn=(async()=>{let l;do{qt=false,l=void 0;try{await zc();}catch(L){l=L;}}while(qt);if(l!==void 0)throw l})().finally(()=>{Hn=null;}),Hn)}let Wc=fb({pullers:[Hr("chat",ya),Hr("owner_chat",za),jc()],domainState:M,emitter:n$1,logger:a$1});async function zr(){let t=Hc().catch(L=>n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:L}})),l=qc().catch(L=>n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:L}}));await Promise.all([Wc.sync(),t,l]);}async function $c(){if(D==="ready")return;D="preparing";let t=await d$2.getLoginContext();if(t!==null){if(b=t.userId,Ye!==void 0&&Ye.getUserPrivateKey(t.userId),y!==void 0)try{await y.open({namespace:t.userId});try{await N.hydrate();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}await M.hydrate();for(let l of M.getSessions())l.title===""&&l.type!=="supergroup"&&M.refreshConversationProfile(l.id,l.type);await ue.hydrateOutbox();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(je!==void 0)for(let l of M.getSessions())l.type==="group"&&ot(l.id);}D="ready";}function Vr(){if(D==="ready")return Promise.resolve();if(X!==null)return X;let t=Date.now();return T.record("info","sdk","session","prepare-start"),X=$c().then(()=>T.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw T.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{X=null;}),X}function Jc(t){if(U=true,ue.state==="authenticated")return Promise.resolve();if(ne!==null)return ne;re=t?.initialSync??"auto",E=false;let l=Date.now();return T.record("info","sdk","connection","connect-start",()=>({data:{initialSync:re}})),ne=(async()=>{await Vr(),jr.start(),await ue.connect();})().then(()=>T.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(L=>{throw T.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:L}})),L}).finally(()=>{ne=null;}),ne}function qr(t){T.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),U=false,Fr(),ue.disconnect(t),jr.stop();}async function Yc(t,l={}){let L=Date.now();T.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),G$1=false,Fr(),Bt.dispose(),Gt.dispose(),Gn.dispose(),Gr.dispose(),zt.dispose(),br.dispose(),ve.dispose(),te.dispose(),ue.disposeMediaTasks();for(let Z of z$1)Z.close();z$1.clear(),B$1+=1,ue.markOutboxForLogout(t?.pendingMessages??"fail"),Ur.dispose(),Br.dispose(),gn.dispose(),Te.dispose(),xe.dispose(),A.dispose();let j=N.dispose();Ge.dispose(),en.dispose(),xc(),Nc(),Kc(),Kr.dispose(),Ht.reset(),me?.clearAll(),wn.clear(),xt.clear(),Nt.clear(),qr("im-logout"),await M.invalidateAndDrainDraftOperations(),await j,M.clearSession();let Q=t?.localData==="purge"?b:"",ee,H,W=true;if(y!==void 0)try{await y.close();}catch(Z){W=false,Q!==""&&(ee=Z),l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:Q===""?"\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:Z}});}if(Q!==""&&W)try{I!==void 0?await I.purgeCurrentAccount({namespaceFactory:r$1,accountId:Q}):await Qa$1(Q,{namespaceFactory:r$1}),H=Q;}catch(Z){ee=Z,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:Z}});}return D="empty",T.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-L,data:{purgedAccountId:H,purgeFailed:ee!==void 0}})),x(),J(),{...H===void 0?{}:{purgedAccountId:H},...ee===void 0?{}:{purgeError:ee}}}function Xc(){return {sessionState:D,connectionState:ue.state,...b!==""?{userId:b}:{},prepared:D==="ready",connectionDesired:U,authenticated:ue.state==="authenticated"}}function Qc(t){return n$1.subscribe(t)}function Zc(){return {connectionState:ue.state,pendingOutbox:ue.getPendingOutbox()}}function ed(){return M.getConversationList()}K=async({conversation:t,newestLoaded:l,cursor:L,limit:j})=>{let{conversationId:Q}=t,ee=M.getSession(t);if(ee===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${Q}\uFF09`);if(ee.type==="direct")return {messages:[],exhausted:true};if(ee.type==="group"){if(ee.groupState!==void 0&&ee.groupState!=="active")return {messages:[],exhausted:true};let H=await d$2.getLoginContext();if(H===null)return {messages:[],exhausted:true};let W=L===void 0?l?.serverTime??l?.createdAt:ec(L,Q);if(W===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${Q}, messageId=${l?.id??""}\uFF09`);let Z=await Ea$1({http:_e,userId:H.userId,clientType:i,groupId:Q,baseTime:W,direct:2,limit:j,decryptDeps:Un("history"),prepareKeys:Kn,onReaction:Ue});Z.messages.length>0&&M.upsertMessages(Z.messages,"offline");let ie=Z.newestEntryTime,de=Z.batchSize<j||ie===void 0||ie<=W;return {messages:Z.messages,exhausted:de,...de?{}:{nextCursor:String(ie)}}}if(ee.type==="channel"){if(ee.channelState!==void 0&&Fe(ee.channelState))return {messages:[],exhausted:true};let H=L??l?.extensions?.historyCursor;if(typeof H!="string"||H.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${Q}, messageId=${l?.id??""}\uFF09`);let W=B$1,Z=ae(Q),ie=await d$2.getLoginContext();if(ie===null)return {messages:[],exhausted:true};let de=L===void 0?(await gn.loadMessageContext(Q,H,ie.userId)).context:await gn.loadNewerPage(Q,H,ie.userId),he=M.getSession(t);return !G$1||W!==B$1||Z!==ae(Q)||he?.type!=="channel"||he.channelState!==void 0&&Fe(he.channelState)?{messages:[],exhausted:true}:(de.messages.length>0&&M.upsertMessages(de.messages,"offline"),{messages:de.messages,exhausted:!de.hasNewer,...!de.hasNewer||de.nextCursor===void 0?{}:{nextCursor:de.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${ee.type}`)};async function Wr(){let t=await d$2.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await Vt(t.userId),L=await Aa({http:_e,userId:t.userId,clientType:i,decryptDeps:l,onReaction:Ue}),j=await Ba$1({http:_e,userId:t.userId,clientType:i,decryptDeps:l,onReaction:Ue}),Q=[...L,...j];return M.upsertMessages(Q,"offline"),Q}async function nd(){await zr();}let td=2;function Xe(t){let l=V({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function rd(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function od(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 m$1?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof n||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 zn(t){if(!G$1)throw Xe({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function ad(t){let l=t?.conversationType,L=t?.conversationId;if(l==="supergroup")throw Xe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"||typeof L!="string"||L.trim()==="")throw Xe({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:L.trim()})}function Vn(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 id(t){let l=ad(t);if(zn(l),M.getSession(l)!==void 0)return l;try{if(l.conversationType==="direct"){let ee=xe.peekItem("individual",l.conversationId);if(ee!==void 0)return M.ensureConversation(Vn(l,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl}})),l;let H=await te.getRelationship(l.conversationId);if(zn(l),H!=="friend")throw Xe({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:H})});let W=await te.getProfile(l.conversationId);if(zn(l),W===null||W.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return M.ensureConversation(Vn(l,{title:W.remark??W.nickname,...W.avatar===void 0?{}:{avatar:W.avatar},...W.muted===void 0?{}:{muted:W.muted}})),l}if(l.conversationType==="group"){let ee=xe.peekItem("group",l.conversationId);if(ee!==void 0)return M.ensureConversation(Vn(l,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl},groupState:"active"})),l;if(ye===void 0)throw Xe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let H=await ye.getGroupProfile(l.conversationId);if(zn(l),H===null||H.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(H.isInGroup===!1||H.status!==void 0&&H.status!==td)throw Xe({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...H.status===void 0?{}:{status:H.status},...H.isInGroup===void 0?{}:{isInGroup:H.isInGroup}})});return M.ensureConversation(Vn(l,{title:H.name,...H.avatar===void 0?{}:{avatar:H.avatar},...H.muted===void 0?{}:{muted:H.muted},groupState:"active"})),l}if(se===void 0)throw Xe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let L=await se.getProfile(l.conversationId);if(zn(l),L===null||L.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let j=L.channelState==="active"||L.channelState==="muted",Q=L.channelState==="muted"&&L.accessSnapshot?.allMembersMuted===!0&&L.role!=="owner"&&L.role!=="admin";if(!j||Q)throw Xe({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:L.channelState,role:L.role,hiddenByAllMemberMute:Q})});return M.ensureConversation(Vn(l,{title:L.name,...L.avatar===void 0?{}:{avatar:L.avatar},...L.muted===void 0?{}:{muted:L.muted},channelState:L.channelState,channelPermissions:L.permissions,...L.accessSnapshot===void 0?{}:{channelAccessSnapshot:L.accessSnapshot},...L.permissions.sendMessages?{}:{sendDisabledReason:`channel_${L.channelState}`}})),l}catch(L){if(rd(L))throw L;let j=od(L);throw Xe({...j,conversation:l,cause:L})}}let ct={...ms({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},authProvider:d$2,http:_e,resolveInput:fn,domainState:M,operations:{list:ed,pullOffline:Wr,sync:nd},terminateConversationSending:(t,l)=>ue.terminateConversationSending(t,l),resetConversationBackground:t=>A.api.resetBackground(t),reportStorageError:(t,l)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>ue.markRead(t,l,"channel")}),...A.api,ensureOpenableConversation:id};function sd(t){let l={...t,close(){t.close(),z$1.delete(l);}};return _t(l,t),z$1.add(l),l}function Wt(t){if(!G$1)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return sd(t)}async function cd(t,l={}){if(!G$1)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let L={domainState:M,emitter:n$1,drafts:Ge.api,sendText:be.operations.sendText,sendContact:be.operations.sendContact,sendImage:be.operations.sendImage,sendVideo:be.operations.sendVideo,sendVoice:be.operations.sendVoice,sendFile:be.operations.sendFile,sendGif:be.operations.sendGif,sendExpression:be.operations.sendExpression,sendGame:be.operations.sendGame,sendMiniProgram:be.operations.sendMiniProgram,sendTransfer:be.operations.sendTransfer,replaceVideo:be.operations.replaceInterruptedVideo,replaceFile:be.operations.replaceInterruptedFile,forwardMessages:be.operations.forwardMessages,recallMessage:be.operations.recallMessage,editMessage:be.operations.editMessage,setReaction:({conversation:j,parentMessageId:Q,emoji:ee,action:H})=>H==="toggle"?Gn.toggle({conversation:j,parentMessageId:Q,emoji:ee}):Gn.set({conversation:j,parentMessageId:Q,emoji:ee,action:H==="add"?0:1}),markRead:be.operations.markRead,markDirectMediaConsumed:be.operations.markDirectMediaConsumed,prepareMediaPreview:async({operationId:j,kind:Q,file:ee,signal:H})=>{let W=await br.prepare({operationId:j,generation:c$1,kind:Q,file:ee,includePoster:Q==="video",...Q==="video"?bu:{}},H);return Q==="video"?{width:W.width,height:W.height,...W.duration===void 0?{}:{duration:W.duration},...W.posterData===void 0?{}:{posterData:new Uint8Array(W.posterData)}}:{width:W.width,height:W.height}},getSelfId:()=>b,isOutboxOwned:j=>ue.getPendingOutbox().some(Q=>Q.id===j),hasOutboxForConversation:j=>ue.getPendingOutbox().some(Q=>Q.conversationType===j.conversationType&&Q.conversationId===j.conversationId),resolveSearchHistoryAnchor:en.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let j={conversationType:"direct",conversationId:t.conversationId},Q=await xs(j,{...L,getRelationship:te.getRelationship,shouldCheckRelationship:()=>ue.state==="authenticated",appendContactRequiredTextFailure:H=>M.appendDirectContactRequiredTextFailure({conversationId:H.conversationId,senderId:b,text:H.text,...H.refMessageId===void 0?{}:{refMessageId:H.refMessageId}}),setMuted:(H,W)=>ct.setMuted(H,W),fetchMessagesByIdBatch:gc},l),ee=Wt(Q);return st(j),ee}case "group":{let j={conversationType:"group",conversationId:t.conversationId},Q=await Ns(j,{...L,getSendPermissionError:H=>{let W=M.getSession(j),Z=W?.type==="group"?W.groupState:"unknown";if(!(Z===void 0||Z==="active"))return V({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:H,retryable:false,conversation:j,details:Object.freeze({groupState:Z})})},setMuted:(H,W)=>ct.setMuted(H,W),fetchMessagesByIdBatch:H=>Ic(j.conversationId,H)},l),ee=Wt(Q);return st(j),ee}case "channel":{let j={conversationType:"channel",conversationId:t.conversationId},Q=await Fs(j,{...L,getSelfId:()=>b,deleteMessageForEveryone:ue.deleteChannelMessageForEveryone,reconcilePage:Uc.reconcilePage,getSendPermissionError:H=>{let W=M.getSession(j),Z=W?.type==="channel"&&W.channelState!==void 0?W.channelState:"unknown_restricted",ie=ta({channelState:Z,nowMs:Date.now(),...W?.type!=="channel"||W.channelAccessSnapshot===void 0?{}:{snapshot:W.channelAccessSnapshot},...W?.type!=="channel"||W.channelPermissions===void 0?{}:{permissions:W.channelPermissions}});if(!(ie.channelState==="active"&&ie.permissions.sendMessages))return V({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:H,retryable:false,conversation:j,details:Object.freeze({channelState:ie.channelState,...ie.muteReason===void 0?{}:{muteReason:ie.muteReason}})})},setMuted:(H,W)=>ct.setMuted(H,W),fetchMessagesByIdBatch:H=>yc(j.conversationId,H)},l),ee=Wt(Q);return st(j),ee}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await be.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:cd,localData:rt,directory:xe.search,search:en.api,applications:ve.api,expressions:tt.api,outbox:Gr.api,drafts:Ge.api,connection:Is({operations:{prepare:Vr,connect:Jc,disconnect:qr,subscribe:Qc,getSnapshot:Zc,getLifecycle:Xc},getState:()=>ue.state}),conversations:ct,settings:N.api,contact:te,group:Ti({directory:xe.groups,...ye===void 0?{}:{profile:ye},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...Je===void 0?{}:{avatarTransfer:Je},domainState:{...Bn,ensureConversation:t=>M.ensureConversation(t)},emitter:n$1,pinned:Ur.operations}),channel:ls({directory:xe.channels,...se===void 0?{}:{channelProfile:se},...Se===void 0?{}:{channelMembers:Se},...we===void 0?{}:{channelMentionMembers:we},mentionCandidates:Te.api,applications:gn.applications,pinned:Br.operations,...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...Je===void 0?{}:{avatarTransfer:Je},crypto:Ee,domainState:{ensureConversation:t=>M.ensureConversation(t),setChannelRestriction:M.setChannelRestriction,removeConversationForMembershipTermination:Bn.removeConversationForMembershipTermination,updateConversationProfile:M.updateConversationProfile,refreshConversationProfile:M.refreshConversationProfile},emitter:n$1,...me===void 0?{}:{cacheCreatedSecretKey:(t,l)=>me.primeChannelKey(t,l)},getSelfUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??""}),media:zt.api,calls:vs(Bt),groupCalls:Xs(Gt),teardown:Yc}}function Au(e){let n=Ru(e);return oc(ac(n),e.coreApi!==void 0)}function df(e){return ac(wu(e))}function Ru(e){return {...tc(e),...e.coreApi===void 0?{}:{coreClient:rc(e.authProvider,e.coreApi)}}}function tc(e){let{authProvider:n,cache:r,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:I,media:y}=e;return {authProvider:n,cache:r,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:I,media:y}}function wu(e){let{adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,coreApi:I,coreClient:y,directory:h,expressionProvider:_,http:A,network:p,profile:P,groupApplications:N,transport:b}=e;return {...tc(e),adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,directory:h,expressionProvider:_,...y!==void 0?{coreClient:y}:I===void 0?{}:{coreClient:rc(e.authProvider,I)},http:A,network:p,profile:P,groupApplications:N,transport:b}}function rc(e,n){let r=n.baseUrl.trim();if(r==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return A({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 oc(e,n){let r=Hi({getCompatibilityApi:()=>e.conversations,subscribeEvents:a=>e.connection.subscribe(a),getSessionState:()=>e.session.getSnapshot().sessionState}),c={getSnapshot:()=>e.media.getSnapshot(),subscribe:a=>e.media.subscribe(a),cancel:a=>e.media.cancel(a),retry:a=>e.media.retry(a),download:a=>e.media.download(a),getCached:a=>e.media.getCached(a)},i=a=>Promise.reject(V({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false}));async function d(a,o,u){if(!n)return i(a);try{return await o()}catch(C){throw fr(C,a,u)}}function s(a,o,u){if(!n)throw V({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:u});try{return o()}catch(C){throw fr(C,a,u)}}let I,y=a=>d("contacts.getRelationship",()=>e.contacts.getRelationship(a)),h=(a,o)=>d("groups.getProfile",async()=>{let u=await e.groups.getProfile(a,o);return u===null?null:ts(a,u)},a),_=(a,o)=>d("channels.getProfile",async()=>{let u=await e.channels.getProfile(a,o);return u===null?null:rs(a,u)},a),A={listFirstPage:a=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(a)),listNextPage:a=>d("contacts.listNextPage",()=>e.contacts.listNextPage(a)),getProfile:(a,o)=>d("contacts.getProfile",async()=>{let u=await e.contacts.getProfile(a,o);return u===null?null:ns(a,u)}),getRelationship:async a=>{let o=a.trim(),u={conversationType:"direct",conversationId:o},C=I?.beginProjectionUpdate(u),S=await y(a);return C!==void 0&&I?.updateRelationshipProjection(o,S,C),S},setRemark:(a,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(a,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(u=>({countryCode:u.countryCode,mobile:u.mobile}))}})),searchUser:a=>d("contacts.searchUser",()=>e.contacts.searchUser(a)),requestFriendship:(a,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(a,o)),blockUser:a=>d("contacts.blockUser",()=>e.contacts.blockUser(a),{conversationType:"direct",conversationId:a}),reportUser:(a,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(a,o),{conversationType:"direct",conversationId:a}),deleteFriendship:a=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(a),{conversationType:"direct",conversationId:a})},p={search:a=>d("directory.search",()=>e.directory.search(a))},P={listFirstPage:a=>d("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>d("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>d("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,o)=>{let u=I?.beginProjectionUpdate(a),C=await h(a,o);return u!==void 0&&I?.updateGroupProfileProjection(a,C,u),C},updateName:(a,o)=>d("groups.updateName",()=>e.groups.updateName(a,o),a),updateAvatar:(a,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(a,o),a),setMyNickname:(a,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(a,o),a),updateVerification:(a,o,u)=>d("groups.updateVerification",()=>e.groups.updateVerification(a,o,u),a),requestJoin:(a,o)=>d("groups.requestJoin",()=>e.group.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(a.conversationId,o),a),inviteMembers:(a,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("groups.removeMember",()=>e.group.removeMember(a.conversationId,o),a),transferOwnership:(a,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("groups.leave",()=>e.group.leave(a.conversationId,o),a),peekPinnedMessage:a=>s("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(a.conversationId);return o===null?null:Rt(a,o)},a),getPinnedMessage:a=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(a);return o===null?null:Rt(a,o)},a),pinMessage:(a,o)=>d("groups.pinMessage",async()=>{let u=await e.groups.pinMessage(a,o);return Rt(a,u)},a),unpinMessage:a=>d("groups.unpinMessage",()=>e.groups.unpinMessage(a),a)},N={listFirstPage:a=>d("channels.listFirstPage",()=>e.channels.listFirstPage(a)),listNextPage:a=>d("channels.listNextPage",()=>e.channels.listNextPage(a)),uploadAvatar:a=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(a)),create:a=>d("channels.create",()=>e.channels.create(a)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>i("channels.mentions.getCachedPage"),prefetchFirstPage:()=>i("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>i("channels.mentions.refreshFirstPage"),listFirstPage:()=>i("channels.mentions.listFirstPage"),listNextPage:()=>i("channels.mentions.listNextPage"),searchFirstPage:()=>i("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>i("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>i("channels.mentions.searchNextPage")},getProfile:async(a,o)=>{let u=I?.beginProjectionUpdate(a),C=await _(a,o);return u!==void 0&&I?.updateChannelProfileProjection(a,C,u),C},updateName:(a,o)=>d("channels.updateName",()=>e.channel.updateName(a.conversationId,o),a),updateDescription:(a,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,o),a),updateAvatar:(a,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,o),a),updateVerification:(a,o,u)=>d("channels.updateVerification",()=>e.channels.updateVerification(a,o,u),a),requestJoin:(a,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(a.conversationId,o),a),setAllMuted:(a,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(a.conversationId,o),a),setMemberPrivateChatDisabled:(a,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(a.conversationId,o),a),setMyNickname:(a,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(a.conversationId,o),a),setMemberNickname:(a,o,u)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(a.conversationId,o,u),a),inviteMembers:(a,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("channels.removeMember",()=>e.channel.removeMember(a.conversationId,o),a),addAdmin:(a,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(a.conversationId,o),a),removeAdmin:(a,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(a.conversationId,o),a),transferOwnership:(a,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("channels.leave",()=>e.channel.leave(a.conversationId,o),a),dismiss:a=>d("channels.dismiss",()=>e.channel.dismiss(a.conversationId),a),peekPinnedMessage:a=>s("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(a.conversationId);return o===null?null:wt(a,o)},a),getPinnedMessage:a=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(a);return o===null?null:wt(a,o)},a),pinMessage:(a,o)=>d("channels.pinMessage",async()=>{let u=await e.channels.pinMessage(a,o);return wt(a,u)},a),unpinMessage:a=>d("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},b=ji({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:a=>r.api.list().find(o=>o.ref.conversationType===a.conversationType&&o.ref.conversationId===a.conversationId),subscribeConversations:a=>r.api.subscribe(o=>a(o.items)),getRelationship:y,getGroupProfile:h,getChannelProfile:_});I=b;let T=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{b.reset();try{await e.session.logout(a);}finally{b.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function g(a,o={}){let u=e.conversations,C=e.openConversation,S=await u.ensureOpenableConversation(a);return S.conversationType==="direct"?C({conversationType:"direct",conversationId:S.conversationId},o):S.conversationType==="group"?C({conversationType:"group",conversationId:S.conversationId},o):C({conversationType:"channel",conversationId:S.conversationId},o)}let m={get session(){return T},get capabilities(){return b.api},get conversations(){return r.api},get directory(){return p},get contacts(){return A},get groups(){return P},get channels(){return N},get applications(){return e.applications},get expressions(){return e.expressions},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return c},get settings(){return e.settings},get localData(){return e.localData},get events(){return e.events},openConversation:g,dispose:async()=>{b.dispose(),r.dispose(),await e.dispose();}};return gr(m,()=>is(e)),m}function lf(e,n){return oc(e,n.coreApiAvailable)}function ac(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 c=eb(),i=0,d=()=>nc(e,c,r,i++),s=d(),I=false;async function y(m){if(I)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(m),s=d();}async function h(){if(I)throw Mn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let m=await s.localData.getInfo(),a;try{a=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(o){throw s=d(),Mn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:m.accountScope,cause:o})}if(s=d(),a.purgedAccountId!==m.accountScope)throw Mn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:m.accountScope,cause:a.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:m.accountScope,category:"all"});}let _=Qi({getRuntime:()=>s.localData,purgeCurrentAccount:h}),A={start:m=>s.connection.connect(m),stop:async m=>{s.connection.disconnect(m);},logout:y,getSnapshot:()=>s.connection.getLifecycle(),subscribe:m=>(m(s.connection.getLifecycle()),s.connection.subscribe(a=>{a.type==="connection:changed"&&m(s.connection.getLifecycle());}))},p=Yi({subscribeCore:m=>s.connection.subscribe(m),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:m=>{let a=s.conversations.list().find(o=>o.type===m.conversationType&&o.id===m.conversationId);return a===void 0?void 0:lr(a)},resolveContactApplicationAnswer:async m=>{let a=s,o=await a.contact.resolveApplicationAnswer(m.peerId,m.messageId);return s===a?o:null}}),P={listFirstPage:m=>s.contact.listFirstPage(m),listNextPage:m=>s.contact.listNextPage(m),getProfile:(m,a)=>s.contact.getProfile(m,a),getRelationship:m=>s.contact.getRelationship(m),setRemark:(m,a)=>s.contact.setRemark(m,a),searchUser:m=>s.contact.searchUser(m),requestFriendship:(m,a)=>s.contact.requestFriendship(m,a),blockUser:m=>s.contact.blockUser(m),reportUser:(m,a)=>s.contact.reportUser(m,a),deleteFriendship:m=>s.contact.deleteFriendship(m)},N={listFirstPage:m=>s.group.listFirstPage(m),listNextPage:m=>s.group.listNextPage(m),uploadAvatar:m=>s.group.uploadAvatar(m),create:m=>s.group.create(m),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(m,a)=>s.group.getProfile(m.conversationId,a),updateName:(m,a)=>s.group.updateName(m.conversationId,a),updateAvatar:async(m,a)=>{await s.group.updateAvatar(m.conversationId,a);},setMyNickname:(m,a)=>s.group.setMyNickname(m.conversationId,a),updateVerification:(m,a,o)=>s.group.updateVerification(m.conversationId,a,o),requestJoin:(m,a)=>s.group.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>s.group.joinByInviteCode(m.conversationId,a),getPinnedMessage:m=>s.group.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>s.group.pinMessage({groupId:m.conversationId,messageId:a}),unpinMessage:m=>s.group.unpinMessage(m.conversationId)},b$1={listFirstPage:m=>s.channel.listFirstPage(m),listNextPage:m=>s.channel.listNextPage(m),uploadAvatar:m=>s.channel.uploadAvatar(m),create:m=>s.channel.create(m),get mentions(){return s.channel.mentions},getProfile:(m,a)=>s.channel.getProfile(m.conversationId,a),updateVerification:(m,a,o)=>s.channel.updateVerification(m.conversationId,a,o),requestJoin:(m,a)=>s.channel.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>s.channel.joinByInviteCode(m.conversationId,a),setAllMuted:(m,a)=>s.channel.setAllMuted(m.conversationId,a),setMemberPrivateChatDisabled:(m,a)=>s.channel.setMemberPrivateChatDisabled(m.conversationId,a),setMyNickname:(m,a)=>s.channel.setMyNickname(m.conversationId,a),setMemberNickname:(m,a,o)=>s.channel.setMemberNickname(m.conversationId,a,o),dismiss:m=>s.channel.dismiss(m.conversationId),getPinnedMessage:m=>s.channel.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>s.channel.pinMessage({channelId:m.conversationId,messageId:a}),unpinMessage:m=>s.channel.unpinMessage(m.conversationId)};async function T(){I||(I=true,await s.teardown({localData:"preserve"}),c.clear());}let g={get session(){return A},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get contacts(){return P},get groups(){return N},get channels(){return b$1},get events(){return p},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get groupCalls(){return s.groupCalls},get settings(){return s.settings},get outbox(){return s.outbox},get localData(){return _},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:y,dispose:T};return gr(g,()=>s.advancedMessageDiagnostics),g}var Tu=new TextEncoder;function ic(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 sc(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))sc(r,n);return Object.freeze(e)}function _u(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:sc(n),estimatedBytes:Tu.encode(r).byteLength}}catch{return}}function Du(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 ku(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&&Du(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 Ou(e={}){let n=ic(e.maxRecords,200,"maxRecords"),r=ic(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,i=[],d=0,s=0,I=false;function y(A){let p=i.map(P=>P.record).filter(P=>A===void 0||ku(P,A));return Object.freeze({records:Object.freeze(p),droppedCount:s,estimatedBytes:d,disposed:I})}function h(){let A=y();for(let p of c)try{p(A);}catch{}}function _(){i.length=0,d=0,s=0;}return {write(A){if(I)return;let p=_u(A);if(p===void 0||p.estimatedBytes>r){s+=1,h();return}for(i.push(p),d+=p.estimatedBytes;i.length>n||d>r;){let P=i.shift();if(P===void 0)break;d-=P.estimatedBytes,s+=1;}h();},getSnapshot:y,subscribe(A){if(I)return ()=>{};c.add(A);let p=true;return ()=>{p&&(p=false,c.delete(A));}},clear(){I||(_(),h());},dispose(){I||(I=true,_(),c.clear());}}}export{dd as a,zi as b,fe as c,yt as d,ki as e,Oi as f,or as g,ar as h,Li as i,St as j,Au as k,df as l,lf as m,Ou as n};