k2-im 0.1.30 → 0.1.32

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,Ya,Va,bb,ab,C,p,t,u,w,A,Sa,s,l,m,i,Ua,Ta,e,h,f,a,fa,Ha as Ha$1,za,Aa,T,ma,Za as Za$1,_a as _a$1,b as b$1,v,_,$,U,Z,W as W$1,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,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,$a as $a$1}from'./chunk-GAAHNTJM.js';import {b,qb,xa,sb,rb,La,Ha,ob,lb,mb,kb,nb,Xa,Ya as Ya$1,Za,_a,na,oa,pa,qa,Oa,Pa,gb,bb as bb$1,hb,ab as ab$1,$a,ib,eb,jb,db,cb,n,z,fb,Ma,Da,Ra,Qa,Va as Va$1,Ua as Ua$1,Wa,tb,pb,yb,wa,j,Na,x,y,A as A$1,B as B$1,Ta as Ta$1,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,C as C$1,Sa as Sa$1,E,m as m$1,ma as ma$1,ha}from'./chunk-QQ23QYWK.js';async function Ul(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let c={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(c.fromPrefix===c.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(c);}catch(i){try{await e.migrator.rollback(c,i);}catch(d){throw new AggregateError([i,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var Ce=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 Sn(e,n,r){return n===39081?new Ce({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new Ce({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Pn(e,n){return n instanceof Ce?n:n instanceof c?new Ce({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new Ce({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Yt(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function Bl(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function yt(e){let{teaKey:n,fileEncryptType:r,...c}=e;return c}function Gl(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(yt(e.image))},...e.video===void 0?{}:{video:Object.freeze(yt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(yt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(yt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(yt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Xt(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Gl(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:Bl(e.reactions)}})}function Zn(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 W(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function ht(e,n,r){return W({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function An(e,n,r){return W({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function et(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 Hl="IM_SDK_GROUP_NOT_MEMBER",jl="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",zl="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Vl="IM_SDK_GROUP_MANAGEMENT_FAILED";function _s(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ql(e,n,r){if(_s(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,i=e instanceof na$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c$1===39011?Hl:c$1===39029?jl:c$1===39033?zl:e instanceof d$1?Vl:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof na$1?"contract":e instanceof c?"network":c$1===39029?"permission":"state",a=W({code:i,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"),a)}async function Nn(e,n,r){try{return await r()}catch(c){throw ql(c,e,n)??c}}var Ts=39005,Wl=39057,$l=39061;function Ds(e){let n=new Map,r=new Map,c=true,i=f=>({conversationType:"group",conversationId:f});function d(f){r.set(f,(r.get(f)??0)+1);}function a(f){if(!c||n.has(f))return;let v=r.get(f)??0,D=(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 w=await da({client:e.coreClient,groupId:f});if(!c||(r.get(f)??0)!==v)return;if(!w.ok){e.emitter.emit({type:"error",error:{scope:"http",code:w.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${w.message}`,cause:{conversationId:f}}});return}if(w.data===null){e.domainState.clearPinnedMessage(i(f),"reconcile");return}e.domainState.setPinnedMessage(x(w.data.messageContent,{conversationId:f}),"reconcile");}catch(w){if(!c||(r.get(f)??0)!==v)return;let O=w instanceof h$1||w instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:O,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:w}});}})();n.set(f,D),D.finally(()=>{n.get(f)===D&&n.delete(f);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),g=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let v=f.message.body.system?.pinnedMessageAction;(v?.type==="pin"||v?.type==="unpin")&&d(f.message.conversationId),u.handleMessage(f.message);});function m(f,v){if(v.trim()==="")throw new Ce({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getConversationContext(i(v));if(D===void 0)throw new Ce({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="group")throw new Ce({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function h(f,v){if(e.coreClient===void 0)throw new Ce({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return m(f,v),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:v})=>{let D=h("pin",f),w=e.domainState.getConversationMessage(i(f),v);if(w===void 0)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(w.conversationType!=="group")throw new Ce({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(w.conversationId!==f)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:O,pinnedMessage:y$1}=y(w),T=await sa({client:D,groupId:f,messageContent:O});if(!T.ok)throw Sn("pin",T.code,T.message);d(f),e.domainState.setPinnedMessage(y$1,"http:pin");let s=e.domainState.getPinnedMessage(i(f));if(s===void 0)throw new Ce({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(O){throw Pn("pin",O)}},unpinMessage:async f=>{let v=h("unpin",f);try{let D=await Na$1({client:v,groupId:f});if(!D.ok)throw Sn("unpin",D.code,D.message);d(f),e.domainState.clearPinnedMessage(i(f),"http:unpin");}catch(D){throw Pn("unpin",D)}},getPinnedMessage:async f=>{let v=h("get",f);try{let D=await da({client:v,groupId:f});if(!D.ok)throw Sn("get",D.code,D.message);if(d(f),D.data===null)return e.domainState.clearPinnedMessage(i(f),"reconcile"),null;let w=x(D.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(w,"reconcile");let O=e.domainState.getPinnedMessage(i(f));if(O===void 0)throw new Ce({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return O}catch(D){throw Pn("get",D)}},peekPinnedMessage:f=>(m("get",f),e.domainState.getPinnedMessage(i(f))??null)},dispose:()=>{c&&(c=false,g());}}}function ks(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,i=new Map;function d(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function a(o){let p=[],b=new Set;for(let C of o){if(C.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");b.has(C.userId)||(b.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 b=e.profile?.listGroupMembers;if(b===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,U=r.get(C);if(!p&&U!==void 0)return U;let ie=i.get(C);if(ie!==void 0&&(!p||ie.refresh))return ie.promise;let G=(c$1.get(C)??0)+1;c$1.set(C,G);let E=Promise.resolve().then(()=>b(C,p?{forceRefresh:true}:void 0)).then(A=>{if(A===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let M=a(A);return c$1.get(C)===G&&r.set(C,M),M}).finally(()=>{i.get(C)?.promise===E&&i.delete(C);});return i.set(C,{refresh:p,promise:E}),E}function g(o,p,b,C){let ie=W({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",...b===void 0?{}:{details:b},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),ie)}function m(o,p,b,C){let U=W({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",...b===void 0?{}:{details:b},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),U)}function h(o){if(o===null||typeof o!="object"||o===void 0)throw m("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 m("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let b=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(b)||b!==1&&b!==2)throw m("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),U=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:C}),activation:b===1?"pending":"active",...U===void 0||U===""?{}:{avatarUrl:U},qrPayload:Yt(C,U)})}function S(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 v(o){if(o===null||typeof o!="object"||o===void 0)throw g("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 g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let b=String(p),C=o,U=C.name?.trim()??"";if(U==="")throw g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let ie=S(C.total_users),G=S(C.status),E=S(C.verify_way),A=S(C.update_version),M=f(C.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:b}),name:U,...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)},...ie===void 0?{}:{memberCount:ie},...G===void 0?{}:{status:G},...M===void 0?{}:{isInGroup:M},...E===void 0?{}:{verifyWay:E},...A===void 0?{}:{updateVersion:A},...C.invite_code===void 0?{}:{inviteCode:C.invite_code}}}function D(o){let p=o.name.trim();if(p==="")throw g("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw g("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let b=o.memberIds;if(!Array.isArray(b))throw g("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let C=b.map(ie=>typeof ie=="string"?ie.trim():"");if(C.includes(""))throw g("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let U=[...new Set(C)];if(U.length>40)throw g("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:U}}function w(o,p){let b=o.trim();if(b==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return b}function O(){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(b=>w(b,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function T(o,p,b){if(o!==1&&o!==2&&o!==4){let U=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:b}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),U)}if(o!==4)return {verifyWay:o};let C=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(C)){let U=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:b}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),U)}return {verifyWay:o,inviteCode:C}}function s(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 b=p.trim();if(o===""||b==="")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:b}),e.domainState.updateConversationProfile(o,{title:b}),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 b=await et(e.avatarTransfer,p);return await Pa$1({client:e.coreClient,groupId:o,avatarUrl:b}),e.domainState.updateConversationProfile(o,{avatar:b}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),b},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw g("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 et(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw g("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw g("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=D(o);try{let b=await ca({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!b.ok){let U=b.code===Ts?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":b.code===Wl?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":b.code===$l?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw g(U,b.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:b.code,message:b.message}))}let C=v(b.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(b){throw b!==void 0&&typeof b=="object"&&b!==null&&"code"in b&&String(b.code).startsWith("IM_SDK_")?b:b instanceof c?g("IM_SDK_GROUP_CREATE_NETWORK_FAILED",b.message,void 0,b):g("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,b)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw m("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===Ts?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw m(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:h(o.data)})}catch(o){throw _s(o)?o:o instanceof c?m("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):m("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,b)=>{let C=O(),U=w(o,"\u7FA4 id"),ie=T(p,b,U);await Nn("groups.updateVerification",U,()=>la({client:C,groupId:U,verifyWay:ie.verifyWay,...ie.inviteCode===void 0?{}:{inviteCode:ie.inviteCode}})),s(U);},requestJoin:async(o,p)=>{let b=O(),C=w(o,"\u7FA4 id"),U=p?.remarks?.trim();return Nn("groups.requestJoin",C,()=>oa$1({client:b,groupId:C,...U===void 0?{}:{remarks:U}}))},joinByInviteCode:async(o,p)=>{let b=O(),C=w(o,"\u7FA4 id"),U=p.trim();if(!/^\d{6}$/.test(U))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Nn("groups.joinByInviteCode",C,()=>pa$1({client:b,groupId:C,inviteCode:U}))},inviteMembers:async(o,p)=>{let b=O(),C=w(o,"\u7FA4 id"),U=y(p);if(U.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Nn("groups.inviteMembers",C,()=>ha$1({client:b,groupId:C,userIds:U})),s(C);},removeMember:async(o,p)=>{let b=O(),C=w(o,"\u7FA4 id"),U=w(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Nn("groups.removeMember",C,()=>ia({client:b,groupId:C,userId:U})),s(C);},transferOwnership:async(o,p)=>{let b=O(),C=w(o,"\u7FA4 id"),U=w(p,"\u65B0\u7FA4\u4E3B id");await Nn("groups.transferOwnership",C,()=>ja({client:b,groupId:C,userId:U})),s(C);},leave:async(o,p)=>{let b=O();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=w(o,"\u7FA4 id"),U=p?.newOwnerId===void 0?void 0:w(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Nn("groups.leave",C,()=>ka({client:b,groupId:C,...U===void 0?{}:{newOwnerId:U}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:C},"group_left"),s(C);},...e.pinned}}var Jl="image/jpeg,image/png,image/webp";async function Qt(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),r;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?r="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((i,d)=>n[d]===i)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let c=e.type.trim().toLowerCase();return r!==void 0&&(c===""||c==="application/octet-stream"||c===r)}function xs(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 Ns=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Ls(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function jr(e,n){let r=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,i=Ls();return qb({enabled:r,level:c?.level??"trace",categories:c?.categories??Ns,...r?{sink:c?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var Fs=[{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(Fs.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Ks=new Map(zr.flatMap(e=>e.tokens.map(n=>[n,e])));function Us(e){return Ks.get(e)}function Bs(e){return Ks.has(e)}function Ln(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Gs(e,n){return n instanceof Qa$1?Ln({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?Ln({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?Ln({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Ln({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function vt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function Vr(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let c=0;c<e.length;c+=3){let i=e[c]??0,d=e[c+1]??0,a=e[c+2]??0,u=i<<16|d<<8|a;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 Zt(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 qr(e){let n=Zt(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=vt(e.body.image?.url),c=Vr(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=vt(e.body.video?.url),c=Vr(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=vt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=vt(e.body.file?.url),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(i=>({mediaType:i.kind==="video"?2:1,url:vt(i.url),width:i.width,height:i.height,...i.durationMs!==void 0&&i.durationMs>0?{duration:i.durationMs}:{},...i.thumbUrl!==void 0&&i.thumbUrl!==""?{thumbUrl:i.thumbUrl}:{},...i.thumbData!==void 0&&i.thumbData.length>0?{thumbData:Vr(i.thumbData)}:{},...i.md5!==void 0&&i.md5!==""?{md5:i.md5}:{},...i.size!==void 0&&i.size>0?{fileSize:i.size}:{},...i.hd!==void 0?{hd:i.hd}:{}}));return c.some(i=>i.url==="")?null:{contentType:"28",items:c,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function Xl(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function Hs(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function qs(e){function n(i){if(!e.isActive())throw Ln({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,d){if(n(i),e.provider===void 0)throw Gs(i,new Qa$1);let a;try{a=await d(e.provider);}catch(u){throw n(i),Gs(i,u)}return n(i),a}return {api:{list:async()=>{let i=await r("sessionFavorites.list",d=>d.list());return Object.freeze(i.map(Hs))},addFromMessage:async i=>{let d="sessionFavorites.addFromMessage",a=Zt(i.message),u=qr(i.message),g=i.selfId.trim(),m=i.message.id.trim();if(a===null||u===null||g===""||m==="")throw Ln({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let h={messageId:m,conversation:i.conversation,senderId:i.message.senderId.trim(),createdAt:i.message.createdAt,kind:a,plainBody:u,peerId:Xl(i.message,g,i.conversation.conversationId)},S=await r(d,f=>f.add(h));return Hs(S)},delete:async i=>{let d="sessionFavorites.delete",a=[...new Set(i.map(u=>u.trim()).filter(u=>u!==""))];if(a.length===0)throw Ln({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await r(d,u=>u.delete(a));}}}}var Ws="settings:read-receipts:v1",$s="settings:appearance:v1",nr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function fn(e){return W({...e,retryable:e.retryable??false})}function Jr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Yr(){return {fontScale:1}}function Wr(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Ql(e){if(typeof e!="object"||e===null)return Jr();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[c,i]of Object.entries(n.peerOverrides))c.trim()!==""&&typeof i=="boolean"&&(r[c]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function Zl(e){if(typeof e!="object"||e===null)return Yr();let n=e.fontScale;return {fontScale:Js(n)?n:1}}function Js(e){return typeof e=="number"&&nr.includes(e)}function $r(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw fn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function er(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw fn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Ys(e){let n=false,r=false,c=false,i,d,a=Jr(),u=Promise.resolve(),g=false,m,h=Yr(),S=Promise.resolve();function f(p){return fn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function v(p){if(n)throw f(p)}async function D(p,b){if(v(b),r)return;let C;try{C=er(e.storage,b);}catch(U){if(!p)return;throw U}try{let U=await C.getMeta(Ws);v(b),a=Ql(U),r=!0,c=!1;}catch(U){throw n?f(b):(c=true,fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:b,cause:U}))}}function w(p){return v(p),r?Promise.resolve():(i===void 0&&(i=D(true,p).finally(()=>{i=void 0;})),i)}async function O(p){if(v(p),!g)try{let b=await er(e.storage,p).getMeta($s);v(p),h=Zl(b),g=!0;}catch(b){throw n?f(p):typeof b=="object"&&b!==null&&"code"in b?b:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:b})}}function y(p){return v(p),g?Promise.resolve():(m===void 0&&(m=O(p).finally(()=>{m=void 0;})),m)}async function T(p,b,C){v(p);let U=u.then(async()=>{v(p),await w(p),v(p);let ie=Wr(a),G=b(Wr(a));try{await er(e.storage,p).setMeta(Ws,Wr(G));}catch(E){throw n?f(p):typeof E=="object"&&E!==null&&"code"in E?E:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:E})}v(p),a=G,C?.(ie,G);});return u=U.catch(()=>{}),U}let s={async getGlobal(){let p="settings.readReceipts.getGlobal";return v(p),await w(p),v(p),a.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(fn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):T("settings.readReceipts.setGlobal",b=>({...b,globalEnabled:p}),(b,C)=>{b.globalEnabled&&!C.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let b="settings.readReceipts.getConversation";v(b);let C=$r(p,b);await w(b),v(b);let U=a.peerOverrides[C.conversationId]??true;return Object.freeze({enabled:U,effectiveEnabled:a.globalEnabled&&U})},setConversation(p,b){let C="settings.readReceipts.setConversation",U;try{U=$r(p,C);}catch(ie){return Promise.reject(ie)}return typeof b!="boolean"?Promise.reject(fn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:C,conversation:U})):T(C,ie=>(ie.peerOverrides[U.conversationId]=b,ie),(ie,G)=>{let E=U.conversationId,A=ie.globalEnabled&&(ie.peerOverrides[E]??true),M=G.globalEnabled&&(G.peerOverrides[E]??true);A&&!M&&e.onDirectReadReceiptDisabled?.(E);})},resetConversation(p){let b="settings.readReceipts.resetConversation",C;try{C=$r(p,b);}catch(U){return Promise.reject(U)}return T(b,U=>(delete U.peerOverrides[C.conversationId],U))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await y(p),v(p),h.fontScale},set(p){let b="settings.appearance.fontScale.set";if(!Js(p))return Promise.reject(fn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:b,details:{supportedValues:[...nr]}}));let C=S.then(async()=>{v(b),await y(b),v(b);let U={fontScale:p};try{await er(e.storage,b).setMeta($s,U);}catch(ie){throw n?f(b):typeof ie=="object"&&ie!==null&&"code"in ie?ie:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:b,cause:ie})}v(b),h=U;});return S=C.catch(()=>{}),C}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){v("settings.readReceipts.hydrate"),!r&&(i===void 0&&(i=D(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(p){return !n&&!c&&a.globalEnabled&&(a.peerOverrides[p]??true)},dispose(){if(d!==void 0)return d;n=true,a=Jr(),h=Yr();let p=i,b=u,C=m,U=S;return d=Promise.allSettled([...p===void 0?[]:[p],b,...C===void 0?[]:[C],U]).then(()=>{}),d}}}var Ue=Object.freeze({availability:"available",reason:"ok"});function Ze(e){return Object.freeze({availability:"unavailable",reason:e})}function Ne(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Ct(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bt(e){return `${e.conversationType}:${e.conversationId}`}function eu(){return Object.freeze({sendMessages:false})}function nu(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function tu(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 ru(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 ou(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let c=Number(r[1]),i=Number(r[2]),d=Number(r[3]),a=Number(r[4]);if(c>23||d>23||i>59||a>59)return;let u=new Date(n);u.setHours(c,i,0,0);let g=new Date(n);if(g.setHours(d,a,59,999),u.getTime()<=n&&n<=g.getTime())return g.getTime()+1;if(n<u.getTime())return u.getTime();let m=u;return m.setDate(m.getDate()+1),m.getTime()}function Fn(e,n,r){let c=n.get(bt(e));if(c!==void 0)for(let i of [...c])i(r);}function Xs(e){let n=new Map,r=new Map,c=new Map,i=new Map,d=new Map,a=new Map,u,g,m=new Set,h=e.getSessionUserId(),S=0;function f(G){G.conversationType==="direct"?n.delete(G.conversationId):G.conversationType==="group"?r.delete(G.conversationId):G.conversationType==="channel"&&c.delete(G.conversationId);}function v(){n.clear(),r.clear(),c.clear(),a.clear(),m=new Set;}function D(){let G=e.getSessionUserId();return G!==h&&(h=G,v()),G}function w(G){D();let E=++S;return a.set(bt(G),E),E}function O(G,E){return D(),a.get(bt(G))===E}function y(G,E={}){D();let A=E.nowMs??Date.now(),M=e.getConversation(G);if(G.conversationType==="direct"){let ue=Ct({conversationType:"direct",conversationId:G.conversationId}),ge=n.get(G.conversationId),Ie=ge?.relationship??"unknown",Q=nu(Ie),Oe=Q==="ok"?Ue:Q==="relationship-unknown"?Ne(Q):Ze(Q),ye=Ie==="friend"?Ue:Ie==="unknown"?Ne(Q):Ze(Q);return Object.freeze({ref:ue,conversationType:"direct",evaluatedAt:A,value:Object.freeze({relationship:Ie,...ge===void 0?{}:{relationshipCheckedAt:ge.checkedAt},canSendMessages:Oe,canOpenProfile:Ue,canUseMessageActions:Oe,canManageRelationship:ye})})}if(G.conversationType==="robot"){let ue=Ct({conversationType:"robot",conversationId:G.conversationId});return Object.freeze({ref:ue,conversationType:"robot",evaluatedAt:A,value:Object.freeze({canSendMessages:Ue,canOpenProfile:Ue,canUseMessageActions:Ue,canReadHistory:Ue})})}if(G.conversationType==="group"){let ue=Ct({conversationType:"group",conversationId:G.conversationId}),ge=r.get(G.conversationId),Ie=M?.ref.conversationType==="group"?M.groupState??"active":"unknown",Q=tu(Ie),Oe=Q==="ok",ye=e.getSessionUserId(),_e=ge?.ownerId,We=ye!==void 0&&_e!==void 0&&ye===_e,Ke=Oe?Ue:Ze(Q),nn=Oe?ge===void 0?Ne("not-ready"):We?Ue:Ze("role-insufficient"):Ze(Q);return Object.freeze({ref:ue,conversationType:"group",evaluatedAt:A,value:Object.freeze({membership:Ie,..._e===void 0?{}:{ownerId:_e},isOwner:We,canSendMessages:Ke,canOpenProfile:Ke,canReadHistory:Ue,canUseMessageActions:Ke,canViewMembers:Ke,canEditProfile:nn,canInviteMembers:Ke,canManageMembers:nn,canPinMessages:nn,canUnpinMessages:nn,canTransferOwnership:nn,canLeave:Ke,canUpdateVerification:nn})})}let K=Ct({conversationType:"channel",conversationId:G.conversationId}),B=c.get(G.conversationId),z=M?.ref.conversationType==="channel"&&M.channelState!==void 0?M.channelState:B?.state;if(z===void 0)return Object.freeze({ref:K,conversationType:"channel",evaluatedAt:A,value:Object.freeze({state:"unknown",role:B?.role??"unknown",permissions:eu(),canSendMessages:Ne("unknown-restricted"),canOpenProfile:Ne("unknown-restricted"),canReadHistory:Ue,canUseMessageActions:Ne("unknown-restricted"),canMutateMessages:Ne("unknown-restricted"),canPinMessages:Ne("unknown-restricted"),canUnpinMessages:Ne("unknown-restricted"),canDeleteMessagesForEveryone:Ne("unknown-restricted"),canMentionAll:Ne("unknown-restricted"),canViewMembers:Ne("unknown-restricted"),canEditProfile:Ne("unknown-restricted"),canManageMembers:Ne("unknown-restricted"),canManageMute:Ne("unknown-restricted"),canDismiss:Ne("unknown-restricted"),canTransferOwnership:Ne("unknown-restricted"),canLeave:Ne("unknown-restricted"),canInviteMembers:Ne("unknown-restricted"),canSetMemberAdmin:Ne("unknown-restricted"),canRemoveMembers:Ne("unknown-restricted"),canSetMemberPrivateChat:Ne("unknown-restricted")})});let re=Ca$1({channelState:z,nowMs:A,...M?.ref.conversationType==="channel"&&M.channelAccessSnapshot!==void 0?{snapshot:M.channelAccessSnapshot}:{},...M?.ref.conversationType==="channel"&&M.channelPermissions!==void 0?{permissions:M.channelPermissions}:B?.permissions===void 0?{}:{permissions:B.permissions}}),Z=ru(re.channelState,re.muteReason),k=re.channelState==="active"||re.channelState==="muted",j=re.channelState==="active"?re.permissions.sendMessages?Ue:Ze("unknown-restricted"):Ze(Z),R=ue=>k&&ue?Ue:Ze(k?"role-insufficient":Z),x=ue=>re.channelState==="active"&&ue?Ue:Ze(re.channelState==="muted"?Z:k?"role-insufficient":Z),F=B?.memberPrivateChatDisabled===false||re.permissions.manageMembers===true,H=k?B===void 0&&re.permissions.manageMembers!==true?Ne("not-ready"):R(F):Ze(Z),$=re.channelState==="muted"?Ze(Z):k?Ue:Ze(Z),de=ou(M,A);return Object.freeze({ref:K,conversationType:"channel",evaluatedAt:A,...de===void 0?{}:{nextEvaluationAt:de},value:Object.freeze({state:re.channelState,role:B?.role??M?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...re.permissions}),...re.muteReason===void 0?{}:{muteReason:re.muteReason},canSendMessages:j,canOpenProfile:k?Ue:Ze(Z),canReadHistory:Ue,canUseMessageActions:k?Ue:Ze(Z),canMutateMessages:$,canPinMessages:x(re.permissions.moderateMessages===true),canUnpinMessages:x(re.permissions.moderateMessages===true),canDeleteMessagesForEveryone:x(re.permissions.moderateMessages===true),canMentionAll:R(re.permissions.mentionAll===true),canViewMembers:H,canEditProfile:R(re.permissions.editProfile===true),canManageMembers:R(re.permissions.manageMembers===true),canManageMute:R(re.permissions.manageMute===true),canDismiss:R(re.permissions.dismissChannel===true),canTransferOwnership:R(re.permissions.transferOwnership===true),canLeave:k?Ue:Ze(Z),canInviteMembers:R(re.permissions.manageMembers===true),canSetMemberAdmin:R(re.permissions.manageAdmins===true),canRemoveMembers:R(re.permissions.manageMembers===true),canSetMemberPrivateChat:R(re.permissions.manageMute===true)})})}async function T(G,E={}){let A=w(G);if(G.conversationType==="direct"){let M=await e.getRelationship(G.conversationId);O(G,A)&&s(G.conversationId,M,A);}else if(G.conversationType==="group"){let M={conversationType:"group",conversationId:G.conversationId},K=await e.getGroupProfile(M,{forceRefresh:true});O(G,A)&&o(M,K,A);}else if(G.conversationType==="channel"){let M={conversationType:"channel",conversationId:G.conversationId},K=await e.getChannelProfile(M,{forceRefresh:true});O(G,A)&&p(M,K,A);}return y(G,E)}function s(G,E,A){let M={conversationType:"direct",conversationId:G};O(M,A)&&(n.set(G,{relationship:E,checkedAt:Date.now()}),Fn(M,i,y(M)));}function o(G,E,A){O(G,A)&&(r.set(G.conversationId,E),Fn(G,i,y(G)));}function p(G,E,A){O(G,A)&&(c.set(G.conversationId,E),Fn(G,i,y(G)));}function b(G,E,A={}){D();let M=bt(G),K=i.get(M)??new Set;return K.add(E),i.set(M,K),d.set(M,Ct(G)),E(y(G,A)),g===void 0&&(g=e.subscribeContext?.(B=>{D(),Fn(B,i,y(B));})),u===void 0&&(u=e.subscribeConversations(B=>{D();let z=Date.now(),re=new Set(B.map(Z=>bt(Z.ref)));for(let Z of B){let k=y(Z.ref,{nowMs:z});Fn(Z.ref,i,k);}for(let[Z,k]of d){if(!m.has(Z)||re.has(Z))continue;f(k);let j=y(k,{nowMs:z});Fn(k,i,j);}m=re;})),()=>{K.delete(E),K.size===0&&i.delete(M),i.has(M)||d.delete(M),i.size===0&&(g?.(),g=void 0,u?.(),u=void 0,m=new Set);}}function C(){v();let G=Date.now();for(let E of d.values())Fn(E,i,y(E,{nowMs:G}));}function U(){g?.(),g=void 0,u?.(),u=void 0,i.clear(),d.clear(),v();}let ie=Object.freeze({get:y,refresh:T,subscribe:b});return Object.freeze({...ie,api:ie,beginProjectionUpdate:w,updateRelationshipProjection:s,updateGroupProfileProjection:o,updateChannelProfileProjection:p,reset:C,dispose:U})}var iu=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function un(e,n){let r=e?.conversationType,c=e?.conversationId;if(r==="supergroup")throw W({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 W({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:c})}function au(e){return e===null?null:Object.freeze({ref:un(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 su(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==="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 tr(e){let n=su(e.lastMessageSummary),r=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),c=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),i=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:un({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...r===void 0?{}:{lastMessageMention:r},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&c!==void 0?{channelPermissions:c}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:au(e.draft)})}function cu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Kn(e,n,r,c){return cu(e)?e:W({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 Qs(e){let n=new Set,r,c,i;function d(){return Object.freeze(e.getCompatibilityApi().list().map(tr))}function a(){let S=e.getSessionState();return S==="preparing"?"loading":S==="ready"?"ready":"idle"}function u(){try{let S=d();return Object.freeze({state:c??a(),items:S,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(S){let f=Kn(S,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function g(){let S=u();for(let f of [...n])f(S);}function m(S){return n.add(S),S(u()),r===void 0&&(r=e.subscribeEvents(f=>{iu.has(f.type)&&g();})),()=>{n.delete(S),n.size===0&&(r?.(),r=void 0);}}return {api:{list:d,getBackground:S=>e.getCompatibilityApi().getBackground(un(S,"conversations.getBackground")),setBackground:(S,f)=>e.getCompatibilityApi().setBackground(un(S,"conversations.setBackground"),f),resetBackground:S=>e.getCompatibilityApi().resetBackground(un(S,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:S=>e.getCompatibilityApi().setDefaultBackground(S),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:S=>e.getCompatibilityApi().listBackgroundPresets(S),getSnapshot:u,subscribe:m,prefetchRecent:(S,f)=>e.getCompatibilityApi().prefetchRecent(S.map(v=>un(v,"conversations.prefetchRecent")),f),async refresh(){c="loading",i=void 0,g();try{await e.getCompatibilityApi().sync(),c=void 0,g();}catch(S){throw c="error",i=Kn(S,"conversations.refresh",true),g(),i}},getTotalUnread(S){return d(),e.getCompatibilityApi().getTotalUnread(S)},setPinned(S,f){let v=un(S,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(v,f);}catch(D){throw Kn(D,"conversations.setPinned",false,v)}},async setMuted(S,f){let v=un(S,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(v,f);}catch(D){throw Kn(D,"conversations.setMuted",true,v)}},async markRead(S){let f=un(S,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(v){throw Kn(v,"conversations.markRead",true,f)}},markUnread(S){let f=un(S,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(v){throw Kn(v,"conversations.markUnread",false,f)}},deleteLocal(S){let f=un(S,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(v){throw Kn(v,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var du=128,lu=8,uu=64*1024*1024,pu=3,rr=1024*1024;function mu(e){let n=0,r=false,c=[];function i(){if(!r)for(;n<e&&c.length>0;){let d=c.shift();if(d.signal.removeEventListener("abort",d.onAbort),d.signal.aborted){d.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let a=false;d.resolve(()=>{a||(a=true,n=Math.max(0,n-1),i());});}}return {acquire(d){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((a,u)=>{let g={resolve:a,reject:u,signal:d,onAbort:()=>{let m=c.indexOf(g);m>=0&&c.splice(m,1),u(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",g.onAbort,{once:true}),c.push(g),i();})},dispose(){r=true;for(let d of c.splice(0))d.signal.removeEventListener("abort",d.onAbort),d.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function Zs(){return xa([{kind:"image",softMaxBytes:512*rr,maxEntries:512,maxEntryBytes:30*rr},{kind:"video",softMaxBytes:1792*rr,maxEntries:64,maxEntryBytes:200*rr}])}function ec(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function fu(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function or(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xr(e,n,r,c){let i=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return c===void 0?i:`${i}:${c}`}function Qr(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Le({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=or({conversationType:n,conversationId:r});return nc({id:Xr(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:ec(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:gu(e.failure,c)}})}function Le(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function gu(e,n){if(e===void 0)return;let r=e.displayCode,i=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[r];return Object.freeze(W({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function nc(e){return Object.freeze({...e,ref:or(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function Iu(e){let n=e?.conversation,r=n?.conversationType,c=n?.conversationId;if(r==="supergroup")throw Le({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 Le({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return or({conversationType:r,conversationId:c})}function tc(e){let n=true,r=0,c=0,i=new Map,d=new Set,a=new Map,u=new Map,g=new Map,m=mu(pu),h=e.maxCachedBlobs??lu,S=e.maxCachedBlobBytes??uu,f=0;function v(){if(!n||!e.isActive())throw Le({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function D(){return Object.freeze([...i.values()])}function w(){let k=D();for(let j of [...d])try{j(k);}catch(R){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:R}});}}function O(k){let j=g.get(k);j!==void 0&&(f-=j.size,g.delete(k));}function y(k){i.delete(k),a.delete(k),O(k);}function T(){for(;i.size>du;){let k=[...i.values()].find(j=>j.state==="completed"||j.state==="failed"||j.state==="canceled");if(k===void 0)return;y(k.id);}}function s(k){i.set(k.id,nc(k)),T();}function o(k){if(!n||!e.isActive())return;s(k);let j=i.get(k.id);if(w(),!n||!e.isActive()||j===void 0||i.get(k.id)!==j)return;let R={id:j.id,messageId:j.messageId,ref:j.ref,direction:"download",state:j.state,percent:j.percent};e.emitter.emit({type:"media-task:updated",conversation:j.ref,task:R});}function p(k,j){if(O(k),!(j.size>S))for(g.set(k,j),f+=j.size;g.size>h||f>S;){let R=g.keys().next().value;if(R===void 0)break;O(R);}}function b(k,j=true){let R=Iu(k),x=e.domainState.getConversationMessage(R,k.messageId);if(x===void 0)throw Le({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:R});let F,H,$,de;if(x.contentType==="image")F=x.body.image,H=e.loaders?.loadImage,de="image";else if(x.contentType==="video")F=x.body.video,H=e.loaders?.loadVideo,de="video";else if(x.contentType==="voice")F=x.body.voice,H=e.loaders?.loadVoice;else if(x.contentType==="file")F=x.body.file,H=e.loaders?.loadFile,$=x.body.file?.mimeType;else if(x.contentType==="mediaAlbum"){let ue=x.body.mediaAlbum?.items,ge=k.itemIndex,Ie=ge===void 0||ue===void 0?void 0:ue[ge];if(Ie===void 0)throw Le({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:R});F=Ie,H=Ie.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,de=Ie.kind;}if(x.contentType!=="mediaAlbum"&&k.itemIndex!==void 0)throw Le({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:R});if(F===void 0)throw Le({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:R});if(j&&H===void 0)throw Le({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:R});if(F.url.trim()===""||F.url.startsWith("blob:"))throw Le({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:R});return {ref:R,messageId:x.id,...k.itemIndex===void 0?{}:{itemIndex:k.itemIndex},...$===void 0?{}:{mimeType:$},...de===void 0?{}:{cacheKind:de,resourceVersion:ya(F.url)},...H===void 0?{}:{load:H},input:{url:F.url,...F.size===void 0?{}:{expectedBytes:F.size},...F.teaKey===void 0?{}:{teaKey:F.teaKey},...F.fileEncryptType===void 0?{}:{fileEncryptType:F.fileEncryptType}}}}function C(k){return Le({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:k})}function U(){return Le({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ie(k,j,R=r){if(v(),R!==r)return null;let x=Xr("download",k.ref,k.messageId,k.itemIndex),F=g.get(x);if(F!==void 0)return g.delete(x),g.set(x,F),F;if(e.assetCache===void 0||k.cacheKind===void 0||k.resourceVersion===void 0)return null;let H;try{H=await e.assetCache.get({kind:k.cacheKind,messageId:k.messageId,resourceVersion:k.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:H===null?"miss":"hit",kind:k.cacheKind,messageId:k.messageId,...H===null?{}:{byteLength:H.blob.size}});}catch(ge){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:k.cacheKind,messageId:k.messageId,cause:ge}),j)throw Le({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:k.ref});return null}if(H===null||(v(),R!==r))return null;let $=H.blob,de=H.mimeType??k.mimeType??"",ue=$.type===de?$:$.slice(0,$.size,de);return p(x,ue),ue}function G(k,j=false){let R=r,x=Xr("download",k.ref,k.messageId,k.itemIndex),F=u.get(x);if(F!==void 0)return F.promise;if(!j){let ge=g.get(x);if(ge!==void 0)return g.delete(x),g.set(x,ge),Promise.resolve(ge)}O(x);let H=or(k.ref);a.set(x,Object.freeze({conversation:H,messageId:k.messageId,...k.itemIndex===void 0?{}:{itemIndex:k.itemIndex}}));let $={id:x,messageId:k.messageId,ref:H,direction:"download",...k.itemIndex===void 0?{}:{itemIndex:k.itemIndex}},de=new AbortController,ue=Promise.resolve().then(async()=>{let ge;try{if(!n||!e.isActive())throw U();if(de.signal.aborted)throw C(H);if(ge=await m.acquire(de.signal),!n||!e.isActive())throw U();if(de.signal.aborted)throw C(H);if(o({...$,state:"running",percent:0}),!n||!e.isActive())throw U();if(de.signal.aborted)throw C(H);if(!j&&e.assetCache!==void 0&&k.cacheKind!==void 0&&k.resourceVersion!==void 0){let _e=await ie(k,!1,R);if(_e!==null){if(de.signal.aborted)throw C(H);return o({...$,state:"completed",percent:100}),_e}}let Ie=k.load;if(Ie===void 0)throw Le({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:H});let Q=await Ie({...k.input,signal:de.signal,onProgress:_e=>{let We=i.get(x);if(!n||!e.isActive()||de.signal.aborted||u.get(x)?.controller!==de||We?.state!=="running")return;let Ke=Math.min(99,ec(_e));Ke<=We.percent||o({...$,state:"running",percent:Ke});}});if(!n||!e.isActive())throw U();if(de.signal.aborted)throw C(H);let Oe=Q instanceof Blob?void 0:Q,ye=Oe===void 0?Q:new Blob([Oe],k.mimeType===void 0?void 0:{type:k.mimeType});if(k.mimeType!==void 0&&ye.type!==k.mimeType&&(ye=ye.slice(0,ye.size,k.mimeType)),R===r&&p(x,ye),R===r&&e.assetCache!==void 0&&k.cacheKind!==void 0&&k.resourceVersion!==void 0){let _e=ye.size;e.assetCache.put({kind:k.cacheKind,messageId:k.messageId,resourceVersion:k.resourceVersion,blob:ye,...k.mimeType===void 0?{}:{mimeType:k.mimeType}}).then(We=>{e.onAssetCacheEvent?.({operation:"put",outcome:We,kind:k.cacheKind,messageId:k.messageId,byteLength:_e});}).catch(We=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:k.cacheKind,messageId:k.messageId,byteLength:_e,cause:We});});}if(o({...$,state:"completed",percent:100}),!n||!e.isActive())throw U();return ye}catch(Ie){if(!n||!e.isActive())throw U();if(de.signal.aborted||typeof Ie=="object"&&Ie!==null&&"code"in Ie&&Ie.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Oe=C(H);throw i.get(x)?.state!=="canceled"&&o({...$,state:"canceled",percent:i.get(x)?.percent??0,error:Oe}),Oe}let Q=Le({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:H});throw o({...$,state:"failed",percent:i.get(x)?.percent??0,error:Q}),Q}finally{ge?.(),u.get(x)?.controller===de&&u.delete(x);}});return u.set(x,{controller:de,promise:ue}),o({...$,state:"queued",percent:0}),ue}function E(k){try{return v(),G(b(k))}catch(j){return Promise.reject(j)}}async function A(k){let j=b(k,false);return j.cacheKind===void 0?null:await ie(j,true)}async function M(k){if(v(),e.preparePreview===void 0)throw Le({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let j;try{j=await e.preparePreview({operationId:`media.prepareLocalPreview:${++c}`,kind:k.kind,file:k.file,...k.signal===void 0?{}:{signal:k.signal}});}catch(x){if(k.signal?.aborted===true||x instanceof Error&&x.name==="AbortError")throw x;return e.onLocalPreviewError?.({kind:k.kind,byteLength:k.file.size,cause:x}),null}return v(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0?(e.onLocalPreviewError?.({kind:k.kind,byteLength:k.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${j.width}\xD7${j.height}`)}),null):k.kind==="video"?{width:j.width,height:j.height,...j.duration===void 0?{}:{duration:j.duration},...j.posterData===void 0?{}:{posterData:j.posterData}}:{width:j.width,height:j.height}}async function K(k){if(v(),k.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Le({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let j;try{j=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++c}`,kind:"video",file:k.file,...k.signal===void 0?{}:{signal:k.signal}});}catch(R){if(k.signal?.throwIfAborted(),R instanceof Error&&R.name==="AbortError")throw R;return v(),e.onLocalPreviewError?.({kind:"video",byteLength:k.file.size,cause:R}),null}return k.signal?.throwIfAborted(),v(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0||!j.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:k.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([j.posterData],{type:"image/jpeg"})}function B(k,j){v();let R=i.get(k);if(R===void 0)throw Le({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:j,retryable:false});return R}function z(k,j){return Le({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:j,retryable:false,conversation:k.ref,details:Object.freeze({state:k.state,direction:k.direction})})}let re=e.emitter.subscribe(k=>{!n||k.type!=="media-task:updated"||k.task.direction!=="upload"||fu(k.conversation,k.task.ref)&&(s(Qr(k.task)),w());});return {api:{getSnapshot(){return v(),D()},subscribe(k){return v(),d.add(k),()=>d.delete(k)},async cancel(k){let j=B(k,"media.cancel");if(j.state!=="queued"&&j.state!=="running")throw z(j,"media.cancel");if(j.direction==="upload"){if(!e.connection.cancelMediaUpload(j.messageId))throw Le({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:j.ref});return}let R=u.get(k);if(R===void 0)throw z(j,"media.cancel");R.controller.abort();let x=C(j.ref);o({...j,state:"canceled",error:x});},async retry(k){let j=B(k,"media.retry");if(j.state!=="failed"&&j.state!=="canceled")throw z(j,"media.retry");if(j.direction==="upload"){if(!e.connection.retryMediaUpload(j.messageId))throw Le({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:j.ref});return}if(u.has(k))throw Le({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:j.ref});let R=a.get(k);if(R===void 0)throw Le({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await G(b(R),true);},download:E,getCached:A,prepareLocalPreview:M,prepareLocalVideoPoster:K},clearCache(){r+=1,g.clear(),f=0;},dispose(){if(n){n=false,r+=1,re();for(let k of u.values())k.controller.abort();m.dispose(),u.clear(),d.clear(),i.clear(),a.clear(),g.clear(),f=0;}}}}var yu={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"}},hu={"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 rc(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function vu(e,n){let r=yu[e.reason];return Object.freeze(W({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Zr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:vu(e.failure,n)}})}function Cu(e){let n=rc(e);return Zr({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 bu(e,n,r){let c=W({code:hu[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 oc(e){let n=true,r=new Set;function c(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function i(){return c(),Object.freeze(e.operations.getPending().map(Cu))}async function d(u,g){c();let m=e.operations.getPending().find(S=>S.id===g),h=u==="outbox.retry"?e.operations.retry(g):e.operations.cancel(g);if(!h.accepted)throw bu(u,h.reason,m===void 0?void 0:rc(m))}return {api:{getSnapshot:i,subscribe(u){c();let g=e.emitter.subscribe(h=>{h.type==="outbox:updated"&&n&&u(i());}),m=()=>{g(),r.delete(m);};return r.add(m),m},retry:u=>d("outbox.retry",u),cancel:u=>d("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function Mu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ir(e){return Object.freeze({type:"error",error:Object.freeze(W(e))})}function Ve(e){throw W(e)}function fe(e,n,r){return (typeof e!="string"||e.trim()==="")&&Ve({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 De(e,n){let r=e,c=r?.conversationType,i=r?.conversationId;return c==="supergroup"&&Ve({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"&&c!=="robot"||typeof i!="string"||i.trim()==="")&&Ve({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:c,conversationId:i})}function Su(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Mt(e,n){let r=De(e,n);return r.conversationType!=="direct"&&Ve({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 nt(e,n){let r=De(e,n);return r.conversationType!=="group"&&Ve({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 Un(e,n,r){Su(e,n)||Ve({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function Pu(e){return Object.freeze({...e})}function Au(e,n){return Un(De(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 Eu(e){let n=fe(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=De(e.conversation,"application:updated");r.conversationType!=="group"&&Ve({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=De(e.conversation,"application:updated");r.conversationType!=="channel"&&Ve({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 Ve({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Ru(e){return Object.freeze({ref:Eu(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function wu(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 Tu(e){return Object.freeze(W({...{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 _u(e,n){if(Mu(e)){let{cause:r,...c}=e;return ir(c)}return ir({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Du(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:Pu(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=De(e.conversation,e.type);return Un(De({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&Ve({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(Zn(e.message)),source:e.source})}case "message:removed":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:fe(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=De(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:fe(e.messageId,"messageId",r),percent:c})}case "media-task:updated":{let r=De(e.conversation,e.type);Un(De(e.task.ref,e.type),r,e.type);let c=Qr(e.task);return Object.freeze({type:e.type,ref:r,task:c})}case "session:updated":{let r=De(e.conversation,e.type);Un(De({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let c=n.getConversation(r);return c===void 0&&Ve({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Un(c.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:c})}case "session:removed":{let r=De(e.conversation,e.type);return e.conversationId!==r.conversationId&&Ve({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=De(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&Ve({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Un(De({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=fe(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=De(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&Ve({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=De(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&Ve({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:fe(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Ve({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:fe(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=De(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Ve({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=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Au(e.draft,r)})}case "draft:cleared":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=De(e.conversation,e.type);return Un(De(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:Zr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:fe(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Ru(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>De(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...wu(e.issue)});case "error":return Object.freeze({type:e.type,error:Tu(e.error)});case "call:incoming":{let r=Mt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),peerId:fe(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Mt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),peerId:fe(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Mt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),peerId:fe(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Mt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),peerId:fe(e.peerId,"peerId",r)})}case "call:failed":{let r=Mt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),peerId:fe(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),inviterId:fe(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>fe(c,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),userId:fe(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),userId:fe(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>fe(c,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),userId:fe(e.userId,"userId",r)})}case "group-call:busy":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),userId:fe(e.userId,"userId",r),hintUserId:fe(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=nt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:fe(e.callId,"callId",r),groupId:fe(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return _u(r,e)}}function ku(e){let{type:n,...r}=e;return Object.freeze(r)}function Ou(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=De(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function ic(e){let n=new WeakMap;function r(i,d){let a=n.get(i);if(a!==void 0)return a;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:i.notification.messageId}));return n.set(i,u),u}function c(i){let d=true,a=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(ir({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let h=fe(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,h).then(S=>{if(!d||S===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:h,result:S});i(f);}).catch(()=>{d&&i(ir({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let g=Du(u,e);g!==null&&i(g);let m=Ou(u);m!==null&&i(Object.freeze({type:"group:activated",...m}));});return ()=>{d=false,a();}}return {subscribe:i=>c(i),on:(i,d)=>c(a=>{a.type===i&&d(ku(a));})}}function Bn(e){let n=W({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 ac(e){function n(r){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw Bn({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 Bn({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 Bn({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 sc(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function St(e,n,r,c){return W({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 cc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function dc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function lc(e,n){if(n.id!==e)throw St("contacts.getProfile",e,n.id);let r=n.remark?.trim(),c=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?c||e:n.remark,nickname:c,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(i=>Object.freeze({countryCode:i.countryCode,mobile:i.mobile})))}})}function uc(e,n){if(n.id!==e.conversationId)throw St("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:cc(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 xu(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 pc(e,n){if(n.id!==e.conversationId)throw St("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:dc(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:xu(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 mc(e){return e.state==="ready"?Object.freeze({state:"ready",message:Xt(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 ar(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw St("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:cc(e),messageId:n.messageId,preview:mc(n.preview)})}function sr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw St("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:dc(e),messageId:n.messageId,preview:mc(n.preview)})}function Nu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Lu(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 Fu(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function eo(e,n,r){return Nu(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Fu(e)?W({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Lu(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):W({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 fc=new WeakMap;function no(e,n){fc.set(e,n);}function gc(e){let n=fc.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 Ku="IM_SDK_CHANNEL_NOT_MEMBER",Uu="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Bu="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Gu="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Hu(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ju(e,n,r){if(Hu(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,i=e instanceof na$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c$1===40542?Ku:c$1===40527?Uu:c$1===40547?Bu:e instanceof d$1?Gu:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof na$1?"contract":e instanceof c?"network":c$1===40527?"permission":"state",a=W({code:i,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"),a)}async function He(e,n,r){try{return await r()}catch(c){throw ju(c,e,n)??c}}var zu={pinMessage:()=>Promise.reject(new Ce({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new Ce({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new Ce({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new Ce({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Ic(e){let n=new Map,r=new Map,c=true,i=f=>({conversationType:"channel",conversationId:f}),d=f=>{r.set(f,(r.get(f)??0)+1);};function a(f){if(!c||n.has(f))return;let v=r.get(f)??0,D=(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 w=await ea({client:e.coreClient,channelId:f});if(!c||(r.get(f)??0)!==v)return;if(!w.ok){e.emitter.emit({type:"error",error:{scope:"http",code:w.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${w.message}`,cause:{conversationId:f}}});return}if(w.data===null){e.domainState.clearPinnedMessage(i(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(w.data.messageContent,{conversationId:f}),"reconcile");}catch(w){if(!c||(r.get(f)??0)!==v)return;let O=w instanceof h$1||w instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:O,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:w}});}})();n.set(f,D),D.finally(()=>{n.get(f)===D&&n.delete(f);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:a}),g=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let v=f.message;if(v.conversationType!=="channel")return;let D=v.body.system?.pinnedMessageAction;D!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((D?.type==="pin"||D?.type==="unpin")&&d(v.conversationId),u.handleMessage(v));});function m(f,v){if(v.trim()==="")throw new Ce({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getConversationContext(i(v));if(D===void 0)throw new Ce({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="channel")throw new Ce({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function h(f,v){if(e.coreClient===void 0)throw new Ce({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return m(f,v),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:v})=>{let D=h("pin",f),w=e.domainState.getConversationMessage(i(f),v);if(w===void 0)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(w.conversationType!=="channel")throw new Ce({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(w.conversationId!==f)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:O,pinnedMessage:y}=B$1(w),T=await ta({client:D,channelId:f,messageContent:O});if(!T.ok)throw Sn("pin",T.code,T.message);d(f),e.domainState.setPinnedMessage(y,"http:pin");let s=e.domainState.getPinnedMessage(i(f));if(s===void 0)throw new Ce({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(O){throw Pn("pin",O)}},unpinMessage:async f=>{let v=h("unpin",f);try{let D=await Oa$1({client:v,channelId:f});if(!D.ok)throw Sn("unpin",D.code,D.message);d(f),e.domainState.clearPinnedMessage(i(f),"http:unpin");}catch(D){throw Pn("unpin",D)}},getPinnedMessage:async f=>{let v=h("get",f);try{let D=await ea({client:v,channelId:f});if(!D.ok)throw Sn("get",D.code,D.message);if(d(f),D.data===null)return e.domainState.clearPinnedMessage(i(f),"reconcile"),null;let w=A$1(D.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(w,"reconcile");let O=e.domainState.getPinnedMessage(i(f));if(O===void 0)throw new Ce({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return O}catch(D){throw Pn("get",D)}},peekPinnedMessage:f=>(m("get",f),e.domainState.getPinnedMessage(i(f))??null)},dispose:()=>{c&&(c=false,g());}}}async function En(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Vu={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:En,prefetchFirstPage:En,refreshFirstPage:En,listFirstPage:En,listNextPage:En,searchFirstPage:En,refreshSearchFirstPage:En,searchNextPage:En},qu=new Set(["unknown_restricted","left","removed","dismissed"]);function Be(e){return qu.has(e)}function yc(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function c(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function i(){if(c(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function d(h){let S=h.trim();if(S==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return S}async function a(h){let f=await i().listJoinApplications({limit:h?.limit??20,...h?.cursor===void 0?{}:{cursor:h.cursor}});return c(),f}async function u(h,S){c();let f=d(h),v=i();await(S==="accept"?v.acceptJoinApplication(f):v.ignoreJoinApplication(f)),c();}async function g(h,S$1,f,v,D){r(),D?.throwIfAborted();let w=await S({signal:D,http:e.http,userId:f,clientType:e.clientType,channelId:h,index:S$1,containAnchor:v,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),D?.throwIfAborted(),w}async function m(h,S,f,v){let D=await g(h,S,f,true,v),w=D.messages.find(O=>O.extensions?.historyCursor===S);if(w===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${h}, index=${S}\uFF09`);return {context:D,message:w}}return {applications:{listJoinApplications:a,acceptJoinApplication:h=>u(h,"accept"),ignoreJoinApplication:h=>u(h,"ignore")},loadMessageContext:m,loadNewerPage:(h,S,f,v)=>g(h,S,f,false,v),dispose:()=>{n=false;}}}function hc(e){async function n(i,d,a){let u=new Map(d.filter(C$1).sort((m,h)=>m.sortKey.localeCompare(h.sortKey)).map(m=>[m.id,m]));if(u.size===0)return;let g=await e.authProvider.getLoginContext();if(g===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let m=u.values().next().value;u.delete(m.id);let h=m.extensions?.historyCursor;if(typeof h!="string"||h.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${m.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let S=e.getHistoryGeneration(),f=e.getHistoryEpoch(i);try{let{context:v,message:D}=await e.loadMessageContext(i,h,g.userId);if(!e.isActive()||S!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(i))return;if(D.id!==m.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${h}, expected=${m.id}, actual=${D.id}\uFF09`);if(D.contentType!=="system"||C$1(D))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${h}, messageId=${m.id}\uFF09`);let w=v.messages.filter(O=>O.id===m.id||u.has(O.id));if(w.some(O=>O.contentType!=="system"||C$1(O)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${h}\uFF09`);e.domainState.upsertMessages(w,"offline",{backfillOnly:!0}),a.applyIncoming(w.flatMap(O=>{let y=e.domainState.getMessage(O.id);return y===void 0?[]:[y]}));for(let O of w)u.delete(O.id);}catch(v){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${m.id}\uFF09`,cause:v}});}}}function r(i,d){return i?.conversationType===d.conversationType&&i.conversationId===d.conversationId}async function c(i,d=e.domainState.messageWindow){if(i.stale||!i.messages.some(C$1))return i;let a=d.info().conversation;if(a===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let u=e.domainState.getConversationContext(a);if(u?.type!=="channel"||u.channelState!==void 0&&Be(u.channelState))return i;let g=d.getRevision();if(await n(a.conversationId,i.messages,d),d.getRevision()!==g||!r(d.info().conversation,a))return {...i,stale:true};let m=new Map(d.list().map(h=>[h.id,h]));return {...i,messages:i.messages.map(h=>m.get(h.id)??h)}}return {reconcilePage:c}}function vc(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,T,s,o){let b=W({code:y,category:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":y==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...o===void 0?{}:{cause:o}});return Object.assign(new Error(T),b)}function c$1(y){let T=y.name.trim();if(T==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(T.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=y.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=s.map(b=>typeof b=="string"?b.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:T,memberIds:p}}function i(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let y=e.crypto.randomTeaKey();if(!(y instanceof Uint8Array)||y.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let T="";for(let s of y)T+=String.fromCharCode(s);return globalThis.btoa(T)}function d(y,T){let s=y.trim();if(s==="")throw new Error(`${T}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function a(y){let T=y.trim();if(T==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...T].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return T}function u(y){let T=y.trim();if(T==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...T].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return T}async function g(y){let T=(await e.getSelfUserId?.()??"").trim();return T!==""&&T===y.trim()}function m(){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 h(y,T,s){if(y!==1&&y!==2&&y!==4){let p=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(y!==4)return {verifyType:y};let o=T?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:y,inviteCode:o}}function S(y){if(!Array.isArray(y))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(y.map(T=>d(T,"\u793E\u7FA4\u6210\u5458 id")))]}function f(y){e.emitter?.emit({type:"channel-profile:updated",channelId:y,conversation:{conversationType:"channel",conversationId:y}});}function v(y){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(y).catch(T=>{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:T}}});});}function D(y){if(y===void 0)return;let T=typeof y=="number"?y:Number(y);return Number.isSafeInteger(T)?T:void 0}function w(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 O(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 T=y.id??y.radio_id;if(typeof T!="string"&&typeof T!="number"||String(T).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=y.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(T),p=D(y.total_users),b=D(y.status),C=D(y.verify_way),U=D(y.update_version),ie=w(y.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:s,...y.head_img_url?.trim()===""||y.head_img_url===void 0?{}:{avatar:y.head_img_url},...y.user_id===void 0?{}:{ownerId:String(y.user_id)},...p===void 0?{}:{memberCount:p},...b===void 0?{}:{status:b},...ie===void 0?{}:{isInChannel:ie},...C===void 0?{}:{verifyWay:C},...U===void 0?{}:{updateVersion:U},...y.invite_code===void 0?{}:{inviteCode:y.invite_code}}}return {...n,mentions:e.mentionCandidates??Vu,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 et(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 T=c$1(y),s=i();try{let o=await aa({client:e.coreClient,name:T.name,memberIds:T.memberIds,secretKey:s,...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=O(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,s);let b=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:b,channelPermissions:Ba$1("owner",b)}),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,T)=>e.channelProfile?.getProfile(y,T)??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,T,s)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(y,T,s),updateName:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=d(T,"\u793E\u7FA4\u540D\u79F0");await He("channels.updateName",o,()=>F({client:s,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),f(o);},updateDescription:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=u(T);await He("channels.updateDescription",o,()=>F({client:s,channelId:o,description:p})),f(o);},updateAvatar:async(y,T)=>{let s=m(),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 He("channels.updateAvatar",o,()=>et(e.avatarTransfer,T));return await He("channels.updateAvatar",o,()=>F({client:s,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),f(o),p},setMyNickname:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=a(T);await He("channels.setMyNickname",o,()=>G({client:s,channelId:o,nickname:p})),f(o);},setMemberNickname:async(y,T,s)=>{let o=m(),p=d(y,"\u793E\u7FA4 id"),b=d(T,"\u793E\u7FA4\u6210\u5458 id");if(await g(b))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let C=a(s);await He("channels.setMemberNickname",p,()=>H({client:o,channelId:p,userId:b,nickname:C})),f(p);},updateVerification:async(y,T,s)=>{let o=m(),p=d(y,"\u793E\u7FA4 id"),b=h(T,s,p);await He("channels.updateVerification",p,()=>O$1({client:o,channelId:p,verifyType:b.verifyType,...b.inviteCode===void 0?{}:{inviteCode:b.inviteCode}})),f(p);},requestJoin:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=T?.remarks?.trim();return He("channels.requestJoin",o,()=>qa$1({client:s,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=T.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return He("channels.joinByInviteCode",o,()=>ra({client:s,channelId:o,inviteCode:p}))},setAllMuted:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id");await He("channels.setAllMuted",o,()=>P({client:s,channelId:o,muted:T})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},setMemberPrivateChatDisabled:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id");await He("channels.setMemberPrivateChatDisabled",o,()=>Q({client:s,channelId:o,disabled:T})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},inviteMembers:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=S(T);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await He("channels.inviteMembers",o,()=>I({client:s,channelId:o,userIds:p})),f(o);},removeMember:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=d(T,"\u5F85\u79FB\u9664\u6210\u5458 id");await He("channels.removeMember",o,()=>J({client:s,channelId:o,userId:p})),f(o);},addAdmin:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=d(T,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await He("channels.addAdmin",o,()=>K({client:s,channelId:o,userId:p})),v(o),f(o);},removeAdmin:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=d(T,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await He("channels.removeAdmin",o,()=>L({client:s,channelId:o,userId:p})),v(o),f(o);},transferOwnership:async(y,T)=>{let s=m(),o=d(y,"\u793E\u7FA4 id"),p=d(T,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.transferOwnership",o,()=>M({client:s,channelId:o,userId:p})),v(o),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},leave:async(y,T)=>{let s=m();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=T?.newOwnerId===void 0?void 0:d(T.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.leave",o,()=>N({client:s,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),f(o);},dismiss:async y=>{let T=m();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=d(y,"\u793E\u7FA4 id");await He("channels.dismiss",s,()=>R({client:T,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??zu}}function Wu(e){let r=W({...{"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 $u(e){let n=e.responseCode===X,i=W({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(i.code),i)}function Ju(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Cc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,c=new Map,i=new Map,d=new Map,a=0,u=false,g$1=5e3;function m(s,o,p){if(u)return "unknown";if(p!==void 0&&r.get(s)!==p)return c.get(s)??"unknown";let b=c.get(s);return c.set(s,o),i.set(s,Date.now()),b!==o&&e.onRelationshipChanged?.(s,o),o}function h(s,o){if(u)return;let p=f(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(p,++a),m(p,o);}function S(s){if(e.coreClient===void 0)throw new Error(`${s}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function f(s,o){let p=s.trim();if(p==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function v(s,o){e.profile!==void 0&&e.profile.getUserProfile(s,{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 D(s,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(s===""||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:s,...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(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function w(s){switch(s){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function O(s,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=s.trim();if(p==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let b=d.get(p);if(o&&b!==void 0)return b;let C=++a;r.set(p,C);let U=g(e.coreClient,{userId:p}).then(ie=>m(p,w(ie?.friend_status),C)).finally(()=>{d.get(p)===U&&d.delete(p);});return d.set(p,U),U}function y(s){return O(s,true)}async function T(s,o){let p=f(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),b;try{b=await O(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(b==="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(b!=="friend")return "rejected";h(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}),v(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,o)=>e.profile?.getUserProfile(s,o)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:D,searchUser:s=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Y(e.coreClient,{query:s}).catch(o=>{throw o instanceof V?$u(o):o}).then(o=>{if(o===null)return null;let p=w(o.friendStatus);return h(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(s,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(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),b;try{b=await Z(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(U){throw U instanceof W$1?Wu(U):U}let C=Ju(b.status);return h(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}),v(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:C,...b.message===void 0?{}:{message:b.message}})},blockUser:async s=>{let o=f(s,"\u52A0\u5165\u9ED1\u540D\u5355");await U(S("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),h(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}),v(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,o)=>{let p=f(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),b=o.trim();if(b==="")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 $(S("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:C,targetUserId:p,problem:b});},deleteFriendship:async s=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=s.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await _(e.coreClient,{userId:o}),h(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}});}v(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>c.get(s.trim()),ensureRelationship(s){let o=f(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),p=i.get(o);return p!==void 0&&Date.now()-p<g$1?Promise.resolve(c.get(o)??"unknown"):y(o)},updateRelationshipFromEvent:h,resolveApplicationAnswer:T,dispose:()=>{u=true,a+=1,r.clear(),c.clear(),i.clear(),d.clear();}}}function bc(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let c=e().filter(d=>d.id===n);if(c.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(c.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let i=c[0];if(i.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function Mc(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=e.domainState.getConversationContext(c);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:r}),e.domainState.setMuted(c,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(r);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(r),d=i.at(-1)?.id??c.readCursor??"";if(c.type==="direct"||c.type==="robot"){d!==""&&e.domainState.advanceRead(r,d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="group"){let a=await e.authProvider.getLoginContext();if(a===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:e.http,userId:a.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="channel"){let a=Ta$1(i);if(a===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${r.conversationId}\uFF09`);await e.markChannelRead(r.conversationId,a),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${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 ro=1,Yu=3;function oo(e){return typeof Blob<"u"&&e instanceof Blob}async function Sc(e){return oo(e)?new Uint8Array(await e.arrayBuffer()):e}function Pc(e){async function n(A){return e.connection.sendText(A)}async function r(A){return e.connection.sendContact(A)}async function c(A){return e.connection.forwardMessages(A)}async function i(A){return e.connection.recallMessage(A)}async function d(A){return e.connection.editMessage(A)}async function a(A){return e.connection.sendImage(A)}async function u(A){return e.connection.sendVideo(A)}async function g(A){return e.connection.sendVoice(A)}async function m(A){return e.connection.sendFile(A)}async function h(A){return e.connection.sendMediaAlbum(A)}async function S(A){return e.connection.sendGif(A)}async function f(A){return e.connection.sendExpression(A)}async function v(A){return e.connection.sendGame(A)}async function D(A){return e.connection.sendMiniProgram(A)}async function w(A){return e.connection.sendTransfer(A)}async function O(A){return e.connection.sendGift(A)}async function y(A,M){return e.connection.replaceInterruptedVideo(A,M)}async function T(A,M){return e.connection.replaceInterruptedFile(A,M)}function s(A){e.connection.cancelMedia(A);}function o(A,M){return {url:A.url,...A.expectedBytes===void 0?{}:{expectedBytes:A.expectedBytes},...A.onProgress!==void 0?{onProgress:K=>A.onProgress?.(K.percent)}:{},...A.signal!==void 0?{signal:A.signal}:{},...M?{preferBlob:true}:{}}}async function p(A){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 M=await e.mediaTransfer.download(o(A,false)),K=await Sc(M);return A.teaKey!==void 0&&A.teaKey.length>0&&A.fileEncryptType!==ro?e.crypto.decryptSymmetric({teaKey:A.teaKey,cipherData:K}):K}async function b(A){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 M=await e.mediaTransfer.download(o(A,true));if(A.teaKey===void 0||A.teaKey.length===0||A.fileEncryptType===ro)return M;let K=A.teaKey;return oo(M)?e.crypto.decryptSymmetricChunked({teaKey:K,cipherData:M,...A.signal===void 0?{}:{signal:A.signal}}):e.crypto.decryptSymmetric({teaKey:K,cipherData:M})}async function C(A){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(A.fileEncryptType===Yu)return b(A);let M=await e.mediaTransfer.download(o(A,true));if(A.teaKey===void 0||A.teaKey.length===0||A.fileEncryptType===ro)return M;let B=A.teaKey;if(!oo(M))return e.crypto.decryptFileSimple({teaKey:B,cipherData:M});if(M.size<=32){let Z=e.crypto.decryptFileSimple({teaKey:B,cipherData:await Sc(M)});return new Blob([Z],{type:M.type})}let z=new Uint8Array(await M.slice(0,32).arrayBuffer()),re=e.crypto.decryptFileSimple({teaKey:B,cipherData:z});return new Blob([re,M.slice(32)],{type:M.type})}function U(A){e.connection.retryMessage(A);}function ie(A,M){let K={conversationType:"channel",conversationId:A},B=e.domainState.getLoadedMessagesByConversation(K),re=e.domainState.getConversationMessage(K,M)??B.find(k=>Sa$1(k)===M),Z=Sa$1(re);if(re===void 0||typeof Z!="string"||Z.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${A}, input=${M}\uFF09`);return re.id}async function G(A){let M=A.conversationType??e.domainState.getSession(A.conversationId)?.type;if(M==="channel"){let K=ie(A.conversationId,A.readCursor);await e.connection.markRead(A.conversationId,K,"channel");return}await e.connection.markRead(A.conversationId,A.readCursor,A.conversationType),M==="direct"&&await e.prepareDirectReadReceipt?.(A.conversationId);}async function E(A,M){e.connection.reportDirectMediaConsumed?.(A,M),await e.prepareDirectReadReceipt?.(A);}return {operations:{sendText:n,sendContact:r,forwardMessages:c,recallMessage:i,editMessage:d,sendImage:a,sendVideo:u,sendVoice:g,sendFile:m,sendGif:S,sendMediaAlbum:h,sendExpression:f,sendGame:v,sendMiniProgram:D,sendTransfer:w,sendGift:O,replaceInterruptedVideo:y,replaceInterruptedFile:T,cancelMediaUpload:s,loadImage:p,loadVideo:b,loadVoice:p,loadFile:C,retry:U,markRead:G,markDirectMediaConsumed:E}}}function Ac(e){return {...e.operations,get state(){return e.getState()}}}var Xu=50,Qu=1e3,$e={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 Fe(e){let n=W({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 Zu(e,n){switch(e){case $e.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case $e.CONTACT_PERMISSION_DENIED:case $e.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case $e.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case $e.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case $e.ALREADY_GROUP_MEMBER:case $e.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case $e.GROUP_MEMBER_LIMIT_REACHED:case $e.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case $e.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case $e.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case $e.OPERATION_FAILED:case $e.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case $e.GROUP_APPLICATION_UNAVAILABLE_40521:case $e.GROUP_APPLICATION_UNAVAILABLE_40612:case $e.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function ep(e){if(e instanceof j$1||e instanceof q)return e.code}function np(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 Ec(e,n,r){let c=ep(r),i=Zu(c,e),d=np(r);return Fe({code:i,category:d.category,operation:n,retryable:d.retryable,cause:r})}function Rc(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function en(e,n){if(typeof e!="string"&&typeof e!="number")throw Fe({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 Fe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function io(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Fe({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 Gn(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 tp(e,n,r="pending"){return Object.freeze({ref:Gn(e),...n===void 0?{}:{createdAt:n},state:r})}function rp(e){let n=io(e.createdAt),r=Rn(e.applicantAvatar,"contact.applicantAvatar"),c=Rn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Gn({domain:"contact",applicationId:en(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:en(e.applicantId,"contact.applicantId"),name:en(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),message:ao(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function op(e){if(e.kind!=="request"&&e.kind!=="invite")throw Fe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=io(e.createdAt),r=Rn(e.actor.avatarUrl,"group.actor.avatarUrl"),c=Rn(e.actor.displayId,"group.actor.displayId"),i=Rn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Gn({domain:"group",applicationId:en(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:en(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:en(e.actor.id,"group.actor.id"),name:en(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:en(e.target.id,"group.target.id"),name:en(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:ao(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Rn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Fe({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 ao(e,n){if(typeof e!="string"&&typeof e!="number")throw Fe({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 ip(e){let n=io(e.createdAt),r=Rn(e.applicantAvatar,"channel.applicantAvatar"),c=Rn(e.applicantDisplayId,"channel.applicantDisplayId"),i=Rn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Gn({domain:"channel",applicationId:en(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:en(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:en(e.applicantId,"channel.applicantId"),name:en(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:en(e.channelId,"channel.channelId"),name:en(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:ao(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Pt(e){return `${e.domain}:${e.applicationId}`}function wc(e){let n=false,r=0,c=0,i=new Map,d=new Map,a=new Map;function u(v,D){if(n||!e.isActive()||D!==void 0&&r!==D)throw Fe({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:v,retryable:false})}function g(v){if(u(v),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:v,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function m(v,D){let w=[],O=new Set,y;for(let T=0;T<Qu;T+=1){let s=await D({limit:Xu,...y===void 0?{}:{cursor:y}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw Fe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:v,retryable:false});if(w.push(...s.items),s.exhausted)return w;let o=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(o===""||O.has(o))throw Fe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:v,retryable:false});O.add(o),y=o;}throw Fe({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:v,retryable:false})}async function h(){let v="applications.listPending",D=g(v),w=r,O=++c;try{let[y,T,s]=await Promise.all([m(v,C=>D.contact.listPendingApplications(C)),m(v,C=>D.group.listPendingApplications(C)),m(v,C=>D.channel.listJoinApplications(C))]);u(v,w);let o=[...y.map(rp),...T.map(op),...s.map(ip)],p=new Map;for(let C of o){let U=Pt(C.ref);if(d.has(U))continue;let ie=p.get(U);if(ie!==void 0&&JSON.stringify(ie.ref)!==JSON.stringify(C.ref))throw Fe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:v,retryable:!1});(ie===void 0||(C.createdAt??0)>(ie.createdAt??0))&&p.set(U,C);}let b=[...p.values()].sort((C,U)=>{let ie=(U.createdAt??0)-(C.createdAt??0);return ie!==0?ie:Pt(C.ref).localeCompare(Pt(U.ref))});if(O===c){i.clear();for(let C of b)i.set(Pt(C.ref),C);}return Object.freeze(b)}catch(y){throw Rc(y)?y:(u(v,w),Ec("IM_SDK_APPLICATION_LIST_FAILED",v,y))}}function S(v,D){if(u(D),v===null||typeof v!="object")throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});let w=typeof v?.applicationId=="string"?v.applicationId.trim():"";if(w==="")throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});if(v.domain==="contact")return Gn({domain:"contact",applicationId:w});let O=typeof v.conversation?.conversationId=="string"?v.conversation.conversationId.trim():"";if(v.domain==="group"&&v.conversation?.conversationType==="group"&&O!=="")return Gn({domain:"group",applicationId:w,conversation:{conversationType:"group",conversationId:O}});if(v.domain==="channel"&&v.conversation?.conversationType==="channel"&&O!=="")return Gn({domain:"channel",applicationId:w,conversation:{conversationType:"channel",conversationId:O}});throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false})}function f(v,D){let w=D==="accepted"?"applications.accept":"applications.ignore",O=S(v,w),y=Pt(O),T=d.get(y);if(T===D)return Promise.resolve();if(T!==void 0)return Promise.reject(Fe({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:w,retryable:false}));let s=a.get(y);if(s!==void 0)return s.state===D?s.promise:Promise.reject(Fe({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:w,retryable:true}));let o=r,p=Promise.resolve().then(async()=>{try{let C;if(O.domain==="contact"){if(e.contact===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:w,retryable:!1});C=D==="accepted"?e.contact.acceptApplication(O.applicationId):e.contact.ignoreApplication(O.applicationId);}else if(O.domain==="group"){if(e.group===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:w,retryable:!1});C=D==="accepted"?e.group.acceptApplication(O.applicationId):e.group.ignoreApplication(O.applicationId);}else {if(e.channel===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:w,retryable:!1});C=D==="accepted"?e.channel.acceptJoinApplication(O.applicationId):e.channel.ignoreJoinApplication(O.applicationId);}if(await C,u(w,o),D==="accepted"&&O.domain==="contact"){let ie=i.get(y);ie?.kind==="contact-request"&&await e.onContactAccepted?.(ie.applicant.id,O.applicationId);}d.set(y,D);let U=tp(O,i.get(y)?.createdAt,D);i.delete(y),e.emitter.emit({type:"application:updated",application:U});}catch(C){throw Rc(C)?C:(u(w,o),Ec("IM_SDK_APPLICATION_ACTION_FAILED",w,C))}}),b=()=>{a.get(y)?.promise===p&&a.delete(y);};return a.set(y,{state:D,promise:p}),p.then(b,b),p}return {api:{listPending:h,accept:async v=>f(v,"accepted"),ignore:async v=>f(v,"ignored")},dispose(){n||(n=true,r+=1,i.clear(),d.clear(),a.clear());}}}function Hn(e,n,r){try{r();}catch(c){let i=c instanceof Error?c.message:String(c);throw i.includes("\u672A\u9274\u6743")?W({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?W({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?W({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?W({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):W({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function Tc(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},c;return Hn("calls.invite",r,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){Hn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Hn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Hn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Hn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Hn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Hn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var so=18,ap=12,sp=300*1e3,cp=64,_c=Object.freeze([]),dp=0;function lp(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Dc(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??sp,c=e.maxCacheEntries??cp;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(c)||c<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let i=++dp,d=new Map,a=new Map,u=new Map,g=new Map,m=new Map,h=new Map,S=new Map,f=new Set,v=0,D=true,w=R=>g.get(R)??0;function O(){if(!D)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function y(R){if(R.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let x=R.conversationId.trim();if(x==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return x}function T(R){let x=d.get(R);d.delete(R),x?.page.nextPageToken!==void 0&&u.delete(x.page.nextPageToken);}function s(R,x){let F=d.get(R);return F===void 0?null:F.generation!==x||F.expiresAt<=n()?(T(R),null):(d.delete(R),d.set(R,F),F.page)}function o(R,x){for(T(R),d.set(R,x);d.size>c;){let F=d.keys().next().value;if(typeof F!="string")break;T(F);}}function p(R){let x=[],F=new Map;for(let H of R){let $=H.userId.trim();if($==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");F.has($)||x.push($);let de=H.displayName.trim()||$,ue=H.avatar?.trim();F.set($,Object.freeze({userId:$,displayName:de,...ue===void 0||ue===""?{}:{avatar:ue}}));}return Object.freeze(x.map(H=>F.get(H)))}async function b(R,x){let F=await ga(x);return Object.freeze(R.filter(H=>F.match(H.displayName)!==null||F.match(H.userId,{pinyin:false})!==null))}async function C(R,x){let F=await z(R);return F===null?_c:b(F.page.items,x)}function U(R,x){let F=[...R.items],H=new Set(F.map($=>$.userId));for(let $ of x)H.has($.userId)||(H.add($.userId),F.push($));return Object.freeze({...R,items:Object.freeze(F)})}function ie(R,x){let F=R.map($=>$.userId),H=new Map(R.map($=>[$.userId,$]));for(let $ of x)H.has($.userId)||F.push($.userId),H.set($.userId,$);return F.map($=>H.get($))}function G(R,x,F){let H=`im-channel-mention:${i}:${++v}`;for(u.set(H,{...R,generation:x,expiresAt:F});u.size>c;){let $=u.keys().next().value;if(typeof $!="string")break;u.delete($);}return H}function E(R){let x=R.nextCursor?.trim();if(R.exhausted&&x!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!R.exhausted&&(x===void 0||x===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return x}function A(R,x,F,H){let $=E(R),de=$===void 0?void 0:G({...x,cursor:$},F,H);return Object.freeze({items:p(R.items),...de===void 0?{}:{nextPageToken:de},exhausted:R.exhausted})}function M(){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 K(R,x){let F=m.get(R);for(F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),m.delete(R),m.set(R,x);m.size>c;){let H=m.keys().next().value;if(H===void 0)break;let $=m.get(H);$?.page.nextPageToken!==void 0&&u.delete($.page.nextPageToken),m.delete(H);}}function B(R,x){let F=n()+r,H={channelId:R.channelId,kind:"list"},$=R.nextCursor===void 0?void 0:G({...H,cursor:R.nextCursor},x,F);return {generation:x,updatedAt:R.updatedAt,page:Object.freeze({items:p(R.items),...$===void 0?{}:{nextPageToken:$},exhausted:R.exhausted})}}function z(R){O();let x=m.get(R);if(x!==void 0)return Promise.resolve(x);if(f.has(R)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let F=S.get(R);if(F!==void 0)return F;let H=w(R),$=e.storage.getChannelMentionCandidateSnapshot(R).then(de=>{if(O(),de===null||de.channelId!==R||w(R)!==H||f.has(R))return null;let ue=B(de,H);return K(R,ue),ue}).finally(()=>{S.get(R)===$&&S.delete(R);});return S.set(R,$),$}function re(R){O();let x=h.get(R);if(x!==void 0)return x;let F=w(R),H=M(),$=(async()=>{let de,ue=false,ge=[];for(let ye=0;ye<ap&&!ue;ye+=1){let _e=await H.listMentionMembers({channelId:R,limit:so,...de===void 0?{}:{cursor:de}});if(O(),w(R)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");de=E(_e),ue=_e.exhausted,ge=ie(ge,_e.items);}let Ie=n(),Q={channelId:R,items:ge,...de===void 0?{}:{nextCursor:de},exhausted:ue,updatedAt:Ie};if(w(R)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Q),O(),w(R)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Oe=B(Q,F);return K(R,Oe),Oe.page})().finally(()=>{h.get(R)===$&&h.delete(R);});return h.set(R,$),$}function Z(R,x=false){O();let F=w(R.channelId),H=lp(R);if(!x){let Ie=s(H,F);if(Ie!==null)return Promise.resolve(Ie)}let $=a.get(H);if($!==void 0&&$.generation===F)return $.promise;let de=M(),ue=R.kind==="list"?de.listMentionMembers({channelId:R.channelId,limit:so,...R.cursor===void 0?{}:{cursor:R.cursor}}):de.searchMentionMembers({channelId:R.channelId,query:R.keyword,limit:so,...R.cursor===void 0?{}:{cursor:R.cursor}}),ge=Promise.resolve(ue).then(async Ie=>{O();let Q=R.kind==="search"&&R.cursor===void 0?await C(R.channelId,R.keyword):_c;if(O(),w(R.channelId)!==F)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Oe=n()+r,ye=A(Ie,R,F,Oe),_e=Q.length===0?ye:U(ye,Q);return w(R.channelId)===F&&o(H,{channelId:R.channelId,generation:F,expiresAt:Oe,page:_e}),_e}).finally(()=>{a.get(H)?.promise===ge&&a.delete(H);});return a.set(H,{generation:F,promise:ge}),ge}function k(R,x){O();let F=u.get(R);if(F===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(F.kind!==x)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${x} \u5206\u9875`);if(F.expiresAt<=n())throw u.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(w(F.channelId)!==F.generation)throw u.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return F}return {api:{peekFirstPage(R){if(!D)return null;let x=y(R),F=m.get(x);return F===void 0||F.generation!==w(x)?null:(K(x,F),F.page)},peekSearchCandidates(R,x){if(!D)return Object.freeze([]);let F=y(R),H=x.trim().toLocaleLowerCase();if(H==="")return Object.freeze([]);let $=m.get(F);return $===void 0||$.generation!==w(F)?Object.freeze([]):(K(F,$),Object.freeze($.page.items.filter(de=>de.displayName.toLocaleLowerCase().includes(H)||de.userId.toLocaleLowerCase().includes(H))))},async getCachedPage(R,x){let F=y(R),H=await z(F);if(H===null)return null;let $=x?.trim()??"";if($==="")return H.page;let de=await b(H.page.items,$);return O(),H.generation!==w(F)?null:Object.freeze({items:de,exhausted:true})},async prefetchFirstPage(R){let x=y(R),F=await z(x);F!==null&&F.updatedAt+r>n()||await re(x);},async refreshFirstPage(R){return re(y(R))},async listFirstPage(R){let x=y(R),F=m.get(x);if(F!==void 0&&F.generation===w(x))return K(x,F),F.page;let H=await z(x);return H!==null?H.page:re(x)},async listNextPage(R){return Z(k(R,"list"))},async searchFirstPage(R,x){let F=y(R),H=x.trim();return H===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Z({channelId:F,kind:"search",keyword:H})},async refreshSearchFirstPage(R,x){let F=y(R),H=x.trim();return H===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):Z({channelId:F,kind:"search",keyword:H},true)},async searchNextPage(R){return Z(k(R,"search"))}},async invalidate(R){if(!D)return;let x=R.trim();if(x==="")return;g.set(x,w(x)+1),f.add(x);let F=m.get(x);F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),m.delete(x),h.delete(x),S.delete(x);for(let[H,$]of d)$.channelId===x&&T(H);for(let[H,$]of u)$.channelId===x&&u.delete(H);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(x),f.delete(x));},clear(){if(!D)return;let R=new Set;for(let x of d.values())R.add(x.channelId);for(let x of u.values())R.add(x.channelId);for(let x of R)g.set(x,w(x)+1);d.clear(),u.clear(),a.clear(),m.clear(),h.clear(),S.clear(),f.clear();},dispose(){D&&(D=false,d.clear(),u.clear(),a.clear(),m.clear(),h.clear(),S.clear(),f.clear());}}}var up=20*1024*1024;function gn(e){return W({...e,retryable:e.retryable??false})}function co(e,n){if(e?.conversationType==="supergroup")throw gn({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 gn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function pp(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 gn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function mp(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function kc(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:mp(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw gn({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 lo(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 fp(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Oc(e){let n=e.maxCustomImageBytes??up,r=false,c=0,i,d;async function a(g,m){try{return await m(pp(e.storage,g))}catch(h){throw typeof h=="object"&&h!==null&&"code"in h?h:gn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:g,cause:h})}}return {api:{async getBackground(g){let m="conversations.getBackground",h=co(g,m);return a(m,async S=>{let f=await S.getConversationBackground(h);if(f!==null)return Object.freeze({source:"conversation",selection:lo(f)});let v=await S.getDefaultConversationBackground();return Object.freeze(v===null?{source:"builtin",selection:null}:{source:"default",selection:lo(v)})})},async setBackground(g,m){let h="conversations.setBackground",S=co(g,h),f=await kc(m,h,n);await a(h,v=>v.saveConversationBackground(S,f));},async resetBackground(g){let m="conversations.resetBackground",h=co(g,m);await a(m,S=>S.deleteConversationBackground(h));},async getDefaultBackground(){return a("conversations.getDefaultBackground",async m=>{let h=await m.getDefaultConversationBackground();return Object.freeze(h===null?{source:"builtin",selection:null}:{source:"default",selection:lo(h)})})},async setDefaultBackground(g){let m="conversations.setDefaultBackground",h=await kc(g,m,n);await a(m,S=>S.saveDefaultConversationBackground(h));},async resetDefaultBackground(){await a("conversations.resetDefaultBackground",m=>m.deleteDefaultConversationBackground());},listBackgroundPresets(g){let m="conversations.listBackgroundPresets";if(r)return Promise.reject(gn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m}));if(!g?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!g?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(gn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:m}));let h=++c,S=ga$1(e.coreClient).then(f=>{let v=Object.freeze(f.map(fp));return !r&&h===c&&(i=v),v}).catch(f=>{throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:m,retryable:true,cause:f})}).finally(()=>{h===c&&(d=void 0);});return d=S,S}},dispose(){r=true,c+=1,i=void 0,d=void 0;}}}var uo=2;async function gp(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,c,i;for(let d=0;d<=uo;d+=1){e.signal?.throwIfAborted();let a=await e.loadReadCursorPage(c);if(e.signal?.throwIfAborted(),a===void 0)break;if(i!==void 0&&i!==a.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");i=a.readCursorSortKey;for(let m of a.messages){if(m.conversationId!==e.conversation.conversationId||m.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(m.id,m);}let u=[...n.values()].sort(m$1),g=At(u,e.selfId,i).unreadMessages[0];if(g!==void 0)return await e.openAt(g.sortKey,{messages:u,hasNewer:!a.exhausted,...a.nextCursor===void 0?{}:{nextCursor:a.nextCursor}}),e.signal?.throwIfAborted(),po(g.id,e.unreadCount);if(a.exhausted||a.nextCursor===void 0||a.nextCursor===c||r.has(a.nextCursor))break;r.add(a.nextCursor),c=a.nextCursor;}return Object.freeze({state:"unavailable"})}function Ip(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function At(e,n,r){let c=[];for(let i of e)!Ip(i)||r!==void 0&&i.sortKey<=r||ma$1(i,n)&&c.push(i);return {unreadMessages:c}}function po(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function xc(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return gp(e);if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let c=At(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;c.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<uo;d+=1)await e.loadNewer(),c=At(e.list(),e.selfId,e.readCursorSortKey);if(c.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});let i=c.unreadMessages[0];return i===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(i.sortKey),po(i.id,e.unreadCount))}await e.openLatest();let n=At(e.list(),e.selfId,void 0);for(let c=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&c<uo;c+=1)await e.loadOlder(),n=At(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let r=n.unreadMessages.at(-e.unreadCount);return r===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(r.sortKey),po(r.id,e.unreadCount))}function Et(e){if(e===void 0||e.length===0)return;let n=false,r=[],c={},i=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}i.has(d.userId)||(i.add(d.userId),r.push(d.userId),d.displayName.trim()!==""&&(c[d.userId]=d.displayName));}return {atAll:n,atUserIds:r,...Object.keys(c).length===0?{}:{atUsersName:c}}}function yp(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function hp(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Nc(e){let n=[...new Set(e.messageIds.map(a=>a.trim()).filter(a=>a!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],c=[],i=[],d;for(let a of hp(n)){if(!e.isCurrent()){i.push(...a);continue}try{let u=await e.fetchBatch(a);if(!e.isCurrent()){i.push(...a);continue}let g=new Set(u.messages.map(h=>h.id)),m=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),c.push(...u.missingMessageIds);for(let h of a)!g.has(h)&&!m.has(h)&&i.push(h);}catch(u){i.push(...a),d=yp(u);}}return {messages:r,missingMessageIds:c,unresolvedMessageIds:i,...d===void 0?{}:{failure:d}}}var fo=new WeakMap;function cr(e,n){let r=fo.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");fo.set(e,r);}var vp={"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}},Cp={"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}},Lc={"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}},Fc={"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 Kc(e,n,r){let c=W({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function bp(e,n){let r=W({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 Mp=3*1024*1024,mo=200*1024*1024,Uc=2*1024*1024*1024,Bc=30*1024*1024,Gc=4294967295,Sp=6,Pp=16*1024,Ap=300;async function Ep(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 Rp={"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 dr(e,n,r,c,i={},d={}){d.signal?.throwIfAborted();let a=Object.freeze({...e}),u=n.pageSize??30,g=n.domainState.createMessageWindow({retention:{maxMessages:u*Sp},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(I,P)=>i.shouldEstablishRemoteLatestOnOpen?.(P)===true}}),m=new Set,h=new Set,S=new Map,f,v,D=false,w=false,O=false,y=true,T=0,s=Object.freeze({state:"none"}),o=new AbortController,p=new WeakMap,b;function C(){if(w)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function U(){let I=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(a),draft:n.domainState.getDraft(a),loading:S.size>0,stale:D,hasOlder:I.hasMore,hasNewer:I.hasNewer,error:v,entryUnread:s}}function ie(I,P){return I.length===P.length&&I.every((_,q)=>_===P[q])}function G(I,P){return ie(I.messages,P.messages)&&(I.context?.title??"")===(P.context?.title??"")&&(I.context?.avatar??"")===(P.context?.avatar??"")&&I.draft===P.draft&&I.loading===P.loading&&I.stale===P.stale&&I.hasOlder===P.hasOlder&&I.hasNewer===P.hasNewer&&I.error===P.error&&I.entryUnread===P.entryUnread}function E(I){let P=p.get(I);if(P!==void 0)return P;let _=Xt(I);return p.set(I,_),_}function A(I){let P=I.context;return {ref:a,...P===void 0?{}:{display:Object.freeze({title:P.title,...P.avatar===void 0?{}:{avatar:P.avatar}})},messages:Object.freeze(I.messages.map(E)),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 M(){return C(),A(U())}function K(){let I=U();if(b!==void 0&&G(b,I))return;b=I;let P=A(I);for(let _ of m)try{_(P);}catch(q){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:q}});}}async function B(I){let P=g.window.list().find(we=>we.id===I)??n.domainState.getConversationMessage(a,I);if(P!==void 0)return {anchor:P};let _=n.domainState.getPinnedMessage(a),q=_?.messageId===I&&_.preview.state==="ready"?_.preview.message:void 0;if(q!==void 0)return {anchor:q,fallbackSeed:q};let ce=n.resolveSearchHistoryAnchor?.(a,I);if(ce!==void 0)return {anchor:ce};let Ee=await n.domainState.resolveConversationMessage(a,I);return Ee===void 0?void 0:{anchor:Ee}}function z(I,P){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 _=S.get(I);if(_!==void 0)return _;v=void 0;let q=Promise.resolve().then(P).then(ce=>i.reconcilePage===void 0?ce:i.reconcilePage(ce,g.window)).then(ce=>{C(),D=ce.stale===true;}).catch(ce=>{let Ee=ce instanceof Ia$1?ce.cause:ce;throw w||(v=An(Ee,`history.${I}`,a)),y?ce:Ee}).finally(()=>{S.delete(I),w||K();});return S.set(I,q),K(),q}function re(){g.window.applyIncoming(n.domainState.getMessagesByConversation(a).slice(-u));}async function Z(){O?O=false:await z("latest",()=>g.window.open(a,{limit:u})),re(),i.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await z("latest:remote",()=>g.window.loadOlder({limit:u})),re());}async function k(){let I=n.domainState.getSession(a),P=Math.max(0,I?.manuallyUnread===true?0:I?.unreadCount??0),_=n.domainState.getReadState(a),q=_?.readCursor,Ee=(q===void 0||q===""?void 0:a.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(a).find(we=>we.extensions?.historyCursor===q):n.domainState.getConversationMessage(a,q))?.sortKey??_?.readCursorSortKey;s=await xc({conversation:a,pageSize:u,unreadCount:P,...Ee===void 0?{}:{readCursorSortKey:Ee},signal:o.signal,...a.conversationType!=="channel"||q===void 0||q===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async we=>{let Re=g.window.getRevision(),Ae=()=>!w&&!o.signal.aborted&&g.window.getRevision()===Re,xe=await n.loadEntryUnreadPage({readCursor:q,...we===void 0?{}:{cursor:we},signal:o.signal,isCurrent:Ae});if(o.signal.throwIfAborted(),!Ae())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return xe}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:Z,openAt:(we,Re)=>{O=false;let Ae=Re?.messages.map(hn=>n.domainState.getConversationMessage(a,hn.id)??hn),xe=Re?.messages.find(hn=>hn.sortKey===we)?.id,dn=xe===void 0?we:Ae?.find(hn=>hn.id===xe)?.sortKey??we;return z(`entry-unread:${we}`,()=>g.window.openAt(a,{anchorSortKey:dn,limit:u,...Re===void 0?{}:{seedMessages:Ae,seedHasNewer:Re.hasNewer,seedRemotePagination:Re.nextCursor===void 0?{}:{newerCursor:Re.nextCursor}}}))},loadOlder:()=>z("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>z("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let j=n.emitter.subscribe(I=>{if(!(w||!("conversation"in I)||I.conversation===void 0)&&!(I.conversation.conversationType!==a.conversationType||I.conversation.conversationId!==a.conversationId)){if((I.type==="conversation-history:cleared"||I.type==="session:removed")&&o.abort(),I.type==="draft:updated"||I.type==="draft:cleared"){let P=I.type==="draft:updated"?I.draft:null;for(let _ of h)try{_(P);}catch(q){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:q}});}}K();}});function R(){return d.initialPosition==="first-unread"?k():Z()}let x=()=>{o.abort(d.signal?.reason),g.dispose();};d.signal?.addEventListener("abort",x,{once:true});try{if(d.signal?.throwIfAborted(),d.initialLoad==="local-first"){await z("initial:local",()=>g.window.open(a,{limit:u})),d.signal?.throwIfAborted(),re(),O=!0;try{await R();}catch(I){if(d.signal?.throwIfAborted(),I instanceof Ia$1)throw I;v=An(I,"history.initial",a),d.initialPosition==="first-unread"&&(s=Object.freeze({state:"unavailable"}));}finally{O=!1;}}else await R();d.signal?.throwIfAborted();}catch(I){throw w=true,j(),m.clear(),g.dispose(),I instanceof Ia$1?I.cause:I}finally{o.abort(),d.signal?.removeEventListener("abort",x);}y=false;function F(I,P){let _=n.domainState.getMessage(I);return _!==void 0&&_.conversationType===a.conversationType&&_.conversationId===a.conversationId?{ok:true,message:Zn(_)}:{ok:false,error:W({code:_===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:a})}}async function H(I,P,_){let q=await i.getSendPermissionError?.(I);if(C(),q!==void 0){if(_===void 0)return {ok:false,error:q};let ce=await _(q);return C(),ce}try{let ce=await P();return C(),ce}catch(ce){if(w)throw ce;return {ok:false,error:An(ce,I,a)}}}async function $(I,P={}){let _="name"in I?I.name:void 0,q=P.fileName??(typeof _=="string"&&_!==""?_:void 0);return {...a,data:I,...I.type===""?{}:{mimeType:I.type},...q===void 0?{}:{filename:q},...a.conversationType==="robot"?{encrypted:false}:{},...P.localPreviewUrl===void 0?{}:{localPreviewUrl:P.localPreviewUrl},...P.localPreviewMetadata===void 0?{}:{localPreviewMetadata:P.localPreviewMetadata},...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}}}function de(I){return I===void 0||Number.isFinite(I.width)&&I.width>0&&Number.isFinite(I.height)&&I.height>0}function ue(I){return de(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<=Pp)}function ge(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&I.duration>Ap}function Ie(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&Number.isFinite(I.duration)&&I.duration>0}function Q(I,P,_){return {ok:false,error:W({code:I,category:P,operation:_,retryable:false,conversation:a})}}function Oe(I,P){if(I===null||typeof I!="object"||I.kind!==P||!Number.isSafeInteger(I.width)||I.width<=0||I.width>Gc||!Number.isSafeInteger(I.height)||I.height<=0||I.height>Gc)return false;let _;try{_=new URL(I.url);}catch{return false}if(_.protocol!=="http:"&&_.protocol!=="https:"||_.username!==""||_.password!=="")return false;let q=I.resourceId;if(q!==void 0&&(typeof q!="string"||q.trim()===""))return false;if(P==="gif")return !Object.prototype.hasOwnProperty.call(I,"packageId");let ce=I.packageId;return typeof q=="string"&&q.trim()!==""&&typeof ce=="string"&&ce.trim()!==""}function ye(I){return Object.assign(new Error(I.code),I,{name:"ImMessageActionError"})}function _e(I,P,_){if(I==="direct"||I==="group"||I==="channel"||I==="robot")return Object.freeze({conversationType:I,conversationId:P});throw ye(W({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:_,retryable:false,conversation:a,details:{targetConversationType:I,targetConversationId:P}}))}async function We(I,P,_){let q;try{q=await n.forwardMessages({messages:P,targets:_.map(ce=>({...ce}))});}catch(ce){throw ye(An(ce,I,a))}return C(),Object.freeze({sent:Object.freeze(q.results.flatMap(ce=>ce.ok?[{conversation:_e(ce.targetConversationType,ce.targetConversationId,I),messageId:ce.newMessageId}]:[])),failed:Object.freeze(q.results.flatMap(ce=>ce.ok?[]:[{sourceMessageId:ce.sourceMessageId,conversation:Object.freeze({conversationType:ce.targetConversationType,conversationId:ce.targetConversationId}),error:W({...Rp[ce.reason],operation:I,conversation:{conversationType:ce.targetConversationType,conversationId:ce.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...q.skippedSourceIds])})}function Ke(I,P){let _=n.domainState.getConversationMessage(a,I);if(_===void 0){let q=n.domainState.getMessage(I);throw ye(W({code:q===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:a}))}if(_.conversationType!==a.conversationType||_.conversationId!==a.conversationId)throw ye(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:a}));return _}function nn(I,P){return ye(W({...P,operation:I,conversation:a}))}function rn(I,P){let _=W({code:I,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:a,...P===void 0?{}:{cause:P}});return Object.assign(new Error(I),_,{name:"ImLocalMessageDeletionError"})}function Je(I,P){let _=W({code:I,category:"state",operation:"history.clearLocal",retryable:false,conversation:a,...P===void 0?{}:{cause:P}});return Object.assign(new Error(I),_,{name:"ImLocalConversationHistoryClearError"})}function wt(){if(w)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(f!==void 0)return f;n.invalidateHistory?.(a);let I=[...S.values()],P=Promise.all(I).then(async()=>{C();let _=[...n.domainState.getMessagesByConversation(a),...g.window.list()];if(n.hasOutboxForConversation(a)||_.some(q=>n.isOutboxOwned(q.id)))throw Je("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(_.some(q=>q.status==="pending"||q.status==="uploading"||q.status==="sending"))throw Je("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(a),C(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(_=>{throw _ instanceof Error&&_.name==="ImLocalConversationHistoryClearError"?_:Je("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",_)}).finally(()=>{f===P&&(f=void 0);});return f=P,P}async function ot(I,P){if(I!==void 0)try{await n.domainState.clearDraftIfUnchanged(a,I);}catch(_){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${P}\uFF09`,cause:_}});}}async function on(I,P,_,q,ce){return H(I,async()=>{if(P==="image"){let Ae=await Qt(_);if(C(),!Ae)return Q("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",I)}let Ee=await $(_,q);if(P!==void 0&&Ee.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ae=new AbortController,xe=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${I}:${++T}`,kind:P,file:_,signal:Ae.signal});if(C(),xe===void 0||(P==="image"?!de(xe):!ue(xe)))return Q(P==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);Ee.localPreviewMetadata=xe;}if(P==="video"&&(n.prepareMediaPreview!==void 0||Ee.localPreviewMetadata!==void 0)&&!Ie(Ee.localPreviewMetadata))return Q("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(P==="video"&&ge(Ee.localPreviewMetadata))return Q("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let we=i.recheckSendPermissionError?.(I);if(we!==void 0)return {ok:!1,error:we};let Re=await ce({...Ee,...q.caption===void 0||q.caption===""?{}:{caption:q.caption}});return Re.ok?(C(),F(Re.messageId,I)):{ok:!1,error:ht(Re.reason,I,a)}})}async function cn(I,P){let _="messages.sendMediaAlbum";if(I.length===0)return Q("IM_SDK_MEDIA_ALBUM_EMPTY","validation",_);if(I.length>9)return Q("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",_);if(P.caption!==void 0&&P.caption.length>1024)return Q("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",_);for(let q of I){if(q.file.type==="image/gif")return Q("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",_);if(q.kind==="image"){if(q.file.size>Bc)return Q("IM_SDK_IMAGE_TOO_LARGE","validation",_);if(!de(q.localPreviewMetadata))return Q("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",_)}else {if(q.file.size>mo)return Q("IM_SDK_VIDEO_TOO_LARGE","validation",_);if(!ue(q.localPreviewMetadata))return Q("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",_);if(ge(q.localPreviewMetadata))return Q("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",_)}}return H(_,async()=>{for(let Re of I){if(Re.kind!=="image")continue;let Ae=await Qt(Re.file);if(C(),!Ae)return Q("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",_)}let q=await Promise.all(I.map(async Re=>{if(Re.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return Re.localPreviewMetadata;let Ae=new AbortController;return n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${_}:${++T}`,kind:Re.kind,file:Re.file,signal:Ae.signal})}));C();let ce=[];for(let[Re,Ae]of I.entries()){let xe=q[Re];if(Ae.kind==="image"&&!de(xe))return Q("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",_);if(Ae.kind==="video"){if(!ue(xe))return Q("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",_);if(n.prepareMediaPreview!==void 0&&!Ie(xe))return Q("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",_);if(ge(xe))return Q("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",_)}let dn="name"in Ae.file?Ae.file.name:void 0;ce.push({kind:Ae.kind,data:Ae.file,...Ae.file.type===""?{}:{mimeType:Ae.file.type},...typeof dn=="string"&&dn!==""?{filename:dn}:{},...Ae.localPreviewUrl===void 0?{}:{localPreviewUrl:Ae.localPreviewUrl},...xe===void 0?{}:{localPreviewMetadata:xe}});}let Ee=i.recheckSendPermissionError?.(_);if(Ee!==void 0)return {ok:!1,error:Ee};let we=await n.sendMediaAlbum({...a,items:ce,...P.caption===void 0||P.caption.trim()===""?{}:{caption:P.caption},...P.hd===void 0?{}:{hd:P.hd},...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return we.ok?(C(),F(we.messageId,_)):{ok:!1,error:ht(we.reason,_,a)}})}function _n(I,P,_){let q=Ke(I,_);if(q.contentType!==P||q.status!=="failed"||q.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(I))throw ye(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:_,retryable:false,conversation:a}));return q}async function Dn(I,P,_,q,ce,Ee){return _n(P,_,I),H(I,async()=>{let we=await $(q,ce);if(_==="video"&&we.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let xe=new AbortController,dn=await n.prepareMediaPreview({operationId:`${a.conversationType}:${a.conversationId}:${I}:${++T}`,kind:"video",file:q,signal:xe.signal});if(C(),dn===void 0||!ue(dn))return Q("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);we.localPreviewMetadata=dn;}if(_==="video"&&(n.prepareMediaPreview!==void 0||we.localPreviewMetadata!==void 0)&&!Ie(we.localPreviewMetadata))return Q("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(ge(we.localPreviewMetadata))return Q("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let Re=i.recheckSendPermissionError?.(I);if(Re!==void 0)return {ok:!1,error:Re};_n(P,_,I);let Ae=await Ee(P,{...we,...ce.caption===void 0||ce.caption===""?{}:{caption:ce.caption}});return Ae.ok?(C(),F(Ae.messageId,I)):{ok:!1,error:ht(Ae.reason,I,a)}})}let kn={ref:a,getSnapshot:M,subscribe(I){return C(),m.add(I),()=>m.delete(I)},resolveMessage:async I=>{C();let P=g.window.list().find(_=>_.id===I)??await n.domainState.resolveConversationMessage(a,I);return P===void 0?null:E(P)},history:{loadLatest:async()=>{C(),await Z(),C(),K();},loadOlder:async()=>(C(),z("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{C(),await z("newer",()=>g.window.loadNewer({limit:u})),C(),g.window.info().hasNewer||(re(),K());},loadAround:async I=>{C();let P=await B(I);if(P===void 0||P.anchor.conversationType!==a.conversationType||P.anchor.conversationId!==a.conversationId)throw bp(a,I);let{anchor:_}=P;await z(`around:${I}`,async()=>{let q=await g.window.openAt(a,{anchorSortKey:_.sortKey,limit:u});return g.window.list().some(ce=>ce.id===I)||P.fallbackSeed===void 0?q:g.window.openAt(a,{anchorSortKey:_.sortKey,limit:u,seedMessages:[P.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(C(),wt())},messages:{sendText:async(I,P={})=>{C();let _=r(a,I,P);if("code"in _)return {ok:false,error:_};let q=n.domainState.getDraft(a)?.updatedAt;return H("messages.sendText",async()=>{let ce=await n.sendText(_);return C(),await ot(q,"messages.sendText"),F(ce.id,"messages.sendText")},async ce=>{let Ee=i.appendTextPermissionFailure?.(_);return Ee===void 0?{ok:false,error:ce}:(await ot(q,"messages.sendText"),{ok:true,message:Zn(Ee)})})},sendContact:async(I,P={})=>{C();let _=I.targetId.trim(),q=I.displayName.trim();if(_===""||q==="")return {ok:false,error:W({code:_===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:a})};let ce={...a,contact:{...I,targetId:_,displayName:q},encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}};return H("messages.sendContact",async()=>{let Ee=await n.sendContact(ce);return F(Ee.id,"messages.sendContact")})},sendImage:async(I,P={})=>(C(),I.size>Bc?Q("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):P.caption!==void 0&&P.caption!==""?Q("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):de(P.localPreviewMetadata)?on("messages.sendImage","image",I,P,n.sendImage):Q("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(I,P={})=>(C(),cn(I,P)),sendVideo:async(I,P={})=>(C(),I.size>mo?Q("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):ue(P.localPreviewMetadata)?on("messages.sendVideo","video",I,P,n.sendVideo):Q("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(I,P,_={})=>(C(),P.size>mo?Q("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):ue(_.localPreviewMetadata)?Dn("messages.replaceInterruptedVideo",I,"video",P,_,n.replaceVideo):Q("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(I,P)=>(C(),H("messages.sendVoice",async()=>{let _=await $(I,P),q=i.recheckSendPermissionError?.("messages.sendVoice");if(q!==void 0)return {ok:!1,error:q};let ce=await n.sendVoice({..._,durationMs:P.durationMs,...P.waveform===void 0?{}:{waveform:[...P.waveform]}});return ce.ok?(C(),F(ce.messageId,"messages.sendVoice")):{ok:!1,error:ht(ce.reason,"messages.sendVoice",a)}})),sendFile:async(I,P={})=>{if(C(),I.size>Uc)return Q("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(P.caption!==void 0&&P.caption!=="")return Q("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let _=P.fileName??("name"in I?I.name:void 0);return typeof _!="string"||_.trim()===""?Q("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):on("messages.sendFile",void 0,I,P,n.sendFile)},sendGif:async(I,P={})=>(C(),I.size>Mp?Q("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Ep(I)?on("messages.sendGif",void 0,I,P,_=>n.sendGif(_)):Q("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(I,P={})=>(C(),Oe(I,"sticker")?H("messages.sendSticker",async()=>{let _=await n.sendExpression({...a,asset:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendSticker")}):Q("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(I,P={})=>(C(),Oe(I,"gif")?H("messages.sendGifAsset",async()=>{let _=await n.sendExpression({...a,asset:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendGifAsset")}):Q("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(I,P={})=>(C(),I!=="rock-paper-scissors"&&I!=="dice"?Q("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):H("messages.sendGame",async()=>{let _=await n.sendGame({...a,gameType:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendGame")})),sendMiniProgram:async(I,P={})=>(C(),t$1(I)?H("messages.sendMiniProgram",async()=>{let _=await n.sendMiniProgram({...a,miniProgram:I,encrypted:a.conversationType!=="direct"&&a.conversationType!=="robot",...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendMiniProgram")}):Q("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(I,P={})=>(C(),a.conversationType==="channel"||a.conversationType==="robot"?Q("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(I)?H("messages.sendTransfer",async()=>{let _=await n.sendTransfer({...a,transfer:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendTransfer")}):Q("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(I,P={})=>(C(),a.conversationType==="channel"||a.conversationType==="robot"?Q("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):o$1(I)?H("messages.sendGift",async()=>{let _=await n.sendGift({...a,gift:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return F(_.id,"messages.sendGift")}):Q("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(I,P)=>{C(),Ke(I,"messages.toggleReaction");let _=await n.setReaction({conversation:a,parentMessageId:I,emoji:P,action:"toggle"});if(C(),!_.ok)throw nn("messages.toggleReaction",Lc[_.reason]);return Object.freeze({messageId:I,eventId:_.event.id,emoji:_.event.emoji,action:_.event.action===0?"add":"remove"})},setReaction:async(I,P,_)=>{C(),Ke(I,"messages.setReaction");let q=await n.setReaction({conversation:a,parentMessageId:I,emoji:P,action:_});if(C(),!q.ok)throw nn("messages.setReaction",Lc[q.reason]);return Object.freeze({messageId:I,eventId:q.event.id,emoji:q.event.emoji,action:q.event.action===0?"add":"remove"})},replaceInterruptedFile:async(I,P,_={})=>{if(C(),P.size>Uc)return Q("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(_.caption!==void 0&&_.caption!=="")return Q("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let q=_.fileName??("name"in P?P.name:void 0);return typeof q!="string"||q.trim()===""?Q("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Dn("messages.replaceInterruptedFile",I,"file",P,{..._,fileName:q},n.replaceFile)},editText:async(I,P,_={})=>{C(),Ke(I,"messages.editText");let q=c(a,I,P,_);if("code"in q)throw ye(q);let ce;try{ce=await n.editMessage(q);}catch(Ee){throw ye(An(Ee,"messages.editText",a))}if(C(),!ce.ok)throw nn("messages.editText",Cp[ce.reason]);return Zn(Ke(I,"messages.editText"))},recall:async I=>{C(),Ke(I,"messages.recall");let P;try{P=await n.recallMessage({...a,messageId:I});}catch(_){throw ye(An(_,"messages.recall",a))}if(C(),!P.ok)throw nn("messages.recall",vp[P.reason])},deleteLocal:async I=>{C();let P=n.domainState.getConversationMessage(a,I);if(n.isOutboxOwned(I))throw rn("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(P!==void 0&&P.conversationType===a.conversationType&&P.conversationId===a.conversationId&&(P.status==="pending"||P.status==="uploading"||P.status==="sending"))throw rn("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(a);let _=await n.domainState.deleteLocalMessage(a,I);return C(),Object.freeze({scope:"local-only",messageId:I,deleted:_,remoteHistory:"remote-history-may-restore"})}catch(_){throw _ instanceof Error&&_.name==="ImLocalMessageDeletionError"?_:rn("IM_SDK_LOCAL_DELETE_FAILED",_)}},forward:async(I,P)=>{if(C(),I.length===0||P.length===0)throw ye(W({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:a}));return We("messages.forward",I.map(_=>({id:_,...a})),P)},forwardMediaAlbumItem:async(I,P,_)=>{C();let q="messages.forwardMediaAlbumItem";if(I.trim()===""||_.length===0)throw ye(W({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:q,retryable:false,conversation:a}));if(!Number.isInteger(P)||P<0)throw ye(W({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:q,retryable:false,conversation:a,details:{itemIndex:P}}));return We(q,[{id:I,...a,itemIndex:P}],_)},fetchByIds:async I=>{C();let P=n.fetchMessagesByIdBatch;if(P===void 0)throw ye(W({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:a}));let _=await Nc({messageIds:I,fetchBatch:P,isCurrent:()=>!w,projectMessage:E});return Object.freeze({messages:Object.freeze([..._.messages]),missingMessageIds:Object.freeze([..._.missingMessageIds]),unresolvedMessageIds:Object.freeze([..._.unresolvedMessageIds]),..._.failure===void 0?{}:{failure:Object.freeze(_.failure)}})}},draft:{get:async()=>(C(),n.drafts.get(a)),save:async I=>(C(),n.drafts.save(a,I)),clear:async()=>{C(),await n.drafts.clear(a);},subscribe(I){return C(),h.add(I),()=>h.delete(I)}},markRead:async I=>{C();let P=g.window.list();if(I!==void 0&&!P.some(q=>q.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 _=i.resolveReadMessageId===void 0?I??P.at(-1)?.id:i.resolveReadMessageId(P,I);_!==void 0&&await n.markRead({...a,readCursor:_});},setMuted:async I=>(C(),n.setMuted(a,I)),close(){w||(w=true,j(),m.clear(),h.clear(),g.dispose());}};return fo.set(kn,{getMessages:()=>(C(),g.window.list()),resolveMessage:async I=>(C(),g.window.list().find(P=>P.id===I)??n.domainState.resolveConversationMessage(a,I))}),kn}var wp=5e3;async function jc(e,n,r={}){let c=false,i,d;function a(){let h=Date.now();if(i!==void 0&&h-i.checkedAt<wp)return Promise.resolve(i.value);if(d!==void 0)return d;let S=n.getRelationship(e.conversationId).then(f=>(i={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}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===S&&(d=void 0);});return d=S,S}async function u(h){if(!n.shouldCheckRelationship())return;let S=await a();if(S!=="friend"){if(S==="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:S}}}));return}return W({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:h,retryable:false,conversation:e,details:Object.freeze({relationship:S})})}}n.shouldCheckRelationship()&&a();let g=await dr(e,n,(h,S,f)=>f.mentions!==void 0&&f.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:h}):{...h,text:S,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(h,S,f,v)=>v.mentions!==void 0&&v.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:h}):{...h,messageId:S,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),m={...g,messages:{...g.messages,async markMediaConsumed(h){let S=n.domainState.getConversationMessage(e,h);if(S===void 0||S.senderId===n.getSelfId()||S.contentType!=="voice"&&S.contentType!=="video"){let f=W({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,h);}}};return cr(m,g),m}async function zc(e,n,r={}){return dr(e,n,(c,i,d)=>{let a=Et(d.mentions);return {...c,text:i,encrypted:true,...a===void 0?{}:{mention:a},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,i,d,a)=>{let u=Et(a.mentions);return {...c,messageId:i,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&&qc(c,n.pageSize??30)},r)}async function Vc(e,n,r={}){return dr(e,n,(c,i,d)=>d.mentions!==void 0&&d.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:c}):{...c,text:i,encrypted:false,...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}},(c,i,d,a)=>a.mentions!==void 0&&a.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:c}):{...c,messageId:i,text:d},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Tp=new Set(["pending","uploading","sending"]);function qc(e,n){return e.length<n}function Hc(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function _p(e,n,r){let c=r===void 0?e.length-1:e.findIndex(a=>a.id===r),i=e[c];if(i===void 0||Hc(i))return i?.id;let d=e.slice(0,c).findLast(a=>Hc(a));return d!==void 0?d.id:i.senderId===n&&Tp.has(i.status)?void 0:i.id}function Dp(e,n){let r=false;for(let c of e){let i=c.body.system;if(!(c.conversationType!=="channel"||i?.targetUserIds?.includes(n)!==true)){if(i.eventType==="channel_member_left"||i.eventType==="channel_member_removed"){r=true;continue}if(r&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function Wc(e,n,r={}){let c=await dr(e,n,(d,a,u)=>{let g=Et(u.mentions);return {...d,text:a,encrypted:true,...g===void 0?{}:{mention:g},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(d,a,u,g)=>{let m=Et(g.mentions);return {...d,messageId:a,text:u,...m===void 0?{}:{mention:m}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>r.initialPosition==="first-unread"&&n.domainState.getConversationContext(e)!==void 0&&qc(d,n.pageSize??30)||Dp(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,a)=>_p(d,n.getSelfId(),a)},r),i={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw Kc(e,Fc["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:d});}catch(g){let m=An(g,"messages.deleteForEveryone",e);throw Object.assign(new Error(m.code,{cause:g}),m)}if(!u.ok)throw Kc(e,Fc[u.reason])}}};return cr(i,c),i}var kp=40,Op=100,xp=0;function wn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Np(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function $c(e){let n=++xp,r=new Map,c=new Map,i=new Map,d=new Map,a=new Map,u=0,g=true;function m(){if(!g)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function h(y){let T=y??kp;if(!Number.isSafeInteger(T)||T<1||T>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return T}function S(y){let T=`im-directory:${n}:${++u}`;return r.set(T,y),T}function f(y,T){let s=a.get(y);s===void 0&&(s=new Map,a.set(y,s));let o=T.map(p=>Object.freeze({...p}));for(let p of o)s.set(p.id,p);return Object.freeze(o)}async function v(y,T,s){if(m(),e.provider===void 0)throw new Error(`${wn(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:T,pageSize:s});if(m(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${wn(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:S({kind:y,page:o.nextPage,pageSize:s}),b=f(y,o.items);return Object.freeze({items:b,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function D(y){return {listFirstPage:T=>v(y,1,h(T?.pageSize)),listNextPage:T=>{m();let s=r.get(T);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==y)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${wn(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${wn(y)}`));let o=c.get(T);if(o!==void 0)return o;let p=v(y,s.page,s.pageSize).then(b=>(r.delete(T),b)).finally(()=>{c.delete(T);});return c.set(T,p),p}}}function w(y){m();let T=i.get(y);if(T!==void 0)return Promise.resolve(T);let s=d.get(y);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${wn(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],b=new Map,C=new Set,U=1;for(;;){if(m(),C.has(U))throw new Error(`${wn(y)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);C.add(U);let G=await e.provider.list({kind:y,page:U,pageSize:Op});if(m(),G.exhausted===(G.nextPage!==void 0))throw new Error(`${wn(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let E of G.items)b.has(E.id)||p.push(E.id),b.set(E.id,E);if(G.nextPage===void 0)break;if(!Number.isSafeInteger(G.nextPage)||G.nextPage<1)throw new Error(`${wn(y)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);U=G.nextPage;}let ie=f(y,p.map(G=>b.get(G)));return m(),i.set(y,ie),ie})().finally(()=>{d.delete(y);});return d.set(y,o),o}async function O(y){if(m(),y.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[T,s,o,p]=await Promise.all([w("individual"),w("group"),w("channel"),ga(y)]);m();function b(U,ie){let G=[];for(let E of ie){let A=E==="displayName"?U.displayName:E==="username"?U.username:U.id;if(A===void 0||A==="")continue;let M=p.match(A,{pinyin:E==="displayName"});M!==null&&G.push(Np(E,M));}return G.length===0?null:Object.freeze({item:U,matches:Object.freeze(G)})}function C(U,ie){return Object.freeze(U.flatMap(G=>{let E=b(G,ie);return E===null?[]:[E]}))}return Object.freeze({keyword:p.keyword,contacts:C(T,["displayName","username","id"]),groups:C(s,["displayName"]),channels:C(o,["displayName"])})}return {contacts:D("individual"),groups:D("group"),channels:D("channel"),search:{search:O},peekItem:(y,T)=>(m(),a.get(y)?.get(T)),dispose:()=>{g=false,r.clear(),c.clear(),i.clear(),d.clear(),a.clear();}}}function Lp(e){if(e.conversationType==="supergroup")throw W({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw W({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function lr(e){return Lp(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Fp(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw W({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 Jc(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(i){return r(),e.domainState.getDraft(lr(i))},async save(i,d){r();let a=lr(i);return e.domainState.saveDraft(a,Fp(a,d))},async clear(i){r(),await e.domainState.clearDraft(lr(i));},subscribe(i,d){r();let a=lr(i),u=e.emitter.subscribe(m=>{m.type!=="draft:updated"&&m.type!=="draft:cleared"||m.conversation.conversationType!==a.conversationType||m.conversation.conversationId!==a.conversationId||d(m.type==="draft:updated"?m.draft:null);}),g=()=>{u(),n.delete(g);};return n.add(g),g}},dispose(){for(let i of [...n])i();}}}var Kp=20,Yc=50,Xc=30,Qc=4294967295;function jn(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function qe(e,n){return jn({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Zc(e,n){if(n instanceof x$1)return jn({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 jn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return jn({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 jn({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 jn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function In(e,n,r){if(typeof e!="string"||e.trim()==="")throw qe(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Up(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 Bp(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw qe(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Gp(e,n,r){let c=In(e,n,r),i;try{i=new URL(c);}catch{throw qe(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw qe(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw qe(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function ed(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Qc)throw qe(r,`${n} \u5FC5\u987B\u662F 1-${Qc} \u7684\u6574\u6570`);return Number(e)}function id(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw qe(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:Gp(e.url,"url",n),width:ed(e.width,"width",n),height:ed(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:In(e.packageId,"packageId",n),resourceId:In(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw qe(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:In(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...c===void 0?{}:{resourceId:c}}}function Hp(e,n){if(e===null||typeof e!="object")throw qe(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:In(e.token,"token",n),resourceId:In(e.resourceId,"resourceId",n)}:id(e,n)}function jp(e,n){if(e!=="sticker"&&e!=="gif")throw qe(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function zp(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw qe(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function nd(e,n){if(!Array.isArray(e))throw qe(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(c=>In(c,"recordId",n)))];if(r.some(c=>c.includes("|")))throw qe(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>Xc)throw qe(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Xc} \u4E2A id`);return r}function td(e,n){let r=e?.offset??0,c=e?.pageSize??Kp;if(!Number.isSafeInteger(r)||r<0)throw qe(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>Yc)throw qe(n,`pageSize \u5FC5\u987B\u662F 1-${Yc} \u7684\u6574\u6570`);return {offset:r,limit:c}}function rd(e){return Object.freeze({...e})}function Vp(e){return Object.freeze({...e})}function od(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 ad(e){function n(i){if(!e.isActive())throw jn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,d){if(n(i),e.provider===void 0)throw Zc(i,new x$1("core"));let a;try{a=await d(e.provider);}catch(u){throw n(i),Zc(i,u)}return n(i),a}let c={packs:Object.freeze({list:async i=>{let d="expressions.packs.list",a=i?.version===void 0?void 0:Bp(i.version,"version",d),u=await r(d,m=>m.listStickerPacks(a)),g=Object.freeze(u.items.map(m=>Object.freeze({...m})));return Object.freeze({version:u.version,items:g})},listItems:async i=>{let d="expressions.packs.listItems",a=In(i,"packageId",d),u=await r(d,g=>g.listStickerItems(a));return Object.freeze(u.map(rd))}}),favorites:Object.freeze({list:async i=>{let d="expressions.favorites.list",a=await r(d,u=>u.listFavorites(jp(i,d)));return Object.freeze(a.map(rd))},add:async i=>{let d="expressions.favorites.add",a=id(i,d);await r(d,u=>u.addFavorite(a));},delete:async i=>{let d="expressions.favorites.delete",a=nd(i,d);await r(d,u=>u.deleteFavorites(a));}}),recent:Object.freeze({list:async i=>{let d="expressions.recent.list",a=await r(d,u=>u.listRecent(zp(i,d)));return Object.freeze(a.map(Vp))},report:async i=>{let d="expressions.recent.report",a=Hp(i,d);await r(d,u=>u.reportRecent(a));},delete:async i=>{let d="expressions.recent.delete",a=nd(i,d);await r(d,u=>u.deleteRecent(a));}}),reactions:Object.freeze({listTop:async i=>{let d="expressions.reactions.listTop",a=i?.limit;if(a!==void 0&&(!Number.isSafeInteger(a)||a<1||a>50))throw qe(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(d,async u=>{let g=await u.listReactionTop(a);if(!Array.isArray(g))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(g.map(m=>Up(m,"reaction emoji")))})},report:async i=>{let d="expressions.reactions.report",a=In(i,"emoji",d);await r(d,u=>u.reportReaction(a));}}),giphy:Object.freeze({trending:async i=>{let d="expressions.giphy.trending",a=await r(d,u=>u.listGiphyTrending(td(i,d)));return od(a)},search:async(i,d)=>{let a="expressions.giphy.search",u=In(i,"query",a),g=await r(a,m=>m.searchGiphy({query:u,...td(d,a)}));return od(g)}})};return {api:Object.freeze(c)}}function zn(e,n,r){try{r();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?W({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):W({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function sd(e){return {createRoom(n){zn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){zn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){zn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){zn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){zn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){zn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){zn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var qp=0;function cd(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 Wp(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 $p(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 dd(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 Jp(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function ld(e){let n=++qp,r=new Map,c=new Map,i=new Map,d=0,a=true;function u(){if(!a)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function g(w){let O=w??20;if(!Number.isSafeInteger(O)||O<1||O>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return O}function m(w){let O=`im-robots:${n}:${++d}`;return r.set(O,w),O}function h(w){return Object.freeze(w.map(O=>{let y=cd(O);return i.set(y.id,y),y}))}function S(w,O){let y=i.get(w);y!==void 0&&i.set(w,cd({id:y.id,displayName:y.displayName,...y.username===void 0?{}:{username:y.username},...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl},bound:O}));}async function f(w,O){u();let y=O?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(Jp(w)),u(),S(w.robotId,O);}async function v(w){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 O=await e.search($p(w));u();let y=h(O.items),T=O.exhausted?void 0:m({...w,page:w.page+1});return Object.freeze({items:y,...T===void 0?{}:{nextPageToken:T},exhausted:O.exhausted})}return {api:{listFirstPage:w=>{try{let O=Wp(w?.scope??{kind:"catalog"});return v({page:1,pageSize:g(w?.pageSize),keyword:w?.keyword?.trim()??"",scope:O})}catch(O){return Promise.reject(O)}},listNextPage:w=>{u();let O=r.get(w);if(O===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let y=c.get(w);if(y!==void 0)return y;let T=v(O).then(s=>(r.delete(w),s)).finally(()=>{c.delete(w);});return c.set(w,T),T},bindToConversation:w=>{try{return f(dd(w),!0)}catch(O){return Promise.reject(O)}},unbindFromConversation:w=>{try{return f(dd(w),!1)}catch(O){return Promise.reject(O)}}},peek:w=>{let O=w.trim();return O===""?void 0:i.get(O)},dispose:()=>{a=false,r.clear(),c.clear(),i.clear();}}}var Yp=30,Xp=300*1e3,Qp=64,Zp=900*1e3,em=2048,nm=0;function yn(e){let n=W({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 ud(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Yp,c=e.tokenTtlMs??Xp,i=e.maxTokens??Qp,d=e.anchorTtlMs??Zp,a=e.maxAnchors??em;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(a)||a<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++nm,g=new Map,m=new Map,h=0,S=true;function f(M){if(!S)throw yn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:M,retryable:false});if(e.isAvailable?.()===false)throw yn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:M,retryable:false})}function v(M,K){let B=M.trim();if(B==="")throw yn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:K,retryable:false});return B}function D(M){let K=`im-search:${u}:${++h}`;for(g.set(K,{...M,expiresAt:n()+c});g.size>i;){let B=g.keys().next().value;if(typeof B!="string")break;g.delete(B);}return K}function w(M,K){return JSON.stringify([M.conversationType,M.conversationId,K])}function O(M){for(let[K,B]of m)B.expiresAt<=M&&m.delete(K);}function y(M,K){let B=Object.freeze({conversationType:M.conversationType,conversationId:M.conversationId}),z=w(B,M.id);for(m.delete(z),m.set(z,{anchor:Object.freeze({id:M.id,conversationType:M.conversationType,conversationId:M.conversationId,sortKey:M.sortKey}),expiresAt:K+d});m.size>a;){let re=m.keys().next().value;if(typeof re!="string")break;m.delete(re);}}function T(M,K){let B=K==="conversation"?"search.conversations.next":"search.messages.next";f(B);let z=g.get(M);if(z===void 0||z.expiresAt<=n())throw g.delete(M),yn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:B,retryable:false});if(z.kind!==K)throw yn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:B,retryable:false});return z}function s(M){let K=M.draft?.text.trim();return K===void 0||K===""?M.lastMessagePreview:K}function o(M){let K=Object.freeze({conversationType:M.type,conversationId:M.id});return Object.freeze({ref:K,title:M.title,preview:s(M)})}function p(M,K){let B=Object.freeze(M.slice(K,K+r)),z=K+B.length,re=z>=M.length,Z=re?void 0:D({kind:"conversation",items:M,offset:z});return Object.freeze({items:B,...Z===void 0?{}:{nextPageToken:Z},exhausted:re})}async function b(M,K,B){f(B);let z=v(K,B).toLowerCase(),re=Object.freeze(e.domainState.getConversationList().filter(Z=>(Z.type==="direct"||Z.type==="group"||Z.type==="channel"||Z.type==="robot")&&(M===void 0||Z.type===M)&&`${Z.title}
2
+ ${Z.id}`.toLowerCase().includes(z)).map(o));return p(re,0)}function C(M,K,B){let z=M.conversationId.trim();if(M.conversationType!==K||z==="")throw yn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:B,retryable:false});return Object.freeze({conversationType:K,conversationId:z})}function U(M,K){let B=M.conversationType,z=M.conversationId.trim();if(B!=="direct"&&B!=="group"&&B!=="channel"&&B!=="robot"||z==="")throw yn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:B==="supergroup"?"unsupported":"validation",operation:K,retryable:false});return Object.freeze({conversationType:B,conversationId:z})}async function ie(M){f("search.messages");let K;try{K=await e.domainState.searchMessages(M.ref,{...M.keyword===void 0?{}:{keyword:M.keyword},...M.contentTypes===void 0?{}:{contentTypes:M.contentTypes},limit:r,...M.beforeSortKey===void 0?{}:{beforeSortKey:M.beforeSortKey}});}catch(j){throw yn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:j})}let B=new Set,z=[],re=n();O(re);for(let{message:j}of K.results){if(j.conversationType!==M.ref.conversationType||j.conversationId!==M.ref.conversationId||j.sortKey.trim()===""||M.contentTypes!==void 0&&!M.contentTypes.includes(j.contentType))throw yn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});B.has(j.id)||(B.add(j.id),y(j,re),z.push(Object.freeze({ref:M.ref,messageId:j.id,senderId:j.senderId,createdAt:k(j),contentType:j.contentType,preview:ea$1(j)})));}let Z=K.nextBeforeSortKey?.trim();if(!K.exhausted&&(Z===void 0||Z==="")||K.exhausted&&Z!==void 0)throw yn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let k$1=Z===void 0?void 0:D({kind:"message",ref:M.ref,...M.keyword===void 0?{}:{keyword:M.keyword},...M.contentTypes===void 0?{}:{contentTypes:M.contentTypes},beforeSortKey:Z});return Object.freeze({items:Object.freeze(z),...k$1===void 0?{}:{nextPageToken:k$1},exhausted:K.exhausted})}async function G(M,K,B,z){f(z);let re=C(M,K,z);return ie({ref:re,keyword:v(B,z)})}async function E(M,K,B,z){f(B);let re=U(M,B),Z=z?.trim();return ie({ref:re,...Z===void 0||Z===""?{}:{keyword:Z},contentTypes:Object.freeze([K])})}return {api:{conversations:{all:M=>b(void 0,M,"search.conversations.all"),direct:M=>b("direct",M,"search.conversations.direct"),groups:M=>b("group",M,"search.conversations.groups"),channels:M=>b("channel",M,"search.conversations.channels"),async next(M){let K=T(M,"conversation");return p(K.items,K.offset)}},messages:{inDirect:(M,K)=>G(M,"direct",K,"search.messages.inDirect"),inGroup:(M,K)=>G(M,"group",K,"search.messages.inGroup"),inChannel:(M,K)=>G(M,"channel",K,"search.messages.inChannel"),inRobot:(M,K)=>G(M,"robot",K,"search.messages.inRobot"),texts:async(M,K)=>(f("search.messages.texts"),E(M,"text","search.messages.texts",v(K,"search.messages.texts"))),files:(M,K)=>E(M,"file","search.messages.files",K),images:M=>E(M,"image","search.messages.images"),videos:M=>E(M,"video","search.messages.videos"),voices:M=>E(M,"voice","search.messages.voices"),async next(M){let K=T(M,"message");return ie(K)}}},resolveHistoryAnchor(M,K){if(!S||e.isAvailable?.()===false)return;let B=w(M,K),z=m.get(B);if(z!==void 0){if(z.expiresAt<=n()){m.delete(B);return}return z.anchor}},dispose(){S&&(S=false,g.clear(),m.clear());}}}function pd(e){let n=new Map,r=new Set,c=new Map,i=new Set,d=false,a=e.schedule??(h=>{let S=setTimeout(h,120);return ()=>clearTimeout(S)});function u(h,S,f){try{e.report(h,S,f);}catch{}}async function g(h){let S={conversationType:"channel",conversationId:h};r.add(h);try{for(let f=0;f<2;f+=1){let v=n.get(h);if(d||!e.isActive()||v===void 0||e.domainState.getConversationContext(S)===void 0){n.delete(h);return}if(e.domainState.hasPendingChannelRead(S)){i.add(h),u("channel-read-summary-deferred",S,{reason:"read-pending"});return}if(n.delete(h),e.domainState.getReadState(S)?.readCursor!==v)return;let w=e.domainState.getChannelReadRevision(S),O=Date.now(),y;try{y=await e.loadSummary({channelId:h,readCursor:v});}catch(T){!d&&e.isActive()&&u("channel-read-summary-failed",S,{reason:"request-failed",durationMs:Date.now()-O,errorName:T instanceof Error?T.name:"Unknown",errorCode:typeof T=="object"&&T!==null&&"code"in T&&typeof T.code=="string"?T.code:void 0});return}if(d||!e.isActive()||e.domainState.getConversationContext(S)===void 0)return;if(e.domainState.hasPendingChannelRead(S)||e.domainState.getChannelReadRevision(S)!==w){if(u("channel-read-summary-discarded",S,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(S)){n.has(h)||n.set(h,v),i.add(h);return}if(f===0&&!n.has(h)&&!e.domainState.hasPendingChannelRead(S)&&e.domainState.getReadState(S)?.readCursor===v){n.set(h,v);continue}return}if(y===void 0||y.readCursor!==v){u("channel-read-summary-discarded",S,{reason:y===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(S,y),n.get(h)===v&&n.delete(h),u("channel-read-summary-applied",S,{unreadCount:y.unreadCount,durationMs:Date.now()-O});return}}finally{r.delete(h),n.has(h)&&!i.has(h)&&m(h);}}function m(h){d||i.has(h)||r.has(h)||c.has(h)||c.set(h,a(()=>{c.delete(h),g(h);}));}return {settled(h){i.delete(h.channelId),n.has(h.channelId)&&m(h.channelId);},request(h){d||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:h.channelId})||i.delete(h.channelId),n.set(h.channelId,h.readCursor),m(h.channelId));},dispose(){d=true;for(let h of c.values())h();c.clear(),n.clear(),i.clear();}}}function ur(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 md(e,n){return {prepareLocalMediaPreview:async i=>{let d=await e.prepare({operationId:i.operationId,generation:n(),kind:i.kind,file:i.file,includePoster:i.kind==="video",...i.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},i.signal);return i.kind==="video"?{width: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 i=>{let d=await e.prepare({operationId:i.operationId,generation:n(),kind:"video",file:i.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},i.signal);return {width:d.width,height:d.height,...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}}}}function fd(e){function n(u){let g=0n;for(let m=0;m<10;m++){let h=u+m,S=e[h];if(S===void 0)return {ok:false,kind:"truncated-varint"};if(g|=BigInt(S&127)<<BigInt(m*7),(S&128)===0)return {ok:true,nextOffset:h+1,value:g}}return {ok:false,kind:"invalid-varint"}}let r=[],c,i=0;function d(u,g,m){return {protobufWireStatus:u,protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:g,protobufFailureOffset:m,protobufBytesRemaining:Math.max(0,e.length-m)}}function a(u){r.length<32&&!r.includes(u)&&r.push(u),c=u;}for(;i<e.length;){let u=i,g=n(u);if(!g.ok)return d(g.kind==="truncated-varint"?"truncated":"invalid",g.kind==="truncated-varint"?"truncated-tag":g.kind,u);let m=Number(g.value>>3n),h=Number(g.value&0x07n);if(!Number.isSafeInteger(m)||m<=0)return d("invalid","invalid-field-number",u);if(i=g.nextOffset,h===0){let S=i,f=n(S);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,S);i=f.nextOffset;}else if(h===1){if(e.length-i<8)return d("truncated","truncated-fixed64",i);i+=8;}else if(h===2){let S=i,f=n(S);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,S);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",S);i=f.nextOffset;let v=Number(f.value);if(v>e.length-i)return d("truncated","truncated-length-delimited",i);i+=v;}else if(h===5){if(e.length-i<4)return d("truncated","truncated-fixed32",i);i+=4;}else return d("invalid","invalid-wire-type",u);a(m);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}function gd(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 i=[],d=[],a=h=>{d.push({...h,source:"history"});},u=h=>{i.push(h);};if(n.conversationType==="group"){let h={...e.groupDecrypt(),onDecryptRecovery:a},S=Date.now(),f=await Ha$1({http:e.http,userId:c.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:S,direct:1,limit:30,decryptDeps:h,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let v=f.batchSize<30||f.oldestEntryTime===void 0||f.oldestEntryTime>=S;return {messages:f.messages,reactions:i,recoveries:d,exhausted:v,...v?{}:{nextCursor:String(f.oldestEntryTime)}}}let g={...e.channelDecrypt(),onDecryptRecovery:a},m=await za({http:e.http,userId:c.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:g,prepareKey:h=>e.prepareChannelKeys([h]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:m.messages,reactions:i,recoveries:d,exhausted:!m.hasOlder,...m.nextCursor===void 0?{}:{nextCursor:m.nextCursor}}}}var tm=5*6e4,rm=1440*6e4,Rt=2*1024*1024,Id=20,tt=class extends Error{constructor(r){super(r);this.reason=r;}reason};function Tn(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function om(e,n){let r=new TextEncoder,c=new WeakSet,i=0,d=0,a=performance.now();async function u(){++d%64===0&&performance.now()-a>=4&&(await n(),a=performance.now());}async function g(m){if(!(i>Rt))if(await u(),typeof m=="string"){i+=8;for(let h=0;h<m.length&&i<=Rt;h+=16384)i+=r.encode(m.slice(h,h+16384)).byteLength,await u();}else if(m!==null&&typeof m=="object"){if(c.has(m))return;if(c.add(m),i+=32,ArrayBuffer.isView(m)||m instanceof ArrayBuffer){i+=m.byteLength;return}for(let h in m)if(Object.hasOwn(m,h)&&(await g(h),await g(m[h]),i>Rt))break}else i+=8;}return await g(e),i}function yd(e){let n=e.now??Date.now,r=new Map,c=new Map,i=new Map,d,a=true,u=0,g=new WeakMap,m=new WeakSet,h=new WeakMap,S=0,f=Promise.resolve();function v(E,A,M){try{e.report(E,{...A},{remainingNetworkPages:Math.max(0,Id-S),...M});}catch{}}function D(E,A=n()){return E===void 0?0:Math.max(0,A-E)}function w(E,A,M,K){let B=K?.diagnostics;v("recent-history-prefetch-result",E,{status:A,reason:M,queueDurationMs:D(B?.queuedAt,B?.startedAt),requestDurationMs:B?.requestDurationMs??D(B?.requestStartedAt),persistenceDurationMs:B?.persistenceDurationMs??D(B?.persistenceStartedAt)});}function O(E){let A=f.then(E,E);return f=A.catch(()=>{}),A}function y(E){return a&&E.generation===u&&!E.controller.signal.aborted&&E.epoch===(r.get(E.key)??0)&&e.fingerprint(E.ref)===E.fingerprint}function T(E){if(!y(E))throw Tn()}async function s(E,A=false){let M=Ha(E),K=r.get(M)??0,B=u,z=e.fingerprint(E),re=k=>(v("recent-history-cache-miss",E,{reason:k,allowStale:A}),null);if(!a||z===void 0||e.cache===void 0)return re(a?z===void 0?"unavailable":"storage-unavailable":"disposed");if(await f,!a||B!==u||K!==(r.get(M)??0)||e.fingerprint(E)!==z)return re("invalidated");let Z=await e.cache.get(E);return !a||B!==u||K!==(r.get(M)??0)||e.fingerprint(E)!==z?re("invalidated"):Z===null?re("empty"):Z.version!==2?re("version-mismatch"):Ha(Z.conversation)!==M?re("identity-mismatch"):Z.fingerprint!==z?re("fingerprint-mismatch"):Z.fetchedAt>n()?re("future-timestamp"):n()-Z.fetchedAt>(A?rm:tm)?re("expired"):(g.set(Z,{key:M,epoch:K,generation:u}),Z)}async function o(E){T(E);try{let z=await s(E.ref);if(T(E),z!==null)return E.diagnostics.source="cache",v("recent-history-cache-hit",E.ref),{page:z,durable:!0}}catch(z){if(T(E),E.diagnostics.failureReason="cache-read-failed",v("recent-history-cache-read-failed",E.ref,{reason:"cache-read-failed"}),![...E.consumers.values()].includes("foreground"))throw z}if(![...E.consumers.values()].includes("foreground")){if(S>=Id)throw new tt("budget");S+=1;}let M=n();E.diagnostics.source="network",E.diagnostics.requestStartedAt=M;let K;try{K=await e.fetchPage(E.ref,E.controller.signal);}catch(z){throw E.diagnostics.failureReason="request-failed",z}finally{E.diagnostics.requestDurationMs=D(M);}T(E),await e.yieldToEventLoop(),T(E);let B={version:2,conversation:{...E.ref},fetchedAt:n(),fingerprint:E.fingerprint,messages:K.messages,reactions:K.reactions,exhausted:K.exhausted,...K.nextCursor===void 0?{}:{nextCursor:K.nextCursor},byteLength:0};if(g.set(B,{key:E.key,epoch:E.epoch,generation:E.generation}),K.recoveries!==void 0&&K.recoveries.length>0&&h.set(B,K.recoveries),h.has(B)||B.messages.some(z=>z.encryption.decryptFailed===true))return m.add(B),{page:B,durable:false,reason:"decrypt-failed"};if(B.byteLength=await om(B,e.yieldToEventLoop),T(E),v("recent-history-page-loaded",E.ref,{durationMs:n()-M,messageCount:B.messages.length,byteLength:B.byteLength}),B.byteLength>Rt)return {page:B,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:B,durable:false,reason:"storage-unavailable"};E.diagnostics.persistenceStartedAt=n();try{let z=await O(async()=>(T(E),e.cache.put(B)));return T(E),{page:B,durable:z,...z?{}:{reason:"page-too-large"}}}catch(z){return T(E),E.diagnostics.failureReason="cache-write-failed",v("recent-history-cache-write-failed",E.ref,{reason:"cache-write-failed"}),{page:B,durable:false,storageError:z}}finally{E.diagnostics.persistenceDurationMs=D(E.diagnostics.persistenceStartedAt);}}function p(E,A){E.started||(E.started=true,E.diagnostics.startedAt=n(),v("recent-history-prefetch-start",E.ref,{kind:A?"background":"foreground",queueDurationMs:D(E.diagnostics.queuedAt,E.diagnostics.startedAt)}),A&&(d=E),o(E).then(E.resolve,E.reject).finally(async()=>{c.get(E.key)===E&&c.delete(E.key),d===E&&(d=void 0),await e.yieldToEventLoop(),b();}));}function b(){if(!a||d!==void 0||i.size>0||!e.canRunBackground())return;let E=[...c.values()].find(A=>!A.started&&A.consumers.size>0);E!==void 0&&p(E,true);}function C(E,A,M){if(!a||M?.aborted===true)return A==="background"&&w(E,"cancelled","cancelled"),Promise.reject(Tn());let K=Ha(E),B=e.fingerprint(E);if(B===void 0)return A==="background"&&w(E,"skipped","unavailable"),Promise.reject(new tt("unavailable"));let z=c.get(K);z!==void 0&&!y(z)&&(z.controller.abort(),z.reject(Tn()),c.delete(K),z=void 0);let re=z!==void 0;if(z===void 0){let R,x,F=new Promise((H,$)=>{R=H,x=$;});z={ref:{...E},key:K,fingerprint:B,generation:u,epoch:r.get(K)??0,controller:new AbortController,consumers:new Map,started:false,promise:F,resolve:R,reject:x,diagnostics:{queuedAt:n()}},c.set(K,z);}let Z=z,k=Symbol(A);Z.consumers.set(k,A),A==="background"&&v("recent-history-prefetch-queued",E,{reason:re?"shared-request":"new-request"});let j=new Promise((R,x)=>{let F=false,H=(de,ue)=>{F||(F=true,M?.removeEventListener("abort",$),Z.consumers.delete(k),Z.consumers.size===0&&(Z.controller.abort(),Z.started||(c.get(Z.key)===Z&&c.delete(Z.key),Z.reject(Tn()))),A==="background"&&(ue instanceof tt?w(E,"skipped",ue.reason,Z):ue instanceof Error&&ue.name==="AbortError"?w(E,"cancelled","cancelled",Z):ue!==void 0||de?.storageError!==void 0?w(E,"failed",Z.diagnostics.failureReason??"request-failed",Z):de?.durable===true?w(E,"ready",Z.diagnostics.source==="cache"?"cache-hit":"persisted",Z):w(E,"skipped",de?.reason??"not-persisted",Z)),ue!==void 0?x(ue):R(de));};function $(){H(void 0,Tn());}M?.addEventListener("abort",$,{once:true}),Z.promise.then(de=>H(de),de=>H(void 0,de));});return A==="foreground"?p(Z,false):b(),j}function U(E){let A=Ha(E);i.set(A,(i.get(A)??0)+1),d!==void 0&&d.key!==A&&![...d.consumers.values()].includes("foreground")&&(d.controller.abort(),d.reject(Tn()));let M=false;return ()=>{if(M)return;M=true;let K=(i.get(A)??1)-1;K>0?i.set(A,K):i.delete(A),b();}}function ie(E){if(!a||E.conversationType!=="group"&&E.conversationType!=="channel")return;let A={...E,conversationType:E.conversationType},M=Ha(E);r.set(M,(r.get(M)??0)+1);let K=c.get(M);K?.controller.abort(),K?.reject(Tn()),c.delete(M),v("recent-history-cache-invalidated",A,{reason:"explicit-invalidation"}),O(async()=>e.cache?.delete(A)).catch(()=>v("recent-history-cache-delete-failed",A,{reason:"cache-delete-failed"}));}function G(E){let A=g.get(E);return a&&A!==void 0&&A.generation===u&&A.epoch===(r.get(A.key)??0)}return {readCached:s,isPageCurrent:G,enterForeground:U,invalidate:ie,notifySchedulingChanged:b,takeRecoveries(E){if(!G(E))return [];let A=h.get(E)??[];return h.delete(E),A},async confirmConsumed(E){let A=e.fingerprint(E.conversation);if(!G(E)||m.has(E)||A===void 0||e.cache===void 0||A===E.fingerprint||E.byteLength>Rt||E.messages.some(B=>B.encryption.decryptFailed===true))return;let M=Ha(E.conversation),K=r.get(M)??0;await O(async()=>{G(E)&&K===(r.get(M)??0)&&e.fingerprint(E.conversation)===A&&await e.cache.put({...E,fingerprint:A});}).catch(()=>v("recent-history-cache-write-failed",E.conversation,{reason:"cache-write-failed"}));},async latest(E,A){return (await C(E,"foreground",A)).page},async prefetchRecent(E,A={}){let M=[];for(let[K,B]of E.entries()){if(K>0&&K%16===0&&await e.yieldToEventLoop(),A.signal?.aborted===true||!a){w(B,"cancelled","cancelled"),M.push({ref:B,status:"cancelled",reason:"cancelled"});continue}if(B.conversationType==="direct"||B.conversationType==="robot"){w(B,"skipped","unsupported"),M.push({ref:B,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){w(B,"skipped","storage-unavailable"),M.push({ref:B,status:"skipped",reason:"storage-unavailable"});continue}try{let z=await C({...B,conversationType:B.conversationType},"background",A.signal);if(z.storageError!==void 0)throw z.storageError;M.push({ref:B,status:z.durable?"ready":"skipped",...z.reason===void 0?{}:{reason:z.reason}});}catch(z){z instanceof tt?M.push({ref:B,status:"skipped",reason:z.reason}):z instanceof Error&&z.name==="AbortError"?M.push({ref:B,status:"cancelled",reason:"cancelled"}):(v("recent-history-prefetch-failed",B,{reason:"prefetch-failed"}),M.push({ref:B,status:"failed",error:W({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:B,cause:z})}));}}return M},dispose(){a=false;for(let E of c.values())E.controller.abort(),E.reject(Tn());return c.clear(),f.then(()=>{})},async clear(){if(a){u+=1;for(let E of [...c.values()])ie(E.ref);await O(async()=>e.cache?.clear());}}}}function im(e){let{transportStatus:n,httpStatus:r,businessCode:c}=e,i=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 i===void 0?void 0:Object.freeze({service:"core",kind:i,...r===void 0?{}:{httpStatus:r},...c===void 0?{}:{businessCode:c}})}function hd(e){let n=g=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:g,getClientType:()=>e.clientType,fetch:r});function r(g,m){return c(),globalThis.fetch(g,m)}function c(){if(!e.isActive())throw W({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let g=e.coreClient,m=e.http??n(e.authProvider.getLoginContext);return {coreClient:g===void 0?void 0:async(h,S)=>{c();let f=await g(h,S);return c(),f},http:{async postProtobuf(h){c();let S=await m.postProtobuf(h);return c(),S}}}}async function i(g,m,h){if(!(!e.isActive()||h?.aborted||!m?.userId||!m.token))try{let S=await e.authProvider.getLoginContext();if(!e.isActive()||h?.aborted||S?.userId!==m.userId||S.token!==m.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(g))).catch(e.onHandlerError);}catch(S){e.onHandlerError(S);}}async function d(){let g=await e.authProvider.getLoginContext();return c(),g===null?null:{...g}}let a=e.coreClient;return {coreClient:a===void 0?void 0:async(g,m)=>{let h=await d(),S,f=await a(g,{...m,token:h?.token??"",skipBusinessResponseHandler:true,onResponse:D=>{S=D;}});if(c(),S===void 0)throw W({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let v=im(S);return v!==void 0&&await i(v,h,m?.signal),f},http:{async postProtobuf(g){let m=await d(),h=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(h==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let S=e.http??v({getBaseUrl:()=>h,getAuth:async()=>m,getClientType:()=>e.clientType,fetch:r});try{c();let f=await S.postProtobuf(g);return c(),f}catch(f){throw await i(f instanceof wa?{service:"cm",kind:"http",httpStatus:f.status}:{service:"cm",kind:"network"},m,g.signal),f}}}}}var am=2,rt=30,sm=50,cm=5,dm=20;function vd(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 lm(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 um(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 Cd(e$1,n$2,r,c=0){let i$1=e$1.clientType??am,d$1={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i$1}}},a$1="",u$1=jr(e$1.debug,()=>({generation:c,...a$1===""?{}:{accountId:a$1}})),g=true,{coreClient:m$1,http:h$1}=hd({coreClient:e$1.coreClient,http:e$1.http,authProvider:d$1,endpointProvider:e$1.endpointProvider,clientType:i$1,isActive:()=>g,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}}))}),S$1=e$1.transport??bb(),f$1=e$1.adapters?.storage,v=f$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:ab({namespaceFactory:r,mediaAssetCache:{strategies:Zs()}})),D$2=t=>{let l=v?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>Ao(t)).catch(N=>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:N}}));},w$1=lm(v)?v:void 0,O$1=Oc({...v===void 0?{}:{storage:v},...m$1===void 0?{}:{coreClient:m$1}}),y,T$1,s$1=Ys({...v===void 0?{}:{storage:v},conversationBackgrounds:O$1.api,onDirectReadReceiptDisabled:t=>y?.(t)}),o$1=0;function p$1(t){return o$1+=1,`channel-${t}-${c}-${o$1}`}let b=rb(u$1),C$1=(t,l,N=a$1)=>{let Y=l.fromId===N?l.toId:l.fromId;ur(u$1,{conversation:{conversationType:"direct",conversationId:Y},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},U=(t,l)=>{ur(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}});},ie=(t,l)=>{ur(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}});},G=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 E(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let A$1="empty",M=n$2.subscribe(t=>{if(g){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:xs(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 K(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let B=n$2.subscribe(t=>{v?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let N=(await v.getDecryptRecoveries?.(t.conversation)??[]).find(Y=>Y.messageId===t.message.id);N!==void 0&&K(N)||await v.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"?v.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"&&v.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}})));}),z$1=new Set,re="auto",Z=false,k=false,j=0,R,x,F=false,H,$,de=()=>{},ue=null,ge=null,Ie,Q,Oe=0,ye=false,_e=false,We,Ke,nn=new Map,rn=0,Je=t=>nn.get(t)??0,wt=t=>{nn.set(t,Je(t)+1);};function ot(t){Q?.invalidate(t),t.conversationType==="channel"&&wt(t.conversationId);}let on=e$1.profile??(m$1===void 0?void 0:C({client:m$1,clientType:i$1,...v===void 0?{}:{storage:v}})),cn=e$1.channelProfile??(m$1===void 0?void 0:p({client:m$1,clientType:i$1,getUserId:async()=>a$1!==""?a$1:(await d$1.getLoginContext())?.userId??"",...v===void 0?{}:{storage:v}})),_n=e$1.channelMembers??(m$1===void 0?void 0:t({client:m$1,clientType:i$1,isActive:()=>g,...v===void 0?{}:{storage:v}})),Dn=e$1.channelMentionMembers??(m$1===void 0?void 0:u({client:m$1,clientType:i$1})),kn=Dc({...Dn===void 0?{}:{provider:Dn},...v===void 0?{}:{storage:v}}),I=e$1.directory??(m$1===void 0?void 0:w({client:m$1,clientType:i$1,getUserId:async()=>a$1!==""?a$1:(await d$1.getLoginContext())?.userId??""})),P=$c({...I===void 0?{}:{provider:I}}),_=ld({...m$1===void 0?{}:{search:t=>Ja(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),bind:t=>D$1(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),unbind:t=>E$1(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}})}}),q=e$1.expressionProvider??A({...m$1===void 0?{}:{coreClient:m$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),ce=ad({provider:q,isActive:()=>g}),Ee=e$1.sessionFavoriteProvider??Sa({...m$1===void 0?{}:{coreClient:m$1},getUserId:()=>a$1}),we=qs({provider:Ee,isActive:()=>g}),Re=()=>{},Ae=ac({namespaceFactory:r,...v===void 0?{}:{storage:v},emitter:n$2,getAccountId:()=>a$1,isActive:()=>g,clearMemoryCaches:()=>{on?.clearCache?.(),cn?.clearCache?.(),_n?.clearCache?.(),kn.clear(),Re(),Q?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),xe=e$1.channelJoinApplications??(m$1===void 0?void 0:s({client:m$1,clientType:i$1})),dn=e$1.contactApplications??(m$1===void 0?void 0:l({client:m$1,clientType:i$1})),hn=e$1.groupApplications??(m$1===void 0?void 0:m({client:m$1,clientType:i$1})),V=La({emitter:n$2,diagnostics:u$1,profile:on,channelProfile:cn,storage:v,getSelfId:()=>a$1,loadOlderFromRemote:async t=>{let l=Q?.enterForeground(t.conversation);try{return Ie===void 0?{messages:[],exhausted:!0}:await Ie(t)}finally{l?.();}},loadNewerFromRemote:async t=>{let l=Q?.enterForeground(t.conversation);try{return Ke===void 0?{messages:[],exhausted:!0}:await Ke(t)}finally{l?.();}}}),pn=Cc({directory:P.contacts,getSelfId:()=>a$1,...on===void 0?{}:{profile:on},...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2,terminateConversationSending:(t,l)=>de(t,l),resetDirectReadReceiptPreference:t=>s$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?T$1?.(t):l!=="unknown"&&y?.(t);}}),go=wc({...dn===void 0?{}:{contact:dn},...hn===void 0?{}:{group:hn},...xe===void 0?{}:{channel:xe},onContactAccepted:async(t,l)=>{pn.updateRelationshipFromEvent(t,"friend"),await V.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),V.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>g&&A$1==="ready"}),pr=Jc({domainState:V,emitter:n$2,isActive:()=>g}),mr=ud({domainState:V,isAvailable:()=>g&&A$1==="ready"}),Rd=bc(()=>V.getSessions()),Ye=e$1.crypto??i(),vn=e$1.media!==void 0?Ya(e$1.media,u$1):void 0,fr=Ua(),wd=Ta(fr),{prepareLocalMediaPreview:Io,prepareLocalVideoPoster:Td}=md(fr,()=>c),ln=m$1===void 0?void 0:e({client:m$1,crypto:Ye,clientType:i$1,onError:(t,l)=>b?.("crypto",{message:t,cause:l})}),yo=m$1===void 0?void 0:h({client:m$1,clientType:i$1,onError:(t,l)=>b?.("crypto",{scope:"send-key",message:t,cause:l})}),Xe=m$1===void 0?void 0:f({client:m$1,crypto:Ye,clientType:i$1,onError:(t,l)=>b?.("crypto",{scope:"group-key",message:t,cause:l})}),ve=e$1.channelKeyService??(m$1===void 0?void 0:a({loadSecretKey:t=>fa(m$1,{channelId:t,clientType:i$1}),onError:(t,l)=>b?.("crypto",{scope:"channel-key",message:t,cause:l})})),ho=async(t,l={})=>{if(ve===void 0)return;let N=ve.getCachedChannelKey(t)===null;try{await ve.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!N||!g))try{await kt({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(Y){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:Y}});}},vo=async t=>ve===void 0?null:ve.getChannelKey(t),Co=t=>{if(ve===void 0)return null;let l=ve.getCachedChannelKey(t);return l===null&&ho(t),l},gr=()=>ln?.getCachedPrivateKey(a$1)?.privateKey??null,_d=()=>({crypto:Ye,resolveChannelKey:Co,resolveUserPrivateKey:gr,onDecryptRecovery:D$2,onDecryptError:t=>{let l=ve!==void 0&&v?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(ie("live",{...t,forceRefreshAttempted:l}),!l)return;let N=ve.getCachedChannelKey(t.channelId)??void 0;ve.getChannelKey(t.channelId,{staleKey:N}).catch(()=>{});}}),bn=async(t,l={})=>{let N=[];ve!==void 0&&N.push(...[...new Set(t)].map(Y=>ho(Y,l))),ln!==void 0&&a$1!==""&&N.push(ln.getUserPrivateKey(a$1).catch(()=>null)),await Promise.all(N);},Mn=t=>({crypto:Ye,resolveChannelKey:l=>ve?.getCachedChannelKey(l)??null,resolveUserPrivateKey:gr,onDecryptError:l=>ie(t,l),onDecryptRecovery:D$2});function Tt(t){Xe!==void 0&&t!==""&&Xe.getGroupKeys(t);}let bo=async t=>{if(Xe===void 0)return null;let l=await Xe.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},Mo=t=>{if(Xe===void 0)return null;let l=Xe.getCachedGroupKeys(t);return l!==null?l.privateKey:(Tt(t),null)},Vn=async t=>{Xe!==void 0&&await Promise.all(t.map(l=>Xe.getGroupKeys(l).catch(()=>null)));},Dd=()=>({crypto:Ye,resolvePrivateKey:({groupId:t})=>Mo(t),preparePrivateKey:async({groupId:t})=>Xe===void 0?null:(await Xe.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>U("live",t),onDecryptRecovery:D$2}),qn=t=>({crypto:Ye,resolvePrivateKey:({groupId:l})=>Mo(l),onDecryptError:l=>U(t,l),onDecryptRecovery:D$2}),_t=new Map,Wn=new Map,Ir=new Set,yr=new Set;function Dt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function kd(t,l){let N=Ha(t),Y=Wn.get(N)??new Set;Y.add(l),Wn.set(N,Y);}function So(t){Wn.delete(Ha(t));}function Od(t,l){return t.length===l.length&&t.every((N,Y)=>N===l[Y])}function Po(t){if(t.conversation.conversationType==="group")return Xe?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function $n(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 Ao(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,N=_t.get(l);if(N!==void 0)return N;let Y=(async()=>{let ne=V.getConversationMessage(t.conversation,t.messageId),te=K(t);if(ne===void 0||ne.encryption.decryptFailed!==true&&!te){await v?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ne.senderId,messageCreatedAt:ne.createdAt,selfMessage:ne.senderId===a$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let J,ee,X="key-resolve",oe=$n(t);for(let he of [false,true]){let Me=he?"force":"current",Te;try{X="bcontent";let me=d.decode(t.sContent);if(t.wireEncrypt===1){if(me.secretKey.length===0||me.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");X="key-resolve";let Qe=he?{...typeof ee=="string"?{staleKey:ee}:{}}:void 0,be=t.conversation.conversationType==="group"?(await Xe?.getGroupKeys(t.conversation.conversationId,Qe))?.privateKey??null:(await ln?.getUserPrivateKey(a$1,Qe))?.privateKey??null;he&&ee!==void 0&&(Te=typeof ee=="string"&&be!==null&&ee!==be),Te===!0&&So(t.conversation),he||(ee=be);let tn=Po(t);if(be===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Me,strategy:$n(t),finalStage:X,reason:"no-key",...tn===void 0?{}:{resolvedKeyVersion:tn},...Te===void 0?{}:{keyChanged:Te}}}));continue}X="rsa";let L=Ye.rsaDecryptPkcs1({data:me.secretKey,privateKey:be});if(L.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${L.length} < 16`);X="tea";let ae=Ye.decryptSymmetric({teaKey:L,cipherData:me.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Me,strategy:$n(t),rsaCipherBytes:me.secretKey.length,cipherDataBytes:me.cipherData.length,cipherDataBlockRemainder:me.cipherData.length%8,resolvedTeaBytes:L.length,plainBytes:ae.length,plainBlockRemainder:ae.length%8,startsWithContentTypeField:ae[0]===8,startsWithMobileCardType:ae[0]===8&&ae[1]===8,...fd(ae)}})),X="bmessage",J=c$1.decode(ae);}else if(t.conversation.conversationType==="channel"){if(me.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");X="key-resolve";let Qe=he?{...ee instanceof Uint8Array?{staleKey:ee}:{}}:void 0,be=ve?.getChannelKeyCandidates===void 0?await ve?.getChannelKey(t.conversation.conversationId,Qe).then(ae=>[{strategy:"canonical-base64-pad",key:ae}])??[]:await ve.getChannelKeyCandidates(t.conversation.conversationId,Qe),tn=ve?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);tn!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Me,...tn}}));let L=be.find(ae=>ae.strategy==="canonical-base64-pad")?.key??null;if(he&&ee instanceof Uint8Array&&L!==null&&(Te=!Od(ee,L)),Te===!0&&So(t.conversation),he||(ee=L?.slice()??null),be.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:Me,strategy:$n(t),finalStage:X,reason:"no-key",...Te===void 0?{}:{keyChanged:Te}}}));continue}for(let ae of be)try{X="tea";let Se=Ye.decryptSymmetric({teaKey:ae.key,cipherData:me.cipherData});X="bmessage";let Pe=c$1.decode(Se);if(ae.strategy==="legacy-ascii16"&&!xd(Pe))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");J=Pe,oe=ae.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Me,strategy:ae.strategy,finalStage:"recovered",reason:"recovered",...Te===void 0?{}:{keyChanged:Te}}}));break}catch(Se){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Me,strategy:ae.strategy,finalStage:X,reason:"decrypt-failed",...Te===void 0?{}:{keyChanged:Te}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Se}}));}}if(J!==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:Me,strategy:oe,finalStage:"recovered",reason:"recovered",...Te===void 0?{}:{keyChanged:Te}}}));break}}catch(me){let Qe=Po(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Me,strategy:$n(t),finalStage:X,reason:"decrypt-failed",...Qe===void 0?{}:{resolvedKeyVersion:Qe},...Te===void 0?{}:{keyChanged:Te}},error:{message:"IM message decryption recovery failed",data:me}}));}}if(!g||J===void 0){J===void 0&&(kd(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:$n(t),attempts:2,finalStage:X}})));return}let le=V.getConversationMessage(t.conversation,t.messageId);if(le===void 0||le.encryption.decryptFailed!==true&&!te)return;let se=t.conversation.conversationType==="channel"&&(t.cmdId===12804||J.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(le.serverTime??le.createdAt),notifyType:J.type,operatorId:J.oprUserId,targetUserIds:J.mnpledUserId,content:J.content,...typeof le.extensions?.historyCursor=="string"?{historyCursor:le.extensions.historyCursor}:{},...typeof le.extensions?.channelSequence=="string"?{sequence:BigInt(le.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:le.raw!==void 0}):{...O(le,J,a$1),...te?{edited:true}:{}};V.upsertMessages([se],"offline"),await v?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{_t.get(l)===Y&&_t.delete(l);});return _t.set(l,Y),Y}async function kt(t,l={}){let N=Ha(t),Y=await v?.getDecryptRecoveries?.(t)??[],ne=Wn.get(N),te=ne===void 0?Y:Y.filter(oe=>!ne.has(oe.messageId));if(await Promise.all(te.map(Ao)),!g||l.recoverLegacyWithoutSidecar===false)return;let J=Wn.get(N),ee=new Set(Y.filter(oe=>J===void 0||!J.has(oe.messageId)).map(oe=>oe.messageId)),X=V.getMessagesByConversation(t).filter(oe=>oe.encryption.decryptFailed===true&&!ee.has(oe.id));if(!(X.length===0||Ir.has(N))){Ir.add(N),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:X.length,withoutSidecar:X.filter(oe=>!Y.some(le=>le.messageId===oe.id)).length}}));try{if(t.conversationType==="channel"){let oe=await d$1.getLoginContext();if(oe===null||We===void 0)return;for(let le of X.slice(0,dm)){let se=le.extensions?.historyCursor;if(typeof se!="string"||se.trim()==="")continue;let he=await We(t.conversationId,se,oe.userId);if(!g)return;he.length>0&&V.upsertMessages(he,"offline");}}else t.conversationType==="group"?await Nd({conversationType:"group",conversationId:t.conversationId},X):t.conversationType==="direct"&&await Ho();}catch(oe){n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:oe}});}}}async function Nd(t,l){if(Ie===void 0)return;let N=[...l].sort((ee,X)=>ee.sortKey.localeCompare(X.sortKey)),Y=N[0],ne=N.at(-1);if(Y===void 0||ne===void 0)return;let te=Y.serverTime??Y.createdAt,J;for(let ee=0;ee<cm;ee++){let X=await Ie({conversation:t,oldestLoaded:ne,...J===void 0?{}:{cursor:J},intent:"older",limit:sm});if(!g||X.exhausted||X.nextCursor===void 0)return;let oe=Number(X.nextCursor);if(Number.isFinite(oe)&&oe<=te)return;J=X.nextCursor;}}let Ge=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function Eo(t){let l=t.channelPermissions,N=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,l===void 0?void 0:[l.sendMessages,l.mentionAll,l.editProfile,l.manageMembers,l.manageAdmins,l.moderateMessages,l.manageMute,l.dismissChannel,l.transferOwnership],N===void 0?void 0:[N.role,N.baseState,N.resolvedState,N.allMembersMuted,N.currentUserMuted,N.mutePeriod]])}let hr=new Map;function Ot(t){let l=V.getConversationContext(t);if(!g||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&Be(l.channelState))return;let N=V.getMessagesByConversation(t).at(-1);return JSON.stringify([a$1,N===void 0?l.timestamp:void 0,Eo(l),N?.id,N?.sortKey])}Q=yd({...v?.recentHistoryCache===void 0?{}:{cache:v.recentHistoryCache},fingerprint:Ot,canRunBackground:Ml,fetchPage:gd({http:h$1,authProvider:d$1,clientType:i$1,groupDecrypt:()=>qn("history"),channelDecrypt:()=>Mn("history"),prepareGroupKeys:Vn,prepareChannelKeys:t=>bn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,N)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:N}))});let Ld=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(ye=false),Q?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ha(t.conversation),N=hr.get(l),Y={timestamp:t.session.timestamp,access:Eo(t.session)};hr.set(l,Y),A$1==="ready"&&N!==void 0&&(N.access!==Y.access||!_e&&N.timestamp!==Y.timestamp)&&Q?.invalidate(t.conversation);return}if(t.type==="session:removed"){hr.delete(Ha(t.conversation)),A$1==="ready"&&Q?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){A$1==="ready"&&Q?.invalidate(t.conversation);return}A$1!=="ready"||_e||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&Q?.invalidate(t.conversation);});function Ro(t){_e=true;try{t.messages.length>0&&V.upsertMessages(t.messages,"offline",{backfillOnly:!0});for(let l of t.reactions)Ge(l);for(let l of Q.takeRecoveries(t))D$2(l);}finally{_e=false;}}Ie=async({conversation:t,oldestLoaded:l,cursor:N,intent:Y,limit:ne,signal:te})=>{te?.throwIfAborted();let{conversationId:J}=t,ee=V.getConversationContext(t);if(ee===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${J}\uFF09`);if(ee.type==="direct"||ee.type==="robot")return {messages:[],exhausted:true};if(Y==="establish-latest"&&ne===30&&(ee.type==="group"||ee.type==="channel")){let X={conversationType:ee.type,conversationId:J};if(Ot(X)===void 0)return {messages:[],exhausted:true};let oe=await Q.readCached(X,true).catch(se=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:X,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:se}})),null));oe!==null&&Q.isPageCurrent(oe)&&Date.now()-oe.fetchedAt>5*6e4&&Ro(oe),te?.throwIfAborted();let le=await Q.latest(X,te).catch(se=>{if(g&&Ot(X)===void 0)return null;throw se});if(le===null)return {messages:[],exhausted:true};if(te?.throwIfAborted(),!g||!Q.isPageCurrent(le)||Ot(X)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(Ro(le),await Q.confirmConsumed(le),te?.throwIfAborted(),!Q.isPageCurrent(le))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:le.messages,exhausted:le.exhausted,...le.nextCursor===void 0?{}:{nextCursor:le.nextCursor},replaceWindow:true}}if(ee.type==="group"){if(ee.groupState!==void 0&&ee.groupState!=="active")return {messages:[],exhausted:true};let X=await d$1.getLoginContext();if(X===null)return {messages:[],exhausted:true};let oe=Y==="establish-latest"?Date.now():N===void 0?l?.serverTime??l?.createdAt??Date.now():vd(N,J),le=await Ha$1({signal:te,http:h$1,userId:X.userId,clientType:i$1,groupId:J,baseTime:oe,direct:1,limit:ne,decryptDeps:qn("history"),prepareKeys:Vn,onReaction:Ge});te?.throwIfAborted(),le.messages.length>0&&V.upsertMessages(le.messages,"offline",{backfillOnly:true});let se=le.oldestEntryTime,he=le.batchSize<ne||se===void 0||se>=oe;return {messages:le.messages,exhausted:he,...he?{}:{nextCursor:String(se)},...Y==="establish-latest"?{replaceWindow:true}:{}}}if(ee.type==="channel"){let X=p$1("history");if(ee.channelState!==void 0&&Be(ee.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:X,data:{state:ee.channelState}})),{messages:[],exhausted:true};let oe=rn,le=Je(J),se=await d$1.getLoginContext();if(se===null)return {messages:[],exhausted:true};if(Y==="establish-latest"){let me=await za({signal:te,http:h$1,userId:se.userId,clientType:i$1,channelId:J,count:rt,operationId:X,decryptDeps:Mn("history"),prepareKey:ve===void 0&&ln===void 0?void 0:be=>bn([be]),onContentDecodeError:G,onReaction:Ge});te?.throwIfAborted();let Qe=V.getConversationContext(t);return !g||oe!==rn||le!==Je(J)||Qe?.type!=="channel"||Qe.channelState!==void 0&&Be(Qe.channelState)?{messages:[],exhausted:true}:(te?.throwIfAborted(),me.messages.length>0&&V.upsertMessages(me.messages,"offline",{backfillOnly:true}),{messages:me.messages,exhausted:!me.hasOlder,...me.nextCursor===void 0?{}:{nextCursor:me.nextCursor},replaceWindow:true})}let he=N??"";if(N===void 0&&l!==void 0){let me=l.extensions?.historyCursor;if(typeof me=="string"&&me.trim()!=="")he=me;else if(!um(l,se.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${J}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:X,data:{baseIndexPresent:he!=="",direction:1,contain:0,count:rt,historyGeneration:oe,historyEpoch:le,clientTypeHeader:i$1,clientTypeBody:i$1}}));let Me;try{Me=await Aa({signal:te,http:h$1,userId:se.userId,clientType:i$1,channelId:J,baseIndex:he,count:rt,contain:0,operationId:X,decryptDeps:Mn("history"),prepareKey:ve===void 0&&ln===void 0?void 0:me=>bn([me]),onContentDecodeError:G,onReaction:Ge});}catch(me){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:X,data:{baseIndexPresent:he!=="",direction:1,contain:0,count:rt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:me}})),me}te?.throwIfAborted();let Te=V.getConversationContext(t);return !g||oe!==rn||le!==Je(J)||Te?.type!=="channel"||Te.channelState!==void 0&&Be(Te.channelState)?{messages:[],exhausted:true}:(te?.throwIfAborted(),Me.messages.length>0&&V.upsertMessages(Me.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:X,data:{responseBatchSize:Me.batchSize,messageCount:Me.messages.length,exhausted:Me.exhausted,nextBaseIndexPresent:Me.nextBaseIndex!==void 0}})),{messages:Me.messages,exhausted:Me.exhausted,...Me.nextBaseIndex===void 0?{}:{nextCursor:Me.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${ee.type}`)};let vr=t=>{t.length>0&&V.upsertMessages(t,"offline",{backfillOnly:true});},Cr=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}},Fd=async t=>{let{userId:l}=await Cr(),N=await ua({http:h$1,userId:l,clientType:i$1,messageIds:t,decryptDeps:await Rr(l),onReaction:Ge});return vr(N.messages),{messages:N.messages,missingMessageIds:N.missingMessageIds}},Kd=async(t,l)=>{let{userId:N}=await Cr(),Y=await va({http:h$1,userId:N,clientType:i$1,groupId:t,messageIds:l,decryptDeps:qn("history"),prepareKeys:Vn,onReaction:Ge});return vr(Y.messages),{messages:Y.messages,missingMessageIds:Y.missingMessageIds}},Ud=async(t,l)=>{let{userId:N}=await Cr(),Y=await wa$1({http:h$1,userId:N,clientType:i$1,channelId:t,messageIds:l,operationId:p$1("history"),decryptDeps:Mn("history"),prepareKey:ve===void 0&&ln===void 0?void 0:ne=>bn([ne]),onContentDecodeError:G,onReaction:Ge});return vr(Y.messages),{messages:Y.messages,missingMessageIds:Y.missingMessageIds}},Bd=ob([lb({includeOppositeEnd:true}),mb({resolveGroupKey:bo}),kb({resolveChannelKey:vo}),nb()]),Gd=Xa([Ya$1(),Za(),_a()]),Hd=na([oa(),pa(),qa({resolveChannelKey:vo,resolveProfile:t=>cn?.getProfile(t)??Promise.resolve(null)})]),je=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Jn=()=>false,xt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},wo=()=>{},it=()=>{},at={...V,removeConversationForMembershipTermination:(t,l)=>{wo(t,l),t.conversationType==="group"?Xe?.clearGroupKeys(t.conversationId):ve?.clearChannelKey(t.conversationId),V.removeConversationForMembershipTermination(t,l),O$1.api.resetBackground(t).catch(N=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:N}}));}},st=Oa({domainState:V,sendFrame:t=>je(t),getSelfId:()=>a$1,isAuthenticated:()=>Jn(),reportReaction:t=>q.reportReaction(t),isEmojiSupported:Bs,logger:b});Ge=t=>{st.ingest(t,"offline");};let jd=Pa({manager:st,getSelfId:()=>a$1,logger:b}),zd=gb({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>je(t),getSelfId:()=>a$1,emitter:n$2,logger:b,keepRaw:true,decrypt:Dd(),isActive:()=>g}),Vd=bb$1({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>je(t),getSelfId:()=>a$1,emitter:n$2,logger:b,keepRaw:true,decrypt:_d()}),qd=hb({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>je(t),getSelfId:()=>a$1,emitter:n$2,logger:b,keepRaw:true}),Wd=ab$1({domainState:V,sendFrame:t=>je(t),getSelfId:()=>a$1,emitter:n$2,logger:b,keepRaw:true,decrypt:{crypto:Ye,resolveChannelKey:Co,resolveUserPrivateKey:gr,onDecryptRecovery:D$2}}),$d=$a({getSelfId:()=>a$1,sendFrame:t=>je(t),emitter:n$2}),Jd=ib({emitter:n$2,getSelfId:()=>a$1}),Yd=eb({sendFrame:t=>je(t),emitter:n$2,getSelfId:()=>a$1,domainState:{reconcileDirectContactEstablishedNotice:V.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){V.removeConversation(t);return}t.conversationType==="direct"&&de(t,"friend_relation_removed"),V.removeConversation(t);})},resetDirectReadReceiptPreference:t=>s$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:pn.updateRelationshipFromEvent}),Xd=jb({sendFrame:t=>je(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:V.applyTransferStatusBySerialNumber}}),Qd=db({getSelfId:()=>a$1,sendFrame:t=>je(t),emitter:n$2}),Zd=cb({getSelfId:()=>a$1,domainState:V,sendFrame:t=>je(t),emitter:n$2,onRelationshipChanged:pn.updateRelationshipFromEvent}),br=n({sendFrame:t=>je(t),emitter:n$2,getSelfId:()=>a$1,isAuthenticated:()=>Jn(),domainState:V}),Mr=z({sendFrame:t=>je(t),emitter:n$2,getSelfId:()=>a$1,isAuthenticated:()=>Jn(),domainState:V}),To=[...br.handlers,...Mr.commandHandlers],el=2e3,ct,Sr=false,_o=new Set;async function Do(){if(Sr||!g||!Jn())return;let t=await d$1.getLoginContext();if(t!==null){Sr=true;try{let l=[];for(;;){let N=await Ia({http:h$1,userId:t.userId,clientType:i$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:N.items.length,cmdIds:N.items.map(Y=>`0x${Y.cmdId.toString(16)}`)}})),N.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let Y of N.items){if(n$2.emit({type:"notification",cmdId:Y.cmdId,name:"OFFLINE_SIGNAL"}),Y.msgId!==""&&_o.has(Y.msgId))continue;Y.msgId!==""&&_o.add(Y.msgId);let ne=To.find(te=>te.command===Y.cmdId);ne!==void 0&&ne.handler(Y.cmdId,Y.body);}if(N.deliveredMsgIds.length===0)break;l=N.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{Sr=false;}}}function nl(){Do(),ct===void 0&&(ct=setInterval(()=>{Do();},el));}function ko(){ct!==void 0&&clearInterval(ct),ct=void 0;}let tl=fb({domainState:V,sendFrame:t=>je(t),getSelfId:()=>a$1,emitter:n$2,logger:b,keepRaw:true}),rl=Ma({domainState:at,getSelfId:()=>a$1,prefetchGroupKey:Tt,clearGroupKeys:t=>{Xe?.clearGroupKeys(t);},clearConversationTermination:t=>it(t)}),ol=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&rl.handleMessage(t.message);}),Oo=Da({domainState:at,getSelfId:()=>a$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:ve!==void 0&&ve.getCachedChannelKey(t)!==null}})),ve!==void 0&&ve.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=ve!==void 0&&ve.getCachedChannelKey(t)!==null;ve?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>it(t),stopChannelHistory:t=>{let l=Je(t);wt(t),V.messageWindow.info().conversationId===t&&V.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:Je(t)}}));}}),il=n$2.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(a$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:V.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Oo.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),al=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"]),sl=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),cl=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,N=l.body.system?.eventType;l.conversationType==="channel"&&N!==void 0&&(al.has(N)&&_n?.invalidateChannelMembers(l.conversationId).catch(Y=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:Y}});}),sl.has(N)&&kn.invalidate(l.conversationId).catch(Y=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:Y}});}));}),xo=Ds({...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2}),No=Ic({...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2}),On=yc({...xe===void 0?{}:{joinApplications:xe},http:h$1,clientType:i$1,buildOfflineDecrypt:()=>Mn("history"),onContentDecodeError:G,onReaction:Ge,...ve===void 0&&ln===void 0?{}:{prepareKey:t=>bn([t])}});We=async(t,l,N)=>{let{context:Y}=await On.loadMessageContext(t,l,N);return Y.messages};let dl=hc({authProvider:d$1,emitter:n$2,domainState:V,loadMessageContext:On.loadMessageContext,isActive:()=>g,getHistoryGeneration:()=>rn,getHistoryEpoch:Je}),Pr=pd({domainState:V,isActive:()=>g,loadSummary:async({channelId:t,readCursor:l})=>{let N=await d$1.getLoginContext();if(N===null||!g||N.userId!==a$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:h$1,userId:N.userId,clientType:i$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ne=>ne.channelId===t)},report:(t,l,N)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:N}))}),Ar=Ra({domainState:V,updateReadIndex:async({channelId:t,readCursor:l})=>{let N=await d$1.getLoginContext();if(N===null||!g||N.userId!==a$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:h$1,userId:N.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:b,onReadCommitted:Pr.request,onReadSettled:Pr.settled,syncRead:{getSelfId:()=>a$1,sendFrame:t=>je(t)}}),ll=Qa({getSelfId:()=>a$1,applyRemoteRead:t=>Ar.applyRemoteRead(t),emitter:n$2,logger:b}),ul=Va$1([Ua$1({domainState:V,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:h$1,userId:l.userId,groupId:t});},emitter:n$2,logger:b,isAuthenticated:()=>Jn(),syncRead:{getSelfId:()=>a$1,sendFrame:t=>je(t)}}),Ar,Wa({domainState:V})]),dt=tb({getSelfId:()=>a$1,sendFrame:t=>je(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),pl=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&dt.setAuthenticated(false);}),pe=pb({transport:S$1,authProvider:d$1,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:V,logger:b,decrypt:{crypto:Ye,resolvePrivateKey:({msgType:t})=>t===1?ln?.getCachedPrivateKey(a$1)?.privateKey??null:null,onDecryptError:t=>C$1("live",t),onDecryptRecovery:D$2},encryptSend:yo===void 0&&ve===void 0?void 0:{crypto:Ye,resolvePublicKey:t=>yo?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:bo},media:vn!==void 0?{transfer:vn,preview:wd,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}}}));},...w$1===void 0?{}:{assetCache:w$1,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:Bd,commandHandlers:[...dt.commandHandlers,...Yd,...Jd,...Xd,...Qd,...Zd,...To,...jd,...zd,...tl,...Vd,...Wd,...$d,...ll,...qd],readStrategies:ul,canSendDirectReadReceipt:t=>{if(!s$1.isDirectReadReceiptEnabled(t))return false;let l=pn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:Gd,channelMessageDeletion:{resolveProfile:t=>cn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>V.refreshConversationProfile(t,"channel")},editStrategies:Hd,storage:v,onAuthenticated:()=>{dt.setAuthenticated(true);let t=Z;Z=true,(t||re==="auto")&&Ko().catch(()=>{}),nl();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);y=t=>pe.suppressDirectReadReceipts(t),T$1=t=>pe.resumeDirectReadReceipts(t),je=pe.sendFrame,Jn=()=>pe.state==="authenticated",xt=pe.onChatAck,de=pe.terminateConversationSending,wo=pe.markOutboxConversationTerminated,it=pe.clearOutboxConversationTerminated;let Lo=oc({operations:{getPending:pe.getPendingOutbox,retry:pe.retryOutboxMessage,cancel:pe.cancelOutboxMessage},emitter:n$2,isActive:()=>g}),ke=Pc({connection:pe,domainState:V,crypto:Ye,...vn===void 0?{}:{mediaTransfer:vn},prepareDirectReadReceipt:async t=>{try{await pn.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}}});}}}),Er=tc({connection:pe,domainState:V,emitter:n$2,isActive:()=>g,preparePreview:Io,prepareVideoPoster:Td,onLocalPreviewError:({kind:t,byteLength:l,cause:N})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:c,data:{kind:t,byteLength:l},error:{message:N instanceof Error?N.message:String(N)}}));},...w$1===void 0?{}:{assetCache:w$1,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}}}));}},...vn===void 0?{}:{loaders:{loadImage:ke.operations.loadImage,loadVideo:ke.operations.loadVideo,loadVoice:ke.operations.loadVoice,loadFile:ke.operations.loadFile}}});Re=()=>{pe.invalidateMediaAssetCacheWrites(),Er.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(pe.setConnectionAllowed(false),R=Za$1({onChange:(t,l)=>{if(!t)return F=true,pe.setConnectionAllowed(false),g?(fl(),Go({localData:"preserve"},{requireStorageClose:true,notifyReplacement:l==="replaced"}).then(()=>{})):$?.then(()=>{})},onError:t=>{H=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 ml(t){if(!(R===void 0||!g)){if(!F){x??=R.start(r.forAccount(t).name("ephemeral","connection",`client-${i$1}`));let l=await x;if(!g)return;if(g&&!F&&l&&R.owned){pe.setConnectionAllowed(true);return}}throw pe.setConnectionAllowed(false),await pe.connect(),H!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:H}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Nt=_a$1({onOnline:()=>pe.notifyOnline(),onOffline:()=>pe.notifyOffline(),onVisible:()=>pe.notifyVisible(),onPageHide:()=>{k&&pe.suspendForPageLifecycle();},onPageShow:()=>{k&&(pe.resumeFromPageLifecycle(),pe.notifyVisible());}},e$1.network);function fl(){g=false,Q?.dispose(),k=false,j+=1,Nt.stop();}let gl=n$2.subscribe(t=>{!g||t.type!=="auth:invalid"||(k=false,j+=1,F=R!==void 0,R?.terminate(),Nt.stop());});async function Rr(t){let l=await ln?.getUserPrivateKey(t)??null;return {crypto:Ye,resolvePrivateKey:({msgType:N})=>N===1?l?.privateKey??null:null,onDecryptError:N=>C$1("offline",N,t),onDecryptRecovery:D$2}}function Fo(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:N,limit:Y})=>{let ne=await d$1.getLoginContext();if(ne===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let te=await Rr(ne.userId);return l({http:h$1,userId:ne.userId,clientType:i$1,decryptDeps:te,deliveredMsgInfos:N,...Y===void 0?{}:{limit:Y},onReaction:Ge})}}}let Il=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let N=await d$1.getLoginContext();if(N===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Fa({http:h$1,userId:N.userId,clientType:i$1,decryptDeps:qn("offline"),prepareKeys:Vn,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:Ge})}});async function yl(){let t=await d$1.getLoginContext();if(t===null)return;let l=await Ga({http:h$1,userId:t.userId,clientType:i$1,decryptDeps:qn("offline"),prepareKeys:Vn,onReaction:Ge});for(let N of l.unreads)V.applyServerUnread({conversationType:"group",conversationId:N.groupId},N.unreadCount),Tt(N.groupId);l.messages.length>0&&V.upsertMessages(l.messages,"offline");}async function hl(){let t=p$1("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:i$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:i$1}}));try{await vl(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 vl(t){if(cn===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 N=await cn.listProfiles({forceRefresh:true});if(N.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let Y=new Map(N.map(L=>[L.id,L]));for(let L of N){if(E(L.channelState)){ve?.clearChannelKey(L.id),at.removeConversationForMembershipTermination({conversationType:"channel",conversationId:L.id},`channel_${L.channelState}`);continue}let ae=L.permissions.sendMessages?void 0:`channel_${L.channelState}`;V.setChannelRestriction(L.id,L.channelState,ae,{permissions:L.permissions,...L.accessSnapshot===void 0?{}:{snapshot:L.accessSnapshot}}),V.updateConversationProfile({conversationType:"channel",conversationId:L.id},{title:L.name,avatar:L.avatar}),L.muted!==void 0&&V.setMuted({conversationType:"channel",conversationId:L.id},L.muted);}let ne=new Map(N.map(L=>{let ae={conversationType:"channel",conversationId:L.id},Se=V.getReadState(ae),Pe=V.getSession(ae);return [L.id,{revision:V.getChannelReadRevision(ae),pending:V.hasPendingChannelRead(ae),readCursor:Se?.readCursor??Pe?.readCursor??"",unreadCount:Pe?.unreadCount??Se?.unreadCount??0,mentionUnreadCount:Pe?.mentionUnreadCount??Se?.mentionUnreadCount??0}]})),te=N.map(L=>({channelId:L.id,readCursor:ne.get(L.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:te.length,channelsWithReadCursor:te.filter(L=>L.readCursor!=="").length,clientTypeHeader:i$1,clientTypeBody:i$1}}));let J=await xa$1({http:h$1,userId:l.userId,clientType:i$1,channels:te,operationId:t,decryptDeps:Mn("offline"),prepareKeys:L=>bn(L.filter(ae=>{let Se=Y.get(ae)?.channelState;return Se===void 0||!Be(Se)})),onContentDecodeError:G,onReaction:Ge});u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:J.length,lastMessageCount:J.filter(L=>L.last!==void 0).length,decryptFailedLastCount:J.filter(L=>L.last?.encryption.decryptFailed===true).length,unknownContentLastCount:J.filter(L=>L.last?.contentType==="unknown"&&L.last.encryption.decryptFailed!==true).length}}));let ee=new Set(J.filter(L=>{let ae=ne.get(L.channelId),Se={conversationType:"channel",conversationId:L.channelId},Pe=V.getReadState(Se),Cn=V.getSession(Se);return ae===void 0||ae.pending||V.hasPendingChannelRead(Se)||V.getChannelReadRevision(Se)!==ae.revision||(Pe?.readCursor??Cn?.readCursor??"")!==ae.readCursor||(Cn?.unreadCount??Pe?.unreadCount??0)!==ae.unreadCount||(Cn?.mentionUnreadCount??Pe?.mentionUnreadCount??0)!==ae.mentionUnreadCount}).map(L=>L.channelId)),X=J.filter(L=>V.getConversationContext({conversationType:"channel",conversationId:L.channelId})!==void 0).map(L=>{let Se=Y.get(L.channelId)?.channelState,Pe=Se!==void 0&&Be(Se)?Se:Be(L.channelState)?L.channelState:Se??L.channelState,Cn=Pe==="active"?void 0:Pe===L.channelState?L.sendDisabledReason:`channel_${Pe}`;return {...L,channelState:Pe,sendDisabledReason:Cn}});for(let L of X){let ae=Y.get(L.channelId);V.setChannelRestriction(L.channelId,L.channelState,L.sendDisabledReason,ae===void 0?void 0:{permissions:ae.permissions,...ae.accessSnapshot===void 0?{}:{snapshot:ae.accessSnapshot}}),ae!==void 0&&(V.updateConversationProfile({conversationType:"channel",conversationId:L.channelId},{title:ae.name,avatar:ae.avatar}),ae.muted!==void 0&&V.setMuted({conversationType:"channel",conversationId:L.channelId},ae.muted)),ee.has(L.channelId)||V.applyChannelReadSummary({conversationType:"channel",conversationId:L.channelId},L),Be(L.channelState)&&ve?.clearChannelKey(L.channelId);}let oe=X.filter(L=>!ee.has(L.channelId)&&!Be(L.channelState)&&L.unreadCount>0&&L.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let L={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let ae of X)ee.has(ae.channelId)?L.staleRead+=1:Be(ae.channelState)?L.historyBlocked+=1:ae.unreadCount<=0?L.zeroUnread+=1:ae.readCursor===""&&(L.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:X.length,eligibleChannelCount:oe.length,staleReadSkippedCount:L.staleRead,historyBlockedSkippedCount:L.historyBlocked,zeroUnreadSkippedCount:L.zeroUnread,emptyReadCursorSkippedCount:L.emptyReadCursor,direction:0,contain:0,count:rt}}});let le=await ya$1({http:h$1,userId:l.userId,clientType:i$1,operationId:t,pulls:oe.map(L=>({channelId:L.channelId,baseIndex:L.readCursor})),messageCount:rt,decryptDeps:Mn("offline"),prepareKeys:bn,onContentDecodeError:G,onReaction:Ge}),se=X.flatMap(L=>{let ae=L.last;if(ae===void 0||Dt(ae))return [];let Se=ae.extensions?.historyCursor;return [{summary:L,last:ae,historyCursor:typeof Se=="string"?Se.trim():""}]}),he=(L,ae)=>`${L}:${ae}`,Me=new Map,Te=new Set;for(let{summary:L,last:ae}of se){let Se=V.getConversationMessage({conversationType:"channel",conversationId:L.channelId},ae.id);if(Se===void 0||!Dt(Se))continue;let Pe=he(L.channelId,ae.id);Me.set(Pe,Se),Te.add(Pe);}for(let L of le)Dt(L)&&Me.set(he(L.conversationId,L.id),L);let me=se.filter(({summary:L,last:ae,historyCursor:Se})=>Se!==""&&!ee.has(L.channelId)&&!Be(L.channelState)&&!Me.has(he(ae.conversationId,ae.id))&&!yr.has(he(ae.conversationId,ae.id))),Qe=se.filter(({summary:L,last:ae})=>!ee.has(L.channelId)&&!Be(L.channelState)&&!Te.has(he(ae.conversationId,ae.id))&&Me.has(he(ae.conversationId,ae.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:se.length,decryptFailedLastCount:se.filter(({last:L})=>L.encryption.decryptFailed===true).length,unknownContentLastCount:se.filter(({last:L})=>L.contentType==="unknown"&&L.encryption.decryptFailed!==true).length,localRecoveredCount:Te.size,offlineRecoveredCount:Qe,contextRecoveryCount:me.length,staleReadSkippedCount:se.filter(L=>ee.has(L.summary.channelId)).length,historyBlockedSkippedCount:se.filter(L=>Be(L.summary.channelState)).length,missingHistoryCursorCount:se.filter(L=>L.historyCursor==="").length}}));let be=await Promise.all(me.map(async({summary:L,last:ae,historyCursor:Se})=>{try{let{message:Pe}=await On.loadMessageContext(L.channelId,Se,l.userId),Cn=V.getConversationContext({conversationType:"channel",conversationId:L.channelId});if(!g||Cn?.type!=="channel"||Cn.channelState!==void 0&&Be(Cn.channelState))return;if(Pe.conversationType!=="channel"||Pe.conversationId!==L.channelId||Pe.id!==ae.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${L.channelId}, messageId=${ae.id}\uFF09`);if(!Dt(Pe)){if(Pe.contentType==="unknown"&&Pe.encryption.decryptFailed!==!0){yr.add(he(Pe.conversationId,Pe.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:L.channelId},data:{messageId:ae.id,reason:Pe.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${L.channelId}, messageId=${ae.id}\uFF09`)}return Pe}catch(Pe){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:L.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Pe},data:{messageId:ae.id}}));return}}));for(let L of be)L!==void 0&&Me.set(he(L.conversationId,L.id),L);let tn=[...X.flatMap(L=>L.last===void 0?[]:[Me.get(he(L.channelId,L.last.id))??L.last]),...le];tn.length>0&&V.upsertMessages(tn,"offline",{applyChannelLifecycleEffects:true}),u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:N.length,terminalProfileCount:N.filter(L=>E(L.channelState)).length,sessionCount:J.length,acceptedSessionCount:X.length,sessionLastCount:X.filter(L=>L.last!==void 0).length,recoveredSessionLastCount:se.filter(({last:L})=>Me.has(he(L.conversationId,L.id))).length,offlineMessageCount:le.length}}));}let lt=null,wr=false;function Cl(){return lt!==null?(wr=true,lt):(lt=(async()=>{let l;do{wr=false,l=void 0;try{await hl();}catch(N){l=N;}}while(wr);if(l!==void 0)throw l})().finally(()=>{lt=null;}),lt)}let bl=yb({pullers:[Fo("chat",Ba),Fo("owner_chat",Ca),Il()],domainState:V,emitter:n$2,logger:b,yieldToEventLoop:b$1});function Ml(){return g&&A$1==="ready"&&ye&&Oe===0&&pe.state==="authenticated"}async function Ko(){if(R!==void 0&&(!R.owned||F))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=yl().catch(N=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:N}})),l=Cl().catch(N=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:N}}));Oe+=1;try{let Y=(await Promise.allSettled([bl.sync(),t,l])).find(ne=>ne.status==="rejected");if(Y?.status==="rejected")throw Y.reason}finally{Oe-=1,ye=pe.state==="authenticated",Q?.notifySchedulingChanged();}}async function Sl(){if(A$1==="ready")return;A$1="preparing";let t=await d$1.getLoginContext();if(g){if(t!==null){if(await ml(t.userId),!g)return;if(a$1=t.userId,ln!==void 0&&ln.getUserPrivateKey(t.userId),v!==void 0)try{if(await v.open({namespace:t.userId}),!g)return;try{await s$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(!g||(await V.hydrate(()=>g),!g))return;for(let l of V.getSessions())l.title===""&&l.type!=="supergroup"&&V.refreshConversationProfile(l.id,l.type);if(await pe.hydrateOutbox(()=>g),!g)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!g)return;if(Xe!==void 0)for(let l of V.getSessions())l.type==="group"&&Tt(l.id);}g&&(A$1="ready");}}function Uo(){if(F)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(A$1==="ready")return Promise.resolve();if(ue!==null)return ue;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),ue=Sl().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(()=>{ue=null;}),ue}function Pl(t){if(F)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!g||F)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(k=true,pe.state==="authenticated")return Promise.resolve();if(ge!==null)return ge;re=t?.initialSync??"auto",Z=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:re}}));let N=j;return ge=(async()=>{await Uo(),!(!g||!k||N!==j)&&(Nt.start(),await pe.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(Y=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:Y}})),Y}).finally(()=>{ge=null;}),ge}function Bo(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),k=false,j+=1,ko(),pe.disconnect(t),Nt.stop();}function Go(t,l={}){if($!==void 0)return $;let N,Y;return $=new Promise((ne,te)=>{N=ne,Y=te;}),Al(t,l).then(N,Y),$}async function Al(t,l){let N=Date.now();u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),g=false,Pr.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let Y=Q?.dispose();Ld(),pl(),dt.dispose(),ko(),br.dispose(),Mr.dispose(),st.dispose(),Lo.dispose(),Er.dispose(),fr.dispose(),go.dispose(),pn.dispose(),pe.disposeMediaTasks();for(let oe of z$1)oe.close();z$1.clear(),rn+=1,pe.markOutboxForLogout(t?.pendingMessages??"fail"),xo.dispose(),No.dispose(),On.dispose(),kn.dispose(),P.dispose(),_.dispose(),O$1.dispose();let ne=s$1.dispose();pr.dispose(),mr.dispose(),ol(),il(),cl(),Oo.dispose(),Ar.reset(),ve?.clearAll(),Wn.clear(),Ir.clear(),yr.clear(),Bo("im-logout"),(l.requireStorageClose||R?.owned===true)&&await ue?.catch(()=>{}),await V.invalidateAndDrainDraftOperations(),await ne,await Y,V.clearSession();let te=t?.localData==="purge"?a$1:"",J,ee,X=true;if(v!==void 0)try{await v.close();}catch(oe){X=false,te!==""&&(J=oe),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:te===""?"\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:oe}});}if(te!==""&&X)try{f$1!==void 0?await f$1.purgeCurrentAccount({namespaceFactory:r,accountId:te}):await $a$1(te,{namespaceFactory:r}),ee=te;}catch(oe){J=oe,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:oe}});}if(A$1="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-N,data:{purgedAccountId:ee,purgeFailed:J!==void 0}})),B(),M(),gl(),F=true,(l.requireStorageClose||R!==void 0)&&!X)throw new Error("Previous chat page could not close its account storage");return R?.stop(),{...ee===void 0?{}:{purgedAccountId:ee},...J===void 0?{}:{purgeError:J}}}function El(){return {sessionState:A$1,connectionState:pe.state,...a$1!==""?{userId:a$1}:{},prepared:A$1==="ready",connectionDesired:k,authenticated:pe.state==="authenticated"}}function Rl(t){return n$2.subscribe(t)}function wl(){return {connectionState:pe.state,pendingOutbox:pe.getPendingOutbox()}}function Tl(){return V.getConversationList()}Ke=async({conversation:t,newestLoaded:l,cursor:N,limit:Y,signal:ne})=>{ne?.throwIfAborted();let{conversationId:te}=t,J=V.getConversationContext(t);if(J===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${te}\uFF09`);if(J.type==="direct"||J.type==="robot")return {messages:[],exhausted:true};if(J.type==="group"){if(J.groupState!==void 0&&J.groupState!=="active")return {messages:[],exhausted:true};let ee=await d$1.getLoginContext();if(ee===null)return {messages:[],exhausted:true};let X=N===void 0?l?.serverTime??l?.createdAt:vd(N,te);if(X===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${te}, messageId=${l?.id??""}\uFF09`);let oe=await Ha$1({signal:ne,http:h$1,userId:ee.userId,clientType:i$1,groupId:te,baseTime:X,direct:2,limit:Y,decryptDeps:qn("history"),prepareKeys:Vn,onReaction:Ge});ne?.throwIfAborted(),oe.messages.length>0&&V.upsertMessages(oe.messages,"offline",{backfillOnly:true});let le=oe.newestEntryTime,se=oe.batchSize<Y||le===void 0||le<=X;return {messages:oe.messages,exhausted:se,...se?{}:{nextCursor:String(le)}}}if(J.type==="channel"){if(J.channelState!==void 0&&Be(J.channelState))return {messages:[],exhausted:true};let ee=N??l?.extensions?.historyCursor;if(typeof ee!="string"||ee.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${te}, messageId=${l?.id??""}\uFF09`);let X=rn,oe=Je(te),le=await d$1.getLoginContext();if(le===null)return {messages:[],exhausted:true};let se=N===void 0?(await On.loadMessageContext(te,ee,le.userId,ne)).context:await On.loadNewerPage(te,ee,le.userId,ne);ne?.throwIfAborted();let he=V.getConversationContext(t);return !g||X!==rn||oe!==Je(te)||he?.type!=="channel"||he.channelState!==void 0&&Be(he.channelState)?{messages:[],exhausted:true}:(se.messages.length>0&&V.upsertMessages(se.messages,"offline",{backfillOnly:true}),{messages:se.messages,exhausted:!se.hasNewer,...!se.hasNewer||se.nextCursor===void 0?{}:{nextCursor:se.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${J.type}`)};function _l(t){let l=t.conversationId,N=a$1,Y=rn,ne=Je(l),te,J;return async({readCursor:ee,cursor:X,signal:oe,isCurrent:le})=>{let se=()=>{let be=V.getConversationContext(t);return g&&a$1===N&&le()&&Y===rn&&ne===Je(l)&&be?.type==="channel"&&(be.channelState===void 0||!Be(be.channelState))};if(oe.throwIfAborted(),!se()||X!==void 0&&(te!==ee||J===void 0))return;let he=await d$1.getLoginContext();if(oe.throwIfAborted(),he===null||he.userId!==N||!se())return;let Me=[],Te=[],me=await S({http:h$1,userId:he.userId,clientType:i$1,channelId:l,index:X??ee,containAnchor:X===void 0,signal:oe,decryptDeps:{...Mn("history"),onDecryptRecovery:be=>Te.push({...be,source:"history"})},prepareKey:be=>bn([be],{recoverExistingMessages:false}),onContentDecodeError:G,onReaction:be=>Me.push(be)});if(oe.throwIfAborted(),!se())return;if(X===void 0){let be=me.messages.find(tn=>tn.extensions?.historyCursor===ee);if(be===void 0)return;te=ee,J=be.sortKey;}if(J===void 0||(me.messages.length>0&&V.upsertMessages(me.messages,"offline",{backfillOnly:true}),!se()))return;for(let be of Me){if(!se())return;Ge(be);}for(let be of Te){if(!se())return;D$2(be);}return se()?{messages:me.messages.map(be=>{let tn=V.getConversationMessage(t,be.id);if(tn===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return tn}),readCursorSortKey:J,exhausted:!me.hasNewer,...me.nextCursor===void 0?{}:{nextCursor:me.nextCursor}}:void 0}}async function Ho(){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 Rr(t.userId),N=await Da$1({http:h$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),Y=await Ea({http:h$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),ne=[...N,...Y];return V.upsertMessages(ne,"offline"),ne}async function Dl(){await Ko();}let kl=2;function an(t){let l=W({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Ol(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 jo(t){if(!g)throw an({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Nl(t){let l=t?.conversationType,N=t?.conversationId;if(l==="supergroup")throw an({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof N!="string"||N.trim()==="")throw an({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:N.trim()})}function Yn(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 Ll(t){let l=Nl(t);if(jo(l),V.getSession(l)!==void 0)return l;let N=false,Y=n$2.subscribe(te=>{te.type==="session:removed"&&te.conversation.conversationType===l.conversationType&&te.conversation.conversationId===l.conversationId&&(N=true);}),ne=()=>{if(jo(l),N)throw an({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let oe=P.peekItem("individual",l.conversationId);if(oe!==void 0)return V.prepareConversation(Yn(l,{title:oe.displayName||oe.cardDisplayName,...oe.avatarUrl===void 0?{}:{avatar:oe.avatarUrl}})),l;let le=await pn.getRelationship(l.conversationId);if(ne(),le!=="friend")throw an({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:le})});let se=await pn.getProfile(l.conversationId);if(ne(),se===null||se.id!==l.conversationId)throw an({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return V.prepareConversation(Yn(l,{title:se.remark??se.nickname,...se.avatar===void 0?{}:{avatar:se.avatar},...se.muted===void 0?{}:{muted:se.muted}})),l}if(l.conversationType==="group"){let oe=V.isMembershipTerminated(l),le=P.peekItem("group",l.conversationId);if(le!==void 0&&!oe)return V.prepareConversation(Yn(l,{title:le.displayName||le.cardDisplayName,...le.avatarUrl===void 0?{}:{avatar:le.avatarUrl},groupState:"active"})),l;if(on===void 0)throw an({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let se=await on.getGroupProfile(l.conversationId,oe?{forceRefresh:!0}:void 0);if(ne(),se===null||se.id!==l.conversationId)throw an({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(se.isInGroup===!1||oe&&se.isInGroup!==!0||se.status!==void 0&&se.status!==kl)throw an({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...se.status===void 0?{}:{status:se.status},...se.isInGroup===void 0?{}:{isInGroup:se.isInGroup}})});return V.prepareConversation(Yn(l,{title:se.name,...se.avatar===void 0?{}:{avatar:se.avatar},...se.muted===void 0?{}:{muted:se.muted},groupState:"active"}),{membershipConfirmed:oe}),oe&&(ne(),it({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let oe=_.peek(l.conversationId);return V.prepareConversation(Yn(l,{title:oe?.displayName??l.conversationId,...oe?.avatarUrl===void 0?{}:{avatar:oe.avatarUrl}})),l}if(cn===void 0)throw an({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let te=V.isMembershipTerminated(l),J=await cn.getProfile(l.conversationId,te?{forceRefresh:!0}:void 0);if(ne(),J===null||J.id!==l.conversationId)throw an({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let ee=J.channelState==="active"||J.channelState==="muted",X=J.channelState==="muted"&&J.accessSnapshot?.allMembersMuted===!0&&J.role!=="owner"&&J.role!=="admin";if(!ee||X)throw an({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:J.channelState,role:J.role,hiddenByAllMemberMute:X})});return V.prepareConversation(Yn(l,{title:J.name,...J.avatar===void 0?{}:{avatar:J.avatar},...J.muted===void 0?{}:{muted:J.muted},channelState:J.channelState,channelPermissions:J.permissions,...J.accessSnapshot===void 0?{}:{channelAccessSnapshot:J.accessSnapshot},...J.permissions.sendMessages?{}:{sendDisabledReason:`channel_${J.channelState}`}}),{membershipConfirmed:te}),te&&(ne(),it({conversationType:"channel",conversationId:l.conversationId})),l}catch(te){if(Ol(te))throw te;let J=xl(te);throw an({...J,conversation:l,cause:te})}finally{Y();}}let ut={...Mc({...m$1===void 0?{}:{coreClient:m$1},authProvider:d$1,http:h$1,resolveInput:Rd,domainState:V,operations:{list:Tl,pullOffline:Ho,sync:Dl,prefetchRecent:(t,l)=>Q.prefetchRecent(t,l)},beforeDeleteConversation:ot,terminateConversationSending:(t,l)=>pe.terminateConversationSending(t,l),resetConversationBackground:t=>O$1.api.resetBackground(t),reportStorageError:(t,l)=>n$2.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>pe.markRead(t,l,"channel")}),...O$1.api,ensureOpenableConversation:Ll,getContext:t=>V.getConversationContext(t)};function Fl(t){let l={...t,close(){t.close(),z$1.delete(l);}};return cr(l,t),z$1.add(l),l}function Lt(t){if(!g)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return Fl(t)}async function Kl(t,l={}){if(!g)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let N=Q?.enterForeground(t);try{let Y={domainState:V,invalidateHistory:ot,emitter:n$2,drafts:pr.api,sendText:ke.operations.sendText,sendContact:ke.operations.sendContact,sendImage:ke.operations.sendImage,sendVideo:ke.operations.sendVideo,sendVoice:ke.operations.sendVoice,sendFile:ke.operations.sendFile,sendGif:ke.operations.sendGif,sendMediaAlbum:ke.operations.sendMediaAlbum,sendExpression:ke.operations.sendExpression,sendGame:ke.operations.sendGame,sendMiniProgram:ke.operations.sendMiniProgram,sendTransfer:ke.operations.sendTransfer,sendGift:ke.operations.sendGift,replaceVideo:ke.operations.replaceInterruptedVideo,replaceFile:ke.operations.replaceInterruptedFile,forwardMessages:ke.operations.forwardMessages,recallMessage:ke.operations.recallMessage,editMessage:ke.operations.editMessage,setReaction:({conversation:ne,parentMessageId:te,emoji:J,action:ee})=>{if(ne.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let X={conversationType:ne.conversationType,conversationId:ne.conversationId};return ee==="toggle"?st.toggle({conversation:X,parentMessageId:te,emoji:J}):st.set({conversation:X,parentMessageId:te,emoji:J,action:ee==="add"?0:1})},markRead:ke.operations.markRead,markDirectMediaConsumed:ke.operations.markDirectMediaConsumed,prepareMediaPreview:Io,getSelfId:()=>a$1,isOutboxOwned:ne=>pe.getPendingOutbox().some(te=>te.id===ne),hasOutboxForConversation:ne=>pe.getPendingOutbox().some(te=>te.conversationType===ne.conversationType&&te.conversationId===ne.conversationId),resolveSearchHistoryAnchor:mr.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let ne={conversationType:"direct",conversationId:t.conversationId},te=await jc(ne,{...Y,getRelationship:pn.getRelationship,shouldCheckRelationship:()=>pe.state==="authenticated",appendContactRequiredTextFailure:ee=>V.appendDirectContactRequiredTextFailure({conversationId:ee.conversationId,senderId:a$1,text:ee.text,...ee.refMessageId===void 0?{}:{refMessageId:ee.refMessageId}}),setMuted:(ee,X)=>ut.setMuted(ee,X),fetchMessagesByIdBatch:Fd},l),J=Lt(te);return kt(ne),J}case "group":{let ne={conversationType:"group",conversationId:t.conversationId},te=await zc(ne,{...Y,getSendPermissionError:ee=>{let X=V.getConversationContext(ne),oe=X?.type==="group"?X.groupState:"unknown";if(!(oe===void 0||oe==="active"))return W({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:ee,retryable:!1,conversation:ne,details:Object.freeze({groupState:oe})})},setMuted:(ee,X)=>ut.setMuted(ee,X),fetchMessagesByIdBatch:ee=>Kd(ne.conversationId,ee)},l),J=Lt(te);return kt(ne),J}case "channel":{let ne={conversationType:"channel",conversationId:t.conversationId},te=await Wc(ne,{...Y,loadEntryUnreadPage:_l(ne),getSelfId:()=>a$1,deleteMessageForEveryone:pe.deleteChannelMessageForEveryone,reconcilePage:dl.reconcilePage,getSendPermissionError:ee=>{let X=V.getConversationContext(ne),oe=X?.type==="channel"&&X.channelState!==void 0?X.channelState:"unknown_restricted",le=Ca$1({channelState:oe,nowMs:Date.now(),...X?.type!=="channel"||X.channelAccessSnapshot===void 0?{}:{snapshot:X.channelAccessSnapshot},...X?.type!=="channel"||X.channelPermissions===void 0?{}:{permissions:X.channelPermissions}});if(!(le.channelState==="active"&&le.permissions.sendMessages))return W({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:ee,retryable:!1,conversation:ne,details:Object.freeze({channelState:le.channelState,...le.muteReason===void 0?{}:{muteReason:le.muteReason}})})},setMuted:(ee,X)=>ut.setMuted(ee,X),fetchMessagesByIdBatch:ee=>Ud(ne.conversationId,ee)},l),J=Lt(te);return kt(ne),J}case "robot":{let ne={conversationType:"robot",conversationId:t.conversationId},te=await Vc(ne,{...Y,setMuted:(J,ee)=>ut.setMuted(J,ee)},l);return Lt(te)}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{N?.();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await ke.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Kl,localData:Ae,directory:P.search,robots:_.api,search:mr.api,applications:go.api,expressions:ce.api,sessionFavorites:we.api,outbox:Lo.api,drafts:pr.api,connection:Ac({operations:{prepare:Uo,connect:Pl,disconnect:Bo,subscribe:Rl,getSnapshot:wl,getLifecycle:El},getState:()=>pe.state}),conversations:ut,settings:s$1.api,push:dt.api,contact:pn,group:ks({directory:P.groups,...on===void 0?{}:{profile:on},...m$1===void 0?{}:{coreClient:m$1},...vn===void 0?{}:{avatarTransfer:vn},domainState:{...at,prepareConversation:t=>V.prepareConversation(t)},emitter:n$2,pinned:xo.operations}),channel:vc({directory:P.channels,...cn===void 0?{}:{channelProfile:cn},..._n===void 0?{}:{channelMembers:_n},...Dn===void 0?{}:{channelMentionMembers:Dn},mentionCandidates:kn.api,applications:On.applications,pinned:No.operations,...m$1===void 0?{}:{coreClient:m$1},...vn===void 0?{}:{avatarTransfer:vn},crypto:Ye,domainState:{prepareConversation:t=>V.prepareConversation(t),setChannelRestriction:V.setChannelRestriction,removeConversationForMembershipTermination:at.removeConversationForMembershipTermination,updateConversationProfile:V.updateConversationProfile,refreshConversationProfile:V.refreshConversationProfile},emitter:n$2,...ve===void 0?{}:{cacheCreatedSecretKey:(t,l)=>ve.primeChannelKey(t,l)},getSelfUserId:async()=>a$1!==""?a$1:(await d$1.getLoginContext())?.userId??""}),media:Er.api,calls:Tc(br),groupCalls:sd(Mr),teardown:Go}}function pm(e){let n=mm(e);return Sd(Pd(n),e.coreApi!==void 0)}function bI(e){return Pd(fm(e))}function mm(e){return {...bd(e),...e.coreApi===void 0?{}:{coreClient:Md(e.authProvider,e.coreApi)}}}function bd(e){let{authProvider:n,cache:r,clientType:c,connection:i,debug:d,endpointProvider:a,expressions:u,media:g,onRequestError:m}=e;return {authProvider:n,onRequestError:m,cache:r,clientType:c,connection:i,debug:d,endpointProvider:a,expressions:u,media:g}}function fm(e){let{adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:a,coreApi:u,coreClient:g,directory:m,expressionProvider:h,sessionFavoriteProvider:S,http:f,network:v,profile:D,groupApplications:w,transport:O}=e;return {...bd(e),adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:a,directory:m,expressionProvider:h,sessionFavoriteProvider:S,...g!==void 0?{coreClient:g}:u===void 0?{}:{coreClient:Md(e.authProvider,u)},http:f,network:v,profile:D,groupApplications:w,transport:O}}function Md(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 Sd(e,n){let r=Qs({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),c={getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:s=>e.media.cancel(s),retry:s=>e.media.retry(s),download:s=>e.media.download(s),getCached:s=>e.media.getCached(s),prepareLocalPreview:s=>e.media.prepareLocalPreview(s),prepareLocalVideoPoster:s=>e.media.prepareLocalVideoPoster(s)},i=s=>Promise.reject(W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function d(s,o,p){if(!n)return i(s);try{return await o()}catch(b){throw eo(b,s,p)}}function a(s,o,p){if(!n)throw W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:p});try{return o()}catch(b){throw eo(b,s,p)}}let u,g=s=>d("contacts.getRelationship",()=>e.contacts.getRelationship(s)),m=(s,o)=>d("groups.getProfile",async()=>{let p=await e.groups.getProfile(s,o);return p===null?null:uc(s,p)},s),h=(s,o)=>d("channels.getProfile",async()=>{let p=await e.channels.getProfile(s,o);return p===null?null:pc(s,p)},s),S={listFirstPage:s=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>d("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,o)=>d("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(s,o);return p===null?null:lc(s,p)}),getRelationship:async s=>{let o=s.trim(),p={conversationType:"direct",conversationId:o},b=u?.beginProjectionUpdate(p),C=await g(s);return b!==void 0&&u?.updateRelationshipProjection(o,C,b),C},setRemark:(s,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(s,{...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:s=>d("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,o)),blockUser:s=>d("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(s,o),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},f={search:s=>d("directory.search",()=>e.directory.search(s))},v={listFirstPage:s=>d("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>d("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>d("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(s,o)=>{let p=u?.beginProjectionUpdate(s),b=await m(s,o);return p!==void 0&&u?.updateGroupProfileProjection(s,b,p),b},updateName:(s,o)=>d("groups.updateName",()=>e.groups.updateName(s,o),s),updateAvatar:(s,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(s,o),s),setMyNickname:(s,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(s,o),s),updateVerification:(s,o,p)=>d("groups.updateVerification",()=>e.groups.updateVerification(s,o,p),s),requestJoin:(s,o)=>d("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,o),s),inviteMembers:(s,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("groups.removeMember",()=>e.group.removeMember(s.conversationId,o),s),transferOwnership:(s,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("groups.leave",()=>e.group.leave(s.conversationId,o),s),peekPinnedMessage:s=>a("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(s.conversationId);return o===null?null:ar(s,o)},s),getPinnedMessage:s=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(s);return o===null?null:ar(s,o)},s),pinMessage:(s,o)=>d("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(s,o);return ar(s,p)},s),unpinMessage:s=>d("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},D={listFirstPage:s=>d("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>d("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>d("channels.create",()=>e.channels.create(s)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>i("channels.mentions.getCachedPage"),prefetchFirstPage:()=>i("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>i("channels.mentions.refreshFirstPage"),listFirstPage:()=>i("channels.mentions.listFirstPage"),listNextPage:()=>i("channels.mentions.listNextPage"),searchFirstPage:()=>i("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>i("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>i("channels.mentions.searchNextPage")},getProfile:async(s,o)=>{let p=u?.beginProjectionUpdate(s),b=await h(s,o);return p!==void 0&&u?.updateChannelProfileProjection(s,b,p),b},updateName:(s,o)=>d("channels.updateName",()=>e.channel.updateName(s.conversationId,o),s),updateDescription:(s,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,o),s),updateAvatar:(s,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,o),s),updateVerification:(s,o,p)=>d("channels.updateVerification",()=>e.channels.updateVerification(s,o,p),s),requestJoin:(s,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,o),s),setAllMuted:(s,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,o),s),setMemberPrivateChatDisabled:(s,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,o),s),setMyNickname:(s,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,o),s),setMemberNickname:(s,o,p)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,o,p),s),inviteMembers:(s,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("channels.removeMember",()=>e.channel.removeMember(s.conversationId,o),s),addAdmin:(s,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,o),s),removeAdmin:(s,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,o),s),transferOwnership:(s,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("channels.leave",()=>e.channel.leave(s.conversationId,o),s),dismiss:s=>d("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>a("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(s.conversationId);return o===null?null:sr(s,o)},s),getPinnedMessage:s=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(s);return o===null?null:sr(s,o)},s),pinMessage:(s,o)=>d("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(s,o);return sr(s,p)},s),unpinMessage:s=>d("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},w=Xs({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let o=e.conversations.getContext(s);return o===void 0?void 0:tr({...o,draft:null})},subscribeConversations:s=>r.api.subscribe(o=>s(o.items)),subscribeContext:s=>e.connection.subscribe(o=>{o.type==="conversation-context:updated"&&o.conversation.conversationType!=="supergroup"&&s({conversationType:o.conversation.conversationType,conversationId:o.conversation.conversationId});}),getRelationship:g,getGroupProfile:m,getChannelProfile:h});u=w;let O=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{w.reset();try{await e.session.logout(s);}finally{w.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function y(s,o={}){let p=e.conversations,b=e.openConversation,C=await p.ensureOpenableConversation(s);return C.conversationType==="direct"?b({conversationType:"direct",conversationId:C.conversationId},o):C.conversationType==="group"?b({conversationType:"group",conversationId:C.conversationId},o):C.conversationType==="robot"?b({conversationType:"robot",conversationId:C.conversationId},o):b({conversationType:"channel",conversationId:C.conversationId},o)}let T={get session(){return O},get capabilities(){return w.api},get conversations(){return r.api},get directory(){return f},get robots(){return e.robots},get contacts(){return S},get groups(){return v},get channels(){return D},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()=>{w.dispose(),r.dispose(),await e.dispose();}};return no(T,()=>gc(e)),T}function MI(e,n){return Sd(e,n.coreApiAvailable)}function Pd(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(),i=0,d=()=>Cd(e,c,r,i++),a=d(),u=false,g;async function m(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await a.teardown(s),a=d();}async function h(){if(u)throw Bn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=await a.localData.getInfo(),o;try{o=await a.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(p){throw a=d(),Bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:s.accountScope,cause:p})}if(a=d(),o.purgedAccountId!==s.accountScope)throw Bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:s.accountScope,cause:o.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:s.accountScope,category:"all"});}let S=sc({getRuntime:()=>a.localData,purgeCurrentAccount:h}),f={start:s=>a.connection.connect(s),stop:async s=>{a.connection.disconnect(s);},logout:m,getSnapshot:()=>a.connection.getLifecycle(),subscribe:s=>(s(a.connection.getLifecycle()),a.connection.subscribe(o=>{o.type==="connection:changed"&&s(a.connection.getLifecycle());}))},v=ic({subscribeCore:s=>a.connection.subscribe(s),getLifecycleSnapshot:()=>a.connection.getLifecycle(),getConversation:s=>{let o=a.conversations.list().find(p=>p.type===s.conversationType&&p.id===s.conversationId);return o===void 0?void 0:tr(o)},resolveContactApplicationAnswer:async s=>{let o=a,p=await o.contact.resolveApplicationAnswer(s.peerId,s.messageId);return a===o?p:null}}),D={listFirstPage:s=>a.contact.listFirstPage(s),listNextPage:s=>a.contact.listNextPage(s),getProfile:(s,o)=>a.contact.getProfile(s,o),getRelationship:s=>a.contact.getRelationship(s),setRemark:(s,o)=>a.contact.setRemark(s,o),searchUser:s=>a.contact.searchUser(s),requestFriendship:(s,o)=>a.contact.requestFriendship(s,o),blockUser:s=>a.contact.blockUser(s),reportUser:(s,o)=>a.contact.reportUser(s,o),deleteFriendship:s=>a.contact.deleteFriendship(s)},w={listFirstPage:s=>a.group.listFirstPage(s),listNextPage:s=>a.group.listNextPage(s),uploadAvatar:s=>a.group.uploadAvatar(s),create:s=>a.group.create(s),createFaceToFace:()=>a.group.createFaceToFace(),get mentions(){return a.group.mentions},getProfile:(s,o)=>a.group.getProfile(s.conversationId,o),updateName:(s,o)=>a.group.updateName(s.conversationId,o),updateAvatar:async(s,o)=>{await a.group.updateAvatar(s.conversationId,o);},setMyNickname:(s,o)=>a.group.setMyNickname(s.conversationId,o),updateVerification:(s,o,p)=>a.group.updateVerification(s.conversationId,o,p),requestJoin:(s,o)=>a.group.requestJoin(s.conversationId,o),joinByInviteCode:(s,o)=>a.group.joinByInviteCode(s.conversationId,o),getPinnedMessage:s=>a.group.getPinnedMessage(s.conversationId),pinMessage:(s,o)=>a.group.pinMessage({groupId:s.conversationId,messageId:o}),unpinMessage:s=>a.group.unpinMessage(s.conversationId)},O={listFirstPage:s=>a.channel.listFirstPage(s),listNextPage:s=>a.channel.listNextPage(s),uploadAvatar:s=>a.channel.uploadAvatar(s),create:s=>a.channel.create(s),get mentions(){return a.channel.mentions},getProfile:(s,o)=>a.channel.getProfile(s.conversationId,o),updateVerification:(s,o,p)=>a.channel.updateVerification(s.conversationId,o,p),requestJoin:(s,o)=>a.channel.requestJoin(s.conversationId,o),joinByInviteCode:(s,o)=>a.channel.joinByInviteCode(s.conversationId,o),setAllMuted:(s,o)=>a.channel.setAllMuted(s.conversationId,o),setMemberPrivateChatDisabled:(s,o)=>a.channel.setMemberPrivateChatDisabled(s.conversationId,o),setMyNickname:(s,o)=>a.channel.setMyNickname(s.conversationId,o),setMemberNickname:(s,o,p)=>a.channel.setMemberNickname(s.conversationId,o,p),dismiss:s=>a.channel.dismiss(s.conversationId),getPinnedMessage:s=>a.channel.getPinnedMessage(s.conversationId),pinMessage:(s,o)=>a.channel.pinMessage({channelId:s.conversationId,messageId:o}),unpinMessage:s=>a.channel.unpinMessage(s.conversationId)};function y(){return g!==void 0||(u=true,g=a.teardown({localData:"preserve"}).then(()=>c.clear())),g}let T={get session(){return f},get connection(){return a.connection},get conversations(){return a.conversations},get directory(){return a.directory},get robots(){return a.robots},get contacts(){return D},get groups(){return w},get channels(){return O},get events(){return v},get contact(){return a.contact},get group(){return a.group},get channel(){return a.channel},get media(){return a.media},get calls(){return a.calls},get groupCalls(){return a.groupCalls},get settings(){return a.settings},get push(){return a.push},get outbox(){return a.outbox},get localData(){return S},get search(){return a.search},get applications(){return a.applications},get expressions(){return a.expressions},get sessionFavorites(){return a.sessionFavorites},get drafts(){return a.drafts},get openConversation(){return a.openConversation},logout:m,dispose:y};return no(T,()=>a.advancedMessageDiagnostics),T}var gm=new TextEncoder;function Ad(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 Ed(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))Ed(r,n);return Object.freeze(e)}function Im(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:Ed(n),estimatedBytes:gm.encode(r).byteLength}}catch{return}}function ym(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 hm(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&&ym(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 vm(e={}){let n=Ad(e.maxRecords,200,"maxRecords"),r=Ad(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,i=[],d=0,a=0,u=false;function g(S){let f=i.map(v=>v.record).filter(v=>S===void 0||hm(v,S));return Object.freeze({records:Object.freeze(f),droppedCount:a,estimatedBytes:d,disposed:u})}function m(){let S=g();for(let f of c)try{f(S);}catch{}}function h(){i.length=0,d=0,a=0;}return {write(S){if(u)return;let f=Im(S);if(f===void 0||f.estimatedBytes>r){a+=1,m();return}for(i.push(f),d+=f.estimatedBytes;i.length>n||d>r;){let v=i.shift();if(v===void 0)break;d-=v.estimatedBytes,a+=1;}m();},getSnapshot:g,subscribe(S){if(u)return ()=>{};c.add(S);let f=true;return ()=>{f&&(f=false,c.delete(S));}},clear(){u||(h(),m());},dispose(){u||(u=true,h(),c.clear());}}}function Cm(e){let n=Ya({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 i(a){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(a.file instanceof Blob))return Promise.reject(new Va("upload-source-invalid","Resource upload requires a File or Blob"));if(a.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let g=new AbortController,m=()=>g.abort();a.signal?.addEventListener("abort",m,{once:true});let h=true,S=()=>{if(g.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=a.filename??(typeof File<"u"&&a.file instanceof File?a.file.name:void 0),v=(async()=>{try{let D=await u.uploadResource({data:a.file,kind:a.kind,...f===void 0?{}:{filename:f},...a.file.type===""?{}:{mimeType:a.file.type},signal:g.signal,onProgress:w=>{h&&!g.signal.aborted&&a.onProgress?.(w);}});if(S(),D.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:D.url}}catch(D){throw D instanceof Va&&D.code==="multipart-abort-failed"||S(),D}finally{h=false,a.signal?.removeEventListener("abort",m);}})();return r.set(g,v),v.then(()=>r.delete(g),()=>r.delete(g)),v}function d(){if(c!==void 0)return c;n=void 0;let a=[...r.values()];for(let u of r.keys())u.abort();return c=Promise.allSettled(a).then(()=>{}),c}return {upload:i,dispose:d}}export{Ul as a,Zs as b,Ce as c,Yt as d,Jl as e,Qt as f,Ns as g,Ls as h,jr as i,zr as j,Us as k,Zt as l,qr as m,nr as n,pm as o,bI as p,MI as q,vm as r,Cm as s};