k2-im 0.1.34 → 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {B,$a,Xa,gb,fb,C,p,t,u,w,A,Sa,s,l,m,i,Wa,Va,e,h,f,a,fa,Ha as Ha$1,za,Aa,T,ma,Za as Za$1,cb as cb$1,db as db$1,b as b$1,ab as ab$1,bb as bb$1,v,_,$,U,Z,W,Y,V,da,Na as Na$1,sa,ea,Oa as Oa$1,ta,Fa,Ga,Ba,Ca,Ka,aa,c,Ma as Ma$1,ba,ca,Pa as Pa$1,La as La$1,X as X$1,Ia,Da as Da$1,Ea,n as n$1,o,ga as ga$1,wa as wa$1,S,va,ua,g,xa as xa$1,ya as ya$1,Qa as Qa$1,d as d$1,Ra as Ra$1,x as x$1,na as na$1,j as j$1,q,y as y$1,z as z$1,k as k$1,r,ka,ja,ia,ha as ha$1,pa as pa$1,oa as oa$1,la,R,N,M,L,K,J,I,Q,P,ra,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja,eb as eb$1}from'./chunk-4CH72T6I.js';import {b,qb,xa,sb,rb,La,Ha,ob,lb,mb,kb,nb,Xa as Xa$1,Ya,Za,_a,na,oa,pa,qa,Oa,Pa,gb as gb$1,bb,hb,ab,$a as $a$1,ib,eb,jb,db,cb,n,z,fb as fb$1,Ma,Da,Ra,Qa,Va as Va$1,Ua,Wa as Wa$1,tb,pb,yb,wa,j,Na,x,y,A as A$1,B as B$1,Ta,Ca as Ca$1,Ba as Ba$1,ga,ea as ea$1,k,d,c as c$1,D,O,ya,h as h$1,w as w$1,Ia as Ia$1,o as o$1,v as v$1,t as t$1,p as p$1,C as C$1,Sa as Sa$1,q as q$1,E,m as m$1,ma as ma$1,ha}from'./chunk-ANHUDX3C.js';async function tu(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(a){try{await e.migrator.rollback(c,a);}catch(d){throw new AggregateError([a,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw a}}var Me=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 An(e,n,r){return n===39081?new Me({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new Me({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Rn(e,n){return n instanceof Me?n:n instanceof c?new Me({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new Me({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function tr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function ru(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 tt(e){let{teaKey:n,fileEncryptType:r,...c}=e;return c}function ou(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(tt(e.image))},...e.video===void 0?{}:{video:Object.freeze(tt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(tt(e.voice))},...e.filesAlbum===void 0?{}:{filesAlbum:Object.freeze({...e.filesAlbum.caption===void 0?{}:{caption:e.filesAlbum.caption},items:Object.freeze(e.filesAlbum.items.map(n=>Object.freeze(tt(n))))})},...e.file===void 0?{}:{file:Object.freeze(tt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(tt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function rr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:ou(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:ru(e.reactions)}})}function rt(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:ea$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function X(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function St(e,n,r){return X({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},paused:{code:"IM_SDK_MEDIA_PAUSED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function En(e,n,r){return X({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function ot(e,n){let r=new Uint8Array(await n.arrayBuffer()),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 au="IM_SDK_GROUP_NOT_MEMBER",iu="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",su="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",cu="IM_SDK_GROUP_MANAGEMENT_FAILED";function zs(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function du(e,n,r){if(zs(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,a=e instanceof na$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c$1===39011?au:c$1===39029?iu:c$1===39033?su:e instanceof d$1?cu:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof na$1?"contract":e instanceof c?"network":c$1===39029?"permission":"state",s=X({code:a,category:d,operation:n,retryable:e instanceof c,conversation:{conversationType:"group",conversationId:r},...c$1===void 0?{}:{details:Object.freeze({businessCode:c$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function Fn(e,n,r){try{return await r()}catch(c){throw du(c,e,n)??c}}var js=39005,lu=39057,uu=39061;function Vs(e){let n=new Map,r=new Map,c=true,a=f=>({conversationType:"group",conversationId:f});function d(f){r.set(f,(r.get(f)??0)+1);}function s(f){if(!c||n.has(f))return;let M=r.get(f)??0,O=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let P=await da({client:e.coreClient,groupId:f});if(!c||(r.get(f)??0)!==M)return;if(!P.ok){e.emitter.emit({type:"error",error:{scope:"http",code:P.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${P.message}`,cause:{conversationId:f}}});return}if(P.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(x(P.data.messageContent,{conversationId:f}),"reconcile");}catch(P){if(!c||(r.get(f)??0)!==M)return;let x=P instanceof h$1||P instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:P}});}})();n.set(f,O),O.finally(()=>{n.get(f)===O&&n.delete(f);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),m=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let M=f.message.body.system?.pinnedMessageAction;(M?.type==="pin"||M?.type==="unpin")&&d(f.message.conversationId),u.handleMessage(f.message);});function v(f,M){if(M.trim()==="")throw new Me({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getConversationContext(a(M));if(O===void 0)throw new Me({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="group")throw new Me({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function b(f,M){if(e.coreClient===void 0)throw new Me({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return v(f,M),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:M})=>{let O=b("pin",f),P=e.domainState.getConversationMessage(a(f),M);if(P===void 0)throw new Me({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(P.conversationType!=="group")throw new Me({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(P.conversationId!==f)throw new Me({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:x,pinnedMessage:y$1}=y(P),w=await sa({client:O,groupId:f,messageContent:x});if(!w.ok)throw An("pin",w.code,w.message);d(f),e.domainState.setPinnedMessage(y$1,"http:pin");let i=e.domainState.getPinnedMessage(a(f));if(i===void 0)throw new Me({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return i}catch(x){throw Rn("pin",x)}},unpinMessage:async f=>{let M=b("unpin",f);try{let O=await Na$1({client:M,groupId:f});if(!O.ok)throw An("unpin",O.code,O.message);d(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(O){throw Rn("unpin",O)}},getPinnedMessage:async f=>{let M=b("get",f);try{let O=await da({client:M,groupId:f});if(!O.ok)throw An("get",O.code,O.message);if(d(f),O.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let P=x(O.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(P,"reconcile");let x$1=e.domainState.getPinnedMessage(a(f));if(x$1===void 0)throw new Me({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x$1}catch(O){throw Rn("get",O)}},peekPinnedMessage:f=>(v("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{c&&(c=false,m());}}}function qs(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$1=new Map,a=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 p=[],A=new Set;for(let C of o){if(C.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");A.has(C.userId)||(A.add(C.userId),p.push(Object.freeze({userId:C.userId,displayName:C.nickName.trim()===""?C.userId:C.nickName})));}return Object.freeze(p)}async function u(o,p){d(o);let A=e.profile?.listGroupMembers;if(A===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let C=o.conversationId,K=r.get(C);if(!p&&K!==void 0)return K;let ne=a.get(C);if(ne!==void 0&&(!p||ne.refresh))return ne.promise;let q=(c$1.get(C)??0)+1;c$1.set(C,q);let re=Promise.resolve().then(()=>A(C,p?{forceRefresh:true}:void 0)).then(U=>{if(U===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let g=s(U);return c$1.get(C)===q&&r.set(C,g),g}).finally(()=>{a.get(C)?.promise===re&&a.delete(C);});return a.set(C,{refresh:p,promise:re}),re}function m(o,p,A,C){let ne=X({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",...A===void 0?{}:{details:A},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),ne)}function v(o,p,A,C){let K=X({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",...A===void 0?{}:{details:A},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),K)}function b(o){if(o===null||typeof o!="object"||o===void 0)throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let A=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(A)||A!==1&&A!==2)throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let C=String(p),K=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:C}),activation:A===1?"pending":"active",...K===void 0||K===""?{}:{avatarUrl:K},qrPayload:tr(C,K)})}function h(o){if(o===void 0)return;let p=typeof o=="number"?o:Number(o);return Number.isSafeInteger(p)?p:void 0}function f(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 M(o){if(o===null||typeof o!="object"||o===void 0)throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let A=String(p),C=o,K=C.name?.trim()??"";if(K==="")throw m("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let ne=h(C.total_users),q=h(C.status),re=h(C.verify_way),U=h(C.update_version),g=f(C.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:A}),name:K,...C.head_img_url?.trim()===""||C.head_img_url===void 0?{}:{avatar:C.head_img_url},...C.user_id===void 0?{}:{ownerId:String(C.user_id)},...ne===void 0?{}:{memberCount:ne},...q===void 0?{}:{status:q},...g===void 0?{}:{isInGroup:g},...re===void 0?{}:{verifyWay:re},...U===void 0?{}:{updateVersion:U},...C.invite_code===void 0?{}:{inviteCode:C.invite_code}}}function O(o){let p=o.name.trim();if(p==="")throw m("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw m("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let A=o.memberIds;if(!Array.isArray(A))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let C=A.map(ne=>typeof ne=="string"?ne.trim():"");if(C.includes(""))throw m("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let K=[...new Set(C)];if(K.length>40)throw m("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:K}}function P(o,p){let A=o.trim();if(A==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return A}function x(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function y(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=o.map(A=>P(A,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function w(o,p,A){if(o!==1&&o!==2&&o!==4){let K=X({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),K)}if(o!==4)return {verifyWay:o};let C=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(C)){let K=X({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:A}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),K)}return {verifyWay:o,inviteCode:C}}function i(o){r.delete(o),c$1.set(o,(c$1.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>u(o,false),refreshAll:o=>u(o,true)},getProfile:(o,p)=>e.profile?.getGroupProfile(o,p)??Promise.resolve(null),listMembers:(o,p)=>e.profile?.listGroupMembers?.(o,p)??Promise.resolve(null),getMemberNames:(o,p)=>e.profile?.getGroupMemberNames?.(o,p)??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,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let A=p.trim();if(o===""||A==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Pa$1({client:e.coreClient,groupId:o,name:A}),e.domainState.updateConversationProfile(o,{title:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,p)=>{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 A=await ot(e.avatarTransfer,p);return await Pa$1({client:e.coreClient,groupId:o,avatarUrl:A}),e.domainState.updateConversationProfile(o,{avatar:A}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),A},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return ot(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw m("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=O(o);try{let A=await ca({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!A.ok){let K=A.code===js?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":A.code===lu?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":A.code===uu?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw m(K,A.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:A.code,message:A.message}))}let C=M(A.data);return e.domainState.prepareConversation({id:C.ref.conversationId,type:"group",title:C.name,...C.avatar===void 0?{}:{avatar:C.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:C})}catch(A){throw A!==void 0&&typeof A=="object"&&A!==null&&"code"in A&&String(A.code).startsWith("IM_SDK_")?A:A instanceof c?m("IM_SDK_GROUP_CREATE_NETWORK_FAILED",A.message,void 0,A):m("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,A)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw v("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 ba({client:e.coreClient});if(!o.ok){let p=o.code===js?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw v(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:b(o.data)})}catch(o){throw zs(o)?o:o instanceof c?v("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):v("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,p)=>{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 Ma$1({client:e.coreClient,groupId:o,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,p,A)=>{let C=x(),K=P(o,"\u7FA4 id"),ne=w(p,A,K);await Fn("groups.updateVerification",K,()=>la({client:C,groupId:K,verifyWay:ne.verifyWay,...ne.inviteCode===void 0?{}:{inviteCode:ne.inviteCode}})),i(K);},requestJoin:async(o,p)=>{let A=x(),C=P(o,"\u7FA4 id"),K=p?.remarks?.trim();return Fn("groups.requestJoin",C,()=>oa$1({client:A,groupId:C,...K===void 0?{}:{remarks:K}}))},joinByInviteCode:async(o,p)=>{let A=x(),C=P(o,"\u7FA4 id"),K=p.trim();if(!/^\d{6}$/.test(K))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Fn("groups.joinByInviteCode",C,()=>pa$1({client:A,groupId:C,inviteCode:K}))},inviteMembers:async(o,p)=>{let A=x(),C=P(o,"\u7FA4 id"),K=y(p);if(K.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Fn("groups.inviteMembers",C,()=>ha$1({client:A,groupId:C,userIds:K})),i(C);},removeMember:async(o,p)=>{let A=x(),C=P(o,"\u7FA4 id"),K=P(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Fn("groups.removeMember",C,()=>ia({client:A,groupId:C,userId:K})),i(C);},transferOwnership:async(o,p)=>{let A=x(),C=P(o,"\u7FA4 id"),K=P(p,"\u65B0\u7FA4\u4E3B id");await Fn("groups.transferOwnership",C,()=>ja({client:A,groupId:C,userId:K})),i(C);},leave:async(o,p)=>{let A=x();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let C=P(o,"\u7FA4 id"),K=p?.newOwnerId===void 0?void 0:P(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Fn("groups.leave",C,()=>ka({client:A,groupId:C,...K===void 0?{}:{newOwnerId:K}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:C},"group_left"),i(C);},...e.pinned}}var pu="image/jpeg,image/png,image/webp";async function or(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),r;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?r="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((a,d)=>n[d]===a)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let c=e.type.trim().toLowerCase();return r!==void 0&&(c===""||c==="application/octet-stream"||c===r)}function $s(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 Js=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Ys(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Qr(e,n){let r=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,a=Ys();return qb({enabled:r,level:c?.level??"trace",categories:c?.categories??Js,...r?{sink:c?.sink??a,fallbackSink:a}:{},getRuntimeContext:n})}var Xs=[{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 Zr=Object.freeze(Xs.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Qs=new Map(Zr.flatMap(e=>e.tokens.map(n=>[n,e])));function Zs(e){return Qs.get(e)}function ec(e){return Qs.has(e)}function Un(e){let n=X(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function nc(e,n){return n instanceof Qa$1?Un({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?Un({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?Un({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Un({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function Pt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function eo(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let c=0;c<e.length;c+=3){let a=e[c]??0,d=e[c+1]??0,s=e[c+2]??0,u=a<<16|d<<8|s;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=c+1<e.length?n.charAt(u>>>6&63):"=",r+=c+2<e.length?n.charAt(u&63):"=";}return r}function ar(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":case "mediaAlbum":return e.contentType;default:return null}}function no(e){let n=ar(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=Pt(e.body.image?.url),c=eo(e.body.image?.thumbData);return r===""||c===""?null:{content:r,imageURL:r,thumbData:c,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=Pt(e.body.video?.url),c=eo(e.body.video?.thumbData);return r===""||c===""?null:{content:r,videoURL:r,thumbData:c,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let r=Pt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=Pt(e.body.file?.url),c=(e.body.file?.fileName??"").trim();return r===""||c===""?null:{content:c,fileURL:r,fileName:c,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let r=e.body.mediaAlbum;if(r===void 0||r.items.length===0)return null;let c=r.items.map(a=>({mediaType:a.kind==="video"?2:1,url:Pt(a.url),width:a.width,height:a.height,...a.durationMs!==void 0&&a.durationMs>0?{duration:a.durationMs}:{},...a.thumbUrl!==void 0&&a.thumbUrl!==""?{thumbUrl:a.thumbUrl}:{},...a.thumbData!==void 0&&a.thumbData.length>0?{thumbData:eo(a.thumbData)}:{},...a.md5!==void 0&&a.md5!==""?{md5:a.md5}:{},...a.size!==void 0&&a.size>0?{fileSize:a.size}:{},...a.hd!==void 0?{hd:a.hd}:{}}));return c.some(a=>a.url==="")?null:{contentType:"28",items:c,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function fu(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function tc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function ic(e){function n(a){if(!e.isActive())throw Un({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function r(a,d){if(n(a),e.provider===void 0)throw nc(a,new Qa$1);let s;try{s=await d(e.provider);}catch(u){throw n(a),nc(a,u)}return n(a),s}return {api:{list:async()=>{let a=await r("sessionFavorites.list",d=>d.list());return Object.freeze(a.map(tc))},addFromMessage:async a=>{let d="sessionFavorites.addFromMessage",s=ar(a.message),u=no(a.message),m=a.selfId.trim(),v=a.message.id.trim();if(s===null||u===null||m===""||v==="")throw Un({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let b={messageId:v,conversation:a.conversation,senderId:a.message.senderId.trim(),createdAt:a.message.createdAt,kind:s,plainBody:u,peerId:fu(a.message,m,a.conversation.conversationId)},h=await r(d,f=>f.add(b));return tc(h)},delete:async a=>{let d="sessionFavorites.delete",s=[...new Set(a.map(u=>u.trim()).filter(u=>u!==""))];if(s.length===0)throw Un({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await r(d,u=>u.delete(s));}}}}var sc="settings:read-receipts:v1",cc="settings:appearance:v1",sr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function In(e){return X({...e,retryable:e.retryable??false})}function oo(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function ao(){return {fontScale:1}}function to(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function gu(e){if(typeof e!="object"||e===null)return oo();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[c,a]of Object.entries(n.peerOverrides))c.trim()!==""&&typeof a=="boolean"&&(r[c]=a);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function Iu(e){if(typeof e!="object"||e===null)return ao();let n=e.fontScale;return {fontScale:dc(n)?n:1}}function dc(e){return typeof e=="number"&&sr.includes(e)}function ro(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw In({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function ir(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw In({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function lc(e){let n=false,r=false,c=false,a,d,s=oo(),u=Promise.resolve(),m=false,v,b=ao(),h=Promise.resolve();function f(p){return In({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function M(p){if(n)throw f(p)}async function O(p,A){if(M(A),r)return;let C;try{C=ir(e.storage,A);}catch(K){if(!p)return;throw K}try{let K=await C.getMeta(sc);M(A),s=gu(K),r=!0,c=!1;}catch(K){throw n?f(A):(c=true,In({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:K}))}}function P(p){return M(p),r?Promise.resolve():(a===void 0&&(a=O(true,p).finally(()=>{a=void 0;})),a)}async function x(p){if(M(p),!m)try{let A=await ir(e.storage,p).getMeta(cc);M(p),b=Iu(A),m=!0;}catch(A){throw n?f(p):typeof A=="object"&&A!==null&&"code"in A?A:In({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:A})}}function y(p){return M(p),m?Promise.resolve():(v===void 0&&(v=x(p).finally(()=>{v=void 0;})),v)}async function w(p,A,C){M(p);let K=u.then(async()=>{M(p),await P(p),M(p);let ne=to(s),q=A(to(s));try{await ir(e.storage,p).setMeta(sc,to(q));}catch(re){throw n?f(p):typeof re=="object"&&re!==null&&"code"in re?re:In({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:re})}M(p),s=q,C?.(ne,q);});return u=K.catch(()=>{}),K}let i={async getGlobal(){let p="settings.readReceipts.getGlobal";return M(p),await P(p),M(p),s.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(In({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):w("settings.readReceipts.setGlobal",A=>({...A,globalEnabled:p}),(A,C)=>{A.globalEnabled&&!C.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let A="settings.readReceipts.getConversation";M(A);let C=ro(p,A);await P(A),M(A);let K=s.peerOverrides[C.conversationId]??true;return Object.freeze({enabled:K,effectiveEnabled:s.globalEnabled&&K})},setConversation(p,A){let C="settings.readReceipts.setConversation",K;try{K=ro(p,C);}catch(ne){return Promise.reject(ne)}return typeof A!="boolean"?Promise.reject(In({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:C,conversation:K})):w(C,ne=>(ne.peerOverrides[K.conversationId]=A,ne),(ne,q)=>{let re=K.conversationId,U=ne.globalEnabled&&(ne.peerOverrides[re]??true),g=q.globalEnabled&&(q.peerOverrides[re]??true);U&&!g&&e.onDirectReadReceiptDisabled?.(re);})},resetConversation(p){let A="settings.readReceipts.resetConversation",C;try{C=ro(p,A);}catch(K){return Promise.reject(K)}return w(A,K=>(delete K.peerOverrides[C.conversationId],K))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await y(p),M(p),b.fontScale},set(p){let A="settings.appearance.fontScale.set";if(!dc(p))return Promise.reject(In({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:A,details:{supportedValues:[...sr]}}));let C=h.then(async()=>{M(A),await y(A),M(A);let K={fontScale:p};try{await ir(e.storage,A).setMeta(cc,K);}catch(ne){throw n?f(A):typeof ne=="object"&&ne!==null&&"code"in ne?ne:In({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:A,cause:ne})}M(A),b=K;});return h=C.catch(()=>{}),C}})};return {api:Object.freeze({readReceipts:Object.freeze(i),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){M("settings.readReceipts.hydrate"),!r&&(a===void 0&&(a=O(false,"settings.readReceipts.hydrate").finally(()=>{a=void 0;})),await a);},isDirectReadReceiptEnabled(p){return !n&&!c&&s.globalEnabled&&(s.peerOverrides[p]??true)},dispose(){if(d!==void 0)return d;n=true,s=oo(),b=ao();let p=a,A=u,C=v,K=h;return d=Promise.allSettled([...p===void 0?[]:[p],A,...C===void 0?[]:[C],K]).then(()=>{}),d}}}var je=Object.freeze({availability:"available",reason:"ok"});function tn(e){return Object.freeze({availability:"unavailable",reason:e})}function Fe(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function At(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rt(e){return `${e.conversationType}:${e.conversationId}`}function yu(){return Object.freeze({sendMessages:false})}function vu(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function hu(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 Cu(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 bu(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]),a=Number(r[2]),d=Number(r[3]),s=Number(r[4]);if(c>23||d>23||a>59||s>59)return;let u=new Date(n);u.setHours(c,a,0,0);let m=new Date(n);if(m.setHours(d,s,59,999),u.getTime()<=n&&n<=m.getTime())return m.getTime()+1;if(n<u.getTime())return u.getTime();let v=u;return v.setDate(v.getDate()+1),v.getTime()}function Kn(e,n,r){let c=n.get(Rt(e));if(c!==void 0)for(let a of [...c])a(r);}function uc(e){let n=new Map,r=new Map,c=new Map,a=new Map,d=new Map,s=new Map,u,m,v=new Set,b=e.getSessionUserId(),h=0;function f(q){q.conversationType==="direct"?n.delete(q.conversationId):q.conversationType==="group"?r.delete(q.conversationId):q.conversationType==="channel"&&c.delete(q.conversationId);}function M(){n.clear(),r.clear(),c.clear(),s.clear(),v=new Set;}function O(){let q=e.getSessionUserId();return q!==b&&(b=q,M()),q}function P(q){O();let re=++h;return s.set(Rt(q),re),re}function x(q,re){return O(),s.get(Rt(q))===re}function y(q,re={}){O();let U=re.nowMs??Date.now(),g=e.getConversation(q);if(q.conversationType==="direct"){let me=At({conversationType:"direct",conversationId:q.conversationId}),fe=n.get(q.conversationId),ge=fe?.relationship??"unknown",oe=vu(ge),Te=oe==="ok"?je:oe==="relationship-unknown"?Fe(oe):tn(oe),ue=ge==="friend"?je:ge==="unknown"?Fe(oe):tn(oe);return Object.freeze({ref:me,conversationType:"direct",evaluatedAt:U,value:Object.freeze({relationship:ge,...fe===void 0?{}:{relationshipCheckedAt:fe.checkedAt},canSendMessages:Te,canOpenProfile:je,canUseMessageActions:Te,canManageRelationship:ue})})}if(q.conversationType==="robot"){let me=At({conversationType:"robot",conversationId:q.conversationId});return Object.freeze({ref:me,conversationType:"robot",evaluatedAt:U,value:Object.freeze({canSendMessages:je,canOpenProfile:je,canUseMessageActions:je,canReadHistory:je})})}if(q.conversationType==="group"){let me=At({conversationType:"group",conversationId:q.conversationId}),fe=r.get(q.conversationId),ge=g?.ref.conversationType==="group"?g.groupState??"active":"unknown",oe=hu(ge),Te=oe==="ok",ue=e.getSessionUserId(),Se=fe?.ownerId,Ue=ue!==void 0&&Se!==void 0&&ue===Se,Oe=Te?je:tn(oe),Xe=Te?fe===void 0?Fe("not-ready"):Ue?je:tn("role-insufficient"):tn(oe);return Object.freeze({ref:me,conversationType:"group",evaluatedAt:U,value:Object.freeze({membership:ge,...Se===void 0?{}:{ownerId:Se},isOwner:Ue,canSendMessages:Oe,canOpenProfile:Oe,canReadHistory:je,canUseMessageActions:Oe,canViewMembers:Oe,canEditProfile:Xe,canInviteMembers:Oe,canManageMembers:Xe,canPinMessages:Xe,canUnpinMessages:Xe,canTransferOwnership:Xe,canLeave:Oe,canUpdateVerification:Xe})})}let T=At({conversationType:"channel",conversationId:q.conversationId}),j=c.get(q.conversationId),W=g?.ref.conversationType==="channel"&&g.channelState!==void 0?g.channelState:j?.state;if(W===void 0)return Object.freeze({ref:T,conversationType:"channel",evaluatedAt:U,value:Object.freeze({state:"unknown",role:j?.role??"unknown",permissions:yu(),canSendMessages:Fe("unknown-restricted"),canOpenProfile:Fe("unknown-restricted"),canReadHistory:je,canUseMessageActions:Fe("unknown-restricted"),canMutateMessages:Fe("unknown-restricted"),canPinMessages:Fe("unknown-restricted"),canUnpinMessages:Fe("unknown-restricted"),canDeleteMessagesForEveryone:Fe("unknown-restricted"),canMentionAll:Fe("unknown-restricted"),canViewMembers:Fe("unknown-restricted"),canEditProfile:Fe("unknown-restricted"),canManageMembers:Fe("unknown-restricted"),canManageMute:Fe("unknown-restricted"),canDismiss:Fe("unknown-restricted"),canTransferOwnership:Fe("unknown-restricted"),canLeave:Fe("unknown-restricted"),canInviteMembers:Fe("unknown-restricted"),canSetMemberAdmin:Fe("unknown-restricted"),canRemoveMembers:Fe("unknown-restricted"),canSetMemberPrivateChat:Fe("unknown-restricted")})});let B=Ca$1({channelState:W,nowMs:U,...g?.ref.conversationType==="channel"&&g.channelAccessSnapshot!==void 0?{snapshot:g.channelAccessSnapshot}:{},...g?.ref.conversationType==="channel"&&g.channelPermissions!==void 0?{permissions:g.channelPermissions}:j?.permissions===void 0?{}:{permissions:j.permissions}}),$=Cu(B.channelState,B.muteReason),E=B.channelState==="active"||B.channelState==="muted",N=B.channelState==="active"?B.permissions.sendMessages?je:tn("unknown-restricted"):tn($),S=me=>E&&me?je:tn(E?"role-insufficient":$),_=me=>B.channelState==="active"&&me?je:tn(B.channelState==="muted"?$:E?"role-insufficient":$),L=j?.memberPrivateChatDisabled===false||B.permissions.manageMembers===true,G=E?j===void 0&&B.permissions.manageMembers!==true?Fe("not-ready"):S(L):tn($),Y=B.channelState==="muted"?tn($):E?je:tn($),ce=bu(g,U);return Object.freeze({ref:T,conversationType:"channel",evaluatedAt:U,...ce===void 0?{}:{nextEvaluationAt:ce},value:Object.freeze({state:B.channelState,role:j?.role??g?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...B.permissions}),...B.muteReason===void 0?{}:{muteReason:B.muteReason},canSendMessages:N,canOpenProfile:E?je:tn($),canReadHistory:je,canUseMessageActions:E?je:tn($),canMutateMessages:Y,canPinMessages:_(B.permissions.moderateMessages===true),canUnpinMessages:_(B.permissions.moderateMessages===true),canDeleteMessagesForEveryone:_(B.permissions.moderateMessages===true),canMentionAll:S(B.permissions.mentionAll===true),canViewMembers:G,canEditProfile:S(B.permissions.editProfile===true),canManageMembers:S(B.permissions.manageMembers===true),canManageMute:S(B.permissions.manageMute===true),canDismiss:S(B.permissions.dismissChannel===true),canTransferOwnership:S(B.permissions.transferOwnership===true),canLeave:E?je:tn($),canInviteMembers:S(B.permissions.manageMembers===true),canSetMemberAdmin:S(B.permissions.manageAdmins===true),canRemoveMembers:S(B.permissions.manageMembers===true),canSetMemberPrivateChat:S(B.permissions.manageMute===true)})})}async function w(q,re={}){let U=P(q);if(q.conversationType==="direct"){let g=await e.getRelationship(q.conversationId);x(q,U)&&i(q.conversationId,g,U);}else if(q.conversationType==="group"){let g={conversationType:"group",conversationId:q.conversationId},T=await e.getGroupProfile(g,{forceRefresh:true});x(q,U)&&o(g,T,U);}else if(q.conversationType==="channel"){let g={conversationType:"channel",conversationId:q.conversationId},T=await e.getChannelProfile(g,{forceRefresh:true});x(q,U)&&p(g,T,U);}return y(q,re)}function i(q,re,U){let g={conversationType:"direct",conversationId:q};x(g,U)&&(n.set(q,{relationship:re,checkedAt:Date.now()}),Kn(g,a,y(g)));}function o(q,re,U){x(q,U)&&(r.set(q.conversationId,re),Kn(q,a,y(q)));}function p(q,re,U){x(q,U)&&(c.set(q.conversationId,re),Kn(q,a,y(q)));}function A(q,re,U={}){O();let g=Rt(q),T=a.get(g)??new Set;return T.add(re),a.set(g,T),d.set(g,At(q)),re(y(q,U)),m===void 0&&(m=e.subscribeContext?.(j=>{O(),Kn(j,a,y(j));})),u===void 0&&(u=e.subscribeConversations(j=>{O();let W=Date.now(),B=new Set(j.map($=>Rt($.ref)));for(let $ of j){let E=y($.ref,{nowMs:W});Kn($.ref,a,E);}for(let[$,E]of d){if(!v.has($)||B.has($))continue;f(E);let N=y(E,{nowMs:W});Kn(E,a,N);}v=B;})),()=>{T.delete(re),T.size===0&&a.delete(g),a.has(g)||d.delete(g),a.size===0&&(m?.(),m=void 0,u?.(),u=void 0,v=new Set);}}function C(){M();let q=Date.now();for(let re of d.values())Kn(re,a,y(re,{nowMs:q}));}function K(){m?.(),m=void 0,u?.(),u=void 0,a.clear(),d.clear(),M();}let ne=Object.freeze({get:y,refresh:w,subscribe:A});return Object.freeze({...ne,api:ne,beginProjectionUpdate:P,updateRelationshipProjection:i,updateGroupProfileProjection:o,updateChannelProfileProjection:p,reset:C,dispose:K})}var Mu=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function mn(e,n){let r=e?.conversationType,c=e?.conversationId;if(r==="supergroup")throw X({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof c!="string"||c.trim()==="")throw X({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:c})}function Su(e){return e===null?null:Object.freeze({ref:mn(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 Pu(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="filesAlbum")return Object.freeze({kind:"filesAlbum",count:e.count,...e.caption===void 0?{}:{caption:e.caption}});if(e.kind==="mediaAlbum")return Object.freeze({kind:"mediaAlbum",imageCount:e.imageCount,videoCount:e.videoCount,...e.caption===void 0?{}:{caption:e.caption},...e.firstItemKind===void 0?{}:{firstItemKind:e.firstItemKind}});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}return Object.freeze({kind:e.kind})}}function cr(e){let n=Pu(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}),a=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:mn({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"&&a!==void 0?{channelAccessSnapshot:a}:{},draft:Su(e.draft)})}function Au(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Bn(e,n,r,c){return Au(e)?e:X({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 pc(e){let n=new Set,r,c,a;function d(){return Object.freeze(e.getCompatibilityApi().list().map(cr))}function s(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=d();return Object.freeze({state:c??s(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...a===void 0?{}:{error:Object.freeze(a)}})}catch(h){let f=Bn(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function m(){let h=u();for(let f of [...n])f(h);}function v(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(f=>{Mu.has(f.type)&&m();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:d,getBackground:h=>e.getCompatibilityApi().getBackground(mn(h,"conversations.getBackground")),setBackground:(h,f)=>e.getCompatibilityApi().setBackground(mn(h,"conversations.setBackground"),f),resetBackground:h=>e.getCompatibilityApi().resetBackground(mn(h,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:h=>e.getCompatibilityApi().setDefaultBackground(h),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:h=>e.getCompatibilityApi().listBackgroundPresets(h),getSnapshot:u,subscribe:v,prefetchRecent:(h,f)=>e.getCompatibilityApi().prefetchRecent(h.map(M=>mn(M,"conversations.prefetchRecent")),f),async refresh(){c="loading",a=void 0,m();try{await e.getCompatibilityApi().sync(),c=void 0,m();}catch(h){throw c="error",a=Bn(h,"conversations.refresh",true),m(),a}},getTotalUnread(h){return d(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,f){let M=mn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(M,f);}catch(O){throw Bn(O,"conversations.setPinned",false,M)}},async setMuted(h,f){let M=mn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(M,f);}catch(O){throw Bn(O,"conversations.setMuted",true,M)}},async markRead(h){let f=mn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(M){throw Bn(M,"conversations.markRead",true,f)}},markUnread(h){let f=mn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(M){throw Bn(M,"conversations.markUnread",false,f)}},deleteLocal(h){let f=mn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(M){throw Bn(M,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Ru=128,Eu=8,wu=64*1024*1024,Tu=3,dr=1024*1024;function _u(e){let n=0,r=false,c=[];function a(){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),a());});}}return {acquire(d){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,u)=>{let m={resolve:s,reject:u,signal:d,onAbort:()=>{let v=c.indexOf(m);v>=0&&c.splice(v,1),u(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",m.onAbort,{once:true}),c.push(m),a();})},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 fc(){return xa([{kind:"image",softMaxBytes:512*dr,maxEntries:512,maxEntryBytes:30*dr},{kind:"video",softMaxBytes:1792*dr,maxEntries:64,maxEntryBytes:200*dr}])}function so(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Du(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function lr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function co(e,n,r,c){let a=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return c===void 0?a:`${a}:${c}`}function lo(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Pe({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=lr({conversationType:n,conversationId:r});return gc({id:co(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:so(e.percent),...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:ku(e.failure,c)}})}function Pe(e){let n=X(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function mc(e){return e.recalled===void 0&&e.deletedForEveryone===void 0&&(e.status==="failed"||e.status==="uploading")&&e.failure?.displayCode!=="media.cancelled"&&!(e.failure?.displayCode==="media.uploadTimeout"&&e.failure.retryable===false)}function ku(e,n){if(e===void 0)return;let r=e.displayCode,a=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.uploadTimeout":{code:"IM_SDK_MEDIA_UPLOAD_TIMEOUT",category:"network",retryable:true},"media.resumeUnavailable":{code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",retryable:true},"media.cleanupUnconfirmed":{code:"IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED",category:"state",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[r];return Object.freeze(X({...a??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function gc(e){return Object.freeze({...e,ref:lr(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function io(e){let n=e?.conversation,r=n?.conversationType,c=n?.conversationId;if(r==="supergroup")throw Pe({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 Pe({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return lr({conversationType:r,conversationId:c})}function Ic(e){let n=true,r=0,c=0,a=new Map,d=new Set,s=new Map,u=new Map,m=new Map,v=_u(Tu),b=e.maxCachedBlobs??Eu,h=e.maxCachedBlobBytes??wu,f=0;function M(){if(!n||!e.isActive())throw Pe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function O(){return Object.freeze([...a.values()])}function P(){let E=O();for(let N of [...d])try{N(E);}catch(S){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:S}});}}function x(E){let N=m.get(E);N!==void 0&&(f-=N.size,m.delete(E));}function y(E){a.delete(E),s.delete(E),x(E);}function w(){for(;a.size>Ru;){let E=[...a.values()].find(N=>N.state==="completed"||N.state==="failed"||N.state==="canceled");if(E===void 0)return;y(E.id);}}function i(E){a.set(E.id,gc(E)),w();}function o(E){if(!n||!e.isActive())return;i(E);let N=a.get(E.id);if(P(),!n||!e.isActive()||N===void 0||a.get(E.id)!==N)return;let S={id:N.id,messageId:N.messageId,ref:N.ref,direction:"download",state:N.state,percent:N.percent};e.emitter.emit({type:"media-task:updated",conversation:N.ref,task:S});}function p(E,N){if(x(E),!(N.size>h))for(m.set(E,N),f+=N.size;m.size>b||f>h;){let S=m.keys().next().value;if(S===void 0)break;x(S);}}function A(E,N=true){let S=io(E),_=e.domainState.getConversationMessage(S,E.messageId);if(_===void 0)throw Pe({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:S});let L,G,Y,ce;if(_.contentType==="image")L=_.body.image,G=e.loaders?.loadImage,ce="image";else if(_.contentType==="video")L=_.body.video,G=e.loaders?.loadVideo,ce="video";else if(_.contentType==="voice")L=_.body.voice,G=e.loaders?.loadVoice;else if(_.contentType==="file")L=_.body.file,G=e.loaders?.loadFile,Y=_.body.file?.mimeType;else if(_.contentType==="filesAlbum"){let me=E.itemIndex;if(L=me===void 0?void 0:_.body.filesAlbum?.items[me],L===void 0)throw Pe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:S});G=e.loaders?.loadFile;}else if(_.contentType==="mediaAlbum"){let me=_.body.mediaAlbum?.items,fe=E.itemIndex,ge=fe===void 0||me===void 0?void 0:me[fe];if(ge===void 0)throw Pe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:S});L=ge,G=ge.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,ce=ge.kind;}if(_.contentType!=="mediaAlbum"&&_.contentType!=="filesAlbum"&&E.itemIndex!==void 0)throw Pe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:S});if(L===void 0)throw Pe({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:S});if(N&&G===void 0)throw Pe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:S});if(L.url.trim()===""||L.url.startsWith("blob:"))throw Pe({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:S});return {ref:S,messageId:_.id,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},...Y===void 0?{}:{mimeType:Y},...ce===void 0?{}:{cacheKind:ce,resourceVersion:ya(L.url)},...G===void 0?{}:{load:G},input:{url:L.url,...L.size===void 0?{}:{expectedBytes:L.size},...L.teaKey===void 0?{}:{teaKey:L.teaKey},...L.fileEncryptType===void 0?{}:{fileEncryptType:L.fileEncryptType}}}}function C(E){return Pe({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function K(){return Pe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ne(E,N,S=r){if(M(),S!==r)return null;let _=co("download",E.ref,E.messageId,E.itemIndex),L=m.get(_);if(L!==void 0)return m.delete(_),m.set(_,L),L;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let G;try{G=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:G===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...G===null?{}:{byteLength:G.blob.size}});}catch(fe){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:fe}),N)throw Pe({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(G===null||(M(),S!==r))return null;let Y=G.blob,ce=G.mimeType??E.mimeType??"",me=Y.type===ce?Y:Y.slice(0,Y.size,ce);return p(_,me),me}function q(E,N=false){let S=r,_=co("download",E.ref,E.messageId,E.itemIndex),L=u.get(_);if(L!==void 0&&!L.controller.signal.aborted)return L.promise;if(!N){let fe=m.get(_);if(fe!==void 0)return m.delete(_),m.set(_,fe),Promise.resolve(fe)}x(_);let G=lr(E.ref);s.set(_,Object.freeze({conversation:G,messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}}));let Y={id:_,messageId:E.messageId,ref:G,direction:"download",...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}},ce=new AbortController,me=Promise.resolve().then(async()=>{let fe;try{if(!n||!e.isActive())throw K();if(ce.signal.aborted)throw C(G);if(fe=await v.acquire(ce.signal),!n||!e.isActive())throw K();if(ce.signal.aborted)throw C(G);if(o({...Y,state:"running",percent:0}),!n||!e.isActive())throw K();if(ce.signal.aborted)throw C(G);if(!N&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Se=await ne(E,!1,S);if(Se!==null){if(ce.signal.aborted)throw C(G);return o({...Y,state:"completed",percent:100}),Se}}let ge=E.load;if(ge===void 0)throw Pe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:G});let oe=await ge({...E.input,signal:ce.signal,onTransferProgress:Se=>{let Ue=a.get(_);!n||!e.isActive()||ce.signal.aborted||u.get(_)?.controller!==ce||Ue?.state!=="running"||o({...Ue,state:"running",percent:Math.max(Ue.percent,Math.min(99,so(Se.percent))),bytesTransferred:Se.bytesTransferred,bytesTotal:Se.bytesTotal,phase:Se.bytesTotal>0&&Se.bytesTransferred>=Se.bytesTotal?"finalizing":"transferring"});},onProgress:Se=>{let Ue=a.get(_);if(!n||!e.isActive()||ce.signal.aborted||u.get(_)?.controller!==ce||Ue?.state!=="running")return;let Oe=Math.min(99,so(Se));Oe<=Ue.percent||o({...Ue,state:"running",percent:Oe});}});if(!n||!e.isActive())throw K();if(ce.signal.aborted)throw C(G);let Te=oe instanceof Blob?void 0:oe,ue=Te===void 0?oe:new Blob([Te],E.mimeType===void 0?void 0:{type:E.mimeType});if(E.mimeType!==void 0&&ue.type!==E.mimeType&&(ue=ue.slice(0,ue.size,E.mimeType)),S===r&&p(_,ue),S===r&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Se=ue.size;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,blob:ue,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(Ue=>{e.onAssetCacheEvent?.({operation:"put",outcome:Ue,kind:E.cacheKind,messageId:E.messageId,byteLength:Se});}).catch(Ue=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:Se,cause:Ue});});}if(o({...Y,state:"completed",percent:100}),!n||!e.isActive())throw K();return ue}catch(ge){if(!n||!e.isActive())throw K();if(ce.signal.aborted||typeof ge=="object"&&ge!==null&&"code"in ge&&ge.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Te=C(G);throw u.get(_)?.controller===ce&&a.get(_)?.state!=="canceled"&&o({...Y,state:"canceled",percent:a.get(_)?.percent??0,error:Te}),Te}let oe=Pe({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:G});throw o({...Y,state:"failed",percent:a.get(_)?.percent??0,error:oe}),oe}finally{fe?.(),u.get(_)?.controller===ce&&u.delete(_);}});return u.set(_,{controller:ce,promise:me}),o({...Y,state:"queued",percent:0}),me}function re(E){try{return M(),q(A(E))}catch(N){return Promise.reject(N)}}async function U(E){let N=A(E,false);return N.cacheKind===void 0?null:await ne(N,true)}async function g(E){if(M(),e.preparePreview===void 0)throw Pe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let N;try{N=await e.preparePreview({operationId:`media.prepareLocalPreview:${++c}`,kind:E.kind,file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(_){if(E.signal?.aborted===true||_ instanceof Error&&_.name==="AbortError")throw _;return e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:_}),null}return M(),!Number.isFinite(N.width)||!Number.isFinite(N.height)||N.width<=0||N.height<=0?(e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${N.width}\xD7${N.height}`)}),null):E.kind==="video"?{width:N.width,height:N.height,...N.duration===void 0?{}:{duration:N.duration},...N.posterData===void 0?{}:{posterData:N.posterData}}:{width:N.width,height:N.height}}async function T(E){if(M(),E.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Pe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let N;try{N=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++c}`,kind:"video",file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(S){if(E.signal?.throwIfAborted(),S instanceof Error&&S.name==="AbortError")throw S;return M(),e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:S}),null}return E.signal?.throwIfAborted(),M(),!Number.isFinite(N.width)||!Number.isFinite(N.height)||N.width<=0||N.height<=0||!N.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([N.posterData],{type:"image/jpeg"})}function j(E,N){M();let S=a.get(E);if(S===void 0)throw Pe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:N,retryable:false});return S}function W(E,N){return Pe({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:N,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let B=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||Du(E.conversation,E.task.ref)&&(i(lo(E.task)),P());});return {api:{getSnapshot(){return M(),O()},subscribe(E){return M(),d.add(E),()=>d.delete(E)},async cancel(E){let N=j(E,"media.cancel");if(N.state!=="queued"&&N.state!=="running"&&!(N.direction==="upload"&&N.state==="paused"))throw W(N,"media.cancel");if(N.direction==="upload"){if(!e.connection.cancelMediaUpload(N.messageId))throw Pe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:N.ref});return}let S=u.get(E);if(S===void 0)throw W(N,"media.cancel");S.controller.abort();let _=C(N.ref);o({...N,state:"canceled",error:_});},async pause(E){let N=j(E,"media.pause");if(N.direction!=="upload"||N.state!=="queued"&&N.state!=="running")throw W(N,"media.pause");if(!await e.connection.pauseMediaUpload?.(N.messageId))throw Pe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:N.ref});M();},async resume(E){let N=j(E,"media.resume");if(N.direction!=="upload"||N.state!=="paused")throw W(N,"media.resume");if(!e.connection.resumeMediaUpload?.(N.messageId))throw Pe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:N.ref})},async retry(E,N){let S=j(E,"media.retry");if(S.state!=="failed"&&S.state!=="canceled")throw W(S,"media.retry");if(S.direction==="upload"){if((S.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||S.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&N?.restartUpload!==true)throw Pe({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:S.ref});if(!(N===void 0?e.connection.retryMediaUpload(S.messageId):e.connection.retryMediaUpload(S.messageId,N)))throw Pe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:S.ref});return}if(N?.restartUpload!==void 0)throw W(S,"media.retry");if(u.has(E)&&!u.get(E).controller.signal.aborted)throw Pe({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:S.ref});let _=s.get(E);if(_===void 0)throw Pe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await q(A(_),true);},async getUploadRecovery(E){M();let N=io(E);if(E.itemIndex!==void 0)return {available:false,reason:"unsupported"};let S=E.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let _=e.domainState.getConversationMessage(N,S);if(_===void 0)return {available:false,reason:"not-found"};if(!mc(_))return {available:false,reason:"invalid-state"};try{let L=await e.recoveryPort.get(N,S);M();let G=e.domainState.getConversationMessage(N,S);return G===void 0?{available:!1,reason:"not-found"}:mc(G)?L===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:L.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(L){return M(),{available:false,reason:typeof L=="object"&&L!==null&&"reason"in L?String(L.reason):"storage"}}},async resumeUpload(E,N){M();let S=io(E);if(E.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw Pe({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:S});try{let _=await e.connection.recoverMediaUpload(S,E.messageId,N.file);if(M(),!_.ok&&_.reason==="paused")throw Pe({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:S});if(!_.ok&&_.reason==="cancelled")throw Pe({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:S});if(!_.ok)throw Pe({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:S})}catch(_){if(M(),typeof _=="object"&&_!==null&&"code"in _&&typeof _.code=="string"&&_.code.startsWith("IM_SDK_"))throw _;let L=_ instanceof Error&&_.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw Pe({code:L,category:"state",operation:"media.resumeUpload",retryable:false,conversation:S})}},download:re,getCached:U,prepareLocalPreview:g,prepareLocalVideoPoster:T},clearCache(){r+=1,m.clear(),f=0;},dispose(){if(n){n=false,r+=1,B();for(let E of u.values())E.controller.abort();v.dispose(),u.clear(),d.clear(),a.clear(),s.clear(),m.clear(),f=0;}}}}var Ou={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"}},xu={"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 yc(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Nu(e,n){let r=Ou[e.reason];return Object.freeze(X({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function uo(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Nu(e.failure,n)}})}function Lu(e){let n=yc(e);return uo({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 Fu(e,n,r){let c=X({code:xu[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 vc(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 a(){return c(),Object.freeze(e.operations.getPending().map(Lu))}async function d(u,m){c();let v=e.operations.getPending().find(h=>h.id===m),b=u==="outbox.retry"?e.operations.retry(m):e.operations.cancel(m);if(!b.accepted)throw Fu(u,b.reason,v===void 0?void 0:yc(v))}return {api:{getSnapshot:a,subscribe(u){c();let m=e.emitter.subscribe(b=>{b.type==="outbox:updated"&&n&&u(a());}),v=()=>{m(),r.delete(v);};return r.add(v),v},retry:u=>d("outbox.retry",u),cancel:u=>d("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function Uu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ur(e){return Object.freeze({type:"error",error:Object.freeze(X(e))})}function Je(e){throw X(e)}function he(e,n,r){return (typeof e!="string"||e.trim()==="")&&Je({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({field:n})}),e}function xe(e,n){let r=e,c=r?.conversationType,a=r?.conversationId;return c==="supergroup"&&Je({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof a=="string"?a:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"&&c!=="robot"||typeof a!="string"||a.trim()==="")&&Je({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:c,conversationId:a})}function Ku(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Et(e,n){let r=xe(e,n);return r.conversationType!=="direct"&&Je({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 at(e,n){let r=xe(e,n);return r.conversationType!=="group"&&Je({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 Gn(e,n,r){Ku(e,n)||Je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function Bu(e){return Object.freeze({...e})}function Gu(e,n){return Gn(xe(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(r=>Object.freeze({...r}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function Hu(e){let n=he(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=xe(e.conversation,"application:updated");r.conversationType!=="group"&&Je({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=xe(e.conversation,"application:updated");r.conversationType!=="channel"&&Je({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 Je({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function ju(e){return Object.freeze({ref:Hu(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function zu(e){let n={token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}},r=e.lastLoginTime;return Object.freeze(r===void 0||!Number.isFinite(r)||r<=0?n[e.reason]:{...n[e.reason],lastLoginTime:r})}function Vu(e){return Object.freeze(X({...{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 qu(e,n){if(Uu(e)){let{cause:r,...c}=e;return ur(c)}return ur({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Wu(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:Bu(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=xe(e.conversation,e.type);return Gn(xe({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&Je({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(rt(e.message)),source:e.source})}case "message:removed":{let r=xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:he(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=xe(e.conversation,e.type),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:he(e.messageId,"messageId",r),percent:c})}case "media-task:updated":{let r=xe(e.conversation,e.type);Gn(xe(e.task.ref,e.type),r,e.type);let c=lo(e.task);return Object.freeze({type:e.type,ref:r,task:c})}case "session:updated":{let r=xe(e.conversation,e.type);Gn(xe({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let c=n.getConversation(r);return c===void 0&&Je({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Gn(c.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:c})}case "session:removed":{let r=xe(e.conversation,e.type);return e.conversationId!==r.conversationId&&Je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r})}case "pinned-message:updated":{let r=xe(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&Je({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Gn(xe({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=he(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:r})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:r})})})}case "channel-profile:updated":{let r=xe(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&Je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "channel-join-application:received":{let r=xe(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&Je({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:he(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Je({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:he(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=xe(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Je({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let r=xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Gu(e.draft,r)})}case "draft:cleared":{let r=xe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=xe(e.conversation,e.type);return Gn(xe(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:uo(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:he(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:ju(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "receiving:changed":return Object.freeze({type:e.type,receiving:e.receiving});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>xe(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...zu(e.issue)});case "error":return Object.freeze({type:e.type,error:Vu(e.error)});case "call:incoming":{let r=Et(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),peerId:he(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Et(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),peerId:he(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Et(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),peerId:he(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Et(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),peerId:he(e.peerId,"peerId",r)})}case "call:failed":{let r=Et(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),peerId:he(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),inviterId:he(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>he(c,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),userId:he(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),userId:he(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>he(c,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),userId:he(e.userId,"userId",r)})}case "group-call:busy":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),userId:he(e.userId,"userId",r),hintUserId:he(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:he(e.callId,"callId",r),groupId:he(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return qu(r,e)}}function $u(e){let{type:n,...r}=e;return Object.freeze(r)}function Ju(e){if(e.type!=="message:received"||e.message.conversationType!=="group"||e.message.contentType!=="system"||e.message.body.system?.eventType!=="group_activated")return null;let n=xe(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function hc(e){let n=new WeakMap;function r(a,d){let s=n.get(a);if(s!==void 0)return s;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:a.notification.messageId}));return n.set(a,u),u}function c(a){let d=true,s=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){a(ur({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let b=he(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,b).then(h=>{if(!d||h===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:b,result:h});a(f);}).catch(()=>{d&&a(ur({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let m=Wu(u,e);m!==null&&a(m);let v=Ju(u);v!==null&&a(Object.freeze({type:"group:activated",...v}));});return ()=>{d=false,s();}}return {subscribe:a=>c(a),on:(a,d)=>c(s=>{s.type===a&&d($u(s));})}}function wn(e){let n=X({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 Cc(e){function n(r){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw wn({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 wn({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 wn({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 bc(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function wt(e,n,r,c){return X({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 Mc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Sc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Pc(e,n){if(n.id!==e)throw wt("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(a=>Object.freeze({countryCode:a.countryCode,mobile:a.mobile})))}})}function Ac(e,n){if(n.id!==e.conversationId)throw wt("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Mc(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 Yu(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 Rc(e,n){if(n.id!==e.conversationId)throw wt("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Sc(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:Yu(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 Ec(e){return e.state==="ready"?Object.freeze({state:"ready",message:rr(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 pr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw wt("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Mc(e),messageId:n.messageId,preview:Ec(n.preview)})}function mr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw wt("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Sc(e),messageId:n.messageId,preview:Ec(n.preview)})}function Xu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Qu(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 Zu(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function po(e,n,r){return Xu(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Zu(e)?X({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Qu(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):X({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 wc=new WeakMap;function mo(e,n){wc.set(e,n);}function Tc(e){let n=wc.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 ep="IM_SDK_CHANNEL_NOT_MEMBER",np="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",tp="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",rp="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function op(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ap(e,n,r){if(op(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,a=e instanceof na$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c$1===40542?ep:c$1===40527?np:c$1===40547?tp:e instanceof d$1?rp:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof na$1?"contract":e instanceof c?"network":c$1===40527?"permission":"state",s=X({code:a,category:d,operation:n,retryable:e instanceof c,conversation:{conversationType:"channel",conversationId:r},...c$1===void 0?{}:{details:Object.freeze({businessCode:c$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function qe(e,n,r){try{return await r()}catch(c){throw ap(c,e,n)??c}}var ip={pinMessage:()=>Promise.reject(new Me({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new Me({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new Me({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new Me({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function _c(e){let n=new Map,r=new Map,c=true,a=f=>({conversationType:"channel",conversationId:f}),d=f=>{r.set(f,(r.get(f)??0)+1);};function s(f){if(!c||n.has(f))return;let M=r.get(f)??0,O=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let P=await ea({client:e.coreClient,channelId:f});if(!c||(r.get(f)??0)!==M)return;if(!P.ok){e.emitter.emit({type:"error",error:{scope:"http",code:P.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${P.message}`,cause:{conversationId:f}}});return}if(P.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(P.data.messageContent,{conversationId:f}),"reconcile");}catch(P){if(!c||(r.get(f)??0)!==M)return;let x=P instanceof h$1||P instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:x,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:P}});}})();n.set(f,O),O.finally(()=>{n.get(f)===O&&n.delete(f);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),m=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let M=f.message;if(M.conversationType!=="channel")return;let O=M.body.system?.pinnedMessageAction;O!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((O?.type==="pin"||O?.type==="unpin")&&d(M.conversationId),u.handleMessage(M));});function v(f,M){if(M.trim()==="")throw new Me({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getConversationContext(a(M));if(O===void 0)throw new Me({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="channel")throw new Me({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function b(f,M){if(e.coreClient===void 0)throw new Me({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return v(f,M),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:M})=>{let O=b("pin",f),P=e.domainState.getConversationMessage(a(f),M);if(P===void 0)throw new Me({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(P.conversationType!=="channel")throw new Me({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(P.conversationId!==f)throw new Me({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:x,pinnedMessage:y}=B$1(P),w=await ta({client:O,channelId:f,messageContent:x});if(!w.ok)throw An("pin",w.code,w.message);d(f),e.domainState.setPinnedMessage(y,"http:pin");let i=e.domainState.getPinnedMessage(a(f));if(i===void 0)throw new Me({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return i}catch(x){throw Rn("pin",x)}},unpinMessage:async f=>{let M=b("unpin",f);try{let O=await Oa$1({client:M,channelId:f});if(!O.ok)throw An("unpin",O.code,O.message);d(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(O){throw Rn("unpin",O)}},getPinnedMessage:async f=>{let M=b("get",f);try{let O=await ea({client:M,channelId:f});if(!O.ok)throw An("get",O.code,O.message);if(d(f),O.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let P=A$1(O.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(P,"reconcile");let x=e.domainState.getPinnedMessage(a(f));if(x===void 0)throw new Me({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return x}catch(O){throw Rn("get",O)}},peekPinnedMessage:f=>(v("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{c&&(c=false,m());}}}async function Tn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var sp={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:Tn,prefetchFirstPage:Tn,refreshFirstPage:Tn,listFirstPage:Tn,listNextPage:Tn,searchFirstPage:Tn,refreshSearchFirstPage:Tn,searchNextPage:Tn},cp=new Set(["unknown_restricted","left","removed","dismissed"]);function Ge(e){return cp.has(e)}function Dc(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 a(){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(b){let h=b.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function s(b){let f=await a().listJoinApplications({limit:b?.limit??20,...b?.cursor===void 0?{}:{cursor:b.cursor}});return c(),f}async function u(b,h){c();let f=d(b),M=a();await(h==="accept"?M.acceptJoinApplication(f):M.ignoreJoinApplication(f)),c();}async function m(b,h,f,M,O){r(),O?.throwIfAborted();let P=await S({signal:O,http:e.http,userId:f,clientType:e.clientType,channelId:b,index:h,containAnchor:M,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),O?.throwIfAborted(),P}async function v(b,h,f,M){let O=await m(b,h,f,true,M),P=O.messages.find(x=>x.extensions?.historyCursor===h);if(P===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${b}, index=${h}\uFF09`);return {context:O,message:P}}return {applications:{listJoinApplications:s,acceptJoinApplication:b=>u(b,"accept"),ignoreJoinApplication:b=>u(b,"ignore")},loadMessageContext:v,loadNewerPage:(b,h,f,M)=>m(b,h,f,false,M),dispose:()=>{n=false;}}}function kc(e){async function n(a,d,s){let u=new Map(d.filter(C$1).sort((v,b)=>v.sortKey.localeCompare(b.sortKey)).map(v=>[v.id,v]));if(u.size===0)return;let m=await e.authProvider.getLoginContext();if(m===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let v=u.values().next().value;u.delete(v.id);let b=v.extensions?.historyCursor;if(typeof b!="string"||b.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}, messageId=${v.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),f=e.getHistoryEpoch(a);try{let{context:M,message:O}=await e.loadMessageContext(a,b,m.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(a))return;if(O.id!==v.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${b}, expected=${v.id}, actual=${O.id}\uFF09`);if(O.contentType!=="system"||C$1(O))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${b}, messageId=${v.id}\uFF09`);let P=M.messages.filter(x=>x.id===v.id||u.has(x.id));if(P.some(x=>x.contentType!=="system"||C$1(x)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${b}\uFF09`);e.domainState.upsertMessages(P,"offline",{backfillOnly:!0}),s.applyIncoming(P.flatMap(x=>{let y=e.domainState.getMessage(x.id);return y===void 0?[]:[y]}));for(let x of P)u.delete(x.id);}catch(M){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}, messageId=${v.id}\uFF09`,cause:M}});}}}function r(a,d){return a?.conversationType===d.conversationType&&a.conversationId===d.conversationId}async function c(a,d=e.domainState.messageWindow){if(a.stale||!a.messages.some(C$1))return a;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=${a.conversationId}\uFF09`);let u=e.domainState.getConversationContext(s);if(u?.type!=="channel"||u.channelState!==void 0&&Ge(u.channelState))return a;let m=d.getRevision();if(await n(s.conversationId,a.messages,d),d.getRevision()!==m||!r(d.info().conversation,s))return {...a,stale:true};let v=new Map(d.list().map(b=>[b.id,b]));return {...a,messages:a.messages.map(b=>v.get(b.id)??b)}}return {reconcilePage:c}}function Oc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function r(y,w,i,o){let A=X({code:y,category:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":y==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...i===void 0?{}:{details:i},...o===void 0?{}:{cause:o}});return Object.assign(new Error(w),A)}function c$1(y){let w=y.name.trim();if(w==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(w.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let i=y.memberIds;if(!Array.isArray(i))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=i.map(A=>typeof A=="string"?A.trim():"");if(o.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let p=[...new Set(o)];if(p.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:w,memberIds:p}}function a(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let y=e.crypto.randomTeaKey();if(!(y instanceof Uint8Array)||y.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let w="";for(let i of y)w+=String.fromCharCode(i);return globalThis.btoa(w)}function d(y,w){let i=y.trim();if(i==="")throw new Error(`${w}\u4E0D\u80FD\u4E3A\u7A7A`);return i}function s(y){let w=y.trim();if(w==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...w].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return w}function u(y){let w=y.trim();if(w==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...w].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return w}async function m(y){let w=(await e.getSelfUserId?.()??"").trim();return w!==""&&w===y.trim()}function v(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function b(y,w,i){if(y!==1&&y!==2&&y!==4){let p=X({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:i}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(y!==4)return {verifyType:y};let o=w?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=X({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:i}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:y,inviteCode:o}}function h(y){if(!Array.isArray(y))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(y.map(w=>d(w,"\u793E\u7FA4\u6210\u5458 id")))]}function f(y){e.emitter?.emit({type:"channel-profile:updated",channelId:y,conversation:{conversationType:"channel",conversationId:y}});}function M$1(y){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(y).catch(w=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:y,error:w}}});});}function O(y){if(y===void 0)return;let w=typeof y=="number"?y:Number(y);return Number.isSafeInteger(w)?w:void 0}function P$1(y){if(typeof y=="boolean")return y;if(y===1||y==="1"||y==="true")return true;if(y===0||y==="0"||y==="false")return false}function x(y){if(y===null||typeof y!="object"||y===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let w=y.id??y.radio_id;if(typeof w!="string"&&typeof w!="number"||String(w).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let i=y.name?.trim()??"";if(i==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(w),p=O(y.total_users),A=O(y.status),C=O(y.verify_way),K=O(y.update_version),ne=P$1(y.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:i,...y.head_img_url?.trim()===""||y.head_img_url===void 0?{}:{avatar:y.head_img_url},...y.user_id===void 0?{}:{ownerId:String(y.user_id)},...p===void 0?{}:{memberCount:p},...A===void 0?{}:{status:A},...ne===void 0?{}:{isInChannel:ne},...C===void 0?{}:{verifyWay:C},...K===void 0?{}:{updateVersion:K},...y.invite_code===void 0?{}:{inviteCode:y.invite_code}}}return {...n,mentions:e.mentionCandidates??sp,uploadAvatar:async y=>{if(e.avatarTransfer===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return ot(e.avatarTransfer,y)},create:async y=>{if(e.coreClient===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.prepareConversation===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let w=c$1(y),i=a();try{let o=await aa({client:e.coreClient,name:w.name,memberIds:w.memberIds,secretKey:i,...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl}});if(!o.ok){let C=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(C,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let p=x(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,i);let A=p.status===3?"dismissed":p.status===void 0||p.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:p.ref.conversationId,type:"channel",title:p.name,...p.avatar===void 0?{}:{avatar:p.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:A,channelPermissions:Ba$1("owner",A)}),Object.freeze({channel:p})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof c?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:y=>e.channelProfile?.listProfiles(y)??Promise.resolve([]),getProfile:(y,w)=>e.channelProfile?.getProfile(y,w)??Promise.resolve(null),listMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),prefetchMembers:y=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(y),getCachedMembers:y=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(y),refreshMembers:y=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(y),searchMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),searchMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listAdmins:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),getMembersByIds:(y,w,i)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(y,w,i),updateName:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=d(w,"\u793E\u7FA4\u540D\u79F0");await qe("channels.updateName",o,()=>F({client:i,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),f(o);},updateDescription:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=u(w);await qe("channels.updateDescription",o,()=>F({client:i,channelId:o,description:p})),f(o);},updateAvatar:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let p=await qe("channels.updateAvatar",o,()=>ot(e.avatarTransfer,w));return await qe("channels.updateAvatar",o,()=>F({client:i,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),f(o),p},setMyNickname:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=s(w);await qe("channels.setMyNickname",o,()=>G({client:i,channelId:o,nickname:p})),f(o);},setMemberNickname:async(y,w,i)=>{let o=v(),p=d(y,"\u793E\u7FA4 id"),A=d(w,"\u793E\u7FA4\u6210\u5458 id");if(await m(A))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let C=s(i);await qe("channels.setMemberNickname",p,()=>H({client:o,channelId:p,userId:A,nickname:C})),f(p);},updateVerification:async(y,w,i)=>{let o=v(),p=d(y,"\u793E\u7FA4 id"),A=b(w,i,p);await qe("channels.updateVerification",p,()=>O$1({client:o,channelId:p,verifyType:A.verifyType,...A.inviteCode===void 0?{}:{inviteCode:A.inviteCode}})),f(p);},requestJoin:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=w?.remarks?.trim();return qe("channels.requestJoin",o,()=>qa$1({client:i,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=w.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return qe("channels.joinByInviteCode",o,()=>ra({client:i,channelId:o,inviteCode:p}))},setAllMuted:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id");await qe("channels.setAllMuted",o,()=>P({client:i,channelId:o,muted:w})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},setMemberPrivateChatDisabled:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id");await qe("channels.setMemberPrivateChatDisabled",o,()=>Q({client:i,channelId:o,disabled:w})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},inviteMembers:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=h(w);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await qe("channels.inviteMembers",o,()=>I({client:i,channelId:o,userIds:p})),f(o);},removeMember:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=d(w,"\u5F85\u79FB\u9664\u6210\u5458 id");await qe("channels.removeMember",o,()=>J({client:i,channelId:o,userId:p})),f(o);},addAdmin:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=d(w,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await qe("channels.addAdmin",o,()=>K({client:i,channelId:o,userId:p})),M$1(o),f(o);},removeAdmin:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=d(w,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await qe("channels.removeAdmin",o,()=>L({client:i,channelId:o,userId:p})),M$1(o),f(o);},transferOwnership:async(y,w)=>{let i=v(),o=d(y,"\u793E\u7FA4 id"),p=d(w,"\u65B0\u793E\u7FA4\u4E3B id");await qe("channels.transferOwnership",o,()=>M({client:i,channelId:o,userId:p})),M$1(o),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},leave:async(y,w)=>{let i=v();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(y,"\u793E\u7FA4 id"),p=w?.newOwnerId===void 0?void 0:d(w.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await qe("channels.leave",o,()=>N({client:i,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),f(o);},dismiss:async y=>{let w=v();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 i=d(y,"\u793E\u7FA4 id");await qe("channels.dismiss",i,()=>R({client:w,channelId:i})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_dismissed"),f(i);},...e.applications,...e.pinned??ip}}function dp(e){let r=X({...{"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 lp(e){let n=e.responseCode===X$1,a=X({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(a.code),a)}function up(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function xc(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,a=new Map,d=new Map,s=0,u=false,m=5e3;function v(i,o,p){if(u)return "unknown";if(p!==void 0&&r.get(i)!==p)return c.get(i)??"unknown";let A=c.get(i);return c.set(i,o),a.set(i,Date.now()),A!==o&&e.onRelationshipChanged?.(i,o),o}function b(i,o){if(u)return;let p=f(i,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(p,++s),v(p,o);}function h(i){if(e.coreClient===void 0)throw new Error(`${i}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function f(i,o){let p=i.trim();if(p==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function M(i,o){e.profile!==void 0&&e.profile.getUserProfile(i,{forceRefresh:true}).catch(p=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:p}});});}async function O(i,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(i===""||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 La$1({client:e.coreClient,userId:i,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}}),e.domainState.refreshConversationProfile(i,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:i});}function P(i){switch(i){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function x(i,o){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=i.trim();if(p==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let A=d.get(p);if(o&&A!==void 0)return A;let C=++s;r.set(p,C);let K=g(e.coreClient,{userId:p}).then(ne=>v(p,P(ne?.friend_status),C)).finally(()=>{d.get(p)===K&&d.delete(p);});return d.set(p,K),K}function y(i){return x(i,true)}async function w(i,o){let p=f(i,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),A;try{A=await x(p,!1);}catch(C){return u||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:p,error:C}}}),null}if(u)return null;if(A==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:p}}}),null;if(A!=="friend")return "rejected";b(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,o,Date.now());}catch(C){return u||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:p,error:C}}}),null}return u?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),M(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(i,o)=>e.profile?.getUserProfile(i,o)??Promise.resolve(null),peekProfile:i=>e.profile?.peekUserProfile?.(i)??Promise.resolve(null),setRemark:O,searchUser:i=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Y(e.coreClient,{query:i}).catch(o=>{throw o instanceof V?lp(o):o}).then(o=>{if(o===null)return null;let p=P(o.friendStatus);return b(o.userId,p),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:p,...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:y,requestFriendship:async(i,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 p=f(i,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),A;try{A=await Z(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(K){throw K instanceof W?dp(K):K}let C=up(A.status);return b(p,C==="sent"?"pending":"friend"),C==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),M(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:C,...A.message===void 0?{}:{message:A.message}})},blockUser:async i=>{let o=f(i,"\u52A0\u5165\u9ED1\u540D\u5355");await U(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),b(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}),M(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(i,o)=>{let p=f(i,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),A=o.trim();if(A==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let C=e.getSelfId?.().trim()??"";if(C==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await $(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:C,targetUserId:p,problem:A});},deleteFriendship:async i=>{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=i.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await _(e.coreClient,{userId:o}),b(o,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:o});try{await e.resetDirectReadReceiptPreference?.(o);}catch(p){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:p}});}M(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:i=>c.get(i.trim()),ensureRelationship(i){let o=f(i,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),p=a.get(o);return p!==void 0&&Date.now()-p<m?Promise.resolve(c.get(o)??"unknown"):y(o)},updateRelationshipFromEvent:b,resolveApplicationAnswer:w,dispose:()=>{u=true,s+=1,r.clear(),c.clear(),a.clear(),d.clear();}}}function Nc(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 a=c[0];if(a.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:a.type,conversationId:a.id}}}function Lc(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 a=e.domainState.getConversationContext(c);if(a===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:a.type,targetId:a.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 a=e.domainState.getMessagesByConversation(r),d=a.at(-1)?.id??c.readCursor??"";if(c.type==="direct"||c.type==="robot"){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 ma({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=Ta(a);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.beforeDeleteConversation?.(r),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 go=1,pp=3;function Io(e){return typeof Blob<"u"&&e instanceof Blob}async function Fc(e){return Io(e)?new Uint8Array(await e.arrayBuffer()):e}function Uc(e){async function n(U){return e.connection.sendText(U)}async function r(U){return e.connection.sendContact(U)}async function c(U){return e.connection.forwardMessages(U)}async function a(U){return e.connection.recallMessage(U)}async function d(U){return e.connection.editMessage(U)}async function s(U){return e.connection.sendImage(U)}async function u(U){return e.connection.sendVideo(U)}async function m(U){return e.connection.sendVoice(U)}async function v(U){return e.connection.sendFile(U)}async function b(U){return e.connection.sendMediaAlbum(U)}async function h(U){return e.connection.sendGif(U)}async function f(U){return e.connection.sendExpression(U)}async function M(U){return e.connection.sendGame(U)}async function O(U){return e.connection.sendMiniProgram(U)}async function P(U){return e.connection.sendTransfer(U)}async function x(U){return e.connection.sendGift(U)}async function y(U,g){return e.connection.replaceInterruptedVideo(U,g)}async function w(U,g){return e.connection.replaceInterruptedFile(U,g)}function i(U){e.connection.cancelMedia(U);}function o(U,g){return {url:U.url,...U.expectedBytes===void 0?{}:{expectedBytes:U.expectedBytes},...U.onProgress===void 0&&U.onTransferProgress===void 0?{}:{onProgress:T=>{U.onTransferProgress?.(T),U.onProgress?.(T.percent);}},...U.signal!==void 0?{signal:U.signal}:{},...g?{preferBlob:true}:{}}}async function p(U){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 g=await e.mediaTransfer.download(o(U,false)),T=await Fc(g);return U.teaKey!==void 0&&U.teaKey.length>0&&U.fileEncryptType!==go?e.crypto.decryptSymmetric({teaKey:U.teaKey,cipherData:T}):T}async function A(U){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 g=await e.mediaTransfer.download(o(U,true));if(U.teaKey===void 0||U.teaKey.length===0||U.fileEncryptType===go)return g;let T=U.teaKey;return Io(g)?e.crypto.decryptSymmetricChunked({teaKey:T,cipherData:g,...U.signal===void 0?{}:{signal:U.signal}}):e.crypto.decryptSymmetric({teaKey:T,cipherData:g})}async function C(U){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");if(U.fileEncryptType===pp)return A(U);let g=await e.mediaTransfer.download(o(U,true));if(U.teaKey===void 0||U.teaKey.length===0||U.fileEncryptType===go)return g;let j=U.teaKey;if(!Io(g))return e.crypto.decryptFileSimple({teaKey:j,cipherData:g});if(g.size<=32){let $=e.crypto.decryptFileSimple({teaKey:j,cipherData:await Fc(g)});return new Blob([$],{type:g.type})}let W=new Uint8Array(await g.slice(0,32).arrayBuffer()),B=e.crypto.decryptFileSimple({teaKey:j,cipherData:W});return new Blob([B,g.slice(32)],{type:g.type})}function K(U){e.connection.retryMessage(U);}function ne(U,g){let T={conversationType:"channel",conversationId:U},j=e.domainState.getLoadedMessagesByConversation(T),B=e.domainState.getConversationMessage(T,g)??j.find(E=>Sa$1(E)===g),$=Sa$1(B);if(B===void 0||typeof $!="string"||$.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${U}, input=${g}\uFF09`);return B.id}async function q(U){let g=U.conversationType??e.domainState.getSession(U.conversationId)?.type;if(g==="channel"){let T=ne(U.conversationId,U.readCursor);await e.connection.markRead(U.conversationId,T,"channel");return}await e.connection.markRead(U.conversationId,U.readCursor,U.conversationType),g==="direct"&&await e.prepareDirectReadReceipt?.(U.conversationId);}async function re(U,g){e.connection.reportDirectMediaConsumed?.(U,g),await e.prepareDirectReadReceipt?.(U);}return {operations:{sendText:n,sendContact:r,forwardMessages:c,recallMessage:a,editMessage:d,sendImage:s,sendVideo:u,sendVoice:m,sendFile:v,sendGif:h,sendMediaAlbum:b,sendExpression:f,sendGame:M,sendMiniProgram:O,sendTransfer:P,sendGift:x,replaceInterruptedVideo:y,replaceInterruptedFile:w,cancelMediaUpload:i,loadImage:p,loadVideo:A,loadVoice:p,loadFile:C,retry:K,markRead:q,markDirectMediaConsumed:re}}}function Kc(e){return {...e.operations,get state(){return e.getState()}}}var mp=50,fp=1e3,Qe={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 Ke(e){let n=X({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 gp(e,n){switch(e){case Qe.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Qe.CONTACT_PERMISSION_DENIED:case Qe.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Qe.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Qe.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Qe.ALREADY_GROUP_MEMBER:case Qe.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Qe.GROUP_MEMBER_LIMIT_REACHED:case Qe.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Qe.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Qe.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Qe.OPERATION_FAILED:case Qe.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Qe.GROUP_APPLICATION_UNAVAILABLE_40521:case Qe.GROUP_APPLICATION_UNAVAILABLE_40612:case Qe.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Ip(e){if(e instanceof j$1||e instanceof q)return e.code}function yp(e){return e instanceof k$1||e instanceof r?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function Bc(e,n,r){let c=Ip(r),a=gp(c,e),d=yp(r);return Ke({code:a,category:d.category,operation:n,retryable:d.retryable,cause:r})}function Gc(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function rn(e,n){if(typeof e!="string"&&typeof e!="number")throw Ke({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 Ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function yo(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Ke({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 Hn(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 vp(e,n,r="pending"){return Object.freeze({ref:Hn(e),...n===void 0?{}:{createdAt:n},state:r})}function hp(e){let n=yo(e.createdAt),r=_n(e.applicantAvatar,"contact.applicantAvatar"),c=_n(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Hn({domain:"contact",applicationId:rn(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:rn(e.applicantId,"contact.applicantId"),name:rn(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),message:vo(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Cp(e){if(e.kind!=="request"&&e.kind!=="invite")throw Ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=yo(e.createdAt),r=_n(e.actor.avatarUrl,"group.actor.avatarUrl"),c=_n(e.actor.displayId,"group.actor.displayId"),a=_n(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Hn({domain:"group",applicationId:rn(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:rn(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:rn(e.actor.id,"group.actor.id"),name:rn(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:rn(e.target.id,"group.target.id"),name:rn(e.target.name,"group.target.name"),...a===void 0?{}:{avatarUrl:a}}),message:vo(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function _n(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Ke({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 vo(e,n){if(typeof e!="string"&&typeof e!="number")throw Ke({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 bp(e){let n=yo(e.createdAt),r=_n(e.applicantAvatar,"channel.applicantAvatar"),c=_n(e.applicantDisplayId,"channel.applicantDisplayId"),a=_n(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Hn({domain:"channel",applicationId:rn(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:rn(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:rn(e.applicantId,"channel.applicantId"),name:rn(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:rn(e.channelId,"channel.channelId"),name:rn(e.channelName,"channel.channelName"),...a===void 0?{}:{avatarUrl:a}}),message:vo(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Tt(e){return `${e.domain}:${e.applicationId}`}function Hc(e){let n=false,r=0,c=0,a=new Map,d=new Map,s=new Map;function u(M,O){if(n||!e.isActive()||O!==void 0&&r!==O)throw Ke({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:M,retryable:false})}function m(M){if(u(M),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function v(M,O){let P=[],x=new Set,y;for(let w=0;w<fp;w+=1){let i=await O({limit:mp,...y===void 0?{}:{cursor:y}});if(!Array.isArray(i.items)||typeof i.exhausted!="boolean")throw Ke({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:M,retryable:false});if(P.push(...i.items),i.exhausted)return P;let o=typeof i.nextCursor=="string"?i.nextCursor.trim():"";if(o===""||x.has(o))throw Ke({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:M,retryable:false});x.add(o),y=o;}throw Ke({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:M,retryable:false})}async function b(){let M="applications.listPending",O=m(M),P=r,x=++c;try{let[y,w,i]=await Promise.all([v(M,C=>O.contact.listPendingApplications(C)),v(M,C=>O.group.listPendingApplications(C)),v(M,C=>O.channel.listJoinApplications(C))]);u(M,P);let o=[...y.map(hp),...w.map(Cp),...i.map(bp)],p=new Map;for(let C of o){let K=Tt(C.ref);if(d.has(K))continue;let ne=p.get(K);if(ne!==void 0&&JSON.stringify(ne.ref)!==JSON.stringify(C.ref))throw Ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:M,retryable:!1});(ne===void 0||(C.createdAt??0)>(ne.createdAt??0))&&p.set(K,C);}let A=[...p.values()].sort((C,K)=>{let ne=(K.createdAt??0)-(C.createdAt??0);return ne!==0?ne:Tt(C.ref).localeCompare(Tt(K.ref))});if(x===c){a.clear();for(let C of A)a.set(Tt(C.ref),C);}return Object.freeze(A)}catch(y){throw Gc(y)?y:(u(M,P),Bc("IM_SDK_APPLICATION_LIST_FAILED",M,y))}}function h(M,O){if(u(O),M===null||typeof M!="object")throw Ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});let P=typeof M?.applicationId=="string"?M.applicationId.trim():"";if(P==="")throw Ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});if(M.domain==="contact")return Hn({domain:"contact",applicationId:P});let x=typeof M.conversation?.conversationId=="string"?M.conversation.conversationId.trim():"";if(M.domain==="group"&&M.conversation?.conversationType==="group"&&x!=="")return Hn({domain:"group",applicationId:P,conversation:{conversationType:"group",conversationId:x}});if(M.domain==="channel"&&M.conversation?.conversationType==="channel"&&x!=="")return Hn({domain:"channel",applicationId:P,conversation:{conversationType:"channel",conversationId:x}});throw Ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false})}function f(M,O){let P=O==="accepted"?"applications.accept":"applications.ignore",x=h(M,P),y=Tt(x),w=d.get(y);if(w===O)return Promise.resolve();if(w!==void 0)return Promise.reject(Ke({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:P,retryable:false}));let i=s.get(y);if(i!==void 0)return i.state===O?i.promise:Promise.reject(Ke({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:P,retryable:true}));let o=r,p=Promise.resolve().then(async()=>{try{let C;if(x.domain==="contact"){if(e.contact===void 0)throw Ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:!1});C=O==="accepted"?e.contact.acceptApplication(x.applicationId):e.contact.ignoreApplication(x.applicationId);}else if(x.domain==="group"){if(e.group===void 0)throw Ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:!1});C=O==="accepted"?e.group.acceptApplication(x.applicationId):e.group.ignoreApplication(x.applicationId);}else {if(e.channel===void 0)throw Ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:!1});C=O==="accepted"?e.channel.acceptJoinApplication(x.applicationId):e.channel.ignoreJoinApplication(x.applicationId);}if(await C,u(P,o),O==="accepted"&&x.domain==="contact"){let ne=a.get(y);ne?.kind==="contact-request"&&await e.onContactAccepted?.(ne.applicant.id,x.applicationId);}d.set(y,O);let K=vp(x,a.get(y)?.createdAt,O);a.delete(y),e.emitter.emit({type:"application:updated",application:K});}catch(C){throw Gc(C)?C:(u(P,o),Bc("IM_SDK_APPLICATION_ACTION_FAILED",P,C))}}),A=()=>{s.get(y)?.promise===p&&s.delete(y);};return s.set(y,{state:O,promise:p}),p.then(A,A),p}return {api:{listPending:b,accept:async M=>f(M,"accepted"),ignore:async M=>f(M,"ignored")},dispose(){n||(n=true,r+=1,a.clear(),d.clear(),s.clear());}}}function jn(e,n,r){try{r();}catch(c){let a=c instanceof Error?c.message:String(c);throw a.includes("\u672A\u9274\u6743")?X({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u53EA\u5B9E\u73B0")||a.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?X({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?X({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u6CA1\u6709\u5339\u914D")||a.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?X({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):X({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function jc(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},c;return jn("calls.invite",r,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){jn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){jn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){jn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){jn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){jn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){jn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var ho=18,Mp=12,Sp=300*1e3,Pp=64,zc=Object.freeze([]),Ap=0;function Rp(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Vc(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Sp,c=e.maxCacheEntries??Pp;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 a=++Ap,d=new Map,s=new Map,u=new Map,m=new Map,v=new Map,b=new Map,h=new Map,f=new Set,M=0,O=true,P=S=>m.get(S)??0;function x(){if(!O)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function y(S){if(S.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let _=S.conversationId.trim();if(_==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return _}function w(S){let _=d.get(S);d.delete(S),_?.page.nextPageToken!==void 0&&u.delete(_.page.nextPageToken);}function i(S,_){let L=d.get(S);return L===void 0?null:L.generation!==_||L.expiresAt<=n()?(w(S),null):(d.delete(S),d.set(S,L),L.page)}function o(S,_){for(w(S),d.set(S,_);d.size>c;){let L=d.keys().next().value;if(typeof L!="string")break;w(L);}}function p(S){let _=[],L=new Map;for(let G of S){let Y=G.userId.trim();if(Y==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");L.has(Y)||_.push(Y);let ce=G.displayName.trim()||Y,me=G.avatar?.trim();L.set(Y,Object.freeze({userId:Y,displayName:ce,...me===void 0||me===""?{}:{avatar:me}}));}return Object.freeze(_.map(G=>L.get(G)))}async function A(S,_){let L=await ga(_);return Object.freeze(S.filter(G=>L.match(G.displayName)!==null||L.match(G.userId,{pinyin:false})!==null))}async function C(S,_){let L=await W(S);return L===null?zc:A(L.page.items,_)}function K(S,_){let L=[...S.items],G=new Set(L.map(Y=>Y.userId));for(let Y of _)G.has(Y.userId)||(G.add(Y.userId),L.push(Y));return Object.freeze({...S,items:Object.freeze(L)})}function ne(S,_){let L=S.map(Y=>Y.userId),G=new Map(S.map(Y=>[Y.userId,Y]));for(let Y of _)G.has(Y.userId)||L.push(Y.userId),G.set(Y.userId,Y);return L.map(Y=>G.get(Y))}function q(S,_,L){let G=`im-channel-mention:${a}:${++M}`;for(u.set(G,{...S,generation:_,expiresAt:L});u.size>c;){let Y=u.keys().next().value;if(typeof Y!="string")break;u.delete(Y);}return G}function re(S){let _=S.nextCursor?.trim();if(S.exhausted&&_!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!S.exhausted&&(_===void 0||_===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return _}function U(S,_,L,G){let Y=re(S),ce=Y===void 0?void 0:q({..._,cursor:Y},L,G);return Object.freeze({items:p(S.items),...ce===void 0?{}:{nextPageToken:ce},exhausted:S.exhausted})}function g(){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 T(S,_){let L=v.get(S);for(L?.page.nextPageToken!==void 0&&u.delete(L.page.nextPageToken),v.delete(S),v.set(S,_);v.size>c;){let G=v.keys().next().value;if(G===void 0)break;let Y=v.get(G);Y?.page.nextPageToken!==void 0&&u.delete(Y.page.nextPageToken),v.delete(G);}}function j(S,_){let L=n()+r,G={channelId:S.channelId,kind:"list"},Y=S.nextCursor===void 0?void 0:q({...G,cursor:S.nextCursor},_,L);return {generation:_,updatedAt:S.updatedAt,page:Object.freeze({items:p(S.items),...Y===void 0?{}:{nextPageToken:Y},exhausted:S.exhausted})}}function W(S){x();let _=v.get(S);if(_!==void 0)return Promise.resolve(_);if(f.has(S)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let L=h.get(S);if(L!==void 0)return L;let G=P(S),Y=e.storage.getChannelMentionCandidateSnapshot(S).then(ce=>{if(x(),ce===null||ce.channelId!==S||P(S)!==G||f.has(S))return null;let me=j(ce,G);return T(S,me),me}).finally(()=>{h.get(S)===Y&&h.delete(S);});return h.set(S,Y),Y}function B(S){x();let _=b.get(S);if(_!==void 0)return _;let L=P(S),G=g(),Y=(async()=>{let ce,me=false,fe=[];for(let ue=0;ue<Mp&&!me;ue+=1){let Se=await G.listMentionMembers({channelId:S,limit:ho,...ce===void 0?{}:{cursor:ce}});if(x(),P(S)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ce=re(Se),me=Se.exhausted,fe=ne(fe,Se.items);}let ge=n(),oe={channelId:S,items:fe,...ce===void 0?{}:{nextCursor:ce},exhausted:me,updatedAt:ge};if(P(S)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(oe),x(),P(S)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Te=j(oe,L);return T(S,Te),Te.page})().finally(()=>{b.get(S)===Y&&b.delete(S);});return b.set(S,Y),Y}function $(S,_=false){x();let L=P(S.channelId),G=Rp(S);if(!_){let ge=i(G,L);if(ge!==null)return Promise.resolve(ge)}let Y=s.get(G);if(Y!==void 0&&Y.generation===L)return Y.promise;let ce=g(),me=S.kind==="list"?ce.listMentionMembers({channelId:S.channelId,limit:ho,...S.cursor===void 0?{}:{cursor:S.cursor}}):ce.searchMentionMembers({channelId:S.channelId,query:S.keyword,limit:ho,...S.cursor===void 0?{}:{cursor:S.cursor}}),fe=Promise.resolve(me).then(async ge=>{x();let oe=S.kind==="search"&&S.cursor===void 0?await C(S.channelId,S.keyword):zc;if(x(),P(S.channelId)!==L)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Te=n()+r,ue=U(ge,S,L,Te),Se=oe.length===0?ue:K(ue,oe);return P(S.channelId)===L&&o(G,{channelId:S.channelId,generation:L,expiresAt:Te,page:Se}),Se}).finally(()=>{s.get(G)?.promise===fe&&s.delete(G);});return s.set(G,{generation:L,promise:fe}),fe}function E(S,_){x();let L=u.get(S);if(L===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(L.kind!==_)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${_} \u5206\u9875`);if(L.expiresAt<=n())throw u.delete(S),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(P(L.channelId)!==L.generation)throw u.delete(S),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return L}return {api:{peekFirstPage(S){if(!O)return null;let _=y(S),L=v.get(_);return L===void 0||L.generation!==P(_)?null:(T(_,L),L.page)},peekSearchCandidates(S,_){if(!O)return Object.freeze([]);let L=y(S),G=_.trim().toLocaleLowerCase();if(G==="")return Object.freeze([]);let Y=v.get(L);return Y===void 0||Y.generation!==P(L)?Object.freeze([]):(T(L,Y),Object.freeze(Y.page.items.filter(ce=>ce.displayName.toLocaleLowerCase().includes(G)||ce.userId.toLocaleLowerCase().includes(G))))},async getCachedPage(S,_){let L=y(S),G=await W(L);if(G===null)return null;let Y=_?.trim()??"";if(Y==="")return G.page;let ce=await A(G.page.items,Y);return x(),G.generation!==P(L)?null:Object.freeze({items:ce,exhausted:true})},async prefetchFirstPage(S){let _=y(S),L=await W(_);L!==null&&L.updatedAt+r>n()||await B(_);},async refreshFirstPage(S){return B(y(S))},async listFirstPage(S){let _=y(S),L=v.get(_);if(L!==void 0&&L.generation===P(_))return T(_,L),L.page;let G=await W(_);return G!==null?G.page:B(_)},async listNextPage(S){return $(E(S,"list"))},async searchFirstPage(S,_){let L=y(S),G=_.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:L,kind:"search",keyword:G})},async refreshSearchFirstPage(S,_){let L=y(S),G=_.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:L,kind:"search",keyword:G},true)},async searchNextPage(S){return $(E(S,"search"))}},async invalidate(S){if(!O)return;let _=S.trim();if(_==="")return;m.set(_,P(_)+1),f.add(_);let L=v.get(_);L?.page.nextPageToken!==void 0&&u.delete(L.page.nextPageToken),v.delete(_),b.delete(_),h.delete(_);for(let[G,Y]of d)Y.channelId===_&&w(G);for(let[G,Y]of u)Y.channelId===_&&u.delete(G);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(_),f.delete(_));},clear(){if(!O)return;let S=new Set;for(let _ of d.values())S.add(_.channelId);for(let _ of u.values())S.add(_.channelId);for(let _ of S)m.set(_,P(_)+1);d.clear(),u.clear(),s.clear(),v.clear(),b.clear(),h.clear(),f.clear();},dispose(){O&&(O=false,d.clear(),u.clear(),s.clear(),v.clear(),b.clear(),h.clear(),f.clear());}}}var Ep=20*1024*1024;function yn(e){return X({...e,retryable:e.retryable??false})}function Co(e,n){if(e?.conversationType==="supergroup")throw yn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"&&e?.conversationType!=="robot"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw yn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function wp(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 yn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Tp(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw yn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function qc(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw yn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Tp(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw yn({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 bo(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 _p(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Wc(e){let n=e.maxCustomImageBytes??Ep,r=false,c=0,a,d;async function s(m,v){try{return await v(wp(e.storage,m))}catch(b){throw typeof b=="object"&&b!==null&&"code"in b?b:yn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:m,cause:b})}}return {api:{async getBackground(m){let v="conversations.getBackground",b=Co(m,v);return s(v,async h=>{let f=await h.getConversationBackground(b);if(f!==null)return Object.freeze({source:"conversation",selection:bo(f)});let M=await h.getDefaultConversationBackground();return Object.freeze(M===null?{source:"builtin",selection:null}:{source:"default",selection:bo(M)})})},async setBackground(m,v){let b="conversations.setBackground",h=Co(m,b),f=await qc(v,b,n);await s(b,M=>M.saveConversationBackground(h,f));},async resetBackground(m){let v="conversations.resetBackground",b=Co(m,v);await s(v,h=>h.deleteConversationBackground(b));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async v=>{let b=await v.getDefaultConversationBackground();return Object.freeze(b===null?{source:"builtin",selection:null}:{source:"default",selection:bo(b)})})},async setDefaultBackground(m){let v="conversations.setDefaultBackground",b=await qc(m,v,n);await s(v,h=>h.saveDefaultConversationBackground(b));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",v=>v.deleteDefaultConversationBackground());},listBackgroundPresets(m){let v="conversations.listBackgroundPresets";if(r)return Promise.reject(yn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:v}));if(!m?.forceRefresh&&a!==void 0)return Promise.resolve(a);if(!m?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(yn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:v}));let b=++c,h=ga$1(e.coreClient).then(f=>{let M=Object.freeze(f.map(_p));return !r&&b===c&&(a=M),M}).catch(f=>{throw yn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:v,retryable:true,cause:f})}).finally(()=>{b===c&&(d=void 0);});return d=h,h}},dispose(){r=true,c+=1,a=void 0,d=void 0;}}}var Mo=2;async function Dp(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,c,a,d;for(let m=0;m<=Mo;m+=1){e.signal?.throwIfAborted();let v=await e.loadReadCursorPage(c);if(e.signal?.throwIfAborted(),v===void 0)break;if(a!==void 0&&a!==v.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");a=v.readCursorSortKey,d=v;for(let f of v.messages){if(f.conversationId!==e.conversation.conversationId||f.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(f.id,f);}let b=[...n.values()].sort(m$1),h=it(b,e.selfId,a).unreadMessages;if(fr(h)&&v.exhausted)return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(h.some(f=>f.contentType!=="system")||v.exhausted||v.nextCursor===void 0||v.nextCursor===c||r.has(v.nextCursor))break;r.add(v.nextCursor),c=v.nextCursor;}let s=[...n.values()].sort(m$1),u=it(s,e.selfId,a).unreadMessages[0];return u!==void 0&&d!==void 0?(await e.openAt(u.sortKey,{messages:s,hasNewer:!d.exhausted,...d.nextCursor===void 0?{}:{nextCursor:d.nextCursor}}),e.signal?.throwIfAborted(),So(u.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function fr(e){return e.length>0&&e.every(n=>n.contentType==="system")}function kp(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function it(e,n,r){let c=[];for(let a of e)!kp(a)||r!==void 0&&a.sortKey<=r||ma$1(a,n)&&c.push(a);return {unreadMessages:c}}function So(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function $c(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return Dp(e);if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let a=it(e.list(),e.selfId,e.readCursorSortKey);for(let s=0;(a.unreadMessages.length<e.unreadCount||fr(a.unreadMessages))&&e.hasNewer()&&s<Mo;s+=1)await e.loadNewer(),a=it(e.list(),e.selfId,e.readCursorSortKey);if(a.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});if(!e.hasNewer()&&fr(a.unreadMessages))return await e.openLatest(),Object.freeze({state:"none"});let d=a.unreadMessages[0];return d===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(d.sortKey),So(d.id,e.unreadCount))}await e.openLatest();let n=it(e.list(),e.selfId,void 0);for(let a=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&a<Mo;a+=1)await e.loadOlder(),n=it(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let r=n.unreadMessages.slice(-e.unreadCount);if(fr(r))return await e.openLatest(),Object.freeze({state:"none"});let c=r[0];return c===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(c.sortKey),So(c.id,e.unreadCount))}function _t(e){if(e===void 0||e.length===0)return;let n=false,r=[],c={},a=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}a.has(d.userId)||(a.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 Op(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function xp(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Jc(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=[],a=[],d;for(let s of xp(n)){if(!e.isCurrent()){a.push(...s);continue}try{let u=await e.fetchBatch(s);if(!e.isCurrent()){a.push(...s);continue}let m=new Set(u.messages.map(b=>b.id)),v=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),c.push(...u.missingMessageIds);for(let b of s)!m.has(b)&&!v.has(b)&&a.push(b);}catch(u){a.push(...s),d=Op(u);}}return {messages:r,missingMessageIds:c,unresolvedMessageIds:a,...d===void 0?{}:{failure:d}}}var Ao=new WeakMap;function gr(e,n){let r=Ao.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Ao.set(e,r);}var Np={"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}},Lp={"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}},Yc={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},restricted:{code:"IM_SDK_REACTION_FORBIDDEN",category:"permission",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},Xc={"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 Qc(e,n,r){let c=X({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function Fp(e,n){let r=X({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 Up=3*1024*1024,Po=200*1024*1024,Zc=2*1024*1024*1024,ed=30*1024*1024,nd=4294967295,Kp=6,Bp=16*1024,Gp=300;async function Hp(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 jp={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"album-item-not-found":{code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",retryable:false},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function Ir(e,n,r,c,a={},d={}){d.signal?.throwIfAborted();let s=Object.freeze({...e}),u=n.pageSize??30,m=n.domainState.createMessageWindow({retention:{maxMessages:u*Kp},...a.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(I,R)=>a.shouldEstablishRemoteLatestOnOpen?.(R)===true}}),v=new Set,b=new Set,h=new Map,f,M,O=false,P=false,x=false,y=true,w=0,i=Object.freeze({state:"none"}),o=new AbortController,p=new WeakMap,A;function C(){if(P)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function K(){let I=m.window.info();return {messages:m.window.list(),context:n.domainState.getConversationContext(s),draft:n.domainState.getDraft(s),loading:h.size>0,stale:O,hasOlder:I.hasMore,hasNewer:I.hasNewer,error:M,entryUnread:i}}function ne(I,R){return I.length===R.length&&I.every((k,H)=>k===R[H])}function q(I,R){return ne(I.messages,R.messages)&&(I.context?.title??"")===(R.context?.title??"")&&(I.context?.avatar??"")===(R.context?.avatar??"")&&I.draft===R.draft&&I.loading===R.loading&&I.stale===R.stale&&I.hasOlder===R.hasOlder&&I.hasNewer===R.hasNewer&&I.error===R.error&&I.entryUnread===R.entryUnread}function re(I){let R=p.get(I);if(R!==void 0)return R;let k=rr(I);return p.set(I,k),k}function U(I){let R=I.context;return {ref:s,...R===void 0?{}:{display:Object.freeze({title:R.title,...R.avatar===void 0?{}:{avatar:R.avatar}})},messages:Object.freeze(I.messages.map(re)),entryUnread:I.entryUnread,draft:I.draft,loading:I.loading,stale:I.stale,hasOlder:I.hasOlder,hasNewer:I.hasNewer,...I.error===void 0?{}:{error:I.error}}}function g(){return C(),U(K())}function T(){let I=K();if(A!==void 0&&q(A,I))return;A=I;let R=U(I);for(let k of v)try{k(R);}catch(H){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}async function j(I){let R=m.window.list().find(Ae=>Ae.id===I)??n.domainState.getConversationMessage(s,I);if(R!==void 0)return {anchor:R};let k=n.domainState.getPinnedMessage(s),H=k?.messageId===I&&k.preview.state==="ready"?k.preview.message:void 0;if(H!==void 0)return {anchor:H,fallbackSeed:H};let ie=n.resolveSearchHistoryAnchor?.(s,I);if(ie!==void 0)return {anchor:ie};let ve=await n.domainState.resolveConversationMessage(s,I);return ve===void 0?void 0:{anchor:ve}}function W(I,R){if(C(),f!==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 k=h.get(I);if(k!==void 0)return k;let H=n.beginReceiving?.();M=void 0;let ie=Promise.resolve().then(R).then(ve=>a.reconcilePage===void 0?ve:a.reconcilePage(ve,m.window)).then(ve=>{C(),O=ve.stale===true;}).catch(ve=>{let Ae=ve instanceof Ia$1?ve.cause:ve;throw P||(M=En(Ae,`history.${I}`,s)),y?ve:Ae}).finally(()=>{H?.(),h.delete(I),P||T();});return h.set(I,ie),T(),ie}function B(){m.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-u));}async function $(){x?x=false:await W("latest",()=>m.window.open(s,{limit:u})),B(),a.shouldEstablishRemoteLatestOnOpen?.(m.window.list())===true&&(await W("latest:remote",()=>m.window.loadOlder({limit:u})),B());}async function E(){let I=n.domainState.getSession(s),R=Math.max(0,I?.manuallyUnread===true?0:I?.unreadCount??0),k=n.domainState.getReadState(s),H=k?.readCursor,ve=(H===void 0||H===""?void 0:s.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(s).find(Ae=>Ae.extensions?.historyCursor===H):n.domainState.getConversationMessage(s,H))?.sortKey??k?.readCursorSortKey;i=await $c({conversation:s,pageSize:u,unreadCount:R,...ve===void 0?{}:{readCursorSortKey:ve},signal:o.signal,...s.conversationType!=="channel"||H===void 0||H===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Ae=>{let _e=m.window.getRevision(),Ee=()=>!P&&!o.signal.aborted&&m.window.getRevision()===_e,Be=await n.loadEntryUnreadPage({readCursor:H,...Ae===void 0?{}:{cursor:Ae},signal:o.signal,isCurrent:Ee});if(o.signal.throwIfAborted(),!Ee())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Be}},selfId:n.getSelfId(),list:()=>m.window.list(),hasOlder:()=>m.window.info().hasMore,hasNewer:()=>m.window.info().hasNewer,openLatest:$,openAt:(Ae,_e)=>{x=false;let Ee=_e?.messages.map(Mn=>n.domainState.getConversationMessage(s,Mn.id)??Mn),Be=_e?.messages.find(Mn=>Mn.sortKey===Ae)?.id,dn=Be===void 0?Ae:Ee?.find(Mn=>Mn.id===Be)?.sortKey??Ae;return W(`entry-unread:${Ae}`,()=>m.window.openAt(s,{anchorSortKey:dn,limit:u,..._e===void 0?{}:{seedMessages:Ee,seedHasNewer:_e.hasNewer,seedRemotePagination:_e.nextCursor===void 0?{}:{newerCursor:_e.nextCursor}}}))},loadOlder:()=>W("entry-unread:older",()=>m.window.loadOlder({limit:u})),loadNewer:()=>W("entry-unread:newer",()=>m.window.loadNewer({limit:u}))});}let N=n.emitter.subscribe(I=>{if(!(P||!("conversation"in I)||I.conversation===void 0)&&!(I.conversation.conversationType!==s.conversationType||I.conversation.conversationId!==s.conversationId)){if((I.type==="conversation-history:cleared"||I.type==="session:removed")&&o.abort(),I.type==="draft:updated"||I.type==="draft:cleared"){let R=I.type==="draft:updated"?I.draft:null;for(let k of b)try{k(R);}catch(H){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}T();}});function S(){return d.initialPosition==="first-unread"?E():$()}let _=()=>{o.abort(d.signal?.reason),m.dispose();};d.signal?.addEventListener("abort",_,{once:true});try{if(d.signal?.throwIfAborted(),d.initialLoad==="local-first"){await W("initial:local",()=>m.window.open(s,{limit:u})),d.signal?.throwIfAborted(),B(),x=!0;try{await S();}catch(I){if(d.signal?.throwIfAborted(),I instanceof Ia$1)throw I;M=En(I,"history.initial",s),d.initialPosition==="first-unread"&&(i=Object.freeze({state:"unavailable"}));}finally{x=!1;}}else await S();d.signal?.throwIfAborted();}catch(I){throw P=true,N(),v.clear(),m.dispose(),I instanceof Ia$1?I.cause:I}finally{o.abort(),d.signal?.removeEventListener("abort",_);}y=false;function L(I,R){let k=n.domainState.getMessage(I);return k!==void 0&&k.conversationType===s.conversationType&&k.conversationId===s.conversationId?{ok:true,message:rt(k)}:{ok:false,error:X({code:k===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:s})}}async function G(I,R,k){let H=await a.getSendPermissionError?.(I);if(C(),H!==void 0){if(k===void 0)return {ok:false,error:H};let ie=await k(H);return C(),ie}try{let ie=await R();return C(),ie}catch(ie){if(P)throw ie;return {ok:false,error:En(ie,I,s)}}}async function Y(I,R={}){let k="name"in I?I.name:void 0,H=R.fileName??(typeof k=="string"&&k!==""?k:void 0);return {...s,data:I,...I.type===""?{}:{mimeType:I.type},...H===void 0?{}:{filename:H},...s.conversationType==="robot"?{encrypted:false}:{},...R.localPreviewUrl===void 0?{}:{localPreviewUrl:R.localPreviewUrl},...R.localPreviewMetadata===void 0?{}:{localPreviewMetadata:R.localPreviewMetadata},...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}}}function ce(I){return I===void 0||Number.isFinite(I.width)&&I.width>0&&Number.isFinite(I.height)&&I.height>0}function me(I){return ce(I)&&(I?.duration===void 0||Number.isFinite(I.duration)&&I.duration>0)&&(I?.posterData===void 0||I.posterData instanceof Uint8Array&&I.posterData.length>0&&I.posterData.length<=Bp)}function fe(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&I.duration>Gp}function ge(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&Number.isFinite(I.duration)&&I.duration>0}function oe(I,R,k){return {ok:false,error:X({code:I,category:R,operation:k,retryable:false,conversation:s})}}function Te(I,R){if(I===null||typeof I!="object"||I.kind!==R||!Number.isSafeInteger(I.width)||I.width<=0||I.width>nd||!Number.isSafeInteger(I.height)||I.height<=0||I.height>nd)return false;let k;try{k=new URL(I.url);}catch{return false}if(k.protocol!=="http:"&&k.protocol!=="https:"||k.username!==""||k.password!=="")return false;let H=I.resourceId;if(H!==void 0&&(typeof H!="string"||H.trim()===""))return false;if(R==="gif")return !Object.prototype.hasOwnProperty.call(I,"packageId");let ie=I.packageId;return typeof H=="string"&&H.trim()!==""&&typeof ie=="string"&&ie.trim()!==""}function ue(I){return Object.assign(new Error(I.code),I,{name:"ImMessageActionError"})}function Se(I,R,k){if(I==="direct"||I==="group"||I==="channel"||I==="robot")return Object.freeze({conversationType:I,conversationId:R});throw ue(X({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:k,retryable:false,conversation:s,details:{targetConversationType:I,targetConversationId:R}}))}async function Ue(I,R,k){let H;try{H=await n.forwardMessages({messages:R,targets:k.map(ie=>({...ie}))});}catch(ie){throw ue(En(ie,I,s))}return C(),Object.freeze({sent:Object.freeze(H.results.flatMap(ie=>ie.ok?[{conversation:Se(ie.targetConversationType,ie.targetConversationId,I),messageId:ie.newMessageId}]:[])),failed:Object.freeze(H.results.flatMap(ie=>ie.ok?[]:[{sourceMessageId:ie.sourceMessageId,conversation:Object.freeze({conversationType:ie.targetConversationType,conversationId:ie.targetConversationId}),error:X({...jp[ie.reason],operation:I,conversation:{conversationType:ie.targetConversationType,conversationId:ie.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...H.skippedSourceIds])})}function Oe(I,R){let k=n.domainState.getConversationMessage(s,I);if(k===void 0){let H=n.domainState.getMessage(I);throw ue(X({code:H===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:s}))}if(k.conversationType!==s.conversationType||k.conversationId!==s.conversationId)throw ue(X({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:s}));return k}function Xe(I,R){return ue(X({...R,operation:I,conversation:s}))}function On(I,R){let k=X({code:I,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...R===void 0?{}:{cause:R}});return Object.assign(new Error(I),k,{name:"ImLocalMessageDeletionError"})}function xn(I,R){let k=X({code:I,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...R===void 0?{}:{cause:R}});return Object.assign(new Error(I),k,{name:"ImLocalConversationHistoryClearError"})}function kt(){if(P)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(f!==void 0)return f;n.invalidateHistory?.(s);let I=[...h.values()],R=Promise.all(I).then(async()=>{C();let k=[...n.domainState.getMessagesByConversation(s),...m.window.list()];if(n.hasOutboxForConversation(s)||k.some(H=>n.isOutboxOwned(H.id)))throw xn("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(k.some(H=>H.status==="pending"||H.status==="uploading"||H.status==="sending"))throw xn("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),C(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(k=>{throw k instanceof Error&&k.name==="ImLocalConversationHistoryClearError"?k:xn("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",k)}).finally(()=>{f===R&&(f=void 0);});return f=R,R}async function on(I,R){if(I!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,I);}catch(k){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${R}\uFF09`,cause:k}});}}async function ze(I,R,k,H,ie){return G(I,async()=>{if(R==="image"){let Ee=await or(k);if(C(),!Ee)return oe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",I)}let ve=await Y(k,H);if(C(),R!==void 0&&ve.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ee=new AbortController,Be=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${I}:${++w}`,kind:R,file:k,signal:Ee.signal});if(C(),Be===void 0||(R==="image"?!ce(Be):!me(Be)))return oe(R==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);ve.localPreviewMetadata=Be;}if(R==="video"&&(n.prepareMediaPreview!==void 0||ve.localPreviewMetadata!==void 0)&&!ge(ve.localPreviewMetadata))return oe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(R==="video"&&fe(ve.localPreviewMetadata))return oe("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let Ae=a.recheckSendPermissionError?.(I);if(Ae!==void 0)return {ok:!1,error:Ae};let _e=await ie({...ve,...H.filesAlbum===void 0?{}:{filesAlbum:H.filesAlbum},...H.caption===void 0||H.caption===""?{}:{caption:H.caption}});return _e.ok?(C(),L(_e.messageId,I)):{ok:!1,error:St(_e.reason,I,s)}})}async function Ot(I,R){let k="messages.sendMediaAlbum";if(I.length===0)return oe("IM_SDK_MEDIA_ALBUM_EMPTY","validation",k);if(I.length>q$1)return oe("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",k);if(R.caption!==void 0&&R.caption.length>p$1)return oe("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",k);for(let H of I){if(H.file.type==="image/gif")return oe("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",k);if(H.kind==="image"){if(H.file.size>ed)return oe("IM_SDK_IMAGE_TOO_LARGE","validation",k);if(!ce(H.localPreviewMetadata))return oe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",k)}else {if(H.file.size>Po)return oe("IM_SDK_VIDEO_TOO_LARGE","validation",k);if(!me(H.localPreviewMetadata))return oe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",k);if(fe(H.localPreviewMetadata))return oe("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",k)}}return G(k,async()=>{for(let _e of I){if(_e.kind!=="image")continue;let Ee=await or(_e.file);if(C(),!Ee)return oe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",k)}let H=await Promise.all(I.map(async _e=>{if(_e.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return _e.localPreviewMetadata;let Ee=new AbortController;return n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${k}:${++w}`,kind:_e.kind,file:_e.file,signal:Ee.signal})}));C();let ie=[];for(let[_e,Ee]of I.entries()){let Be=H[_e];if(Ee.kind==="image"&&!ce(Be))return oe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",k);if(Ee.kind==="video"){if(!me(Be))return oe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",k);if(n.prepareMediaPreview!==void 0&&!ge(Be))return oe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",k);if(fe(Be))return oe("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",k)}let dn="name"in Ee.file?Ee.file.name:void 0;ie.push({kind:Ee.kind,data:Ee.file,...Ee.file.type===""?{}:{mimeType:Ee.file.type},...typeof dn=="string"&&dn!==""?{filename:dn}:{},...Ee.localPreviewUrl===void 0?{}:{localPreviewUrl:Ee.localPreviewUrl},...Be===void 0?{}:{localPreviewMetadata:Be}});}let ve=a.recheckSendPermissionError?.(k);if(ve!==void 0)return {ok:!1,error:ve};let Ae=await n.sendMediaAlbum({...s,items:ie,...R.caption===void 0||R.caption.trim()===""?{}:{caption:R.caption},...R.hd===void 0?{}:{hd:R.hd},...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return Ae.ok?(C(),L(Ae.messageId,k)):{ok:!1,error:St(Ae.reason,k,s)}})}function dt(I,R,k){let H=Oe(I,k);if(!(H.contentType===R||R==="file"&&H.contentType==="filesAlbum"&&H.body.filesAlbum?.items.length===1)||H.status!=="failed"||!(H.failure?.displayCode==="media.uploadInterrupted"||H.failure?.displayCode==="media.cancelled"||H.failure?.displayCode==="media.uploadTimeout"&&H.failure.retryable===false)||n.isOutboxOwned(I))throw ue(X({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:k,retryable:false,conversation:s}));return H}async function un(I,R,k,H,ie,ve){return dt(R,k,I),G(I,async()=>{let Ae=await Y(H,ie);if(k==="video"&&Ae.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Be=new AbortController,dn=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${I}:${++w}`,kind:"video",file:H,signal:Be.signal});if(C(),dn===void 0||!me(dn))return oe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);Ae.localPreviewMetadata=dn;}if(k==="video"&&(n.prepareMediaPreview!==void 0||Ae.localPreviewMetadata!==void 0)&&!ge(Ae.localPreviewMetadata))return oe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(fe(Ae.localPreviewMetadata))return oe("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let _e=a.recheckSendPermissionError?.(I);if(_e!==void 0)return {ok:!1,error:_e};dt(R,k,I);let Ee=await ve(R,{...Ae,...ie.caption===void 0||ie.caption===""?{}:{caption:ie.caption}});return Ee.ok?(C(),L(Ee.messageId,I)):{ok:!1,error:St(Ee.reason,I,s)}})}let sn={ref:s,getSnapshot:g,subscribe(I){return C(),v.add(I),()=>v.delete(I)},resolveMessage:async I=>{C();let R=m.window.list().find(k=>k.id===I)??await n.domainState.resolveConversationMessage(s,I);return R===void 0?null:re(R)},history:{loadLatest:async()=>{C(),await $(),C(),T();},loadOlder:async()=>(C(),W("older",()=>m.window.loadOlder({limit:u}))),loadNewer:async()=>{C(),await W("newer",()=>m.window.loadNewer({limit:u})),C(),m.window.info().hasNewer||(B(),T());},loadAround:async I=>{C();let R=await j(I);if(R===void 0||R.anchor.conversationType!==s.conversationType||R.anchor.conversationId!==s.conversationId)throw Fp(s,I);let{anchor:k}=R;await W(`around:${I}`,async()=>{let H=await m.window.openAt(s,{anchorSortKey:k.sortKey,limit:u});return m.window.list().some(ie=>ie.id===I)||R.fallbackSeed===void 0?H:m.window.openAt(s,{anchorSortKey:k.sortKey,limit:u,seedMessages:[R.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(C(),kt())},messages:{sendText:async(I,R={})=>{C();let k=r(s,I,R);if("code"in k)return {ok:false,error:k};let H=n.domainState.getDraft(s)?.updatedAt;return G("messages.sendText",async()=>{let ie=await n.sendText(k);return C(),await on(H,"messages.sendText"),L(ie.id,"messages.sendText")},async ie=>{let ve=a.appendTextPermissionFailure?.(k);return ve===void 0?{ok:false,error:ie}:(await on(H,"messages.sendText"),{ok:true,message:rt(ve)})})},sendContact:async(I,R={})=>{C();let k=I.targetId.trim(),H=I.displayName.trim();if(k===""||H==="")return {ok:false,error:X({code:k===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let ie={...s,contact:{...I,targetId:k,displayName:H},encrypted:s.conversationType!=="direct"&&s.conversationType!=="robot",...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}};return G("messages.sendContact",async()=>{let ve=await n.sendContact(ie);return L(ve.id,"messages.sendContact")})},sendImage:async(I,R={})=>(C(),I.size>ed?oe("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):R.caption!==void 0&&R.caption!==""?oe("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):ce(R.localPreviewMetadata)?ze("messages.sendImage","image",I,R,n.sendImage):oe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(I,R={})=>(C(),Ot(I,R)),sendVideo:async(I,R={})=>(C(),I.size>Po?oe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):me(R.localPreviewMetadata)?ze("messages.sendVideo","video",I,R,n.sendVideo):oe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(I,R,k={})=>(C(),R.size>Po?oe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):me(k.localPreviewMetadata)?un("messages.replaceInterruptedVideo",I,"video",R,k,n.replaceVideo):oe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(I,R)=>(C(),G("messages.sendVoice",async()=>{let k=await Y(I,R),H=a.recheckSendPermissionError?.("messages.sendVoice");if(H!==void 0)return {ok:!1,error:H};let ie=await n.sendVoice({...k,durationMs:R.durationMs,...R.waveform===void 0?{}:{waveform:[...R.waveform]}});return ie.ok?(C(),L(ie.messageId,"messages.sendVoice")):{ok:!1,error:St(ie.reason,"messages.sendVoice",s)}})),sendFile:async(I,R={})=>{if(C(),I.size>Zc)return oe("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(R.caption!==void 0&&R.caption.length>p$1)return oe("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let k=R.fileName??("name"in I?I.name:void 0);return typeof k!="string"||k.trim()===""?oe("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):ze("messages.sendFile",void 0,I,R,n.sendFile)},sendGif:async(I,R={})=>(C(),I.size>Up?oe("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Hp(I)?ze("messages.sendGif",void 0,I,R,k=>n.sendGif(k)):oe("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(I,R={})=>(C(),Te(I,"sticker")?G("messages.sendSticker",async()=>{let k=await n.sendExpression({...s,asset:I,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendSticker")}):oe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(I,R={})=>(C(),Te(I,"gif")?G("messages.sendGifAsset",async()=>{let k=await n.sendExpression({...s,asset:I,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendGifAsset")}):oe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(I,R={})=>(C(),I!=="rock-paper-scissors"&&I!=="dice"?oe("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):G("messages.sendGame",async()=>{let k=await n.sendGame({...s,gameType:I,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendGame")})),sendMiniProgram:async(I,R={})=>(C(),t$1(I)?G("messages.sendMiniProgram",async()=>{let k=await n.sendMiniProgram({...s,miniProgram:I,encrypted:s.conversationType!=="direct"&&s.conversationType!=="robot",...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendMiniProgram")}):oe("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(I,R={})=>(C(),s.conversationType==="channel"||s.conversationType==="robot"?oe("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(I)?G("messages.sendTransfer",async()=>{let k=await n.sendTransfer({...s,transfer:I,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendTransfer")}):oe("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(I,R={})=>(C(),s.conversationType==="channel"||s.conversationType==="robot"?oe("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):o$1(I)?G("messages.sendGift",async()=>{let k=await n.sendGift({...s,gift:I,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return L(k.id,"messages.sendGift")}):oe("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(I,R)=>{C(),Oe(I,"messages.toggleReaction");let k=await n.setReaction({conversation:s,parentMessageId:I,emoji:R,action:"toggle"});if(C(),!k.ok)throw Xe("messages.toggleReaction",Yc[k.reason]);return Object.freeze({messageId:I,eventId:k.event.id,emoji:k.event.emoji,action:k.event.action===0?"add":"remove"})},setReaction:async(I,R,k)=>{C(),Oe(I,"messages.setReaction");let H=await n.setReaction({conversation:s,parentMessageId:I,emoji:R,action:k});if(C(),!H.ok)throw Xe("messages.setReaction",Yc[H.reason]);return Object.freeze({messageId:I,eventId:H.event.id,emoji:H.event.emoji,action:H.event.action===0?"add":"remove"})},replaceInterruptedFile:async(I,R,k={})=>{if(C(),R.size>Zc)return oe("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(k.caption!==void 0&&k.caption!=="")return oe("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let H=k.fileName??("name"in R?R.name:void 0);return typeof H!="string"||H.trim()===""?oe("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):un("messages.replaceInterruptedFile",I,"file",R,{...k,fileName:H},n.replaceFile)},editText:async(I,R,k={})=>{C(),Oe(I,"messages.editText");let H=c(s,I,R,k);if("code"in H)throw ue(H);let ie;try{ie=await n.editMessage(H);}catch(ve){throw ue(En(ve,"messages.editText",s))}if(C(),!ie.ok)throw Xe("messages.editText",Lp[ie.reason]);return rt(Oe(I,"messages.editText"))},recall:async I=>{C(),Oe(I,"messages.recall");let R;try{R=await n.recallMessage({...s,messageId:I});}catch(k){throw ue(En(k,"messages.recall",s))}if(C(),!R.ok)throw Xe("messages.recall",Np[R.reason])},deleteLocal:async I=>{C();let R=n.domainState.getConversationMessage(s,I);if(n.isOutboxOwned(I))throw On("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(R!==void 0&&R.conversationType===s.conversationType&&R.conversationId===s.conversationId&&(R.status==="pending"||R.status==="uploading"||R.status==="sending"))throw On("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(s);let k=await n.domainState.deleteLocalMessage(s,I);return C(),Object.freeze({scope:"local-only",messageId:I,deleted:k,remoteHistory:"remote-history-may-restore"})}catch(k){throw k instanceof Error&&k.name==="ImLocalMessageDeletionError"?k:On("IM_SDK_LOCAL_DELETE_FAILED",k)}},forward:async(I,R)=>{if(C(),I.length===0||R.length===0)throw ue(X({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));return Ue("messages.forward",I.map(k=>({id:k,...s})),R)},forwardMediaAlbumItem:async(I,R,k)=>{C();let H="messages.forwardMediaAlbumItem";if(I.trim()===""||k.length===0)throw ue(X({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:H,retryable:false,conversation:s}));if(!Number.isInteger(R)||R<0)throw ue(X({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:H,retryable:false,conversation:s,details:{itemIndex:R}}));return Ue(H,[{id:I,...s,itemIndex:R}],k)},fetchByIds:async I=>{C();let R=n.fetchMessagesByIdBatch;if(R===void 0)throw ue(X({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:s}));let k=n.beginReceiving?.();try{let H=await Jc({messageIds:I,fetchBatch:R,isCurrent:()=>!P,projectMessage:re});return Object.freeze({messages:Object.freeze([...H.messages]),missingMessageIds:Object.freeze([...H.missingMessageIds]),unresolvedMessageIds:Object.freeze([...H.unresolvedMessageIds]),...H.failure===void 0?{}:{failure:Object.freeze(H.failure)}})}finally{k?.();}}},draft:{get:async()=>(C(),n.drafts.get(s)),save:async I=>(C(),n.drafts.save(s,I)),clear:async()=>{C(),await n.drafts.clear(s);},subscribe(I){return C(),b.add(I),()=>b.delete(I)}},markRead:async I=>{C();let R=m.window.list();if(I!==void 0&&!R.some(H=>H.id===I))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${I}`);let k=a.resolveReadMessageId===void 0?I??R.at(-1)?.id:a.resolveReadMessageId(R,I);k!==void 0&&await n.markRead({...s,readCursor:k});},setMuted:async I=>(C(),n.setMuted(s,I)),close(){P||(P=true,N(),v.clear(),b.clear(),m.dispose());}};return Ao.set(sn,{getMessages:()=>(C(),m.window.list()),resolveMessage:async I=>(C(),m.window.list().find(R=>R.id===I)??n.domainState.resolveConversationMessage(s,I))}),sn}var zp=5e3;async function rd(e,n,r={}){let c=false,a,d;function s(){let b=Date.now();if(a!==void 0&&b-a.checkedAt<zp)return Promise.resolve(a.value);if(d!==void 0)return d;let h=n.getRelationship(e.conversationId).then(f=>(a={value:f,checkedAt:Date.now()},f)).catch(f=>(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:f}}),a={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===h&&(d=void 0);});return d=h,h}async function u(b){if(!n.shouldCheckRelationship())return;let h=await s();if(h!=="friend"){if(h==="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:h}}}));return}return X({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:b,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&s();let m=await Ir(e,n,(b,h,f)=>f.mentions!==void 0&&f.mentions.length>0?X({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:b}):{...b,text:h,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(b,h,f,M)=>M.mentions!==void 0&&M.mentions.length>0?X({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:b}):{...b,messageId:h,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),v={...m,messages:{...m.messages,async markMediaConsumed(b){let h=n.domainState.getConversationMessage(e,b);if(h===void 0||h.senderId===n.getSelfId()||h.contentType!=="voice"&&h.contentType!=="video"){let f=X({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(f.code),f)}await n.markDirectMediaConsumed(e.conversationId,b);}}};return gr(v,m),v}async function od(e,n,r={}){return Ir(e,n,(c,a,d)=>{let s=_t(d.mentions);return {...c,text:a,encrypted:true,...s===void 0?{}:{mention:s},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,a,d,s)=>{let u=_t(s.mentions);return {...c,messageId:a,text:d,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>r.initialPosition==="first-unread"&&n.domainState.getConversationContext(e)!==void 0&&id(c,n.pageSize??30)},r)}async function ad(e,n,r={}){return Ir(e,n,(c,a,d)=>d.mentions!==void 0&&d.mentions.length>0?X({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:c}):{...c,text:a,encrypted:false,...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}},(c,a,d,s)=>s.mentions!==void 0&&s.mentions.length>0?X({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:c}):{...c,messageId:a,text:d},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Vp=new Set(["pending","uploading","sending"]);function id(e,n){return e.length<n}function td(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function qp(e,n,r){let c=r===void 0?e.length-1:e.findIndex(s=>s.id===r),a=e[c];if(a===void 0||td(a))return a?.id;let d=e.slice(0,c).findLast(s=>td(s));return d!==void 0?d.id:a.senderId===n&&Vp.has(a.status)?void 0:a.id}function Wp(e,n){let r=false;for(let c of e){let a=c.body.system;if(!(c.conversationType!=="channel"||a?.targetUserIds?.includes(n)!==true)){if(a.eventType==="channel_member_left"||a.eventType==="channel_member_removed"){r=true;continue}if(r&&(a.eventType==="channel_member_joined"||a.eventType==="channel_member_invited"))return true}}return false}async function sd(e,n,r={}){let c=await Ir(e,n,(d,s,u)=>{let m=_t(u.mentions);return {...d,text:s,encrypted:true,...m===void 0?{}:{mention:m},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(d,s,u,m)=>{let v=_t(m.mentions);return {...d,messageId:s,text:u,...v===void 0?{}:{mention:v}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>r.initialPosition==="first-unread"&&n.domainState.getConversationContext(e)!==void 0&&id(d,n.pageSize??30)||Wp(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,s)=>qp(d,n.getSelfId(),s)},r),a={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw Qc(e,Xc["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:d});}catch(m){let v=En(m,"messages.deleteForEveryone",e);throw Object.assign(new Error(v.code,{cause:m}),v)}if(!u.ok)throw Qc(e,Xc[u.reason])}}};return gr(a,c),a}var $p=40,Jp=100,Yp=0;function Dn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Xp(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function cd(e){let n=++Yp,r=new Map,c=new Map,a=new Map,d=new Map,s=new Map,u=0,m=true;function v(){if(!m)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function b(y){let w=y??$p;if(!Number.isSafeInteger(w)||w<1||w>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return w}function h(y){let w=`im-directory:${n}:${++u}`;return r.set(w,y),w}function f(y,w){let i=s.get(y);i===void 0&&(i=new Map,s.set(y,i));let o=w.map(p=>Object.freeze({...p}));for(let p of o)i.set(p.id,p);return Object.freeze(o)}async function M(y,w,i){if(v(),e.provider===void 0)throw new Error(`${Dn(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:y,page:w,pageSize:i});if(v(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${Dn(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:h({kind:y,page:o.nextPage,pageSize:i}),A=f(y,o.items);return Object.freeze({items:A,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function O(y){return {listFirstPage:w=>M(y,1,b(w?.pageSize)),listNextPage:w=>{v();let i=r.get(w);if(i===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(i.kind!==y)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${Dn(i.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${Dn(y)}`));let o=c.get(w);if(o!==void 0)return o;let p=M(y,i.page,i.pageSize).then(A=>(r.delete(w),A)).finally(()=>{c.delete(w);});return c.set(w,p),p}}}function P(y){v();let w=a.get(y);if(w!==void 0)return Promise.resolve(w);let i=d.get(y);if(i!==void 0)return i;if(e.provider===void 0)return Promise.reject(new Error(`${Dn(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],A=new Map,C=new Set,K=1;for(;;){if(v(),C.has(K))throw new Error(`${Dn(y)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);C.add(K);let q=await e.provider.list({kind:y,page:K,pageSize:Jp});if(v(),q.exhausted===(q.nextPage!==void 0))throw new Error(`${Dn(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let re of q.items)A.has(re.id)||p.push(re.id),A.set(re.id,re);if(q.nextPage===void 0)break;if(!Number.isSafeInteger(q.nextPage)||q.nextPage<1)throw new Error(`${Dn(y)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);K=q.nextPage;}let ne=f(y,p.map(q=>A.get(q)));return v(),a.set(y,ne),ne})().finally(()=>{d.delete(y);});return d.set(y,o),o}async function x(y){if(v(),y.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[w,i,o,p]=await Promise.all([P("individual"),P("group"),P("channel"),ga(y)]);v();function A(K,ne){let q=[];for(let re of ne){let U=re==="displayName"?K.displayName:re==="username"?K.username:K.id;if(U===void 0||U==="")continue;let g=p.match(U,{pinyin:re==="displayName"});g!==null&&q.push(Xp(re,g));}return q.length===0?null:Object.freeze({item:K,matches:Object.freeze(q)})}function C(K,ne){return Object.freeze(K.flatMap(q=>{let re=A(q,ne);return re===null?[]:[re]}))}return Object.freeze({keyword:p.keyword,contacts:C(w,["displayName","username","id"]),groups:C(i,["displayName"]),channels:C(o,["displayName"])})}return {contacts:O("individual"),groups:O("group"),channels:O("channel"),search:{search:x},peekItem:(y,w)=>(v(),s.get(y)?.get(w)),dispose:()=>{m=false,r.clear(),c.clear(),a.clear(),d.clear(),s.clear();}}}function Qp(e){if(e.conversationType==="supergroup")throw X({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw X({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function yr(e){return Qp(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Zp(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw X({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 dd(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(a){return r(),e.domainState.getDraft(yr(a))},async save(a,d){r();let s=yr(a);return e.domainState.saveDraft(s,Zp(s,d))},async clear(a){r(),await e.domainState.clearDraft(yr(a));},subscribe(a,d){r();let s=yr(a),u=e.emitter.subscribe(v=>{v.type!=="draft:updated"&&v.type!=="draft:cleared"||v.conversation.conversationType!==s.conversationType||v.conversation.conversationId!==s.conversationId||d(v.type==="draft:updated"?v.draft:null);}),m=()=>{u(),n.delete(m);};return n.add(m),m}},dispose(){for(let a of [...n])a();}}}var em=20,ld=50,ud=30,pd=4294967295;function zn(e){let n=X(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ye(e,n){return zn({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function md(e,n){if(n instanceof x$1)return zn({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof y$1)return zn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return zn({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof c||n instanceof z$1){let r=n instanceof z$1?n.status:void 0;return zn({code:n instanceof z$1?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:r===void 0||r===0||r===408||r===429||r>=500,...r===void 0?{}:{details:Object.freeze({status:r})},cause:n})}return zn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function vn(e,n,r){if(typeof e!="string"||e.trim()==="")throw Ye(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function nm(e,n){if(typeof e!="string"||e.trim()==="")throw new y$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function tm(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw Ye(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function rm(e,n,r){let c=vn(e,n,r),a;try{a=new URL(c);}catch{throw Ye(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(a.protocol!=="https:"&&a.protocol!=="http:")throw Ye(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(a.username!==""||a.password!=="")throw Ye(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function fd(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>pd)throw Ye(r,`${n} \u5FC5\u987B\u662F 1-${pd} \u7684\u6574\u6570`);return Number(e)}function hd(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ye(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:rm(e.url,"url",n),width:fd(e.width,"width",n),height:fd(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:vn(e.packageId,"packageId",n),resourceId:vn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ye(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:vn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...c===void 0?{}:{resourceId:c}}}function om(e,n){if(e===null||typeof e!="object")throw Ye(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:vn(e.token,"token",n),resourceId:vn(e.resourceId,"resourceId",n)}:hd(e,n)}function am(e,n){if(e!=="sticker"&&e!=="gif")throw Ye(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function im(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ye(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function gd(e,n){if(!Array.isArray(e))throw Ye(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(c=>vn(c,"recordId",n)))];if(r.some(c=>c.includes("|")))throw Ye(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>ud)throw Ye(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${ud} \u4E2A id`);return r}function Id(e,n){let r=e?.offset??0,c=e?.pageSize??em;if(!Number.isSafeInteger(r)||r<0)throw Ye(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>ld)throw Ye(n,`pageSize \u5FC5\u987B\u662F 1-${ld} \u7684\u6574\u6570`);return {offset:r,limit:c}}function yd(e){return Object.freeze({...e})}function sm(e){return Object.freeze({...e})}function vd(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 Cd(e){function n(a){if(!e.isActive())throw zn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function r(a,d){if(n(a),e.provider===void 0)throw md(a,new x$1("core"));let s;try{s=await d(e.provider);}catch(u){throw n(a),md(a,u)}return n(a),s}let c={packs:Object.freeze({list:async a=>{let d="expressions.packs.list",s=a?.version===void 0?void 0:tm(a.version,"version",d),u=await r(d,v=>v.listStickerPacks(s)),m=Object.freeze(u.items.map(v=>Object.freeze({...v})));return Object.freeze({version:u.version,items:m})},listItems:async a=>{let d="expressions.packs.listItems",s=vn(a,"packageId",d),u=await r(d,m=>m.listStickerItems(s));return Object.freeze(u.map(yd))}}),favorites:Object.freeze({list:async a=>{let d="expressions.favorites.list",s=await r(d,u=>u.listFavorites(am(a,d)));return Object.freeze(s.map(yd))},add:async a=>{let d="expressions.favorites.add",s=hd(a,d);await r(d,u=>u.addFavorite(s));},delete:async a=>{let d="expressions.favorites.delete",s=gd(a,d);await r(d,u=>u.deleteFavorites(s));}}),recent:Object.freeze({list:async a=>{let d="expressions.recent.list",s=await r(d,u=>u.listRecent(im(a,d)));return Object.freeze(s.map(sm))},report:async a=>{let d="expressions.recent.report",s=om(a,d);await r(d,u=>u.reportRecent(s));},delete:async a=>{let d="expressions.recent.delete",s=gd(a,d);await r(d,u=>u.deleteRecent(s));}}),reactions:Object.freeze({listTop:async a=>{let d="expressions.reactions.listTop",s=a?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw Ye(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(d,async u=>{let m=await u.listReactionTop(s);if(!Array.isArray(m))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(m.map(v=>nm(v,"reaction emoji")))})},report:async a=>{let d="expressions.reactions.report",s=vn(a,"emoji",d);await r(d,u=>u.reportReaction(s));}}),giphy:Object.freeze({trending:async a=>{let d="expressions.giphy.trending",s=await r(d,u=>u.listGiphyTrending(Id(a,d)));return vd(s)},search:async(a,d)=>{let s="expressions.giphy.search",u=vn(a,"query",s),m=await r(s,v=>v.searchGiphy({query:u,...Id(d,s)}));return vd(m)}})};return {api:Object.freeze(c)}}function Vn(e,n,r){try{r();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?X({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):X({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function bd(e){return {createRoom(n){Vn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Vn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Vn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Vn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Vn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Vn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Vn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var cm=0;function Md(e){return Object.freeze({id:e.id,displayName:e.displayName,...e.username===void 0?{}:{username:e.username},...e.avatarUrl===void 0?{}:{avatarUrl:e.avatarUrl},...e.bound===void 0?{}:{bound:e.bound}})}function dm(e){if(e.kind==="catalog")return Object.freeze({kind:"catalog"});let n=e.conversationId.trim();if(n==="")throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 conversationId \u4E0D\u80FD\u4E3A\u7A7A");return Object.freeze({kind:"conversation",conversationType:e.conversationType,conversationId:n,...e.filter===void 0?{}:{filter:e.filter}})}function lm(e){let n={page:e.page,pageSize:e.pageSize,...e.keyword===""?{}:{keyword:e.keyword}};return e.scope.kind==="catalog"?n:{...n,groupId:e.scope.conversationId,groupType:e.scope.conversationType==="group"?1:2,...e.scope.filter==="bound"?{boundOnly:true}:{}}}function Sd(e){let n=e.robotId.trim(),r=e.conversationId.trim();if(n==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(r==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.conversationType!=="group"&&e.conversationType!=="channel")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA\u53EA\u652F\u6301\u7FA4\u7EC4\u548C\u793E\u7FA4");return Object.freeze({robotId:n,conversationType:e.conversationType,conversationId:r})}function um(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function Pd(e){let n=++cm,r=new Map,c=new Map,a=new Map,d=0,s=true;function u(){if(!s)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function m(P){let x=P??20;if(!Number.isSafeInteger(x)||x<1||x>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return x}function v(P){let x=`im-robots:${n}:${++d}`;return r.set(x,P),x}function b(P){return Object.freeze(P.map(x=>{let y=Md(x);return a.set(y.id,y),y}))}function h(P,x){let y=a.get(P);y!==void 0&&a.set(P,Md({id:y.id,displayName:y.displayName,...y.username===void 0?{}:{username:y.username},...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl},bound:x}));}async function f(P,x){u();let y=x?e.bind:e.unbind;if(y===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await y(um(P)),u(),h(P.robotId,x);}async function M(P){if(u(),e.search===void 0)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let x=await e.search(lm(P));u();let y=b(x.items),w=x.exhausted?void 0:v({...P,page:P.page+1});return Object.freeze({items:y,...w===void 0?{}:{nextPageToken:w},exhausted:x.exhausted})}return {api:{listFirstPage:P=>{try{let x=dm(P?.scope??{kind:"catalog"});return M({page:1,pageSize:m(P?.pageSize),keyword:P?.keyword?.trim()??"",scope:x})}catch(x){return Promise.reject(x)}},listNextPage:P=>{u();let x=r.get(P);if(x===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let y=c.get(P);if(y!==void 0)return y;let w=M(x).then(i=>(r.delete(P),i)).finally(()=>{c.delete(P);});return c.set(P,w),w},bindToConversation:P=>{try{return f(Sd(P),!0)}catch(x){return Promise.reject(x)}},unbindFromConversation:P=>{try{return f(Sd(P),!1)}catch(x){return Promise.reject(x)}}},peek:P=>{let x=P.trim();return x===""?void 0:a.get(x)},dispose:()=>{s=false,r.clear(),c.clear(),a.clear();}}}var pm=30,mm=300*1e3,fm=64,gm=900*1e3,Im=2048,ym=0;function hn(e){let n=X({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 Ad(e){let n=e.now??(()=>Date.now()),r=e.pageSize??pm,c=e.tokenTtlMs??mm,a=e.maxTokens??fm,d=e.anchorTtlMs??gm,s=e.maxAnchors??Im;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(a)||a<=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 u=++ym,m=new Map,v=new Map,b=0,h=true;function f(g){if(!h)throw hn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:g,retryable:false});if(e.isAvailable?.()===false)throw hn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:g,retryable:false})}function M(g,T){let j=g.trim();if(j==="")throw hn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:T,retryable:false});return j}function O(g){let T=`im-search:${u}:${++b}`;for(m.set(T,{...g,expiresAt:n()+c});m.size>a;){let j=m.keys().next().value;if(typeof j!="string")break;m.delete(j);}return T}function P(g,T){return JSON.stringify([g.conversationType,g.conversationId,T])}function x(g){for(let[T,j]of v)j.expiresAt<=g&&v.delete(T);}function y(g,T){let j=Object.freeze({conversationType:g.conversationType,conversationId:g.conversationId}),W=P(j,g.id);for(v.delete(W),v.set(W,{anchor:Object.freeze({id:g.id,conversationType:g.conversationType,conversationId:g.conversationId,sortKey:g.sortKey}),expiresAt:T+d});v.size>s;){let B=v.keys().next().value;if(typeof B!="string")break;v.delete(B);}}function w(g,T){let j=T==="conversation"?"search.conversations.next":"search.messages.next";f(j);let W=m.get(g);if(W===void 0||W.expiresAt<=n())throw m.delete(g),hn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:j,retryable:false});if(W.kind!==T)throw hn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:j,retryable:false});return W}function i(g){let T=g.draft?.text.trim();return T===void 0||T===""?g.lastMessagePreview:T}function o(g){let T=Object.freeze({conversationType:g.type,conversationId:g.id});return Object.freeze({ref:T,title:g.title,preview:i(g)})}function p(g,T){let j=Object.freeze(g.slice(T,T+r)),W=T+j.length,B=W>=g.length,$=B?void 0:O({kind:"conversation",items:g,offset:W});return Object.freeze({items:j,...$===void 0?{}:{nextPageToken:$},exhausted:B})}async function A(g,T,j){f(j);let W=M(T,j).toLowerCase(),B=Object.freeze(e.domainState.getConversationList().filter($=>($.type==="direct"||$.type==="group"||$.type==="channel"||$.type==="robot")&&(g===void 0||$.type===g)&&`${$.title}
2
+ ${$.id}`.toLowerCase().includes(W)).map(o));return p(B,0)}function C(g,T,j){let W=g.conversationId.trim();if(g.conversationType!==T||W==="")throw hn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:j,retryable:false});return Object.freeze({conversationType:T,conversationId:W})}function K(g,T){let j=g.conversationType,W=g.conversationId.trim();if(j!=="direct"&&j!=="group"&&j!=="channel"&&j!=="robot"||W==="")throw hn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:j==="supergroup"?"unsupported":"validation",operation:T,retryable:false});return Object.freeze({conversationType:j,conversationId:W})}async function ne(g){f("search.messages");let T;try{T=await e.domainState.searchMessages(g.ref,{...g.keyword===void 0?{}:{keyword:g.keyword},...g.contentTypes===void 0?{}:{contentTypes:g.contentTypes},limit:r,...g.beforeSortKey===void 0?{}:{beforeSortKey:g.beforeSortKey}});}catch(N){throw hn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:N})}let j=new Set,W=[],B=n();x(B);for(let{message:N}of T.results){if(N.conversationType!==g.ref.conversationType||N.conversationId!==g.ref.conversationId||N.sortKey.trim()===""||g.contentTypes!==void 0&&!g.contentTypes.includes(N.contentType))throw hn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});j.has(N.id)||(j.add(N.id),y(N,B),W.push(Object.freeze({ref:g.ref,messageId:N.id,senderId:N.senderId,createdAt:k(N),contentType:N.contentType,preview:ea$1(N)})));}let $=T.nextBeforeSortKey?.trim();if(!T.exhausted&&($===void 0||$==="")||T.exhausted&&$!==void 0)throw hn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let E=$===void 0?void 0:O({kind:"message",ref:g.ref,...g.keyword===void 0?{}:{keyword:g.keyword},...g.contentTypes===void 0?{}:{contentTypes:g.contentTypes},beforeSortKey:$});return Object.freeze({items:Object.freeze(W),...E===void 0?{}:{nextPageToken:E},exhausted:T.exhausted})}async function q(g,T,j,W){f(W);let B=C(g,T,W);return ne({ref:B,keyword:M(j,W)})}async function re(g,T,j,W){f(j);let B=K(g,j),$=W?.trim();return ne({ref:B,...$===void 0||$===""?{}:{keyword:$},contentTypes:Object.freeze([T])})}return {api:{conversations:{all:g=>A(void 0,g,"search.conversations.all"),direct:g=>A("direct",g,"search.conversations.direct"),groups:g=>A("group",g,"search.conversations.groups"),channels:g=>A("channel",g,"search.conversations.channels"),async next(g){let T=w(g,"conversation");return p(T.items,T.offset)}},messages:{inDirect:(g,T)=>q(g,"direct",T,"search.messages.inDirect"),inGroup:(g,T)=>q(g,"group",T,"search.messages.inGroup"),inChannel:(g,T)=>q(g,"channel",T,"search.messages.inChannel"),inRobot:(g,T)=>q(g,"robot",T,"search.messages.inRobot"),texts:async(g,T)=>(f("search.messages.texts"),re(g,"text","search.messages.texts",M(T,"search.messages.texts"))),files:(g,T)=>re(g,"file","search.messages.files",T),images:g=>re(g,"image","search.messages.images"),videos:g=>re(g,"video","search.messages.videos"),voices:g=>re(g,"voice","search.messages.voices"),async next(g){let T=w(g,"message");return ne(T)}}},resolveHistoryAnchor(g,T){if(!h||e.isAvailable?.()===false)return;let j=P(g,T),W=v.get(j);if(W!==void 0){if(W.expiresAt<=n()){v.delete(j);return}return W.anchor}},dispose(){h&&(h=false,m.clear(),v.clear());}}}function Rd(e){let n=new Map,r=new Set,c=new Map,a=new Set,d=false,s=e.schedule??(b=>{let h=setTimeout(b,120);return ()=>clearTimeout(h)});function u(b,h,f){try{e.report(b,h,f);}catch{}}async function m(b){let h={conversationType:"channel",conversationId:b};r.add(b);try{for(let f=0;f<2;f+=1){let M=n.get(b);if(d||!e.isActive()||M===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(b);return}if(e.domainState.hasPendingChannelRead(h)){a.add(b),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(b),e.domainState.getReadState(h)?.readCursor!==M)return;let P=e.domainState.getChannelReadRevision(h),x=Date.now(),y;try{y=await e.loadSummary({channelId:b,readCursor:M});}catch(w){!d&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-x,errorName:w instanceof Error?w.name:"Unknown",errorCode:typeof w=="object"&&w!==null&&"code"in w&&typeof w.code=="string"?w.code:void 0});return}if(d||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==P){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(b)||n.set(b,M),a.add(b);return}if(f===0&&!n.has(b)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===M){n.set(b,M);continue}return}if(y===void 0||y.readCursor!==M){u("channel-read-summary-discarded",h,{reason:y===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,y),n.get(b)===M&&n.delete(b),u("channel-read-summary-applied",h,{unreadCount:y.unreadCount,durationMs:Date.now()-x});return}}finally{r.delete(b),n.has(b)&&!a.has(b)&&v(b);}}function v(b){d||a.has(b)||r.has(b)||c.has(b)||c.set(b,s(()=>{c.delete(b),m(b);}));}return {settled(b){a.delete(b.channelId),n.has(b.channelId)&&v(b.channelId);},request(b){d||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:b.channelId})||a.delete(b.channelId),n.set(b.channelId,b.readCursor),v(b.channelId));},dispose(){d=true;for(let b of c.values())b();c.clear(),n.clear(),a.clear();}}}function vr(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 Ed(e,n){return {prepareLocalMediaPreview:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:a.kind,file:a.file,includePoster:a.kind==="video",...a.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},a.signal);return a.kind==="video"?{width:d.width,height:d.height,...d.duration===void 0?{}:{duration:d.duration},...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}:{width:d.width,height:d.height}},prepareLocalVideoPoster:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:"video",file:a.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},a.signal);return {width:d.width,height:d.height,...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}}}}function wd(e){let n,r,c=false,a=false,d=new AbortController;function s(){if(!n||!a||c)throw new ab$1("unavailable");return n}return {port:{get:async(...m)=>s().get(...m),list:async()=>s().list(),save:async m=>s().save(m),remove:async(...m)=>s().remove(...m),clear:async()=>s().clear(),drain:async()=>n?.drain(),fingerprint:async(...m)=>s().fingerprint(...m),acquireLease:async m=>s().acquireLease(m),close:async()=>n?.close()},prepare(m){return c?Promise.reject(new ab$1("unavailable")):(r??=(async()=>{n=bb$1({namespaceFactory:e,accountId:m}),await n.acquireLease(d.signal),await n.list(),d.signal.throwIfAborted(),a=true;})(),r)},async dispose(m){if(c=true,d.abort(),await r?.catch(()=>{}),!!n)try{m||await n.clear();}finally{await n.close();}}}}function Td(e){let n=e,r=new Set;return {setOnline(c){if(n=c,n)for(let a of [...r])a();},wait(c){return c.throwIfAborted(),n?Promise.resolve():new Promise((a,d)=>{function s(){r.delete(u),c.removeEventListener("abort",m);}function u(){s(),a();}function m(){s(),d(c.reason);}r.add(u),c.addEventListener("abort",m,{once:true});})}}}function _d(e){function n(u){let m=0n;for(let v=0;v<10;v++){let b=u+v,h=e[b];if(h===void 0)return {ok:false,kind:"truncated-varint"};if(m|=BigInt(h&127)<<BigInt(v*7),(h&128)===0)return {ok:true,nextOffset:b+1,value:m}}return {ok:false,kind:"invalid-varint"}}let r=[],c,a=0;function d(u,m,v){return {protobufWireStatus:u,protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:m,protobufFailureOffset:v,protobufBytesRemaining:Math.max(0,e.length-v)}}function s(u){r.length<32&&!r.includes(u)&&r.push(u),c=u;}for(;a<e.length;){let u=a,m=n(u);if(!m.ok)return d(m.kind==="truncated-varint"?"truncated":"invalid",m.kind==="truncated-varint"?"truncated-tag":m.kind,u);let v=Number(m.value>>3n),b=Number(m.value&0x07n);if(!Number.isSafeInteger(v)||v<=0)return d("invalid","invalid-field-number",u);if(a=m.nextOffset,b===0){let h=a,f=n(h);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,h);a=f.nextOffset;}else if(b===1){if(e.length-a<8)return d("truncated","truncated-fixed64",a);a+=8;}else if(b===2){let h=a,f=n(h);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,h);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",h);a=f.nextOffset;let M=Number(f.value);if(M>e.length-a)return d("truncated","truncated-length-delimited",a);a+=M;}else if(b===5){if(e.length-a<4)return d("truncated","truncated-fixed32",a);a+=4;}else return d("invalid","invalid-wire-type",u);s(v);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}function Dd(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let c=Symbol("receiving");return n.add(c),n.size===1&&e(true),()=>{n.delete(c)&&n.size===0&&e(false);}},dispose(){r=true;let c=n.size>0;n.clear(),c&&e(false);}}}function kd(e){return async(n,r)=>{r.throwIfAborted();let c=await e.authProvider.getLoginContext();if(r.throwIfAborted(),c===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");let a=[],d=[],s=b=>{d.push({...b,source:"history"});},u=b=>{a.push(b);};if(n.conversationType==="group"){let b={...e.groupDecrypt(),onDecryptRecovery:s},h=Date.now(),f=await Ha$1({http:e.http,userId:c.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:h,direct:1,limit:30,decryptDeps:b,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let M=f.batchSize<30||f.oldestEntryTime===void 0||f.oldestEntryTime>=h;return {messages:f.messages,reactions:a,recoveries:d,exhausted:M,...M?{}:{nextCursor:String(f.oldestEntryTime)}}}let m={...e.channelDecrypt(),onDecryptRecovery:s},v=await za({http:e.http,userId:c.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:m,prepareKey:b=>e.prepareChannelKeys([b]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:v.messages,reactions:a,recoveries:d,exhausted:!v.hasOlder,...v.nextCursor===void 0?{}:{nextCursor:v.nextCursor}}}}var vm=5*6e4,hm=1440*6e4,Dt=2*1024*1024,Od=20,st=class extends Error{constructor(r){super(r);this.reason=r;}reason};function kn(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Cm(e,n){let r=new TextEncoder,c=new WeakSet,a=0,d=0,s=performance.now();async function u(){++d%64===0&&performance.now()-s>=4&&(await n(),s=performance.now());}async function m(v){if(!(a>Dt))if(await u(),typeof v=="string"){a+=8;for(let b=0;b<v.length&&a<=Dt;b+=16384)a+=r.encode(v.slice(b,b+16384)).byteLength,await u();}else if(v!==null&&typeof v=="object"){if(c.has(v))return;if(c.add(v),a+=32,ArrayBuffer.isView(v)||v instanceof ArrayBuffer){a+=v.byteLength;return}for(let b in v)if(Object.hasOwn(v,b)&&(await m(b),await m(v[b]),a>Dt))break}else a+=8;}return await m(e),a}function xd(e){let n=e.now??Date.now,r=new Map,c=new Map,a=new Map,d=new Map,s,u=true,m=0,v=new WeakMap,b=new WeakSet,h=new WeakMap,f=0,M=Promise.resolve();function O(g,T,j){try{e.report(g,{...T},{remainingNetworkPages:Math.max(0,Od-f),...j});}catch{}}function P(g,T=n()){return g===void 0?0:Math.max(0,T-g)}function x(g,T,j,W){let B=W?.diagnostics;O("recent-history-prefetch-result",g,{status:T,reason:j,queueDurationMs:P(B?.queuedAt,B?.startedAt),requestDurationMs:B?.requestDurationMs??P(B?.requestStartedAt),persistenceDurationMs:B?.persistenceDurationMs??P(B?.persistenceStartedAt)});}function y(g){let T=M.then(g,g);return M=T.catch(()=>{}),T}function w(g){if(!u||g.generation!==m||g.controller.signal.aborted||g.epoch!==(r.get(g.key)??0))return false;let T=e.fingerprint(g.ref);return T!==void 0&&(T===g.fingerprint||!i(g)&&[...g.consumers.values()].includes("foreground"))}function i(g){return g.cacheRevision===(c.get(g.key)??0)}function o(g){if(!w(g))throw kn()}async function p(g,T=false){let j=Ha(g),W=r.get(j)??0,B={key:j,epoch:W,generation:m,cacheRevision:c.get(j)??0},$=m,E=e.fingerprint(g),N=_=>(O("recent-history-cache-miss",g,{reason:_,allowStale:T}),null);if(!u||E===void 0||e.cache===void 0)return N(u?E===void 0?"unavailable":"storage-unavailable":"disposed");if(await M,!u||$!==m||W!==(r.get(j)??0)||!i(B)||e.fingerprint(g)!==E)return N("invalidated");let S=await e.cache.get(g);return !u||$!==m||W!==(r.get(j)??0)||!i(B)||e.fingerprint(g)!==E?N("invalidated"):S===null?N("empty"):S.version!==2?N("version-mismatch"):Ha(S.conversation)!==j?N("identity-mismatch"):S.fingerprint!==E?N("fingerprint-mismatch"):S.fetchedAt>n()?N("future-timestamp"):n()-S.fetchedAt>(T?hm:vm)?N("expired"):(v.set(S,B),S)}async function A(g){o(g);try{let $=await p(g.ref);if(o(g),$!==null&&i(g))return g.diagnostics.source="cache",O("recent-history-cache-hit",g.ref),{page:$,durable:!0}}catch($){if(o(g),g.diagnostics.failureReason="cache-read-failed",O("recent-history-cache-read-failed",g.ref,{reason:"cache-read-failed"}),![...g.consumers.values()].includes("foreground"))throw $}if(![...g.consumers.values()].includes("foreground")){if(f>=Od)throw new st("budget");f+=1;}let j=n();g.diagnostics.source="network",g.diagnostics.requestStartedAt=j;let W;try{W=await e.fetchPage(g.ref,g.controller.signal);}catch($){throw g.diagnostics.failureReason="request-failed",$}finally{g.diagnostics.requestDurationMs=P(j);}o(g),await e.yieldToEventLoop(),o(g);let B={version:2,conversation:{...g.ref},fetchedAt:n(),fingerprint:g.fingerprint,messages:W.messages,reactions:W.reactions,exhausted:W.exhausted,...W.nextCursor===void 0?{}:{nextCursor:W.nextCursor},byteLength:0};if(v.set(B,{key:g.key,epoch:g.epoch,generation:g.generation,cacheRevision:g.cacheRevision}),W.recoveries!==void 0&&W.recoveries.length>0&&h.set(B,W.recoveries),h.has(B)||B.messages.some($=>$.encryption.decryptFailed===true))return b.add(B),{page:B,durable:false,reason:"decrypt-failed"};if(B.byteLength=await Cm(B,e.yieldToEventLoop),o(g),O("recent-history-page-loaded",g.ref,{durationMs:n()-j,messageCount:B.messages.length,byteLength:B.byteLength}),B.byteLength>Dt)return {page:B,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:B,durable:false,reason:"storage-unavailable"};if(!i(g))return {page:B,durable:false,reason:"invalidated"};g.diagnostics.persistenceStartedAt=n();try{let $=await y(async()=>(o(g),i(g)?e.cache.put(B):!1));return o(g),i(g)?{page:B,durable:$,...$?{}:{reason:"page-too-large"}}:{page:B,durable:!1,reason:"invalidated"}}catch($){return o(g),g.diagnostics.failureReason="cache-write-failed",O("recent-history-cache-write-failed",g.ref,{reason:"cache-write-failed"}),{page:B,durable:false,storageError:$}}finally{g.diagnostics.persistenceDurationMs=P(g.diagnostics.persistenceStartedAt);}}function C(g,T){g.started||(g.started=true,g.diagnostics.startedAt=n(),O("recent-history-prefetch-start",g.ref,{kind:T?"background":"foreground",queueDurationMs:P(g.diagnostics.queuedAt,g.diagnostics.startedAt)}),T&&(s=g),A(g).then(g.resolve,g.reject).finally(async()=>{a.get(g.key)===g&&a.delete(g.key),s===g&&(s=void 0),await e.yieldToEventLoop(),K();}).catch(j=>{if(!(j instanceof Error&&j.name==="AbortError"))throw j}));}function K(){if(!u||s!==void 0||d.size>0||!e.canRunBackground())return;let g=[...a.values()].find(T=>!T.started&&T.consumers.size>0);g!==void 0&&C(g,true);}function ne(g,T,j){if(!u||j?.aborted===true)return T==="background"&&x(g,"cancelled","cancelled"),Promise.reject(kn());let W=Ha(g),B=e.fingerprint(g);if(B===void 0)return T==="background"&&x(g,"skipped","unavailable"),Promise.reject(new st("unavailable"));let $=a.get(W);$!==void 0&&!w($)&&($.controller.abort(),$.reject(kn()),a.delete(W),$=void 0);let E=$!==void 0;if($===void 0){let L,G,Y=new Promise((ce,me)=>{L=ce,G=me;});$={ref:{...g},key:W,fingerprint:B,generation:m,epoch:r.get(W)??0,cacheRevision:c.get(W)??0,controller:new AbortController,consumers:new Map,started:false,promise:Y,resolve:L,reject:G,diagnostics:{queuedAt:n()}},a.set(W,$);}let N=$,S=Symbol(T);N.consumers.set(S,T),T==="background"&&O("recent-history-prefetch-queued",g,{reason:E?"shared-request":"new-request"});let _=new Promise((L,G)=>{let Y=false,ce=(fe,ge)=>{Y||(Y=true,fe?.durable&&!i(N)&&(fe={...fe,durable:false,reason:"invalidated"}),j?.removeEventListener("abort",me),N.consumers.delete(S),N.consumers.size===0&&(N.controller.abort(),N.started||(a.get(N.key)===N&&a.delete(N.key),N.reject(kn()))),T==="background"&&(ge instanceof st?x(g,"skipped",ge.reason,N):ge instanceof Error&&ge.name==="AbortError"?x(g,"cancelled","cancelled",N):ge!==void 0||fe?.storageError!==void 0?x(g,"failed",N.diagnostics.failureReason??"request-failed",N):fe?.durable===true?x(g,"ready",N.diagnostics.source==="cache"?"cache-hit":"persisted",N):x(g,"skipped",fe?.reason??"not-persisted",N)),ge!==void 0?G(ge):L(fe));};function me(){ce(void 0,kn());}j?.addEventListener("abort",me,{once:true}),N.promise.then(fe=>ce(fe),fe=>ce(void 0,fe));});return T==="foreground"?C(N,false):K(),_}function q(g){let T=Ha(g);d.set(T,(d.get(T)??0)+1),s!==void 0&&s.key!==T&&![...s.consumers.values()].includes("foreground")&&(s.controller.abort(),s.reject(kn()));let j=false;return ()=>{if(j)return;j=true;let W=(d.get(T)??1)-1;W>0?d.set(T,W):d.delete(T),K();}}function re(g,T={}){if(!u||g.conversationType!=="group"&&g.conversationType!=="channel")return;let j={...g,conversationType:g.conversationType},W=Ha(g);c.set(W,(c.get(W)??0)+1),T.preserveForeground||r.set(W,(r.get(W)??0)+1);let B=a.get(W);(!T.preserveForeground||!B||![...B.consumers.values()].includes("foreground"))&&(B?.controller.abort(),B?.reject(kn()),a.delete(W)),O("recent-history-cache-invalidated",j,{reason:T.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),y(async()=>e.cache?.delete(j)).catch(()=>O("recent-history-cache-delete-failed",j,{reason:"cache-delete-failed"}));}function U(g){let T=v.get(g);return u&&T!==void 0&&T.generation===m&&T.epoch===(r.get(T.key)??0)}return {readCached:p,isPageCurrent:U,enterForeground:q,invalidate:re,notifySchedulingChanged:K,takeRecoveries(g){if(!U(g))return [];let T=h.get(g)??[];return h.delete(g),T},async confirmConsumed(g){let T=e.fingerprint(g.conversation),j=v.get(g);if(!U(g)||j===void 0||!i(j)||b.has(g)||T===void 0||e.cache===void 0||T===g.fingerprint||g.byteLength>Dt||g.messages.some($=>$.encryption.decryptFailed===true))return;let W=Ha(g.conversation),B=r.get(W)??0;await y(async()=>{U(g)&&i(j)&&B===(r.get(W)??0)&&e.fingerprint(g.conversation)===T&&await e.cache.put({...g,fingerprint:T});}).catch(()=>O("recent-history-cache-write-failed",g.conversation,{reason:"cache-write-failed"}));},async latest(g,T){return (await ne(g,"foreground",T)).page},async prefetchRecent(g,T={}){let j=[];for(let[W,B]of g.entries()){if(W>0&&W%16===0&&await e.yieldToEventLoop(),T.signal?.aborted===true||!u){x(B,"cancelled","cancelled"),j.push({ref:B,status:"cancelled",reason:"cancelled"});continue}if(B.conversationType==="direct"||B.conversationType==="robot"){x(B,"skipped","unsupported"),j.push({ref:B,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){x(B,"skipped","storage-unavailable"),j.push({ref:B,status:"skipped",reason:"storage-unavailable"});continue}try{let $=await ne({...B,conversationType:B.conversationType},"background",T.signal);if($.storageError!==void 0)throw $.storageError;j.push({ref:B,status:$.durable?"ready":"skipped",...$.reason===void 0?{}:{reason:$.reason}});}catch($){$ instanceof st?j.push({ref:B,status:"skipped",reason:$.reason}):$ instanceof Error&&$.name==="AbortError"?j.push({ref:B,status:"cancelled",reason:"cancelled"}):(O("recent-history-prefetch-failed",B,{reason:"prefetch-failed"}),j.push({ref:B,status:"failed",error:X({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:B,cause:$})}));}}return j},dispose(){u=false;for(let g of a.values())g.controller.abort(),g.reject(kn());return a.clear(),M.then(()=>{})},async clear(){if(u){m+=1;for(let g of [...a.values()])re(g.ref);await y(async()=>e.cache?.clear());}}}}function bm(e){let{transportStatus:n,httpStatus:r,businessCode:c}=e,a=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||c===void 0?"invalid-response":c!==void 0&&c!==200?"business":void 0;return a===void 0?void 0:Object.freeze({service:"core",kind:a,...r===void 0?{}:{httpStatus:r},...c===void 0?{}:{businessCode:c}})}function Nd(e){let n=m=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:m,getClientType:()=>e.clientType,fetch:r});function r(m,v){return c(),globalThis.fetch(m,v)}function c(){if(!e.isActive())throw X({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let m=e.coreClient,v=e.http??n(e.authProvider.getLoginContext);return {coreClient:m===void 0?void 0:async(b,h)=>{c();let f=await m(b,h);return c(),f},http:{async postProtobuf(b){c();let h=await v.postProtobuf(b);return c(),h}}}}async function a(m,v,b){if(!(!e.isActive()||b?.aborted||!v?.userId||!v.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||b?.aborted||h?.userId!==v.userId||h.token!==v.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(m))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function d(){let m=await e.authProvider.getLoginContext();return c(),m===null?null:{...m}}let s=e.coreClient;return {coreClient:s===void 0?void 0:async(m,v)=>{let b=await d(),h,f=await s(m,{...v,token:b?.token??"",skipBusinessResponseHandler:true,onResponse:O=>{h=O;}});if(c(),h===void 0)throw X({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let M=bm(h);return M!==void 0&&await a(M,b,v?.signal),f},http:{async postProtobuf(m){let v$1=await d(),b=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(b==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let h=e.http??v({getBaseUrl:()=>b,getAuth:async()=>v$1,getClientType:()=>e.clientType,fetch:r});try{c();let f=await h.postProtobuf(m);return c(),f}catch(f){throw await a(f instanceof wa?{service:"cm",kind:"http",httpStatus:f.status}:{service:"cm",kind:"network"},v$1,m.signal),f}}}}}var Mm=2,ct=30,Sm=50,Pm=5,Am=20;function Ld(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 Rm(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 Em(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 Fd(e$1,n$2,r,c=0){let a$1=e$1.clientType??Mm,d$1={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:a$1}}},s$1="",u$1=Qr(e$1.debug,()=>({generation:c,...s$1===""?{}:{accountId:s$1}})),m$1=true,v=e$1.uploadRecovery?.enabled?wd(r):void 0,b=Td(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:f$1}=Nd({coreClient:e$1.coreClient,http:e$1.http,authProvider:d$1,endpointProvider:e$1.endpointProvider,clientType:a$1,isActive:()=>m$1,onRequestError:e$1.onRequestError,onHandlerError:t=>u$1.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:t}}))}),M=e$1.transport??gb(),O$1=e$1.adapters?.storage,P=O$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:fb({namespaceFactory:r,mediaAssetCache:{strategies:fc()}})),x=t=>{let l=P?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>Uo(t)).catch(D=>n$2.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:D}}));},y=Rm(P)?P:void 0,w$1=Wc({...P===void 0?{}:{storage:P},...h$1===void 0?{}:{coreClient:h$1}}),i$1,o$1,p$1=lc({...P===void 0?{}:{storage:P},conversationBackgrounds:w$1.api,onDirectReadReceiptDisabled:t=>i$1?.(t)}),A$1=0;function C$1(t){return A$1+=1,`channel-${t}-${c}-${A$1}`}let K=rb(u$1),ne=(t,l,D=s$1)=>{let V=l.fromId===D?l.toId:l.fromId;vr(u$1,{conversation:{conversationType:"direct",conversationId:V},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},q=(t,l)=>{vr(u$1,{conversation:{conversationType:"group",conversationId:l.groupId},source:t,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},re=(t,l)=>{vr(u$1,{conversation:{conversationType:"channel",conversationId:l.channelId},source:t,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},U=t=>{u$1.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:t.channelId},...t.operationId===void 0?{}:{operationId:t.operationId},data:{messageId:t.messageId,encrypt:t.encrypt,contentLength:t.contentLength,...t.endpoint===void 0?{}:{endpoint:t.endpoint},...t.surface===void 0?{}:{surface:t.surface},...t.clientTypeHeader===void 0?{}:{clientTypeHeader:t.clientTypeHeader},...t.clientTypeBody===void 0?{}:{clientTypeBody:t.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:t.cause}}));};function g(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let T$1="empty",j=n$2.subscribe(t=>{if(m$1){if(t.type==="connection:changed"){u$1.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){u$1.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:$s(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){u$1.record("warn","sdk","session","auth-invalid",()=>({data:t.issue}));return}if(t.type==="error"){let l=t.error.scope==="storage"?"storage":t.error.scope==="crypto"?"crypto":"session";u$1.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function W(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let B=n$2.subscribe(t=>{P?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let D=(await P.getDecryptRecoveries?.(t.conversation)??[]).find(V=>V.messageId===t.message.id);D!==void 0&&W(D)||await P.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:l}})):t.type==="message:removed"?P.deleteDecryptRecovery(t.conversation,t.messageId).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}})):t.type==="conversation-history:cleared"&&P.deleteConversationDecryptRecoveries?.(t.conversation).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}})));}),$=new Set,E="auto",N=false,S$1=false,_=0,L,G,Y=false,ce,me,fe=()=>{},ge=null,oe=null,Te,ue,Se=0,Ue=false,Oe=Dd(t=>n$2.emit({type:"receiving:changed",receiving:t})),Xe=false,On,xn,kt=new Map,on=0,ze=t=>kt.get(t)??0,Ot=t=>{kt.set(t,ze(t)+1);};function dt(t){ue?.invalidate(t),t.conversationType==="channel"&&Ot(t.conversationId);}let un=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:a$1,...P===void 0?{}:{storage:P}})),sn=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:a$1,getUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??"",...P===void 0?{}:{storage:P}})),I=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:a$1,isActive:()=>m$1,...P===void 0?{}:{storage:P}})),R=e$1.channelMentionMembers??(h$1===void 0?void 0:u({client:h$1,clientType:a$1})),k=Vc({...R===void 0?{}:{provider:R},...P===void 0?{}:{storage:P}}),H=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:a$1,getUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??""})),ie=cd({...H===void 0?{}:{provider:H}}),ve=Pd({...h$1===void 0?{}:{search:t=>Ja(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),bind:t=>D$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),unbind:t=>E$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}})}}),Ae=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),_e=Cd({provider:Ae,isActive:()=>m$1}),Ee=e$1.sessionFavoriteProvider??Sa({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>s$1}),Be=ic({provider:Ee,isActive:()=>m$1}),dn=()=>{},Mn=Cc({namespaceFactory:r,...P===void 0?{}:{storage:P},emitter:n$2,getAccountId:()=>s$1,isActive:()=>m$1,clearMemoryCaches:()=>{un?.clearCache?.(),sn?.clearCache?.(),I?.clearCache?.(),k.clear(),dn(),ue?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),xt=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:a$1})),Ro=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:a$1})),Eo=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:a$1})),z$1=La({emitter:n$2,diagnostics:u$1,profile:un,channelProfile:sn,storage:P,getSelfId:()=>s$1,loadOlderFromRemote:async t=>{let l=ue?.enterForeground(t.conversation),D=Oe.begin();try{return Te===void 0?{messages:[],exhausted:!0}:await Te(t)}finally{D(),l?.();}},loadNewerFromRemote:async t=>{let l=ue?.enterForeground(t.conversation),D=Oe.begin();try{return xn===void 0?{messages:[],exhausted:!0}:await xn(t)}finally{D(),l?.();}}}),fn=xc({directory:ie.contacts,getSelfId:()=>s$1,...un===void 0?{}:{profile:un},...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2,terminateConversationSending:(t,l)=>fe(t,l),resetDirectReadReceiptPreference:t=>p$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?o$1?.(t):l!=="unknown"&&i$1?.(t);}}),wo=Hc({...Ro===void 0?{}:{contact:Ro},...Eo===void 0?{}:{group:Eo},...xt===void 0?{}:{channel:xt},onContactAccepted:async(t,l)=>{fn.updateRelationshipFromEvent(t,"friend"),await z$1.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),z$1.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>m$1&&T$1==="ready"}),hr=dd({domainState:z$1,emitter:n$2,isActive:()=>m$1}),Cr=Ad({domainState:z$1,isAvailable:()=>m$1&&T$1==="ready"}),zd=Nc(()=>z$1.getSessions()),Ze=e$1.crypto??i(),Cn=e$1.media!==void 0?$a(e$1.media,u$1):void 0,br=Wa(),Vd=Va(br),{prepareLocalMediaPreview:To,prepareLocalVideoPoster:qd}=Ed(br,()=>c),ln=h$1===void 0?void 0:e({client:h$1,crypto:Ze,clientType:a$1,onError:(t,l)=>K?.("crypto",{message:t,cause:l})}),_o=h$1===void 0?void 0:h({client:h$1,clientType:a$1,onError:(t,l)=>K?.("crypto",{scope:"send-key",message:t,cause:l})}),en=h$1===void 0?void 0:f({client:h$1,crypto:Ze,clientType:a$1,onError:(t,l)=>K?.("crypto",{scope:"group-key",message:t,cause:l})}),be=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>fa(h$1,{channelId:t,clientType:a$1}),onError:(t,l)=>K?.("crypto",{scope:"channel-key",message:t,cause:l})})),Do=async(t,l={})=>{if(be===void 0)return;let D=be.getCachedChannelKey(t)===null;try{await be.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!D||!m$1))try{await Ft({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(V){n$2.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:V}});}},ko=async t=>be===void 0?null:be.getChannelKey(t),Oo=t=>{if(be===void 0)return null;let l=be.getCachedChannelKey(t);return l===null&&Do(t),l},Mr=()=>ln?.getCachedPrivateKey(s$1)?.privateKey??null,Wd=()=>({crypto:Ze,resolveChannelKey:Oo,resolveUserPrivateKey:Mr,onDecryptRecovery:x,onDecryptError:t=>{let l=be!==void 0&&P?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(re("live",{...t,forceRefreshAttempted:l}),!l)return;let D=be.getCachedChannelKey(t.channelId)??void 0;be.getChannelKey(t.channelId,{staleKey:D}).catch(()=>{});}}),Sn=async(t,l={})=>{let D=[];be!==void 0&&D.push(...[...new Set(t)].map(V=>Do(V,l))),ln!==void 0&&s$1!==""&&D.push(ln.getUserPrivateKey(s$1).catch(()=>null)),await Promise.all(D);},Pn=t=>({crypto:Ze,resolveChannelKey:l=>be?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Mr,onDecryptError:l=>re(t,l),onDecryptRecovery:x});function Nt(t){en!==void 0&&t!==""&&en.getGroupKeys(t);}let xo=async t=>{if(en===void 0)return null;let l=await en.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},No=t=>{if(en===void 0)return null;let l=en.getCachedGroupKeys(t);return l!==null?l.privateKey:(Nt(t),null)},qn=async t=>{en!==void 0&&await Promise.all(t.map(l=>en.getGroupKeys(l).catch(()=>null)));},$d=()=>({crypto:Ze,resolvePrivateKey:({groupId:t})=>No(t),preparePrivateKey:async({groupId:t})=>en===void 0?null:(await en.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>q("live",t),onDecryptRecovery:x}),Wn=t=>({crypto:Ze,resolvePrivateKey:({groupId:l})=>No(l),onDecryptError:l=>q(t,l),onDecryptRecovery:x}),Lt=new Map,$n=new Map,Sr=new Set,Pr=new Set;function lt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Jd(t,l){let D=Ha(t),V=$n.get(D)??new Set;V.add(l),$n.set(D,V);}function Lo(t){$n.delete(Ha(t));}function Yd(t,l){return t.length===l.length&&t.every((D,V)=>D===l[V])}function Fo(t){if(t.conversation.conversationType==="group")return en?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Jn(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 Xd(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 Uo(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,D$1=Lt.get(l);if(D$1!==void 0)return D$1;let V=(async()=>{let se=z$1.getConversationMessage(t.conversation,t.messageId),Z=W(t);if(se===void 0||se.encryption.decryptFailed!==true&&!Z){await P?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:se.senderId,messageCreatedAt:se.createdAt,selfMessage:se.senderId===s$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let ee,Q,J="key-resolve",te=Jn(t);for(let pe of [false,true]){let De=pe?"force":"current",ke;try{J="bcontent";let ye=d.decode(t.sContent);if(t.wireEncrypt===1){if(ye.secretKey.length===0||ye.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");J="key-resolve";let Le=pe?{...typeof Q=="string"?{staleKey:Q}:{}}:void 0,Ce=t.conversation.conversationType==="group"?(await en?.getGroupKeys(t.conversation.conversationId,Le))?.privateKey??null:(await ln?.getUserPrivateKey(s$1,Le))?.privateKey??null;pe&&Q!==void 0&&(ke=typeof Q=="string"&&Ce!==null&&Q!==Ce),ke===!0&&Lo(t.conversation),pe||(Q=Ce);let nn=Fo(t);if(Ce===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:De,strategy:Jn(t),finalStage:J,reason:"no-key",...nn===void 0?{}:{resolvedKeyVersion:nn},...ke===void 0?{}:{keyChanged:ke}}}));continue}J="rsa";let pn=Ze.rsaDecryptPkcs1({data:ye.secretKey,privateKey:Ce});if(pn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${pn.length} < 16`);J="tea";let He=Ze.decryptSymmetric({teaKey:pn,cipherData:ye.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:De,strategy:Jn(t),rsaCipherBytes:ye.secretKey.length,cipherDataBytes:ye.cipherData.length,cipherDataBlockRemainder:ye.cipherData.length%8,resolvedTeaBytes:pn.length,plainBytes:He.length,plainBlockRemainder:He.length%8,startsWithContentTypeField:He[0]===8,startsWithMobileCardType:He[0]===8&&He[1]===8,..._d(He)}})),J="bmessage",ee=c$1.decode(He);}else if(t.conversation.conversationType==="channel"){if(ye.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");J="key-resolve";let Le=pe?{...Q instanceof Uint8Array?{staleKey:Q}:{}}:void 0,Ce=be?.getChannelKeyCandidates===void 0?await be?.getChannelKey(t.conversation.conversationId,Le).then(He=>[{strategy:"canonical-base64-pad",key:He}])??[]:await be.getChannelKeyCandidates(t.conversation.conversationId,Le),nn=be?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);nn!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:De,...nn}}));let pn=Ce.find(He=>He.strategy==="canonical-base64-pad")?.key??null;if(pe&&Q instanceof Uint8Array&&pn!==null&&(ke=!Yd(Q,pn)),ke===!0&&Lo(t.conversation),pe||(Q=pn?.slice()??null),Ce.length===0){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:De,strategy:Jn(t),finalStage:J,reason:"no-key",...ke===void 0?{}:{keyChanged:ke}}}));continue}for(let He of Ce)try{J="tea";let Zn=Ze.decryptSymmetric({teaKey:He.key,cipherData:ye.cipherData});J="bmessage";let Gt=c$1.decode(Zn);if(He.strategy==="legacy-ascii16"&&!Xd(Gt))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");ee=Gt,te=He.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:De,strategy:He.strategy,finalStage:"recovered",reason:"recovered",...ke===void 0?{}:{keyChanged:ke}}}));break}catch(Zn){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:De,strategy:He.strategy,finalStage:J,reason:"decrypt-failed",...ke===void 0?{}:{keyChanged:ke}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Zn}}));}}if(ee!==void 0){u$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:De,strategy:te,finalStage:"recovered",reason:"recovered",...ke===void 0?{}:{keyChanged:ke}}}));break}}catch(ye){let Le=Fo(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:De,strategy:Jn(t),finalStage:J,reason:"decrypt-failed",...Le===void 0?{}:{resolvedKeyVersion:Le},...ke===void 0?{}:{keyChanged:ke}},error:{message:"IM message decryption recovery failed",data:ye}}));}}if(!m$1||ee===void 0){ee===void 0&&(Jd(t.conversation,t.messageId),u$1.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:Jn(t),attempts:2,finalStage:J}})));return}let ae=z$1.getConversationMessage(t.conversation,t.messageId);if(ae===void 0||ae.encryption.decryptFailed!==true&&!Z)return;let de=t.conversation.conversationType==="channel"&&(t.cmdId===12804||ee.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(ae.serverTime??ae.createdAt),notifyType:ee.type,operatorId:ee.oprUserId,targetUserIds:ee.mnpledUserId,content:ee.content,...typeof ae.extensions?.historyCursor=="string"?{historyCursor:ae.extensions.historyCursor}:{},...typeof ae.extensions?.channelSequence=="string"?{sequence:BigInt(ae.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:ae.raw!==void 0}):{...O(ae,ee,s$1),...Z?{edited:true}:{}};z$1.upsertMessages([de],"offline"),await P?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{Lt.get(l)===V&&Lt.delete(l);});return Lt.set(l,V),V}async function Ft(t,l={}){try{let D=Ha(t),V=await P?.getDecryptRecoveries?.(t)??[];if(!m$1)return;let se=$n.get(D),Z=se===void 0?V:V.filter(te=>!se.has(te.messageId));if(await Promise.all(Z.map(Uo)),!m$1||l.recoverLegacyWithoutSidecar===!1)return;let ee=$n.get(D),Q=new Set(V.filter(te=>ee===void 0||!ee.has(te.messageId)).map(te=>te.messageId)),J=z$1.getMessagesByConversation(t).filter(te=>te.encryption.decryptFailed===!0&&!Q.has(te.id));if(J.length===0||Sr.has(D))return;if(Sr.add(D),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:J.length,withoutSidecar:J.filter(te=>!V.some(ae=>ae.messageId===te.id)).length}})),t.conversationType==="channel"){let te=await d$1.getLoginContext();if(te===null||On===void 0)return;for(let ae of J.slice(0,Am)){let de=ae.extensions?.historyCursor;if(typeof de!="string"||de.trim()==="")continue;let pe=await On(t.conversationId,de,te.userId);if(!m$1)return;pe.length>0&&z$1.upsertMessages(pe,"offline");}}else t.conversationType==="group"?await Qd({conversationType:"group",conversationId:t.conversationId},J):t.conversationType==="direct"&&await na$1();}catch(D){if(!m$1)return;n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:D}});}}async function Qd(t,l){if(Te===void 0)return;let D=[...l].sort((Q,J)=>Q.sortKey.localeCompare(J.sortKey)),V=D[0],se=D.at(-1);if(V===void 0||se===void 0)return;let Z=V.serverTime??V.createdAt,ee;for(let Q=0;Q<Pm;Q++){let J=await Te({conversation:t,oldestLoaded:se,...ee===void 0?{}:{cursor:ee},intent:"older",limit:Sm});if(!m$1||J.exhausted||J.nextCursor===void 0)return;let te=Number(J.nextCursor);if(Number.isFinite(te)&&te<=Z)return;ee=J.nextCursor;}}let Ve=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function Ar(t,l=true){let D=t.channelPermissions,V=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,D===void 0?void 0:[D.sendMessages,D.mentionAll,D.editProfile,D.manageMembers,D.manageAdmins,D.moderateMessages,D.manageMute,D.dismissChannel,D.transferOwnership],!l||V===void 0?void 0:[V.role,V.baseState,V.resolvedState,V.allMembersMuted,V.currentUserMuted,V.mutePeriod]])}let Rr=new Map;function Yn(t){let l=z$1.getConversationContext(t);if(!m$1||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&Ge(l.channelState))return;let D=z$1.getMessagesByConversation(t).at(-1);return JSON.stringify([s$1,D===void 0?l.timestamp:void 0,Ar(l),D?.id,D?.sortKey])}ue=xd({...P?.recentHistoryCache===void 0?{}:{cache:P.recentHistoryCache},fingerprint:Yn,canRunBackground:Kl,fetchPage:kd({http:f$1,authProvider:d$1,clientType:a$1,groupDecrypt:()=>Wn("history"),channelDecrypt:()=>Pn("history"),prepareGroupKeys:qn,prepareChannelKeys:t=>Sn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,D)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:D}))});let Zd=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(Ue=false),ue?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ha(t.conversation),D=Rr.get(l),V={timestamp:t.session.timestamp,access:Ar(t.session),capabilities:Ar(t.session,false),state:t.session.type==="group"?t.session.groupState??"active":t.session.channelState,hasPermissions:t.session.channelPermissions!==void 0,hasSnapshot:t.session.channelAccessSnapshot!==void 0};if(Rr.set(l,V),T$1==="ready"&&D!==void 0&&(D.access!==V.access||!Xe&&D.timestamp!==V.timestamp)){let se=!D.hasSnapshot&&V.hasSnapshot&&(D.capabilities===V.capabilities||!D.hasPermissions&&D.state===V.state);ue?.invalidate(t.conversation,{preserveForeground:D.access===V.access||se});}return}if(t.type==="session:removed"){Rr.delete(Ha(t.conversation)),T$1==="ready"&&ue?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){T$1==="ready"&&ue?.invalidate(t.conversation);return}T$1!=="ready"||Xe||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&ue?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function Ko(t,l=true){Xe=true;try{t.messages.length>0&&z$1.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let D of t.reactions)Ve(D);for(let D of ue.takeRecoveries(t))x(D);}finally{Xe=false;}}Te=async({conversation:t,oldestLoaded:l,cursor:D,intent:V,limit:se,signal:Z})=>{Z?.throwIfAborted();let{conversationId:ee}=t,Q=z$1.getConversationContext(t);if(Q===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(Q.type==="direct"||Q.type==="robot")return {messages:[],exhausted:true};if(V==="establish-latest"&&se===30&&(Q.type==="group"||Q.type==="channel")){let J={conversationType:Q.type,conversationId:ee};if(Yn(J)===void 0)return {messages:[],exhausted:true};let te=await ue.readCached(J,true).catch(de=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:J,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:de}})),null));te!==null&&ue.isPageCurrent(te)&&Date.now()-te.fetchedAt>5*6e4&&Ko(te,false),Z?.throwIfAborted();let ae=await ue.latest(J,Z).catch(de=>{if(m$1&&Yn(J)===void 0)return null;throw de});if(ae===null)return {messages:[],exhausted:true};if(Z?.throwIfAborted(),!m$1||!ue.isPageCurrent(ae)||Yn(J)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(Ko(ae),await ue.confirmConsumed(ae),Z?.throwIfAborted(),!ue.isPageCurrent(ae))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:ae.messages,exhausted:ae.exhausted,...ae.nextCursor===void 0?{}:{nextCursor:ae.nextCursor},replaceWindow:true}}if(Q.type==="group"){if(Q.groupState!==void 0&&Q.groupState!=="active")return {messages:[],exhausted:true};let J=await d$1.getLoginContext();if(J===null)return {messages:[],exhausted:true};let te=V==="establish-latest"?Date.now():D===void 0?l?.serverTime??l?.createdAt??Date.now():Ld(D,ee),ae=await Ha$1({signal:Z,http:f$1,userId:J.userId,clientType:a$1,groupId:ee,baseTime:te,direct:1,limit:se,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ve});Z?.throwIfAborted(),ae.messages.length>0&&z$1.upsertMessages(ae.messages,"offline",{backfillOnly:true,refreshSessionSummary:V==="establish-latest"});let de=ae.oldestEntryTime,pe=ae.batchSize<se||de===void 0||de>=te;return {messages:ae.messages,exhausted:pe,...pe?{}:{nextCursor:String(de)},...V==="establish-latest"?{replaceWindow:true}:{}}}if(Q.type==="channel"){let J=C$1("history");if(Q.channelState!==void 0&&Ge(Q.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:J,data:{state:Q.channelState}})),{messages:[],exhausted:true};let te=on,ae=ze(ee),de=await d$1.getLoginContext();if(de===null)return {messages:[],exhausted:true};if(V==="establish-latest"){let ye=await za({signal:Z,http:f$1,userId:de.userId,clientType:a$1,channelId:ee,count:ct,operationId:J,decryptDeps:Pn("history"),prepareKey:be===void 0&&ln===void 0?void 0:Ce=>Sn([Ce]),onContentDecodeError:U,onReaction:Ve});Z?.throwIfAborted();let Le=z$1.getConversationContext(t);return !m$1||te!==on||ae!==ze(ee)||Le?.type!=="channel"||Le.channelState!==void 0&&Ge(Le.channelState)?{messages:[],exhausted:true}:(Z?.throwIfAborted(),ye.messages.length>0&&z$1.upsertMessages(ye.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:ye.messages,exhausted:!ye.hasOlder,...ye.nextCursor===void 0?{}:{nextCursor:ye.nextCursor},replaceWindow:true})}let pe=D??"";if(D===void 0&&l!==void 0){let ye=l.extensions?.historyCursor;if(typeof ye=="string"&&ye.trim()!=="")pe=ye;else if(!Em(l,de.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${ee}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:J,data:{baseIndexPresent:pe!=="",direction:1,contain:0,count:ct,historyGeneration:te,historyEpoch:ae,clientTypeHeader:a$1,clientTypeBody:a$1}}));let De;try{De=await Aa({signal:Z,http:f$1,userId:de.userId,clientType:a$1,channelId:ee,baseIndex:pe,count:ct,contain:0,operationId:J,decryptDeps:Pn("history"),prepareKey:be===void 0&&ln===void 0?void 0:ye=>Sn([ye]),onContentDecodeError:U,onReaction:Ve});}catch(ye){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:J,data:{baseIndexPresent:pe!=="",direction:1,contain:0,count:ct},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:ye}})),ye}Z?.throwIfAborted();let ke=z$1.getConversationContext(t);return !m$1||te!==on||ae!==ze(ee)||ke?.type!=="channel"||ke.channelState!==void 0&&Ge(ke.channelState)?{messages:[],exhausted:true}:(Z?.throwIfAborted(),De.messages.length>0&&z$1.upsertMessages(De.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:J,data:{responseBatchSize:De.batchSize,messageCount:De.messages.length,exhausted:De.exhausted,nextBaseIndexPresent:De.nextBaseIndex!==void 0}})),{messages:De.messages,exhausted:De.exhausted,...De.nextBaseIndex===void 0?{}:{nextCursor:De.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${Q.type}`)};let Er=t=>{t.length>0&&z$1.upsertMessages(t,"offline",{backfillOnly:true});},wr=async()=>{let t=await d$1.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}},el=async t=>{let{userId:l}=await wr(),D=await ua({http:f$1,userId:l,clientType:a$1,messageIds:t,decryptDeps:await Nr(l),onReaction:Ve});return Er(D.messages),{messages:D.messages,missingMessageIds:D.missingMessageIds}},nl=async(t,l)=>{let{userId:D}=await wr(),V=await va({http:f$1,userId:D,clientType:a$1,groupId:t,messageIds:l,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ve});return Er(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},tl=async(t,l)=>{let{userId:D}=await wr(),V=await wa$1({http:f$1,userId:D,clientType:a$1,channelId:t,messageIds:l,operationId:C$1("history"),decryptDeps:Pn("history"),prepareKey:be===void 0&&ln===void 0?void 0:se=>Sn([se]),onContentDecodeError:U,onReaction:Ve});return Er(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},rl=ob([lb({includeOppositeEnd:true}),mb({resolveGroupKey:xo}),kb({resolveChannelKey:ko}),nb()]),ol=Xa$1([Ya(),Za(),_a()]),al=na([oa(),pa(),qa({resolveChannelKey:ko,resolveProfile:t=>sn?.getProfile(t)??Promise.resolve(null)})]),We=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Xn=()=>false,Ut=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Bo=()=>{},ut=()=>{},pt={...z$1,removeConversationForMembershipTermination:(t,l)=>{Bo(t,l),t.conversationType==="group"?en?.clearGroupKeys(t.conversationId):be?.clearChannelKey(t.conversationId),z$1.removeConversationForMembershipTermination(t,l),w$1.api.resetBackground(t).catch(D=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:D}}));}},mt=Oa({domainState:z$1,sendFrame:t=>We(t),getSelfId:()=>s$1,isAuthenticated:()=>Xn(),reportReaction:t=>Ae.reportReaction(t),isEmojiSupported:ec,logger:K});Ve=t=>{mt.ingest(t,"offline");};let il=Pa({manager:mt,getSelfId:()=>s$1,logger:K}),sl=gb$1({domainState:z$1,outbox:{onChatAck:t=>Ut(t)},sendFrame:t=>We(t),getSelfId:()=>s$1,emitter:n$2,logger:K,keepRaw:true,decrypt:$d(),isActive:()=>m$1}),cl=bb({domainState:z$1,outbox:{onChatAck:t=>Ut(t)},sendFrame:t=>We(t),getSelfId:()=>s$1,emitter:n$2,logger:K,keepRaw:true,decrypt:Wd()}),dl=hb({domainState:z$1,outbox:{onChatAck:t=>Ut(t)},sendFrame:t=>We(t),getSelfId:()=>s$1,emitter:n$2,logger:K,keepRaw:true}),ll=ab({domainState:z$1,sendFrame:t=>We(t),getSelfId:()=>s$1,emitter:n$2,logger:K,keepRaw:true,decrypt:{crypto:Ze,resolveChannelKey:Oo,resolveUserPrivateKey:Mr,onDecryptRecovery:x}}),ul=$a$1({getSelfId:()=>s$1,sendFrame:t=>We(t),emitter:n$2}),pl=ib({emitter:n$2,getSelfId:()=>s$1}),ml=eb({sendFrame:t=>We(t),emitter:n$2,getSelfId:()=>s$1,domainState:{reconcileDirectContactEstablishedNotice:z$1.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){z$1.removeConversation(t);return}t.conversationType==="direct"&&fe(t,"friend_relation_removed"),z$1.removeConversation(t);})},resetDirectReadReceiptPreference:t=>p$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:fn.updateRelationshipFromEvent}),fl=jb({sendFrame:t=>We(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:z$1.applyTransferStatusBySerialNumber}}),gl=db({getSelfId:()=>s$1,sendFrame:t=>We(t),emitter:n$2}),Il=cb({getSelfId:()=>s$1,domainState:z$1,sendFrame:t=>We(t),emitter:n$2,onRelationshipChanged:fn.updateRelationshipFromEvent}),Tr=n({sendFrame:t=>We(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Xn(),domainState:z$1}),_r=z({sendFrame:t=>We(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Xn(),domainState:z$1}),Go=[...Tr.handlers,..._r.commandHandlers],yl=2e3,ft,Dr=false,Ho=new Set;async function jo(){if(Dr||!m$1||!Xn())return;let t=await d$1.getLoginContext();if(t!==null){Dr=true;try{let l=[];for(;;){let D=await Ia({http:f$1,userId:t.userId,clientType:a$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:D.items.length,cmdIds:D.items.map(V=>`0x${V.cmdId.toString(16)}`)}})),D.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let V of D.items){if(n$2.emit({type:"notification",cmdId:V.cmdId,name:"OFFLINE_SIGNAL"}),V.msgId!==""&&Ho.has(V.msgId))continue;V.msgId!==""&&Ho.add(V.msgId);let se=Go.find(Z=>Z.command===V.cmdId);se!==void 0&&se.handler(V.cmdId,V.body);}if(D.deliveredMsgIds.length===0)break;l=D.deliveredMsgIds;}}catch(l){n$2.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{Dr=false;}}}function vl(){jo(),ft===void 0&&(ft=setInterval(()=>{jo();},yl));}function zo(){ft!==void 0&&clearInterval(ft),ft=void 0;}let hl=fb$1({domainState:z$1,sendFrame:t=>We(t),getSelfId:()=>s$1,emitter:n$2,logger:K,keepRaw:true}),Cl=Ma({domainState:pt,getSelfId:()=>s$1,prefetchGroupKey:Nt,clearGroupKeys:t=>{en?.clearGroupKeys(t);},clearConversationTermination:t=>ut(t)}),bl=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&Cl.handleMessage(t.message);}),Vo=Da({domainState:pt,getSelfId:()=>s$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:be!==void 0&&be.getCachedChannelKey(t)!==null}})),be!==void 0&&be.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=be!==void 0&&be.getCachedChannelKey(t)!==null;be?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>ut(t),stopChannelHistory:t=>{let l=ze(t);Ot(t),z$1.messageWindow.info().conversationId===t&&z$1.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:ze(t)}}));}}),Ml=n$2.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(s$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:z$1.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Vo.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),Sl=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"]),Pl=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Al=n$2.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,D=l.body.system?.eventType;l.conversationType==="channel"&&D!==void 0&&(Sl.has(D)&&I?.invalidateChannelMembers(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}),Pl.has(D)&&k.invalidate(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}));}),qo=Vs({...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2}),Wo=_c({...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2}),Nn=Dc({...xt===void 0?{}:{joinApplications:xt},http:f$1,clientType:a$1,buildOfflineDecrypt:()=>Pn("history"),onContentDecodeError:U,onReaction:Ve,...be===void 0&&ln===void 0?{}:{prepareKey:t=>Sn([t])}});On=async(t,l,D)=>{let{context:V}=await Nn.loadMessageContext(t,l,D);return V.messages};let Rl=kc({authProvider:d$1,emitter:n$2,domainState:z$1,loadMessageContext:Nn.loadMessageContext,isActive:()=>m$1,getHistoryGeneration:()=>on,getHistoryEpoch:ze}),kr=Rd({domainState:z$1,isActive:()=>m$1,loadSummary:async({channelId:t,readCursor:l})=>{let D=await d$1.getLoginContext();if(D===null||!m$1||D.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:f$1,userId:D.userId,clientType:a$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(se=>se.channelId===t)},report:(t,l,D)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:D}))}),Or=Ra({domainState:z$1,updateReadIndex:async({channelId:t,readCursor:l})=>{let D=await d$1.getLoginContext();if(D===null||!m$1||D.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:f$1,userId:D.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:K,onReadCommitted:kr.request,onReadSettled:kr.settled,syncRead:{getSelfId:()=>s$1,sendFrame:t=>We(t)}}),El=Qa({getSelfId:()=>s$1,applyRemoteRead:t=>Or.applyRemoteRead(t),emitter:n$2,logger:K}),wl=Va$1([Ua({domainState:z$1,markGroupReadAll:async t=>{let l=await d$1.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:f$1,userId:l.userId,groupId:t});},emitter:n$2,logger:K,isAuthenticated:()=>Xn(),syncRead:{getSelfId:()=>s$1,sendFrame:t=>We(t)}}),Or,Wa$1({domainState:z$1})]),gt=tb({getSelfId:()=>s$1,sendFrame:t=>We(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Tl=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&gt.setAuthenticated(false);}),Ie=pb({transport:M,authProvider:d$1,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:z$1,logger:K,decrypt:{crypto:Ze,resolvePrivateKey:({msgType:t})=>t===1?ln?.getCachedPrivateKey(s$1)?.privateKey??null:null,onDecryptError:t=>ne("live",t),onDecryptRecovery:x},encryptSend:_o===void 0&&be===void 0?void 0:{crypto:Ze,resolvePublicKey:t=>_o?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:xo},media:Cn!==void 0?{transfer:Cn,recoveryPort:v?.port,shouldPersistUpload:(t,l)=>v!==void 0&&Za$1(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>b.wait(t),preview:Vd,onTransferError:t=>{u$1.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},onAlbumContentSize:t=>{u$1.record(t.outcome==="rejected"?"error":"warn","core","media",t.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:t.conversation,data:{messageId:t.messageId,itemCount:t.itemCount,...t.contentBytes===void 0?{}:{contentBytes:t.contentBytes}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:t.cause}}}));},...y===void 0?{}:{assetCache:y,onAssetCacheError:t=>{u$1.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:rl,commandHandlers:[...gt.commandHandlers,...ml,...pl,...fl,...gl,...Il,...Go,...il,...sl,...hl,...cl,...ll,...ul,...El,...dl],readStrategies:wl,canSendDirectReadReceipt:t=>{if(!p$1.isDirectReadReceiptEnabled(t))return false;let l=fn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:ol,channelMessageDeletion:{resolveProfile:t=>sn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>z$1.refreshConversationProfile(t,"channel")},editStrategies:al,storage:P,onAuthenticated:()=>{gt.setAuthenticated(true);for(let l of $)l.resumeMedia();let t=N;N=true,(t||E==="auto")&&Xo().catch(()=>{}),vl();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);i$1=t=>Ie.suppressDirectReadReceipts(t),o$1=t=>Ie.resumeDirectReadReceipts(t),We=Ie.sendFrame,Xn=()=>Ie.state==="authenticated",Ut=Ie.onChatAck,fe=Ie.terminateConversationSending,Bo=Ie.markOutboxConversationTerminated,ut=Ie.clearOutboxConversationTerminated;let $o=vc({operations:{getPending:Ie.getPendingOutbox,retry:Ie.retryOutboxMessage,cancel:Ie.cancelOutboxMessage},emitter:n$2,isActive:()=>m$1}),Ne=Uc({connection:Ie,domainState:z$1,crypto:Ze,...Cn===void 0?{}:{mediaTransfer:Cn},prepareDirectReadReceipt:async t=>{try{await fn.ensureRelationship(t);}catch(l){n$2.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),xr=Ic({recoveryPort:v?.port,connection:Ie,domainState:z$1,emitter:n$2,isActive:()=>m$1,preparePreview:To,prepareVideoPoster:qd,onLocalPreviewError:({kind:t,byteLength:l,cause:D})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:c,data:{kind:t,byteLength:l},error:{message:D instanceof Error?D.message:String(D)}}));},...y===void 0?{}:{assetCache:y,onAssetCacheEvent:t=>{u$1.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...Cn===void 0?{}:{loaders:{loadImage:Ne.operations.loadImage,loadVideo:Ne.operations.loadVideo,loadVoice:Ne.operations.loadVoice,loadFile:Ne.operations.loadFile}}});dn=()=>{Ie.invalidateMediaAssetCacheWrites(),xr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(Ie.setConnectionAllowed(false),L=cb$1({onChange:(t,l)=>{if(!t)return Y=true,Ie.setConnectionAllowed(false),m$1?(Dl(),ea({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):me?.then(()=>{})},onError:t=>{ce=t,n$2.emit({type:"error",error:{scope:"transport",message:"IM \u9875\u9762\u8FDE\u63A5\u534F\u8C03\u4E0D\u53EF\u7528\uFF0C\u8BF7\u4F7F\u7528\u652F\u6301 Web Locks \u7684\u5B89\u5168\u6D4F\u89C8\u5668\u73AF\u5883",cause:t}});}}));async function _l(t){if(!(L===void 0||!m$1)){if(!Y){G??=L.start(r.forAccount(t).name("ephemeral","connection",`client-${a$1}`));let l=await G;if(!m$1)return;if(m$1&&!Y&&l&&L.owned){Ie.setConnectionAllowed(true);return}}throw Ie.setConnectionAllowed(false),await Ie.connect(),ce!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:ce}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Kt=db$1({onOnline:()=>{b.setOnline(true),Ie.notifyOnline();},onOffline:()=>{b.setOnline(false),Ie.notifyOffline();},onVisible:()=>{Ie.notifyVisible();for(let t of $)t.resumeMedia();},onPageHide:()=>{S$1&&Ie.suspendForPageLifecycle();},onPageShow:()=>{if(S$1){Ie.resumeFromPageLifecycle(),Ie.notifyVisible();for(let t of $)t.resumeMedia();}}},e$1.network);function Dl(){m$1=false,Oe.dispose(),ue?.dispose(),S$1=false,_+=1,Kt.stop();}let kl=n$2.subscribe(t=>{!m$1||t.type!=="auth:invalid"||(S$1=false,_+=1,Y=L!==void 0,L?.terminate(),Kt.stop());});async function Nr(t){let l=await ln?.getUserPrivateKey(t)??null;return {crypto:Ze,resolvePrivateKey:({msgType:D})=>D===1?l?.privateKey??null:null,onDecryptError:D=>ne("offline",D,t),onDecryptRecovery:x}}function Jo(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:D,limit:V})=>{let se=await d$1.getLoginContext();if(se===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let Z=await Nr(se.userId);return l({http:f$1,userId:se.userId,clientType:a$1,decryptDeps:Z,deliveredMsgInfos:D,...V===void 0?{}:{limit:V},onReaction:Ve})}}}let Ol=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let D=await d$1.getLoginContext();if(D===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Fa({http:f$1,userId:D.userId,clientType:a$1,decryptDeps:Wn("offline"),prepareKeys:qn,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:Ve})}});async function Yo(t){let l=[...new Map(t.map(se=>[Ha(se),se])).values()],D=0,V=async()=>{for(;D<l.length;){if(!m$1)return;let se=l[D++];if(!(z$1.getSession(se)===void 0||Yn(se)===void 0))try{ue.invalidate(se,{preserveForeground:!0}),await Te({conversation:se,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(Z){if(!m$1||z$1.getSession(se)===void 0||Yn(se)===void 0)continue;n$2.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:Z}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:se,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:Z}}));}}};await Promise.all(Array.from({length:Math.min(3,l.length)},V));}async function xl(){let t=await d$1.getLoginContext();if(t===null)return;let l=await Ga({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:Wn("offline"),prepareKeys:qn,onReaction:Ve});if(m$1){for(let D of l.unreads)z$1.applyServerUnread({conversationType:"group",conversationId:D.groupId},D.unreadCount),Nt(D.groupId);l.messages.length>0&&z$1.upsertMessages(l.messages,"offline"),await Yo(l.unreads.map(D=>({conversationType:"group",conversationId:D.groupId})));}}async function Nl(){let t=C$1("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:a$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:a$1}}));try{await Ll(t);}catch(l){throw u$1.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Ll(t){if(sn===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await d$1.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let D=await sn.listProfiles({forceRefresh:true});if(!m$1)return;if(D.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let V=new Map(D.map(F=>[F.id,F]));for(let F of D){if(g(F.channelState)){be?.clearChannelKey(F.id),pt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:F.id},`channel_${F.channelState}`);continue}let le=F.permissions.sendMessages?void 0:`channel_${F.channelState}`;z$1.setChannelRestriction(F.id,F.channelState,le,{permissions:F.permissions,...F.accessSnapshot===void 0?{}:{snapshot:F.accessSnapshot}}),z$1.updateConversationProfile({conversationType:"channel",conversationId:F.id},{title:F.name,avatar:F.avatar}),F.muted!==void 0&&z$1.setMuted({conversationType:"channel",conversationId:F.id},F.muted);}let se=new Map(D.map(F=>{let le={conversationType:"channel",conversationId:F.id},Re=z$1.getReadState(le),we=z$1.getSession(le);return [F.id,{revision:z$1.getChannelReadRevision(le),pending:z$1.hasPendingChannelRead(le),readCursor:Re?.readCursor??we?.readCursor??"",unreadCount:we?.unreadCount??Re?.unreadCount??0,mentionUnreadCount:we?.mentionUnreadCount??Re?.mentionUnreadCount??0}]})),Z=D.map(F=>({channelId:F.id,readCursor:se.get(F.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:Z.length,channelsWithReadCursor:Z.filter(F=>F.readCursor!=="").length,clientTypeHeader:a$1,clientTypeBody:a$1}}));let ee=await xa$1({http:f$1,userId:l.userId,clientType:a$1,channels:Z,operationId:t,decryptDeps:Pn("offline"),prepareKeys:F=>Sn(F.filter(le=>{let Re=V.get(le)?.channelState;return Re===void 0||!Ge(Re)})),onContentDecodeError:U,onReaction:Ve});if(!m$1)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:ee.length,lastMessageCount:ee.filter(F=>F.last!==void 0).length,decryptFailedLastCount:ee.filter(F=>F.last?.encryption.decryptFailed===true).length,unknownContentLastCount:ee.filter(F=>F.last?.contentType==="unknown"&&F.last.encryption.decryptFailed!==true).length}}));let Q=new Set(ee.filter(F=>{let le=se.get(F.channelId),Re={conversationType:"channel",conversationId:F.channelId},we=z$1.getReadState(Re),bn=z$1.getSession(Re);return le===void 0||le.pending||z$1.hasPendingChannelRead(Re)||z$1.getChannelReadRevision(Re)!==le.revision||(we?.readCursor??bn?.readCursor??"")!==le.readCursor||(bn?.unreadCount??we?.unreadCount??0)!==le.unreadCount||(bn?.mentionUnreadCount??we?.mentionUnreadCount??0)!==le.mentionUnreadCount}).map(F=>F.channelId)),J=ee.filter(F=>z$1.getConversationContext({conversationType:"channel",conversationId:F.channelId})!==void 0).map(F=>{let Re=V.get(F.channelId)?.channelState,we=Re!==void 0&&Ge(Re)?Re:Ge(F.channelState)?F.channelState:Re??F.channelState,bn=we==="active"?void 0:we===F.channelState?F.sendDisabledReason:`channel_${we}`;return {...F,channelState:we,sendDisabledReason:bn}});for(let F of J){let le=V.get(F.channelId);z$1.setChannelRestriction(F.channelId,F.channelState,F.sendDisabledReason,le===void 0?void 0:{permissions:le.permissions,...le.accessSnapshot===void 0?{}:{snapshot:le.accessSnapshot}}),le!==void 0&&(z$1.updateConversationProfile({conversationType:"channel",conversationId:F.channelId},{title:le.name,avatar:le.avatar}),le.muted!==void 0&&z$1.setMuted({conversationType:"channel",conversationId:F.channelId},le.muted)),Q.has(F.channelId)||z$1.applyChannelReadSummary({conversationType:"channel",conversationId:F.channelId},F),Ge(F.channelState)&&be?.clearChannelKey(F.channelId);}let te=on,ae=new Map(J.map(F=>[F.channelId,ze(F.channelId)])),de=F=>{if(!m$1||te!==on)return [];let le=F.filter(Re=>ae.get(Re.conversationId)===ze(Re.conversationId)&&z$1.getConversationContext({conversationType:"channel",conversationId:Re.conversationId})!==void 0);return le.length>0&&z$1.upsertMessages(le,"offline",{applyChannelLifecycleEffects:true}),le};de(J.flatMap(F=>F.last===void 0?[]:[F.last])),await Yo(J.filter(F=>F.last===void 0&&!Ge(F.channelState)).map(F=>({conversationType:"channel",conversationId:F.channelId})));let pe=J.filter(F=>!Q.has(F.channelId)&&!Ge(F.channelState)&&F.unreadCount>0&&F.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let F={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let le of J)Q.has(le.channelId)?F.staleRead+=1:Ge(le.channelState)?F.historyBlocked+=1:le.unreadCount<=0?F.zeroUnread+=1:le.readCursor===""&&(F.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:J.length,eligibleChannelCount:pe.length,staleReadSkippedCount:F.staleRead,historyBlockedSkippedCount:F.historyBlocked,zeroUnreadSkippedCount:F.zeroUnread,emptyReadCursorSkippedCount:F.emptyReadCursor,direction:0,contain:0,count:ct}}});let De=[],ke;if(await ya$1({http:f$1,userId:l.userId,clientType:a$1,operationId:t,pulls:pe.map(F=>({channelId:F.channelId,baseIndex:F.readCursor})),messageCount:ct,decryptDeps:Pn("offline"),prepareKeys:Sn,onContentDecodeError:U,onReaction:Ve,onPage:F=>De.push(...de(F))}).catch(F=>{ke={cause:F};}),!m$1)return;let ye=J.flatMap(F=>{let le=F.last;if(le===void 0||lt(le))return [];let Re=le.extensions?.historyCursor;return [{summary:F,last:le,historyCursor:typeof Re=="string"?Re.trim():""}]}),Le=(F,le)=>`${F}:${le}`,Ce=new Map,nn=new Set;for(let{summary:F,last:le}of ye){let Re=z$1.getConversationMessage({conversationType:"channel",conversationId:F.channelId},le.id);if(Re===void 0||!lt(Re))continue;let we=Le(F.channelId,le.id);Ce.set(we,Re),nn.add(we);}for(let F of De)lt(F)&&Ce.set(Le(F.conversationId,F.id),F);let pn=ye.filter(({summary:F,last:le,historyCursor:Re})=>Re!==""&&!Q.has(F.channelId)&&!Ge(F.channelState)&&!Ce.has(Le(le.conversationId,le.id))&&!Pr.has(Le(le.conversationId,le.id))),He=ye.filter(({summary:F,last:le})=>!Q.has(F.channelId)&&!Ge(F.channelState)&&!nn.has(Le(le.conversationId,le.id))&&Ce.has(Le(le.conversationId,le.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:ye.length,decryptFailedLastCount:ye.filter(({last:F})=>F.encryption.decryptFailed===true).length,unknownContentLastCount:ye.filter(({last:F})=>F.contentType==="unknown"&&F.encryption.decryptFailed!==true).length,localRecoveredCount:nn.size,offlineRecoveredCount:He,contextRecoveryCount:pn.length,staleReadSkippedCount:ye.filter(F=>Q.has(F.summary.channelId)).length,historyBlockedSkippedCount:ye.filter(F=>Ge(F.summary.channelState)).length,missingHistoryCursorCount:ye.filter(F=>F.historyCursor==="").length}}));let Zn=await Promise.all(pn.map(async({summary:F,last:le,historyCursor:Re})=>{try{let{message:we}=await Nn.loadMessageContext(F.channelId,Re,l.userId),bn=z$1.getConversationContext({conversationType:"channel",conversationId:F.channelId});if(!m$1||bn?.type!=="channel"||bn.channelState!==void 0&&Ge(bn.channelState))return;if(we.conversationType!=="channel"||we.conversationId!==F.channelId||we.id!==le.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${F.channelId}, messageId=${le.id}\uFF09`);if(!lt(we)){if(we.contentType==="unknown"&&we.encryption.decryptFailed!==!0){Pr.add(Le(we.conversationId,we.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:F.channelId},data:{messageId:le.id,reason:we.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${F.channelId}, messageId=${le.id}\uFF09`)}return we}catch(we){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:F.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:we},data:{messageId:le.id}}));return}}));for(let F of Zn)F!==void 0&&Ce.set(Le(F.conversationId,F.id),F);let Gt=Zn.filter(F=>{if(F===void 0)return false;let le=z$1.getConversationMessage({conversationType:"channel",conversationId:F.conversationId},F.id);return le===void 0||!lt(le)});if(de(Gt),ke!==void 0)throw ke.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:D.length,terminalProfileCount:D.filter(F=>g(F.channelState)).length,sessionCount:ee.length,acceptedSessionCount:J.length,sessionLastCount:J.filter(F=>F.last!==void 0).length,recoveredSessionLastCount:ye.filter(({last:F})=>Ce.has(Le(F.conversationId,F.id))).length,offlineMessageCount:De.length}}));}let It=null,Lr=false;function Fl(){return It!==null?(Lr=true,It):(It=(async()=>{let l;do{Lr=false,l=void 0;try{await Nl();}catch(D){l=D;}}while(Lr);if(l!==void 0)throw l})().finally(()=>{It=null;}),It)}let Ul=yb({pullers:[Jo("chat",Ba),Jo("owner_chat",Ca),Ol()],domainState:z$1,emitter:n$2,logger:K,yieldToEventLoop:b$1});function Kl(){return m$1&&T$1==="ready"&&Ue&&Se===0&&Ie.state==="authenticated"}async function Xo(){if(L!==void 0&&(!L.owned||Y))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=Oe.begin(),l=xl().catch(V=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:V}})),D=Fl().catch(V=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:V}}));Se+=1;try{let se=(await Promise.allSettled([Ul.sync(),l,D])).find(Z=>Z.status==="rejected");if(se?.status==="rejected")throw se.reason}finally{t(),Se-=1,Ue=Ie.state==="authenticated",ue?.notifySchedulingChanged();}}async function Bl(){if(T$1==="ready")return;T$1="preparing";let t=await d$1.getLoginContext();if(m$1){if(t!==null){if(await _l(t.userId),!m$1)return;s$1=t.userId;try{await v?.prepare(t.userId);}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u672C\u6B21\u4E0A\u4F20\u4EC5\u652F\u6301\u5F53\u524D\u9875\u9762\u5185\u6062\u590D"}});}if(!m$1)return;if(ln!==void 0&&ln.getUserPrivateKey(t.userId),P!==void 0)try{if(await P.open({namespace:t.userId}),!m$1)return;try{await p$1.hydrate();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!m$1||(await z$1.hydrate(()=>m$1),!m$1))return;for(let l of z$1.getSessions())l.title===""&&l.type!=="supergroup"&&z$1.refreshConversationProfile(l.id,l.type);if(await Ie.hydrateOutbox(()=>m$1),!m$1)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!m$1)return;if(en!==void 0)for(let l of z$1.getSessions())l.type==="group"&&Nt(l.id);}m$1&&(T$1="ready");}}function Qo(){if(Y)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(T$1==="ready")return Promise.resolve();if(ge!==null)return ge;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),ge=Bl().then(()=>u$1.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw u$1.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{ge=null;}),ge}function Gl(t){if(Y)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!m$1||Y)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(S$1=true,Ie.state==="authenticated")return Promise.resolve();if(oe!==null)return oe;E=t?.initialSync??"auto",N=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:E}}));let D=_;return oe=(async()=>{await Qo(),!(!m$1||!S$1||D!==_)&&(Kt.start(),await Ie.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(V=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:V}})),V}).finally(()=>{oe=null;}),oe}function Zo(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),S$1=false,_+=1,zo(),Ie.disconnect(t),Kt.stop();}function ea(t,l={}){if(me!==void 0)return me;let D,V;return me=new Promise((se,Z)=>{D=se,V=Z;}),Hl(t,l).then(D,V),me}async function Hl(t,l){let D=Date.now(),V;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),m$1=false,Oe.dispose(),kr.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let se=ue?.dispose();Zd(),Tl(),gt.dispose(),zo(),Tr.dispose(),_r.dispose(),mt.dispose(),$o.dispose(),xr.dispose(),br.dispose(),wo.dispose(),fn.dispose();let Z=Ie.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let de of $)de.close();$.clear(),on+=1,Ie.markOutboxForLogout(t?.pendingMessages??"fail"),qo.dispose(),Wo.dispose(),Nn.dispose(),k.dispose(),ie.dispose(),ve.dispose(),w$1.dispose();let ee=p$1.dispose();hr.dispose(),Cr.dispose(),bl(),Ml(),Al(),Vo.dispose(),Or.reset(),be?.clearAll(),$n.clear(),Sr.clear(),Pr.clear(),Zo("im-logout"),(l.requireStorageClose||L?.owned===true)&&await ge?.catch(()=>{});try{await Z;}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u4EFB\u52A1\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u672C\u5730\u6570\u636E\u4E0E\u7F51\u7EDC\u72B6\u6001"}});}try{await v?.dispose(l.preserveUploadRecovery===!0);}catch(de){V=de,n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u6E05\u7406\u5931\u8D25\uFF0C\u8BF7\u6E05\u9664\u6B64\u7AD9\u70B9\u7684\u672C\u5730\u6570\u636E"}});}await z$1.invalidateAndDrainDraftOperations(),await ee,await se,z$1.clearSession();let Q=t?.localData==="purge"?s$1:"",J=Q===""?void 0:V,te,ae=true;if(P!==void 0)try{await P.close();}catch(de){ae=false,Q!==""&&(J=de),l.reportStorageErrors!==false&&n$2.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:de}});}if(Q!==""&&ae)try{O$1!==void 0?await O$1.purgeCurrentAccount({namespaceFactory:r,accountId:Q}):await eb$1(Q,{namespaceFactory:r}),J===void 0&&(te=Q);}catch(de){J=de,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:de}});}if(T$1="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-D,data:{purgedAccountId:te,purgeFailed:J!==void 0}})),B(),j(),kl(),Y=true,(l.requireStorageClose||L!==void 0)&&!ae)throw new Error("Previous chat page could not close its account storage");return L?.stop(),{...te===void 0?{}:{purgedAccountId:te},...J===void 0?{}:{purgeError:J}}}function jl(){return {sessionState:T$1,connectionState:Ie.state,...s$1!==""?{userId:s$1}:{},prepared:T$1==="ready",connectionDesired:S$1,authenticated:Ie.state==="authenticated",receiving:Oe.receiving}}function zl(t){return n$2.subscribe(t)}function Vl(){return {connectionState:Ie.state,pendingOutbox:Ie.getPendingOutbox()}}function ql(){return z$1.getConversationList()}xn=async({conversation:t,newestLoaded:l,cursor:D,limit:V,signal:se})=>{se?.throwIfAborted();let{conversationId:Z}=t,ee=z$1.getConversationContext(t);if(ee===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${Z}\uFF09`);if(ee.type==="direct"||ee.type==="robot")return {messages:[],exhausted:true};if(ee.type==="group"){if(ee.groupState!==void 0&&ee.groupState!=="active")return {messages:[],exhausted:true};let Q=await d$1.getLoginContext();if(Q===null)return {messages:[],exhausted:true};let J=D===void 0?l?.serverTime??l?.createdAt:Ld(D,Z);if(J===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${Z}, messageId=${l?.id??""}\uFF09`);let te=await Ha$1({signal:se,http:f$1,userId:Q.userId,clientType:a$1,groupId:Z,baseTime:J,direct:2,limit:V,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ve});se?.throwIfAborted(),te.messages.length>0&&z$1.upsertMessages(te.messages,"offline",{backfillOnly:true});let ae=te.newestEntryTime,de=te.batchSize<V||ae===void 0||ae<=J;return {messages:te.messages,exhausted:de,...de?{}:{nextCursor:String(ae)}}}if(ee.type==="channel"){if(ee.channelState!==void 0&&Ge(ee.channelState))return {messages:[],exhausted:true};let Q=D??l?.extensions?.historyCursor;if(typeof Q!="string"||Q.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${Z}, messageId=${l?.id??""}\uFF09`);let J=on,te=ze(Z),ae=await d$1.getLoginContext();if(ae===null)return {messages:[],exhausted:true};let de=D===void 0?(await Nn.loadMessageContext(Z,Q,ae.userId,se)).context:await Nn.loadNewerPage(Z,Q,ae.userId,se);se?.throwIfAborted();let pe=z$1.getConversationContext(t);return !m$1||J!==on||te!==ze(Z)||pe?.type!=="channel"||pe.channelState!==void 0&&Ge(pe.channelState)?{messages:[],exhausted:true}:(de.messages.length>0&&z$1.upsertMessages(de.messages,"offline",{backfillOnly:true}),{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}`)};function Wl(t){let l=t.conversationId,D=s$1,V=on,se=ze(l),Z,ee;return async({readCursor:Q,cursor:J,signal:te,isCurrent:ae})=>{let de=()=>{let Ce=z$1.getConversationContext(t);return m$1&&s$1===D&&ae()&&V===on&&se===ze(l)&&Ce?.type==="channel"&&(Ce.channelState===void 0||!Ge(Ce.channelState))};if(te.throwIfAborted(),!de()||J!==void 0&&(Z!==Q||ee===void 0))return;let pe=await d$1.getLoginContext();if(te.throwIfAborted(),pe===null||pe.userId!==D||!de())return;let De=[],ke=[],ye=await S({http:f$1,userId:pe.userId,clientType:a$1,channelId:l,index:J??Q,containAnchor:J===void 0,signal:te,decryptDeps:{...Pn("history"),onDecryptRecovery:Ce=>ke.push({...Ce,source:"history"})},prepareKey:Ce=>Sn([Ce],{recoverExistingMessages:false}),onContentDecodeError:U,onReaction:Ce=>De.push(Ce)});if(te.throwIfAborted(),!de())return;if(J===void 0){let Ce=ye.messages.find(nn=>nn.extensions?.historyCursor===Q);if(Ce===void 0)return;Z=Q,ee=Ce.sortKey;}if(ee===void 0||(ye.messages.length>0&&z$1.upsertMessages(ye.messages,"offline",{backfillOnly:true}),!de()))return;for(let Ce of De){if(!de())return;Ve(Ce);}for(let Ce of ke){if(!de())return;x(Ce);}return de()?{messages:ye.messages.map(Ce=>{let nn=z$1.getConversationMessage(t,Ce.id);if(nn===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return nn}),readCursorSortKey:ee,exhausted:!ye.hasNewer,...ye.nextCursor===void 0?{}:{nextCursor:ye.nextCursor}}:void 0}}async function na$1(){let t=await d$1.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await Nr(t.userId),D=await Da$1({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:Ve}),V=await Ea({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:Ve}),se=[...D,...V];return z$1.upsertMessages(se,"offline"),se}async function $l(){await Xo();}let Jl=2;function cn(t){let l=X({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Yl(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Xl(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let l=t;return {code:l.code,category:l.category,retryable:l.retryable}}return t instanceof n$1?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function ta(t){if(!m$1)throw cn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Ql(t){let l=t?.conversationType,D=t?.conversationId;if(l==="supergroup")throw cn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof D!="string"||D.trim()==="")throw cn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:D.trim()})}function Qn(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 Zl(t){let l=Ql(t);if(ta(l),z$1.getSession(l)!==void 0)return l;let D=Oe.begin(),V=false,se=n$2.subscribe(ee=>{ee.type==="session:removed"&&ee.conversation.conversationType===l.conversationType&&ee.conversation.conversationId===l.conversationId&&(V=true);}),Z=()=>{if(ta(l),V)throw cn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let ae=ie.peekItem("individual",l.conversationId);if(ae!==void 0)return z$1.prepareConversation(Qn(l,{title:ae.displayName||ae.cardDisplayName,...ae.avatarUrl===void 0?{}:{avatar:ae.avatarUrl}})),l;let de=await fn.getRelationship(l.conversationId);if(Z(),de!=="friend")throw cn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:de})});let pe=await fn.getProfile(l.conversationId);if(Z(),pe===null||pe.id!==l.conversationId)throw cn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return z$1.prepareConversation(Qn(l,{title:pe.remark??pe.nickname,...pe.avatar===void 0?{}:{avatar:pe.avatar},...pe.muted===void 0?{}:{muted:pe.muted}})),l}if(l.conversationType==="group"){let ae=z$1.isMembershipTerminated(l),de=ie.peekItem("group",l.conversationId);if(de!==void 0&&!ae)return z$1.prepareConversation(Qn(l,{title:de.displayName||de.cardDisplayName,...de.avatarUrl===void 0?{}:{avatar:de.avatarUrl},groupState:"active"})),l;if(un===void 0)throw cn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let pe=await un.getGroupProfile(l.conversationId,ae?{forceRefresh:!0}:void 0);if(Z(),pe===null||pe.id!==l.conversationId)throw cn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(pe.isInGroup===!1||ae&&pe.isInGroup!==!0||pe.status!==void 0&&pe.status!==Jl)throw cn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...pe.status===void 0?{}:{status:pe.status},...pe.isInGroup===void 0?{}:{isInGroup:pe.isInGroup}})});return z$1.prepareConversation(Qn(l,{title:pe.name,...pe.avatar===void 0?{}:{avatar:pe.avatar},...pe.muted===void 0?{}:{muted:pe.muted},groupState:"active"}),{membershipConfirmed:ae}),ae&&(Z(),ut({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let ae=ve.peek(l.conversationId);return z$1.prepareConversation(Qn(l,{title:ae?.displayName??l.conversationId,...ae?.avatarUrl===void 0?{}:{avatar:ae.avatarUrl}})),l}if(sn===void 0)throw cn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let ee=z$1.isMembershipTerminated(l),Q=await sn.getProfile(l.conversationId,ee?{forceRefresh:!0}:void 0);if(Z(),Q===null||Q.id!==l.conversationId)throw cn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let J=Q.channelState==="active"||Q.channelState==="muted",te=Q.channelState==="muted"&&Q.accessSnapshot?.allMembersMuted===!0&&Q.role!=="owner"&&Q.role!=="admin";if(!J||te)throw cn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:Q.channelState,role:Q.role,hiddenByAllMemberMute:te})});return z$1.prepareConversation(Qn(l,{title:Q.name,...Q.avatar===void 0?{}:{avatar:Q.avatar},...Q.muted===void 0?{}:{muted:Q.muted},channelState:Q.channelState,channelPermissions:Q.permissions,...Q.accessSnapshot===void 0?{}:{channelAccessSnapshot:Q.accessSnapshot},...Q.permissions.sendMessages?{}:{sendDisabledReason:`channel_${Q.channelState}`}}),{membershipConfirmed:ee}),ee&&(Z(),ut({conversationType:"channel",conversationId:l.conversationId})),l}catch(ee){if(Yl(ee))throw ee;let Q=Xl(ee);throw cn({...Q,conversation:l,cause:ee})}finally{se(),D();}}let yt={...Lc({...h$1===void 0?{}:{coreClient:h$1},authProvider:d$1,http:f$1,resolveInput:zd,domainState:z$1,operations:{list:ql,pullOffline:na$1,sync:$l,prefetchRecent:(t,l)=>ue.prefetchRecent(t,l)},beforeDeleteConversation:dt,terminateConversationSending:(t,l)=>Ie.terminateConversationSending(t,l),resetConversationBackground:t=>w$1.api.resetBackground(t),reportStorageError:(t,l)=>n$2.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>Ie.markRead(t,l,"channel")}),...w$1.api,ensureOpenableConversation:Zl,getContext:t=>z$1.getConversationContext(t)};function eu(t){let l=new AbortController,D={...t,resumeMedia(){!m$1||l.signal.aborted||Ie.state!=="authenticated"||t.ref.conversationType==="robot"||Ie.resumePausedMediaUploads(t.ref,l.signal).catch(()=>{m$1&&!l.signal.aborted&&n$2.emit({type:"error",error:{scope:"unknown",message:"\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4F20\u6062\u590D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6"}});});},close(){l.abort(),t.close(),$.delete(D);}};return gr(D,t),$.add(D),D.resumeMedia(),D}function Bt(t,l){if(!m$1)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return l?.aborted&&(t.close(),l.throwIfAborted()),eu(t)}async function nu(t,l={}){if(!m$1)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let D=ue?.enterForeground(t),V=Oe.begin();try{let se={beginReceiving:Oe.begin,domainState:z$1,invalidateHistory:dt,emitter:n$2,drafts:hr.api,sendText:Ne.operations.sendText,sendContact:Ne.operations.sendContact,sendImage:Ne.operations.sendImage,sendVideo:Ne.operations.sendVideo,sendVoice:Ne.operations.sendVoice,sendFile:Ne.operations.sendFile,sendGif:Ne.operations.sendGif,sendMediaAlbum:Ne.operations.sendMediaAlbum,sendExpression:Ne.operations.sendExpression,sendGame:Ne.operations.sendGame,sendMiniProgram:Ne.operations.sendMiniProgram,sendTransfer:Ne.operations.sendTransfer,sendGift:Ne.operations.sendGift,replaceVideo:Ne.operations.replaceInterruptedVideo,replaceFile:Ne.operations.replaceInterruptedFile,forwardMessages:Ne.operations.forwardMessages,recallMessage:Ne.operations.recallMessage,editMessage:Ne.operations.editMessage,setReaction:({conversation:Z,parentMessageId:ee,emoji:Q,action:J})=>{if(Z.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let te={conversationType:Z.conversationType,conversationId:Z.conversationId};return J==="toggle"?mt.toggle({conversation:te,parentMessageId:ee,emoji:Q}):mt.set({conversation:te,parentMessageId:ee,emoji:Q,action:J==="add"?0:1})},markRead:Ne.operations.markRead,markDirectMediaConsumed:Ne.operations.markDirectMediaConsumed,prepareMediaPreview:To,getSelfId:()=>s$1,isOutboxOwned:Z=>Ie.getPendingOutbox().some(ee=>ee.id===Z),hasOutboxForConversation:Z=>Ie.getPendingOutbox().some(ee=>ee.conversationType===Z.conversationType&&ee.conversationId===Z.conversationId),resolveSearchHistoryAnchor:Cr.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let Z={conversationType:"direct",conversationId:t.conversationId},ee=await rd(Z,{...se,getRelationship:fn.getRelationship,shouldCheckRelationship:()=>Ie.state==="authenticated",appendContactRequiredTextFailure:J=>z$1.appendDirectContactRequiredTextFailure({conversationId:J.conversationId,senderId:s$1,text:J.text,...J.refMessageId===void 0?{}:{refMessageId:J.refMessageId}}),setMuted:(J,te)=>yt.setMuted(J,te),fetchMessagesByIdBatch:el},l),Q=Bt(ee,l.signal);return Ft(Z),Q}case "group":{let Z={conversationType:"group",conversationId:t.conversationId},ee=await od(Z,{...se,getSendPermissionError:J=>{let te=z$1.getConversationContext(Z),ae=te?.type==="group"?te.groupState:"unknown";if(!(ae===void 0||ae==="active"))return X({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:J,retryable:!1,conversation:Z,details:Object.freeze({groupState:ae})})},setMuted:(J,te)=>yt.setMuted(J,te),fetchMessagesByIdBatch:J=>nl(Z.conversationId,J)},l),Q=Bt(ee,l.signal);return Ft(Z),Q}case "channel":{let Z={conversationType:"channel",conversationId:t.conversationId},ee=await sd(Z,{...se,loadEntryUnreadPage:Wl(Z),getSelfId:()=>s$1,deleteMessageForEveryone:Ie.deleteChannelMessageForEveryone,reconcilePage:Rl.reconcilePage,getSendPermissionError:J=>{let te=z$1.getConversationContext(Z),ae=te?.type==="channel"&&te.channelState!==void 0?te.channelState:"unknown_restricted",de=Ca$1({channelState:ae,nowMs:Date.now(),...te?.type!=="channel"||te.channelAccessSnapshot===void 0?{}:{snapshot:te.channelAccessSnapshot},...te?.type!=="channel"||te.channelPermissions===void 0?{}:{permissions:te.channelPermissions}});if(!(de.channelState==="active"&&de.permissions.sendMessages))return X({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:J,retryable:!1,conversation:Z,details:Object.freeze({channelState:de.channelState,...de.muteReason===void 0?{}:{muteReason:de.muteReason}})})},setMuted:(J,te)=>yt.setMuted(J,te),fetchMessagesByIdBatch:J=>tl(Z.conversationId,J)},l),Q=Bt(ee,l.signal);return Ft(Z),Q}case "robot":{let Z={conversationType:"robot",conversationId:t.conversationId},ee=await ad(Z,{...se,setMuted:(Q,J)=>yt.setMuted(Q,J)},l);return Bt(ee,l.signal)}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{V(),D?.();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Ne.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:nu,localData:Mn,directory:ie.search,robots:ve.api,search:Cr.api,applications:wo.api,expressions:_e.api,sessionFavorites:Be.api,outbox:$o.api,drafts:hr.api,connection:Kc({operations:{prepare:Qo,connect:Gl,disconnect:Zo,subscribe:zl,getSnapshot:Vl,getLifecycle:jl},getState:()=>Ie.state}),conversations:yt,settings:p$1.api,push:gt.api,contact:fn,group:qs({directory:ie.groups,...un===void 0?{}:{profile:un},...h$1===void 0?{}:{coreClient:h$1},...Cn===void 0?{}:{avatarTransfer:Cn},domainState:{...pt,prepareConversation:t=>z$1.prepareConversation(t)},emitter:n$2,pinned:qo.operations}),channel:Oc({directory:ie.channels,...sn===void 0?{}:{channelProfile:sn},...I===void 0?{}:{channelMembers:I},...R===void 0?{}:{channelMentionMembers:R},mentionCandidates:k.api,applications:Nn.applications,pinned:Wo.operations,...h$1===void 0?{}:{coreClient:h$1},...Cn===void 0?{}:{avatarTransfer:Cn},crypto:Ze,domainState:{prepareConversation:t=>z$1.prepareConversation(t),setChannelRestriction:z$1.setChannelRestriction,removeConversationForMembershipTermination:pt.removeConversationForMembershipTermination,updateConversationProfile:z$1.updateConversationProfile,refreshConversationProfile:z$1.refreshConversationProfile},emitter:n$2,...be===void 0?{}:{cacheCreatedSecretKey:(t,l)=>be.primeChannelKey(t,l)},getSelfUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??""}),media:xr.api,calls:jc(Tr),groupCalls:bd(_r),teardown:ea}}function wm(e){let n=Tm(e);return Bd(Gd(n),e.coreApi!==void 0)}function HI(e){return Gd(_m(e))}function Tm(e){return {...Ud(e),...e.coreApi===void 0?{}:{coreClient:Kd(e.authProvider,e.coreApi)}}}function Ud(e){let{authProvider:n,cache:r,clientType:c,connection:a,debug:d,endpointProvider:s,expressions:u,media:m,onRequestError:v,uploadRecovery:b}=e;return {authProvider:n,onRequestError:v,cache:r,clientType:c,connection:a,debug:d,endpointProvider:s,expressions:u,media:m,uploadRecovery:b}}function _m(e){let{adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:s,coreApi:u,coreClient:m,directory:v,expressionProvider:b,sessionFavoriteProvider:h,http:f,network:M,profile:O,groupApplications:P,transport:x}=e;return {...Ud(e),adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:s,directory:v,expressionProvider:b,sessionFavoriteProvider:h,...m!==void 0?{coreClient:m}:u===void 0?{}:{coreClient:Kd(e.authProvider,u)},http:f,network:M,profile:O,groupApplications:P,transport:x}}function Kd(e,n){let r=n.baseUrl.trim();if(r==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return B({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:r,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function Bd(e,n){let r=pc({getCompatibilityApi:()=>e.conversations,subscribeEvents:i=>e.connection.subscribe(i),getSessionState:()=>e.session.getSnapshot().sessionState}),c={getSnapshot:()=>e.media.getSnapshot(),subscribe:i=>e.media.subscribe(i),cancel:i=>e.media.cancel(i),retry:(i,o)=>e.media.retry(i,o),pause:i=>e.media.pause(i),resume:i=>e.media.resume(i),getUploadRecovery:i=>e.media.getUploadRecovery(i),resumeUpload:(i,o)=>e.media.resumeUpload(i,o),download:i=>e.media.download(i),getCached:i=>e.media.getCached(i),prepareLocalPreview:i=>e.media.prepareLocalPreview(i),prepareLocalVideoPoster:i=>e.media.prepareLocalVideoPoster(i)},a=i=>Promise.reject(X({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:i,retryable:false}));async function d(i,o,p){if(!n)return a(i);try{return await o()}catch(A){throw po(A,i,p)}}function s(i,o,p){if(!n)throw X({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:i,retryable:false,conversation:p});try{return o()}catch(A){throw po(A,i,p)}}let u,m=i=>d("contacts.getRelationship",()=>e.contacts.getRelationship(i)),v=(i,o)=>d("groups.getProfile",async()=>{let p=await e.groups.getProfile(i,o);return p===null?null:Ac(i,p)},i),b=(i,o)=>d("channels.getProfile",async()=>{let p=await e.channels.getProfile(i,o);return p===null?null:Rc(i,p)},i),h={listFirstPage:i=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(i)),listNextPage:i=>d("contacts.listNextPage",()=>e.contacts.listNextPage(i)),getProfile:(i,o)=>d("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(i,o);return p===null?null:Pc(i,p)}),getRelationship:async i=>{let o=i.trim(),p={conversationType:"direct",conversationId:o},A=u?.beginProjectionUpdate(p),C=await m(i);return A!==void 0&&u?.updateRelationshipProjection(o,C,A),C},setRemark:(i,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(i,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}})),searchUser:i=>d("contacts.searchUser",()=>e.contacts.searchUser(i)),requestFriendship:(i,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(i,o)),blockUser:i=>d("contacts.blockUser",()=>e.contacts.blockUser(i),{conversationType:"direct",conversationId:i}),reportUser:(i,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(i,o),{conversationType:"direct",conversationId:i}),deleteFriendship:i=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(i),{conversationType:"direct",conversationId:i})},f={search:i=>d("directory.search",()=>e.directory.search(i))},M={listFirstPage:i=>d("groups.listFirstPage",()=>e.groups.listFirstPage(i)),listNextPage:i=>d("groups.listNextPage",()=>e.groups.listNextPage(i)),uploadAvatar:i=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(i)),create:i=>d("groups.create",()=>e.groups.create(i)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>a("groups.mentions.listAll"),refreshAll:()=>a("groups.mentions.refreshAll")},getProfile:async(i,o)=>{let p=u?.beginProjectionUpdate(i),A=await v(i,o);return p!==void 0&&u?.updateGroupProfileProjection(i,A,p),A},updateName:(i,o)=>d("groups.updateName",()=>e.groups.updateName(i,o),i),updateAvatar:(i,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(i,o),i),setMyNickname:(i,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(i,o),i),updateVerification:(i,o,p)=>d("groups.updateVerification",()=>e.groups.updateVerification(i,o,p),i),requestJoin:(i,o)=>d("groups.requestJoin",()=>e.group.requestJoin(i.conversationId,o),i),joinByInviteCode:(i,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(i.conversationId,o),i),inviteMembers:(i,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(i.conversationId,o),i),removeMember:(i,o)=>d("groups.removeMember",()=>e.group.removeMember(i.conversationId,o),i),transferOwnership:(i,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(i.conversationId,o),i),leave:(i,o)=>d("groups.leave",()=>e.group.leave(i.conversationId,o),i),peekPinnedMessage:i=>s("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(i.conversationId);return o===null?null:pr(i,o)},i),getPinnedMessage:i=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(i);return o===null?null:pr(i,o)},i),pinMessage:(i,o)=>d("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(i,o);return pr(i,p)},i),unpinMessage:i=>d("groups.unpinMessage",()=>e.groups.unpinMessage(i),i)},O={listFirstPage:i=>d("channels.listFirstPage",()=>e.channels.listFirstPage(i)),listNextPage:i=>d("channels.listNextPage",()=>e.channels.listNextPage(i)),uploadAvatar:i=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(i)),create:i=>d("channels.create",()=>e.channels.create(i)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>a("channels.mentions.getCachedPage"),prefetchFirstPage:()=>a("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>a("channels.mentions.refreshFirstPage"),listFirstPage:()=>a("channels.mentions.listFirstPage"),listNextPage:()=>a("channels.mentions.listNextPage"),searchFirstPage:()=>a("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>a("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>a("channels.mentions.searchNextPage")},getProfile:async(i,o)=>{let p=u?.beginProjectionUpdate(i),A=await b(i,o);return p!==void 0&&u?.updateChannelProfileProjection(i,A,p),A},updateName:(i,o)=>d("channels.updateName",()=>e.channel.updateName(i.conversationId,o),i),updateDescription:(i,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(i.conversationId,o),i),updateAvatar:(i,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(i.conversationId,o),i),updateVerification:(i,o,p)=>d("channels.updateVerification",()=>e.channels.updateVerification(i,o,p),i),requestJoin:(i,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(i.conversationId,o),i),joinByInviteCode:(i,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(i.conversationId,o),i),setAllMuted:(i,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(i.conversationId,o),i),setMemberPrivateChatDisabled:(i,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(i.conversationId,o),i),setMyNickname:(i,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(i.conversationId,o),i),setMemberNickname:(i,o,p)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(i.conversationId,o,p),i),inviteMembers:(i,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(i.conversationId,o),i),removeMember:(i,o)=>d("channels.removeMember",()=>e.channel.removeMember(i.conversationId,o),i),addAdmin:(i,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(i.conversationId,o),i),removeAdmin:(i,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(i.conversationId,o),i),transferOwnership:(i,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(i.conversationId,o),i),leave:(i,o)=>d("channels.leave",()=>e.channel.leave(i.conversationId,o),i),dismiss:i=>d("channels.dismiss",()=>e.channel.dismiss(i.conversationId),i),peekPinnedMessage:i=>s("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(i.conversationId);return o===null?null:mr(i,o)},i),getPinnedMessage:i=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(i);return o===null?null:mr(i,o)},i),pinMessage:(i,o)=>d("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(i,o);return mr(i,p)},i),unpinMessage:i=>d("channels.unpinMessage",()=>e.channels.unpinMessage(i),i)},P=uc({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:i=>{let o=e.conversations.getContext(i);return o===void 0?void 0:cr({...o,draft:null})},subscribeConversations:i=>r.api.subscribe(o=>i(o.items)),subscribeContext:i=>e.connection.subscribe(o=>{o.type==="conversation-context:updated"&&o.conversation.conversationType!=="supergroup"&&i({conversationType:o.conversation.conversationType,conversationId:o.conversation.conversationId});}),getRelationship:m,getGroupProfile:v,getChannelProfile:b});u=P;let x=Object.freeze({start:i=>e.session.start(i),stop:i=>e.session.stop(i),logout:async i=>{P.reset();try{await e.session.logout(i);}finally{P.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:i=>e.session.subscribe(i)});async function y(i,o={}){let p=e.conversations,A=e.openConversation,C=await p.ensureOpenableConversation(i);return C.conversationType==="direct"?A({conversationType:"direct",conversationId:C.conversationId},o):C.conversationType==="group"?A({conversationType:"group",conversationId:C.conversationId},o):C.conversationType==="robot"?A({conversationType:"robot",conversationId:C.conversationId},o):A({conversationType:"channel",conversationId:C.conversationId},o)}let w={get session(){return x},get capabilities(){return P.api},get conversations(){return r.api},get directory(){return f},get robots(){return e.robots},get contacts(){return h},get groups(){return M},get channels(){return O},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return c},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:y,dispose:async()=>{P.dispose(),r.dispose(),await e.dispose();}};return mo(w,()=>Tc(e)),w}function jI(e,n){return Bd(e,n.coreApiAvailable)}function Gd(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=sb(),a=0,d=()=>Fd(e,c,r,a++),s=d(),u=false,m;async function v(i){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let o=s;await o.teardown(i),!u&&s===o&&(s=d());}async function b$1(){if(u)throw wn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let i=s,o=await i.localData.getInfo();if(u||s!==i)throw wn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let p;try{p=await i.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(A){throw !u&&s===i&&(s=d()),wn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:o.accountScope,cause:A})}if(!u&&s===i&&(s=d()),p.purgedAccountId!==o.accountScope)throw wn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:o.accountScope,cause:p.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:o.accountScope,category:"all"});}let h=bc({getRuntime:()=>s.localData,purgeCurrentAccount:b$1}),f={start:i=>s.connection.connect(i),stop:async i=>{s.connection.disconnect(i);},logout:v,getSnapshot:()=>s.connection.getLifecycle(),subscribe:i=>(i(s.connection.getLifecycle()),s.connection.subscribe(o=>{(o.type==="connection:changed"||o.type==="receiving:changed")&&i(s.connection.getLifecycle());}))},M=hc({subscribeCore:i=>s.connection.subscribe(i),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:i=>{let o=s.conversations.list().find(p=>p.type===i.conversationType&&p.id===i.conversationId);return o===void 0?void 0:cr(o)},resolveContactApplicationAnswer:async i=>{let o=s,p=await o.contact.resolveApplicationAnswer(i.peerId,i.messageId);return s===o?p:null}}),O={listFirstPage:i=>s.contact.listFirstPage(i),listNextPage:i=>s.contact.listNextPage(i),getProfile:(i,o)=>s.contact.getProfile(i,o),getRelationship:i=>s.contact.getRelationship(i),setRemark:(i,o)=>s.contact.setRemark(i,o),searchUser:i=>s.contact.searchUser(i),requestFriendship:(i,o)=>s.contact.requestFriendship(i,o),blockUser:i=>s.contact.blockUser(i),reportUser:(i,o)=>s.contact.reportUser(i,o),deleteFriendship:i=>s.contact.deleteFriendship(i)},P={listFirstPage:i=>s.group.listFirstPage(i),listNextPage:i=>s.group.listNextPage(i),uploadAvatar:i=>s.group.uploadAvatar(i),create:i=>s.group.create(i),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(i,o)=>s.group.getProfile(i.conversationId,o),updateName:(i,o)=>s.group.updateName(i.conversationId,o),updateAvatar:async(i,o)=>{await s.group.updateAvatar(i.conversationId,o);},setMyNickname:(i,o)=>s.group.setMyNickname(i.conversationId,o),updateVerification:(i,o,p)=>s.group.updateVerification(i.conversationId,o,p),requestJoin:(i,o)=>s.group.requestJoin(i.conversationId,o),joinByInviteCode:(i,o)=>s.group.joinByInviteCode(i.conversationId,o),getPinnedMessage:i=>s.group.getPinnedMessage(i.conversationId),pinMessage:(i,o)=>s.group.pinMessage({groupId:i.conversationId,messageId:o}),unpinMessage:i=>s.group.unpinMessage(i.conversationId)},x={listFirstPage:i=>s.channel.listFirstPage(i),listNextPage:i=>s.channel.listNextPage(i),uploadAvatar:i=>s.channel.uploadAvatar(i),create:i=>s.channel.create(i),get mentions(){return s.channel.mentions},getProfile:(i,o)=>s.channel.getProfile(i.conversationId,o),updateVerification:(i,o,p)=>s.channel.updateVerification(i.conversationId,o,p),requestJoin:(i,o)=>s.channel.requestJoin(i.conversationId,o),joinByInviteCode:(i,o)=>s.channel.joinByInviteCode(i.conversationId,o),setAllMuted:(i,o)=>s.channel.setAllMuted(i.conversationId,o),setMemberPrivateChatDisabled:(i,o)=>s.channel.setMemberPrivateChatDisabled(i.conversationId,o),setMyNickname:(i,o)=>s.channel.setMyNickname(i.conversationId,o),setMemberNickname:(i,o,p)=>s.channel.setMemberNickname(i.conversationId,o,p),dismiss:i=>s.channel.dismiss(i.conversationId),getPinnedMessage:i=>s.channel.getPinnedMessage(i.conversationId),pinMessage:(i,o)=>s.channel.pinMessage({channelId:i.conversationId,messageId:o}),unpinMessage:i=>s.channel.unpinMessage(i.conversationId)};function y(){return m!==void 0||(u=true,m=s.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>c.clear())),m}let w={get session(){return f},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get robots(){return s.robots},get contacts(){return O},get groups(){return P},get channels(){return x},get events(){return M},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 push(){return s.push},get outbox(){return s.outbox},get localData(){return h},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get sessionFavorites(){return s.sessionFavorites},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:v,dispose:y};return mo(w,()=>s.advancedMessageDiagnostics),w}var Dm=new TextEncoder;function Hd(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 jd(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))jd(r,n);return Object.freeze(e)}function km(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:jd(n),estimatedBytes:Dm.encode(r).byteLength}}catch{return}}function Om(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 xm(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&&Om(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 Nm(e={}){let n=Hd(e.maxRecords,200,"maxRecords"),r=Hd(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,a=[],d=0,s=0,u=false;function m(h){let f=a.map(M=>M.record).filter(M=>h===void 0||xm(M,h));return Object.freeze({records:Object.freeze(f),droppedCount:s,estimatedBytes:d,disposed:u})}function v(){let h=m();for(let f of c)try{f(h);}catch{}}function b(){a.length=0,d=0,s=0;}return {write(h){if(u)return;let f=km(h);if(f===void 0||f.estimatedBytes>r){s+=1,v();return}for(a.push(f),d+=f.estimatedBytes;a.length>n||d>r;){let M=a.shift();if(M===void 0)break;d-=M.estimatedBytes,s+=1;}v();},getSnapshot:m,subscribe(h){if(u)return ()=>{};c.add(h);let f=true;return ()=>{f&&(f=false,c.delete(h));}},clear(){u||(b(),v());},dispose(){u||(u=true,b(),c.clear());}}}function Lm(e){let n=$a({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),r=new Map,c;function a(s){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(s.file instanceof Blob))return Promise.reject(new Xa("upload-source-invalid","Resource upload requires a File or Blob"));if(s.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let m=new AbortController,v=()=>m.abort();s.signal?.addEventListener("abort",v,{once:true});let b=true,h=()=>{if(m.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=s.filename??(typeof File<"u"&&s.file instanceof File?s.file.name:void 0),M=(async()=>{try{let O=await u.uploadResource({data:s.file,kind:s.kind,...f===void 0?{}:{filename:f},...s.file.type===""?{}:{mimeType:s.file.type},signal:m.signal,onProgress:P=>{b&&!m.signal.aborted&&s.onProgress?.(P);}});if(h(),O.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:O.url}}catch(O){throw O instanceof Xa&&O.code==="multipart-abort-failed"||h(),O}finally{b=false,s.signal?.removeEventListener("abort",v);}})();return r.set(m,M),M.then(()=>r.delete(m),()=>r.delete(m)),M}function d(){if(c!==void 0)return c;n=void 0;let s=[...r.values()];for(let u of r.keys())u.abort();return c=Promise.allSettled(s).then(()=>{}),c}return {upload:a,dispose:d}}export{tu as a,fc as b,Me as c,tr as d,pu as e,or as f,Js as g,Ys as h,Qr as i,Zr as j,Zs as k,ar as l,no as m,sr as n,wm as o,HI as p,jI as q,Nm as r,Lm as s};