k2-im 0.1.28 → 0.1.30

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,Va,Sa,_a,Za,C,p,t,u,w,A,Pa,s,l,m,i,Ra,Qa,e,h,f,a,da,Fa as Fa$1,xa,ya,R,ka,Wa as Wa$1,Xa as Xa$1,b as b$1,v,Y,Z,S,X,U,W,T,ba,Ka as Ka$1,qa,ca,La as La$1,ra,Da,Ea,za,Aa,Ha,_,c,Ja as Ja$1,$ as $$1,aa,Ma as Ma$1,Ia,V,Ga,Ba as Ba$1,Ca,n as n$1,o,ea as ea$1,ua as ua$1,Q,ta,sa,g,va as va$1,wa as wa$1,Na as Na$1,d as d$1,Oa as Oa$1,x as x$1,la as la$1,j as j$1,q,y as y$1,z as z$1,k as k$1,r as r$1,ia,ha,ga,fa as fa$1,na as na$1,ma as ma$1,ja,P,L,K,J,I,H,G,O,N,pa,oa as oa$1,M as M$1,F,E,D,Ya as Ya$1}from'./chunk-GHZUH7RB.js';import {b,lb,va,nb,mb,Ja,Fa,jb,hb,ib,gb,Ua,Va as Va$1,Wa,Xa,la,ma,na,oa,Ma,Na,db,_a as _a$1,Za as Za$1,Ya,eb,bb,fb,ab,$a,n,x,cb,Ka,Ba,Pa as Pa$1,Oa,Ta,Sa as Sa$1,ob,kb,tb,ua,j,La,v as v$1,w as w$1,y,z,Ra as Ra$1,Aa as Aa$1,za as za$1,ea,ca as ca$1,k,d,c as c$1,B as B$1,M,wa,h as h$1,u as u$1,Ga as Ga$1,t as t$1,r,A as A$1,Qa as Qa$1,C as C$1,m as m$1,ka as ka$1,fa}from'./chunk-4KPJTXQN.js';async function El(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 Mn(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 bn(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 qt(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function Rl(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 gt(e){let{teaKey:n,fileEncryptType:r,...c}=e;return c}function wl(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(gt(e.image))},...e.video===void 0?{}:{video:Object.freeze(gt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(gt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(gt(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.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(gt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Wt(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:wl(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:Rl(e.reactions)}})}function Yn(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:ca$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function $(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function It(e,n,r){return $({...{"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 Sn(e,n,r){return $({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Xn(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 Tl="IM_SDK_GROUP_NOT_MEMBER",_l="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Dl="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",kl="IM_SDK_GROUP_MANAGEMENT_FAILED";function bs(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Ol(e,n,r){if(bs(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,i=e instanceof la$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c$1===39011?Tl:c$1===39029?_l:c$1===39033?Dl:e instanceof d$1?kl:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof la$1?"contract":e instanceof c?"network":c$1===39029?"permission":"state",s=$({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"),s)}async function xn(e,n,r){try{return await r()}catch(c){throw Ol(c,e,n)??c}}var Ms=39005,xl=39057,Nl=39061;function Ss(e){let n=new Map,r=new Map,c=true,i=m=>({conversationType:"group",conversationId:m});function d(m){r.set(m,(r.get(m)??0)+1);}function s(m){if(!c||n.has(m))return;let h=r.get(m)??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:m}}});return}try{let _=await ba({client:e.coreClient,groupId:m});if(!c||(r.get(m)??0)!==h)return;if(!_.ok){e.emitter.emit({type:"error",error:{scope:"http",code:_.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${_.message}`,cause:{conversationId:m}}});return}if(_.data===null){e.domainState.clearPinnedMessage(i(m),"reconcile");return}e.domainState.setPinnedMessage(v$1(_.data.messageContent,{conversationId:m}),"reconcile");}catch(_){if(!c||(r.get(m)??0)!==h)return;let B=_ instanceof h$1||_ instanceof u$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:B,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:_}});}})();n.set(m,D),D.finally(()=>{n.get(m)===D&&n.delete(m);});}let u=La({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),g=e.emitter.subscribe(m=>{if(m.type!=="message:received"&&m.type!=="message:updated"||m.message.conversationType!=="group")return;let h=m.message.body.system?.pinnedMessageAction;(h?.type==="pin"||h?.type==="unpin")&&d(m.message.conversationId),u.handleMessage(m.message);});function f(m,h){if(h.trim()==="")throw new Ce({operation:m,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getSession(i(h));if(D===void 0)throw new Ce({operation:m,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="group")throw new Ce({operation:m,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function C(m,h){if(e.coreClient===void 0)throw new Ce({operation:m,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return f(m,h),e.coreClient}return {operations:{pinMessage:async({groupId:m,messageId:h})=>{let D=C("pin",m),_=e.domainState.getConversationMessage(i(m),h);if(_===void 0)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(_.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(_.conversationId!==m)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:B,pinnedMessage:v}=w$1(_),R=await qa({client:D,groupId:m,messageContent:B});if(!R.ok)throw Mn("pin",R.code,R.message);d(m),e.domainState.setPinnedMessage(v,"http:pin");let a=e.domainState.getPinnedMessage(i(m));if(a===void 0)throw new Ce({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(B){throw bn("pin",B)}},unpinMessage:async m=>{let h=C("unpin",m);try{let D=await Ka$1({client:h,groupId:m});if(!D.ok)throw Mn("unpin",D.code,D.message);d(m),e.domainState.clearPinnedMessage(i(m),"http:unpin");}catch(D){throw bn("unpin",D)}},getPinnedMessage:async m=>{let h=C("get",m);try{let D=await ba({client:h,groupId:m});if(!D.ok)throw Mn("get",D.code,D.message);if(d(m),D.data===null)return e.domainState.clearPinnedMessage(i(m),"reconcile"),null;let _=v$1(D.data.messageContent,{conversationId:m});e.domainState.setPinnedMessage(_,"reconcile");let B=e.domainState.getPinnedMessage(i(m));if(B===void 0)throw new Ce({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return B}catch(D){throw bn("get",D)}},peekPinnedMessage:m=>(f("get",m),e.domainState.getPinnedMessage(i(m))??null)},dispose:()=>{c&&(c=false,g());}}}function Ps(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 s(o){let p=[],b=new Set;for(let M of o){if(M.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");b.has(M.userId)||(b.add(M.userId),p.push(Object.freeze({userId:M.userId,displayName:M.nickName.trim()===""?M.userId:M.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 M=o.conversationId,U=r.get(M);if(!p&&U!==void 0)return U;let K=i.get(M);if(K!==void 0&&(!p||K.refresh))return K.promise;let ne=(c$1.get(M)??0)+1;c$1.set(M,ne);let y=Promise.resolve().then(()=>b(M,p?{forceRefresh:true}:void 0)).then(k=>{if(k===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let E=s(k);return c$1.get(M)===ne&&r.set(M,E),E}).finally(()=>{i.get(M)?.promise===y&&i.delete(M);});return i.set(M,{refresh:p,promise:y}),y}function g(o,p,b,M){let K=$({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},...M===void 0?{}:{cause:M}});return Object.assign(new Error(p),K)}function f(o,p,b,M){let U=$({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},...M===void 0?{}:{cause:M}});return Object.assign(new Error(p),U)}function C(o){if(o===null||typeof o!="object"||o===void 0)throw f("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 f("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 f("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let M=String(p),U=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:M}),activation:b===1?"pending":"active",...U===void 0||U===""?{}:{avatarUrl:U},qrPayload:qt(M,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 m(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 h(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),M=o,U=M.name?.trim()??"";if(U==="")throw g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let K=S(M.total_users),ne=S(M.status),y=S(M.verify_way),k=S(M.update_version),E=m(M.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:b}),name:U,...M.head_img_url?.trim()===""||M.head_img_url===void 0?{}:{avatar:M.head_img_url},...M.user_id===void 0?{}:{ownerId:String(M.user_id)},...K===void 0?{}:{memberCount:K},...ne===void 0?{}:{status:ne},...E===void 0?{}:{isInGroup:E},...y===void 0?{}:{verifyWay:y},...k===void 0?{}:{updateVersion:k},...M.invite_code===void 0?{}:{inviteCode:M.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 M=b.map(K=>typeof K=="string"?K.trim():"");if(M.includes(""))throw g("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let U=[...new Set(M)];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 _(o,p){let b=o.trim();if(b==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return b}function B(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function v(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=o.map(b=>_(b,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function R(o,p,b){if(o!==1&&o!==2&&o!==4){let U=$({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 M=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(M)){let U=$({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:M}}function a(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 Ma$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 Xn(e.avatarTransfer,p);return await Ma$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 Xn(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.ensureConversation===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 aa({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!b.ok){let U=b.code===Ms?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":b.code===xl?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":b.code===Nl?"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 M=h(b.data);return e.domainState.ensureConversation({id:M.ref.conversationId,type:"group",title:M.name,...M.avatar===void 0?{}:{avatar:M.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:M})}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 f("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 $$1({client:e.coreClient});if(!o.ok){let p=o.code===Ms?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw f(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:C(o.data)})}catch(o){throw bs(o)?o:o instanceof c?f("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):f("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 Ja$1({client:e.coreClient,groupId:o,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,p,b)=>{let M=B(),U=_(o,"\u7FA4 id"),K=R(p,b,U);await xn("groups.updateVerification",U,()=>ja({client:M,groupId:U,verifyWay:K.verifyWay,...K.inviteCode===void 0?{}:{inviteCode:K.inviteCode}})),a(U);},requestJoin:async(o,p)=>{let b=B(),M=_(o,"\u7FA4 id"),U=p?.remarks?.trim();return xn("groups.requestJoin",M,()=>ma$1({client:b,groupId:M,...U===void 0?{}:{remarks:U}}))},joinByInviteCode:async(o,p)=>{let b=B(),M=_(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 xn("groups.joinByInviteCode",M,()=>na$1({client:b,groupId:M,inviteCode:U}))},inviteMembers:async(o,p)=>{let b=B(),M=_(o,"\u7FA4 id"),U=v(p);if(U.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await xn("groups.inviteMembers",M,()=>fa$1({client:b,groupId:M,userIds:U})),a(M);},removeMember:async(o,p)=>{let b=B(),M=_(o,"\u7FA4 id"),U=_(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await xn("groups.removeMember",M,()=>ga({client:b,groupId:M,userId:U})),a(M);},transferOwnership:async(o,p)=>{let b=B(),M=_(o,"\u7FA4 id"),U=_(p,"\u65B0\u7FA4\u4E3B id");await xn("groups.transferOwnership",M,()=>ha({client:b,groupId:M,userId:U})),a(M);},leave:async(o,p)=>{let b=B();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 M=_(o,"\u7FA4 id"),U=p?.newOwnerId===void 0?void 0:_(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await xn("groups.leave",M,()=>ia({client:b,groupId:M,...U===void 0?{}:{newOwnerId:U}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:M},"group_left"),a(M);},...e.pinned}}var Ll="image/jpeg,image/png,image/webp";async function $t(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 Es(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 Rs=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function ws(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Gr(e,n){let r=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,i=ws();return lb({enabled:r,level:c?.level??"trace",categories:c?.categories??Rs,...r?{sink:c?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var Ts=[{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 Hr=Object.freeze(Ts.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),_s=new Map(Hr.flatMap(e=>e.tokens.map(n=>[n,e])));function Ds(e){return _s.get(e)}function ks(e){return _s.has(e)}function Nn(e){let n=$(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Os(e,n){return n instanceof Na$1?Nn({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Oa$1?Nn({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?Nn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Nn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function yt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function jr(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,s=e[c+2]??0,u=i<<16|d<<8|s;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=c+1<e.length?n.charAt(u>>>6&63):"=",r+=c+2<e.length?n.charAt(u&63):"=";}return r}function Jt(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 zr(e){let n=Jt(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=yt(e.body.image?.url),c=jr(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=yt(e.body.video?.url),c=jr(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=yt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=yt(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:yt(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:jr(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 Kl(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function xs(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Ks(e){function n(i){if(!e.isActive())throw Nn({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 Os(i,new Na$1);let s;try{s=await d(e.provider);}catch(u){throw n(i),Os(i,u)}return n(i),s}return {api:{list:async()=>{let i=await r("sessionFavorites.list",d=>d.list());return Object.freeze(i.map(xs))},addFromMessage:async i=>{let d="sessionFavorites.addFromMessage",s=Jt(i.message),u=zr(i.message),g=i.selfId.trim(),f=i.message.id.trim();if(s===null||u===null||g===""||f==="")throw Nn({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let C={messageId:f,conversation:i.conversation,senderId:i.message.senderId.trim(),createdAt:i.message.createdAt,kind:s,plainBody:u,peerId:Kl(i.message,g,i.conversation.conversationId)},S=await r(d,m=>m.add(C));return xs(S)},delete:async i=>{let d="sessionFavorites.delete",s=[...new Set(i.map(u=>u.trim()).filter(u=>u!==""))];if(s.length===0)throw Nn({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await r(d,u=>u.delete(s));}}}}var Us="settings:read-receipts:v1",Bs="settings:appearance:v1",Xt=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function mn(e){return $({...e,retryable:e.retryable??false})}function Wr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function $r(){return {fontScale:1}}function Vr(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Ul(e){if(typeof e!="object"||e===null)return Wr();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 Bl(e){if(typeof e!="object"||e===null)return $r();let n=e.fontScale;return {fontScale:Gs(n)?n:1}}function Gs(e){return typeof e=="number"&&Xt.includes(e)}function qr(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw mn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Yt(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw mn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Hs(e){let n=false,r=false,c=false,i,d,s=Wr(),u=Promise.resolve(),g=false,f,C=$r(),S=Promise.resolve();function m(p){return mn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function h(p){if(n)throw m(p)}async function D(p,b){if(h(b),r)return;let M;try{M=Yt(e.storage,b);}catch(U){if(!p)return;throw U}try{let U=await M.getMeta(Us);h(b),s=Ul(U),r=!0,c=!1;}catch(U){throw n?m(b):(c=true,mn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:b,cause:U}))}}function _(p){return h(p),r?Promise.resolve():(i===void 0&&(i=D(true,p).finally(()=>{i=void 0;})),i)}async function B(p){if(h(p),!g)try{let b=await Yt(e.storage,p).getMeta(Bs);h(p),C=Bl(b),g=!0;}catch(b){throw n?m(p):typeof b=="object"&&b!==null&&"code"in b?b:mn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:b})}}function v(p){return h(p),g?Promise.resolve():(f===void 0&&(f=B(p).finally(()=>{f=void 0;})),f)}async function R(p,b,M){h(p);let U=u.then(async()=>{h(p),await _(p),h(p);let K=Vr(s),ne=b(Vr(s));try{await Yt(e.storage,p).setMeta(Us,Vr(ne));}catch(y){throw n?m(p):typeof y=="object"&&y!==null&&"code"in y?y:mn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:y})}h(p),s=ne,M?.(K,ne);});return u=U.catch(()=>{}),U}let a={async getGlobal(){let p="settings.readReceipts.getGlobal";return h(p),await _(p),h(p),s.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(mn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):R("settings.readReceipts.setGlobal",b=>({...b,globalEnabled:p}),(b,M)=>{b.globalEnabled&&!M.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let b="settings.readReceipts.getConversation";h(b);let M=qr(p,b);await _(b),h(b);let U=s.peerOverrides[M.conversationId]??true;return Object.freeze({enabled:U,effectiveEnabled:s.globalEnabled&&U})},setConversation(p,b){let M="settings.readReceipts.setConversation",U;try{U=qr(p,M);}catch(K){return Promise.reject(K)}return typeof b!="boolean"?Promise.reject(mn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:M,conversation:U})):R(M,K=>(K.peerOverrides[U.conversationId]=b,K),(K,ne)=>{let y=U.conversationId,k=K.globalEnabled&&(K.peerOverrides[y]??true),E=ne.globalEnabled&&(ne.peerOverrides[y]??true);k&&!E&&e.onDirectReadReceiptDisabled?.(y);})},resetConversation(p){let b="settings.readReceipts.resetConversation",M;try{M=qr(p,b);}catch(U){return Promise.reject(U)}return R(b,U=>(delete U.peerOverrides[M.conversationId],U))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await v(p),h(p),C.fontScale},set(p){let b="settings.appearance.fontScale.set";if(!Gs(p))return Promise.reject(mn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:b,details:{supportedValues:[...Xt]}}));let M=S.then(async()=>{h(b),await v(b),h(b);let U={fontScale:p};try{await Yt(e.storage,b).setMeta(Bs,U);}catch(K){throw n?m(b):typeof K=="object"&&K!==null&&"code"in K?K:mn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:b,cause:K})}h(b),C=U;});return S=M.catch(()=>{}),M}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){h("settings.readReceipts.hydrate"),!r&&(i===void 0&&(i=D(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(p){return !n&&!c&&s.globalEnabled&&(s.peerOverrides[p]??true)},dispose(){if(d!==void 0)return d;n=true,s=Wr(),C=$r();let p=i,b=u,M=f,U=S;return d=Promise.allSettled([...p===void 0?[]:[p],b,...M===void 0?[]:[M],U]).then(()=>{}),d}}}var Qe=Object.freeze({availability:"available",reason:"ok"});function Ze(e){return Object.freeze({availability:"unavailable",reason:e})}function xe(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Qt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ht(e){return `${e.conversationType}:${e.conversationId}`}function Gl(){return Object.freeze({sendMessages:false})}function Hl(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function jl(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 zl(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 Vl(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let c=Number(r[1]),i=Number(r[2]),d=Number(r[3]),s=Number(r[4]);if(c>23||d>23||i>59||s>59)return;let u=new Date(n);u.setHours(c,i,0,0);let g=new Date(n);if(g.setHours(d,s,59,999),u.getTime()<=n&&n<=g.getTime())return g.getTime()+1;if(n<u.getTime())return u.getTime();let f=u;return f.setDate(f.getDate()+1),f.getTime()}function Qn(e,n,r){let c=n.get(ht(e));if(c!==void 0)for(let i of [...c])i(r);}function js(e){let n=new Map,r=new Map,c=new Map,i=new Map,d=new Map,s=new Map,u,g=new Set,f=e.getSessionUserId(),C=0;function S(K){K.conversationType==="direct"?n.delete(K.conversationId):K.conversationType==="group"?r.delete(K.conversationId):c.delete(K.conversationId);}function m(){n.clear(),r.clear(),c.clear(),s.clear(),g=new Set;}function h(){let K=e.getSessionUserId();return K!==f&&(f=K,m()),K}function D(K){h();let ne=++C;return s.set(ht(K),ne),ne}function _(K,ne){return h(),s.get(ht(K))===ne}function B(K,ne={}){h();let y=ne.nowMs??Date.now(),k=e.getConversation(K);if(K.conversationType==="direct"){let ie=Qt({conversationType:"direct",conversationId:K.conversationId}),le=n.get(K.conversationId),fe=le?.relationship??"unknown",me=Hl(fe),Z=me==="ok"?Qe:me==="relationship-unknown"?xe(me):Ze(me),Oe=fe==="friend"?Qe:fe==="unknown"?xe(me):Ze(me);return Object.freeze({ref:ie,conversationType:"direct",evaluatedAt:y,value:Object.freeze({relationship:fe,...le===void 0?{}:{relationshipCheckedAt:le.checkedAt},canSendMessages:Z,canOpenProfile:Qe,canUseMessageActions:Z,canManageRelationship:Oe})})}if(K.conversationType==="group"){let ie=Qt({conversationType:"group",conversationId:K.conversationId}),le=r.get(K.conversationId),fe=k?.ref.conversationType==="group"?k.groupState??"active":"unknown",me=jl(fe),Z=me==="ok",Oe=e.getSessionUserId(),ye=le?.ownerId,De=Oe!==void 0&&ye!==void 0&&Oe===ye,Ke=Z?Qe:Ze(me),Ue=Z?le===void 0?xe("not-ready"):De?Qe:Ze("role-insufficient"):Ze(me);return Object.freeze({ref:ie,conversationType:"group",evaluatedAt:y,value:Object.freeze({membership:fe,...ye===void 0?{}:{ownerId:ye},isOwner:De,canSendMessages:Ke,canOpenProfile:Ke,canReadHistory:Qe,canUseMessageActions:Ke,canViewMembers:Ke,canEditProfile:Ue,canInviteMembers:Ke,canManageMembers:Ue,canPinMessages:Ue,canUnpinMessages:Ue,canTransferOwnership:Ue,canLeave:Ke,canUpdateVerification:Ue})})}let E=Qt({conversationType:"channel",conversationId:K.conversationId}),G=c.get(K.conversationId),V=k?.ref.conversationType==="channel"&&k.channelState!==void 0?k.channelState:G?.state;if(V===void 0)return Object.freeze({ref:E,conversationType:"channel",evaluatedAt:y,value:Object.freeze({state:"unknown",role:G?.role??"unknown",permissions:Gl(),canSendMessages:xe("unknown-restricted"),canOpenProfile:xe("unknown-restricted"),canReadHistory:Qe,canUseMessageActions:xe("unknown-restricted"),canMutateMessages:xe("unknown-restricted"),canPinMessages:xe("unknown-restricted"),canUnpinMessages:xe("unknown-restricted"),canDeleteMessagesForEveryone:xe("unknown-restricted"),canMentionAll:xe("unknown-restricted"),canViewMembers:xe("unknown-restricted"),canEditProfile:xe("unknown-restricted"),canManageMembers:xe("unknown-restricted"),canManageMute:xe("unknown-restricted"),canDismiss:xe("unknown-restricted"),canTransferOwnership:xe("unknown-restricted"),canLeave:xe("unknown-restricted"),canInviteMembers:xe("unknown-restricted"),canSetMemberAdmin:xe("unknown-restricted"),canRemoveMembers:xe("unknown-restricted"),canSetMemberPrivateChat:xe("unknown-restricted")})});let F=Aa$1({channelState:V,nowMs:y,...k?.ref.conversationType==="channel"&&k.channelAccessSnapshot!==void 0?{snapshot:k.channelAccessSnapshot}:{},...k?.ref.conversationType==="channel"&&k.channelPermissions!==void 0?{permissions:k.channelPermissions}:G?.permissions===void 0?{}:{permissions:G.permissions}}),se=zl(F.channelState,F.muteReason),ee=F.channelState==="active"||F.channelState==="muted",O=F.channelState==="active"?F.permissions.sendMessages?Qe:Ze("unknown-restricted"):Ze(se),H=ie=>ee&&ie?Qe:Ze(ee?"role-insufficient":se),A=ie=>F.channelState==="active"&&ie?Qe:Ze(F.channelState==="muted"?se:ee?"role-insufficient":se),N=G?.memberPrivateChatDisabled===false||F.permissions.manageMembers===true,L=ee?G===void 0&&F.permissions.manageMembers!==true?xe("not-ready"):H(N):Ze(se),j=F.channelState==="muted"?Ze(se):ee?Qe:Ze(se),W=Vl(k,y);return Object.freeze({ref:E,conversationType:"channel",evaluatedAt:y,...W===void 0?{}:{nextEvaluationAt:W},value:Object.freeze({state:F.channelState,role:G?.role??k?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...F.permissions}),...F.muteReason===void 0?{}:{muteReason:F.muteReason},canSendMessages:O,canOpenProfile:ee?Qe:Ze(se),canReadHistory:Qe,canUseMessageActions:ee?Qe:Ze(se),canMutateMessages:j,canPinMessages:A(F.permissions.moderateMessages===true),canUnpinMessages:A(F.permissions.moderateMessages===true),canDeleteMessagesForEveryone:A(F.permissions.moderateMessages===true),canMentionAll:H(F.permissions.mentionAll===true),canViewMembers:L,canEditProfile:H(F.permissions.editProfile===true),canManageMembers:H(F.permissions.manageMembers===true),canManageMute:H(F.permissions.manageMute===true),canDismiss:H(F.permissions.dismissChannel===true),canTransferOwnership:H(F.permissions.transferOwnership===true),canLeave:ee?Qe:Ze(se),canInviteMembers:H(F.permissions.manageMembers===true),canSetMemberAdmin:H(F.permissions.manageAdmins===true),canRemoveMembers:H(F.permissions.manageMembers===true),canSetMemberPrivateChat:H(F.permissions.manageMute===true)})})}async function v(K,ne={}){let y=D(K);if(K.conversationType==="direct"){let k=await e.getRelationship(K.conversationId);_(K,y)&&R(K.conversationId,k,y);}else if(K.conversationType==="group"){let k={conversationType:"group",conversationId:K.conversationId},E=await e.getGroupProfile(k,{forceRefresh:true});_(K,y)&&a(k,E,y);}else {let k={conversationType:"channel",conversationId:K.conversationId},E=await e.getChannelProfile(k,{forceRefresh:true});_(K,y)&&o(k,E,y);}return B(K,ne)}function R(K,ne,y){let k={conversationType:"direct",conversationId:K};_(k,y)&&(n.set(K,{relationship:ne,checkedAt:Date.now()}),Qn(k,i,B(k)));}function a(K,ne,y){_(K,y)&&(r.set(K.conversationId,ne),Qn(K,i,B(K)));}function o(K,ne,y){_(K,y)&&(c.set(K.conversationId,ne),Qn(K,i,B(K)));}function p(K,ne,y={}){h();let k=ht(K),E=i.get(k)??new Set;return E.add(ne),i.set(k,E),d.set(k,Qt(K)),ne(B(K,y)),u===void 0&&(u=e.subscribeConversations(G=>{h();let V=Date.now(),F=new Set(G.map(se=>ht(se.ref)));for(let se of G){let ee=B(se.ref,{nowMs:V});Qn(se.ref,i,ee);}for(let[se,ee]of d){if(!g.has(se)||F.has(se))continue;S(ee);let O=B(ee,{nowMs:V});Qn(ee,i,O);}g=F;})),()=>{E.delete(ne),E.size===0&&i.delete(k),i.has(k)||d.delete(k),i.size===0&&(u?.(),u=void 0,g=new Set);}}function b(){m();let K=Date.now();for(let ne of d.values())Qn(ne,i,B(ne,{nowMs:K}));}function M(){u?.(),u=void 0,i.clear(),d.clear(),m();}let U=Object.freeze({get:B,refresh:v,subscribe:p});return Object.freeze({...U,api:U,beginProjectionUpdate:D,updateRelationshipProjection:R,updateGroupProfileProjection:a,updateChannelProfileProjection:o,reset:b,dispose:M})}var ql=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function ln(e,n){let r=e?.conversationType,c=e?.conversationId;if(r==="supergroup")throw $({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof c!="string"||c.trim()==="")throw $({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:c})}function Wl(e){return e===null?null:Object.freeze({ref:ln(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 $l(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 Jr(e){let n=$l(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:ln({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:Wl(e.draft)})}function Jl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ln(e,n,r,c){return Jl(e)?e:$({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 zs(e){let n=new Set,r,c,i;function d(){return Object.freeze(e.getCompatibilityApi().list().map(Jr))}function s(){let S=e.getSessionState();return S==="preparing"?"loading":S==="ready"?"ready":"idle"}function u(){try{let S=d();return Object.freeze({state:c??s(),items:S,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(S){let m=Ln(S,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(m)})}}function g(){let S=u();for(let m of [...n])m(S);}function f(S){return n.add(S),S(u()),r===void 0&&(r=e.subscribeEvents(m=>{ql.has(m.type)&&g();})),()=>{n.delete(S),n.size===0&&(r?.(),r=void 0);}}return {api:{list:d,getBackground:S=>e.getCompatibilityApi().getBackground(ln(S,"conversations.getBackground")),setBackground:(S,m)=>e.getCompatibilityApi().setBackground(ln(S,"conversations.setBackground"),m),resetBackground:S=>e.getCompatibilityApi().resetBackground(ln(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:f,prefetchRecent:(S,m)=>e.getCompatibilityApi().prefetchRecent(S.map(h=>ln(h,"conversations.prefetchRecent")),m),async refresh(){c="loading",i=void 0,g();try{await e.getCompatibilityApi().sync(),c=void 0,g();}catch(S){throw c="error",i=Ln(S,"conversations.refresh",true),g(),i}},getTotalUnread(S){return d(),e.getCompatibilityApi().getTotalUnread(S)},setPinned(S,m){let h=ln(S,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(h,m);}catch(D){throw Ln(D,"conversations.setPinned",false,h)}},async setMuted(S,m){let h=ln(S,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(h,m);}catch(D){throw Ln(D,"conversations.setMuted",true,h)}},async markRead(S){let m=ln(S,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(m);}catch(h){throw Ln(h,"conversations.markRead",true,m)}},markUnread(S){let m=ln(S,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(m);}catch(h){throw Ln(h,"conversations.markUnread",false,m)}},deleteLocal(S){let m=ln(S,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(m);}catch(h){throw Ln(h,"conversations.deleteLocal",false,m)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Yl=128,Xl=8,Ql=64*1024*1024,Zl=3,Zt=1024*1024;function eu(e){let n=0,r=false,c=[];function i(){if(!r)for(;n<e&&c.length>0;){let d=c.shift();if(d.signal.removeEventListener("abort",d.onAbort),d.signal.aborted){d.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let s=false;d.resolve(()=>{s||(s=true,n=Math.max(0,n-1),i());});}}return {acquire(d){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,u)=>{let g={resolve:s,reject:u,signal:d,onAbort:()=>{let f=c.indexOf(g);f>=0&&c.splice(f,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 Vs(){return va([{kind:"image",softMaxBytes:512*Zt,maxEntries:512,maxEntryBytes:30*Zt},{kind:"video",softMaxBytes:1792*Zt,maxEntries:64,maxEntryBytes:200*Zt}])}function qs(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function nu(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function er(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Yr(e,n,r,c){let i=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return c===void 0?i:`${i}:${c}`}function Xr(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Ne({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=er({conversationType:n,conversationId:r});return Ws({id:Yr(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:qs(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:tu(e.failure,c)}})}function Ne(e){let n=$(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function tu(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($({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function Ws(e){return Object.freeze({...e,ref:er(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function ru(e){let n=e?.conversation,r=n?.conversationType,c=n?.conversationId;if(r==="supergroup")throw Ne({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 Ne({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return er({conversationType:r,conversationId:c})}function $s(e){let n=true,r=0,c=0,i=new Map,d=new Set,s=new Map,u=new Map,g=new Map,f=eu(Zl),C=e.maxCachedBlobs??Xl,S=e.maxCachedBlobBytes??Ql,m=0;function h(){if(!n||!e.isActive())throw Ne({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function D(){return Object.freeze([...i.values()])}function _(){let O=D();for(let H of [...d])try{H(O);}catch(A){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:A}});}}function B(O){let H=g.get(O);H!==void 0&&(m-=H.size,g.delete(O));}function v(O){i.delete(O),s.delete(O),B(O);}function R(){for(;i.size>Yl;){let O=[...i.values()].find(H=>H.state==="completed"||H.state==="failed"||H.state==="canceled");if(O===void 0)return;v(O.id);}}function a(O){i.set(O.id,Ws(O)),R();}function o(O){if(!n||!e.isActive())return;a(O);let H=i.get(O.id);if(_(),!n||!e.isActive()||H===void 0||i.get(O.id)!==H)return;let A={id:H.id,messageId:H.messageId,ref:H.ref,direction:"download",state:H.state,percent:H.percent};e.emitter.emit({type:"media-task:updated",conversation:H.ref,task:A});}function p(O,H){if(B(O),!(H.size>S))for(g.set(O,H),m+=H.size;g.size>C||m>S;){let A=g.keys().next().value;if(A===void 0)break;B(A);}}function b(O,H=true){let A=ru(O),N=e.domainState.getConversationMessage(A,O.messageId);if(N===void 0)throw Ne({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:A});let L,j,W,ie;if(N.contentType==="image")L=N.body.image,j=e.loaders?.loadImage,ie="image";else if(N.contentType==="video")L=N.body.video,j=e.loaders?.loadVideo,ie="video";else if(N.contentType==="voice")L=N.body.voice,j=e.loaders?.loadVoice;else if(N.contentType==="file")L=N.body.file,j=e.loaders?.loadFile,W=N.body.file?.mimeType;else if(N.contentType==="mediaAlbum"){let le=N.body.mediaAlbum?.items,fe=O.itemIndex,me=fe===void 0||le===void 0?void 0:le[fe];if(me===void 0)throw Ne({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:A});L=me,j=me.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,ie=me.kind;}if(N.contentType!=="mediaAlbum"&&O.itemIndex!==void 0)throw Ne({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:A});if(L===void 0)throw Ne({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:A});if(H&&j===void 0)throw Ne({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:A});if(L.url.trim()===""||L.url.startsWith("blob:"))throw Ne({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:A});return {ref:A,messageId:N.id,...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex},...W===void 0?{}:{mimeType:W},...ie===void 0?{}:{cacheKind:ie,resourceVersion:wa(L.url)},...j===void 0?{}:{load:j},input:{url:L.url,...L.size===void 0?{}:{expectedBytes:L.size},...L.teaKey===void 0?{}:{teaKey:L.teaKey},...L.fileEncryptType===void 0?{}:{fileEncryptType:L.fileEncryptType}}}}function M(O){return Ne({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:O})}function U(){return Ne({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function K(O,H,A=r){if(h(),A!==r)return null;let N=Yr("download",O.ref,O.messageId,O.itemIndex),L=g.get(N);if(L!==void 0)return g.delete(N),g.set(N,L),L;if(e.assetCache===void 0||O.cacheKind===void 0||O.resourceVersion===void 0)return null;let j;try{j=await e.assetCache.get({kind:O.cacheKind,messageId:O.messageId,resourceVersion:O.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:j===null?"miss":"hit",kind:O.cacheKind,messageId:O.messageId,...j===null?{}:{byteLength:j.blob.size}});}catch(fe){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:O.cacheKind,messageId:O.messageId,cause:fe}),H)throw Ne({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:O.ref});return null}if(j===null||(h(),A!==r))return null;let W=j.blob,ie=j.mimeType??O.mimeType??"",le=W.type===ie?W:W.slice(0,W.size,ie);return p(N,le),le}function ne(O,H=false){let A=r,N=Yr("download",O.ref,O.messageId,O.itemIndex),L=u.get(N);if(L!==void 0)return L.promise;if(!H){let fe=g.get(N);if(fe!==void 0)return g.delete(N),g.set(N,fe),Promise.resolve(fe)}B(N);let j=er(O.ref);s.set(N,Object.freeze({conversation:j,messageId:O.messageId,...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex}}));let W={id:N,messageId:O.messageId,ref:j,direction:"download",...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex}},ie=new AbortController,le=Promise.resolve().then(async()=>{let fe;try{if(!n||!e.isActive())throw U();if(ie.signal.aborted)throw M(j);if(fe=await f.acquire(ie.signal),!n||!e.isActive())throw U();if(ie.signal.aborted)throw M(j);if(o({...W,state:"running",percent:0}),!n||!e.isActive())throw U();if(ie.signal.aborted)throw M(j);if(!H&&e.assetCache!==void 0&&O.cacheKind!==void 0&&O.resourceVersion!==void 0){let De=await K(O,!1,A);if(De!==null){if(ie.signal.aborted)throw M(j);return o({...W,state:"completed",percent:100}),De}}let me=O.load;if(me===void 0)throw Ne({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:j});let Z=await me({...O.input,signal:ie.signal,onProgress:De=>{let Ke=i.get(N);if(!n||!e.isActive()||ie.signal.aborted||u.get(N)?.controller!==ie||Ke?.state!=="running")return;let Ue=Math.min(99,qs(De));Ue<=Ke.percent||o({...W,state:"running",percent:Ue});}});if(!n||!e.isActive())throw U();if(ie.signal.aborted)throw M(j);let Oe=Z instanceof Blob?void 0:Z,ye=Oe===void 0?Z:new Blob([Oe],O.mimeType===void 0?void 0:{type:O.mimeType});if(O.mimeType!==void 0&&ye.type!==O.mimeType&&(ye=ye.slice(0,ye.size,O.mimeType)),A===r&&p(N,ye),A===r&&e.assetCache!==void 0&&O.cacheKind!==void 0&&O.resourceVersion!==void 0){let De=ye.size;e.assetCache.put({kind:O.cacheKind,messageId:O.messageId,resourceVersion:O.resourceVersion,blob:ye,...O.mimeType===void 0?{}:{mimeType:O.mimeType}}).then(Ke=>{e.onAssetCacheEvent?.({operation:"put",outcome:Ke,kind:O.cacheKind,messageId:O.messageId,byteLength:De});}).catch(Ke=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:O.cacheKind,messageId:O.messageId,byteLength:De,cause:Ke});});}if(o({...W,state:"completed",percent:100}),!n||!e.isActive())throw U();return ye}catch(me){if(!n||!e.isActive())throw U();if(ie.signal.aborted||typeof me=="object"&&me!==null&&"code"in me&&me.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Oe=M(j);throw i.get(N)?.state!=="canceled"&&o({...W,state:"canceled",percent:i.get(N)?.percent??0,error:Oe}),Oe}let Z=Ne({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:j});throw o({...W,state:"failed",percent:i.get(N)?.percent??0,error:Z}),Z}finally{fe?.(),u.get(N)?.controller===ie&&u.delete(N);}});return u.set(N,{controller:ie,promise:le}),o({...W,state:"queued",percent:0}),le}function y(O){try{return h(),ne(b(O))}catch(H){return Promise.reject(H)}}async function k(O){let H=b(O,false);return H.cacheKind===void 0?null:await K(H,true)}async function E(O){if(h(),e.preparePreview===void 0)throw Ne({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let H;try{H=await e.preparePreview({operationId:`media.prepareLocalPreview:${++c}`,kind:O.kind,file:O.file,...O.signal===void 0?{}:{signal:O.signal}});}catch(N){if(O.signal?.aborted===true||N instanceof Error&&N.name==="AbortError")throw N;return e.onLocalPreviewError?.({kind:O.kind,byteLength:O.file.size,cause:N}),null}return h(),!Number.isFinite(H.width)||!Number.isFinite(H.height)||H.width<=0||H.height<=0?(e.onLocalPreviewError?.({kind:O.kind,byteLength:O.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${H.width}\xD7${H.height}`)}),null):O.kind==="video"?{width:H.width,height:H.height,...H.duration===void 0?{}:{duration:H.duration},...H.posterData===void 0?{}:{posterData:H.posterData}}:{width:H.width,height:H.height}}async function G(O){if(h(),O.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Ne({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let H;try{H=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++c}`,kind:"video",file:O.file,...O.signal===void 0?{}:{signal:O.signal}});}catch(A){if(O.signal?.throwIfAborted(),A instanceof Error&&A.name==="AbortError")throw A;return h(),e.onLocalPreviewError?.({kind:"video",byteLength:O.file.size,cause:A}),null}return O.signal?.throwIfAborted(),h(),!Number.isFinite(H.width)||!Number.isFinite(H.height)||H.width<=0||H.height<=0||!H.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:O.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([H.posterData],{type:"image/jpeg"})}function V(O,H){h();let A=i.get(O);if(A===void 0)throw Ne({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:H,retryable:false});return A}function F(O,H){return Ne({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:H,retryable:false,conversation:O.ref,details:Object.freeze({state:O.state,direction:O.direction})})}let se=e.emitter.subscribe(O=>{!n||O.type!=="media-task:updated"||O.task.direction!=="upload"||nu(O.conversation,O.task.ref)&&(a(Xr(O.task)),_());});return {api:{getSnapshot(){return h(),D()},subscribe(O){return h(),d.add(O),()=>d.delete(O)},async cancel(O){let H=V(O,"media.cancel");if(H.state!=="queued"&&H.state!=="running")throw F(H,"media.cancel");if(H.direction==="upload"){if(!e.connection.cancelMediaUpload(H.messageId))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:H.ref});return}let A=u.get(O);if(A===void 0)throw F(H,"media.cancel");A.controller.abort();let N=M(H.ref);o({...H,state:"canceled",error:N});},async retry(O){let H=V(O,"media.retry");if(H.state!=="failed"&&H.state!=="canceled")throw F(H,"media.retry");if(H.direction==="upload"){if(!e.connection.retryMediaUpload(H.messageId))throw Ne({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:H.ref});return}if(u.has(O))throw Ne({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:H.ref});let A=s.get(O);if(A===void 0)throw Ne({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await ne(b(A),true);},download:y,getCached:k,prepareLocalPreview:E,prepareLocalVideoPoster:G},clearCache(){r+=1,g.clear(),m=0;},dispose(){if(n){n=false,r+=1,se();for(let O of u.values())O.controller.abort();f.dispose(),u.clear(),d.clear(),i.clear(),s.clear(),g.clear(),m=0;}}}}var ou={timeout:{code:"IM_SDK_OUTBOX_TIMEOUT",category:"network"},rejected:{code:"IM_SDK_OUTBOX_REJECTED",category:"state"},encrypt_failed:{code:"IM_SDK_OUTBOX_ENCRYPT_FAILED",category:"state"},network:{code:"IM_SDK_OUTBOX_NETWORK_FAILED",category:"network"},unsupported:{code:"IM_SDK_OUTBOX_UNSUPPORTED",category:"unsupported"},unknown:{code:"IM_SDK_OUTBOX_FAILED",category:"state"}},iu={"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 Js(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function au(e,n){let r=ou[e.reason];return Object.freeze($({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Qr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:au(e.failure,n)}})}function su(e){let n=Js(e);return Qr({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 cu(e,n,r){let c=$({code:iu[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 Ys(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(su))}async function d(u,g){c();let f=e.operations.getPending().find(S=>S.id===g),C=u==="outbox.retry"?e.operations.retry(g):e.operations.cancel(g);if(!C.accepted)throw cu(u,C.reason,f===void 0?void 0:Js(f))}return {api:{getSnapshot:i,subscribe(u){c();let g=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(i());}),f=()=>{g(),r.delete(f);};return r.add(f),f},retry:u=>d("outbox.retry",u),cancel:u=>d("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function du(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function nr(e){return Object.freeze({type:"error",error:Object.freeze($(e))})}function ze(e){throw $(e)}function Ie(e,n,r){return (typeof e!="string"||e.trim()==="")&&ze({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 _e(e,n){let r=e,c=r?.conversationType,i=r?.conversationId;return c==="supergroup"&&ze({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"||typeof i!="string"||i.trim()==="")&&ze({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 lu(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function vt(e,n){let r=_e(e,n);return r.conversationType!=="direct"&&ze({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 Zn(e,n){let r=_e(e,n);return r.conversationType!=="group"&&ze({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 Fn(e,n,r){lu(e,n)||ze({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function uu(e){return Object.freeze({...e})}function pu(e,n){return Fn(_e(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 mu(e){let n=Ie(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=_e(e.conversation,"application:updated");r.conversationType!=="group"&&ze({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=_e(e.conversation,"application:updated");r.conversationType!=="channel"&&ze({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 ze({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function fu(e){return Object.freeze({ref:mu(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function gu(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 Iu(e){return Object.freeze($({...{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 yu(e,n){if(du(e)){let{cause:r,...c}=e;return nr(c)}return nr({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function hu(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:uu(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=_e(e.conversation,e.type);return Fn(_e({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&ze({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(Yn(e.message)),source:e.source})}case "message:removed":{let r=_e(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Ie(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=_e(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=_e(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:Ie(e.messageId,"messageId",r),percent:c})}case "media-task:updated":{let r=_e(e.conversation,e.type);Fn(_e(e.task.ref,e.type),r,e.type);let c=Xr(e.task);return Object.freeze({type:e.type,ref:r,task:c})}case "session:updated":{let r=_e(e.conversation,e.type);Fn(_e({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let c=n.getConversation(r);return c===void 0&&ze({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Fn(c.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:c})}case "session:removed":{let r=_e(e.conversation,e.type);return e.conversationId!==r.conversationId&&ze({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=_e(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&ze({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Fn(_e({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=Ie(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=_e(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&ze({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=_e(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&ze({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:Ie(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?ze({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Ie(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=_e(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&ze({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=_e(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:pu(e.draft,r)})}case "draft:cleared":{let r=_e(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=_e(e.conversation,e.type);return Fn(_e(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:Qr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Ie(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:fu(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=>_e(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...gu(e.issue)});case "error":return Object.freeze({type:e.type,error:Iu(e.error)});case "call:incoming":{let r=vt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),peerId:Ie(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=vt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),peerId:Ie(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=vt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),peerId:Ie(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=vt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),peerId:Ie(e.peerId,"peerId",r)})}case "call:failed":{let r=vt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),peerId:Ie(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),inviterId:Ie(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>Ie(c,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),userId:Ie(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),userId:Ie(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>Ie(c,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),userId:Ie(e.userId,"userId",r)})}case "group-call:busy":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),userId:Ie(e.userId,"userId",r),hintUserId:Ie(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=Zn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ie(e.callId,"callId",r),groupId:Ie(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return yu(r,e)}}function vu(e){let{type:n,...r}=e;return Object.freeze(r)}function Cu(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=_e(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Xs(e){let n=new WeakMap;function r(i,d){let s=n.get(i);if(s!==void 0)return s;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,s=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(nr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Ie(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(S=>{if(!d||S===null)return;let m=Object.freeze({type:"contact-application:answered",peerId:C,result:S});i(m);}).catch(()=>{d&&i(nr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let g=hu(u,e);g!==null&&i(g);let f=Cu(u);f!==null&&i(Object.freeze({type:"group:activated",...f}));});return ()=>{d=false,s();}}return {subscribe:i=>c(i),on:(i,d)=>c(s=>{s.type===i&&d(vu(s));})}}function Kn(e){let n=$({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 Qs(e){function n(r){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw Kn({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 Kn({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 Kn({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 Zs(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function Ct(e,n,r,c){return $({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 ec(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function nc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function tc(e,n){if(n.id!==e)throw Ct("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 rc(e,n){if(n.id!==e.conversationId)throw Ct("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:ec(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 Mu(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 oc(e,n){if(n.id!==e.conversationId)throw Ct("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:nc(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:Mu(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 ic(e){return e.state==="ready"?Object.freeze({state:"ready",message:Wt(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 tr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw Ct("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:ec(e),messageId:n.messageId,preview:ic(n.preview)})}function rr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw Ct("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:nc(e),messageId:n.messageId,preview:ic(n.preview)})}function bu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Su(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 Pu(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Zr(e,n,r){return bu(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Pu(e)?$({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Su(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):$({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 ac=new WeakMap;function eo(e,n){ac.set(e,n);}function sc(e){let n=ac.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 Au="IM_SDK_CHANNEL_NOT_MEMBER",Eu="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Ru="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",wu="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Tu(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function _u(e,n,r){if(Tu(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,i=e instanceof la$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c$1===40542?Au:c$1===40527?Eu:c$1===40547?Ru:e instanceof d$1?wu:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof la$1?"contract":e instanceof c?"network":c$1===40527?"permission":"state",s=$({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"),s)}async function He(e,n,r){try{return await r()}catch(c){throw _u(c,e,n)??c}}var Du={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 cc(e){let n=new Map,r=new Map,c=true,i=m=>({conversationType:"channel",conversationId:m}),d=m=>{r.set(m,(r.get(m)??0)+1);};function s(m){if(!c||n.has(m))return;let h=r.get(m)??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:m}}});return}try{let _=await ca({client:e.coreClient,channelId:m});if(!c||(r.get(m)??0)!==h)return;if(!_.ok){e.emitter.emit({type:"error",error:{scope:"http",code:_.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${_.message}`,cause:{conversationId:m}}});return}if(_.data===null){e.domainState.clearPinnedMessage(i(m),"reconcile");return}e.domainState.setPinnedMessage(y(_.data.messageContent,{conversationId:m}),"reconcile");}catch(_){if(!c||(r.get(m)??0)!==h)return;let B=_ instanceof h$1||_ instanceof u$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:B,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:_}});}})();n.set(m,D),D.finally(()=>{n.get(m)===D&&n.delete(m);});}let u=La({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),g=e.emitter.subscribe(m=>{if(m.type!=="message:received"&&m.type!=="message:updated")return;let h=m.message;if(h.conversationType!=="channel")return;let D=h.body.system?.pinnedMessageAction;D!==void 0&&m.source!=="live"&&m.channelLifecycleEffects!==true||((D?.type==="pin"||D?.type==="unpin")&&d(h.conversationId),u.handleMessage(h));});function f(m,h){if(h.trim()==="")throw new Ce({operation:m,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getSession(i(h));if(D===void 0)throw new Ce({operation:m,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="channel")throw new Ce({operation:m,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function C(m,h){if(e.coreClient===void 0)throw new Ce({operation:m,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return f(m,h),e.coreClient}return {operations:{pinMessage:async({channelId:m,messageId:h})=>{let D=C("pin",m),_=e.domainState.getConversationMessage(i(m),h);if(_===void 0)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(_.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(_.conversationId!==m)throw new Ce({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:B,pinnedMessage:v}=z(_),R=await ra({client:D,channelId:m,messageContent:B});if(!R.ok)throw Mn("pin",R.code,R.message);d(m),e.domainState.setPinnedMessage(v,"http:pin");let a=e.domainState.getPinnedMessage(i(m));if(a===void 0)throw new Ce({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(B){throw bn("pin",B)}},unpinMessage:async m=>{let h=C("unpin",m);try{let D=await La$1({client:h,channelId:m});if(!D.ok)throw Mn("unpin",D.code,D.message);d(m),e.domainState.clearPinnedMessage(i(m),"http:unpin");}catch(D){throw bn("unpin",D)}},getPinnedMessage:async m=>{let h=C("get",m);try{let D=await ca({client:h,channelId:m});if(!D.ok)throw Mn("get",D.code,D.message);if(d(m),D.data===null)return e.domainState.clearPinnedMessage(i(m),"reconcile"),null;let _=y(D.data.messageContent,{conversationId:m});e.domainState.setPinnedMessage(_,"reconcile");let B=e.domainState.getPinnedMessage(i(m));if(B===void 0)throw new Ce({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return B}catch(D){throw bn("get",D)}},peekPinnedMessage:m=>(f("get",m),e.domainState.getPinnedMessage(i(m))??null)},dispose:()=>{c&&(c=false,g());}}}async function Pn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var ku={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:Pn,prefetchFirstPage:Pn,refreshFirstPage:Pn,listFirstPage:Pn,listNextPage:Pn,searchFirstPage:Pn,refreshSearchFirstPage:Pn,searchNextPage:Pn},Ou=new Set(["unknown_restricted","left","removed","dismissed"]);function Be(e){return Ou.has(e)}function dc(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function c(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function 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(C){let S=C.trim();if(S==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return S}async function s(C){let m=await i().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return c(),m}async function u(C,S){c();let m=d(C),h=i();await(S==="accept"?h.acceptJoinApplication(m):h.ignoreJoinApplication(m)),c();}async function g(C,S,m,h,D){r(),D?.throwIfAborted();let _=await Q({signal:D,http:e.http,userId:m,clientType:e.clientType,channelId:C,index:S,containAnchor:h,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),D?.throwIfAborted(),_}async function f(C,S,m,h){let D=await g(C,S,m,true,h),_=D.messages.find(B=>B.extensions?.historyCursor===S);if(_===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${S}\uFF09`);return {context:D,message:_}}return {applications:{listJoinApplications:s,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:f,loadNewerPage:(C,S,m,h)=>g(C,S,m,false,h),dispose:()=>{n=false;}}}function lc(e){async function n(i,d,s){let u=new Map(d.filter(A$1).sort((f,C)=>f.sortKey.localeCompare(C.sortKey)).map(f=>[f.id,f]));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 f=u.values().next().value;u.delete(f.id);let C=f.extensions?.historyCursor;if(typeof C!="string"||C.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${f.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let S=e.getHistoryGeneration(),m=e.getHistoryEpoch(i);try{let{context:h,message:D}=await e.loadMessageContext(i,C,g.userId);if(!e.isActive()||S!==e.getHistoryGeneration()||m!==e.getHistoryEpoch(i))return;if(D.id!==f.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${C}, expected=${f.id}, actual=${D.id}\uFF09`);if(D.contentType!=="system"||A$1(D))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${C}, messageId=${f.id}\uFF09`);let _=h.messages.filter(B=>B.id===f.id||u.has(B.id));if(_.some(B=>B.contentType!=="system"||A$1(B)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${C}\uFF09`);e.domainState.upsertMessages(_,"offline"),s.applyIncoming(_.flatMap(B=>{let v=e.domainState.getMessage(B.id);return v===void 0?[]:[v]}));for(let B of _)u.delete(B.id);}catch(h){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=${f.id}\uFF09`,cause:h}});}}}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(A$1))return i;let s=d.info().conversation;if(s===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let u=e.domainState.getSession(s);if(u?.type!=="channel"||u.channelState!==void 0&&Be(u.channelState))return i;let g=d.getRevision();if(await n(s.conversationId,i.messages,d),d.getRevision()!==g||!r(d.info().conversation,s))return {...i,stale:true};let f=new Map(d.list().map(C=>[C.id,C]));return {...i,messages:i.messages.map(C=>f.get(C.id)??C)}}return {reconcilePage:c}}function uc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function r(v,R,a,o){let b=$({code:v,category:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":v==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...a===void 0?{}:{details:a},...o===void 0?{}:{cause:o}});return Object.assign(new Error(R),b)}function c$1(v){let R=v.name.trim();if(R==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(R.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let a=v.memberIds;if(!Array.isArray(a))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=a.map(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:R,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 v=e.crypto.randomTeaKey();if(!(v instanceof Uint8Array)||v.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let R="";for(let a of v)R+=String.fromCharCode(a);return globalThis.btoa(R)}function d(v,R){let a=v.trim();if(a==="")throw new Error(`${R}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function s(v){let R=v.trim();if(R==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...R].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return R}function u(v){let R=v.trim();if(R==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...R].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return R}async function g(v){let R=(await e.getSelfUserId?.()??"").trim();return R!==""&&R===v.trim()}function f(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function C(v,R,a){if(v!==1&&v!==2&&v!==4){let p=$({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(v!==4)return {verifyType:v};let o=R?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=$({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:v,inviteCode:o}}function S(v){if(!Array.isArray(v))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(v.map(R=>d(R,"\u793E\u7FA4\u6210\u5458 id")))]}function m(v){e.emitter?.emit({type:"channel-profile:updated",channelId:v,conversation:{conversationType:"channel",conversationId:v}});}function h(v){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(v).catch(R=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:v,error:R}}});});}function D$1(v){if(v===void 0)return;let R=typeof v=="number"?v:Number(v);return Number.isSafeInteger(R)?R:void 0}function _$1(v){if(typeof v=="boolean")return v;if(v===1||v==="1"||v==="true")return true;if(v===0||v==="0"||v==="false")return false}function B(v){if(v===null||typeof v!="object"||v===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let R=v.id??v.radio_id;if(typeof R!="string"&&typeof R!="number"||String(R).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let a=v.name?.trim()??"";if(a==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(R),p=D$1(v.total_users),b=D$1(v.status),M=D$1(v.verify_way),U=D$1(v.update_version),K=_$1(v.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:a,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...p===void 0?{}:{memberCount:p},...b===void 0?{}:{status:b},...K===void 0?{}:{isInChannel:K},...M===void 0?{}:{verifyWay:M},...U===void 0?{}:{updateVersion:U},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}return {...n,mentions:e.mentionCandidates??ku,uploadAvatar:async v=>{if(e.avatarTransfer===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Xn(e.avatarTransfer,v)},create:async v=>{if(e.coreClient===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.ensureConversation===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let R=c$1(v),a=i();try{let o=await _({client:e.coreClient,name:R.name,memberIds:R.memberIds,secretKey:a,...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl}});if(!o.ok){let M=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(M,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let p=B(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,a);let b=p.status===3?"dismissed":p.status===void 0||p.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({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:za$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:v=>e.channelProfile?.listProfiles(v)??Promise.resolve([]),getProfile:(v,R)=>e.channelProfile?.getProfile(v,R)??Promise.resolve(null),listMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),prefetchMembers:v=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(v),getCachedMembers:v=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(v),refreshMembers:v=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(v),searchMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),searchMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listAdmins:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),getMembersByIds:(v,R,a)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(v,R,a),updateName:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=d(R,"\u793E\u7FA4\u540D\u79F0");await He("channels.updateName",o,()=>D({client:a,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),m(o);},updateDescription:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=u(R);await He("channels.updateDescription",o,()=>D({client:a,channelId:o,description:p})),m(o);},updateAvatar:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let p=await He("channels.updateAvatar",o,()=>Xn(e.avatarTransfer,R));return await He("channels.updateAvatar",o,()=>D({client:a,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),m(o),p},setMyNickname:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=s(R);await He("channels.setMyNickname",o,()=>E({client:a,channelId:o,nickname:p})),m(o);},setMemberNickname:async(v,R,a)=>{let o=f(),p=d(v,"\u793E\u7FA4 id"),b=d(R,"\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 M=s(a);await He("channels.setMemberNickname",p,()=>F({client:o,channelId:p,userId:b,nickname:M})),m(p);},updateVerification:async(v,R,a)=>{let o=f(),p=d(v,"\u793E\u7FA4 id"),b=C(R,a,p);await He("channels.updateVerification",p,()=>M$1({client:o,channelId:p,verifyType:b.verifyType,...b.inviteCode===void 0?{}:{inviteCode:b.inviteCode}})),m(p);},requestJoin:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=R?.remarks?.trim();return He("channels.requestJoin",o,()=>oa$1({client:a,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=R.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,()=>pa({client:a,channelId:o,inviteCode:p}))},setAllMuted:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id");await He("channels.setAllMuted",o,()=>N({client:a,channelId:o,muted:R})),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},setMemberPrivateChatDisabled:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id");await He("channels.setMemberPrivateChatDisabled",o,()=>O({client:a,channelId:o,disabled:R})),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},inviteMembers:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=S(R);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await He("channels.inviteMembers",o,()=>G({client:a,channelId:o,userIds:p})),m(o);},removeMember:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=d(R,"\u5F85\u79FB\u9664\u6210\u5458 id");await He("channels.removeMember",o,()=>H({client:a,channelId:o,userId:p})),m(o);},addAdmin:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=d(R,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await He("channels.addAdmin",o,()=>I({client:a,channelId:o,userId:p})),h(o),m(o);},removeAdmin:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=d(R,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await He("channels.removeAdmin",o,()=>J({client:a,channelId:o,userId:p})),h(o),m(o);},transferOwnership:async(v,R)=>{let a=f(),o=d(v,"\u793E\u7FA4 id"),p=d(R,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.transferOwnership",o,()=>K({client:a,channelId:o,userId:p})),h(o),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},leave:async(v,R)=>{let a=f();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(v,"\u793E\u7FA4 id"),p=R?.newOwnerId===void 0?void 0:d(R.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.leave",o,()=>L({client:a,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),m(o);},dismiss:async v=>{let R=f();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=d(v,"\u793E\u7FA4 id");await He("channels.dismiss",a,()=>P({client:R,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),m(a);},...e.applications,...e.pinned??Du}}function xu(e){let r=$({...{"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 Nu(e){let n=e.responseCode===V,i=$({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 Lu(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function pc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,c=new Map,i=new Map,d=new Map,s=0,u=false,g$1=5e3;function f(a,o,p){if(u)return "unknown";if(p!==void 0&&r.get(a)!==p)return c.get(a)??"unknown";let b=c.get(a);return c.set(a,o),i.set(a,Date.now()),b!==o&&e.onRelationshipChanged?.(a,o),o}function C(a,o){if(u)return;let p=m(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(p,++s),f(p,o);}function S$1(a){if(e.coreClient===void 0)throw new Error(`${a}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function m(a,o){let p=a.trim();if(p==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function h(a,o){e.profile!==void 0&&e.profile.getUserProfile(a,{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(a,o){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a===""||o.name===void 0&&o.email===void 0&&o.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ia({client:e.coreClient,userId:a,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}}),e.domainState.getSession(a)?.type==="direct"&&e.domainState.refreshConversationProfile(a,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:a});}function _(a){switch(a){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function B(a,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=a.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 M=++s;r.set(p,M);let U=g(e.coreClient,{userId:p}).then(K=>f(p,_(K?.friend_status),M)).finally(()=>{d.get(p)===U&&d.delete(p);});return d.set(p,U),U}function v(a){return B(a,true)}async function R(a,o){let p=m(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),b;try{b=await B(p,!1);}catch(M){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:M}}}),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";C(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,o,Date.now());}catch(M){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:M}}}),null}return u?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),h(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(a,o)=>e.profile?.getUserProfile(a,o)??Promise.resolve(null),peekProfile:a=>e.profile?.peekUserProfile?.(a)??Promise.resolve(null),setRemark:D,searchUser:a=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):W(e.coreClient,{query:a}).catch(o=>{throw o instanceof T?Nu(o):o}).then(o=>{if(o===null)return null;let p=_(o.friendStatus);return C(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:v,requestFriendship:async(a,o)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=m(a,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),b;try{b=await X(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(U$1){throw U$1 instanceof U?xu(U$1):U$1}let M=Lu(b.status);return C(p,M==="sent"?"pending":"friend"),M==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),h(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:M,...b.message===void 0?{}:{message:b.message}})},blockUser:async a=>{let o=m(a,"\u52A0\u5165\u9ED1\u540D\u5355");await S(S$1("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),C(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}),h(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,o)=>{let p=m(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),b=o.trim();if(b==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let M=e.getSelfId?.().trim()??"";if(M==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Z(S$1("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:M,targetUserId:p,problem:b});},deleteFriendship:async a=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=a.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await Y(e.coreClient,{userId:o}),C(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}});}h(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:a=>c.get(a.trim()),ensureRelationship(a){let o=m(a,"\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"):v(o)},updateRelationshipFromEvent:C,resolveApplicationAnswer:R,dispose:()=>{u=true,s+=1,r.clear(),c.clear(),i.clear(),d.clear();}}}function mc(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 fc(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=e.domainState.getSession(c);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ha({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:r}),e.domainState.setMuted(c,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(r);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(r),d=i.at(-1)?.id??c.readCursor??"";if(c.type==="direct"){d!==""&&e.domainState.advanceRead(r,d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="group"){let s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ka({http:e.http,userId:s.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="channel"){let s=Ra$1(i);if(s===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${r.conversationId}\uFF09`);await e.markChannelRead(r.conversationId,s),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${c.type}`)},markConversationUnread:n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(r);},deleteConversation:n=>{let r=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.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 to=1,Fu=3;function ro(e){return typeof Blob<"u"&&e instanceof Blob}async function gc(e){return ro(e)?new Uint8Array(await e.arrayBuffer()):e}function Ic(e){async function n(y){return e.connection.sendText(y)}async function r(y){return e.connection.sendContact(y)}async function c(y){return e.connection.forwardMessages(y)}async function i(y){return e.connection.recallMessage(y)}async function d(y){return e.connection.editMessage(y)}async function s(y){return e.connection.sendImage(y)}async function u(y){return e.connection.sendVideo(y)}async function g(y){return e.connection.sendVoice(y)}async function f(y){return e.connection.sendFile(y)}async function C(y){return e.connection.sendMediaAlbum(y)}async function S(y){return e.connection.sendGif(y)}async function m(y){return e.connection.sendExpression(y)}async function h(y){return e.connection.sendGame(y)}async function D(y){return e.connection.sendMiniProgram(y)}async function _(y){return e.connection.sendTransfer(y)}async function B(y,k){return e.connection.replaceInterruptedVideo(y,k)}async function v(y,k){return e.connection.replaceInterruptedFile(y,k)}function R(y){e.connection.cancelMedia(y);}function a(y,k){return {url:y.url,...y.expectedBytes===void 0?{}:{expectedBytes:y.expectedBytes},...y.onProgress!==void 0?{onProgress:E=>y.onProgress?.(E.percent)}:{},...y.signal!==void 0?{signal:y.signal}:{},...k?{preferBlob:true}:{}}}async function o(y){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let k=await e.mediaTransfer.download(a(y,false)),E=await gc(k);return y.teaKey!==void 0&&y.teaKey.length>0&&y.fileEncryptType!==to?e.crypto.decryptSymmetric({teaKey:y.teaKey,cipherData:E}):E}async function p(y){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let k=await e.mediaTransfer.download(a(y,true));if(y.teaKey===void 0||y.teaKey.length===0||y.fileEncryptType===to)return k;let E=y.teaKey;return ro(k)?e.crypto.decryptSymmetricChunked({teaKey:E,cipherData:k,...y.signal===void 0?{}:{signal:y.signal}}):e.crypto.decryptSymmetric({teaKey:E,cipherData:k})}async function b(y){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(y.fileEncryptType===Fu)return p(y);let k=await e.mediaTransfer.download(a(y,true));if(y.teaKey===void 0||y.teaKey.length===0||y.fileEncryptType===to)return k;let G=y.teaKey;if(!ro(k))return e.crypto.decryptFileSimple({teaKey:G,cipherData:k});if(k.size<=32){let se=e.crypto.decryptFileSimple({teaKey:G,cipherData:await gc(k)});return new Blob([se],{type:k.type})}let V=new Uint8Array(await k.slice(0,32).arrayBuffer()),F=e.crypto.decryptFileSimple({teaKey:G,cipherData:V});return new Blob([F,k.slice(32)],{type:k.type})}function M(y){e.connection.retryMessage(y);}function U(y,k){let E={conversationType:"channel",conversationId:y},G=e.domainState.getLoadedMessagesByConversation(E),F=e.domainState.getConversationMessage(E,k)??G.find(ee=>Qa$1(ee)===k),se=Qa$1(F);if(F===void 0||typeof se!="string"||se.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${y}, input=${k}\uFF09`);return F.id}async function K(y){let k=y.conversationType??e.domainState.getSession(y.conversationId)?.type;if(k==="channel"){let E=U(y.conversationId,y.readCursor);await e.connection.markRead(y.conversationId,E,"channel");return}await e.connection.markRead(y.conversationId,y.readCursor,y.conversationType),k==="direct"&&await e.prepareDirectReadReceipt?.(y.conversationId);}async function ne(y,k){e.connection.reportDirectMediaConsumed?.(y,k),await e.prepareDirectReadReceipt?.(y);}return {operations:{sendText:n,sendContact:r,forwardMessages:c,recallMessage:i,editMessage:d,sendImage:s,sendVideo:u,sendVoice:g,sendFile:f,sendGif:S,sendMediaAlbum:C,sendExpression:m,sendGame:h,sendMiniProgram:D,sendTransfer:_,replaceInterruptedVideo:B,replaceInterruptedFile:v,cancelMediaUpload:R,loadImage:o,loadVideo:p,loadVoice:o,loadFile:b,retry:M,markRead:K,markDirectMediaConsumed:ne}}}function yc(e){return {...e.operations,get state(){return e.getState()}}}var Ku=50,Uu=1e3,We={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=$({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 Bu(e,n){switch(e){case We.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case We.CONTACT_PERMISSION_DENIED:case We.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case We.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case We.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case We.ALREADY_GROUP_MEMBER:case We.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case We.GROUP_MEMBER_LIMIT_REACHED:case We.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case We.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case We.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case We.OPERATION_FAILED:case We.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case We.GROUP_APPLICATION_UNAVAILABLE_40521:case We.GROUP_APPLICATION_UNAVAILABLE_40612:case We.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Gu(e){if(e instanceof j$1||e instanceof q)return e.code}function Hu(e){return e instanceof k$1||e instanceof r$1?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function hc(e,n,r){let c=Gu(r),i=Bu(c,e),d=Hu(r);return Fe({code:i,category:d.category,operation:n,retryable:d.retryable,cause:r})}function vc(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 oo(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 Un(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 ju(e,n,r="pending"){return Object.freeze({ref:Un(e),...n===void 0?{}:{createdAt:n},state:r})}function zu(e){let n=oo(e.createdAt),r=An(e.applicantAvatar,"contact.applicantAvatar"),c=An(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Un({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:io(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Vu(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=oo(e.createdAt),r=An(e.actor.avatarUrl,"group.actor.avatarUrl"),c=An(e.actor.displayId,"group.actor.displayId"),i=An(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Un({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:io(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function An(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 io(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 qu(e){let n=oo(e.createdAt),r=An(e.applicantAvatar,"channel.applicantAvatar"),c=An(e.applicantDisplayId,"channel.applicantDisplayId"),i=An(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Un({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:io(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Mt(e){return `${e.domain}:${e.applicationId}`}function Cc(e){let n=false,r=0,c=0,i=new Map,d=new Map,s=new Map;function u(h,D){if(n||!e.isActive()||D!==void 0&&r!==D)throw Fe({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:h,retryable:false})}function g(h){if(u(h),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:h,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function f(h,D){let _=[],B=new Set,v;for(let R=0;R<Uu;R+=1){let a=await D({limit:Ku,...v===void 0?{}:{cursor:v}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Fe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:h,retryable:false});if(_.push(...a.items),a.exhausted)return _;let o=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(o===""||B.has(o))throw Fe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:h,retryable:false});B.add(o),v=o;}throw Fe({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:h,retryable:false})}async function C(){let h="applications.listPending",D=g(h),_=r,B=++c;try{let[v,R,a]=await Promise.all([f(h,M=>D.contact.listPendingApplications(M)),f(h,M=>D.group.listPendingApplications(M)),f(h,M=>D.channel.listJoinApplications(M))]);u(h,_);let o=[...v.map(zu),...R.map(Vu),...a.map(qu)],p=new Map;for(let M of o){let U=Mt(M.ref);if(d.has(U))continue;let K=p.get(U);if(K!==void 0&&JSON.stringify(K.ref)!==JSON.stringify(M.ref))throw Fe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:h,retryable:!1});(K===void 0||(M.createdAt??0)>(K.createdAt??0))&&p.set(U,M);}let b=[...p.values()].sort((M,U)=>{let K=(U.createdAt??0)-(M.createdAt??0);return K!==0?K:Mt(M.ref).localeCompare(Mt(U.ref))});if(B===c){i.clear();for(let M of b)i.set(Mt(M.ref),M);}return Object.freeze(b)}catch(v){throw vc(v)?v:(u(h,_),hc("IM_SDK_APPLICATION_LIST_FAILED",h,v))}}function S(h,D){if(u(D),h===null||typeof h!="object")throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});let _=typeof h?.applicationId=="string"?h.applicationId.trim():"";if(_==="")throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});if(h.domain==="contact")return Un({domain:"contact",applicationId:_});let B=typeof h.conversation?.conversationId=="string"?h.conversation.conversationId.trim():"";if(h.domain==="group"&&h.conversation?.conversationType==="group"&&B!=="")return Un({domain:"group",applicationId:_,conversation:{conversationType:"group",conversationId:B}});if(h.domain==="channel"&&h.conversation?.conversationType==="channel"&&B!=="")return Un({domain:"channel",applicationId:_,conversation:{conversationType:"channel",conversationId:B}});throw Fe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false})}function m(h,D){let _=D==="accepted"?"applications.accept":"applications.ignore",B=S(h,_),v=Mt(B),R=d.get(v);if(R===D)return Promise.resolve();if(R!==void 0)return Promise.reject(Fe({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:_,retryable:false}));let a=s.get(v);if(a!==void 0)return a.state===D?a.promise:Promise.reject(Fe({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:_,retryable:true}));let o=r,p=Promise.resolve().then(async()=>{try{let M;if(B.domain==="contact"){if(e.contact===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:_,retryable:!1});M=D==="accepted"?e.contact.acceptApplication(B.applicationId):e.contact.ignoreApplication(B.applicationId);}else if(B.domain==="group"){if(e.group===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:_,retryable:!1});M=D==="accepted"?e.group.acceptApplication(B.applicationId):e.group.ignoreApplication(B.applicationId);}else {if(e.channel===void 0)throw Fe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:_,retryable:!1});M=D==="accepted"?e.channel.acceptJoinApplication(B.applicationId):e.channel.ignoreJoinApplication(B.applicationId);}if(await M,u(_,o),D==="accepted"&&B.domain==="contact"){let K=i.get(v);K?.kind==="contact-request"&&await e.onContactAccepted?.(K.applicant.id,B.applicationId);}d.set(v,D);let U=ju(B,i.get(v)?.createdAt,D);i.delete(v),e.emitter.emit({type:"application:updated",application:U});}catch(M){throw vc(M)?M:(u(_,o),hc("IM_SDK_APPLICATION_ACTION_FAILED",_,M))}}),b=()=>{s.get(v)?.promise===p&&s.delete(v);};return s.set(v,{state:D,promise:p}),p.then(b,b),p}return {api:{listPending:C,accept:async h=>m(h,"accepted"),ignore:async h=>m(h,"ignored")},dispose(){n||(n=true,r+=1,i.clear(),d.clear(),s.clear());}}}function Bn(e,n,r){try{r();}catch(c){let i=c instanceof Error?c.message:String(c);throw i.includes("\u672A\u9274\u6743")?$({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")?$({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")?$({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")?$({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):$({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function Mc(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},c;return Bn("calls.invite",r,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){Bn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Bn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Bn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Bn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Bn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Bn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var ao=18,Wu=12,$u=300*1e3,Ju=64,bc=Object.freeze([]),Yu=0;function Xu(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Sc(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??$u,c=e.maxCacheEntries??Ju;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=++Yu,d=new Map,s=new Map,u=new Map,g=new Map,f=new Map,C=new Map,S=new Map,m=new Set,h=0,D=true,_=A=>g.get(A)??0;function B(){if(!D)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function v(A){if(A.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let N=A.conversationId.trim();if(N==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return N}function R(A){let N=d.get(A);d.delete(A),N?.page.nextPageToken!==void 0&&u.delete(N.page.nextPageToken);}function a(A,N){let L=d.get(A);return L===void 0?null:L.generation!==N||L.expiresAt<=n()?(R(A),null):(d.delete(A),d.set(A,L),L.page)}function o(A,N){for(R(A),d.set(A,N);d.size>c;){let L=d.keys().next().value;if(typeof L!="string")break;R(L);}}function p(A){let N=[],L=new Map;for(let j of A){let W=j.userId.trim();if(W==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");L.has(W)||N.push(W);let ie=j.displayName.trim()||W,le=j.avatar?.trim();L.set(W,Object.freeze({userId:W,displayName:ie,...le===void 0||le===""?{}:{avatar:le}}));}return Object.freeze(N.map(j=>L.get(j)))}async function b(A,N){let L=await ea(N);return Object.freeze(A.filter(j=>L.match(j.displayName)!==null||L.match(j.userId,{pinyin:false})!==null))}async function M(A,N){let L=await F(A);return L===null?bc:b(L.page.items,N)}function U(A,N){let L=[...A.items],j=new Set(L.map(W=>W.userId));for(let W of N)j.has(W.userId)||(j.add(W.userId),L.push(W));return Object.freeze({...A,items:Object.freeze(L)})}function K(A,N){let L=A.map(W=>W.userId),j=new Map(A.map(W=>[W.userId,W]));for(let W of N)j.has(W.userId)||L.push(W.userId),j.set(W.userId,W);return L.map(W=>j.get(W))}function ne(A,N,L){let j=`im-channel-mention:${i}:${++h}`;for(u.set(j,{...A,generation:N,expiresAt:L});u.size>c;){let W=u.keys().next().value;if(typeof W!="string")break;u.delete(W);}return j}function y(A){let N=A.nextCursor?.trim();if(A.exhausted&&N!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!A.exhausted&&(N===void 0||N===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return N}function k(A,N,L,j){let W=y(A),ie=W===void 0?void 0:ne({...N,cursor:W},L,j);return Object.freeze({items:p(A.items),...ie===void 0?{}:{nextPageToken:ie},exhausted:A.exhausted})}function E(){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 G(A,N){let L=f.get(A);for(L?.page.nextPageToken!==void 0&&u.delete(L.page.nextPageToken),f.delete(A),f.set(A,N);f.size>c;){let j=f.keys().next().value;if(j===void 0)break;let W=f.get(j);W?.page.nextPageToken!==void 0&&u.delete(W.page.nextPageToken),f.delete(j);}}function V(A,N){let L=n()+r,j={channelId:A.channelId,kind:"list"},W=A.nextCursor===void 0?void 0:ne({...j,cursor:A.nextCursor},N,L);return {generation:N,updatedAt:A.updatedAt,page:Object.freeze({items:p(A.items),...W===void 0?{}:{nextPageToken:W},exhausted:A.exhausted})}}function F(A){B();let N=f.get(A);if(N!==void 0)return Promise.resolve(N);if(m.has(A)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let L=S.get(A);if(L!==void 0)return L;let j=_(A),W=e.storage.getChannelMentionCandidateSnapshot(A).then(ie=>{if(B(),ie===null||ie.channelId!==A||_(A)!==j||m.has(A))return null;let le=V(ie,j);return G(A,le),le}).finally(()=>{S.get(A)===W&&S.delete(A);});return S.set(A,W),W}function se(A){B();let N=C.get(A);if(N!==void 0)return N;let L=_(A),j=E(),W=(async()=>{let ie,le=false,fe=[];for(let ye=0;ye<Wu&&!le;ye+=1){let De=await j.listMentionMembers({channelId:A,limit:ao,...ie===void 0?{}:{cursor:ie}});if(B(),_(A)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ie=y(De),le=De.exhausted,fe=K(fe,De.items);}let me=n(),Z={channelId:A,items:fe,...ie===void 0?{}:{nextCursor:ie},exhausted:le,updatedAt:me};if(_(A)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Z),B(),_(A)!==L)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Oe=V(Z,L);return G(A,Oe),Oe.page})().finally(()=>{C.get(A)===W&&C.delete(A);});return C.set(A,W),W}function ee(A,N=false){B();let L=_(A.channelId),j=Xu(A);if(!N){let me=a(j,L);if(me!==null)return Promise.resolve(me)}let W=s.get(j);if(W!==void 0&&W.generation===L)return W.promise;let ie=E(),le=A.kind==="list"?ie.listMentionMembers({channelId:A.channelId,limit:ao,...A.cursor===void 0?{}:{cursor:A.cursor}}):ie.searchMentionMembers({channelId:A.channelId,query:A.keyword,limit:ao,...A.cursor===void 0?{}:{cursor:A.cursor}}),fe=Promise.resolve(le).then(async me=>{B();let Z=A.kind==="search"&&A.cursor===void 0?await M(A.channelId,A.keyword):bc;if(B(),_(A.channelId)!==L)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Oe=n()+r,ye=k(me,A,L,Oe),De=Z.length===0?ye:U(ye,Z);return _(A.channelId)===L&&o(j,{channelId:A.channelId,generation:L,expiresAt:Oe,page:De}),De}).finally(()=>{s.get(j)?.promise===fe&&s.delete(j);});return s.set(j,{generation:L,promise:fe}),fe}function O(A,N){B();let L=u.get(A);if(L===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(L.kind!==N)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${N} \u5206\u9875`);if(L.expiresAt<=n())throw u.delete(A),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(_(L.channelId)!==L.generation)throw u.delete(A),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return L}return {api:{peekFirstPage(A){if(!D)return null;let N=v(A),L=f.get(N);return L===void 0||L.generation!==_(N)?null:(G(N,L),L.page)},peekSearchCandidates(A,N){if(!D)return Object.freeze([]);let L=v(A),j=N.trim().toLocaleLowerCase();if(j==="")return Object.freeze([]);let W=f.get(L);return W===void 0||W.generation!==_(L)?Object.freeze([]):(G(L,W),Object.freeze(W.page.items.filter(ie=>ie.displayName.toLocaleLowerCase().includes(j)||ie.userId.toLocaleLowerCase().includes(j))))},async getCachedPage(A,N){let L=v(A),j=await F(L);if(j===null)return null;let W=N?.trim()??"";if(W==="")return j.page;let ie=await b(j.page.items,W);return B(),j.generation!==_(L)?null:Object.freeze({items:ie,exhausted:true})},async prefetchFirstPage(A){let N=v(A),L=await F(N);L!==null&&L.updatedAt+r>n()||await se(N);},async refreshFirstPage(A){return se(v(A))},async listFirstPage(A){let N=v(A),L=f.get(N);if(L!==void 0&&L.generation===_(N))return G(N,L),L.page;let j=await F(N);return j!==null?j.page:se(N)},async listNextPage(A){return ee(O(A,"list"))},async searchFirstPage(A,N){let L=v(A),j=N.trim();return j===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):ee({channelId:L,kind:"search",keyword:j})},async refreshSearchFirstPage(A,N){let L=v(A),j=N.trim();return j===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):ee({channelId:L,kind:"search",keyword:j},true)},async searchNextPage(A){return ee(O(A,"search"))}},async invalidate(A){if(!D)return;let N=A.trim();if(N==="")return;g.set(N,_(N)+1),m.add(N);let L=f.get(N);L?.page.nextPageToken!==void 0&&u.delete(L.page.nextPageToken),f.delete(N),C.delete(N),S.delete(N);for(let[j,W]of d)W.channelId===N&&R(j);for(let[j,W]of u)W.channelId===N&&u.delete(j);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(N),m.delete(N));},clear(){if(!D)return;let A=new Set;for(let N of d.values())A.add(N.channelId);for(let N of u.values())A.add(N.channelId);for(let N of A)g.set(N,_(N)+1);d.clear(),u.clear(),s.clear(),f.clear(),C.clear(),S.clear(),m.clear();},dispose(){D&&(D=false,d.clear(),u.clear(),s.clear(),f.clear(),C.clear(),S.clear(),m.clear());}}}var Qu=20*1024*1024;function fn(e){return $({...e,retryable:e.retryable??false})}function so(e,n){if(e?.conversationType==="supergroup")throw fn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw fn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function Zu(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 fn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function ep(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw fn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Pc(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw fn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:ep(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw fn({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 co(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 np(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Ac(e){let n=e.maxCustomImageBytes??Qu,r=false,c=0,i,d;async function s(g,f){try{return await f(Zu(e.storage,g))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:fn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:g,cause:C})}}return {api:{async getBackground(g){let f="conversations.getBackground",C=so(g,f);return s(f,async S=>{let m=await S.getConversationBackground(C);if(m!==null)return Object.freeze({source:"conversation",selection:co(m)});let h=await S.getDefaultConversationBackground();return Object.freeze(h===null?{source:"builtin",selection:null}:{source:"default",selection:co(h)})})},async setBackground(g,f){let C="conversations.setBackground",S=so(g,C),m=await Pc(f,C,n);await s(C,h=>h.saveConversationBackground(S,m));},async resetBackground(g){let f="conversations.resetBackground",C=so(g,f);await s(f,S=>S.deleteConversationBackground(C));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async f=>{let C=await f.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:co(C)})})},async setDefaultBackground(g){let f="conversations.setDefaultBackground",C=await Pc(g,f,n);await s(f,S=>S.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",f=>f.deleteDefaultConversationBackground());},listBackgroundPresets(g){let f="conversations.listBackgroundPresets";if(r)return Promise.reject(fn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:f}));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(fn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:f}));let C=++c,S=ea$1(e.coreClient).then(m=>{let h=Object.freeze(m.map(np));return !r&&C===c&&(i=h),h}).catch(m=>{throw fn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:f,retryable:true,cause:m})}).finally(()=>{C===c&&(d=void 0);});return d=S,S}},dispose(){r=true,c+=1,i=void 0,d=void 0;}}}var lo=2;async function tp(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,c,i;for(let d=0;d<=lo;d+=1){e.signal?.throwIfAborted();let s=await e.loadReadCursorPage(c);if(e.signal?.throwIfAborted(),s===void 0)break;if(i!==void 0&&i!==s.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");i=s.readCursorSortKey;for(let f of s.messages){if(f.conversationId!==e.conversation.conversationId||f.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(f.id,f);}let u=[...n.values()].sort(m$1),g=bt(u,e.selfId,i).unreadMessages[0];if(g!==void 0)return await e.openAt(g.sortKey,{messages:u,hasNewer:!s.exhausted,...s.nextCursor===void 0?{}:{nextCursor:s.nextCursor}}),e.signal?.throwIfAborted(),uo(g.id,e.unreadCount);if(s.exhausted||s.nextCursor===void 0||s.nextCursor===c||r.has(s.nextCursor))break;r.add(s.nextCursor),c=s.nextCursor;}return Object.freeze({state:"unavailable"})}function rp(e){return fa(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function bt(e,n,r){let c=[];for(let i of e)!rp(i)||r!==void 0&&i.sortKey<=r||ka$1(i,n)&&c.push(i);return {unreadMessages:c}}function uo(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Ec(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return tp(e);if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let c=bt(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;c.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<lo;d+=1)await e.loadNewer(),c=bt(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),uo(i.id,e.unreadCount))}await e.openLatest();let n=bt(e.list(),e.selfId,void 0);for(let c=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&c<lo;c+=1)await e.loadOlder(),n=bt(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),uo(r.id,e.unreadCount))}function St(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 op(e){return e instanceof ua?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function ip(e){let n=[];for(let r=0;r<e.length;r+=C$1)n.push(e.slice(r,r+C$1));return n}async function Rc(e){let n=[...new Set(e.messageIds.map(s=>s.trim()).filter(s=>s!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],c=[],i=[],d;for(let s of ip(n)){if(!e.isCurrent()){i.push(...s);continue}try{let u=await e.fetchBatch(s);if(!e.isCurrent()){i.push(...s);continue}let g=new Set(u.messages.map(C=>C.id)),f=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),c.push(...u.missingMessageIds);for(let C of s)!g.has(C)&&!f.has(C)&&i.push(C);}catch(u){i.push(...s),d=op(u);}}return {messages:r,missingMessageIds:c,unresolvedMessageIds:i,...d===void 0?{}:{failure:d}}}var mo=new WeakMap;function or(e,n){let r=mo.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");mo.set(e,r);}var ap={"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}},sp={"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}},wc={"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}},Tc={"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 _c(e,n,r){let c=$({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function cp(e,n){let r=$({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 dp=3*1024*1024,po=200*1024*1024,Dc=2*1024*1024*1024,kc=30*1024*1024,Oc=4294967295,lp=6,up=16*1024,pp=300;async function mp(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 fp={"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 fo(e,n,r$1,c,i={},d={}){d.signal?.throwIfAborted();let s=Object.freeze({...e}),u=n.pageSize??30,g=n.domainState.createMessageWindow({retention:{maxMessages:u*lp},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(I,P)=>i.shouldEstablishRemoteLatestOnOpen?.(P)===true}}),f=new Set,C=new Set,S=new Map,m,h,D=false,_=false,B=false,v=true,R=0,a=Object.freeze({state:"none"}),o=new AbortController,p=new WeakMap,b;function M(){if(_)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function U(){let I=g.window.info();return {messages:g.window.list(),draft:n.domainState.getDraft(s),loading:S.size>0,stale:D,hasOlder:I.hasMore,hasNewer:I.hasNewer,error:h,entryUnread:a}}function K(I,P){return I.length===P.length&&I.every((w,q)=>w===P[q])}function ne(I,P){return K(I.messages,P.messages)&&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 y(I){let P=p.get(I);if(P!==void 0)return P;let w=Wt(I);return p.set(I,w),w}function k(I){return {ref:s,messages:Object.freeze(I.messages.map(y)),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 E(){return M(),k(U())}function G(){let I=U();if(b!==void 0&&ne(b,I))return;b=I;let P=k(I);for(let w of f)try{w(P);}catch(q){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:q}});}}async function V(I){let P=g.window.list().find(Re=>Re.id===I)??n.domainState.getConversationMessage(s,I);if(P!==void 0)return {anchor:P};let w=n.domainState.getPinnedMessage(s),q=w?.messageId===I&&w.preview.state==="ready"?w.preview.message:void 0;if(q!==void 0)return {anchor:q,fallbackSeed:q};let ae=n.resolveSearchHistoryAnchor?.(s,I);if(ae!==void 0)return {anchor:ae};let Ee=await n.domainState.resolveConversationMessage(s,I);return Ee===void 0?void 0:{anchor:Ee}}function F(I,P){if(M(),m!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let w=S.get(I);if(w!==void 0)return w;h=void 0;let q=Promise.resolve().then(P).then(ae=>i.reconcilePage===void 0?ae:i.reconcilePage(ae,g.window)).then(ae=>{M(),D=ae.stale===true;}).catch(ae=>{let Ee=ae instanceof Ga$1?ae.cause:ae;throw _||(h=Sn(Ee,`history.${I}`,s)),v?ae:Ee}).finally(()=>{S.delete(I),_||G();});return S.set(I,q),G(),q}function se(){g.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-u));}async function ee(){B?B=false:await F("latest",()=>g.window.open(s,{limit:u})),se(),i.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await F("latest:remote",()=>g.window.loadOlder({limit:u})),se());}async function O(){let I=n.domainState.getSession(s),P=Math.max(0,I?.manuallyUnread===true?0:I?.unreadCount??0),w=n.domainState.getReadState(s),q=w?.readCursor,Ee=(q===void 0||q===""?void 0:s.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(s).find(Re=>Re.extensions?.historyCursor===q):n.domainState.getConversationMessage(s,q))?.sortKey??w?.readCursorSortKey;a=await Ec({conversation:s,pageSize:u,unreadCount:P,...Ee===void 0?{}:{readCursorSortKey:Ee},signal:o.signal,...s.conversationType!=="channel"||q===void 0||q===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Re=>{let we=g.window.getRevision(),Me=()=>!_&&!o.signal.aborted&&g.window.getRevision()===we,Le=await n.loadEntryUnreadPage({readCursor:q,...Re===void 0?{}:{cursor:Re},signal:o.signal,isCurrent:Me});if(o.signal.throwIfAborted(),!Me())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Le}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:ee,openAt:(Re,we)=>{B=false;let Me=we?.messages.map(z=>n.domainState.getConversationMessage(s,z.id)??z),Le=we?.messages.find(z=>z.sortKey===Re)?.id,sn=Le===void 0?Re:Me?.find(z=>z.id===Le)?.sortKey??Re;return F(`entry-unread:${Re}`,()=>g.window.openAt(s,{anchorSortKey:sn,limit:u,...we===void 0?{}:{seedMessages:Me,seedHasNewer:we.hasNewer,seedRemotePagination:we.nextCursor===void 0?{}:{newerCursor:we.nextCursor}}}))},loadOlder:()=>F("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>F("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let H=n.emitter.subscribe(I=>{if(!(_||!("conversation"in I)||I.conversation===void 0)&&!(I.conversation.conversationType!==s.conversationType||I.conversation.conversationId!==s.conversationId)){if((I.type==="conversation-history:cleared"||I.type==="session:removed")&&o.abort(),I.type==="draft:updated"||I.type==="draft:cleared"){let P=I.type==="draft:updated"?I.draft:null;for(let w of C)try{w(P);}catch(q){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:q}});}}G();}});function A(){return d.initialPosition==="first-unread"?O():ee()}let N=()=>{o.abort(d.signal?.reason),g.dispose();};d.signal?.addEventListener("abort",N,{once:true});try{if(d.signal?.throwIfAborted(),d.initialLoad==="local-first"){await F("initial:local",()=>g.window.open(s,{limit:u})),d.signal?.throwIfAborted(),se(),B=!0;try{await A();}catch(I){if(d.signal?.throwIfAborted(),I instanceof Ga$1)throw I;h=Sn(I,"history.initial",s),d.initialPosition==="first-unread"&&(a=Object.freeze({state:"unavailable"}));}finally{B=!1;}}else await A();d.signal?.throwIfAborted();}catch(I){throw _=true,H(),f.clear(),g.dispose(),I instanceof Ga$1?I.cause:I}finally{o.abort(),d.signal?.removeEventListener("abort",N);}v=false;function L(I,P){let w=n.domainState.getMessage(I);return w!==void 0&&w.conversationType===s.conversationType&&w.conversationId===s.conversationId?{ok:true,message:Yn(w)}:{ok:false,error:$({code:w===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:s})}}async function j(I,P,w){let q=await i.getSendPermissionError?.(I);if(M(),q!==void 0){if(w===void 0)return {ok:false,error:q};let ae=await w(q);return M(),ae}try{let ae=await P();return M(),ae}catch(ae){if(_)throw ae;return {ok:false,error:Sn(ae,I,s)}}}async function W(I,P={}){let w="name"in I?I.name:void 0,q=P.fileName??(typeof w=="string"&&w!==""?w:void 0);return {...s,data:I,...I.type===""?{}:{mimeType:I.type},...q===void 0?{}:{filename:q},...P.localPreviewUrl===void 0?{}:{localPreviewUrl:P.localPreviewUrl},...P.localPreviewMetadata===void 0?{}:{localPreviewMetadata:P.localPreviewMetadata},...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}}}function ie(I){return I===void 0||Number.isFinite(I.width)&&I.width>0&&Number.isFinite(I.height)&&I.height>0}function le(I){return ie(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<=up)}function fe(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&I.duration>pp}function me(I){return I!==void 0&&"duration"in I&&I.duration!==void 0&&Number.isFinite(I.duration)&&I.duration>0}function Z(I,P,w){return {ok:false,error:$({code:I,category:P,operation:w,retryable:false,conversation:s})}}function Oe(I,P){if(I===null||typeof I!="object"||I.kind!==P||!Number.isSafeInteger(I.width)||I.width<=0||I.width>Oc||!Number.isSafeInteger(I.height)||I.height<=0||I.height>Oc)return false;let w;try{w=new URL(I.url);}catch{return false}if(w.protocol!=="http:"&&w.protocol!=="https:"||w.username!==""||w.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 ae=I.packageId;return typeof q=="string"&&q.trim()!==""&&typeof ae=="string"&&ae.trim()!==""}function ye(I){return Object.assign(new Error(I.code),I,{name:"ImMessageActionError"})}function De(I,P,w){if(I==="direct"||I==="group"||I==="channel")return Object.freeze({conversationType:I,conversationId:P});throw ye($({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:w,retryable:false,conversation:s,details:{targetConversationType:I,targetConversationId:P}}))}async function Ke(I,P,w){let q;try{q=await n.forwardMessages({messages:P,targets:w.map(ae=>({...ae}))});}catch(ae){throw ye(Sn(ae,I,s))}return M(),Object.freeze({sent:Object.freeze(q.results.flatMap(ae=>ae.ok?[{conversation:De(ae.targetConversationType,ae.targetConversationId,I),messageId:ae.newMessageId}]:[])),failed:Object.freeze(q.results.flatMap(ae=>ae.ok?[]:[{sourceMessageId:ae.sourceMessageId,conversation:Object.freeze({conversationType:ae.targetConversationType,conversationId:ae.targetConversationId}),error:$({...fp[ae.reason],operation:I,conversation:{conversationType:ae.targetConversationType,conversationId:ae.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...q.skippedSourceIds])})}function Ue(I,P){let w=n.domainState.getConversationMessage(s,I);if(w===void 0){let q=n.domainState.getMessage(I);throw ye($({code:q===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:s}))}if(w.conversationType!==s.conversationType||w.conversationId!==s.conversationId)throw ye($({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:P,retryable:false,conversation:s}));return w}function wn(I,P){return ye($({...P,operation:I,conversation:s}))}function tn(I,P){let w=$({code:I,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...P===void 0?{}:{cause:P}});return Object.assign(new Error(I),w,{name:"ImLocalMessageDeletionError"})}function $e(I,P){let w=$({code:I,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...P===void 0?{}:{cause:P}});return Object.assign(new Error(I),w,{name:"ImLocalConversationHistoryClearError"})}function At(){if(_)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(m!==void 0)return m;n.invalidateHistory?.(s);let I=[...S.values()],P=Promise.all(I).then(async()=>{M();let w=[...n.domainState.getMessagesByConversation(s),...g.window.list()];if(n.hasOutboxForConversation(s)||w.some(q=>n.isOutboxOwned(q.id)))throw $e("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(w.some(q=>q.status==="pending"||q.status==="uploading"||q.status==="sending"))throw $e("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),M(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(w=>{throw w instanceof Error&&w.name==="ImLocalConversationHistoryClearError"?w:$e("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",w)}).finally(()=>{m===P&&(m=void 0);});return m=P,P}async function tt(I,P){if(I!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,I);}catch(w){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:w}});}}async function rn(I,P,w,q,ae){return j(I,async()=>{if(P==="image"){let Me=await $t(w);if(M(),!Me)return Z("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",I)}let Ee=await W(w,q);if(P!==void 0&&Ee.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Me=new AbortController,Le=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${I}:${++R}`,kind:P,file:w,signal:Me.signal});if(M(),Le===void 0||(P==="image"?!ie(Le):!le(Le)))return Z(P==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);Ee.localPreviewMetadata=Le;}if(P==="video"&&(n.prepareMediaPreview!==void 0||Ee.localPreviewMetadata!==void 0)&&!me(Ee.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(P==="video"&&fe(Ee.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let Re=i.recheckSendPermissionError?.(I);if(Re!==void 0)return {ok:!1,error:Re};let we=await ae({...Ee,...q.caption===void 0||q.caption===""?{}:{caption:q.caption}});return we.ok?(M(),L(we.messageId,I)):{ok:!1,error:It(we.reason,I,s)}})}async function an(I,P){let w="messages.sendMediaAlbum";if(I.length===0)return Z("IM_SDK_MEDIA_ALBUM_EMPTY","validation",w);if(I.length>9)return Z("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",w);if(P.caption!==void 0&&P.caption.length>1024)return Z("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",w);for(let q of I){if(q.file.type==="image/gif")return Z("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",w);if(q.kind==="image"){if(q.file.size>kc)return Z("IM_SDK_IMAGE_TOO_LARGE","validation",w);if(!ie(q.localPreviewMetadata))return Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",w)}else {if(q.file.size>po)return Z("IM_SDK_VIDEO_TOO_LARGE","validation",w);if(!le(q.localPreviewMetadata))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",w);if(fe(q.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",w)}}return j(w,async()=>{for(let we of I){if(we.kind!=="image")continue;let Me=await $t(we.file);if(M(),!Me)return Z("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",w)}let q=await Promise.all(I.map(async we=>{if(we.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return we.localPreviewMetadata;let Me=new AbortController;return n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${w}:${++R}`,kind:we.kind,file:we.file,signal:Me.signal})}));M();let ae=[];for(let[we,Me]of I.entries()){let Le=q[we];if(Me.kind==="image"&&!ie(Le))return Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",w);if(Me.kind==="video"){if(!le(Le))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",w);if(n.prepareMediaPreview!==void 0&&!me(Le))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",w);if(fe(Le))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",w)}let sn="name"in Me.file?Me.file.name:void 0;ae.push({kind:Me.kind,data:Me.file,...Me.file.type===""?{}:{mimeType:Me.file.type},...typeof sn=="string"&&sn!==""?{filename:sn}:{},...Me.localPreviewUrl===void 0?{}:{localPreviewUrl:Me.localPreviewUrl},...Le===void 0?{}:{localPreviewMetadata:Le}});}let Ee=i.recheckSendPermissionError?.(w);if(Ee!==void 0)return {ok:!1,error:Ee};let Re=await n.sendMediaAlbum({...s,items:ae,...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 Re.ok?(M(),L(Re.messageId,w)):{ok:!1,error:It(Re.reason,w,s)}})}function Tn(I,P,w){let q=Ue(I,w);if(q.contentType!==P||q.status!=="failed"||q.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(I))throw ye($({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s}));return q}async function _n(I,P,w,q,ae,Ee){return Tn(P,w,I),j(I,async()=>{let Re=await W(q,ae);if(w==="video"&&Re.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Le=new AbortController,sn=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${I}:${++R}`,kind:"video",file:q,signal:Le.signal});if(M(),sn===void 0||!le(sn))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",I);Re.localPreviewMetadata=sn;}if(w==="video"&&(n.prepareMediaPreview!==void 0||Re.localPreviewMetadata!==void 0)&&!me(Re.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",I);if(fe(Re.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",I);let we=i.recheckSendPermissionError?.(I);if(we!==void 0)return {ok:!1,error:we};Tn(P,w,I);let Me=await Ee(P,{...Re,...ae.caption===void 0||ae.caption===""?{}:{caption:ae.caption}});return Me.ok?(M(),L(Me.messageId,I)):{ok:!1,error:It(Me.reason,I,s)}})}let Dn={ref:s,getSnapshot:E,subscribe(I){return M(),f.add(I),()=>f.delete(I)},resolveMessage:async I=>{M();let P=g.window.list().find(w=>w.id===I)??await n.domainState.resolveConversationMessage(s,I);return P===void 0?null:y(P)},history:{loadLatest:async()=>{M(),await ee(),M(),G();},loadOlder:async()=>(M(),F("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{M(),await F("newer",()=>g.window.loadNewer({limit:u})),M(),g.window.info().hasNewer||(se(),G());},loadAround:async I=>{M();let P=await V(I);if(P===void 0||P.anchor.conversationType!==s.conversationType||P.anchor.conversationId!==s.conversationId)throw cp(s,I);let{anchor:w}=P;await F(`around:${I}`,async()=>{let q=await g.window.openAt(s,{anchorSortKey:w.sortKey,limit:u});return g.window.list().some(ae=>ae.id===I)||P.fallbackSeed===void 0?q:g.window.openAt(s,{anchorSortKey:w.sortKey,limit:u,seedMessages:[P.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(M(),At())},messages:{sendText:async(I,P={})=>{M();let w=r$1(s,I,P);if("code"in w)return {ok:false,error:w};let q=n.domainState.getDraft(s)?.updatedAt;return j("messages.sendText",async()=>{let ae=await n.sendText(w);return M(),await tt(q,"messages.sendText"),L(ae.id,"messages.sendText")},async ae=>{let Ee=i.appendTextPermissionFailure?.(w);return Ee===void 0?{ok:false,error:ae}:(await tt(q,"messages.sendText"),{ok:true,message:Yn(Ee)})})},sendContact:async(I,P={})=>{M();let w=I.targetId.trim(),q=I.displayName.trim();if(w===""||q==="")return {ok:false,error:$({code:w===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let ae={...s,contact:{...I,targetId:w,displayName:q},encrypted:s.conversationType!=="direct",...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}};return j("messages.sendContact",async()=>{let Ee=await n.sendContact(ae);return L(Ee.id,"messages.sendContact")})},sendImage:async(I,P={})=>(M(),I.size>kc?Z("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):P.caption!==void 0&&P.caption!==""?Z("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):ie(P.localPreviewMetadata)?rn("messages.sendImage","image",I,P,n.sendImage):Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(I,P={})=>(M(),an(I,P)),sendVideo:async(I,P={})=>(M(),I.size>po?Z("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):le(P.localPreviewMetadata)?rn("messages.sendVideo","video",I,P,n.sendVideo):Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(I,P,w={})=>(M(),P.size>po?Z("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):le(w.localPreviewMetadata)?_n("messages.replaceInterruptedVideo",I,"video",P,w,n.replaceVideo):Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(I,P)=>(M(),j("messages.sendVoice",async()=>{let w=await W(I,P),q=i.recheckSendPermissionError?.("messages.sendVoice");if(q!==void 0)return {ok:!1,error:q};let ae=await n.sendVoice({...w,durationMs:P.durationMs,...P.waveform===void 0?{}:{waveform:[...P.waveform]}});return ae.ok?(M(),L(ae.messageId,"messages.sendVoice")):{ok:!1,error:It(ae.reason,"messages.sendVoice",s)}})),sendFile:async(I,P={})=>{if(M(),I.size>Dc)return Z("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(P.caption!==void 0&&P.caption!=="")return Z("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let w=P.fileName??("name"in I?I.name:void 0);return typeof w!="string"||w.trim()===""?Z("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):rn("messages.sendFile",void 0,I,P,n.sendFile)},sendGif:async(I,P={})=>(M(),I.size>dp?Z("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await mp(I)?rn("messages.sendGif",void 0,I,P,w=>n.sendGif(w)):Z("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(I,P={})=>(M(),Oe(I,"sticker")?j("messages.sendSticker",async()=>{let w=await n.sendExpression({...s,asset:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return L(w.id,"messages.sendSticker")}):Z("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(I,P={})=>(M(),Oe(I,"gif")?j("messages.sendGifAsset",async()=>{let w=await n.sendExpression({...s,asset:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return L(w.id,"messages.sendGifAsset")}):Z("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(I,P={})=>(M(),I!=="rock-paper-scissors"&&I!=="dice"?Z("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):j("messages.sendGame",async()=>{let w=await n.sendGame({...s,gameType:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return L(w.id,"messages.sendGame")})),sendMiniProgram:async(I,P={})=>(M(),r(I)?j("messages.sendMiniProgram",async()=>{let w=await n.sendMiniProgram({...s,miniProgram:I,encrypted:s.conversationType!=="direct",...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return L(w.id,"messages.sendMiniProgram")}):Z("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(I,P={})=>(M(),s.conversationType==="channel"?Z("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):t$1(I)?j("messages.sendTransfer",async()=>{let w=await n.sendTransfer({...s,transfer:I,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}});return L(w.id,"messages.sendTransfer")}):Z("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(I,P)=>{M(),Ue(I,"messages.toggleReaction");let w=await n.setReaction({conversation:s,parentMessageId:I,emoji:P,action:"toggle"});if(M(),!w.ok)throw wn("messages.toggleReaction",wc[w.reason]);return Object.freeze({messageId:I,eventId:w.event.id,emoji:w.event.emoji,action:w.event.action===0?"add":"remove"})},setReaction:async(I,P,w)=>{M(),Ue(I,"messages.setReaction");let q=await n.setReaction({conversation:s,parentMessageId:I,emoji:P,action:w});if(M(),!q.ok)throw wn("messages.setReaction",wc[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,w={})=>{if(M(),P.size>Dc)return Z("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(w.caption!==void 0&&w.caption!=="")return Z("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let q=w.fileName??("name"in P?P.name:void 0);return typeof q!="string"||q.trim()===""?Z("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):_n("messages.replaceInterruptedFile",I,"file",P,{...w,fileName:q},n.replaceFile)},editText:async(I,P,w={})=>{M(),Ue(I,"messages.editText");let q=c(s,I,P,w);if("code"in q)throw ye(q);let ae;try{ae=await n.editMessage(q);}catch(Ee){throw ye(Sn(Ee,"messages.editText",s))}if(M(),!ae.ok)throw wn("messages.editText",sp[ae.reason]);return Yn(Ue(I,"messages.editText"))},recall:async I=>{M(),Ue(I,"messages.recall");let P;try{P=await n.recallMessage({...s,messageId:I});}catch(w){throw ye(Sn(w,"messages.recall",s))}if(M(),!P.ok)throw wn("messages.recall",ap[P.reason])},deleteLocal:async I=>{M();let P=n.domainState.getConversationMessage(s,I);if(n.isOutboxOwned(I))throw tn("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(P!==void 0&&P.conversationType===s.conversationType&&P.conversationId===s.conversationId&&(P.status==="pending"||P.status==="uploading"||P.status==="sending"))throw tn("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(s);let w=await n.domainState.deleteLocalMessage(s,I);return M(),Object.freeze({scope:"local-only",messageId:I,deleted:w,remoteHistory:"remote-history-may-restore"})}catch(w){throw w instanceof Error&&w.name==="ImLocalMessageDeletionError"?w:tn("IM_SDK_LOCAL_DELETE_FAILED",w)}},forward:async(I,P)=>{if(M(),I.length===0||P.length===0)throw ye($({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));return Ke("messages.forward",I.map(w=>({id:w,...s})),P)},forwardMediaAlbumItem:async(I,P,w)=>{M();let q="messages.forwardMediaAlbumItem";if(I.trim()===""||w.length===0)throw ye($({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:q,retryable:false,conversation:s}));if(!Number.isInteger(P)||P<0)throw ye($({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:q,retryable:false,conversation:s,details:{itemIndex:P}}));return Ke(q,[{id:I,...s,itemIndex:P}],w)},fetchByIds:async I=>{M();let P=n.fetchMessagesByIdBatch;if(P===void 0)throw ye($({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:s}));let w=await Rc({messageIds:I,fetchBatch:P,isCurrent:()=>!_,projectMessage:y});return Object.freeze({messages:Object.freeze([...w.messages]),missingMessageIds:Object.freeze([...w.missingMessageIds]),unresolvedMessageIds:Object.freeze([...w.unresolvedMessageIds]),...w.failure===void 0?{}:{failure:Object.freeze(w.failure)}})}},draft:{get:async()=>(M(),n.drafts.get(s)),save:async I=>(M(),n.drafts.save(s,I)),clear:async()=>{M(),await n.drafts.clear(s);},subscribe(I){return M(),C.add(I),()=>C.delete(I)}},markRead:async I=>{M();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 w=i.resolveReadMessageId===void 0?I??P.at(-1)?.id:i.resolveReadMessageId(P,I);w!==void 0&&await n.markRead({...s,readCursor:w});},setMuted:async I=>(M(),n.setMuted(s,I)),close(){_||(_=true,H(),f.clear(),C.clear(),g.dispose());}};return mo.set(Dn,{getMessages:()=>(M(),g.window.list()),resolveMessage:async I=>(M(),g.window.list().find(P=>P.id===I)??n.domainState.resolveConversationMessage(s,I))}),Dn}var gp=5e3;async function Nc(e,n,r={}){let c=false,i,d;function s(){let C=Date.now();if(i!==void 0&&C-i.checkedAt<gp)return Promise.resolve(i.value);if(d!==void 0)return d;let S=n.getRelationship(e.conversationId).then(m=>(i={value:m,checkedAt:Date.now()},m)).catch(m=>(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:m}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===S&&(d=void 0);});return d=S,S}async function u(C){if(!n.shouldCheckRelationship())return;let S=await s();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 $({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:S})})}}n.shouldCheckRelationship()&&s();let g=await fo(e,n,(C,S,m)=>m.mentions!==void 0&&m.mentions.length>0?$({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:S,...m.replyToMessageId===void 0?{}:{refMessageId:m.replyToMessageId}},(C,S,m,h)=>h.mentions!==void 0&&h.mentions.length>0?$({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:S,text:m},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),f={...g,messages:{...g.messages,async markMediaConsumed(C){let S=n.domainState.getConversationMessage(e,C);if(S===void 0||S.senderId===n.getSelfId()||S.contentType!=="voice"&&S.contentType!=="video"){let m=$({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(m.code),m)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return or(f,g),f}async function Lc(e,n,r={}){return fo(e,n,(c,i,d)=>{let s=St(d.mentions);return {...c,text:i,encrypted:true,...s===void 0?{}:{mention:s},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,i,d,s)=>{let u=St(s.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.getSession(e)!==void 0&&Fc(c,n.pageSize??30)},r)}var Ip=new Set(["pending","uploading","sending"]);function Fc(e,n){return e.length<n}function xc(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function yp(e,n,r){let c=r===void 0?e.length-1:e.findIndex(s=>s.id===r),i=e[c];if(i===void 0||xc(i))return i?.id;let d=e.slice(0,c).findLast(s=>xc(s));return d!==void 0?d.id:i.senderId===n&&Ip.has(i.status)?void 0:i.id}function hp(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 Kc(e,n,r={}){let c=await fo(e,n,(d,s,u)=>{let g=St(u.mentions);return {...d,text:s,encrypted:true,...g===void 0?{}:{mention:g},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(d,s,u,g)=>{let f=St(g.mentions);return {...d,messageId:s,text:u,...f===void 0?{}:{mention:f}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>r.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&Fc(d,n.pageSize??30)||hp(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,s)=>yp(d,n.getSelfId(),s)},r),i={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw _c(e,Tc["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:d});}catch(g){let f=Sn(g,"messages.deleteForEveryone",e);throw Object.assign(new Error(f.code,{cause:g}),f)}if(!u.ok)throw _c(e,Tc[u.reason])}}};return or(i,c),i}var vp=40,Cp=100,Mp=0;function En(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function bp(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Uc(e){let n=++Mp,r=new Map,c=new Map,i=new Map,d=new Map,s=new Map,u=0,g=true;function f(){if(!g)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(v){let R=v??vp;if(!Number.isSafeInteger(R)||R<1||R>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return R}function S(v){let R=`im-directory:${n}:${++u}`;return r.set(R,v),R}function m(v,R){let a=s.get(v);a===void 0&&(a=new Map,s.set(v,a));let o=R.map(p=>Object.freeze({...p}));for(let p of o)a.set(p.id,p);return Object.freeze(o)}async function h(v,R,a){if(f(),e.provider===void 0)throw new Error(`${En(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:v,page:R,pageSize:a});if(f(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${En(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:S({kind:v,page:o.nextPage,pageSize:a}),b=m(v,o.items);return Object.freeze({items:b,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function D(v){return {listFirstPage:R=>h(v,1,C(R?.pageSize)),listNextPage:R=>{f();let a=r.get(R);if(a===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(a.kind!==v)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${En(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${En(v)}`));let o=c.get(R);if(o!==void 0)return o;let p=h(v,a.page,a.pageSize).then(b=>(r.delete(R),b)).finally(()=>{c.delete(R);});return c.set(R,p),p}}}function _(v){f();let R=i.get(v);if(R!==void 0)return Promise.resolve(R);let a=d.get(v);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${En(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],b=new Map,M=new Set,U=1;for(;;){if(f(),M.has(U))throw new Error(`${En(v)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);M.add(U);let ne=await e.provider.list({kind:v,page:U,pageSize:Cp});if(f(),ne.exhausted===(ne.nextPage!==void 0))throw new Error(`${En(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let y of ne.items)b.has(y.id)||p.push(y.id),b.set(y.id,y);if(ne.nextPage===void 0)break;if(!Number.isSafeInteger(ne.nextPage)||ne.nextPage<1)throw new Error(`${En(v)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);U=ne.nextPage;}let K=m(v,p.map(ne=>b.get(ne)));return f(),i.set(v,K),K})().finally(()=>{d.delete(v);});return d.set(v,o),o}async function B(v){if(f(),v.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[R,a,o,p]=await Promise.all([_("individual"),_("group"),_("channel"),ea(v)]);f();function b(U,K){let ne=[];for(let y of K){let k=y==="displayName"?U.displayName:y==="username"?U.username:U.id;if(k===void 0||k==="")continue;let E=p.match(k,{pinyin:y==="displayName"});E!==null&&ne.push(bp(y,E));}return ne.length===0?null:Object.freeze({item:U,matches:Object.freeze(ne)})}function M(U,K){return Object.freeze(U.flatMap(ne=>{let y=b(ne,K);return y===null?[]:[y]}))}return Object.freeze({keyword:p.keyword,contacts:M(R,["displayName","username","id"]),groups:M(a,["displayName"]),channels:M(o,["displayName"])})}return {contacts:D("individual"),groups:D("group"),channels:D("channel"),search:{search:B},peekItem:(v,R)=>(f(),s.get(v)?.get(R)),dispose:()=>{g=false,r.clear(),c.clear(),i.clear(),d.clear(),s.clear();}}}function Sp(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw $({code:e.conversationType==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_DRAFT_CONVERSATION_INVALID",category:e.conversationType==="supergroup"?"unsupported":"validation",operation:"drafts",retryable:false,conversation:e})}function ir(e){return Sp(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Pp(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw $({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 Bc(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(ir(i))},async save(i,d){r();let s=ir(i);return e.domainState.saveDraft(s,Pp(s,d))},async clear(i){r(),await e.domainState.clearDraft(ir(i));},subscribe(i,d){r();let s=ir(i),u=e.emitter.subscribe(f=>{f.type!=="draft:updated"&&f.type!=="draft:cleared"||f.conversation.conversationType!==s.conversationType||f.conversation.conversationId!==s.conversationId||d(f.type==="draft:updated"?f.draft:null);}),g=()=>{u(),n.delete(g);};return n.add(g),g}},dispose(){for(let i of [...n])i();}}}var Ap=20,Gc=50,Hc=30,jc=4294967295;function Gn(e){let n=$(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ve(e,n){return Gn({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 Gn({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 Gn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return Gn({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 Gn({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 Gn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function gn(e,n,r){if(typeof e!="string"||e.trim()==="")throw Ve(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Ep(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 Rp(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw Ve(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function wp(e,n,r){let c=gn(e,n,r),i;try{i=new URL(c);}catch{throw Ve(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Ve(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Ve(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function Vc(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>jc)throw Ve(r,`${n} \u5FC5\u987B\u662F 1-${jc} \u7684\u6574\u6570`);return Number(e)}function Yc(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ve(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:wp(e.url,"url",n),width:Vc(e.width,"width",n),height:Vc(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:gn(e.packageId,"packageId",n),resourceId:gn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ve(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:gn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...c===void 0?{}:{resourceId:c}}}function Tp(e,n){if(e===null||typeof e!="object")throw Ve(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:gn(e.token,"token",n),resourceId:gn(e.resourceId,"resourceId",n)}:Yc(e,n)}function _p(e,n){if(e!=="sticker"&&e!=="gif")throw Ve(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Dp(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ve(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function qc(e,n){if(!Array.isArray(e))throw Ve(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(c=>gn(c,"recordId",n)))];if(r.some(c=>c.includes("|")))throw Ve(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>Hc)throw Ve(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Hc} \u4E2A id`);return r}function Wc(e,n){let r=e?.offset??0,c=e?.pageSize??Ap;if(!Number.isSafeInteger(r)||r<0)throw Ve(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>Gc)throw Ve(n,`pageSize \u5FC5\u987B\u662F 1-${Gc} \u7684\u6574\u6570`);return {offset:r,limit:c}}function $c(e){return Object.freeze({...e})}function kp(e){return Object.freeze({...e})}function Jc(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 Xc(e){function n(i){if(!e.isActive())throw Gn({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 s;try{s=await d(e.provider);}catch(u){throw n(i),zc(i,u)}return n(i),s}let c={packs:Object.freeze({list:async i=>{let d="expressions.packs.list",s=i?.version===void 0?void 0:Rp(i.version,"version",d),u=await r(d,f=>f.listStickerPacks(s)),g=Object.freeze(u.items.map(f=>Object.freeze({...f})));return Object.freeze({version:u.version,items:g})},listItems:async i=>{let d="expressions.packs.listItems",s=gn(i,"packageId",d),u=await r(d,g=>g.listStickerItems(s));return Object.freeze(u.map($c))}}),favorites:Object.freeze({list:async i=>{let d="expressions.favorites.list",s=await r(d,u=>u.listFavorites(_p(i,d)));return Object.freeze(s.map($c))},add:async i=>{let d="expressions.favorites.add",s=Yc(i,d);await r(d,u=>u.addFavorite(s));},delete:async i=>{let d="expressions.favorites.delete",s=qc(i,d);await r(d,u=>u.deleteFavorites(s));}}),recent:Object.freeze({list:async i=>{let d="expressions.recent.list",s=await r(d,u=>u.listRecent(Dp(i,d)));return Object.freeze(s.map(kp))},report:async i=>{let d="expressions.recent.report",s=Tp(i,d);await r(d,u=>u.reportRecent(s));},delete:async i=>{let d="expressions.recent.delete",s=qc(i,d);await r(d,u=>u.deleteRecent(s));}}),reactions:Object.freeze({listTop:async i=>{let d="expressions.reactions.listTop",s=i?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw Ve(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(d,async u=>{let g=await u.listReactionTop(s);if(!Array.isArray(g))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(g.map(f=>Ep(f,"reaction emoji")))})},report:async i=>{let d="expressions.reactions.report",s=gn(i,"emoji",d);await r(d,u=>u.reportReaction(s));}}),giphy:Object.freeze({trending:async i=>{let d="expressions.giphy.trending",s=await r(d,u=>u.listGiphyTrending(Wc(i,d)));return Jc(s)},search:async(i,d)=>{let s="expressions.giphy.search",u=gn(i,"query",s),g=await r(s,f=>f.searchGiphy({query:u,...Wc(d,s)}));return Jc(g)}})};return {api:Object.freeze(c)}}function Hn(e,n,r){try{r();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?$({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):$({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function Qc(e){return {createRoom(n){Hn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Hn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Hn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Hn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Hn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Hn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Hn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Op=30,xp=300*1e3,Np=64,Lp=900*1e3,Fp=2048,Kp=0;function In(e){let n=$({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 Zc(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Op,c=e.tokenTtlMs??xp,i=e.maxTokens??Np,d=e.anchorTtlMs??Lp,s=e.maxAnchors??Fp;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++Kp,g=new Map,f=new Map,C=0,S=true;function m(E){if(!S)throw In({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:E,retryable:false});if(e.isAvailable?.()===false)throw In({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:E,retryable:false})}function h(E,G){let V=E.trim();if(V==="")throw In({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:G,retryable:false});return V}function D(E){let G=`im-search:${u}:${++C}`;for(g.set(G,{...E,expiresAt:n()+c});g.size>i;){let V=g.keys().next().value;if(typeof V!="string")break;g.delete(V);}return G}function _(E,G){return JSON.stringify([E.conversationType,E.conversationId,G])}function B(E){for(let[G,V]of f)V.expiresAt<=E&&f.delete(G);}function v(E,G){let V=Object.freeze({conversationType:E.conversationType,conversationId:E.conversationId}),F=_(V,E.id);for(f.delete(F),f.set(F,{anchor:Object.freeze({id:E.id,conversationType:E.conversationType,conversationId:E.conversationId,sortKey:E.sortKey}),expiresAt:G+d});f.size>s;){let se=f.keys().next().value;if(typeof se!="string")break;f.delete(se);}}function R(E,G){let V=G==="conversation"?"search.conversations.next":"search.messages.next";m(V);let F=g.get(E);if(F===void 0||F.expiresAt<=n())throw g.delete(E),In({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:V,retryable:false});if(F.kind!==G)throw In({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:V,retryable:false});return F}function a(E){let G=E.draft?.text.trim();return G===void 0||G===""?E.lastMessagePreview:G}function o(E){let G=Object.freeze({conversationType:E.type,conversationId:E.id});return Object.freeze({ref:G,title:E.title,preview:a(E)})}function p(E,G){let V=Object.freeze(E.slice(G,G+r)),F=G+V.length,se=F>=E.length,ee=se?void 0:D({kind:"conversation",items:E,offset:F});return Object.freeze({items:V,...ee===void 0?{}:{nextPageToken:ee},exhausted:se})}async function b(E,G,V){m(V);let F=h(G,V).toLowerCase(),se=Object.freeze(e.domainState.getConversationList().filter(ee=>(ee.type==="direct"||ee.type==="group"||ee.type==="channel")&&(E===void 0||ee.type===E)&&`${ee.title}
2
+ ${ee.id}`.toLowerCase().includes(F)).map(o));return p(se,0)}function M(E,G,V){let F=E.conversationId.trim();if(E.conversationType!==G||F==="")throw In({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:V,retryable:false});return Object.freeze({conversationType:G,conversationId:F})}function U(E,G){let V=E.conversationType,F=E.conversationId.trim();if(V!=="direct"&&V!=="group"&&V!=="channel"||F==="")throw In({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:V==="supergroup"?"unsupported":"validation",operation:G,retryable:false});return Object.freeze({conversationType:V,conversationId:F})}async function K(E){m("search.messages");let G;try{G=await e.domainState.searchMessages(E.ref,{...E.keyword===void 0?{}:{keyword:E.keyword},...E.contentTypes===void 0?{}:{contentTypes:E.contentTypes},limit:r,...E.beforeSortKey===void 0?{}:{beforeSortKey:E.beforeSortKey}});}catch(H){throw In({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:H})}let V=new Set,F=[],se=n();B(se);for(let{message:H}of G.results){if(H.conversationType!==E.ref.conversationType||H.conversationId!==E.ref.conversationId||H.sortKey.trim()===""||E.contentTypes!==void 0&&!E.contentTypes.includes(H.contentType))throw In({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});V.has(H.id)||(V.add(H.id),v(H,se),F.push(Object.freeze({ref:E.ref,messageId:H.id,senderId:H.senderId,createdAt:k(H),contentType:H.contentType,preview:ca$1(H)})));}let ee=G.nextBeforeSortKey?.trim();if(!G.exhausted&&(ee===void 0||ee==="")||G.exhausted&&ee!==void 0)throw In({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let O=ee===void 0?void 0:D({kind:"message",ref:E.ref,...E.keyword===void 0?{}:{keyword:E.keyword},...E.contentTypes===void 0?{}:{contentTypes:E.contentTypes},beforeSortKey:ee});return Object.freeze({items:Object.freeze(F),...O===void 0?{}:{nextPageToken:O},exhausted:G.exhausted})}async function ne(E,G,V,F){m(F);let se=M(E,G,F);return K({ref:se,keyword:h(V,F)})}async function y(E,G,V,F){m(V);let se=U(E,V),ee=F?.trim();return K({ref:se,...ee===void 0||ee===""?{}:{keyword:ee},contentTypes:Object.freeze([G])})}return {api:{conversations:{all:E=>b(void 0,E,"search.conversations.all"),direct:E=>b("direct",E,"search.conversations.direct"),groups:E=>b("group",E,"search.conversations.groups"),channels:E=>b("channel",E,"search.conversations.channels"),async next(E){let G=R(E,"conversation");return p(G.items,G.offset)}},messages:{inDirect:(E,G)=>ne(E,"direct",G,"search.messages.inDirect"),inGroup:(E,G)=>ne(E,"group",G,"search.messages.inGroup"),inChannel:(E,G)=>ne(E,"channel",G,"search.messages.inChannel"),texts:async(E,G)=>(m("search.messages.texts"),y(E,"text","search.messages.texts",h(G,"search.messages.texts"))),files:(E,G)=>y(E,"file","search.messages.files",G),images:E=>y(E,"image","search.messages.images"),videos:E=>y(E,"video","search.messages.videos"),voices:E=>y(E,"voice","search.messages.voices"),async next(E){let G=R(E,"message");return K(G)}}},resolveHistoryAnchor(E,G){if(!S||e.isAvailable?.()===false)return;let V=_(E,G),F=f.get(V);if(F!==void 0){if(F.expiresAt<=n()){f.delete(V);return}return F.anchor}},dispose(){S&&(S=false,g.clear(),f.clear());}}}function ed(e){let n=new Map,r=new Set,c=new Map,i=new Set,d=false,s=e.schedule??(C=>{let S=setTimeout(C,120);return ()=>clearTimeout(S)});function u(C,S,m){try{e.report(C,S,m);}catch{}}async function g(C){let S={conversationType:"channel",conversationId:C};r.add(C);try{for(let m=0;m<2;m+=1){let h=n.get(C);if(d||!e.isActive()||h===void 0||e.domainState.getSession(S)===void 0){n.delete(C);return}if(e.domainState.hasPendingChannelRead(S)){i.add(C),u("channel-read-summary-deferred",S,{reason:"read-pending"});return}if(n.delete(C),e.domainState.getReadState(S)?.readCursor!==h)return;let _=e.domainState.getChannelReadRevision(S),B=Date.now(),v;try{v=await e.loadSummary({channelId:C,readCursor:h});}catch(R){!d&&e.isActive()&&u("channel-read-summary-failed",S,{reason:"request-failed",durationMs:Date.now()-B,errorName:R instanceof Error?R.name:"Unknown",errorCode:typeof R=="object"&&R!==null&&"code"in R&&typeof R.code=="string"?R.code:void 0});return}if(d||!e.isActive()||e.domainState.getSession(S)===void 0)return;if(e.domainState.hasPendingChannelRead(S)||e.domainState.getChannelReadRevision(S)!==_){if(u("channel-read-summary-discarded",S,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(S)){n.has(C)||n.set(C,h),i.add(C);return}if(m===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(S)&&e.domainState.getReadState(S)?.readCursor===h){n.set(C,h);continue}return}if(v===void 0||v.readCursor!==h){u("channel-read-summary-discarded",S,{reason:v===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(S,v),n.get(C)===h&&n.delete(C),u("channel-read-summary-applied",S,{unreadCount:v.unreadCount,durationMs:Date.now()-B});return}}finally{r.delete(C),n.has(C)&&!i.has(C)&&f(C);}}function f(C){d||i.has(C)||r.has(C)||c.has(C)||c.set(C,s(()=>{c.delete(C),g(C);}));}return {settled(C){i.delete(C.channelId),n.has(C.channelId)&&f(C.channelId);},request(C){d||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||i.delete(C.channelId),n.set(C.channelId,C.readCursor),f(C.channelId));},dispose(){d=true;for(let C of c.values())C();c.clear(),n.clear(),i.clear();}}}function ar(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 nd(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 td(e){function n(u){let g=0n;for(let f=0;f<10;f++){let C=u+f,S=e[C];if(S===void 0)return {ok:false,kind:"truncated-varint"};if(g|=BigInt(S&127)<<BigInt(f*7),(S&128)===0)return {ok:true,nextOffset:C+1,value:g}}return {ok:false,kind:"invalid-varint"}}let r=[],c,i=0;function d(u,g,f){return {protobufWireStatus:u,protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:g,protobufFailureOffset:f,protobufBytesRemaining:Math.max(0,e.length-f)}}function s(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 f=Number(g.value>>3n),C=Number(g.value&0x07n);if(!Number.isSafeInteger(f)||f<=0)return d("invalid","invalid-field-number",u);if(i=g.nextOffset,C===0){let S=i,m=n(S);if(!m.ok)return d(m.kind==="truncated-varint"?"truncated":"invalid",m.kind,S);i=m.nextOffset;}else if(C===1){if(e.length-i<8)return d("truncated","truncated-fixed64",i);i+=8;}else if(C===2){let S=i,m=n(S);if(!m.ok)return d(m.kind==="truncated-varint"?"truncated":"invalid",m.kind==="truncated-varint"?"truncated-length":m.kind,S);if(m.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",S);i=m.nextOffset;let h=Number(m.value);if(h>e.length-i)return d("truncated","truncated-length-delimited",i);i+=h;}else if(C===5){if(e.length-i<4)return d("truncated","truncated-fixed32",i);i+=4;}else return d("invalid","invalid-wire-type",u);s(f);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}function rd(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=[],s=C=>{d.push({...C,source:"history"});},u=C=>{i.push(C);};if(n.conversationType==="group"){let C={...e.groupDecrypt(),onDecryptRecovery:s},S=Date.now(),m=await Fa$1({http:e.http,userId:c.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:S,direct:1,limit:30,decryptDeps:C,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let h=m.batchSize<30||m.oldestEntryTime===void 0||m.oldestEntryTime>=S;return {messages:m.messages,reactions:i,recoveries:d,exhausted:h,...h?{}:{nextCursor:String(m.oldestEntryTime)}}}let g={...e.channelDecrypt(),onDecryptRecovery:s},f=await xa({http:e.http,userId:c.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:g,prepareKey:C=>e.prepareChannelKeys([C]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:f.messages,reactions:i,recoveries:d,exhausted:!f.hasOlder,...f.nextCursor===void 0?{}:{nextCursor:f.nextCursor}}}}var Up=5*6e4,Bp=1440*6e4,Pt=2*1024*1024,od=20,et=class extends Error{constructor(r){super(r);this.reason=r;}reason};function Rn(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Gp(e,n){let r=new TextEncoder,c=new WeakSet,i=0,d=0,s=performance.now();async function u(){++d%64===0&&performance.now()-s>=4&&(await n(),s=performance.now());}async function g(f){if(!(i>Pt))if(await u(),typeof f=="string"){i+=8;for(let C=0;C<f.length&&i<=Pt;C+=16384)i+=r.encode(f.slice(C,C+16384)).byteLength,await u();}else if(f!==null&&typeof f=="object"){if(c.has(f))return;if(c.add(f),i+=32,ArrayBuffer.isView(f)||f instanceof ArrayBuffer){i+=f.byteLength;return}for(let C in f)if(Object.hasOwn(f,C)&&(await g(C),await g(f[C]),i>Pt))break}else i+=8;}return await g(e),i}function id(e){let n=e.now??Date.now,r=new Map,c=new Map,i=new Map,d,s=true,u=0,g=new WeakMap,f=new WeakSet,C=new WeakMap,S=0,m=Promise.resolve();function h(y,k,E){try{e.report(y,{...k},{remainingNetworkPages:Math.max(0,od-S),...E});}catch{}}function D(y,k=n()){return y===void 0?0:Math.max(0,k-y)}function _(y,k,E,G){let V=G?.diagnostics;h("recent-history-prefetch-result",y,{status:k,reason:E,queueDurationMs:D(V?.queuedAt,V?.startedAt),requestDurationMs:V?.requestDurationMs??D(V?.requestStartedAt),persistenceDurationMs:V?.persistenceDurationMs??D(V?.persistenceStartedAt)});}function B(y){let k=m.then(y,y);return m=k.catch(()=>{}),k}function v(y){return s&&y.generation===u&&!y.controller.signal.aborted&&y.epoch===(r.get(y.key)??0)&&e.fingerprint(y.ref)===y.fingerprint}function R(y){if(!v(y))throw Rn()}async function a(y,k=false){let E=Fa(y),G=r.get(E)??0,V=u,F=e.fingerprint(y),se=O=>(h("recent-history-cache-miss",y,{reason:O,allowStale:k}),null);if(!s||F===void 0||e.cache===void 0)return se(s?F===void 0?"unavailable":"storage-unavailable":"disposed");if(await m,!s||V!==u||G!==(r.get(E)??0)||e.fingerprint(y)!==F)return se("invalidated");let ee=await e.cache.get(y);return !s||V!==u||G!==(r.get(E)??0)||e.fingerprint(y)!==F?se("invalidated"):ee===null?se("empty"):ee.version!==1?se("version-mismatch"):Fa(ee.conversation)!==E?se("identity-mismatch"):ee.fingerprint!==F?se("fingerprint-mismatch"):ee.fetchedAt>n()?se("future-timestamp"):n()-ee.fetchedAt>(k?Bp:Up)?se("expired"):(g.set(ee,{key:E,epoch:G,generation:u}),ee)}async function o(y){R(y);try{let F=await a(y.ref);if(R(y),F!==null)return y.diagnostics.source="cache",h("recent-history-cache-hit",y.ref),{page:F,durable:!0}}catch(F){if(R(y),y.diagnostics.failureReason="cache-read-failed",h("recent-history-cache-read-failed",y.ref,{reason:"cache-read-failed"}),![...y.consumers.values()].includes("foreground"))throw F}if(![...y.consumers.values()].includes("foreground")){if(S>=od)throw new et("budget");S+=1;}let E=n();y.diagnostics.source="network",y.diagnostics.requestStartedAt=E;let G;try{G=await e.fetchPage(y.ref,y.controller.signal);}catch(F){throw y.diagnostics.failureReason="request-failed",F}finally{y.diagnostics.requestDurationMs=D(E);}R(y),await e.yieldToEventLoop(),R(y);let V={version:1,conversation:{...y.ref},fetchedAt:n(),fingerprint:y.fingerprint,messages:G.messages,reactions:G.reactions,exhausted:G.exhausted,...G.nextCursor===void 0?{}:{nextCursor:G.nextCursor},byteLength:0};if(g.set(V,{key:y.key,epoch:y.epoch,generation:y.generation}),G.recoveries!==void 0&&G.recoveries.length>0&&C.set(V,G.recoveries),C.has(V)||V.messages.some(F=>F.encryption.decryptFailed===true))return f.add(V),{page:V,durable:false,reason:"decrypt-failed"};if(V.byteLength=await Gp(V,e.yieldToEventLoop),R(y),h("recent-history-page-loaded",y.ref,{durationMs:n()-E,messageCount:V.messages.length,byteLength:V.byteLength}),V.byteLength>Pt)return {page:V,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:V,durable:false,reason:"storage-unavailable"};y.diagnostics.persistenceStartedAt=n();try{let F=await B(async()=>(R(y),e.cache.put(V)));return R(y),{page:V,durable:F,...F?{}:{reason:"page-too-large"}}}catch(F){return R(y),y.diagnostics.failureReason="cache-write-failed",h("recent-history-cache-write-failed",y.ref,{reason:"cache-write-failed"}),{page:V,durable:false,storageError:F}}finally{y.diagnostics.persistenceDurationMs=D(y.diagnostics.persistenceStartedAt);}}function p(y,k){y.started||(y.started=true,y.diagnostics.startedAt=n(),h("recent-history-prefetch-start",y.ref,{kind:k?"background":"foreground",queueDurationMs:D(y.diagnostics.queuedAt,y.diagnostics.startedAt)}),k&&(d=y),o(y).then(y.resolve,y.reject).finally(async()=>{c.get(y.key)===y&&c.delete(y.key),d===y&&(d=void 0),await e.yieldToEventLoop(),b();}));}function b(){if(!s||d!==void 0||i.size>0||!e.canRunBackground())return;let y=[...c.values()].find(k=>!k.started&&k.consumers.size>0);y!==void 0&&p(y,true);}function M(y,k,E){if(!s||E?.aborted===true)return k==="background"&&_(y,"cancelled","cancelled"),Promise.reject(Rn());let G=Fa(y),V=e.fingerprint(y);if(V===void 0)return k==="background"&&_(y,"skipped","unavailable"),Promise.reject(new et("unavailable"));let F=c.get(G);F!==void 0&&!v(F)&&(F.controller.abort(),F.reject(Rn()),c.delete(G),F=void 0);let se=F!==void 0;if(F===void 0){let A,N,L=new Promise((j,W)=>{A=j,N=W;});F={ref:{...y},key:G,fingerprint:V,generation:u,epoch:r.get(G)??0,controller:new AbortController,consumers:new Map,started:false,promise:L,resolve:A,reject:N,diagnostics:{queuedAt:n()}},c.set(G,F);}let ee=F,O=Symbol(k);ee.consumers.set(O,k),k==="background"&&h("recent-history-prefetch-queued",y,{reason:se?"shared-request":"new-request"});let H=new Promise((A,N)=>{let L=false,j=(ie,le)=>{L||(L=true,E?.removeEventListener("abort",W),ee.consumers.delete(O),ee.consumers.size===0&&(ee.controller.abort(),ee.started||(c.get(ee.key)===ee&&c.delete(ee.key),ee.reject(Rn()))),k==="background"&&(le instanceof et?_(y,"skipped",le.reason,ee):le instanceof Error&&le.name==="AbortError"?_(y,"cancelled","cancelled",ee):le!==void 0||ie?.storageError!==void 0?_(y,"failed",ee.diagnostics.failureReason??"request-failed",ee):ie?.durable===true?_(y,"ready",ee.diagnostics.source==="cache"?"cache-hit":"persisted",ee):_(y,"skipped",ie?.reason??"not-persisted",ee)),le!==void 0?N(le):A(ie));};function W(){j(void 0,Rn());}E?.addEventListener("abort",W,{once:true}),ee.promise.then(ie=>j(ie),ie=>j(void 0,ie));});return k==="foreground"?p(ee,false):b(),H}function U(y){let k=Fa(y);i.set(k,(i.get(k)??0)+1),d!==void 0&&d.key!==k&&![...d.consumers.values()].includes("foreground")&&(d.controller.abort(),d.reject(Rn()));let E=false;return ()=>{if(E)return;E=true;let G=(i.get(k)??1)-1;G>0?i.set(k,G):i.delete(k),b();}}function K(y){if(!s||y.conversationType!=="group"&&y.conversationType!=="channel")return;let k={...y,conversationType:y.conversationType},E=Fa(y);r.set(E,(r.get(E)??0)+1);let G=c.get(E);G?.controller.abort(),G?.reject(Rn()),c.delete(E),h("recent-history-cache-invalidated",k,{reason:"explicit-invalidation"}),B(async()=>e.cache?.delete(k)).catch(()=>h("recent-history-cache-delete-failed",k,{reason:"cache-delete-failed"}));}function ne(y){let k=g.get(y);return s&&k!==void 0&&k.generation===u&&k.epoch===(r.get(k.key)??0)}return {readCached:a,isPageCurrent:ne,enterForeground:U,invalidate:K,notifySchedulingChanged:b,takeRecoveries(y){if(!ne(y))return [];let k=C.get(y)??[];return C.delete(y),k},async confirmConsumed(y){let k=e.fingerprint(y.conversation);if(!ne(y)||f.has(y)||k===void 0||e.cache===void 0||k===y.fingerprint||y.byteLength>Pt||y.messages.some(V=>V.encryption.decryptFailed===true))return;let E=Fa(y.conversation),G=r.get(E)??0;await B(async()=>{ne(y)&&G===(r.get(E)??0)&&e.fingerprint(y.conversation)===k&&await e.cache.put({...y,fingerprint:k});}).catch(()=>h("recent-history-cache-write-failed",y.conversation,{reason:"cache-write-failed"}));},async latest(y,k){return (await M(y,"foreground",k)).page},async prefetchRecent(y,k={}){let E=[];for(let[G,V]of y.entries()){if(G>0&&G%16===0&&await e.yieldToEventLoop(),k.signal?.aborted===true||!s){_(V,"cancelled","cancelled"),E.push({ref:V,status:"cancelled",reason:"cancelled"});continue}if(V.conversationType==="direct"){_(V,"skipped","unsupported"),E.push({ref:V,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){_(V,"skipped","storage-unavailable"),E.push({ref:V,status:"skipped",reason:"storage-unavailable"});continue}try{let F=await M({...V,conversationType:V.conversationType},"background",k.signal);if(F.storageError!==void 0)throw F.storageError;E.push({ref:V,status:F.durable?"ready":"skipped",...F.reason===void 0?{}:{reason:F.reason}});}catch(F){F instanceof et?E.push({ref:V,status:"skipped",reason:F.reason}):F instanceof Error&&F.name==="AbortError"?E.push({ref:V,status:"cancelled",reason:"cancelled"}):(h("recent-history-prefetch-failed",V,{reason:"prefetch-failed"}),E.push({ref:V,status:"failed",error:$({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:V,cause:F})}));}}return E},dispose(){s=false;for(let y of c.values())y.controller.abort(),y.reject(Rn());return c.clear(),m.then(()=>{})},async clear(){if(s){u+=1;for(let y of [...c.values()])K(y.ref);await B(async()=>e.cache?.clear());}}}}function Hp(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 ad(e){let n=g=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:g,getClientType:()=>e.clientType,fetch:r});function r(g,f){return c(),globalThis.fetch(g,f)}function c(){if(!e.isActive())throw $({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let g=e.coreClient,f=e.http??n(e.authProvider.getLoginContext);return {coreClient:g===void 0?void 0:async(C,S)=>{c();let m=await g(C,S);return c(),m},http:{async postProtobuf(C){c();let S=await f.postProtobuf(C);return c(),S}}}}async function i(g,f,C){if(!(!e.isActive()||C?.aborted||!f?.userId||!f.token))try{let S=await e.authProvider.getLoginContext();if(!e.isActive()||C?.aborted||S?.userId!==f.userId||S.token!==f.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 s=e.coreClient;return {coreClient:s===void 0?void 0:async(g,f)=>{let C=await d(),S,m=await s(g,{...f,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:D=>{S=D;}});if(c(),S===void 0)throw $({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let h=Hp(S);return h!==void 0&&await i(h,C,f?.signal),m},http:{async postProtobuf(g){let f=await d(),C=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(C==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let S=e.http??v({getBaseUrl:()=>C,getAuth:async()=>f,getClientType:()=>e.clientType,fetch:r});try{c();let m=await S.postProtobuf(g);return c(),m}catch(m){throw await i(m instanceof ua?{service:"cm",kind:"http",httpStatus:m.status}:{service:"cm",kind:"network"},f,g.signal),m}}}}}var jp=2,nt=30,zp=50,Vp=5,qp=20;function sd(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 Wp(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 $p(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??jp,d$1={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i$1}}},s$1="",u$1=Gr(e$1.debug,()=>({generation:c,...s$1===""?{}:{accountId:s$1}})),g=true,{coreClient:f$1,http:C$1}=ad({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=e$1.transport??_a(),m$1=e$1.adapters?.storage,h$1=m$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:Za({namespaceFactory:r,mediaAssetCache:{strategies:Vs()}})),D=t=>{let l=h$1?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>Ao(t)).catch(T=>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:T}}));},_=Wp(h$1)?h$1:void 0,B=Ac({...h$1===void 0?{}:{storage:h$1},...f$1===void 0?{}:{coreClient:f$1}}),v,R$1,a$1=Hs({...h$1===void 0?{}:{storage:h$1},conversationBackgrounds:B.api,onDirectReadReceiptDisabled:t=>v?.(t)}),o$1=0;function p$1(t){return o$1+=1,`channel-${t}-${c}-${o$1}`}let b=mb(u$1),M$1=(t,l,T=s$1)=>{let J=l.fromId===T?l.toId:l.fromId;ar(u$1,{conversation:{conversationType:"direct",conversationId:J},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},U=(t,l)=>{ar(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}});},K=(t,l)=>{ar(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}});},ne=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 y(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let k="empty",E=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:Es(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 G(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let V=n$2.subscribe(t=>{h$1?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let T=(await h$1.getDecryptRecoveries?.(t.conversation)??[]).find(J=>J.messageId===t.message.id);T!==void 0&&G(T)||await h$1.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:l}})):t.type==="message:removed"?h$1.deleteDecryptRecovery(t.conversation,t.messageId).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}})):t.type==="conversation-history:cleared"&&h$1.deleteConversationDecryptRecoveries?.(t.conversation).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}})));}),F=new Set,se="auto",ee=false,O=false,H=0,A$1,N,L=false,j,W,ie=()=>{},le=null,fe=null,me,Z,Oe=0,ye=false,De=false,Ke,Ue,wn=new Map,tn=0,$e=t=>wn.get(t)??0,At=t=>{wn.set(t,$e(t)+1);};function tt(t){Z?.invalidate(t),t.conversationType==="channel"&&At(t.conversationId);}let rn=e$1.profile??(f$1===void 0?void 0:C({client:f$1,clientType:i$1,...h$1===void 0?{}:{storage:h$1}})),an=e$1.channelProfile??(f$1===void 0?void 0:p({client:f$1,clientType:i$1,getUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??"",...h$1===void 0?{}:{storage:h$1}})),Tn=e$1.channelMembers??(f$1===void 0?void 0:t({client:f$1,clientType:i$1,isActive:()=>g,...h$1===void 0?{}:{storage:h$1}})),_n=e$1.channelMentionMembers??(f$1===void 0?void 0:u({client:f$1,clientType:i$1})),Dn=Sc({..._n===void 0?{}:{provider:_n},...h$1===void 0?{}:{storage:h$1}}),I=e$1.directory??(f$1===void 0?void 0:w({client:f$1,clientType:i$1,getUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??""})),P=Uc({...I===void 0?{}:{provider:I}}),w$1=e$1.expressionProvider??A({...f$1===void 0?{}:{coreClient:f$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),q=Xc({provider:w$1,isActive:()=>g}),ae=e$1.sessionFavoriteProvider??Pa({...f$1===void 0?{}:{coreClient:f$1},getUserId:()=>s$1}),Ee=Ks({provider:ae,isActive:()=>g}),Re=()=>{},we=Qs({namespaceFactory:r,...h$1===void 0?{}:{storage:h$1},emitter:n$2,getAccountId:()=>s$1,isActive:()=>g,clearMemoryCaches:()=>{rn?.clearCache?.(),an?.clearCache?.(),Tn?.clearCache?.(),Dn.clear(),Re(),Z?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),Me=e$1.channelJoinApplications??(f$1===void 0?void 0:s({client:f$1,clientType:i$1})),Le=e$1.contactApplications??(f$1===void 0?void 0:l({client:f$1,clientType:i$1})),sn=e$1.groupApplications??(f$1===void 0?void 0:m({client:f$1,clientType:i$1})),z=Ja({emitter:n$2,diagnostics:u$1,profile:rn,channelProfile:an,storage:h$1,getSelfId:()=>s$1,loadOlderFromRemote:async t=>{let l=Z?.enterForeground(t.conversation);try{return me===void 0?{messages:[],exhausted:!0}:await me(t)}finally{l?.();}},loadNewerFromRemote:async t=>{let l=Z?.enterForeground(t.conversation);try{return Ue===void 0?{messages:[],exhausted:!0}:await Ue(t)}finally{l?.();}}}),un=pc({directory:P.contacts,getSelfId:()=>s$1,...rn===void 0?{}:{profile:rn},...f$1===void 0?{}:{coreClient:f$1},domainState:z,emitter:n$2,terminateConversationSending:(t,l)=>ie(t,l),resetDirectReadReceiptPreference:t=>a$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?R$1?.(t):l!=="unknown"&&v?.(t);}}),go=Cc({...Le===void 0?{}:{contact:Le},...sn===void 0?{}:{group:sn},...Me===void 0?{}:{channel:Me},onContactAccepted:async(t,l)=>{un.updateRelationshipFromEvent(t,"friend"),await z.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),z.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>g&&k==="ready"}),sr=Bc({domainState:z,emitter:n$2,isActive:()=>g}),cr=Zc({domainState:z,isAvailable:()=>g&&k==="ready"}),gd=mc(()=>z.getSessions()),Je=e$1.crypto??i(),yn=e$1.media!==void 0?Va(e$1.media,u$1):void 0,dr=Ra(),Id=Qa(dr),{prepareLocalMediaPreview:Io,prepareLocalVideoPoster:yd}=nd(dr,()=>c),cn=f$1===void 0?void 0:e({client:f$1,crypto:Je,clientType:i$1,onError:(t,l)=>b?.("crypto",{message:t,cause:l})}),yo=f$1===void 0?void 0:h({client:f$1,clientType:i$1,onError:(t,l)=>b?.("crypto",{scope:"send-key",message:t,cause:l})}),Ye=f$1===void 0?void 0:f({client:f$1,crypto:Je,clientType:i$1,onError:(t,l)=>b?.("crypto",{scope:"group-key",message:t,cause:l})}),ve=e$1.channelKeyService??(f$1===void 0?void 0:a({loadSecretKey:t=>da(f$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 T=ve.getCachedChannelKey(t)===null;try{await ve.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!T||!g))try{await Tt({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(J){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:J}});}},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},lr=()=>cn?.getCachedPrivateKey(s$1)?.privateKey??null,hd=()=>({crypto:Je,resolveChannelKey:Co,resolveUserPrivateKey:lr,onDecryptRecovery:D,onDecryptError:t=>{let l=ve!==void 0&&h$1?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(K("live",{...t,forceRefreshAttempted:l}),!l)return;let T=ve.getCachedChannelKey(t.channelId)??void 0;ve.getChannelKey(t.channelId,{staleKey:T}).catch(()=>{});}}),vn=async(t,l={})=>{let T=[];ve!==void 0&&T.push(...[...new Set(t)].map(J=>ho(J,l))),cn!==void 0&&s$1!==""&&T.push(cn.getUserPrivateKey(s$1).catch(()=>null)),await Promise.all(T);},Cn=t=>({crypto:Je,resolveChannelKey:l=>ve?.getCachedChannelKey(l)??null,resolveUserPrivateKey:lr,onDecryptError:l=>K(t,l),onDecryptRecovery:D});function Et(t){Ye!==void 0&&t!==""&&Ye.getGroupKeys(t);}let Mo=async t=>{if(Ye===void 0)return null;let l=await Ye.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},bo=t=>{if(Ye===void 0)return null;let l=Ye.getCachedGroupKeys(t);return l!==null?l.privateKey:(Et(t),null)},jn=async t=>{Ye!==void 0&&await Promise.all(t.map(l=>Ye.getGroupKeys(l).catch(()=>null)));},vd=()=>({crypto:Je,resolvePrivateKey:({groupId:t})=>bo(t),preparePrivateKey:async({groupId:t})=>Ye===void 0?null:(await Ye.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>U("live",t),onDecryptRecovery:D}),zn=t=>({crypto:Je,resolvePrivateKey:({groupId:l})=>bo(l),onDecryptError:l=>U(t,l),onDecryptRecovery:D}),Rt=new Map,Vn=new Map,ur=new Set,pr=new Set;function wt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Cd(t,l){let T=Fa(t),J=Vn.get(T)??new Set;J.add(l),Vn.set(T,J);}function So(t){Vn.delete(Fa(t));}function Md(t,l){return t.length===l.length&&t.every((T,J)=>T===l[J])}function Po(t){if(t.conversation.conversationType==="group")return Ye?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function qn(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 bd(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}`,T=Rt.get(l);if(T!==void 0)return T;let J=(async()=>{let oe=z.getConversationMessage(t.conversation,t.messageId),te=G(t);if(oe===void 0||oe.encryption.decryptFailed!==true&&!te){await h$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:oe.senderId,messageCreatedAt:oe.createdAt,selfMessage:oe.senderId===s$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let Q,Y,X="key-resolve",ce=qn(t);for(let he of [false,true]){let Se=he?"force":"current",Te;try{X="bcontent";let ge=d.decode(t.sContent);if(t.wireEncrypt===1){if(ge.secretKey.length===0||ge.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");X="key-resolve";let Xe=he?{...typeof Y=="string"?{staleKey:Y}:{}}:void 0,be=t.conversation.conversationType==="group"?(await Ye?.getGroupKeys(t.conversation.conversationId,Xe))?.privateKey??null:(await cn?.getUserPrivateKey(s$1,Xe))?.privateKey??null;he&&Y!==void 0&&(Te=typeof Y=="string"&&be!==null&&Y!==be),Te===!0&&So(t.conversation),he||(Y=be);let nn=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:Se,strategy:qn(t),finalStage:X,reason:"no-key",...nn===void 0?{}:{resolvedKeyVersion:nn},...Te===void 0?{}:{keyChanged:Te}}}));continue}X="rsa";let x=Je.rsaDecryptPkcs1({data:ge.secretKey,privateKey:be});if(x.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${x.length} < 16`);X="tea";let re=Je.decryptSymmetric({teaKey:x,cipherData:ge.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Se,strategy:qn(t),rsaCipherBytes:ge.secretKey.length,cipherDataBytes:ge.cipherData.length,cipherDataBlockRemainder:ge.cipherData.length%8,resolvedTeaBytes:x.length,plainBytes:re.length,plainBlockRemainder:re.length%8,startsWithContentTypeField:re[0]===8,startsWithMobileCardType:re[0]===8&&re[1]===8,...td(re)}})),X="bmessage",Q=c$1.decode(re);}else if(t.conversation.conversationType==="channel"){if(ge.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");X="key-resolve";let Xe=he?{...Y instanceof Uint8Array?{staleKey:Y}:{}}:void 0,be=ve?.getChannelKeyCandidates===void 0?await ve?.getChannelKey(t.conversation.conversationId,Xe).then(re=>[{strategy:"canonical-base64-pad",key:re}])??[]:await ve.getChannelKeyCandidates(t.conversation.conversationId,Xe),nn=ve?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);nn!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Se,...nn}}));let x=be.find(re=>re.strategy==="canonical-base64-pad")?.key??null;if(he&&Y instanceof Uint8Array&&x!==null&&(Te=!Md(Y,x)),Te===!0&&So(t.conversation),he||(Y=x?.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:Se,strategy:qn(t),finalStage:X,reason:"no-key",...Te===void 0?{}:{keyChanged:Te}}}));continue}for(let re of be)try{X="tea";let Pe=Je.decryptSymmetric({teaKey:re.key,cipherData:ge.cipherData});X="bmessage";let Ae=c$1.decode(Pe);if(re.strategy==="legacy-ascii16"&&!bd(Ae))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");Q=Ae,ce=re.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Se,strategy:re.strategy,finalStage:"recovered",reason:"recovered",...Te===void 0?{}:{keyChanged:Te}}}));break}catch(Pe){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Se,strategy:re.strategy,finalStage:X,reason:"decrypt-failed",...Te===void 0?{}:{keyChanged:Te}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Pe}}));}}if(Q!==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:Se,strategy:ce,finalStage:"recovered",reason:"recovered",...Te===void 0?{}:{keyChanged:Te}}}));break}}catch(ge){let Xe=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:Se,strategy:qn(t),finalStage:X,reason:"decrypt-failed",...Xe===void 0?{}:{resolvedKeyVersion:Xe},...Te===void 0?{}:{keyChanged:Te}},error:{message:"IM message decryption recovery failed",data:ge}}));}}if(!g||Q===void 0){Q===void 0&&(Cd(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:qn(t),attempts:2,finalStage:X}})));return}let de=z.getConversationMessage(t.conversation,t.messageId);if(de===void 0||de.encryption.decryptFailed!==true&&!te)return;let ue=t.conversation.conversationType==="channel"&&(t.cmdId===12804||Q.contentType===101)?B$1({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(de.serverTime??de.createdAt),notifyType:Q.type,operatorId:Q.oprUserId,targetUserIds:Q.mnpledUserId,content:Q.content,...typeof de.extensions?.historyCursor=="string"?{historyCursor:de.extensions.historyCursor}:{},...typeof de.extensions?.channelSequence=="string"?{sequence:BigInt(de.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:de.raw!==void 0}):{...M(de,Q,s$1),...te?{edited:true}:{}};z.upsertMessages([ue],"offline"),await h$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{Rt.get(l)===J&&Rt.delete(l);});return Rt.set(l,J),J}async function Tt(t,l={}){let T=Fa(t),J=await h$1?.getDecryptRecoveries?.(t)??[],oe=Vn.get(T),te=oe===void 0?J:J.filter(ce=>!oe.has(ce.messageId));if(await Promise.all(te.map(Ao)),!g||l.recoverLegacyWithoutSidecar===false)return;let Q=Vn.get(T),Y=new Set(J.filter(ce=>Q===void 0||!Q.has(ce.messageId)).map(ce=>ce.messageId)),X=z.getMessagesByConversation(t).filter(ce=>ce.encryption.decryptFailed===true&&!Y.has(ce.id));if(!(X.length===0||ur.has(T))){ur.add(T),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:X.length,withoutSidecar:X.filter(ce=>!J.some(de=>de.messageId===ce.id)).length}}));try{if(t.conversationType==="channel"){let ce=await d$1.getLoginContext();if(ce===null||Ke===void 0)return;for(let de of X.slice(0,qp)){let ue=de.extensions?.historyCursor;if(typeof ue!="string"||ue.trim()==="")continue;let he=await Ke(t.conversationId,ue,ce.userId);if(!g)return;he.length>0&&z.upsertMessages(he,"offline");}}else t.conversationType==="group"?await Sd({conversationType:"group",conversationId:t.conversationId},X):t.conversationType==="direct"&&await Ho();}catch(ce){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:ce}});}}}async function Sd(t,l){if(me===void 0)return;let T=[...l].sort((Y,X)=>Y.sortKey.localeCompare(X.sortKey)),J=T[0],oe=T.at(-1);if(J===void 0||oe===void 0)return;let te=J.serverTime??J.createdAt,Q;for(let Y=0;Y<Vp;Y++){let X=await me({conversation:t,oldestLoaded:oe,...Q===void 0?{}:{cursor:Q},intent:"older",limit:zp});if(!g||X.exhausted||X.nextCursor===void 0)return;let ce=Number(X.nextCursor);if(Number.isFinite(ce)&&ce<=te)return;Q=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,T=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],T===void 0?void 0:[T.role,T.baseState,T.resolvedState,T.allMembersMuted,T.currentUserMuted,T.mutePeriod]])}let mr=new Map;function _t(t){let l=z.getSession(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 T=z.getMessagesByConversation(t).at(-1);return JSON.stringify([s$1,l.timestamp,Eo(l),T?.id,T?.sortKey])}Z=id({...h$1?.recentHistoryCache===void 0?{}:{cache:h$1.recentHistoryCache},fingerprint:_t,canRunBackground:dl,fetchPage:rd({http:C$1,authProvider:d$1,clientType:i$1,groupDecrypt:()=>zn("history"),channelDecrypt:()=>Cn("history"),prepareGroupKeys:jn,prepareChannelKeys:t=>vn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,T)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:T}))});let Pd=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(ye=false),Z?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Fa(t.conversation),T=mr.get(l),J={timestamp:t.session.timestamp,access:Eo(t.session)};mr.set(l,J),k==="ready"&&T!==void 0&&(T.access!==J.access||!De&&T.timestamp!==J.timestamp)&&Z?.invalidate(t.conversation);return}if(t.type==="session:removed"){mr.delete(Fa(t.conversation)),k==="ready"&&Z?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){k==="ready"&&Z?.invalidate(t.conversation);return}k!=="ready"||De||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&Z?.invalidate(t.conversation);});function Ro(t){De=true;try{t.messages.length>0&&z.upsertMessages(t.messages,"offline");for(let l of t.reactions)Ge(l);for(let l of Z.takeRecoveries(t))D(l);}finally{De=false;}}me=async({conversation:t,oldestLoaded:l,cursor:T,intent:J,limit:oe,signal:te})=>{te?.throwIfAborted();let{conversationId:Q}=t,Y=z.getSession(t);if(Y===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${Q}\uFF09`);if(Y.type==="direct")return {messages:[],exhausted:true};if(J==="establish-latest"&&oe===30&&(Y.type==="group"||Y.type==="channel")){let X={conversationType:Y.type,conversationId:Q};if(_t(X)===void 0)return {messages:[],exhausted:true};let ce=await Z.readCached(X,true).catch(ue=>(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:ue}})),null));ce!==null&&Z.isPageCurrent(ce)&&Date.now()-ce.fetchedAt>5*6e4&&Ro(ce),te?.throwIfAborted();let de=await Z.latest(X,te).catch(ue=>{if(g&&_t(X)===void 0)return null;throw ue});if(de===null)return {messages:[],exhausted:true};if(te?.throwIfAborted(),!g||!Z.isPageCurrent(de)||_t(X)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(Ro(de),await Z.confirmConsumed(de),te?.throwIfAborted(),!Z.isPageCurrent(de))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:de.messages,exhausted:de.exhausted,...de.nextCursor===void 0?{}:{nextCursor:de.nextCursor},replaceWindow:true}}if(Y.type==="group"){if(Y.groupState!==void 0&&Y.groupState!=="active")return {messages:[],exhausted:true};let X=await d$1.getLoginContext();if(X===null)return {messages:[],exhausted:true};let ce=J==="establish-latest"?Date.now():T===void 0?l?.serverTime??l?.createdAt??Date.now():sd(T,Q),de=await Fa$1({signal:te,http:C$1,userId:X.userId,clientType:i$1,groupId:Q,baseTime:ce,direct:1,limit:oe,decryptDeps:zn("history"),prepareKeys:jn,onReaction:Ge});te?.throwIfAborted(),de.messages.length>0&&z.upsertMessages(de.messages,"offline");let ue=de.oldestEntryTime,he=de.batchSize<oe||ue===void 0||ue>=ce;return {messages:de.messages,exhausted:he,...he?{}:{nextCursor:String(ue)},...J==="establish-latest"?{replaceWindow:true}:{}}}if(Y.type==="channel"){let X=p$1("history");if(Y.channelState!==void 0&&Be(Y.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:X,data:{state:Y.channelState}})),{messages:[],exhausted:true};let ce=tn,de=$e(Q),ue=await d$1.getLoginContext();if(ue===null)return {messages:[],exhausted:true};if(J==="establish-latest"){let ge=await xa({signal:te,http:C$1,userId:ue.userId,clientType:i$1,channelId:Q,count:nt,operationId:X,decryptDeps:Cn("history"),prepareKey:ve===void 0&&cn===void 0?void 0:be=>vn([be]),onContentDecodeError:ne,onReaction:Ge});te?.throwIfAborted();let Xe=z.getSession(t);return !g||ce!==tn||de!==$e(Q)||Xe?.type!=="channel"||Xe.channelState!==void 0&&Be(Xe.channelState)?{messages:[],exhausted:true}:(te?.throwIfAborted(),ge.messages.length>0&&z.upsertMessages(ge.messages,"offline"),{messages:ge.messages,exhausted:!ge.hasOlder,...ge.nextCursor===void 0?{}:{nextCursor:ge.nextCursor},replaceWindow:true})}let he=T??"";if(T===void 0&&l!==void 0){let ge=l.extensions?.historyCursor;if(typeof ge=="string"&&ge.trim()!=="")he=ge;else if(!$p(l,ue.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${Q}, 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:nt,historyGeneration:ce,historyEpoch:de,clientTypeHeader:i$1,clientTypeBody:i$1}}));let Se;try{Se=await ya({signal:te,http:C$1,userId:ue.userId,clientType:i$1,channelId:Q,baseIndex:he,count:nt,contain:0,operationId:X,decryptDeps:Cn("history"),prepareKey:ve===void 0&&cn===void 0?void 0:ge=>vn([ge]),onContentDecodeError:ne,onReaction:Ge});}catch(ge){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:X,data:{baseIndexPresent:he!=="",direction:1,contain:0,count:nt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:ge}})),ge}te?.throwIfAborted();let Te=z.getSession(t);return !g||ce!==tn||de!==$e(Q)||Te?.type!=="channel"||Te.channelState!==void 0&&Be(Te.channelState)?{messages:[],exhausted:true}:(te?.throwIfAborted(),Se.messages.length>0&&z.upsertMessages(Se.messages,"offline"),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:X,data:{responseBatchSize:Se.batchSize,messageCount:Se.messages.length,exhausted:Se.exhausted,nextBaseIndexPresent:Se.nextBaseIndex!==void 0}})),{messages:Se.messages,exhausted:Se.exhausted,...Se.nextBaseIndex===void 0?{}:{nextCursor:Se.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${Y.type}`)};let fr=t=>{t.length>0&&z.upsertMessages(t,"offline",{backfillOnly:true});},gr=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}},Ad=async t=>{let{userId:l}=await gr(),T=await sa({http:C$1,userId:l,clientType:i$1,messageIds:t,decryptDeps:await Pr(l),onReaction:Ge});return fr(T.messages),{messages:T.messages,missingMessageIds:T.missingMessageIds}},Ed=async(t,l)=>{let{userId:T}=await gr(),J=await ta({http:C$1,userId:T,clientType:i$1,groupId:t,messageIds:l,decryptDeps:zn("history"),prepareKeys:jn,onReaction:Ge});return fr(J.messages),{messages:J.messages,missingMessageIds:J.missingMessageIds}},Rd=async(t,l)=>{let{userId:T}=await gr(),J=await ua$1({http:C$1,userId:T,clientType:i$1,channelId:t,messageIds:l,operationId:p$1("history"),decryptDeps:Cn("history"),prepareKey:ve===void 0&&cn===void 0?void 0:oe=>vn([oe]),onContentDecodeError:ne,onReaction:Ge});return fr(J.messages),{messages:J.messages,missingMessageIds:J.missingMessageIds}},wd=jb([hb({includeOppositeEnd:true}),ib({resolveGroupKey:Mo}),gb({resolveChannelKey:vo})]),Td=Ua([Va$1(),Wa(),Xa()]),_d=la([ma(),na(),oa({resolveChannelKey:vo,resolveProfile:t=>an?.getProfile(t)??Promise.resolve(null)})]),qe=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Wn=()=>false,Ir=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},wo=()=>{},yr=()=>{},rt={...z,removeConversationForMembershipTermination:(t,l)=>{wo(t,l),t.conversationType==="group"?Ye?.clearGroupKeys(t.conversationId):ve?.clearChannelKey(t.conversationId),z.removeConversationForMembershipTermination(t,l),B.api.resetBackground(t).catch(T=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:T}}));}},ot=Ma({domainState:z,sendFrame:t=>qe(t),getSelfId:()=>s$1,isAuthenticated:()=>Wn(),reportReaction:t=>w$1.reportReaction(t),isEmojiSupported:ks,logger:b});Ge=t=>{ot.ingest(t,"offline");};let Dd=Na({manager:ot,getSelfId:()=>s$1,logger:b}),kd=db({domainState:z,outbox:{onChatAck:t=>Ir(t)},sendFrame:t=>qe(t),getSelfId:()=>s$1,emitter:n$2,logger:b,keepRaw:true,decrypt:vd(),isActive:()=>g}),Od=_a$1({domainState:z,outbox:{onChatAck:t=>Ir(t)},sendFrame:t=>qe(t),getSelfId:()=>s$1,emitter:n$2,logger:b,keepRaw:true,decrypt:hd()}),xd=Za$1({domainState:z,sendFrame:t=>qe(t),getSelfId:()=>s$1,emitter:n$2,logger:b,keepRaw:true,decrypt:{crypto:Je,resolveChannelKey:Co,resolveUserPrivateKey:lr,onDecryptRecovery:D}}),Nd=Ya({getSelfId:()=>s$1,sendFrame:t=>qe(t),emitter:n$2}),Ld=eb({emitter:n$2,getSelfId:()=>s$1}),Fd=bb({sendFrame:t=>qe(t),emitter:n$2,getSelfId:()=>s$1,domainState:{reconcileDirectContactEstablishedNotice:z.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){z.removeConversation(t);return}t.conversationType==="direct"&&ie(t,"friend_relation_removed"),z.removeConversation(t);})},resetDirectReadReceiptPreference:t=>a$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:un.updateRelationshipFromEvent}),Kd=fb({sendFrame:t=>qe(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:z.applyTransferStatusBySerialNumber}}),Ud=ab({getSelfId:()=>s$1,sendFrame:t=>qe(t),emitter:n$2}),Bd=$a({getSelfId:()=>s$1,domainState:z,sendFrame:t=>qe(t),emitter:n$2,onRelationshipChanged:un.updateRelationshipFromEvent}),hr=n({sendFrame:t=>qe(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Wn(),domainState:z}),vr=x({sendFrame:t=>qe(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Wn(),domainState:z}),To=[...hr.handlers,...vr.commandHandlers],Gd=2e3,it,Cr=false,_o=new Set;async function Do(){if(Cr||!g||!Wn())return;let t=await d$1.getLoginContext();if(t!==null){Cr=true;try{let l=[];for(;;){let T=await Ga({http:C$1,userId:t.userId,clientType:i$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:T.items.length,cmdIds:T.items.map(J=>`0x${J.cmdId.toString(16)}`)}})),T.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let J of T.items){if(n$2.emit({type:"notification",cmdId:J.cmdId,name:"OFFLINE_SIGNAL"}),J.msgId!==""&&_o.has(J.msgId))continue;J.msgId!==""&&_o.add(J.msgId);let oe=To.find(te=>te.command===J.cmdId);oe!==void 0&&oe.handler(J.cmdId,J.body);}if(T.deliveredMsgIds.length===0)break;l=T.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{Cr=false;}}}function Hd(){Do(),it===void 0&&(it=setInterval(()=>{Do();},Gd));}function ko(){it!==void 0&&clearInterval(it),it=void 0;}let jd=cb({domainState:z,sendFrame:t=>qe(t),getSelfId:()=>s$1,emitter:n$2,logger:b,keepRaw:true}),zd=Ka({domainState:rt,getSelfId:()=>s$1,prefetchGroupKey:Et,clearGroupKeys:t=>{Ye?.clearGroupKeys(t);},clearConversationTermination:t=>yr(t)}),Vd=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&zd.handleMessage(t.message);}),Oo=Ba({domainState:rt,getSelfId:()=>s$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=>yr(t),stopChannelHistory:t=>{let l=$e(t);At(t),z.messageWindow.info().conversationId===t&&z.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:$e(t)}}));}}),qd=n$2.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(s$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:z.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Oo.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),Wd=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"]),$d=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Jd=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,T=l.body.system?.eventType;l.conversationType==="channel"&&T!==void 0&&(Wd.has(T)&&Tn?.invalidateChannelMembers(l.conversationId).catch(J=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:J}});}),$d.has(T)&&Dn.invalidate(l.conversationId).catch(J=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:J}});}));}),xo=Ss({...f$1===void 0?{}:{coreClient:f$1},domainState:z,emitter:n$2}),No=cc({...f$1===void 0?{}:{coreClient:f$1},domainState:z,emitter:n$2}),kn=dc({...Me===void 0?{}:{joinApplications:Me},http:C$1,clientType:i$1,buildOfflineDecrypt:()=>Cn("history"),onContentDecodeError:ne,onReaction:Ge,...ve===void 0&&cn===void 0?{}:{prepareKey:t=>vn([t])}});Ke=async(t,l,T)=>{let{context:J}=await kn.loadMessageContext(t,l,T);return J.messages};let Yd=lc({authProvider:d$1,emitter:n$2,domainState:z,loadMessageContext:kn.loadMessageContext,isActive:()=>g,getHistoryGeneration:()=>tn,getHistoryEpoch:$e}),Mr=ed({domainState:z,isActive:()=>g,loadSummary:async({channelId:t,readCursor:l})=>{let T=await d$1.getLoginContext();if(T===null||!g||T.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await va$1({http:C$1,userId:T.userId,clientType:i$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(oe=>oe.channelId===t)},report:(t,l,T)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:T}))}),br=Pa$1({domainState:z,updateReadIndex:async({channelId:t,readCursor:l})=>{let T=await d$1.getLoginContext();if(T===null||!g||T.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await R({http:C$1,userId:T.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:b,onReadCommitted:Mr.request,onReadSettled:Mr.settled,syncRead:{getSelfId:()=>s$1,sendFrame:t=>qe(t)}}),Xd=Oa({getSelfId:()=>s$1,applyRemoteRead:t=>br.applyRemoteRead(t),emitter:n$2,logger:b}),Qd=Ta([Sa$1({domainState:z,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 ka({http:C$1,userId:l.userId,groupId:t});},emitter:n$2,logger:b,isAuthenticated:()=>Wn(),syncRead:{getSelfId:()=>s$1,sendFrame:t=>qe(t)}}),br]),at=ob({getSelfId:()=>s$1,sendFrame:t=>qe(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Zd=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&at.setAuthenticated(false);}),pe=kb({transport:S,authProvider:d$1,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:z,logger:b,decrypt:{crypto:Je,resolvePrivateKey:({msgType:t})=>t===1?cn?.getCachedPrivateKey(s$1)?.privateKey??null:null,onDecryptError:t=>M$1("live",t),onDecryptRecovery:D},encryptSend:yo===void 0&&ve===void 0?void 0:{crypto:Je,resolvePublicKey:t=>yo?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Mo},media:yn!==void 0?{transfer:yn,preview:Id,onTransferError:t=>{u$1.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},onAlbumContentSize:t=>{u$1.record(t.outcome==="rejected"?"error":"warn","core","media",t.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:t.conversation,data:{messageId:t.messageId,itemCount:t.itemCount,...t.contentBytes===void 0?{}:{contentBytes:t.contentBytes}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:t.cause}}}));},..._===void 0?{}:{assetCache:_,onAssetCacheError:t=>{u$1.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:wd,commandHandlers:[...at.commandHandlers,...Fd,...Ld,...Kd,...Ud,...Bd,...To,...Dd,...kd,...jd,...Od,...xd,...Nd,...Xd],readStrategies:Qd,canSendDirectReadReceipt:t=>{if(!a$1.isDirectReadReceiptEnabled(t))return false;let l=un.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:Td,channelMessageDeletion:{resolveProfile:t=>an?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>z.refreshConversationProfile(t,"channel")},editStrategies:_d,storage:h$1,onAuthenticated:()=>{at.setAuthenticated(true);let t=ee;ee=true,(t||se==="auto")&&Ko().catch(()=>{}),Hd();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);v=t=>pe.suppressDirectReadReceipts(t),R$1=t=>pe.resumeDirectReadReceipts(t),qe=pe.sendFrame,Wn=()=>pe.state==="authenticated",Ir=pe.onChatAck,ie=pe.terminateConversationSending,wo=pe.markOutboxConversationTerminated,yr=pe.clearOutboxConversationTerminated;let Lo=Ys({operations:{getPending:pe.getPendingOutbox,retry:pe.retryOutboxMessage,cancel:pe.cancelOutboxMessage},emitter:n$2,isActive:()=>g}),ke=Ic({connection:pe,domainState:z,crypto:Je,...yn===void 0?{}:{mediaTransfer:yn},prepareDirectReadReceipt:async t=>{try{await un.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}}});}}}),Sr=$s({connection:pe,domainState:z,emitter:n$2,isActive:()=>g,preparePreview:Io,prepareVideoPoster:yd,onLocalPreviewError:({kind:t,byteLength:l,cause:T})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:c,data:{kind:t,byteLength:l},error:{message:T instanceof Error?T.message:String(T)}}));},..._===void 0?{}:{assetCache:_,onAssetCacheEvent:t=>{u$1.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...yn===void 0?{}:{loaders:{loadImage:ke.operations.loadImage,loadVideo:ke.operations.loadVideo,loadVoice:ke.operations.loadVoice,loadFile:ke.operations.loadFile}}});Re=()=>{pe.invalidateMediaAssetCacheWrites(),Sr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(pe.setConnectionAllowed(false),A$1=Wa$1({onChange:(t,l)=>{if(!t)return L=true,pe.setConnectionAllowed(false),g?(nl(),Go({localData:"preserve"},{requireStorageClose:true,notifyReplacement:l==="replaced"}).then(()=>{})):W?.then(()=>{})},onError:t=>{j=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 el(t){if(!(A$1===void 0||!g)){if(!L){N??=A$1.start(r.forAccount(t).name("ephemeral","connection",`client-${i$1}`));let l=await N;if(!g)return;if(g&&!L&&l&&A$1.owned){pe.setConnectionAllowed(true);return}}throw pe.setConnectionAllowed(false),await pe.connect(),j!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:j}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Dt=Xa$1({onOnline:()=>pe.notifyOnline(),onOffline:()=>pe.notifyOffline(),onVisible:()=>pe.notifyVisible(),onPageHide:()=>{O&&pe.suspendForPageLifecycle();},onPageShow:()=>{O&&(pe.resumeFromPageLifecycle(),pe.notifyVisible());}},e$1.network);function nl(){g=false,Z?.dispose(),O=false,H+=1,Dt.stop();}let tl=n$2.subscribe(t=>{!g||t.type!=="auth:invalid"||(O=false,H+=1,L=A$1!==void 0,A$1?.terminate(),Dt.stop());});async function Pr(t){let l=await cn?.getUserPrivateKey(t)??null;return {crypto:Je,resolvePrivateKey:({msgType:T})=>T===1?l?.privateKey??null:null,onDecryptError:T=>M$1("offline",T,t),onDecryptRecovery:D}}function Fo(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:T,limit:J})=>{let oe=await d$1.getLoginContext();if(oe===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let te=await Pr(oe.userId);return l({http:C$1,userId:oe.userId,clientType:i$1,decryptDeps:te,deliveredMsgInfos:T,...J===void 0?{}:{limit:J},onReaction:Ge})}}}let rl=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let T=await d$1.getLoginContext();if(T===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Da({http:C$1,userId:T.userId,clientType:i$1,decryptDeps:zn("offline"),prepareKeys:jn,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:Ge})}});async function ol(){let t=await d$1.getLoginContext();if(t===null)return;let l=await Ea({http:C$1,userId:t.userId,clientType:i$1,decryptDeps:zn("offline"),prepareKeys:jn,onReaction:Ge});for(let T of l.unreads)z.applyServerUnread({conversationType:"group",conversationId:T.groupId},T.unreadCount),Et(T.groupId);l.messages.length>0&&z.upsertMessages(l.messages,"offline");}async function il(){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 al(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 al(t){if(an===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 T=await an.listProfiles({forceRefresh:true});if(T.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let J=new Map(T.map(x=>[x.id,x]));for(let x of T){if(y(x.channelState)){ve?.clearChannelKey(x.id),rt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:x.id},`channel_${x.channelState}`);continue}let re=x.permissions.sendMessages?void 0:`channel_${x.channelState}`;z.setChannelRestriction(x.id,x.channelState,re,{permissions:x.permissions,...x.accessSnapshot===void 0?{}:{snapshot:x.accessSnapshot}}),z.updateConversationProfile(x.id,{title:x.name,avatar:x.avatar}),x.muted!==void 0&&z.setMuted(x.id,x.muted);}let oe=new Map(T.map(x=>{let re={conversationType:"channel",conversationId:x.id},Pe=z.getReadState(re),Ae=z.getSession(re);return [x.id,{revision:z.getChannelReadRevision(re),pending:z.hasPendingChannelRead(re),readCursor:Pe?.readCursor??Ae?.readCursor??"",unreadCount:Ae?.unreadCount??Pe?.unreadCount??0,mentionUnreadCount:Ae?.mentionUnreadCount??Pe?.mentionUnreadCount??0}]})),te=T.map(x=>({channelId:x.id,readCursor:oe.get(x.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:te.length,channelsWithReadCursor:te.filter(x=>x.readCursor!=="").length,clientTypeHeader:i$1,clientTypeBody:i$1}}));let Q=await va$1({http:C$1,userId:l.userId,clientType:i$1,channels:te,operationId:t,decryptDeps:Cn("offline"),prepareKeys:x=>vn(x.filter(re=>{let Pe=J.get(re)?.channelState;return Pe===void 0||!Be(Pe)})),onContentDecodeError:ne,onReaction:Ge});u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:Q.length,lastMessageCount:Q.filter(x=>x.last!==void 0).length,decryptFailedLastCount:Q.filter(x=>x.last?.encryption.decryptFailed===true).length,unknownContentLastCount:Q.filter(x=>x.last?.contentType==="unknown"&&x.last.encryption.decryptFailed!==true).length}}));let Y=new Set(Q.filter(x=>{let re=oe.get(x.channelId),Pe={conversationType:"channel",conversationId:x.channelId},Ae=z.getReadState(Pe),hn=z.getSession(Pe);return re===void 0||re.pending||z.hasPendingChannelRead(Pe)||z.getChannelReadRevision(Pe)!==re.revision||(Ae?.readCursor??hn?.readCursor??"")!==re.readCursor||(hn?.unreadCount??Ae?.unreadCount??0)!==re.unreadCount||(hn?.mentionUnreadCount??Ae?.mentionUnreadCount??0)!==re.mentionUnreadCount}).map(x=>x.channelId)),X=Q.filter(x=>z.getSession(x.channelId)!==void 0).map(x=>{let Pe=J.get(x.channelId)?.channelState,Ae=Pe!==void 0&&Be(Pe)?Pe:Be(x.channelState)?x.channelState:Pe??x.channelState,hn=Ae==="active"?void 0:Ae===x.channelState?x.sendDisabledReason:`channel_${Ae}`;return {...x,channelState:Ae,sendDisabledReason:hn}});for(let x of X){let re=J.get(x.channelId);z.setChannelRestriction(x.channelId,x.channelState,x.sendDisabledReason,re===void 0?void 0:{permissions:re.permissions,...re.accessSnapshot===void 0?{}:{snapshot:re.accessSnapshot}}),re!==void 0&&(z.updateConversationProfile(x.channelId,{title:re.name,avatar:re.avatar}),re.muted!==void 0&&z.setMuted(x.channelId,re.muted)),Y.has(x.channelId)||z.applyChannelReadSummary({conversationType:"channel",conversationId:x.channelId},x),Be(x.channelState)&&ve?.clearChannelKey(x.channelId);}let ce=X.filter(x=>!Y.has(x.channelId)&&!Be(x.channelState)&&x.unreadCount>0&&x.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let x={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let re of X)Y.has(re.channelId)?x.staleRead+=1:Be(re.channelState)?x.historyBlocked+=1:re.unreadCount<=0?x.zeroUnread+=1:re.readCursor===""&&(x.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:X.length,eligibleChannelCount:ce.length,staleReadSkippedCount:x.staleRead,historyBlockedSkippedCount:x.historyBlocked,zeroUnreadSkippedCount:x.zeroUnread,emptyReadCursorSkippedCount:x.emptyReadCursor,direction:0,contain:0,count:nt}}});let de=await wa$1({http:C$1,userId:l.userId,clientType:i$1,operationId:t,pulls:ce.map(x=>({channelId:x.channelId,baseIndex:x.readCursor})),messageCount:nt,decryptDeps:Cn("offline"),prepareKeys:vn,onContentDecodeError:ne,onReaction:Ge}),ue=X.flatMap(x=>{let re=x.last;if(re===void 0||wt(re))return [];let Pe=re.extensions?.historyCursor;return [{summary:x,last:re,historyCursor:typeof Pe=="string"?Pe.trim():""}]}),he=(x,re)=>`${x}:${re}`,Se=new Map,Te=new Set;for(let{summary:x,last:re}of ue){let Pe=z.getConversationMessage({conversationType:"channel",conversationId:x.channelId},re.id);if(Pe===void 0||!wt(Pe))continue;let Ae=he(x.channelId,re.id);Se.set(Ae,Pe),Te.add(Ae);}for(let x of de)wt(x)&&Se.set(he(x.conversationId,x.id),x);let ge=ue.filter(({summary:x,last:re,historyCursor:Pe})=>Pe!==""&&!Y.has(x.channelId)&&!Be(x.channelState)&&!Se.has(he(re.conversationId,re.id))&&!pr.has(he(re.conversationId,re.id))),Xe=ue.filter(({summary:x,last:re})=>!Y.has(x.channelId)&&!Be(x.channelState)&&!Te.has(he(re.conversationId,re.id))&&Se.has(he(re.conversationId,re.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:ue.length,decryptFailedLastCount:ue.filter(({last:x})=>x.encryption.decryptFailed===true).length,unknownContentLastCount:ue.filter(({last:x})=>x.contentType==="unknown"&&x.encryption.decryptFailed!==true).length,localRecoveredCount:Te.size,offlineRecoveredCount:Xe,contextRecoveryCount:ge.length,staleReadSkippedCount:ue.filter(x=>Y.has(x.summary.channelId)).length,historyBlockedSkippedCount:ue.filter(x=>Be(x.summary.channelState)).length,missingHistoryCursorCount:ue.filter(x=>x.historyCursor==="").length}}));let be=await Promise.all(ge.map(async({summary:x,last:re,historyCursor:Pe})=>{try{let{message:Ae}=await kn.loadMessageContext(x.channelId,Pe,l.userId),hn=z.getSession({conversationType:"channel",conversationId:x.channelId});if(!g||hn?.type!=="channel"||hn.channelState!==void 0&&Be(hn.channelState))return;if(Ae.conversationType!=="channel"||Ae.conversationId!==x.channelId||Ae.id!==re.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${x.channelId}, messageId=${re.id}\uFF09`);if(!wt(Ae)){if(Ae.contentType==="unknown"&&Ae.encryption.decryptFailed!==!0){pr.add(he(Ae.conversationId,Ae.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},data:{messageId:re.id,reason:Ae.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${x.channelId}, messageId=${re.id}\uFF09`)}return Ae}catch(Ae){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Ae},data:{messageId:re.id}}));return}}));for(let x of be)x!==void 0&&Se.set(he(x.conversationId,x.id),x);let nn=[...X.flatMap(x=>x.last===void 0?[]:[Se.get(he(x.channelId,x.last.id))??x.last]),...de];nn.length>0&&z.upsertMessages(nn,"offline",{applyChannelLifecycleEffects:true}),u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:T.length,terminalProfileCount:T.filter(x=>y(x.channelState)).length,sessionCount:Q.length,acceptedSessionCount:X.length,sessionLastCount:X.filter(x=>x.last!==void 0).length,recoveredSessionLastCount:ue.filter(({last:x})=>Se.has(he(x.conversationId,x.id))).length,offlineMessageCount:de.length}}));}let st=null,Ar=false;function sl(){return st!==null?(Ar=true,st):(st=(async()=>{let l;do{Ar=false,l=void 0;try{await il();}catch(T){l=T;}}while(Ar);if(l!==void 0)throw l})().finally(()=>{st=null;}),st)}let cl=tb({pullers:[Fo("chat",za),Fo("owner_chat",Aa),rl()],domainState:z,emitter:n$2,logger:b,yieldToEventLoop:b$1});function dl(){return g&&k==="ready"&&ye&&Oe===0&&pe.state==="authenticated"}async function Ko(){if(A$1!==void 0&&(!A$1.owned||L))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=ol().catch(T=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:T}})),l=sl().catch(T=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:T}}));Oe+=1;try{let J=(await Promise.allSettled([cl.sync(),t,l])).find(oe=>oe.status==="rejected");if(J?.status==="rejected")throw J.reason}finally{Oe-=1,ye=pe.state==="authenticated",Z?.notifySchedulingChanged();}}async function ll(){if(k==="ready")return;k="preparing";let t=await d$1.getLoginContext();if(g){if(t!==null){if(await el(t.userId),!g)return;if(s$1=t.userId,cn!==void 0&&cn.getUserPrivateKey(t.userId),h$1!==void 0)try{if(await h$1.open({namespace:t.userId}),!g)return;try{await a$1.hydrate();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!g||(await z.hydrate(()=>g),!g))return;for(let l of z.getSessions())l.title===""&&l.type!=="supergroup"&&z.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(Ye!==void 0)for(let l of z.getSessions())l.type==="group"&&Et(l.id);}g&&(k="ready");}}function Uo(){if(L)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(k==="ready")return Promise.resolve();if(le!==null)return le;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),le=ll().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(()=>{le=null;}),le}function ul(t){if(L)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!g||L)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(O=true,pe.state==="authenticated")return Promise.resolve();if(fe!==null)return fe;se=t?.initialSync??"auto",ee=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:se}}));let T=H;return fe=(async()=>{await Uo(),!(!g||!O||T!==H)&&(Dt.start(),await pe.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(J=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:J}})),J}).finally(()=>{fe=null;}),fe}function Bo(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),O=false,H+=1,ko(),pe.disconnect(t),Dt.stop();}function Go(t,l={}){if(W!==void 0)return W;let T,J;return W=new Promise((oe,te)=>{T=oe,J=te;}),pl(t,l).then(T,J),W}async function pl(t,l){let T=Date.now();u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),g=false,Mr.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let J=Z?.dispose();Pd(),Zd(),at.dispose(),ko(),hr.dispose(),vr.dispose(),ot.dispose(),Lo.dispose(),Sr.dispose(),dr.dispose(),go.dispose(),un.dispose(),pe.disposeMediaTasks();for(let ce of F)ce.close();F.clear(),tn+=1,pe.markOutboxForLogout(t?.pendingMessages??"fail"),xo.dispose(),No.dispose(),kn.dispose(),Dn.dispose(),P.dispose(),B.dispose();let oe=a$1.dispose();sr.dispose(),cr.dispose(),Vd(),qd(),Jd(),Oo.dispose(),br.reset(),ve?.clearAll(),Vn.clear(),ur.clear(),pr.clear(),Bo("im-logout"),(l.requireStorageClose||A$1?.owned===true)&&await le?.catch(()=>{}),await z.invalidateAndDrainDraftOperations(),await oe,await J,z.clearSession();let te=t?.localData==="purge"?s$1:"",Q,Y,X=true;if(h$1!==void 0)try{await h$1.close();}catch(ce){X=false,te!==""&&(Q=ce),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:ce}});}if(te!==""&&X)try{m$1!==void 0?await m$1.purgeCurrentAccount({namespaceFactory:r,accountId:te}):await Ya$1(te,{namespaceFactory:r}),Y=te;}catch(ce){Q=ce,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ce}});}if(k="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-T,data:{purgedAccountId:Y,purgeFailed:Q!==void 0}})),V(),E(),tl(),L=true,(l.requireStorageClose||A$1!==void 0)&&!X)throw new Error("Previous chat page could not close its account storage");return A$1?.stop(),{...Y===void 0?{}:{purgedAccountId:Y},...Q===void 0?{}:{purgeError:Q}}}function ml(){return {sessionState:k,connectionState:pe.state,...s$1!==""?{userId:s$1}:{},prepared:k==="ready",connectionDesired:O,authenticated:pe.state==="authenticated"}}function fl(t){return n$2.subscribe(t)}function gl(){return {connectionState:pe.state,pendingOutbox:pe.getPendingOutbox()}}function Il(){return z.getConversationList()}Ue=async({conversation:t,newestLoaded:l,cursor:T,limit:J,signal:oe})=>{oe?.throwIfAborted();let{conversationId:te}=t,Q=z.getSession(t);if(Q===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${te}\uFF09`);if(Q.type==="direct")return {messages:[],exhausted:true};if(Q.type==="group"){if(Q.groupState!==void 0&&Q.groupState!=="active")return {messages:[],exhausted:true};let Y=await d$1.getLoginContext();if(Y===null)return {messages:[],exhausted:true};let X=T===void 0?l?.serverTime??l?.createdAt:sd(T,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 ce=await Fa$1({signal:oe,http:C$1,userId:Y.userId,clientType:i$1,groupId:te,baseTime:X,direct:2,limit:J,decryptDeps:zn("history"),prepareKeys:jn,onReaction:Ge});oe?.throwIfAborted(),ce.messages.length>0&&z.upsertMessages(ce.messages,"offline");let de=ce.newestEntryTime,ue=ce.batchSize<J||de===void 0||de<=X;return {messages:ce.messages,exhausted:ue,...ue?{}:{nextCursor:String(de)}}}if(Q.type==="channel"){if(Q.channelState!==void 0&&Be(Q.channelState))return {messages:[],exhausted:true};let Y=T??l?.extensions?.historyCursor;if(typeof Y!="string"||Y.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${te}, messageId=${l?.id??""}\uFF09`);let X=tn,ce=$e(te),de=await d$1.getLoginContext();if(de===null)return {messages:[],exhausted:true};let ue=T===void 0?(await kn.loadMessageContext(te,Y,de.userId,oe)).context:await kn.loadNewerPage(te,Y,de.userId,oe);oe?.throwIfAborted();let he=z.getSession(t);return !g||X!==tn||ce!==$e(te)||he?.type!=="channel"||he.channelState!==void 0&&Be(he.channelState)?{messages:[],exhausted:true}:(ue.messages.length>0&&z.upsertMessages(ue.messages,"offline"),{messages:ue.messages,exhausted:!ue.hasNewer,...!ue.hasNewer||ue.nextCursor===void 0?{}:{nextCursor:ue.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${Q.type}`)};function yl(t){let l=t.conversationId,T=s$1,J=tn,oe=$e(l),te,Q$1;return async({readCursor:Y,cursor:X,signal:ce,isCurrent:de})=>{let ue=()=>{let be=z.getSession(t);return g&&s$1===T&&de()&&J===tn&&oe===$e(l)&&be?.type==="channel"&&(be.channelState===void 0||!Be(be.channelState))};if(ce.throwIfAborted(),!ue()||X!==void 0&&(te!==Y||Q$1===void 0))return;let he=await d$1.getLoginContext();if(ce.throwIfAborted(),he===null||he.userId!==T||!ue())return;let Se=[],Te=[],ge=await Q({http:C$1,userId:he.userId,clientType:i$1,channelId:l,index:X??Y,containAnchor:X===void 0,signal:ce,decryptDeps:{...Cn("history"),onDecryptRecovery:be=>Te.push({...be,source:"history"})},prepareKey:be=>vn([be],{recoverExistingMessages:false}),onContentDecodeError:ne,onReaction:be=>Se.push(be)});if(ce.throwIfAborted(),!ue())return;if(X===void 0){let be=ge.messages.find(nn=>nn.extensions?.historyCursor===Y);if(be===void 0)return;te=Y,Q$1=be.sortKey;}if(Q$1===void 0||(ge.messages.length>0&&z.upsertMessages(ge.messages,"offline"),!ue()))return;for(let be of Se){if(!ue())return;Ge(be);}for(let be of Te){if(!ue())return;D(be);}return ue()?{messages:ge.messages.map(be=>{let nn=z.getConversationMessage(t,be.id);if(nn===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return nn}),readCursorSortKey:Q$1,exhausted:!ge.hasNewer,...ge.nextCursor===void 0?{}:{nextCursor:ge.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 Pr(t.userId),T=await Ba$1({http:C$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),J=await Ca({http:C$1,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),oe=[...T,...J];return z.upsertMessages(oe,"offline"),oe}async function hl(){await Ko();}let vl=2;function dn(t){let l=$({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Cl(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Ml(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 ct(t){if(!g)throw dn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function bl(t){let l=t?.conversationType,T=t?.conversationId;if(l==="supergroup")throw dn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"||typeof T!="string"||T.trim()==="")throw dn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:T.trim()})}function dt(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 Sl(t){let l=bl(t);if(ct(l),z.getSession(l)!==void 0)return l;try{if(l.conversationType==="direct"){let te=P.peekItem("individual",l.conversationId);if(te!==void 0)return z.ensureConversation(dt(l,{title:te.displayName||te.cardDisplayName,...te.avatarUrl===void 0?{}:{avatar:te.avatarUrl}})),l;let Q=await un.getRelationship(l.conversationId);if(ct(l),Q!=="friend")throw dn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:Q})});let Y=await un.getProfile(l.conversationId);if(ct(l),Y===null||Y.id!==l.conversationId)throw dn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return z.ensureConversation(dt(l,{title:Y.remark??Y.nickname,...Y.avatar===void 0?{}:{avatar:Y.avatar},...Y.muted===void 0?{}:{muted:Y.muted}})),l}if(l.conversationType==="group"){let te=P.peekItem("group",l.conversationId);if(te!==void 0)return z.ensureConversation(dt(l,{title:te.displayName||te.cardDisplayName,...te.avatarUrl===void 0?{}:{avatar:te.avatarUrl},groupState:"active"})),l;if(rn===void 0)throw dn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let Q=await rn.getGroupProfile(l.conversationId);if(ct(l),Q===null||Q.id!==l.conversationId)throw dn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(Q.isInGroup===!1||Q.status!==void 0&&Q.status!==vl)throw dn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...Q.status===void 0?{}:{status:Q.status},...Q.isInGroup===void 0?{}:{isInGroup:Q.isInGroup}})});return z.ensureConversation(dt(l,{title:Q.name,...Q.avatar===void 0?{}:{avatar:Q.avatar},...Q.muted===void 0?{}:{muted:Q.muted},groupState:"active"})),l}if(an===void 0)throw dn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let T=await an.getProfile(l.conversationId);if(ct(l),T===null||T.id!==l.conversationId)throw dn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let J=T.channelState==="active"||T.channelState==="muted",oe=T.channelState==="muted"&&T.accessSnapshot?.allMembersMuted===!0&&T.role!=="owner"&&T.role!=="admin";if(!J||oe)throw dn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:T.channelState,role:T.role,hiddenByAllMemberMute:oe})});return z.ensureConversation(dt(l,{title:T.name,...T.avatar===void 0?{}:{avatar:T.avatar},...T.muted===void 0?{}:{muted:T.muted},channelState:T.channelState,channelPermissions:T.permissions,...T.accessSnapshot===void 0?{}:{channelAccessSnapshot:T.accessSnapshot},...T.permissions.sendMessages?{}:{sendDisabledReason:`channel_${T.channelState}`}})),l}catch(T){if(Cl(T))throw T;let J=Ml(T);throw dn({...J,conversation:l,cause:T})}}let kt={...fc({...f$1===void 0?{}:{coreClient:f$1},authProvider:d$1,http:C$1,resolveInput:gd,domainState:z,operations:{list:Il,pullOffline:Ho,sync:hl,prefetchRecent:(t,l)=>Z.prefetchRecent(t,l)},beforeDeleteConversation:tt,terminateConversationSending:(t,l)=>pe.terminateConversationSending(t,l),resetConversationBackground:t=>B.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")}),...B.api,ensureOpenableConversation:Sl};function Pl(t){let l={...t,close(){t.close(),F.delete(l);}};return or(l,t),F.add(l),l}function Er(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 Pl(t)}async function Al(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 T=Z?.enterForeground(t);try{let J={domainState:z,invalidateHistory:tt,emitter:n$2,drafts:sr.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,replaceVideo:ke.operations.replaceInterruptedVideo,replaceFile:ke.operations.replaceInterruptedFile,forwardMessages:ke.operations.forwardMessages,recallMessage:ke.operations.recallMessage,editMessage:ke.operations.editMessage,setReaction:({conversation:oe,parentMessageId:te,emoji:Q,action:Y})=>Y==="toggle"?ot.toggle({conversation:oe,parentMessageId:te,emoji:Q}):ot.set({conversation:oe,parentMessageId:te,emoji:Q,action:Y==="add"?0:1}),markRead:ke.operations.markRead,markDirectMediaConsumed:ke.operations.markDirectMediaConsumed,prepareMediaPreview:Io,getSelfId:()=>s$1,isOutboxOwned:oe=>pe.getPendingOutbox().some(te=>te.id===oe),hasOutboxForConversation:oe=>pe.getPendingOutbox().some(te=>te.conversationType===oe.conversationType&&te.conversationId===oe.conversationId),resolveSearchHistoryAnchor:cr.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let oe={conversationType:"direct",conversationId:t.conversationId},te=await Nc(oe,{...J,getRelationship:un.getRelationship,shouldCheckRelationship:()=>pe.state==="authenticated",appendContactRequiredTextFailure:Y=>z.appendDirectContactRequiredTextFailure({conversationId:Y.conversationId,senderId:s$1,text:Y.text,...Y.refMessageId===void 0?{}:{refMessageId:Y.refMessageId}}),setMuted:(Y,X)=>kt.setMuted(Y,X),fetchMessagesByIdBatch:Ad},l),Q=Er(te);return Tt(oe),Q}case "group":{let oe={conversationType:"group",conversationId:t.conversationId},te=await Lc(oe,{...J,getSendPermissionError:Y=>{let X=z.getSession(oe),ce=X?.type==="group"?X.groupState:"unknown";if(!(ce===void 0||ce==="active"))return $({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:Y,retryable:!1,conversation:oe,details:Object.freeze({groupState:ce})})},setMuted:(Y,X)=>kt.setMuted(Y,X),fetchMessagesByIdBatch:Y=>Ed(oe.conversationId,Y)},l),Q=Er(te);return Tt(oe),Q}case "channel":{let oe={conversationType:"channel",conversationId:t.conversationId},te=await Kc(oe,{...J,loadEntryUnreadPage:yl(oe),getSelfId:()=>s$1,deleteMessageForEveryone:pe.deleteChannelMessageForEveryone,reconcilePage:Yd.reconcilePage,getSendPermissionError:Y=>{let X=z.getSession(oe),ce=X?.type==="channel"&&X.channelState!==void 0?X.channelState:"unknown_restricted",de=Aa$1({channelState:ce,nowMs:Date.now(),...X?.type!=="channel"||X.channelAccessSnapshot===void 0?{}:{snapshot:X.channelAccessSnapshot},...X?.type!=="channel"||X.channelPermissions===void 0?{}:{permissions:X.channelPermissions}});if(!(de.channelState==="active"&&de.permissions.sendMessages))return $({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:Y,retryable:!1,conversation:oe,details:Object.freeze({channelState:de.channelState,...de.muteReason===void 0?{}:{muteReason:de.muteReason}})})},setMuted:(Y,X)=>kt.setMuted(Y,X),fetchMessagesByIdBatch:Y=>Rd(oe.conversationId,Y)},l),Q=Er(te);return Tt(oe),Q}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{T?.();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await ke.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Al,localData:we,directory:P.search,search:cr.api,applications:go.api,expressions:q.api,sessionFavorites:Ee.api,outbox:Lo.api,drafts:sr.api,connection:yc({operations:{prepare:Uo,connect:ul,disconnect:Bo,subscribe:fl,getSnapshot:gl,getLifecycle:ml},getState:()=>pe.state}),conversations:kt,settings:a$1.api,push:at.api,contact:un,group:Ps({directory:P.groups,...rn===void 0?{}:{profile:rn},...f$1===void 0?{}:{coreClient:f$1},...yn===void 0?{}:{avatarTransfer:yn},domainState:{...rt,ensureConversation:t=>z.ensureConversation(t)},emitter:n$2,pinned:xo.operations}),channel:uc({directory:P.channels,...an===void 0?{}:{channelProfile:an},...Tn===void 0?{}:{channelMembers:Tn},..._n===void 0?{}:{channelMentionMembers:_n},mentionCandidates:Dn.api,applications:kn.applications,pinned:No.operations,...f$1===void 0?{}:{coreClient:f$1},...yn===void 0?{}:{avatarTransfer:yn},crypto:Je,domainState:{ensureConversation:t=>z.ensureConversation(t),setChannelRestriction:z.setChannelRestriction,removeConversationForMembershipTermination:rt.removeConversationForMembershipTermination,updateConversationProfile:z.updateConversationProfile,refreshConversationProfile:z.refreshConversationProfile},emitter:n$2,...ve===void 0?{}:{cacheCreatedSecretKey:(t,l)=>ve.primeChannelKey(t,l)},getSelfUserId:async()=>s$1!==""?s$1:(await d$1.getLoginContext())?.userId??""}),media:Sr.api,calls:Mc(hr),groupCalls:Qc(vr),teardown:Go}}function Jp(e){let n=Yp(e);return ud(pd(n),e.coreApi!==void 0)}function tI(e){return pd(Xp(e))}function Yp(e){return {...dd(e),...e.coreApi===void 0?{}:{coreClient:ld(e.authProvider,e.coreApi)}}}function dd(e){let{authProvider:n,cache:r,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:u,media:g,onRequestError:f}=e;return {authProvider:n,onRequestError:f,cache:r,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:u,media:g}}function Xp(e){let{adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,coreApi:u,coreClient:g,directory:f,expressionProvider:C,sessionFavoriteProvider:S,http:m,network:h,profile:D,groupApplications:_,transport:B}=e;return {...dd(e),adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,directory:f,expressionProvider:C,sessionFavoriteProvider:S,...g!==void 0?{coreClient:g}:u===void 0?{}:{coreClient:ld(e.authProvider,u)},http:m,network:h,profile:D,groupApplications:_,transport:B}}function ld(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 ud(e,n){let r=zs({getCompatibilityApi:()=>e.conversations,subscribeEvents:a=>e.connection.subscribe(a),getSessionState:()=>e.session.getSnapshot().sessionState}),c={getSnapshot:()=>e.media.getSnapshot(),subscribe:a=>e.media.subscribe(a),cancel:a=>e.media.cancel(a),retry:a=>e.media.retry(a),download:a=>e.media.download(a),getCached:a=>e.media.getCached(a),prepareLocalPreview:a=>e.media.prepareLocalPreview(a),prepareLocalVideoPoster:a=>e.media.prepareLocalVideoPoster(a)},i=a=>Promise.reject($({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false}));async function d(a,o,p){if(!n)return i(a);try{return await o()}catch(b){throw Zr(b,a,p)}}function s(a,o,p){if(!n)throw $({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:p});try{return o()}catch(b){throw Zr(b,a,p)}}let u,g=a=>d("contacts.getRelationship",()=>e.contacts.getRelationship(a)),f=(a,o)=>d("groups.getProfile",async()=>{let p=await e.groups.getProfile(a,o);return p===null?null:rc(a,p)},a),C=(a,o)=>d("channels.getProfile",async()=>{let p=await e.channels.getProfile(a,o);return p===null?null:oc(a,p)},a),S={listFirstPage:a=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(a)),listNextPage:a=>d("contacts.listNextPage",()=>e.contacts.listNextPage(a)),getProfile:(a,o)=>d("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(a,o);return p===null?null:tc(a,p)}),getRelationship:async a=>{let o=a.trim(),p={conversationType:"direct",conversationId:o},b=u?.beginProjectionUpdate(p),M=await g(a);return b!==void 0&&u?.updateRelationshipProjection(o,M,b),M},setRemark:(a,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(a,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}})),searchUser:a=>d("contacts.searchUser",()=>e.contacts.searchUser(a)),requestFriendship:(a,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(a,o)),blockUser:a=>d("contacts.blockUser",()=>e.contacts.blockUser(a),{conversationType:"direct",conversationId:a}),reportUser:(a,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(a,o),{conversationType:"direct",conversationId:a}),deleteFriendship:a=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(a),{conversationType:"direct",conversationId:a})},m={search:a=>d("directory.search",()=>e.directory.search(a))},h={listFirstPage:a=>d("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>d("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>d("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,o)=>{let p=u?.beginProjectionUpdate(a),b=await f(a,o);return p!==void 0&&u?.updateGroupProfileProjection(a,b,p),b},updateName:(a,o)=>d("groups.updateName",()=>e.groups.updateName(a,o),a),updateAvatar:(a,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(a,o),a),setMyNickname:(a,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(a,o),a),updateVerification:(a,o,p)=>d("groups.updateVerification",()=>e.groups.updateVerification(a,o,p),a),requestJoin:(a,o)=>d("groups.requestJoin",()=>e.group.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(a.conversationId,o),a),inviteMembers:(a,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("groups.removeMember",()=>e.group.removeMember(a.conversationId,o),a),transferOwnership:(a,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("groups.leave",()=>e.group.leave(a.conversationId,o),a),peekPinnedMessage:a=>s("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(a.conversationId);return o===null?null:tr(a,o)},a),getPinnedMessage:a=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(a);return o===null?null:tr(a,o)},a),pinMessage:(a,o)=>d("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(a,o);return tr(a,p)},a),unpinMessage:a=>d("groups.unpinMessage",()=>e.groups.unpinMessage(a),a)},D={listFirstPage:a=>d("channels.listFirstPage",()=>e.channels.listFirstPage(a)),listNextPage:a=>d("channels.listNextPage",()=>e.channels.listNextPage(a)),uploadAvatar:a=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(a)),create:a=>d("channels.create",()=>e.channels.create(a)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>i("channels.mentions.getCachedPage"),prefetchFirstPage:()=>i("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>i("channels.mentions.refreshFirstPage"),listFirstPage:()=>i("channels.mentions.listFirstPage"),listNextPage:()=>i("channels.mentions.listNextPage"),searchFirstPage:()=>i("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>i("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>i("channels.mentions.searchNextPage")},getProfile:async(a,o)=>{let p=u?.beginProjectionUpdate(a),b=await C(a,o);return p!==void 0&&u?.updateChannelProfileProjection(a,b,p),b},updateName:(a,o)=>d("channels.updateName",()=>e.channel.updateName(a.conversationId,o),a),updateDescription:(a,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,o),a),updateAvatar:(a,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,o),a),updateVerification:(a,o,p)=>d("channels.updateVerification",()=>e.channels.updateVerification(a,o,p),a),requestJoin:(a,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(a.conversationId,o),a),setAllMuted:(a,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(a.conversationId,o),a),setMemberPrivateChatDisabled:(a,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(a.conversationId,o),a),setMyNickname:(a,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(a.conversationId,o),a),setMemberNickname:(a,o,p)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(a.conversationId,o,p),a),inviteMembers:(a,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("channels.removeMember",()=>e.channel.removeMember(a.conversationId,o),a),addAdmin:(a,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(a.conversationId,o),a),removeAdmin:(a,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(a.conversationId,o),a),transferOwnership:(a,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("channels.leave",()=>e.channel.leave(a.conversationId,o),a),dismiss:a=>d("channels.dismiss",()=>e.channel.dismiss(a.conversationId),a),peekPinnedMessage:a=>s("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(a.conversationId);return o===null?null:rr(a,o)},a),getPinnedMessage:a=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(a);return o===null?null:rr(a,o)},a),pinMessage:(a,o)=>d("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(a,o);return rr(a,p)},a),unpinMessage:a=>d("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},_=js({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:a=>r.api.list().find(o=>o.ref.conversationType===a.conversationType&&o.ref.conversationId===a.conversationId),subscribeConversations:a=>r.api.subscribe(o=>a(o.items)),getRelationship:g,getGroupProfile:f,getChannelProfile:C});u=_;let B=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{_.reset();try{await e.session.logout(a);}finally{_.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function v(a,o={}){let p=e.conversations,b=e.openConversation,M=await p.ensureOpenableConversation(a);return M.conversationType==="direct"?b({conversationType:"direct",conversationId:M.conversationId},o):M.conversationType==="group"?b({conversationType:"group",conversationId:M.conversationId},o):b({conversationType:"channel",conversationId:M.conversationId},o)}let R={get session(){return B},get capabilities(){return _.api},get conversations(){return r.api},get directory(){return m},get contacts(){return S},get groups(){return h},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:v,dispose:async()=>{_.dispose(),r.dispose(),await e.dispose();}};return eo(R,()=>sc(e)),R}function rI(e,n){return ud(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=nb(),i=0,d=()=>cd(e,c,r,i++),s=d(),u=false,g;async function f(a){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(a),s=d();}async function C(){if(u)throw Kn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let a=await s.localData.getInfo(),o;try{o=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(p){throw s=d(),Kn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:p})}if(s=d(),o.purgedAccountId!==a.accountScope)throw Kn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:o.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:a.accountScope,category:"all"});}let S=Zs({getRuntime:()=>s.localData,purgeCurrentAccount:C}),m={start:a=>s.connection.connect(a),stop:async a=>{s.connection.disconnect(a);},logout:f,getSnapshot:()=>s.connection.getLifecycle(),subscribe:a=>(a(s.connection.getLifecycle()),s.connection.subscribe(o=>{o.type==="connection:changed"&&a(s.connection.getLifecycle());}))},h=Xs({subscribeCore:a=>s.connection.subscribe(a),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:a=>{let o=s.conversations.list().find(p=>p.type===a.conversationType&&p.id===a.conversationId);return o===void 0?void 0:Jr(o)},resolveContactApplicationAnswer:async a=>{let o=s,p=await o.contact.resolveApplicationAnswer(a.peerId,a.messageId);return s===o?p:null}}),D={listFirstPage:a=>s.contact.listFirstPage(a),listNextPage:a=>s.contact.listNextPage(a),getProfile:(a,o)=>s.contact.getProfile(a,o),getRelationship:a=>s.contact.getRelationship(a),setRemark:(a,o)=>s.contact.setRemark(a,o),searchUser:a=>s.contact.searchUser(a),requestFriendship:(a,o)=>s.contact.requestFriendship(a,o),blockUser:a=>s.contact.blockUser(a),reportUser:(a,o)=>s.contact.reportUser(a,o),deleteFriendship:a=>s.contact.deleteFriendship(a)},_={listFirstPage:a=>s.group.listFirstPage(a),listNextPage:a=>s.group.listNextPage(a),uploadAvatar:a=>s.group.uploadAvatar(a),create:a=>s.group.create(a),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(a,o)=>s.group.getProfile(a.conversationId,o),updateName:(a,o)=>s.group.updateName(a.conversationId,o),updateAvatar:async(a,o)=>{await s.group.updateAvatar(a.conversationId,o);},setMyNickname:(a,o)=>s.group.setMyNickname(a.conversationId,o),updateVerification:(a,o,p)=>s.group.updateVerification(a.conversationId,o,p),requestJoin:(a,o)=>s.group.requestJoin(a.conversationId,o),joinByInviteCode:(a,o)=>s.group.joinByInviteCode(a.conversationId,o),getPinnedMessage:a=>s.group.getPinnedMessage(a.conversationId),pinMessage:(a,o)=>s.group.pinMessage({groupId:a.conversationId,messageId:o}),unpinMessage:a=>s.group.unpinMessage(a.conversationId)},B={listFirstPage:a=>s.channel.listFirstPage(a),listNextPage:a=>s.channel.listNextPage(a),uploadAvatar:a=>s.channel.uploadAvatar(a),create:a=>s.channel.create(a),get mentions(){return s.channel.mentions},getProfile:(a,o)=>s.channel.getProfile(a.conversationId,o),updateVerification:(a,o,p)=>s.channel.updateVerification(a.conversationId,o,p),requestJoin:(a,o)=>s.channel.requestJoin(a.conversationId,o),joinByInviteCode:(a,o)=>s.channel.joinByInviteCode(a.conversationId,o),setAllMuted:(a,o)=>s.channel.setAllMuted(a.conversationId,o),setMemberPrivateChatDisabled:(a,o)=>s.channel.setMemberPrivateChatDisabled(a.conversationId,o),setMyNickname:(a,o)=>s.channel.setMyNickname(a.conversationId,o),setMemberNickname:(a,o,p)=>s.channel.setMemberNickname(a.conversationId,o,p),dismiss:a=>s.channel.dismiss(a.conversationId),getPinnedMessage:a=>s.channel.getPinnedMessage(a.conversationId),pinMessage:(a,o)=>s.channel.pinMessage({channelId:a.conversationId,messageId:o}),unpinMessage:a=>s.channel.unpinMessage(a.conversationId)};function v(){return g!==void 0||(u=true,g=s.teardown({localData:"preserve"}).then(()=>c.clear())),g}let R={get session(){return m},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get contacts(){return D},get groups(){return _},get channels(){return B},get events(){return h},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get groupCalls(){return s.groupCalls},get settings(){return s.settings},get push(){return s.push},get outbox(){return s.outbox},get localData(){return S},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get sessionFavorites(){return s.sessionFavorites},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:f,dispose:v};return eo(R,()=>s.advancedMessageDiagnostics),R}var Qp=new TextEncoder;function md(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 fd(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))fd(r,n);return Object.freeze(e)}function Zp(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:fd(n),estimatedBytes:Qp.encode(r).byteLength}}catch{return}}function em(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 nm(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&&em(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 tm(e={}){let n=md(e.maxRecords,200,"maxRecords"),r=md(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,i=[],d=0,s=0,u=false;function g(S){let m=i.map(h=>h.record).filter(h=>S===void 0||nm(h,S));return Object.freeze({records:Object.freeze(m),droppedCount:s,estimatedBytes:d,disposed:u})}function f(){let S=g();for(let m of c)try{m(S);}catch{}}function C(){i.length=0,d=0,s=0;}return {write(S){if(u)return;let m=Zp(S);if(m===void 0||m.estimatedBytes>r){s+=1,f();return}for(i.push(m),d+=m.estimatedBytes;i.length>n||d>r;){let h=i.shift();if(h===void 0)break;d-=h.estimatedBytes,s+=1;}f();},getSnapshot:g,subscribe(S){if(u)return ()=>{};c.add(S);let m=true;return ()=>{m&&(m=false,c.delete(S));}},clear(){u||(C(),f());},dispose(){u||(u=true,C(),c.clear());}}}function rm(e){let n=Va({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(s){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(s.file instanceof Blob))return Promise.reject(new Sa("upload-source-invalid","Resource upload requires a File or Blob"));if(s.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let g=new AbortController,f=()=>g.abort();s.signal?.addEventListener("abort",f,{once:true});let C=true,S=()=>{if(g.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},m=s.filename??(typeof File<"u"&&s.file instanceof File?s.file.name:void 0),h=(async()=>{try{let D=await u.uploadResource({data:s.file,kind:s.kind,...m===void 0?{}:{filename:m},...s.file.type===""?{}:{mimeType:s.file.type},signal:g.signal,onProgress:_=>{C&&!g.signal.aborted&&s.onProgress?.(_);}});if(S(),D.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:D.url}}catch(D){throw D instanceof Sa&&D.code==="multipart-abort-failed"||S(),D}finally{C=false,s.signal?.removeEventListener("abort",f);}})();return r.set(g,h),h.then(()=>r.delete(g),()=>r.delete(g)),h}function d(){if(c!==void 0)return c;n=void 0;let s=[...r.values()];for(let u of r.keys())u.abort();return c=Promise.allSettled(s).then(()=>{}),c}return {upload:i,dispose:d}}export{El as a,Vs as b,Ce as c,qt as d,Ll as e,$t as f,Rs as g,ws as h,Gr as i,Hr as j,Ds as k,Jt as l,zr as m,Xt as n,Jp as o,tI as p,rI as q,tm as r,rm as s};