k2-im 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {A,Ya,Xa,B,o,s,t,v,z,Oa,r,k,l,h,Ua,Qa,Pa,d,g,u,e,a,ca,Q,ja as ja$1,Va as Va$1,da,X,Y,R,W,T,V,S,aa,Ja as Ja$1,pa,ba,Ka as Ka$1,qa,Ca,Da,ya,za,Ga as Ga$1,Z,b as b$1,Ia as Ia$1,_,$,La,Ha as Ha$1,U,Fa as Fa$1,Aa,Ba,m,n,f,ua,va as va$1,Ma as Ma$1,c as c$1,Na as Na$1,w as w$1,ta,ra as ra$1,ka as ka$1,x as x$1,y,i,p as p$1,P,j as j$1,q as q$1,ha as ha$1,ga as ga$1,fa,ea,ma,la,ia as ia$1,O,K,J as J$1,I,H,G,F,N,M,oa,na,L,E,D,C,Ea as Ea$1,wa as wa$1,xa as xa$1,sa as sa$1,Wa as Wa$1}from'./chunk-GZEX4V3P.js';import {b,gb,ra,ib,hb,Ea,eb,cb,db,bb,Pa as Pa$1,Qa as Qa$1,Ra,Sa,ha,ia,ja,ka,Ha,Ia,_a,Va,Ua as Ua$1,Ta,$a,Ya as Ya$1,ab,Xa as Xa$1,Wa,l as l$1,v as v$1,Za,Fa,xa,Ka,Ja,Oa as Oa$1,Na,jb,fb,ob,j,Ga,t as t$1,u as u$1,w,x,Ma,va,wa,aa as aa$1,_ as _$1,d as d$1,c,z as z$1,J,sa,Ba as Ba$1,h as h$1,s as s$1,r as r$1,p,La as La$1,ga,A as A$1,qa as qa$1,y as y$1,ba as ba$1}from'./chunk-VKNZ76EP.js';async function Ud(e){let n=b(e.fromPrefix),t=b(e.toPrefix);n.forAccount(e.accountId),t.forAccount(e.accountId);let c={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:t.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:t};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 Ie=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 ln(e,n,t){return n===39081?new Ie({operation:e,kind:"forbidden",code:n,message:t||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new Ie({operation:e,kind:"business",code:n,message:t||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function un(e,n){return n instanceof Ie?n:n instanceof b$1?new Ie({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new Ie({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function At(e,n){let t={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(t)}`}function Bd(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 rt(e){let{teaKey:n,fileEncryptType:t,...c}=e;return c}function Gd(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(rt(e.image))},...e.video===void 0?{}:{video:Object.freeze(rt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(rt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(rt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.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(rt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Et(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Gd(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:Bd(e.reactions)}})}function Nn(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:_$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function q(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function ot(e,n,t){return q({...{"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:t})}function pn(e,n,t){return q({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:t,cause:e})}async function Ln(e,n){let t=new Uint8Array(await n.arrayBuffer()),c=typeof File<"u"&&n instanceof File?n.name:void 0,d=(await e.uploadAvatar({data:t,...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 jd="IM_SDK_GROUP_NOT_MEMBER",Hd="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",zd="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Vd="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ji(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Wd(e,n,t){if(Ji(e))return e;let c=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c===39011?jd:c===39029?Hd:c===39033?zd:e instanceof c$1?Vd:e instanceof b$1?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka$1?"contract":e instanceof b$1?"network":c===39029?"permission":"state",s=q({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"group",conversationId:t},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function Cn(e,n,t){try{return await t()}catch(c){throw Wd(c,e,n)??c}}var $i=39005,qd=39057,$d=39061;function Yi(e){let n=new Map,t=new Map,c=true,i=m=>({conversationType:"group",conversationId:m});function d(m){t.set(m,(t.get(m)??0)+1);}function s(m){if(!c||n.has(m))return;let P=t.get(m)??0,O=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:m}}});return}try{let b=await aa({client:e.coreClient,groupId:m});if(!c||(t.get(m)??0)!==P)return;if(!b.ok){e.emitter.emit({type:"error",error:{scope:"http",code:b.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${b.message}`,cause:{conversationId:m}}});return}if(b.data===null){e.domainState.clearPinnedMessage(i(m),"reconcile");return}e.domainState.setPinnedMessage(t$1(b.data.messageContent,{conversationId:m}),"reconcile");}catch(b){if(!c||(t.get(m)??0)!==P)return;let w=b instanceof h$1||b instanceof s$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:w,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:b}});}})();n.set(m,O),O.finally(()=>{n.get(m)===O&&n.delete(m);});}let y=Ga({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),h=e.emitter.subscribe(m=>{if(m.type!=="message:received"&&m.type!=="message:updated"||m.message.conversationType!=="group")return;let P=m.message.body.system?.pinnedMessageAction;(P?.type==="pin"||P?.type==="unpin")&&d(m.message.conversationId),y.handleMessage(m.message);});function v(m,P){if(P.trim()==="")throw new Ie({operation:m,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(P));if(O===void 0)throw new Ie({operation:m,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="group")throw new Ie({operation:m,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function T(m,P){if(e.coreClient===void 0)throw new Ie({operation:m,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return v(m,P),e.coreClient}return {operations:{pinMessage:async({groupId:m,messageId:P})=>{let O=T("pin",m),b=e.domainState.getConversationMessage(i(m),P);if(b===void 0)throw new Ie({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(b.conversationType!=="group")throw new Ie({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(b.conversationId!==m)throw new Ie({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:w,pinnedMessage:f}=u$1(b),g=await pa({client:O,groupId:m,messageContent:w});if(!g.ok)throw ln("pin",g.code,g.message);d(m),e.domainState.setPinnedMessage(f,"http:pin");let a=e.domainState.getPinnedMessage(i(m));if(a===void 0)throw new Ie({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(w){throw un("pin",w)}},unpinMessage:async m=>{let P=T("unpin",m);try{let O=await Ja$1({client:P,groupId:m});if(!O.ok)throw ln("unpin",O.code,O.message);d(m),e.domainState.clearPinnedMessage(i(m),"http:unpin");}catch(O){throw un("unpin",O)}},getPinnedMessage:async m=>{let P=T("get",m);try{let O=await aa({client:P,groupId:m});if(!O.ok)throw ln("get",O.code,O.message);if(d(m),O.data===null)return e.domainState.clearPinnedMessage(i(m),"reconcile"),null;let b=t$1(O.data.messageContent,{conversationId:m});e.domainState.setPinnedMessage(b,"reconcile");let w=e.domainState.getPinnedMessage(i(m));if(w===void 0)throw new Ie({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return w}catch(O){throw un("get",O)}},peekPinnedMessage:m=>(v("get",m),e.domainState.getPinnedMessage(i(m))??null)},dispose:()=>{c&&(c=false,h());}}}function Xi(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"))},t=new Map,c=new Map,i=new Map;function d(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function s(o){let p=[],C=new Set;for(let I of o){if(I.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");C.has(I.userId)||(C.add(I.userId),p.push(Object.freeze({userId:I.userId,displayName:I.nickName.trim()===""?I.userId:I.nickName})));}return Object.freeze(p)}async function y(o,p){d(o);let C=e.profile?.listGroupMembers;if(C===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let I=o.conversationId,F=t.get(I);if(!p&&F!==void 0)return F;let N=i.get(I);if(N!==void 0&&(!p||N.refresh))return N.promise;let j=(c.get(I)??0)+1;c.set(I,j);let _=Promise.resolve().then(()=>C(I,p?{forceRefresh:true}:void 0)).then(J=>{if(J===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let D=s(J);return c.get(I)===j&&t.set(I,D),D}).finally(()=>{i.get(I)?.promise===_&&i.delete(I);});return i.set(I,{refresh:p,promise:_}),_}function h(o,p,C,I){let N=q({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...C===void 0?{}:{details:C},...I===void 0?{}:{cause:I}});return Object.assign(new Error(p),N)}function v(o,p,C,I){let F=q({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...C===void 0?{}:{details:C},...I===void 0?{}:{cause:I}});return Object.assign(new Error(p),F)}function T(o){if(o===null||typeof o!="object"||o===void 0)throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let C=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(C)||C!==1&&C!==2)throw v("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let I=String(p),F=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:I}),activation:C===1?"pending":"active",...F===void 0||F===""?{}:{avatarUrl:F},qrPayload:At(I,F)})}function E(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 P(o){if(o===null||typeof o!="object"||o===void 0)throw h("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 h("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let C=String(p),I=o,F=I.name?.trim()??"";if(F==="")throw h("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let N=E(I.total_users),j=E(I.status),_=E(I.verify_way),J=E(I.update_version),D=m(I.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:C}),name:F,...I.head_img_url?.trim()===""||I.head_img_url===void 0?{}:{avatar:I.head_img_url},...I.user_id===void 0?{}:{ownerId:String(I.user_id)},...N===void 0?{}:{memberCount:N},...j===void 0?{}:{status:j},...D===void 0?{}:{isInGroup:D},..._===void 0?{}:{verifyWay:_},...J===void 0?{}:{updateVersion:J},...I.invite_code===void 0?{}:{inviteCode:I.invite_code}}}function O(o){let p=o.name.trim();if(p==="")throw h("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw h("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let C=o.memberIds;if(!Array.isArray(C))throw h("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let I=C.map(N=>typeof N=="string"?N.trim():"");if(I.includes(""))throw h("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let F=[...new Set(I)];if(F.length>40)throw h("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:F}}function b(o,p){let C=o.trim();if(C==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return C}function w(){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 f(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=o.map(C=>b(C,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function g(o,p,C){if(o!==1&&o!==2&&o!==4){let F=q({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:C}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),F)}if(o!==4)return {verifyWay:o};let I=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(I)){let F=q({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:C}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),F)}return {verifyWay:o,inviteCode:I}}function a(o){t.delete(o),c.set(o,(c.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>y(o,false),refreshAll:o=>y(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 C=p.trim();if(o===""||C==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await La({client:e.coreClient,groupId:o,name:C}),e.domainState.updateConversationProfile(o,{title:C}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,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 C=await Ln(e.avatarTransfer,p);return await La({client:e.coreClient,groupId:o,avatarUrl:C}),e.domainState.updateConversationProfile(o,{avatar:C}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),C},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw h("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 Ln(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw h("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.ensureConversation===void 0)throw h("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=O(o);try{let C=await $({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!C.ok){let F=C.code===$i?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":C.code===qd?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":C.code===$d?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw h(F,C.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:C.code,message:C.message}))}let I=P(C.data);return e.domainState.ensureConversation({id:I.ref.conversationId,type:"group",title:I.name,...I.avatar===void 0?{}:{avatar:I.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:I})}catch(C){throw C!==void 0&&typeof C=="object"&&C!==null&&"code"in C&&String(C.code).startsWith("IM_SDK_")?C:C instanceof b$1?h("IM_SDK_GROUP_CREATE_NETWORK_FAILED",C.message,void 0,C):h("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,C)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw v("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await _({client:e.coreClient});if(!o.ok){let p=o.code===$i?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw v(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:T(o.data)})}catch(o){throw Ji(o)?o:o instanceof b$1?v("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):v("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ia$1({client:e.coreClient,groupId:o,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,p,C)=>{let I=w(),F=b(o,"\u7FA4 id"),N=g(p,C,F);await Cn("groups.updateVerification",F,()=>ia$1({client:I,groupId:F,verifyWay:N.verifyWay,...N.inviteCode===void 0?{}:{inviteCode:N.inviteCode}})),a(F);},requestJoin:async(o,p)=>{let C=w(),I=b(o,"\u7FA4 id"),F=p?.remarks?.trim();return Cn("groups.requestJoin",I,()=>la({client:C,groupId:I,...F===void 0?{}:{remarks:F}}))},joinByInviteCode:async(o,p)=>{let C=w(),I=b(o,"\u7FA4 id"),F=p.trim();if(!/^\d{6}$/.test(F))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Cn("groups.joinByInviteCode",I,()=>ma({client:C,groupId:I,inviteCode:F}))},inviteMembers:async(o,p)=>{let C=w(),I=b(o,"\u7FA4 id"),F=f(p);if(F.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Cn("groups.inviteMembers",I,()=>ea({client:C,groupId:I,userIds:F})),a(I);},removeMember:async(o,p)=>{let C=w(),I=b(o,"\u7FA4 id"),F=b(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Cn("groups.removeMember",I,()=>fa({client:C,groupId:I,userId:F})),a(I);},transferOwnership:async(o,p)=>{let C=w(),I=b(o,"\u7FA4 id"),F=b(p,"\u65B0\u7FA4\u4E3B id");await Cn("groups.transferOwnership",I,()=>ga$1({client:C,groupId:I,userId:F})),a(I);},leave:async(o,p)=>{let C=w();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 I=b(o,"\u7FA4 id"),F=p?.newOwnerId===void 0?void 0:b(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Cn("groups.leave",I,()=>ha$1({client:C,groupId:I,...F===void 0?{}:{newOwnerId:F}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:I},"group_left"),a(I);},...e.pinned}}function Zi(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 es=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function ns(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Ir(e,n){let t=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,i=ns();return gb({enabled:t,level:c?.level??"trace",categories:c?.categories??es,...t?{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 yr=Object.freeze(ts.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),rs=new Map(yr.flatMap(e=>e.tokens.map(n=>[n,e])));function os(e){return rs.get(e)}function as(e){return rs.has(e)}function Mn(e){let n=q(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function is(e,n){return n instanceof Ma$1?Mn({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Na$1?Mn({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof c$1?Mn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Mn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function at(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function hr(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="";for(let c=0;c<e.length;c+=3){let i=e[c]??0,d=e[c+1]??0,s=e[c+2]??0,y=i<<16|d<<8|s;t+=n.charAt(y>>>18&63),t+=n.charAt(y>>>12&63),t+=c+1<e.length?n.charAt(y>>>6&63):"=",t+=c+2<e.length?n.charAt(y&63):"=";}return t}function Rt(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 vr(e){let n=Rt(e);if(n==="text"){let t=(e.body.text??"").trim();return t===""?null:{content:t}}if(n==="image"){let t=at(e.body.image?.url),c=hr(e.body.image?.thumbData);return t===""||c===""?null:{content:t,imageURL:t,thumbData:c,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let t=at(e.body.video?.url),c=hr(e.body.video?.thumbData);return t===""||c===""?null:{content:t,videoURL:t,thumbData:c,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let t=at(e.body.voice?.url);return t===""?null:{content:t,voiceURL:t,duration:e.body.voice?.durationMs??0}}if(n==="file"){let t=at(e.body.file?.url),c=(e.body.file?.fileName??"").trim();return t===""||c===""?null:{content:c,fileURL:t,fileName:c,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let t=e.body.mediaAlbum;if(t===void 0||t.items.length===0)return null;let c=t.items.map(i=>({mediaType:i.kind==="video"?2:1,url:at(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:hr(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,...t.caption!==void 0&&t.caption.trim()!==""?{caption:t.caption}:{}}}return null}function Yd(e,n,t){return e.senderId.trim()===n.trim()?t:n.trim()}function ss(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function us(e){function n(i){if(!e.isActive())throw Mn({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function t(i,d){if(n(i),e.provider===void 0)throw is(i,new Ma$1);let s;try{s=await d(e.provider);}catch(y){throw n(i),is(i,y)}return n(i),s}return {api:{list:async()=>{let i=await t("sessionFavorites.list",d=>d.list());return Object.freeze(i.map(ss))},addFromMessage:async i=>{let d="sessionFavorites.addFromMessage",s=Rt(i.message),y=vr(i.message),h=i.selfId.trim(),v=i.message.id.trim();if(s===null||y===null||h===""||v==="")throw Mn({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let T={messageId:v,conversation:i.conversation,senderId:i.message.senderId.trim(),createdAt:i.message.createdAt,kind:s,plainBody:y,peerId:Yd(i.message,h,i.conversation.conversationId)},E=await t(d,m=>m.add(T));return ss(E)},delete:async i=>{let d="sessionFavorites.delete",s=[...new Set(i.map(y=>y.trim()).filter(y=>y!==""))];if(s.length===0)throw Mn({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await t(d,y=>y.delete(s));}}}}var ps="settings:read-receipts:v1",ms="settings:appearance:v1",Tt=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function rn(e){return q({...e,retryable:e.retryable??false})}function br(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Sr(){return {fontScale:1}}function Cr(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Xd(e){if(typeof e!="object"||e===null)return br();let n=e,t=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"&&(t[c]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:t}}function Qd(e){if(typeof e!="object"||e===null)return Sr();let n=e.fontScale;return {fontScale:fs(n)?n:1}}function fs(e){return typeof e=="number"&&Tt.includes(e)}function Mr(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw rn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function wt(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw rn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function gs(e){let n=false,t=false,c=false,i,d,s=br(),y=Promise.resolve(),h=false,v,T=Sr(),E=Promise.resolve();function m(p){return rn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function P(p){if(n)throw m(p)}async function O(p,C){if(P(C),t)return;let I;try{I=wt(e.storage,C);}catch(F){if(!p)return;throw F}try{let F=await I.getMeta(ps);P(C),s=Xd(F),t=!0,c=!1;}catch(F){throw n?m(C):(c=true,rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:C,cause:F}))}}function b(p){return P(p),t?Promise.resolve():(i===void 0&&(i=O(true,p).finally(()=>{i=void 0;})),i)}async function w(p){if(P(p),!h)try{let C=await wt(e.storage,p).getMeta(ms);P(p),T=Qd(C),h=!0;}catch(C){throw n?m(p):typeof C=="object"&&C!==null&&"code"in C?C:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:C})}}function f(p){return P(p),h?Promise.resolve():(v===void 0&&(v=w(p).finally(()=>{v=void 0;})),v)}async function g(p,C,I){P(p);let F=y.then(async()=>{P(p),await b(p),P(p);let N=Cr(s),j=C(Cr(s));try{await wt(e.storage,p).setMeta(ps,Cr(j));}catch(_){throw n?m(p):typeof _=="object"&&_!==null&&"code"in _?_:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:_})}P(p),s=j,I?.(N,j);});return y=F.catch(()=>{}),F}let a={async getGlobal(){let p="settings.readReceipts.getGlobal";return P(p),await b(p),P(p),s.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(rn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):g("settings.readReceipts.setGlobal",C=>({...C,globalEnabled:p}),(C,I)=>{C.globalEnabled&&!I.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let C="settings.readReceipts.getConversation";P(C);let I=Mr(p,C);await b(C),P(C);let F=s.peerOverrides[I.conversationId]??true;return Object.freeze({enabled:F,effectiveEnabled:s.globalEnabled&&F})},setConversation(p,C){let I="settings.readReceipts.setConversation",F;try{F=Mr(p,I);}catch(N){return Promise.reject(N)}return typeof C!="boolean"?Promise.reject(rn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:I,conversation:F})):g(I,N=>(N.peerOverrides[F.conversationId]=C,N),(N,j)=>{let _=F.conversationId,J=N.globalEnabled&&(N.peerOverrides[_]??true),D=j.globalEnabled&&(j.peerOverrides[_]??true);J&&!D&&e.onDirectReadReceiptDisabled?.(_);})},resetConversation(p){let C="settings.readReceipts.resetConversation",I;try{I=Mr(p,C);}catch(F){return Promise.reject(F)}return g(C,F=>(delete F.peerOverrides[I.conversationId],F))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await f(p),P(p),T.fontScale},set(p){let C="settings.appearance.fontScale.set";if(!fs(p))return Promise.reject(rn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:C,details:{supportedValues:[...Tt]}}));let I=E.then(async()=>{P(C),await f(C),P(C);let F={fontScale:p};try{await wt(e.storage,C).setMeta(ms,F);}catch(N){throw n?m(C):typeof N=="object"&&N!==null&&"code"in N?N:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:C,cause:N})}P(C),T=F;});return E=I.catch(()=>{}),I}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){P("settings.readReceipts.hydrate"),!t&&(i===void 0&&(i=O(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=br(),T=Sr();let p=i,C=y,I=v,F=E;return d=Promise.allSettled([...p===void 0?[]:[p],C,...I===void 0?[]:[I],F]).then(()=>{}),d}}}var qe=Object.freeze({availability:"available",reason:"ok"});function $e(e){return Object.freeze({availability:"unavailable",reason:e})}function Te(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function _t(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function it(e){return `${e.conversationType}:${e.conversationId}`}function Zd(){return Object.freeze({sendMessages:false})}function el(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function nl(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 tl(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 rl(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let t=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(t===null)return;let c=Number(t[1]),i=Number(t[2]),d=Number(t[3]),s=Number(t[4]);if(c>23||d>23||i>59||s>59)return;let y=new Date(n);y.setHours(c,i,0,0);let h=new Date(n);if(h.setHours(d,s,59,999),y.getTime()<=n&&n<=h.getTime())return h.getTime()+1;if(n<y.getTime())return y.getTime();let v=y;return v.setDate(v.getDate()+1),v.getTime()}function Fn(e,n,t){let c=n.get(it(e));if(c!==void 0)for(let i of [...c])i(t);}function Is(e){let n=new Map,t=new Map,c=new Map,i=new Map,d=new Map,s=new Map,y,h=new Set,v=e.getSessionUserId(),T=0;function E(N){N.conversationType==="direct"?n.delete(N.conversationId):N.conversationType==="group"?t.delete(N.conversationId):c.delete(N.conversationId);}function m(){n.clear(),t.clear(),c.clear(),s.clear(),h=new Set;}function P(){let N=e.getSessionUserId();return N!==v&&(v=N,m()),N}function O(N){P();let j=++T;return s.set(it(N),j),j}function b(N,j){return P(),s.get(it(N))===j}function w(N,j={}){P();let _=j.nowMs??Date.now(),J=e.getConversation(N);if(N.conversationType==="direct"){let ie=_t({conversationType:"direct",conversationId:N.conversationId}),ue=n.get(N.conversationId),Y=ue?.relationship??"unknown",ce=el(Y),me=ce==="ok"?qe:ce==="relationship-unknown"?Te(ce):$e(ce),Se=Y==="friend"?qe:Y==="unknown"?Te(ce):$e(ce);return Object.freeze({ref:ie,conversationType:"direct",evaluatedAt:_,value:Object.freeze({relationship:Y,...ue===void 0?{}:{relationshipCheckedAt:ue.checkedAt},canSendMessages:me,canOpenProfile:qe,canUseMessageActions:me,canManageRelationship:Se})})}if(N.conversationType==="group"){let ie=_t({conversationType:"group",conversationId:N.conversationId}),ue=t.get(N.conversationId),Y=J?.ref.conversationType==="group"?J.groupState??"active":"unknown",ce=nl(Y),me=ce==="ok",Se=e.getSessionUserId(),Pe=ue?.ownerId,Ae=Se!==void 0&&Pe!==void 0&&Se===Pe,_e=me?qe:$e(ce),Ye=me?ue===void 0?Te("not-ready"):Ae?qe:$e("role-insufficient"):$e(ce);return Object.freeze({ref:ie,conversationType:"group",evaluatedAt:_,value:Object.freeze({membership:Y,...Pe===void 0?{}:{ownerId:Pe},isOwner:Ae,canSendMessages:_e,canOpenProfile:_e,canReadHistory:qe,canUseMessageActions:_e,canViewMembers:_e,canEditProfile:Ye,canInviteMembers:_e,canManageMembers:Ye,canPinMessages:Ye,canUnpinMessages:Ye,canTransferOwnership:Ye,canLeave:_e,canUpdateVerification:Ye})})}let D=_t({conversationType:"channel",conversationId:N.conversationId}),G=c.get(N.conversationId),te=J?.ref.conversationType==="channel"&&J.channelState!==void 0?J.channelState:G?.state;if(te===void 0)return Object.freeze({ref:D,conversationType:"channel",evaluatedAt:_,value:Object.freeze({state:"unknown",role:G?.role??"unknown",permissions:Zd(),canSendMessages:Te("unknown-restricted"),canOpenProfile:Te("unknown-restricted"),canReadHistory:qe,canUseMessageActions:Te("unknown-restricted"),canMutateMessages:Te("unknown-restricted"),canPinMessages:Te("unknown-restricted"),canUnpinMessages:Te("unknown-restricted"),canDeleteMessagesForEveryone:Te("unknown-restricted"),canMentionAll:Te("unknown-restricted"),canViewMembers:Te("unknown-restricted"),canEditProfile:Te("unknown-restricted"),canManageMembers:Te("unknown-restricted"),canManageMute:Te("unknown-restricted"),canDismiss:Te("unknown-restricted"),canTransferOwnership:Te("unknown-restricted"),canLeave:Te("unknown-restricted"),canInviteMembers:Te("unknown-restricted"),canSetMemberAdmin:Te("unknown-restricted"),canRemoveMembers:Te("unknown-restricted"),canSetMemberPrivateChat:Te("unknown-restricted")})});let z=wa({channelState:te,nowMs:_,...J?.ref.conversationType==="channel"&&J.channelAccessSnapshot!==void 0?{snapshot:J.channelAccessSnapshot}:{},...J?.ref.conversationType==="channel"&&J.channelPermissions!==void 0?{permissions:J.channelPermissions}:G?.permissions===void 0?{}:{permissions:G.permissions}}),ae=tl(z.channelState,z.muteReason),A=z.channelState==="active"||z.channelState==="muted",V=z.channelState==="active"?z.permissions.sendMessages?qe:$e("unknown-restricted"):$e(ae),ee=ie=>A&&ie?qe:$e(A?"role-insufficient":ae),S=ie=>z.channelState==="active"&&ie?qe:$e(z.channelState==="muted"?ae:A?"role-insufficient":ae),L=G?.memberPrivateChatDisabled===false||z.permissions.manageMembers===true,K=A?G===void 0&&z.permissions.manageMembers!==true?Te("not-ready"):ee(L):$e(ae),$=z.channelState==="muted"?$e(ae):A?qe:$e(ae),B=rl(J,_);return Object.freeze({ref:D,conversationType:"channel",evaluatedAt:_,...B===void 0?{}:{nextEvaluationAt:B},value:Object.freeze({state:z.channelState,role:G?.role??J?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...z.permissions}),...z.muteReason===void 0?{}:{muteReason:z.muteReason},canSendMessages:V,canOpenProfile:A?qe:$e(ae),canReadHistory:qe,canUseMessageActions:A?qe:$e(ae),canMutateMessages:$,canPinMessages:S(z.permissions.moderateMessages===true),canUnpinMessages:S(z.permissions.moderateMessages===true),canDeleteMessagesForEveryone:S(z.permissions.moderateMessages===true),canMentionAll:ee(z.permissions.mentionAll===true),canViewMembers:K,canEditProfile:ee(z.permissions.editProfile===true),canManageMembers:ee(z.permissions.manageMembers===true),canManageMute:ee(z.permissions.manageMute===true),canDismiss:ee(z.permissions.dismissChannel===true),canTransferOwnership:ee(z.permissions.transferOwnership===true),canLeave:A?qe:$e(ae),canInviteMembers:ee(z.permissions.manageMembers===true),canSetMemberAdmin:ee(z.permissions.manageAdmins===true),canRemoveMembers:ee(z.permissions.manageMembers===true),canSetMemberPrivateChat:ee(z.permissions.manageMute===true)})})}async function f(N,j={}){let _=O(N);if(N.conversationType==="direct"){let J=await e.getRelationship(N.conversationId);b(N,_)&&g(N.conversationId,J,_);}else if(N.conversationType==="group"){let J={conversationType:"group",conversationId:N.conversationId},D=await e.getGroupProfile(J,{forceRefresh:true});b(N,_)&&a(J,D,_);}else {let J={conversationType:"channel",conversationId:N.conversationId},D=await e.getChannelProfile(J,{forceRefresh:true});b(N,_)&&o(J,D,_);}return w(N,j)}function g(N,j,_){let J={conversationType:"direct",conversationId:N};b(J,_)&&(n.set(N,{relationship:j,checkedAt:Date.now()}),Fn(J,i,w(J)));}function a(N,j,_){b(N,_)&&(t.set(N.conversationId,j),Fn(N,i,w(N)));}function o(N,j,_){b(N,_)&&(c.set(N.conversationId,j),Fn(N,i,w(N)));}function p(N,j,_={}){P();let J=it(N),D=i.get(J)??new Set;return D.add(j),i.set(J,D),d.set(J,_t(N)),j(w(N,_)),y===void 0&&(y=e.subscribeConversations(G=>{P();let te=Date.now(),z=new Set(G.map(ae=>it(ae.ref)));for(let ae of G){let A=w(ae.ref,{nowMs:te});Fn(ae.ref,i,A);}for(let[ae,A]of d){if(!h.has(ae)||z.has(ae))continue;E(A);let V=w(A,{nowMs:te});Fn(A,i,V);}h=z;})),()=>{D.delete(j),D.size===0&&i.delete(J),i.has(J)||d.delete(J),i.size===0&&(y?.(),y=void 0,h=new Set);}}function C(){m();let N=Date.now();for(let j of d.values())Fn(j,i,w(j,{nowMs:N}));}function I(){y?.(),y=void 0,i.clear(),d.clear(),m();}let F=Object.freeze({get:w,refresh:f,subscribe:p});return Object.freeze({...F,api:F,beginProjectionUpdate:O,updateRelationshipProjection:g,updateGroupProfileProjection:a,updateChannelProfileProjection:o,reset:C,dispose:I})}var ol=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function on(e,n){let t=e?.conversationType,c=e?.conversationId;if(t==="supergroup")throw q({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof c!="string"||c.trim()==="")throw q({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:t,conversationId:c})}function al(e){return e===null?null:Object.freeze({ref:on(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 il(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 Pr(e){let n=il(e.lastMessageSummary),t=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:on({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},...t===void 0?{}:{lastMessageMention:t},...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:al(e.draft)})}function sl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function bn(e,n,t,c){return sl(e)?e:q({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:t,...c===void 0?{}:{conversation:c},cause:e})}function ys(e){let n=new Set,t,c,i;function d(){return Object.freeze(e.getCompatibilityApi().list().map(Pr))}function s(){let E=e.getSessionState();return E==="preparing"?"loading":E==="ready"?"ready":"idle"}function y(){try{let E=d();return Object.freeze({state:c??s(),items:E,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(E){let m=bn(E,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(m)})}}function h(){let E=y();for(let m of [...n])m(E);}function v(E){return n.add(E),E(y()),t===void 0&&(t=e.subscribeEvents(m=>{ol.has(m.type)&&h();})),()=>{n.delete(E),n.size===0&&(t?.(),t=void 0);}}return {api:{list:d,getBackground:E=>e.getCompatibilityApi().getBackground(on(E,"conversations.getBackground")),setBackground:(E,m)=>e.getCompatibilityApi().setBackground(on(E,"conversations.setBackground"),m),resetBackground:E=>e.getCompatibilityApi().resetBackground(on(E,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:E=>e.getCompatibilityApi().setDefaultBackground(E),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:E=>e.getCompatibilityApi().listBackgroundPresets(E),getSnapshot:y,subscribe:v,async refresh(){c="loading",i=void 0,h();try{await e.getCompatibilityApi().sync(),c=void 0,h();}catch(E){throw c="error",i=bn(E,"conversations.refresh",true),h(),i}},getTotalUnread(E){return d(),e.getCompatibilityApi().getTotalUnread(E)},setPinned(E,m){let P=on(E,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(P,m);}catch(O){throw bn(O,"conversations.setPinned",false,P)}},async setMuted(E,m){let P=on(E,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(P,m);}catch(O){throw bn(O,"conversations.setMuted",true,P)}},async markRead(E){let m=on(E,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(m);}catch(P){throw bn(P,"conversations.markRead",true,m)}},markUnread(E){let m=on(E,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(m);}catch(P){throw bn(P,"conversations.markUnread",false,m)}},deleteLocal(E){let m=on(E,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(m);}catch(P){throw bn(P,"conversations.deleteLocal",false,m)}}},dispose(){t?.(),t=void 0,n.clear();}}}var cl=128,dl=8,ll=64*1024*1024,ul=3,Dt=1024*1024;function pl(e){let n=0,t=false,c=[];function i(){if(!t)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 t?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,y)=>{let h={resolve:s,reject:y,signal:d,onAbort:()=>{let v=c.indexOf(h);v>=0&&c.splice(v,1),y(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",h.onAbort,{once:true}),c.push(h),i();})},dispose(){t=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 hs(){return ra([{kind:"image",softMaxBytes:512*Dt,maxEntries:512,maxEntryBytes:30*Dt},{kind:"video",softMaxBytes:1792*Dt,maxEntries:64,maxEntryBytes:200*Dt}])}function vs(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function ml(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function kt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ar(e,n,t,c){let i=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(t)}`;return c===void 0?i:`${i}:${c}`}function Er(e){let n=e.ref.conversationType,t=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||t.trim()==="")throw ke({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=kt({conversationType:n,conversationId:t});return Cs({id:Ar(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:vs(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:fl(e.failure,c)}})}function ke(e){let n=q(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function fl(e,n){if(e===void 0)return;let t=e.displayCode,i=t===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}}[t];return Object.freeze(q({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function Cs(e){return Object.freeze({...e,ref:kt(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function gl(e){let n=e?.conversation,t=n?.conversationType,c=n?.conversationId;if(t==="supergroup")throw ke({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof c!="string"||c.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw ke({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return kt({conversationType:t,conversationId:c})}function Ms(e){let n=true,t=0,c=0,i=new Map,d=new Set,s=new Map,y=new Map,h=new Map,v=pl(ul),T=e.maxCachedBlobs??dl,E=e.maxCachedBlobBytes??ll,m=0;function P(){if(!n||!e.isActive())throw ke({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function O(){return Object.freeze([...i.values()])}function b(){let A=O();for(let V of [...d])try{V(A);}catch(ee){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:ee}});}}function w(A){let V=h.get(A);V!==void 0&&(m-=V.size,h.delete(A));}function f(A){i.delete(A),s.delete(A),w(A);}function g(){for(;i.size>cl;){let A=[...i.values()].find(V=>V.state==="completed"||V.state==="failed"||V.state==="canceled");if(A===void 0)return;f(A.id);}}function a(A){i.set(A.id,Cs(A)),g();}function o(A){if(!n||!e.isActive())return;a(A);let V=i.get(A.id);if(b(),!n||!e.isActive()||V===void 0||i.get(A.id)!==V)return;let ee={id:V.id,messageId:V.messageId,ref:V.ref,direction:"download",state:V.state,percent:V.percent};e.emitter.emit({type:"media-task:updated",conversation:V.ref,task:ee});}function p(A,V){if(w(A),!(V.size>E))for(h.set(A,V),m+=V.size;h.size>T||m>E;){let ee=h.keys().next().value;if(ee===void 0)break;w(ee);}}function C(A,V=true){let ee=gl(A),S=e.domainState.getConversationMessage(ee,A.messageId);if(S===void 0)throw ke({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:ee});let L,K,$,B;if(S.contentType==="image")L=S.body.image,K=e.loaders?.loadImage,B="image";else if(S.contentType==="video")L=S.body.video,K=e.loaders?.loadVideo,B="video";else if(S.contentType==="voice")L=S.body.voice,K=e.loaders?.loadVoice;else if(S.contentType==="file")L=S.body.file,K=e.loaders?.loadFile,$=S.body.file?.mimeType;else if(S.contentType==="mediaAlbum"){let ie=S.body.mediaAlbum?.items,ue=A.itemIndex,Y=ue===void 0||ie===void 0?void 0:ie[ue];if(Y===void 0)throw ke({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:ee});L=Y,K=Y.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,B=Y.kind;}if(S.contentType!=="mediaAlbum"&&A.itemIndex!==void 0)throw ke({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:ee});if(L===void 0)throw ke({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:ee});if(V&&K===void 0)throw ke({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:ee});if(L.url.trim()===""||L.url.startsWith("blob:"))throw ke({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:ee});return {ref:ee,messageId:S.id,...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex},...$===void 0?{}:{mimeType:$},...B===void 0?{}:{cacheKind:B,resourceVersion:sa(L.url)},...K===void 0?{}:{load:K},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 I(A){return ke({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:A})}function F(){return ke({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function N(A,V,ee=t){if(P(),ee!==t)return null;let S=Ar("download",A.ref,A.messageId,A.itemIndex),L=h.get(S);if(L!==void 0)return h.delete(S),h.set(S,L),L;if(e.assetCache===void 0||A.cacheKind===void 0||A.resourceVersion===void 0)return null;let K;try{K=await e.assetCache.get({kind:A.cacheKind,messageId:A.messageId,resourceVersion:A.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:K===null?"miss":"hit",kind:A.cacheKind,messageId:A.messageId,...K===null?{}:{byteLength:K.blob.size}});}catch(ue){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:A.cacheKind,messageId:A.messageId,cause:ue}),V)throw ke({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:A.ref});return null}if(K===null||(P(),ee!==t))return null;let $=K.blob,B=K.mimeType??A.mimeType??"",ie=$.type===B?$:$.slice(0,$.size,B);return p(S,ie),ie}function j(A,V=false){let ee=t,S=Ar("download",A.ref,A.messageId,A.itemIndex),L=y.get(S);if(L!==void 0)return L.promise;if(!V){let ue=h.get(S);if(ue!==void 0)return h.delete(S),h.set(S,ue),Promise.resolve(ue)}w(S);let K=kt(A.ref);s.set(S,Object.freeze({conversation:K,messageId:A.messageId,...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex}}));let $={id:S,messageId:A.messageId,ref:K,direction:"download",...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex}},B=new AbortController,ie=Promise.resolve().then(async()=>{let ue;try{if(!n||!e.isActive())throw F();if(B.signal.aborted)throw I(K);if(ue=await v.acquire(B.signal),!n||!e.isActive())throw F();if(B.signal.aborted)throw I(K);if(o({...$,state:"running",percent:0}),!n||!e.isActive())throw F();if(B.signal.aborted)throw I(K);if(!V&&e.assetCache!==void 0&&A.cacheKind!==void 0&&A.resourceVersion!==void 0){let Pe=await N(A,!1,ee);if(Pe!==null){if(B.signal.aborted)throw I(K);return o({...$,state:"completed",percent:100}),Pe}}let Y=A.load;if(Y===void 0)throw ke({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:K});let ce=await Y({...A.input,signal:B.signal,onProgress:Pe=>{let Ae=i.get(S);if(!n||!e.isActive()||B.signal.aborted||y.get(S)?.controller!==B||Ae?.state!=="running")return;let _e=Math.min(99,vs(Pe));_e<=Ae.percent||o({...$,state:"running",percent:_e});}});if(!n||!e.isActive())throw F();if(B.signal.aborted)throw I(K);let me=ce instanceof Blob?void 0:ce,Se=me===void 0?ce:new Blob([me],A.mimeType===void 0?void 0:{type:A.mimeType});if(A.mimeType!==void 0&&Se.type!==A.mimeType&&(Se=Se.slice(0,Se.size,A.mimeType)),ee===t&&p(S,Se),ee===t&&e.assetCache!==void 0&&A.cacheKind!==void 0&&A.resourceVersion!==void 0){let Pe=Se.size;e.assetCache.put({kind:A.cacheKind,messageId:A.messageId,resourceVersion:A.resourceVersion,blob:Se,...A.mimeType===void 0?{}:{mimeType:A.mimeType}}).then(Ae=>{e.onAssetCacheEvent?.({operation:"put",outcome:Ae,kind:A.cacheKind,messageId:A.messageId,byteLength:Pe});}).catch(Ae=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:A.cacheKind,messageId:A.messageId,byteLength:Pe,cause:Ae});});}if(o({...$,state:"completed",percent:100}),!n||!e.isActive())throw F();return Se}catch(Y){if(!n||!e.isActive())throw F();if(B.signal.aborted||typeof Y=="object"&&Y!==null&&"code"in Y&&Y.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let me=I(K);throw i.get(S)?.state!=="canceled"&&o({...$,state:"canceled",percent:i.get(S)?.percent??0,error:me}),me}let ce=ke({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:K});throw o({...$,state:"failed",percent:i.get(S)?.percent??0,error:ce}),ce}finally{ue?.(),y.get(S)?.controller===B&&y.delete(S);}});return y.set(S,{controller:B,promise:ie}),o({...$,state:"queued",percent:0}),ie}function _(A){try{return P(),j(C(A))}catch(V){return Promise.reject(V)}}async function J(A){let V=C(A,false);return V.cacheKind===void 0?null:await N(V,true)}async function D(A){if(P(),e.preparePreview===void 0)throw ke({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let V;try{V=await e.preparePreview({operationId:`media.prepareLocalPreview:${++c}`,kind:A.kind,file:A.file,...A.signal===void 0?{}:{signal:A.signal}});}catch(S){if(A.signal?.aborted===true||S instanceof Error&&S.name==="AbortError")throw S;return e.onLocalPreviewError?.({kind:A.kind,byteLength:A.file.size,cause:S}),null}return P(),!Number.isFinite(V.width)||!Number.isFinite(V.height)||V.width<=0||V.height<=0?(e.onLocalPreviewError?.({kind:A.kind,byteLength:A.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${V.width}\xD7${V.height}`)}),null):A.kind==="video"?{width:V.width,height:V.height,...V.duration===void 0?{}:{duration:V.duration},...V.posterData===void 0?{}:{posterData:V.posterData}}:{width:V.width,height:V.height}}function G(A,V){P();let ee=i.get(A);if(ee===void 0)throw ke({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:V,retryable:false});return ee}function te(A,V){return ke({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:V,retryable:false,conversation:A.ref,details:Object.freeze({state:A.state,direction:A.direction})})}let z=e.emitter.subscribe(A=>{!n||A.type!=="media-task:updated"||A.task.direction!=="upload"||ml(A.conversation,A.task.ref)&&(a(Er(A.task)),b());});return {api:{getSnapshot(){return P(),O()},subscribe(A){return P(),d.add(A),()=>d.delete(A)},async cancel(A){let V=G(A,"media.cancel");if(V.state!=="queued"&&V.state!=="running")throw te(V,"media.cancel");if(V.direction==="upload"){if(!e.connection.cancelMediaUpload(V.messageId))throw ke({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:V.ref});return}let ee=y.get(A);if(ee===void 0)throw te(V,"media.cancel");ee.controller.abort();let S=I(V.ref);o({...V,state:"canceled",error:S});},async retry(A){let V=G(A,"media.retry");if(V.state!=="failed"&&V.state!=="canceled")throw te(V,"media.retry");if(V.direction==="upload"){if(!e.connection.retryMediaUpload(V.messageId))throw ke({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:V.ref});return}if(y.has(A))throw ke({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:V.ref});let ee=s.get(A);if(ee===void 0)throw ke({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await j(C(ee),true);},download:_,getCached:J,prepareLocalPreview:D},clearCache(){t+=1,h.clear(),m=0;},dispose(){if(n){n=false,t+=1,z();for(let A of y.values())A.controller.abort();v.dispose(),y.clear(),d.clear(),i.clear(),s.clear(),h.clear(),m=0;}}}}var Il={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"}},yl={"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 bs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function hl(e,n){let t=Il[e.reason];return Object.freeze(q({...t,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Rr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:hl(e.failure,n)}})}function vl(e){let n=bs(e);return Rr({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 Cl(e,n,t){let c=q({code:yl[n],category:"state",operation:e,retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({reason:n})});return Object.assign(new Error(c.code),c,{name:"ImOutboxOperationError"})}function Ss(e){let n=true,t=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(vl))}async function d(y,h){c();let v=e.operations.getPending().find(E=>E.id===h),T=y==="outbox.retry"?e.operations.retry(h):e.operations.cancel(h);if(!T.accepted)throw Cl(y,T.reason,v===void 0?void 0:bs(v))}return {api:{getSnapshot:i,subscribe(y){c();let h=e.emitter.subscribe(T=>{T.type==="outbox:updated"&&n&&y(i());}),v=()=>{h(),t.delete(v);};return t.add(v),v},retry:y=>d("outbox.retry",y),cancel:y=>d("outbox.cancel",y)},dispose(){if(n){n=false;for(let y of [...t])y();}}}}function Ml(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Ot(e){return Object.freeze({type:"error",error:Object.freeze(q(e))})}function Ue(e){throw q(e)}function le(e,n,t){return (typeof e!="string"||e.trim()==="")&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({field:n})}),e}function Ee(e,n){let t=e,c=t?.conversationType,i=t?.conversationId;return c==="supergroup"&&Ue({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()==="")&&Ue({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 bl(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function st(e,n){let t=Ee(e,n);return t.conversationType!=="direct"&&Ue({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:t.conversationId})}function Kn(e,n){let t=Ee(e,n);return t.conversationType!=="group"&&Ue({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"group",conversationId:t.conversationId})}function Sn(e,n,t){bl(e,n)||Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:t})});}function Sl(e){return Object.freeze({...e})}function Pl(e,n){return Sn(Ee(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(t=>Object.freeze({...t}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function Al(e){let n=le(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let t=Ee(e.conversation,"application:updated");t.conversationType!=="group"&&Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let c=Object.freeze({conversationType:"group",conversationId:t.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:c})}if(e.domain==="channel"){let t=Ee(e.conversation,"application:updated");t.conversationType!=="channel"&&Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let c=Object.freeze({conversationType:"channel",conversationId:t.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:c})}return Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function El(e){return Object.freeze({ref:Al(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Rl(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"}},t=e.lastLoginTime;return Object.freeze(t===void 0||!Number.isFinite(t)||t<=0?n[e.reason]:{...n[e.reason],lastLoginTime:t})}function wl(e){return Object.freeze(q({...{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 Tl(e,n){if(Ml(e)){let{cause:t,...c}=e;return Ot(c)}return Ot({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function _l(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:Sl(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let t=Ee(e.conversation,e.type);return Sn(Ee({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),t,e.type),e.source!=="offline"&&e.source!=="live"&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:t,message:Object.freeze(Nn(e.message)),source:e.source})}case "message:removed":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,messageId:le(e.messageId,"messageId",t),scope:"local-only"})}case "conversation-history:cleared":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,scope:"local-only"})}case "media:progress":{let t=Ee(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:t,messageId:le(e.messageId,"messageId",t),percent:c})}case "media-task:updated":{let t=Ee(e.conversation,e.type);Sn(Ee(e.task.ref,e.type),t,e.type);let c=Er(e.task);return Object.freeze({type:e.type,ref:t,task:c})}case "session:updated":{let t=Ee(e.conversation,e.type);Sn(Ee({conversationType:e.session.type,conversationId:e.session.id},e.type),t,e.type);let c=n.getConversation(t);return c===void 0&&Ue({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Sn(c.ref,t,e.type),Object.freeze({type:e.type,ref:t,conversation:c})}case "session:removed":{let t=Ee(e.conversation,e.type);return e.conversationId!==t.conversationId&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t})}case "pinned-message:updated":{let t=Ee(e.conversation,e.type);t.conversationType!=="group"&&t.conversationType!=="channel"&&Ue({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:t}),e.pinnedMessage!==null&&Sn(Ee({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),t,e.type);let c=Object.freeze({conversationType:t.conversationType,conversationId:t.conversationId});return Object.freeze({type:e.type,ref:c,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let t=le(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:t})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:t})})})}case "channel-profile:updated":{let t=Ee(e.conversation,e.type);return (t.conversationType!=="channel"||e.channelId!==t.conversationId)&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "channel-join-application:received":{let t=Ee(e.conversation,e.type);return (t.conversationType!=="channel"||e.notification.channelId!==t.conversationId)&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:le(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Ue({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:le(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let t=Ee(e.conversation,e.type);return (e.conversationId!==t.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,draft:Pl(e.draft,t)})}case "draft:cleared":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t})}case "outbox:updated":{let t=Ee(e.conversation,e.type);return Sn(Ee(e.item.conversation,e.type),t,e.type),Object.freeze({type:e.type,ref:t,item:Rr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:le(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:El(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(t=>Ee(t,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Rl(e.issue)});case "error":return Object.freeze({type:e.type,error:wl(e.error)});case "call:incoming":{let t=st(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),peerId:le(e.peerId,"peerId",t),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let t=st(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),peerId:le(e.peerId,"peerId",t),result:e.result})}case "call:hangup":{let t=st(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),peerId:le(e.peerId,"peerId",t),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let t=st(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),peerId:le(e.peerId,"peerId",t)})}case "call:failed":{let t=st(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),peerId:le(e.peerId,"peerId",t),reason:e.reason})}case "group-call:incoming":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),inviterId:le(e.inviterId,"inviterId",t),inviteIds:Object.freeze(e.inviteIds.map(c=>le(c,"inviteId",t))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),userId:le(e.userId,"userId",t),agreed:e.agreed===!0})}case "group-call:joined":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),userId:le(e.userId,"userId",t),inviteIds:Object.freeze(e.inviteIds.map(c=>le(c,"inviteId",t))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),userId:le(e.userId,"userId",t)})}case "group-call:busy":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),userId:le(e.userId,"userId",t),hintUserId:le(e.hintUserId,"hintUserId",t)})}case "group-call:failed":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:le(e.callId,"callId",t),groupId:le(e.groupId,"groupId",t),reason:e.reason})}case "notification":return null}}catch(t){return Tl(t,e)}}function Dl(e){let{type:n,...t}=e;return Object.freeze(t)}function kl(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=Ee(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Ps(e){let n=new WeakMap;function t(i,d){let s=n.get(i);if(s!==void 0)return s;let y=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:i.notification.messageId}));return n.set(i,y),y}function c(i){let d=true,s=e.subscribeCore(y=>{if(y.type==="contact-application:answered"&&y.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(Ot({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let T=le(y.notification.responderId,"contactApplicationAnswer.responderId");t(y,T).then(E=>{if(!d||E===null)return;let m=Object.freeze({type:"contact-application:answered",peerId:T,result:E});i(m);}).catch(()=>{d&&i(Ot({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let h=_l(y,e);h!==null&&i(h);let v=kl(y);v!==null&&i(Object.freeze({type:"group:activated",...v}));});return ()=>{d=false,s();}}return {subscribe:i=>c(i),on:(i,d)=>c(s=>{s.type===i&&d(Dl(s));})}}function Pn(e){let n=q({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 As(e){function n(t){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw Pn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:t,retryable:false});return c}return {async getInfo(){let t=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:t})},async clearRebuildableCaches(){let t=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw Pn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:t});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(c){throw Pn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:t,cause:c})}e.emitter.emit({type:"local-data:cleared",accountScope:t,category:"rebuildable"});}}}function Es(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function ct(e,n,t,c){return q({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...c===void 0?{}:{conversation:c},details:Object.freeze({expectedId:n,actualId:t})})}function Rs(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function ws(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Ts(e,n){if(n.id!==e)throw ct("contacts.getProfile",e,n.id);let t=n.remark?.trim(),c=n.nickname;return Object.freeze({userId:e,displayName:t===void 0||t===""?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 _s(e,n){if(n.id!==e.conversationId)throw ct("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Rs(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 Ol(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 Ds(e,n){if(n.id!==e.conversationId)throw ct("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:ws(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:Ol(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(t=>Object.freeze({...t})))}})}function ks(e){return e.state==="ready"?Object.freeze({state:"ready",message:Et(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 xt(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw ct("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Rs(e),messageId:n.messageId,preview:ks(n.preview)})}function Nt(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw ct("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:ws(e),messageId:n.messageId,preview:ks(n.preview)})}function xl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Nl(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 Ll(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function wr(e,n,t){return xl(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Ll(e)?q({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Nl(e.kind),operation:n,retryable:e.retryable===true,...t===void 0?{}:{conversation:t},cause:e}):q({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...t===void 0?{}:{conversation:t},cause:e})}var Os=new WeakMap;function Tr(e,n){Os.set(e,n);}function xs(e){let n=Os.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 Fl="IM_SDK_CHANNEL_NOT_MEMBER",Kl="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Ul="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Bl="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Gl(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function jl(e,n,t){if(Gl(e))return e;let c=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c===40542?Fl:c===40527?Kl:c===40547?Ul:e instanceof c$1?Bl:e instanceof b$1?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka$1?"contract":e instanceof b$1?"network":c===40527?"permission":"state",s=q({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"channel",conversationId:t},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function Fe(e,n,t){try{return await t()}catch(c){throw jl(c,e,n)??c}}var Hl={pinMessage:()=>Promise.reject(new Ie({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new Ie({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new Ie({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new Ie({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Ns(e){let n=new Map,t=new Map,c=true,i=m=>({conversationType:"channel",conversationId:m}),d=m=>{t.set(m,(t.get(m)??0)+1);};function s(m){if(!c||n.has(m))return;let P=t.get(m)??0,O=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:m}}});return}try{let b=await ba({client:e.coreClient,channelId:m});if(!c||(t.get(m)??0)!==P)return;if(!b.ok){e.emitter.emit({type:"error",error:{scope:"http",code:b.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${b.message}`,cause:{conversationId:m}}});return}if(b.data===null){e.domainState.clearPinnedMessage(i(m),"reconcile");return}e.domainState.setPinnedMessage(w(b.data.messageContent,{conversationId:m}),"reconcile");}catch(b){if(!c||(t.get(m)??0)!==P)return;let w=b instanceof h$1||b instanceof s$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:w,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:b}});}})();n.set(m,O),O.finally(()=>{n.get(m)===O&&n.delete(m);});}let y=Ga({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),h=e.emitter.subscribe(m=>{if(m.type!=="message:received"&&m.type!=="message:updated")return;let P=m.message;if(P.conversationType!=="channel")return;let O=P.body.system?.pinnedMessageAction;O!==void 0&&m.source!=="live"&&m.channelLifecycleEffects!==true||((O?.type==="pin"||O?.type==="unpin")&&d(P.conversationId),y.handleMessage(P));});function v(m,P){if(P.trim()==="")throw new Ie({operation:m,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(P));if(O===void 0)throw new Ie({operation:m,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="channel")throw new Ie({operation:m,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function T(m,P){if(e.coreClient===void 0)throw new Ie({operation:m,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return v(m,P),e.coreClient}return {operations:{pinMessage:async({channelId:m,messageId:P})=>{let O=T("pin",m),b=e.domainState.getConversationMessage(i(m),P);if(b===void 0)throw new Ie({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(b.conversationType!=="channel")throw new Ie({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(b.conversationId!==m)throw new Ie({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:w,pinnedMessage:f}=x(b),g=await qa({client:O,channelId:m,messageContent:w});if(!g.ok)throw ln("pin",g.code,g.message);d(m),e.domainState.setPinnedMessage(f,"http:pin");let a=e.domainState.getPinnedMessage(i(m));if(a===void 0)throw new Ie({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(w){throw un("pin",w)}},unpinMessage:async m=>{let P=T("unpin",m);try{let O=await Ka$1({client:P,channelId:m});if(!O.ok)throw ln("unpin",O.code,O.message);d(m),e.domainState.clearPinnedMessage(i(m),"http:unpin");}catch(O){throw un("unpin",O)}},getPinnedMessage:async m=>{let P=T("get",m);try{let O=await ba({client:P,channelId:m});if(!O.ok)throw ln("get",O.code,O.message);if(d(m),O.data===null)return e.domainState.clearPinnedMessage(i(m),"reconcile"),null;let b=w(O.data.messageContent,{conversationId:m});e.domainState.setPinnedMessage(b,"reconcile");let w$1=e.domainState.getPinnedMessage(i(m));if(w$1===void 0)throw new Ie({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return w$1}catch(O){throw un("get",O)}},peekPinnedMessage:m=>(v("get",m),e.domainState.getPinnedMessage(i(m))??null)},dispose:()=>{c&&(c=false,h());}}}async function mn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var zl={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:mn,prefetchFirstPage:mn,refreshFirstPage:mn,listFirstPage:mn,listNextPage:mn,searchFirstPage:mn,refreshSearchFirstPage:mn,searchNextPage:mn},Vl=new Set(["unknown_restricted","left","removed","dismissed"]);function Be(e){return Vl.has(e)}function Ls(e){let n=true;function t(){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(T){let E=T.trim();if(E==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return E}async function s(T){let m=await i().listJoinApplications({limit:T?.limit??20,...T?.cursor===void 0?{}:{cursor:T.cursor}});return c(),m}async function y(T,E){c();let m=d(T),P=i();await(E==="accept"?P.acceptJoinApplication(m):P.ignoreJoinApplication(m)),c();}async function h(T,E,m,P$1){t();let O=await P({http:e.http,userId:m,clientType:e.clientType,channelId:T,index:E,containAnchor:P$1,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return t(),O}async function v(T,E,m){let P=await h(T,E,m,true),O=P.messages.find(b=>b.extensions?.historyCursor===E);if(O===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${T}, index=${E}\uFF09`);return {context:P,message:O}}return {applications:{listJoinApplications:s,acceptJoinApplication:T=>y(T,"accept"),ignoreJoinApplication:T=>y(T,"ignore")},loadMessageContext:v,loadNewerPage:(T,E,m)=>h(T,E,m,false),dispose:()=>{n=false;}}}function Fs(e){async function n(i,d,s){let y=new Map(d.filter(y$1).sort((v,T)=>v.sortKey.localeCompare(T.sortKey)).map(v=>[v.id,v]));if(y.size===0)return;let h=await e.authProvider.getLoginContext();if(h===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(;y.size>0;){let v=y.values().next().value;y.delete(v.id);let T=v.extensions?.historyCursor;if(typeof T!="string"||T.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${v.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let E=e.getHistoryGeneration(),m=e.getHistoryEpoch(i);try{let{context:P,message:O}=await e.loadMessageContext(i,T,h.userId);if(!e.isActive()||E!==e.getHistoryGeneration()||m!==e.getHistoryEpoch(i))return;if(O.id!==v.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${T}, expected=${v.id}, actual=${O.id}\uFF09`);if(O.contentType!=="system"||y$1(O))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${T}, messageId=${v.id}\uFF09`);let b=P.messages.filter(w=>w.id===v.id||y.has(w.id));if(b.some(w=>w.contentType!=="system"||y$1(w)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${T}\uFF09`);e.domainState.upsertMessages(b,"offline"),s.applyIncoming(b.flatMap(w=>{let f=e.domainState.getMessage(w.id);return f===void 0?[]:[f]}));for(let w of b)y.delete(w.id);}catch(P){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${v.id}\uFF09`,cause:P}});}}}function t(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(y$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 y=e.domainState.getSession(s);if(y?.type!=="channel"||y.channelState!==void 0&&Be(y.channelState))return i;let h=d.getRevision();if(await n(s.conversationId,i.messages,d),d.getRevision()!==h||!t(d.info().conversation,s))return {...i,stale:true};let v=new Map(d.list().map(T=>[T.id,T]));return {...i,messages:i.messages.map(T=>v.get(T.id)??T)}}return {reconcilePage:c}}function Ks(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 t(f,g,a,o){let C=q({code:f,category:f==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":f==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:f==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...a===void 0?{}:{details:a},...o===void 0?{}:{cause:o}});return Object.assign(new Error(g),C)}function c(f){let g=f.name.trim();if(g==="")throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(g.length>75)throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let a=f.memberIds;if(!Array.isArray(a))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=a.map(C=>typeof C=="string"?C.trim():"");if(o.includes(""))throw t("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 t("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:g,memberIds:p}}function i(){if(e.crypto===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let f=e.crypto.randomTeaKey();if(!(f instanceof Uint8Array)||f.length!==16)throw t("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let g="";for(let a of f)g+=String.fromCharCode(a);return globalThis.btoa(g)}function d(f,g){let a=f.trim();if(a==="")throw new Error(`${g}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function s(f){let g=f.trim();if(g==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...g].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return g}function y(f){let g=f.trim();if(g==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...g].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return g}async function h(f){let g=(await e.getSelfUserId?.()??"").trim();return g!==""&&g===f.trim()}function v(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function T(f,g,a){if(f!==1&&f!==2&&f!==4){let p=q({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(f!==4)return {verifyType:f};let o=g?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=q({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:f,inviteCode:o}}function E$1(f){if(!Array.isArray(f))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(f.map(g=>d(g,"\u793E\u7FA4\u6210\u5458 id")))]}function m(f){e.emitter?.emit({type:"channel-profile:updated",channelId:f,conversation:{conversationType:"channel",conversationId:f}});}function P(f){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(f).catch(g=>{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:f,error:g}}});});}function O$1(f){if(f===void 0)return;let g=typeof f=="number"?f:Number(f);return Number.isSafeInteger(g)?g:void 0}function b(f){if(typeof f=="boolean")return f;if(f===1||f==="1"||f==="true")return true;if(f===0||f==="0"||f==="false")return false}function w(f){if(f===null||typeof f!="object"||f===void 0)throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let g=f.id??f.radio_id;if(typeof g!="string"&&typeof g!="number"||String(g).trim()==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let a=f.name?.trim()??"";if(a==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(g),p=O$1(f.total_users),C=O$1(f.status),I=O$1(f.verify_way),F=O$1(f.update_version),N=b(f.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:a,...f.head_img_url?.trim()===""||f.head_img_url===void 0?{}:{avatar:f.head_img_url},...f.user_id===void 0?{}:{ownerId:String(f.user_id)},...p===void 0?{}:{memberCount:p},...C===void 0?{}:{status:C},...N===void 0?{}:{isInChannel:N},...I===void 0?{}:{verifyWay:I},...F===void 0?{}:{updateVersion:F},...f.invite_code===void 0?{}:{inviteCode:f.invite_code}}}return {...n,mentions:e.mentionCandidates??zl,uploadAvatar:async f=>{if(e.avatarTransfer===void 0)throw t("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 Ln(e.avatarTransfer,f)},create:async f=>{if(e.coreClient===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.ensureConversation===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let g=c(f),a=i();try{let o=await Z({client:e.coreClient,name:g.name,memberIds:g.memberIds,secretKey:a,...f.avatarUrl===void 0?{}:{avatarUrl:f.avatarUrl}});if(!o.ok){let I=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw t(I,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let p=w(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,a);let C=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:C,channelPermissions:va("owner",C)}),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 b$1?t("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",o.message,void 0,o):t("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,o)}},listProfiles:f=>e.channelProfile?.listProfiles(f)??Promise.resolve([]),getProfile:(f,g)=>e.channelProfile?.getProfile(f,g)??Promise.resolve(null),listMembers:f=>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:f.channelId,limit:f.limit??18,...f.cursor===void 0?{}:{cursor:f.cursor}}),prefetchMembers:f=>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(f),getCachedMembers:f=>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(f),refreshMembers:f=>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(f),searchMembers:f=>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:f.channelId,query:f.query,limit:f.limit??18,...f.cursor===void 0?{}:{cursor:f.cursor}}),listMentionMembers:f=>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:f.channelId,limit:f.limit??18,...f.cursor===void 0?{}:{cursor:f.cursor}}),searchMentionMembers:f=>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:f.channelId,query:f.query,limit:f.limit??18,...f.cursor===void 0?{}:{cursor:f.cursor}}),listAdmins:f=>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:f.channelId,limit:f.limit??18,...f.cursor===void 0?{}:{cursor:f.cursor}}),getMembersByIds:(f,g,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(f,g,a),updateName:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=d(g,"\u793E\u7FA4\u540D\u79F0");await Fe("channels.updateName",o,()=>C({client:a,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),m(o);},updateDescription:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=y(g);await Fe("channels.updateDescription",o,()=>C({client:a,channelId:o,description:p})),m(o);},updateAvatar:async(f,g)=>{let a=v(),o=d(f,"\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 Fe("channels.updateAvatar",o,()=>Ln(e.avatarTransfer,g));return await Fe("channels.updateAvatar",o,()=>C({client:a,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),m(o),p},setMyNickname:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=s(g);await Fe("channels.setMyNickname",o,()=>D({client:a,channelId:o,nickname:p})),m(o);},setMemberNickname:async(f,g,a)=>{let o=v(),p=d(f,"\u793E\u7FA4 id"),C=d(g,"\u793E\u7FA4\u6210\u5458 id");if(await h(C))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let I=s(a);await Fe("channels.setMemberNickname",p,()=>E({client:o,channelId:p,userId:C,nickname:I})),m(p);},updateVerification:async(f,g,a)=>{let o=v(),p=d(f,"\u793E\u7FA4 id"),C=T(g,a,p);await Fe("channels.updateVerification",p,()=>L({client:o,channelId:p,verifyType:C.verifyType,...C.inviteCode===void 0?{}:{inviteCode:C.inviteCode}})),m(p);},requestJoin:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=g?.remarks?.trim();return Fe("channels.requestJoin",o,()=>na({client:a,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=g.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Fe("channels.joinByInviteCode",o,()=>oa({client:a,channelId:o,inviteCode:p}))},setAllMuted:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id");await Fe("channels.setAllMuted",o,()=>M({client:a,channelId:o,muted:g})),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},setMemberPrivateChatDisabled:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id");await Fe("channels.setMemberPrivateChatDisabled",o,()=>N({client:a,channelId:o,disabled:g})),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},inviteMembers:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=E$1(g);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Fe("channels.inviteMembers",o,()=>F({client:a,channelId:o,userIds:p})),m(o);},removeMember:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=d(g,"\u5F85\u79FB\u9664\u6210\u5458 id");await Fe("channels.removeMember",o,()=>G({client:a,channelId:o,userId:p})),m(o);},addAdmin:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=d(g,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await Fe("channels.addAdmin",o,()=>H({client:a,channelId:o,userId:p})),P(o),m(o);},removeAdmin:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=d(g,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await Fe("channels.removeAdmin",o,()=>I({client:a,channelId:o,userId:p})),P(o),m(o);},transferOwnership:async(f,g)=>{let a=v(),o=d(f,"\u793E\u7FA4 id"),p=d(g,"\u65B0\u793E\u7FA4\u4E3B id");await Fe("channels.transferOwnership",o,()=>J$1({client:a,channelId:o,userId:p})),P(o),e.domainState?.refreshConversationProfile?.(o,"channel"),m(o);},leave:async(f,g)=>{let a=v();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let o=d(f,"\u793E\u7FA4 id"),p=g?.newOwnerId===void 0?void 0:d(g.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await Fe("channels.leave",o,()=>K({client:a,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),m(o);},dismiss:async f=>{let g=v();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=d(f,"\u793E\u7FA4 id");await Fe("channels.dismiss",a,()=>O({client:g,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),m(a);},...e.applications,...e.pinned??Hl}}function Wl(e){let t=q({...{"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(t.code),t)}function ql(e){let n=e.responseCode===U,i=q({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 $l(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Us(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},t=new Map,c=new Map,i=new Map,d=new Map,s=0,y=false,h=5e3;function v(a,o,p){if(y)return "unknown";if(p!==void 0&&t.get(a)!==p)return c.get(a)??"unknown";let C=c.get(a);return c.set(a,o),i.set(a,Date.now()),C!==o&&e.onRelationshipChanged?.(a,o),o}function T$1(a,o){if(y)return;let p=m(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");t.set(p,++s),v(p,o);}function E(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 P(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 O(a,o){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a===""||o.name===void 0&&o.email===void 0&&o.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ha$1({client:e.coreClient,userId:a,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(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 b(a){switch(a){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function w(a,o){if(y)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 C=d.get(p);if(o&&C!==void 0)return C;let I=++s;t.set(p,I);let F=f(e.coreClient,{userId:p}).then(N=>v(p,b(N?.friend_status),I)).finally(()=>{d.get(p)===F&&d.delete(p);});return d.set(p,F),F}function f$1(a){return w(a,true)}async function g(a,o){let p=m(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),C;try{C=await w(p,!1);}catch(I){return y||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:I}}}),null}if(y)return null;if(C==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:p}}}),null;if(C!=="friend")return "rejected";T$1(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,o,Date.now());}catch(I){return y||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:I}}}),null}return y?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),P(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:O,searchUser:a=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):V(e.coreClient,{query:a}).catch(o=>{throw o instanceof S?ql(o):o}).then(o=>{if(o===null)return null;let p=b(o.friendStatus);return T$1(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:f$1,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"),C;try{C=await W(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(F){throw F instanceof T?Wl(F):F}let I=$l(C.status);return T$1(p,I==="sent"?"pending":"friend"),I==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),P(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:I,...C.message===void 0?{}:{message:C.message}})},blockUser:async a=>{let o=m(a,"\u52A0\u5165\u9ED1\u540D\u5355");await R(E("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),T$1(o,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:o}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),P(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,o)=>{let p=m(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),C=o.trim();if(C==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let I=e.getSelfId?.().trim()??"";if(I==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Y(E("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:I,targetUserId:p,problem:C});},deleteFriendship:async a=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=a.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await X(e.coreClient,{userId:o}),T$1(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}});}P(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<h?Promise.resolve(c.get(o)??"unknown"):f$1(o)},updateRelationshipFromEvent:T$1,resolveApplicationAnswer:g,dispose:()=>{y=true,s+=1,t.clear(),c.clear(),i.clear(),d.clear();}}}function Bs(e){return (n,t)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let c=e().filter(d=>d.id===n);if(c.length===0)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(c.length>1)throw new Error(`${t}\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(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function Gs(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,t)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),t),setMuted:async(n,t)=>{let c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=e.domainState.getSession(c);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ga$1({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:t}),e.domainState.setMuted(c,t);},markConversationRead:async n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(t);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(t);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(t),d=i.at(-1)?.id??c.readCursor??"";if(c.type==="direct"){d!==""&&e.domainState.advanceRead(t,d),e.domainState.clearConversationManualUnread(t);return}if(c.type==="group"){let s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja$1({http:e.http,userId:s.userId,groupId:t.conversationId}),e.domainState.applyServerUnread(t,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(t);return}if(c.type==="channel"){let s=Ma(i);if(s===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${t.conversationId}\uFF09`);await e.markChannelRead(t.conversationId,s),e.domainState.clearConversationManualUnread(t);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${c.type}`)},markConversationUnread:n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(t);},deleteConversation:n=>{let t=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.terminateConversationSending?.(t,"conversation_deleted"),e.domainState.removeConversation(t),e.resetConversationBackground?.(t).catch(c=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",c));}}}var Dr=1,Jl=3;function Or(e){return typeof Blob<"u"&&e instanceof Blob}async function kr(e){return Or(e)?new Uint8Array(await e.arrayBuffer()):e}function js(e){async function n(_){return e.connection.sendText(_)}async function t(_){return e.connection.sendContact(_)}async function c(_){return e.connection.forwardMessages(_)}async function i(_){return e.connection.recallMessage(_)}async function d(_){return e.connection.editMessage(_)}async function s(_){return e.connection.sendImage(_)}async function y(_){return e.connection.sendVideo(_)}async function h(_){return e.connection.sendVoice(_)}async function v(_){return e.connection.sendFile(_)}async function T(_){return e.connection.sendMediaAlbum(_)}async function E(_){return e.connection.sendGif(_)}async function m(_){return e.connection.sendExpression(_)}async function P(_){return e.connection.sendGame(_)}async function O(_){return e.connection.sendMiniProgram(_)}async function b(_){return e.connection.sendTransfer(_)}async function w(_,J){return e.connection.replaceInterruptedVideo(_,J)}async function f(_,J){return e.connection.replaceInterruptedFile(_,J)}function g(_){e.connection.cancelMedia(_);}function a(_,J){return {url:_.url,..._.expectedBytes===void 0?{}:{expectedBytes:_.expectedBytes},..._.onProgress!==void 0?{onProgress:D=>_.onProgress?.(D.percent)}:{},..._.signal!==void 0?{signal:_.signal}:{},...J?{preferBlob:true}:{}}}async function o(_){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 J=await e.mediaTransfer.download(a(_,false)),D=await kr(J);return _.teaKey!==void 0&&_.teaKey.length>0&&_.fileEncryptType!==Dr?e.crypto.decryptSymmetric({teaKey:_.teaKey,cipherData:D}):D}async function p(_){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 J=await e.mediaTransfer.download(a(_,true));if(_.teaKey===void 0||_.teaKey.length===0||_.fileEncryptType===Dr)return J;let D=_.teaKey;return Or(J)?e.crypto.decryptSymmetricChunked({teaKey:D,cipherData:J,..._.signal===void 0?{}:{signal:_.signal}}):e.crypto.decryptSymmetric({teaKey:D,cipherData:J})}async function C(_){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let J=_.fileEncryptType===Jl,D=await e.mediaTransfer.download(a(_,!J));if(_.teaKey===void 0||_.teaKey.length===0||_.fileEncryptType===Dr)return D;let te=_.teaKey;if(J)return e.crypto.decryptSymmetric({teaKey:te,cipherData:await kr(D)});if(!Or(D))return e.crypto.decryptFileSimple({teaKey:te,cipherData:D});if(D.size<=32){let A=e.crypto.decryptFileSimple({teaKey:te,cipherData:await kr(D)});return new Blob([A],{type:D.type})}let z=new Uint8Array(await D.slice(0,32).arrayBuffer()),ae=e.crypto.decryptFileSimple({teaKey:te,cipherData:z});return new Blob([ae,D.slice(32)],{type:D.type})}function I(_){e.connection.retryMessage(_);}function F(_,J){let D={conversationType:"channel",conversationId:_},G=e.domainState.getLoadedMessagesByConversation(D),z=e.domainState.getConversationMessage(D,J)??G.find(A=>La$1(A)===J),ae=La$1(z);if(z===void 0||typeof ae!="string"||ae.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${_}, input=${J}\uFF09`);return z.id}async function N(_){let J=_.conversationType??e.domainState.getSession(_.conversationId)?.type;if(J==="channel"){let D=F(_.conversationId,_.readCursor);await e.connection.markRead(_.conversationId,D,"channel");return}await e.connection.markRead(_.conversationId,_.readCursor,_.conversationType),J==="direct"&&await e.prepareDirectReadReceipt?.(_.conversationId);}async function j(_,J){e.connection.reportDirectMediaConsumed?.(_,J),await e.prepareDirectReadReceipt?.(_);}return {operations:{sendText:n,sendContact:t,forwardMessages:c,recallMessage:i,editMessage:d,sendImage:s,sendVideo:y,sendVoice:h,sendFile:v,sendGif:E,sendMediaAlbum:T,sendExpression:m,sendGame:P,sendMiniProgram:O,sendTransfer:b,replaceInterruptedVideo:w,replaceInterruptedFile:f,cancelMediaUpload:g,loadImage:o,loadVideo:p,loadVoice:o,loadFile:C,retry:I,markRead:N,markDirectMediaConsumed:j}}}function Hs(e){return {...e.operations,get state(){return e.getState()}}}var Yl=50,Xl=1e3,ze={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 Oe(e){let n=q({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 Ql(e,n){switch(e){case ze.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case ze.CONTACT_PERMISSION_DENIED:case ze.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case ze.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case ze.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case ze.ALREADY_GROUP_MEMBER:case ze.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case ze.GROUP_MEMBER_LIMIT_REACHED:case ze.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case ze.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case ze.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case ze.OPERATION_FAILED:case ze.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case ze.GROUP_APPLICATION_UNAVAILABLE_40521:case ze.GROUP_APPLICATION_UNAVAILABLE_40612:case ze.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Zl(e){if(e instanceof i||e instanceof p$1)return e.code}function eu(e){return e instanceof j$1||e instanceof q$1?{category:"contract",retryable:false}:e instanceof b$1?{category:"network",retryable:true}:{category:"state",retryable:false}}function zs(e,n,t){let c=Zl(t),i=Ql(c,e),d=eu(t);return Oe({code:i,category:d.category,operation:n,retryable:d.retryable,cause:t})}function Vs(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function Je(e,n){if(typeof e!="string"&&typeof e!="number")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let t=String(e).trim();if(t==="")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return t}function xr(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Oe({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 An(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 nu(e,n,t="pending"){return Object.freeze({ref:An(e),...n===void 0?{}:{createdAt:n},state:t})}function tu(e){let n=xr(e.createdAt),t=fn(e.applicantAvatar,"contact.applicantAvatar"),c=fn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:An({domain:"contact",applicationId:Je(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:Je(e.applicantId,"contact.applicantId"),name:Je(e.applicantName,"contact.applicantName"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),message:Nr(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function ru(e){if(e.kind!=="request"&&e.kind!=="invite")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=xr(e.createdAt),t=fn(e.actor.avatarUrl,"group.actor.avatarUrl"),c=fn(e.actor.displayId,"group.actor.displayId"),i=fn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:An({domain:"group",applicationId:Je(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:Je(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:Je(e.actor.id,"group.actor.id"),name:Je(e.actor.name,"group.actor.name"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:Je(e.target.id,"group.target.id"),name:Je(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:Nr(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function fn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let t=String(e).trim();return t===""?void 0:t}function Nr(e,n){if(typeof e!="string"&&typeof e!="number")throw Oe({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 ou(e){let n=xr(e.createdAt),t=fn(e.applicantAvatar,"channel.applicantAvatar"),c=fn(e.applicantDisplayId,"channel.applicantDisplayId"),i=fn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:An({domain:"channel",applicationId:Je(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:Je(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:Je(e.applicantId,"channel.applicantId"),name:Je(e.applicantName,"channel.applicantName"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:Je(e.channelId,"channel.channelId"),name:Je(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:Nr(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function dt(e){return `${e.domain}:${e.applicationId}`}function Ws(e){let n=false,t=0,c=0,i=new Map,d=new Map,s=new Map;function y(P,O){if(n||!e.isActive()||O!==void 0&&t!==O)throw Oe({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:P,retryable:false})}function h(P){if(y(P),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function v(P,O){let b=[],w=new Set,f;for(let g=0;g<Xl;g+=1){let a=await O({limit:Yl,...f===void 0?{}:{cursor:f}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Oe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});if(b.push(...a.items),a.exhausted)return b;let o=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(o===""||w.has(o))throw Oe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});w.add(o),f=o;}throw Oe({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:P,retryable:false})}async function T(){let P="applications.listPending",O=h(P),b=t,w=++c;try{let[f,g,a]=await Promise.all([v(P,I=>O.contact.listPendingApplications(I)),v(P,I=>O.group.listPendingApplications(I)),v(P,I=>O.channel.listJoinApplications(I))]);y(P,b);let o=[...f.map(tu),...g.map(ru),...a.map(ou)],p=new Map;for(let I of o){let F=dt(I.ref);if(d.has(F))continue;let N=p.get(F);if(N!==void 0&&JSON.stringify(N.ref)!==JSON.stringify(I.ref))throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:P,retryable:!1});(N===void 0||(I.createdAt??0)>(N.createdAt??0))&&p.set(F,I);}let C=[...p.values()].sort((I,F)=>{let N=(F.createdAt??0)-(I.createdAt??0);return N!==0?N:dt(I.ref).localeCompare(dt(F.ref))});if(w===c){i.clear();for(let I of C)i.set(dt(I.ref),I);}return Object.freeze(C)}catch(f){throw Vs(f)?f:(y(P,b),zs("IM_SDK_APPLICATION_LIST_FAILED",P,f))}}function E(P,O){if(y(O),P===null||typeof P!="object")throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});let b=typeof P?.applicationId=="string"?P.applicationId.trim():"";if(b==="")throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});if(P.domain==="contact")return An({domain:"contact",applicationId:b});let w=typeof P.conversation?.conversationId=="string"?P.conversation.conversationId.trim():"";if(P.domain==="group"&&P.conversation?.conversationType==="group"&&w!=="")return An({domain:"group",applicationId:b,conversation:{conversationType:"group",conversationId:w}});if(P.domain==="channel"&&P.conversation?.conversationType==="channel"&&w!=="")return An({domain:"channel",applicationId:b,conversation:{conversationType:"channel",conversationId:w}});throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false})}function m(P,O){let b=O==="accepted"?"applications.accept":"applications.ignore",w=E(P,b),f=dt(w),g=d.get(f);if(g===O)return Promise.resolve();if(g!==void 0)return Promise.reject(Oe({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:b,retryable:false}));let a=s.get(f);if(a!==void 0)return a.state===O?a.promise:Promise.reject(Oe({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:b,retryable:true}));let o=t,p=Promise.resolve().then(async()=>{try{let I;if(w.domain==="contact"){if(e.contact===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});I=O==="accepted"?e.contact.acceptApplication(w.applicationId):e.contact.ignoreApplication(w.applicationId);}else if(w.domain==="group"){if(e.group===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});I=O==="accepted"?e.group.acceptApplication(w.applicationId):e.group.ignoreApplication(w.applicationId);}else {if(e.channel===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:!1});I=O==="accepted"?e.channel.acceptJoinApplication(w.applicationId):e.channel.ignoreJoinApplication(w.applicationId);}if(await I,y(b,o),O==="accepted"&&w.domain==="contact"){let N=i.get(f);N?.kind==="contact-request"&&await e.onContactAccepted?.(N.applicant.id,w.applicationId);}d.set(f,O);let F=nu(w,i.get(f)?.createdAt,O);i.delete(f),e.emitter.emit({type:"application:updated",application:F});}catch(I){throw Vs(I)?I:(y(b,o),zs("IM_SDK_APPLICATION_ACTION_FAILED",b,I))}}),C=()=>{s.get(f)?.promise===p&&s.delete(f);};return s.set(f,{state:O,promise:p}),p.then(C,C),p}return {api:{listPending:T,accept:async P=>m(P,"accepted"),ignore:async P=>m(P,"ignored")},dispose(){n||(n=true,t+=1,i.clear(),d.clear(),s.clear());}}}function En(e,n,t){try{t();}catch(c){let i=c instanceof Error?c.message:String(c);throw i.includes("\u672A\u9274\u6743")?q({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")?q({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")?q({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")?q({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):q({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function qs(e){return {invite(n){let t={conversationType:"direct",conversationId:n.peerId},c;return En("calls.invite",t,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){En("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){En("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){En("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){En("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){En("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){En("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Lr=18,au=12,iu=300*1e3,su=64,$s=Object.freeze([]),cu=0;function du(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Js(e){let n=e.now??(()=>Date.now()),t=e.cacheTtlMs??iu,c=e.maxCacheEntries??su;if(!Number.isFinite(t)||t<=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=++cu,d=new Map,s=new Map,y=new Map,h=new Map,v=new Map,T=new Map,E=new Map,m=new Set,P=0,O=true,b=S=>h.get(S)??0;function w(){if(!O)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function f(S){if(S.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let L=S.conversationId.trim();if(L==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return L}function g(S){let L=d.get(S);d.delete(S),L?.page.nextPageToken!==void 0&&y.delete(L.page.nextPageToken);}function a(S,L){let K=d.get(S);return K===void 0?null:K.generation!==L||K.expiresAt<=n()?(g(S),null):(d.delete(S),d.set(S,K),K.page)}function o(S,L){for(g(S),d.set(S,L);d.size>c;){let K=d.keys().next().value;if(typeof K!="string")break;g(K);}}function p(S){let L=[],K=new Map;for(let $ of S){let B=$.userId.trim();if(B==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");K.has(B)||L.push(B);let ie=$.displayName.trim()||B,ue=$.avatar?.trim();K.set(B,Object.freeze({userId:B,displayName:ie,...ue===void 0||ue===""?{}:{avatar:ue}}));}return Object.freeze(L.map($=>K.get($)))}async function C(S,L){let K=await aa$1(L);return Object.freeze(S.filter($=>K.match($.displayName)!==null||K.match($.userId,{pinyin:false})!==null))}async function I(S,L){let K=await z(S);return K===null?$s:C(K.page.items,L)}function F(S,L){let K=[...S.items],$=new Set(K.map(B=>B.userId));for(let B of L)$.has(B.userId)||($.add(B.userId),K.push(B));return Object.freeze({...S,items:Object.freeze(K)})}function N(S,L){let K=S.map(B=>B.userId),$=new Map(S.map(B=>[B.userId,B]));for(let B of L)$.has(B.userId)||K.push(B.userId),$.set(B.userId,B);return K.map(B=>$.get(B))}function j(S,L,K){let $=`im-channel-mention:${i}:${++P}`;for(y.set($,{...S,generation:L,expiresAt:K});y.size>c;){let B=y.keys().next().value;if(typeof B!="string")break;y.delete(B);}return $}function _(S){let L=S.nextCursor?.trim();if(S.exhausted&&L!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!S.exhausted&&(L===void 0||L===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return L}function J(S,L,K,$){let B=_(S),ie=B===void 0?void 0:j({...L,cursor:B},K,$);return Object.freeze({items:p(S.items),...ie===void 0?{}:{nextPageToken:ie},exhausted:S.exhausted})}function D(){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(S,L){let K=v.get(S);for(K?.page.nextPageToken!==void 0&&y.delete(K.page.nextPageToken),v.delete(S),v.set(S,L);v.size>c;){let $=v.keys().next().value;if($===void 0)break;let B=v.get($);B?.page.nextPageToken!==void 0&&y.delete(B.page.nextPageToken),v.delete($);}}function te(S,L){let K=n()+t,$={channelId:S.channelId,kind:"list"},B=S.nextCursor===void 0?void 0:j({...$,cursor:S.nextCursor},L,K);return {generation:L,updatedAt:S.updatedAt,page:Object.freeze({items:p(S.items),...B===void 0?{}:{nextPageToken:B},exhausted:S.exhausted})}}function z(S){w();let L=v.get(S);if(L!==void 0)return Promise.resolve(L);if(m.has(S)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let K=E.get(S);if(K!==void 0)return K;let $=b(S),B=e.storage.getChannelMentionCandidateSnapshot(S).then(ie=>{if(w(),ie===null||ie.channelId!==S||b(S)!==$||m.has(S))return null;let ue=te(ie,$);return G(S,ue),ue}).finally(()=>{E.get(S)===B&&E.delete(S);});return E.set(S,B),B}function ae(S){w();let L=T.get(S);if(L!==void 0)return L;let K=b(S),$=D(),B=(async()=>{let ie,ue=false,Y=[];for(let Pe=0;Pe<au&&!ue;Pe+=1){let Ae=await $.listMentionMembers({channelId:S,limit:Lr,...ie===void 0?{}:{cursor:ie}});if(w(),b(S)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ie=_(Ae),ue=Ae.exhausted,Y=N(Y,Ae.items);}let ce=n(),me={channelId:S,items:Y,...ie===void 0?{}:{nextCursor:ie},exhausted:ue,updatedAt:ce};if(b(S)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(me),w(),b(S)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Se=te(me,K);return G(S,Se),Se.page})().finally(()=>{T.get(S)===B&&T.delete(S);});return T.set(S,B),B}function A(S,L=false){w();let K=b(S.channelId),$=du(S);if(!L){let ce=a($,K);if(ce!==null)return Promise.resolve(ce)}let B=s.get($);if(B!==void 0&&B.generation===K)return B.promise;let ie=D(),ue=S.kind==="list"?ie.listMentionMembers({channelId:S.channelId,limit:Lr,...S.cursor===void 0?{}:{cursor:S.cursor}}):ie.searchMentionMembers({channelId:S.channelId,query:S.keyword,limit:Lr,...S.cursor===void 0?{}:{cursor:S.cursor}}),Y=Promise.resolve(ue).then(async ce=>{w();let me=S.kind==="search"&&S.cursor===void 0?await I(S.channelId,S.keyword):$s;if(w(),b(S.channelId)!==K)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Se=n()+t,Pe=J(ce,S,K,Se),Ae=me.length===0?Pe:F(Pe,me);return b(S.channelId)===K&&o($,{channelId:S.channelId,generation:K,expiresAt:Se,page:Ae}),Ae}).finally(()=>{s.get($)?.promise===Y&&s.delete($);});return s.set($,{generation:K,promise:Y}),Y}function V(S,L){w();let K=y.get(S);if(K===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(K.kind!==L)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${L} \u5206\u9875`);if(K.expiresAt<=n())throw y.delete(S),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(b(K.channelId)!==K.generation)throw y.delete(S),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return K}return {api:{peekFirstPage(S){if(!O)return null;let L=f(S),K=v.get(L);return K===void 0||K.generation!==b(L)?null:(G(L,K),K.page)},peekSearchCandidates(S,L){if(!O)return Object.freeze([]);let K=f(S),$=L.trim().toLocaleLowerCase();if($==="")return Object.freeze([]);let B=v.get(K);return B===void 0||B.generation!==b(K)?Object.freeze([]):(G(K,B),Object.freeze(B.page.items.filter(ie=>ie.displayName.toLocaleLowerCase().includes($)||ie.userId.toLocaleLowerCase().includes($))))},async getCachedPage(S,L){let K=f(S),$=await z(K);if($===null)return null;let B=L?.trim()??"";if(B==="")return $.page;let ie=await C($.page.items,B);return w(),$.generation!==b(K)?null:Object.freeze({items:ie,exhausted:true})},async prefetchFirstPage(S){let L=f(S),K=await z(L);K!==null&&K.updatedAt+t>n()||await ae(L);},async refreshFirstPage(S){return ae(f(S))},async listFirstPage(S){let L=f(S),K=v.get(L);if(K!==void 0&&K.generation===b(L))return G(L,K),K.page;let $=await z(L);return $!==null?$.page:ae(L)},async listNextPage(S){return A(V(S,"list"))},async searchFirstPage(S,L){let K=f(S),$=L.trim();return $===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):A({channelId:K,kind:"search",keyword:$})},async refreshSearchFirstPage(S,L){let K=f(S),$=L.trim();return $===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):A({channelId:K,kind:"search",keyword:$},true)},async searchNextPage(S){return A(V(S,"search"))}},async invalidate(S){if(!O)return;let L=S.trim();if(L==="")return;h.set(L,b(L)+1),m.add(L);let K=v.get(L);K?.page.nextPageToken!==void 0&&y.delete(K.page.nextPageToken),v.delete(L),T.delete(L),E.delete(L);for(let[$,B]of d)B.channelId===L&&g($);for(let[$,B]of y)B.channelId===L&&y.delete($);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(L),m.delete(L));},clear(){if(!O)return;let S=new Set;for(let L of d.values())S.add(L.channelId);for(let L of y.values())S.add(L.channelId);for(let L of S)h.set(L,b(L)+1);d.clear(),y.clear(),s.clear(),v.clear(),T.clear(),E.clear(),m.clear();},dispose(){O&&(O=false,d.clear(),y.clear(),s.clear(),v.clear(),T.clear(),E.clear(),m.clear());}}}var lu=20*1024*1024;function an(e){return q({...e,retryable:e.retryable??false})}function Fr(e,n){if(e?.conversationType==="supergroup")throw an({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 an({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function uu(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 an({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function pu(e,n){try{let t=new URL(e);if(t.protocol==="http:"||t.protocol==="https:")return e}catch{}throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Ys(e,n,t){if(e.kind==="preset"){if(e.presetId.trim()==="")throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:pu(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>t)throw an({code:e.blob instanceof Blob&&e.blob.size>t?"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 Kr(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 mu(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Xs(e){let n=e.maxCustomImageBytes??lu,t=false,c=0,i,d;async function s(h,v){try{return await v(uu(e.storage,h))}catch(T){throw typeof T=="object"&&T!==null&&"code"in T?T:an({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:h,cause:T})}}return {api:{async getBackground(h){let v="conversations.getBackground",T=Fr(h,v);return s(v,async E=>{let m=await E.getConversationBackground(T);if(m!==null)return Object.freeze({source:"conversation",selection:Kr(m)});let P=await E.getDefaultConversationBackground();return Object.freeze(P===null?{source:"builtin",selection:null}:{source:"default",selection:Kr(P)})})},async setBackground(h,v){let T="conversations.setBackground",E=Fr(h,T),m=await Ys(v,T,n);await s(T,P=>P.saveConversationBackground(E,m));},async resetBackground(h){let v="conversations.resetBackground",T=Fr(h,v);await s(v,E=>E.deleteConversationBackground(T));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async v=>{let T=await v.getDefaultConversationBackground();return Object.freeze(T===null?{source:"builtin",selection:null}:{source:"default",selection:Kr(T)})})},async setDefaultBackground(h){let v="conversations.setDefaultBackground",T=await Ys(h,v,n);await s(v,E=>E.saveDefaultConversationBackground(T));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",v=>v.deleteDefaultConversationBackground());},listBackgroundPresets(h){let v="conversations.listBackgroundPresets";if(t)return Promise.reject(an({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:v}));if(!h?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!h?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(an({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:v}));let T=++c,E=da(e.coreClient).then(m=>{let P=Object.freeze(m.map(mu));return !t&&T===c&&(i=P),P}).catch(m=>{throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:v,retryable:true,cause:m})}).finally(()=>{T===c&&(d=void 0);});return d=E,E}},dispose(){t=true,c+=1,i=void 0,d=void 0;}}}var Qs=2;function fu(e){return ba$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Lt(e,n,t){let c=[];for(let i of e)!fu(i)||t!==void 0&&i.sortKey<=t||ga(i,n)&&c.push(i);return {unreadMessages:c}}function Zs(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function ec(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let c=Lt(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;c.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<Qs;d+=1)await e.loadNewer(),c=Lt(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),Zs(i.id,e.unreadCount))}await e.openLatest();let n=Lt(e.list(),e.selfId,void 0);for(let c=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&c<Qs;c+=1)await e.loadOlder(),n=Lt(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let t=n.unreadMessages.at(-e.unreadCount);return t===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(t.sortKey),Zs(t.id,e.unreadCount))}function lt(e){if(e===void 0||e.length===0)return;let n=false,t=[],c={},i=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}i.has(d.userId)||(i.add(d.userId),t.push(d.userId),d.displayName.trim()!==""&&(c[d.userId]=d.displayName));}return {atAll:n,atUserIds:t,...Object.keys(c).length===0?{}:{atUsersName:c}}}function gu(e){return e instanceof qa$1?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function Iu(e){let n=[];for(let t=0;t<e.length;t+=A$1)n.push(e.slice(t,t+A$1));return n}async function nc(e){let n=[...new Set(e.messageIds.map(s=>s.trim()).filter(s=>s!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let t=[],c=[],i=[],d;for(let s of Iu(n)){if(!e.isCurrent()){i.push(...s);continue}try{let y=await e.fetchBatch(s);if(!e.isCurrent()){i.push(...s);continue}let h=new Set(y.messages.map(T=>T.id)),v=new Set(y.missingMessageIds);t.push(...y.messages.map(e.projectMessage)),c.push(...y.missingMessageIds);for(let T of s)!h.has(T)&&!v.has(T)&&i.push(T);}catch(y){i.push(...s),d=gu(y);}}return {messages:t,missingMessageIds:c,unresolvedMessageIds:i,...d===void 0?{}:{failure:d}}}var Br=new WeakMap;function Ft(e,n){let t=Br.get(n);if(t===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Br.set(e,t);}var yu={"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}},hu={"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}},tc={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},rc={"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 oc(e,n,t){let c=q({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function vu(e,n){let t=q({code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",operation:"history.loadAround",retryable:false,conversation:e,details:{messageId:n}});return Object.assign(new Error(t.code),t)}var Cu=3*1024*1024,Ur=200*1024*1024,ac=2*1024*1024*1024,ic=30*1024*1024,sc=4294967295,Mu=6,bu=16*1024,Su=300;async function Pu(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let t=new Uint8Array(await e.slice(0,6).arrayBuffer());if(t.length!==6)return false;let c=String.fromCharCode(...t);return c==="GIF87a"||c==="GIF89a"}var Au={"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 Gr(e,n,t,c,i={},d={}){let s=Object.freeze({...e}),y=n.pageSize??30,h=n.domainState.createMessageWindow({retention:{maxMessages:y*Mu},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(l,M)=>i.shouldEstablishRemoteLatestOnOpen?.(M)===true}}),v=new Set,T=new Set,E=new Map,m,P,O=false,b=false,w=false,f,g=false,a=0,o=Object.freeze({state:"none"}),p$1=new WeakMap,C;function I(){if(b)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function F(){let l=h.window.info();return {messages:h.window.list(),draft:n.domainState.getDraft(s),loading:w||E.size>0,stale:O,hasOlder:l.hasMore,hasNewer:l.hasNewer,error:P,entryUnread:o}}function N(l,M){return l.length===M.length&&l.every((R,U)=>R===M[U])}function j(l,M){return N(l.messages,M.messages)&&l.draft===M.draft&&l.loading===M.loading&&l.stale===M.stale&&l.hasOlder===M.hasOlder&&l.hasNewer===M.hasNewer&&l.error===M.error&&l.entryUnread===M.entryUnread}function _(l){let M=p$1.get(l);if(M!==void 0)return M;let R=Et(l);return p$1.set(l,R),R}function J(l){return {ref:s,messages:Object.freeze(l.messages.map(_)),entryUnread:l.entryUnread,draft:l.draft,loading:l.loading,stale:l.stale,hasOlder:l.hasOlder,hasNewer:l.hasNewer,...l.error===void 0?{}:{error:l.error}}}function D(){return I(),J(F())}function G(){let l=F();if(C!==void 0&&j(C,l))return;C=l;let M=J(l);for(let R of v)try{R(M);}catch(U){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:U}});}}async function te(l){let M=h.window.list().find(he=>he.id===l)??n.domainState.getConversationMessage(s,l);if(M!==void 0)return {anchor:M};let R=n.domainState.getPinnedMessage(s),U=R?.messageId===l&&R.preview.state==="ready"?R.preview.message:void 0;if(U!==void 0)return {anchor:U,fallbackSeed:U};let Z=n.resolveSearchHistoryAnchor?.(s,l);if(Z!==void 0)return {anchor:Z};let Ce=await n.domainState.resolveConversationMessage(s,l);return Ce===void 0?void 0:{anchor:Ce}}function z(l,M){if(I(),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 R=E.get(l);if(R!==void 0)return R;P=void 0;let U=Promise.resolve().then(M).then(Z=>i.reconcilePage===void 0?Z:i.reconcilePage(Z,h.window)).then(Z=>{I(),O=Z.stale===true;}).catch(Z=>{throw b||(P=pn(Z,`history.${l}`,s)),Z}).finally(()=>{E.delete(l),b||G();});return E.set(l,U),G(),U}function ae(){h.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-y));}async function A(){g?g=false:await z("latest",()=>h.window.open(s,{limit:y})),ae(),i.shouldEstablishRemoteLatestOnOpen?.(h.window.list())===true&&(await z("latest:remote",()=>h.window.loadOlder({limit:y})),ae());}async function V(){let l=n.domainState.getSession(s),M=Math.max(0,l?.manuallyUnread===true?0:l?.unreadCount??0),R=n.domainState.getReadState(s),U=R?.readCursor,Z=R?.readCursorSortKey??(U===void 0||U===""?void 0:n.domainState.getConversationMessage(s,U)?.sortKey??n.domainState.getMessagesByConversation(s).find(Ce=>Ce.extensions?.historyCursor===U)?.sortKey);o=await ec({conversation:s,pageSize:y,unreadCount:M,...Z===void 0?{}:{readCursorSortKey:Z},selfId:n.getSelfId(),list:()=>h.window.list(),hasOlder:()=>h.window.info().hasMore,hasNewer:()=>h.window.info().hasNewer,openLatest:A,openAt:Ce=>(g=false,z(`entry-unread:${Ce}`,()=>h.window.openAt(s,{anchorSortKey:Ce,limit:y}))),loadOlder:()=>z("entry-unread:older",()=>h.window.loadOlder({limit:y})),loadNewer:()=>z("entry-unread:newer",()=>h.window.loadNewer({limit:y}))});}let ee=n.emitter.subscribe(l=>{if(!(b||!("conversation"in l)||l.conversation===void 0)&&!(l.conversation.conversationType!==s.conversationType||l.conversation.conversationId!==s.conversationId)){if(l.type==="draft:updated"||l.type==="draft:cleared"){let M=l.type==="draft:updated"?l.draft:null;for(let R of T)try{R(M);}catch(U){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:U}});}}G();}});try{d.initialLoad==="local-first"?(await z("initial:local",()=>h.window.open(s,{limit:y})),ae(),g=!0):d.initialPosition==="first-unread"?await V():await A();}catch(l){throw b=true,ee(),v.clear(),h.dispose(),l}function S(l,M){let R=n.domainState.getMessage(l);return R!==void 0&&R.conversationType===s.conversationType&&R.conversationId===s.conversationId?{ok:true,message:Nn(R)}:{ok:false,error:q({code:R===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:M,retryable:false,conversation:s})}}async function L(l,M,R){let U=await i.getSendPermissionError?.(l);if(I(),U!==void 0){if(R===void 0)return {ok:false,error:U};let Z=await R(U);return I(),Z}try{let Z=await M();return I(),Z}catch(Z){if(b)throw Z;return {ok:false,error:pn(Z,l,s)}}}async function K(l,M={}){let R="name"in l?l.name:void 0,U=M.fileName??(typeof R=="string"&&R!==""?R:void 0);return {...s,data:l,...l.type===""?{}:{mimeType:l.type},...U===void 0?{}:{filename:U},...M.localPreviewUrl===void 0?{}:{localPreviewUrl:M.localPreviewUrl},...M.localPreviewMetadata===void 0?{}:{localPreviewMetadata:M.localPreviewMetadata},...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}}}function $(l){return l===void 0||Number.isFinite(l.width)&&l.width>0&&Number.isFinite(l.height)&&l.height>0}function B(l){return $(l)&&(l?.duration===void 0||Number.isFinite(l.duration)&&l.duration>0)&&(l?.posterData===void 0||l.posterData instanceof Uint8Array&&l.posterData.length>0&&l.posterData.length<=bu)}function ie(l){return l!==void 0&&"duration"in l&&l.duration!==void 0&&l.duration>Su}function ue(l){return l!==void 0&&"duration"in l&&l.duration!==void 0&&Number.isFinite(l.duration)&&l.duration>0}function Y(l,M,R){return {ok:false,error:q({code:l,category:M,operation:R,retryable:false,conversation:s})}}function ce(l,M){if(l===null||typeof l!="object"||l.kind!==M||!Number.isSafeInteger(l.width)||l.width<=0||l.width>sc||!Number.isSafeInteger(l.height)||l.height<=0||l.height>sc)return false;let R;try{R=new URL(l.url);}catch{return false}if(R.protocol!=="http:"&&R.protocol!=="https:"||R.username!==""||R.password!=="")return false;let U=l.resourceId;if(U!==void 0&&(typeof U!="string"||U.trim()===""))return false;if(M==="gif")return !Object.prototype.hasOwnProperty.call(l,"packageId");let Z=l.packageId;return typeof U=="string"&&U.trim()!==""&&typeof Z=="string"&&Z.trim()!==""}function me(l){return Object.assign(new Error(l.code),l,{name:"ImMessageActionError"})}function Se(l,M,R){if(l==="direct"||l==="group"||l==="channel")return Object.freeze({conversationType:l,conversationId:M});throw me(q({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:R,retryable:false,conversation:s,details:{targetConversationType:l,targetConversationId:M}}))}async function Pe(l,M,R){let U;try{U=await n.forwardMessages({messages:M,targets:R.map(Z=>({...Z}))});}catch(Z){throw me(pn(Z,l,s))}return I(),Object.freeze({sent:Object.freeze(U.results.flatMap(Z=>Z.ok?[{conversation:Se(Z.targetConversationType,Z.targetConversationId,l),messageId:Z.newMessageId}]:[])),failed:Object.freeze(U.results.flatMap(Z=>Z.ok?[]:[{sourceMessageId:Z.sourceMessageId,conversation:Object.freeze({conversationType:Z.targetConversationType,conversationId:Z.targetConversationId}),error:q({...Au[Z.reason],operation:l,conversation:{conversationType:Z.targetConversationType,conversationId:Z.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...U.skippedSourceIds])})}function Ae(l,M){let R=n.domainState.getConversationMessage(s,l);if(R===void 0){let U=n.domainState.getMessage(l);throw me(q({code:U===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:M,retryable:false,conversation:s}))}if(R.conversationType!==s.conversationType||R.conversationId!==s.conversationId)throw me(q({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:M,retryable:false,conversation:s}));return R}function _e(l,M){return me(q({...M,operation:l,conversation:s}))}function Ye(l,M){let R=q({code:l,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...M===void 0?{}:{cause:M}});return Object.assign(new Error(l),R,{name:"ImLocalMessageDeletionError"})}function Bn(l,M){let R=q({code:l,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...M===void 0?{}:{cause:M}});return Object.assign(new Error(l),R,{name:"ImLocalConversationHistoryClearError"})}function Bt(){if(b)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(m!==void 0)return m;let l=[...E.values()],M=Promise.all(l).then(async()=>{I();let R=[...n.domainState.getMessagesByConversation(s),...h.window.list()];if(n.hasOutboxForConversation(s)||R.some(U=>n.isOutboxOwned(U.id)))throw Bn("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(R.some(U=>U.status==="pending"||U.status==="uploading"||U.status==="sending"))throw Bn("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),I(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(R=>{throw R instanceof Error&&R.name==="ImLocalConversationHistoryClearError"?R:Bn("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",R)}).finally(()=>{m===M&&(m=void 0);});return m=M,M}async function ut(l,M){if(l!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,l);}catch(R){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${M}\uFF09`,cause:R}});}}async function In(l,M,R,U,Z){return L(l,async()=>{let Ce=await K(R,U);if(M!==void 0&&Ce.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let De=new AbortController,Ve=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${l}:${++a}`,kind:M,file:R,signal:De.signal});if(I(),Ve===void 0||(M==="image"?!$(Ve):!B(Ve)))return Y(M==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",l);Ce.localPreviewMetadata=Ve;}if(M==="video"&&(n.prepareMediaPreview!==void 0||Ce.localPreviewMetadata!==void 0)&&!ue(Ce.localPreviewMetadata))return Y("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",l);if(M==="video"&&ie(Ce.localPreviewMetadata))return Y("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",l);let he=i.recheckSendPermissionError?.(l);if(he!==void 0)return {ok:!1,error:he};let we=await Z({...Ce,...U.caption===void 0||U.caption===""?{}:{caption:U.caption}});return we.ok?(I(),S(we.messageId,l)):{ok:!1,error:ot(we.reason,l,s)}})}async function Gt(l,M){let R="messages.sendMediaAlbum";if(l.length===0)return Y("IM_SDK_MEDIA_ALBUM_EMPTY","validation",R);if(l.length>9)return Y("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",R);if(M.caption!==void 0&&M.caption.length>1024)return Y("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",R);for(let U of l){if(U.file.type==="image/gif")return Y("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",R);if(U.kind==="image"){if(U.file.size>ic)return Y("IM_SDK_IMAGE_TOO_LARGE","validation",R);if(!$(U.localPreviewMetadata))return Y("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",R)}else {if(U.file.size>Ur)return Y("IM_SDK_VIDEO_TOO_LARGE","validation",R);if(!B(U.localPreviewMetadata))return Y("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",R);if(ie(U.localPreviewMetadata))return Y("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",R)}}return L(R,async()=>{let U=await Promise.all(l.map(async we=>{if(we.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return we.localPreviewMetadata;let De=new AbortController;return n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${R}:${++a}`,kind:we.kind,file:we.file,signal:De.signal})}));I();let Z=[];for(let[we,De]of l.entries()){let Ve=U[we];if(De.kind==="image"&&!$(Ve))return Y("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",R);if(De.kind==="video"){if(!B(Ve))return Y("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",R);if(n.prepareMediaPreview!==void 0&&!ue(Ve))return Y("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",R);if(ie(Ve))return Y("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",R)}let nn="name"in De.file?De.file.name:void 0;Z.push({kind:De.kind,data:De.file,...De.file.type===""?{}:{mimeType:De.file.type},...typeof nn=="string"&&nn!==""?{filename:nn}:{},...De.localPreviewUrl===void 0?{}:{localPreviewUrl:De.localPreviewUrl},...Ve===void 0?{}:{localPreviewMetadata:Ve}});}let Ce=i.recheckSendPermissionError?.(R);if(Ce!==void 0)return {ok:!1,error:Ce};let he=await n.sendMediaAlbum({...s,items:Z,...M.caption===void 0||M.caption.trim()===""?{}:{caption:M.caption},...M.hd===void 0?{}:{hd:M.hd},...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return he.ok?(I(),S(he.messageId,R)):{ok:!1,error:ot(he.reason,R,s)}})}function yn(l,M,R){let U=Ae(l,R);if(U.contentType!==M||U.status!=="failed"||U.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(l))throw me(q({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:s}));return U}async function Gn(l,M,R,U,Z,Ce){return yn(M,R,l),L(l,async()=>{let he=await K(U,Z);if(R==="video"&&he.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ve=new AbortController,nn=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${l}:${++a}`,kind:"video",file:U,signal:Ve.signal});if(I(),nn===void 0||!B(nn))return Y("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",l);he.localPreviewMetadata=nn;}if(R==="video"&&(n.prepareMediaPreview!==void 0||he.localPreviewMetadata!==void 0)&&!ue(he.localPreviewMetadata))return Y("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",l);if(ie(he.localPreviewMetadata))return Y("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",l);let we=i.recheckSendPermissionError?.(l);if(we!==void 0)return {ok:!1,error:we};yn(M,R,l);let De=await Ce(M,{...he,...Z.caption===void 0||Z.caption===""?{}:{caption:Z.caption}});return De.ok?(I(),S(De.messageId,l)):{ok:!1,error:ot(De.reason,l,s)}})}let jn={ref:s,getSnapshot:D,subscribe(l){return I(),v.add(l),()=>v.delete(l)},resolveMessage:async l=>{I();let M=h.window.list().find(R=>R.id===l)??await n.domainState.resolveConversationMessage(s,l);return M===void 0?null:_(M)},history:{loadLatest:async()=>{I(),f!==void 0&&await f,await A(),I(),G();},loadOlder:async()=>(I(),f!==void 0&&await f,z("older",()=>h.window.loadOlder({limit:y}))),loadNewer:async()=>{I(),f!==void 0&&await f,await z("newer",()=>h.window.loadNewer({limit:y})),I(),h.window.info().hasNewer||(ae(),G());},loadAround:async l=>{I(),f!==void 0&&await f,I();let M=await te(l);if(M===void 0||M.anchor.conversationType!==s.conversationType||M.anchor.conversationId!==s.conversationId)throw vu(s,l);let{anchor:R}=M;await z(`around:${l}`,async()=>{let U=await h.window.openAt(s,{anchorSortKey:R.sortKey,limit:y});return h.window.list().some(Z=>Z.id===l)||M.fallbackSeed===void 0?U:h.window.openAt(s,{anchorSortKey:R.sortKey,limit:y,seedMessages:[M.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(I(),f!==void 0&&await f,Bt())},messages:{sendText:async(l,M={})=>{I();let R=t(s,l,M);if("code"in R)return {ok:false,error:R};let U=n.domainState.getDraft(s)?.updatedAt;return L("messages.sendText",async()=>{let Z=await n.sendText(R);return I(),await ut(U,"messages.sendText"),S(Z.id,"messages.sendText")},async Z=>{let Ce=i.appendTextPermissionFailure?.(R);return Ce===void 0?{ok:false,error:Z}:(await ut(U,"messages.sendText"),{ok:true,message:Nn(Ce)})})},sendContact:async(l,M={})=>{I();let R=l.targetId.trim(),U=l.displayName.trim();if(R===""||U==="")return {ok:false,error:q({code:R===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let Z={...s,contact:{...l,targetId:R,displayName:U},encrypted:s.conversationType!=="direct",...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}};return L("messages.sendContact",async()=>{let Ce=await n.sendContact(Z);return S(Ce.id,"messages.sendContact")})},sendImage:async(l,M={})=>(I(),l.size>ic?Y("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):M.caption!==void 0&&M.caption!==""?Y("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):$(M.localPreviewMetadata)?In("messages.sendImage","image",l,M,n.sendImage):Y("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(l,M={})=>(I(),Gt(l,M)),sendVideo:async(l,M={})=>(I(),l.size>Ur?Y("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):B(M.localPreviewMetadata)?In("messages.sendVideo","video",l,M,n.sendVideo):Y("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(l,M,R={})=>(I(),M.size>Ur?Y("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):B(R.localPreviewMetadata)?Gn("messages.replaceInterruptedVideo",l,"video",M,R,n.replaceVideo):Y("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(l,M)=>(I(),L("messages.sendVoice",async()=>{let R=await K(l,M),U=i.recheckSendPermissionError?.("messages.sendVoice");if(U!==void 0)return {ok:!1,error:U};let Z=await n.sendVoice({...R,durationMs:M.durationMs,...M.waveform===void 0?{}:{waveform:[...M.waveform]}});return Z.ok?(I(),S(Z.messageId,"messages.sendVoice")):{ok:!1,error:ot(Z.reason,"messages.sendVoice",s)}})),sendFile:async(l,M={})=>{if(I(),l.size>ac)return Y("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(M.caption!==void 0&&M.caption!=="")return Y("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let R=M.fileName??("name"in l?l.name:void 0);return typeof R!="string"||R.trim()===""?Y("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):In("messages.sendFile",void 0,l,M,n.sendFile)},sendGif:async(l,M={})=>(I(),l.size>Cu?Y("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Pu(l)?In("messages.sendGif",void 0,l,M,R=>n.sendGif(R)):Y("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(l,M={})=>(I(),ce(l,"sticker")?L("messages.sendSticker",async()=>{let R=await n.sendExpression({...s,asset:l,...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return S(R.id,"messages.sendSticker")}):Y("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(l,M={})=>(I(),ce(l,"gif")?L("messages.sendGifAsset",async()=>{let R=await n.sendExpression({...s,asset:l,...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return S(R.id,"messages.sendGifAsset")}):Y("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(l,M={})=>(I(),l!=="rock-paper-scissors"&&l!=="dice"?Y("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):L("messages.sendGame",async()=>{let R=await n.sendGame({...s,gameType:l,...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return S(R.id,"messages.sendGame")})),sendMiniProgram:async(l,M={})=>(I(),p(l)?L("messages.sendMiniProgram",async()=>{let R=await n.sendMiniProgram({...s,miniProgram:l,encrypted:s.conversationType!=="direct",...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return S(R.id,"messages.sendMiniProgram")}):Y("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(l,M={})=>(I(),s.conversationType==="channel"?Y("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):r$1(l)?L("messages.sendTransfer",async()=>{let R=await n.sendTransfer({...s,transfer:l,...M.replyToMessageId===void 0?{}:{refMessageId:M.replyToMessageId}});return S(R.id,"messages.sendTransfer")}):Y("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(l,M)=>{I(),Ae(l,"messages.toggleReaction");let R=await n.setReaction({conversation:s,parentMessageId:l,emoji:M,action:"toggle"});if(I(),!R.ok)throw _e("messages.toggleReaction",tc[R.reason]);return Object.freeze({messageId:l,eventId:R.event.id,emoji:R.event.emoji,action:R.event.action===0?"add":"remove"})},setReaction:async(l,M,R)=>{I(),Ae(l,"messages.setReaction");let U=await n.setReaction({conversation:s,parentMessageId:l,emoji:M,action:R});if(I(),!U.ok)throw _e("messages.setReaction",tc[U.reason]);return Object.freeze({messageId:l,eventId:U.event.id,emoji:U.event.emoji,action:U.event.action===0?"add":"remove"})},replaceInterruptedFile:async(l,M,R={})=>{if(I(),M.size>ac)return Y("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(R.caption!==void 0&&R.caption!=="")return Y("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let U=R.fileName??("name"in M?M.name:void 0);return typeof U!="string"||U.trim()===""?Y("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Gn("messages.replaceInterruptedFile",l,"file",M,{...R,fileName:U},n.replaceFile)},editText:async(l,M,R={})=>{I(),Ae(l,"messages.editText");let U=c(s,l,M,R);if("code"in U)throw me(U);let Z;try{Z=await n.editMessage(U);}catch(Ce){throw me(pn(Ce,"messages.editText",s))}if(I(),!Z.ok)throw _e("messages.editText",hu[Z.reason]);return Nn(Ae(l,"messages.editText"))},recall:async l=>{I(),Ae(l,"messages.recall");let M;try{M=await n.recallMessage({...s,messageId:l});}catch(R){throw me(pn(R,"messages.recall",s))}if(I(),!M.ok)throw _e("messages.recall",yu[M.reason])},deleteLocal:async l=>{I();let M=n.domainState.getConversationMessage(s,l);if(n.isOutboxOwned(l))throw Ye("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(M!==void 0&&M.conversationType===s.conversationType&&M.conversationId===s.conversationId&&(M.status==="pending"||M.status==="uploading"||M.status==="sending"))throw Ye("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let R=await n.domainState.deleteLocalMessage(s,l);return I(),Object.freeze({scope:"local-only",messageId:l,deleted:R,remoteHistory:"remote-history-may-restore"})}catch(R){throw R instanceof Error&&R.name==="ImLocalMessageDeletionError"?R:Ye("IM_SDK_LOCAL_DELETE_FAILED",R)}},forward:async(l,M)=>{if(I(),l.length===0||M.length===0)throw me(q({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));return Pe("messages.forward",l.map(R=>({id:R,...s})),M)},forwardMediaAlbumItem:async(l,M,R)=>{I();let U="messages.forwardMediaAlbumItem";if(l.trim()===""||R.length===0)throw me(q({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:U,retryable:false,conversation:s}));if(!Number.isInteger(M)||M<0)throw me(q({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:U,retryable:false,conversation:s,details:{itemIndex:M}}));return Pe(U,[{id:l,...s,itemIndex:M}],R)},fetchByIds:async l=>{I();let M=n.fetchMessagesByIdBatch;if(M===void 0)throw me(q({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:s}));let R=await nc({messageIds:l,fetchBatch:M,isCurrent:()=>!b,projectMessage:_});return Object.freeze({messages:Object.freeze([...R.messages]),missingMessageIds:Object.freeze([...R.missingMessageIds]),unresolvedMessageIds:Object.freeze([...R.unresolvedMessageIds]),...R.failure===void 0?{}:{failure:Object.freeze(R.failure)}})}},draft:{get:async()=>(I(),n.drafts.get(s)),save:async l=>(I(),n.drafts.save(s,l)),clear:async()=>{I(),await n.drafts.clear(s);},subscribe(l){return I(),T.add(l),()=>T.delete(l)}},markRead:async l=>{I(),f!==void 0&&await f,I();let M=h.window.list();if(l!==void 0&&!M.some(U=>U.id===l))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${l}`);let R=i.resolveReadMessageId===void 0?l??M.at(-1)?.id:i.resolveReadMessageId(M,l);R!==void 0&&await n.markRead({...s,readCursor:R});},setMuted:async l=>(I(),n.setMuted(s,l)),close(){b||(b=true,ee(),v.clear(),T.clear(),h.dispose());}};return Br.set(jn,{getMessages:()=>(I(),h.window.list()),resolveMessage:async l=>(I(),h.window.list().find(M=>M.id===l)??n.domainState.resolveConversationMessage(s,l))}),d.initialLoad==="local-first"&&(w=true,f=Promise.resolve().then(async()=>{I(),d.initialPosition==="first-unread"?await V():await A();}).catch(l=>{b||(P=pn(l,"history.initial",s),o=Object.freeze({state:"unavailable"}));}).finally(()=>{w=false,f=void 0,g=false,b||G();})),jn}var Eu=5e3;async function dc(e,n,t={}){let c=false,i,d;function s(){let T=Date.now();if(i!==void 0&&T-i.checkedAt<Eu)return Promise.resolve(i.value);if(d!==void 0)return d;let E=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===E&&(d=void 0);});return d=E,E}async function y(T){if(!n.shouldCheckRelationship())return;let E=await s();if(E!=="friend"){if(E==="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:E}}}));return}return q({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:T,retryable:false,conversation:e,details:Object.freeze({relationship:E})})}}n.shouldCheckRelationship()&&s();let h=await Gr(e,n,(T,E,m)=>m.mentions!==void 0&&m.mentions.length>0?q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:T}):{...T,text:E,...m.replyToMessageId===void 0?{}:{refMessageId:m.replyToMessageId}},(T,E,m,P)=>P.mentions!==void 0&&P.mentions.length>0?q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:T}):{...T,messageId:E,text:m},{getSendPermissionError:y,appendTextPermissionFailure:n.appendContactRequiredTextFailure},t),v={...h,messages:{...h.messages,async markMediaConsumed(T){let E=n.domainState.getConversationMessage(e,T);if(E===void 0||E.senderId===n.getSelfId()||E.contentType!=="voice"&&E.contentType!=="video"){let m=q({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,T);}}};return Ft(v,h),v}async function lc(e,n,t={}){return Gr(e,n,(c,i,d)=>{let s=lt(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 y=lt(s.mentions);return {...c,messageId:i,text:d,...y===void 0?{}:{mention:y}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&uc(c,n.pageSize??30)},t)}var Ru=new Set(["pending","uploading","sending"]);function uc(e,n){return e.length<n}function cc(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function wu(e,n,t){let c=t===void 0?e.length-1:e.findIndex(s=>s.id===t),i=e[c];if(i===void 0||cc(i))return i?.id;let d=e.slice(0,c).findLast(s=>cc(s));return d!==void 0?d.id:i.senderId===n&&Ru.has(i.status)?void 0:i.id}function Tu(e,n){let t=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"){t=true;continue}if(t&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function pc(e,n,t={}){let c=await Gr(e,n,(d,s,y)=>{let h=lt(y.mentions);return {...d,text:s,encrypted:true,...h===void 0?{}:{mention:h},...y.replyToMessageId===void 0?{}:{refMessageId:y.replyToMessageId}}},(d,s,y,h)=>{let v=lt(h.mentions);return {...d,messageId:s,text:y,...v===void 0?{}:{mention:v}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&uc(d,n.pageSize??30)||Tu(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,s)=>wu(d,n.getSelfId(),s)},t),i={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw oc(e,rc["not-found"]);let y;try{y=await n.deleteMessageForEveryone({...e,messageId:d});}catch(h){let v=pn(h,"messages.deleteForEveryone",e);throw Object.assign(new Error(v.code,{cause:h}),v)}if(!y.ok)throw oc(e,rc[y.reason])}}};return Ft(i,c),i}var _u=40,Du=100,ku=0;function gn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Ou(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function mc(e){let n=++ku,t=new Map,c=new Map,i=new Map,d=new Map,s=new Map,y=0,h=true;function v(){if(!h)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function T(f){let g=f??_u;if(!Number.isSafeInteger(g)||g<1||g>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return g}function E(f){let g=`im-directory:${n}:${++y}`;return t.set(g,f),g}function m(f,g){let a=s.get(f);a===void 0&&(a=new Map,s.set(f,a));let o=g.map(p=>Object.freeze({...p}));for(let p of o)a.set(p.id,p);return Object.freeze(o)}async function P(f,g,a){if(v(),e.provider===void 0)throw new Error(`${gn(f)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:f,page:g,pageSize:a});if(v(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${gn(f)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:E({kind:f,page:o.nextPage,pageSize:a}),C=m(f,o.items);return Object.freeze({items:C,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function O(f){return {listFirstPage:g=>P(f,1,T(g?.pageSize)),listNextPage:g=>{v();let a=t.get(g);if(a===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(a.kind!==f)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${gn(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${gn(f)}`));let o=c.get(g);if(o!==void 0)return o;let p=P(f,a.page,a.pageSize).then(C=>(t.delete(g),C)).finally(()=>{c.delete(g);});return c.set(g,p),p}}}function b(f){v();let g=i.get(f);if(g!==void 0)return Promise.resolve(g);let a=d.get(f);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${gn(f)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],C=new Map,I=new Set,F=1;for(;;){if(v(),I.has(F))throw new Error(`${gn(f)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);I.add(F);let j=await e.provider.list({kind:f,page:F,pageSize:Du});if(v(),j.exhausted===(j.nextPage!==void 0))throw new Error(`${gn(f)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let _ of j.items)C.has(_.id)||p.push(_.id),C.set(_.id,_);if(j.nextPage===void 0)break;if(!Number.isSafeInteger(j.nextPage)||j.nextPage<1)throw new Error(`${gn(f)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);F=j.nextPage;}let N=m(f,p.map(j=>C.get(j)));return v(),i.set(f,N),N})().finally(()=>{d.delete(f);});return d.set(f,o),o}async function w(f){if(v(),f.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[g,a,o,p]=await Promise.all([b("individual"),b("group"),b("channel"),aa$1(f)]);v();function C(F,N){let j=[];for(let _ of N){let J=_==="displayName"?F.displayName:_==="username"?F.username:F.id;if(J===void 0||J==="")continue;let D=p.match(J,{pinyin:_==="displayName"});D!==null&&j.push(Ou(_,D));}return j.length===0?null:Object.freeze({item:F,matches:Object.freeze(j)})}function I(F,N){return Object.freeze(F.flatMap(j=>{let _=C(j,N);return _===null?[]:[_]}))}return Object.freeze({keyword:p.keyword,contacts:I(g,["displayName","username","id"]),groups:I(a,["displayName"]),channels:I(o,["displayName"])})}return {contacts:O("individual"),groups:O("group"),channels:O("channel"),search:{search:w},peekItem:(f,g)=>(v(),s.get(f)?.get(g)),dispose:()=>{h=false,t.clear(),c.clear(),i.clear(),d.clear(),s.clear();}}}function xu(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw q({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 Kt(e){return xu(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Nu(e,n){let t=n.attachments;if(t!==void 0&&t.length>0)throw q({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 fc(e){let n=new Set;function t(){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 t(),e.domainState.getDraft(Kt(i))},async save(i,d){t();let s=Kt(i);return e.domainState.saveDraft(s,Nu(s,d))},async clear(i){t(),await e.domainState.clearDraft(Kt(i));},subscribe(i,d){t();let s=Kt(i),y=e.emitter.subscribe(v=>{v.type!=="draft:updated"&&v.type!=="draft:cleared"||v.conversation.conversationType!==s.conversationType||v.conversation.conversationId!==s.conversationId||d(v.type==="draft:updated"?v.draft:null);}),h=()=>{y(),n.delete(h);};return n.add(h),h}},dispose(){for(let i of [...n])i();}}}var Lu=20,gc=50,Ic=30,yc=4294967295;function Rn(e){let n=q(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ge(e,n){return Rn({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function hc(e,n){if(n instanceof w$1)return Rn({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof x$1)return Rn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof c$1)return Rn({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof b$1||n instanceof y){let t=n instanceof y?n.status:void 0;return Rn({code:n instanceof y?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:t===void 0||t===0||t===408||t===429||t>=500,...t===void 0?{}:{details:Object.freeze({status:t})},cause:n})}return Rn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function sn(e,n,t){if(typeof e!="string"||e.trim()==="")throw Ge(t,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Fu(e,n){if(typeof e!="string"||e.trim()==="")throw new x$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Ku(e,n,t){if(e===void 0)return "";if(typeof e!="string")throw Ge(t,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Uu(e,n,t){let c=sn(e,n,t),i;try{i=new URL(c);}catch{throw Ge(t,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Ge(t,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Ge(t,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function vc(e,n,t){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>yc)throw Ge(t,`${n} \u5FC5\u987B\u662F 1-${yc} \u7684\u6574\u6570`);return Number(e)}function Pc(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ge(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let t={url:Uu(e.url,"url",n),width:vc(e.width,"width",n),height:vc(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...t,packageId:sn(e.packageId,"packageId",n),resourceId:sn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ge(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:sn(e.resourceId,"resourceId",n);return {kind:e.kind,...t,...c===void 0?{}:{resourceId:c}}}function Bu(e,n){if(e===null||typeof e!="object")throw Ge(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:sn(e.token,"token",n),resourceId:sn(e.resourceId,"resourceId",n)}:Pc(e,n)}function Gu(e,n){if(e!=="sticker"&&e!=="gif")throw Ge(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function ju(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ge(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Cc(e,n){if(!Array.isArray(e))throw Ge(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let t=[...new Set(e.map(c=>sn(c,"recordId",n)))];if(t.some(c=>c.includes("|")))throw Ge(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(t.length===0||t.length>Ic)throw Ge(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Ic} \u4E2A id`);return t}function Mc(e,n){let t=e?.offset??0,c=e?.pageSize??Lu;if(!Number.isSafeInteger(t)||t<0)throw Ge(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>gc)throw Ge(n,`pageSize \u5FC5\u987B\u662F 1-${gc} \u7684\u6574\u6570`);return {offset:t,limit:c}}function bc(e){return Object.freeze({...e})}function Hu(e){return Object.freeze({...e})}function Sc(e){let n=Object.freeze(e.items.map(t=>Object.freeze({...t})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function Ac(e){function n(i){if(!e.isActive())throw Rn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function t(i,d){if(n(i),e.provider===void 0)throw hc(i,new w$1("core"));let s;try{s=await d(e.provider);}catch(y){throw n(i),hc(i,y)}return n(i),s}let c={packs:Object.freeze({list:async i=>{let d="expressions.packs.list",s=i?.version===void 0?void 0:Ku(i.version,"version",d),y=await t(d,v=>v.listStickerPacks(s)),h=Object.freeze(y.items.map(v=>Object.freeze({...v})));return Object.freeze({version:y.version,items:h})},listItems:async i=>{let d="expressions.packs.listItems",s=sn(i,"packageId",d),y=await t(d,h=>h.listStickerItems(s));return Object.freeze(y.map(bc))}}),favorites:Object.freeze({list:async i=>{let d="expressions.favorites.list",s=await t(d,y=>y.listFavorites(Gu(i,d)));return Object.freeze(s.map(bc))},add:async i=>{let d="expressions.favorites.add",s=Pc(i,d);await t(d,y=>y.addFavorite(s));},delete:async i=>{let d="expressions.favorites.delete",s=Cc(i,d);await t(d,y=>y.deleteFavorites(s));}}),recent:Object.freeze({list:async i=>{let d="expressions.recent.list",s=await t(d,y=>y.listRecent(ju(i,d)));return Object.freeze(s.map(Hu))},report:async i=>{let d="expressions.recent.report",s=Bu(i,d);await t(d,y=>y.reportRecent(s));},delete:async i=>{let d="expressions.recent.delete",s=Cc(i,d);await t(d,y=>y.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 Ge(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return t(d,async y=>{let h=await y.listReactionTop(s);if(!Array.isArray(h))throw new x$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(h.map(v=>Fu(v,"reaction emoji")))})},report:async i=>{let d="expressions.reactions.report",s=sn(i,"emoji",d);await t(d,y=>y.reportReaction(s));}}),giphy:Object.freeze({trending:async i=>{let d="expressions.giphy.trending",s=await t(d,y=>y.listGiphyTrending(Mc(i,d)));return Sc(s)},search:async(i,d)=>{let s="expressions.giphy.search",y=sn(i,"query",s),h=await t(s,v=>v.searchGiphy({query:y,...Mc(d,s)}));return Sc(h)}})};return {api:Object.freeze(c)}}function wn(e,n,t){try{t();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?q({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):q({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function Ec(e){return {createRoom(n){wn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){wn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){wn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){wn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){wn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){wn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){wn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var zu=30,Vu=300*1e3,Wu=64,qu=900*1e3,$u=2048,Ju=0;function cn(e){let n=q({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 Rc(e){let n=e.now??(()=>Date.now()),t=e.pageSize??zu,c=e.tokenTtlMs??Vu,i=e.maxTokens??Wu,d=e.anchorTtlMs??qu,s=e.maxAnchors??$u;if(!Number.isInteger(t)||t<=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 y=++Ju,h=new Map,v=new Map,T=0,E=true;function m(D){if(!E)throw cn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:D,retryable:false});if(e.isAvailable?.()===false)throw cn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:D,retryable:false})}function P(D,G){let te=D.trim();if(te==="")throw cn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:G,retryable:false});return te}function O(D){let G=`im-search:${y}:${++T}`;for(h.set(G,{...D,expiresAt:n()+c});h.size>i;){let te=h.keys().next().value;if(typeof te!="string")break;h.delete(te);}return G}function b(D,G){return JSON.stringify([D.conversationType,D.conversationId,G])}function w(D){for(let[G,te]of v)te.expiresAt<=D&&v.delete(G);}function f(D,G){let te=Object.freeze({conversationType:D.conversationType,conversationId:D.conversationId}),z=b(te,D.id);for(v.delete(z),v.set(z,{anchor:Object.freeze({id:D.id,conversationType:D.conversationType,conversationId:D.conversationId,sortKey:D.sortKey}),expiresAt:G+d});v.size>s;){let ae=v.keys().next().value;if(typeof ae!="string")break;v.delete(ae);}}function g(D,G){let te=G==="conversation"?"search.conversations.next":"search.messages.next";m(te);let z=h.get(D);if(z===void 0||z.expiresAt<=n())throw h.delete(D),cn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:te,retryable:false});if(z.kind!==G)throw cn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:te,retryable:false});return z}function a(D){let G=D.draft?.text.trim();return G===void 0||G===""?D.lastMessagePreview:G}function o(D){let G=Object.freeze({conversationType:D.type,conversationId:D.id});return Object.freeze({ref:G,title:D.title,preview:a(D)})}function p(D,G){let te=Object.freeze(D.slice(G,G+t)),z=G+te.length,ae=z>=D.length,A=ae?void 0:O({kind:"conversation",items:D,offset:z});return Object.freeze({items:te,...A===void 0?{}:{nextPageToken:A},exhausted:ae})}async function C(D,G,te){m(te);let z=P(G,te).toLowerCase(),ae=Object.freeze(e.domainState.getConversationList().filter(A=>(A.type==="direct"||A.type==="group"||A.type==="channel")&&(D===void 0||A.type===D)&&`${A.title}
2
+ ${A.id}`.toLowerCase().includes(z)).map(o));return p(ae,0)}function I(D,G,te){let z=D.conversationId.trim();if(D.conversationType!==G||z==="")throw cn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:te,retryable:false});return Object.freeze({conversationType:G,conversationId:z})}function F(D,G){let te=D.conversationType,z=D.conversationId.trim();if(te!=="direct"&&te!=="group"&&te!=="channel"||z==="")throw cn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:te==="supergroup"?"unsupported":"validation",operation:G,retryable:false});return Object.freeze({conversationType:te,conversationId:z})}async function N(D){m("search.messages");let G;try{G=await e.domainState.searchMessages(D.ref,{...D.keyword===void 0?{}:{keyword:D.keyword},...D.contentTypes===void 0?{}:{contentTypes:D.contentTypes},limit:t,...D.beforeSortKey===void 0?{}:{beforeSortKey:D.beforeSortKey}});}catch(ee){throw cn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:ee})}let te=new Set,z=[],ae=n();w(ae);for(let{message:ee}of G.results){if(ee.conversationType!==D.ref.conversationType||ee.conversationId!==D.ref.conversationId||ee.sortKey.trim()===""||D.contentTypes!==void 0&&!D.contentTypes.includes(ee.contentType))throw cn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});te.has(ee.id)||(te.add(ee.id),f(ee,ae),z.push(Object.freeze({ref:D.ref,messageId:ee.id,senderId:ee.senderId,createdAt:ee.createdAt,contentType:ee.contentType,preview:_$1(ee)})));}let A=G.nextBeforeSortKey?.trim();if(!G.exhausted&&(A===void 0||A==="")||G.exhausted&&A!==void 0)throw cn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let V=A===void 0?void 0:O({kind:"message",ref:D.ref,...D.keyword===void 0?{}:{keyword:D.keyword},...D.contentTypes===void 0?{}:{contentTypes:D.contentTypes},beforeSortKey:A});return Object.freeze({items:Object.freeze(z),...V===void 0?{}:{nextPageToken:V},exhausted:G.exhausted})}async function j(D,G,te,z){m(z);let ae=I(D,G,z);return N({ref:ae,keyword:P(te,z)})}async function _(D,G,te,z){m(te);let ae=F(D,te),A=z?.trim();return N({ref:ae,...A===void 0||A===""?{}:{keyword:A},contentTypes:Object.freeze([G])})}return {api:{conversations:{all:D=>C(void 0,D,"search.conversations.all"),direct:D=>C("direct",D,"search.conversations.direct"),groups:D=>C("group",D,"search.conversations.groups"),channels:D=>C("channel",D,"search.conversations.channels"),async next(D){let G=g(D,"conversation");return p(G.items,G.offset)}},messages:{inDirect:(D,G)=>j(D,"direct",G,"search.messages.inDirect"),inGroup:(D,G)=>j(D,"group",G,"search.messages.inGroup"),inChannel:(D,G)=>j(D,"channel",G,"search.messages.inChannel"),texts:async(D,G)=>(m("search.messages.texts"),_(D,"text","search.messages.texts",P(G,"search.messages.texts"))),files:(D,G)=>_(D,"file","search.messages.files",G),images:D=>_(D,"image","search.messages.images"),videos:D=>_(D,"video","search.messages.videos"),voices:D=>_(D,"voice","search.messages.voices"),async next(D){let G=g(D,"message");return N(G)}}},resolveHistoryAnchor(D,G){if(!E||e.isAvailable?.()===false)return;let te=b(D,G),z=v.get(te);if(z!==void 0){if(z.expiresAt<=n()){v.delete(te);return}return z.anchor}},dispose(){E&&(E=false,h.clear(),v.clear());}}}function Ut(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let t={...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(t).length===0?{}:{safeProtocolMetadata:t}},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 wc(e){function n(y){let h=0n;for(let v=0;v<10;v++){let T=y+v,E=e[T];if(E===void 0)return {ok:false,kind:"truncated-varint"};if(h|=BigInt(E&127)<<BigInt(v*7),(E&128)===0)return {ok:true,nextOffset:T+1,value:h}}return {ok:false,kind:"invalid-varint"}}let t=[],c,i=0;function d(y,h,v){return {protobufWireStatus:y,protobufFieldNumbers:t,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:h,protobufFailureOffset:v,protobufBytesRemaining:Math.max(0,e.length-v)}}function s(y){t.length<32&&!t.includes(y)&&t.push(y),c=y;}for(;i<e.length;){let y=i,h=n(y);if(!h.ok)return d(h.kind==="truncated-varint"?"truncated":"invalid",h.kind==="truncated-varint"?"truncated-tag":h.kind,y);let v=Number(h.value>>3n),T=Number(h.value&0x07n);if(!Number.isSafeInteger(v)||v<=0)return d("invalid","invalid-field-number",y);if(i=h.nextOffset,T===0){let E=i,m=n(E);if(!m.ok)return d(m.kind==="truncated-varint"?"truncated":"invalid",m.kind,E);i=m.nextOffset;}else if(T===1){if(e.length-i<8)return d("truncated","truncated-fixed64",i);i+=8;}else if(T===2){let E=i,m=n(E);if(!m.ok)return d(m.kind==="truncated-varint"?"truncated":"invalid",m.kind==="truncated-varint"?"truncated-length":m.kind,E);if(m.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",E);i=m.nextOffset;let P=Number(m.value);if(P>e.length-i)return d("truncated","truncated-length-delimited",i);i+=P;}else if(T===5){if(e.length-i<4)return d("truncated","truncated-fixed32",i);i+=4;}else return d("invalid","invalid-wire-type",y);s(v);}return {protobufWireStatus:"complete",protobufFieldNumbers:t,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}var Yu=2,Un=30,Xu=50,Qu=5,Zu=20,ep={maxSize:320,targetBytes:10*1024,maxBytes:16*1024,quality:.84,minQuality:.68};function Tc(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return t}function np(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 tp(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 _c(e$1,n$1,t$1,c$1=0){let i=e$1.clientType??Yu,d$2={...e$1.authProvider,getLoginContext:async()=>{let r=await e$1.authProvider.getLoginContext();return r===null?null:{...r,clientType:i}}},s$1=e$1.transport??Ya(),y=e$1.adapters?.storage,h$1=y?.create({namespaceFactory:t$1})??(typeof indexedDB>"u"?void 0:Xa({namespaceFactory:t$1,mediaAssetCache:{strategies:hs()}})),v$2=r=>{let u=h$1?.saveDecryptRecovery;u!==void 0&&u(r).then(()=>Yr(r)).catch(x=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${r.conversation.conversationType}, messageId=${r.messageId}\uFF09`,cause:x}}));},T=np(h$1)?h$1:void 0,E=Xs({...h$1===void 0?{}:{storage:h$1},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient}}),m$1,P,O=gs({...h$1===void 0?{}:{storage:h$1},conversationBackgrounds:E.api,onDirectReadReceiptDisabled:r=>m$1?.(r)}),b="",w=Ir(e$1.debug,()=>({generation:c$1,...b===""?{}:{accountId:b}})),f=0;function g$1(r){return f+=1,`channel-${r}-${c$1}-${f}`}let a$1=hb(w),o$1=(r,u,x=b)=>{let H=u.fromId===x?u.toId:u.fromId;Ut(w,{conversation:{conversationType:"direct",conversationId:H},source:r,messageId:u.msgId,senderId:u.fromId,receiverId:u.toId,messageType:u.msgType,encrypt:u.encrypt,encryptVersion:u.encryptVersion,reason:u.reason,resolverSource:"direct-private-key",...u.cmdId===void 0?{}:{commandId:u.cmdId},...u.cause===void 0?{}:{cause:u.cause}});},p=(r,u)=>{Ut(w,{conversation:{conversationType:"group",conversationId:u.groupId},source:r,messageId:u.msgId,senderId:u.fromId,messageType:u.msgType,encrypt:u.encrypt,encryptVersion:u.encryptVersion,reason:u.reason,resolverSource:"group-private-key",...u.cmdId===void 0?{}:{commandId:u.cmdId},...u.cause===void 0?{}:{cause:u.cause}});},C=(r,u)=>{Ut(w,{conversation:{conversationType:"channel",conversationId:u.channelId},source:r,messageId:u.messageId,encrypt:u.encrypt,reason:u.reason,resolverSource:"channel-symmetric-key",endpoint:u.endpoint,surface:u.surface,decryptStage:u.decryptStage,keySource:u.keySource,keyByteLength:u.keyByteLength,payloadByteLength:u.payloadByteLength,...u.cipherDataByteLength===void 0?{}:{cipherDataByteLength:u.cipherDataByteLength},...u.decryptedByteLength===void 0?{}:{decryptedByteLength:u.decryptedByteLength},...u.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:u.forceRefreshAttempted},...u.clientTypeHeader===void 0?{}:{clientTypeHeader:u.clientTypeHeader},...u.clientTypeBody===void 0?{}:{clientTypeBody:u.clientTypeBody},...u.operationId===void 0?{}:{operationId:u.operationId},...u.cause===void 0?{}:{cause:u.cause}});},I=r=>{w.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:r.channelId},...r.operationId===void 0?{}:{operationId:r.operationId},data:{messageId:r.messageId,encrypt:r.encrypt,contentLength:r.contentLength,...r.endpoint===void 0?{}:{endpoint:r.endpoint},...r.surface===void 0?{}:{surface:r.surface},...r.clientTypeHeader===void 0?{}:{clientTypeHeader:r.clientTypeHeader},...r.clientTypeBody===void 0?{}:{clientTypeBody:r.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:r.cause}}));};function F(r){return r==="left"||r==="removed"||r==="dismissed"}w.record("debug","sdk","session","runtime-created");let N="empty",j=true,_=n$1.subscribe(r=>{if(j){if(r.type==="connection:changed"){w.record("info","sdk","connection","connection-state-changed",()=>({data:{state:r.state}}));return}if(r.type==="message:received"||r.type==="message:updated"){w.record("trace","sdk","message",r.type,()=>({conversation:r.conversation,message:Zi(r.message),data:{source:r.source,channelLifecycleEffects:r.channelLifecycleEffects}}));return}if(r.type==="auth:invalid"){w.record("warn","sdk","session","auth-invalid",()=>({data:r.issue}));return}if(r.type==="error"){let u=r.error.scope==="storage"?"storage":r.error.scope==="crypto"?"crypto":"session";w.record("error","sdk",u,"runtime-error",()=>({error:{message:r.error.message,data:r.error.cause}}));}}});function J$1(r){return r.cmdId===4644||r.cmdId===8976||r.cmdId===12808}let D=n$1.subscribe(r=>{h$1?.deleteDecryptRecovery!==void 0&&((r.type==="message:received"||r.type==="message:updated")&&r.message.encryption.decryptFailed!==true?(async()=>{let x=(await h$1.getDecryptRecoveries?.(r.conversation)??[]).find(H=>H.messageId===r.message.id);x!==void 0&&J$1(x)||await h$1.deleteDecryptRecovery(r.conversation,r.message.id);})().catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.message.id}\uFF09`,cause:u}})):r.type==="message:removed"?h$1.deleteDecryptRecovery(r.conversation,r.messageId).catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.messageId}\uFF09`,cause:u}})):r.type==="conversation-history:cleared"&&h$1.deleteConversationDecryptRecoveries?.(r.conversation).catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${r.conversation.conversationId}\uFF09`,cause:u}})));}),G=new Set,te="auto",z$2=false,ae=false,A=()=>{},V=null,ee=null,S,L,K,$=new Map,B$1=0,ie=r=>$.get(r)??0,ue=r=>{$.set(r,ie(r)+1);},Y=e$1.profile??(e$1.coreClient===void 0?void 0:B({client:e$1.coreClient,clientType:i,...h$1===void 0?{}:{storage:h$1}})),ce=e$1.channelProfile??(e$1.coreClient===void 0?void 0:o({client:e$1.coreClient,clientType:i,getUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??"",...h$1===void 0?{}:{storage:h$1}})),me=e$1.channelMembers??(e$1.coreClient===void 0?void 0:s({client:e$1.coreClient,clientType:i,isActive:()=>j,...h$1===void 0?{}:{storage:h$1}})),Se=e$1.channelMentionMembers??(e$1.coreClient===void 0?void 0:t({client:e$1.coreClient,clientType:i})),Pe=Js({...Se===void 0?{}:{provider:Se},...h$1===void 0?{}:{storage:h$1}}),Ae=e$1.directory??(e$1.coreClient===void 0?void 0:v({client:e$1.coreClient,clientType:i,getUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??""})),_e=mc({...Ae===void 0?{}:{provider:Ae}}),Ye=e$1.expressionProvider??z({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),Bn=Ac({provider:Ye,isActive:()=>j}),Bt=e$1.sessionFavoriteProvider??Oa({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},getUserId:()=>b}),ut=us({provider:Bt,isActive:()=>j}),In=()=>{},Gt=As({namespaceFactory:t$1,...h$1===void 0?{}:{storage:h$1},emitter:n$1,getAccountId:()=>b,isActive:()=>j,clearMemoryCaches:()=>{Y?.clearCache?.(),ce?.clearCache?.(),me?.clearCache?.(),Pe.clear(),In();}}),yn=e$1.channelJoinApplications??(e$1.coreClient===void 0?void 0:r({client:e$1.coreClient,clientType:i})),Gn=e$1.contactApplications??(e$1.coreClient===void 0?void 0:k({client:e$1.coreClient,clientType:i})),jn=e$1.groupApplications??(e$1.coreClient===void 0?void 0:l({client:e$1.coreClient,clientType:i})),l$2=Ea({emitter:n$1,diagnostics:w,profile:Y,channelProfile:ce,storage:h$1,getSelfId:()=>b,loadOlderFromRemote:r=>S===void 0?Promise.resolve({messages:[],exhausted:true}):S(r),loadNewerFromRemote:r=>K===void 0?Promise.resolve({messages:[],exhausted:true}):K(r)}),M=Us({directory:_e.contacts,getSelfId:()=>b,...Y===void 0?{}:{profile:Y},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:l$2,emitter:n$1,terminateConversationSending:(r,u)=>A(r,u),resetDirectReadReceiptPreference:r=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:(r,u)=>{u==="friend"?P?.(r):u!=="unknown"&&m$1?.(r);}}),R=Ws({...Gn===void 0?{}:{contact:Gn},...jn===void 0?{}:{group:jn},...yn===void 0?{}:{channel:yn},onContactAccepted:async(r,u)=>{M.updateRelationshipFromEvent(r,"friend"),await l$2.reconcileDirectContactEstablishedNotice(r,`contact-application:${u}`),l$2.refreshConversationProfile(r,"direct");},emitter:n$1,isActive:()=>j&&N==="ready"}),U=fc({domainState:l$2,emitter:n$1,isActive:()=>j}),Z=Rc({domainState:l$2,isAvailable:()=>j&&N==="ready"}),Ce=Bs(()=>l$2.getSessions()),he=e$1.crypto??h(),we=e$1.media!==void 0?Ua(e$1.media,w):void 0,De=Qa(),Ve=Pa(De),nn=async r=>{let u=await De.prepare({operationId:r.operationId,generation:c$1,kind:r.kind,file:r.file,includePoster:r.kind==="video",...r.kind==="video"?ep:{}},r.signal);return r.kind==="video"?{width:u.width,height:u.height,...u.duration===void 0?{}:{duration:u.duration},...u.posterData===void 0?{}:{posterData:new Uint8Array(u.posterData)}}:{width:u.width,height:u.height}},Xe=e$1.coreClient===void 0?void 0:d({client:e$1.coreClient,crypto:he,clientType:i,onError:(r,u)=>a$1?.("crypto",{message:r,cause:u})}),jr=e$1.coreClient===void 0?void 0:g({client:e$1.coreClient,clientType:i,onError:(r,u)=>a$1?.("crypto",{scope:"send-key",message:r,cause:u})}),Ne=e$1.http??u({getBaseUrl:()=>e$1.endpointProvider.getCmHttpBaseUrl(),getAuth:async()=>{let r=await d$2.getLoginContext();return r===null?null:{userId:r.userId,token:r.token}},getClientType:()=>i}),We=e$1.coreClient===void 0?void 0:e({client:e$1.coreClient,crypto:he,clientType:i,onError:(r,u)=>a$1?.("crypto",{scope:"group-key",message:r,cause:u})}),ge=e$1.channelKeyService??(e$1.coreClient===void 0?void 0:a({loadSecretKey:r=>ca(e$1.coreClient,{channelId:r,clientType:i}),onError:(r,u)=>a$1?.("crypto",{scope:"channel-key",message:r,cause:u})})),Hr=async r=>{if(ge===void 0)return;let u=ge.getCachedChannelKey(r)===null;try{await ge.getChannelKey(r);}catch{return}if(!(!u||!j))try{await gt({conversationType:"channel",conversationId:r},{recoverLegacyWithoutSidecar:!1});}catch(x){n$1.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${r}\uFF09`,cause:x}});}},zr=async r=>ge===void 0?null:ge.getChannelKey(r),Vr=r=>{if(ge===void 0)return null;let u=ge.getCachedChannelKey(r);return u===null&&Hr(r),u},jt=()=>Xe?.getCachedPrivateKey(b)?.privateKey??null,Fc=()=>({crypto:he,resolveChannelKey:Vr,resolveUserPrivateKey:jt,onDecryptRecovery:v$2,onDecryptError:r=>{let u=ge!==void 0&&h$1?.saveDecryptRecovery===void 0&&r.encrypt===2&&r.reason==="decrypt-failed";if(C("live",{...r,forceRefreshAttempted:u}),!u)return;let x=ge.getCachedChannelKey(r.channelId)??void 0;ge.getChannelKey(r.channelId,{staleKey:x}).catch(()=>{});}}),Tn=async r=>{let u=[];ge!==void 0&&u.push(...[...new Set(r)].map(x=>Hr(x))),Xe!==void 0&&b!==""&&u.push(Xe.getUserPrivateKey(b).catch(()=>null)),await Promise.all(u);},_n=r=>({crypto:he,resolveChannelKey:u=>ge?.getCachedChannelKey(u)??null,resolveUserPrivateKey:jt,onDecryptError:u=>C(r,u),onDecryptRecovery:v$2});function pt(r){We!==void 0&&r!==""&&We.getGroupKeys(r);}let Wr=async r=>{if(We===void 0)return null;let u=await We.getGroupKeys(r);return u===null?null:{publicKey:u.publicKey,version:u.version}},qr=r=>{if(We===void 0)return null;let u=We.getCachedGroupKeys(r);return u!==null?u.privateKey:(pt(r),null)},Hn=async r=>{We!==void 0&&await Promise.all(r.map(u=>We.getGroupKeys(u).catch(()=>null)));},Kc=()=>({crypto:he,resolvePrivateKey:({groupId:r})=>qr(r),preparePrivateKey:async({groupId:r})=>We===void 0?null:(await We.getGroupKeys(r))?.privateKey??null,onDecryptError:r=>p("live",r),onDecryptRecovery:v$2}),zn=r=>({crypto:he,resolvePrivateKey:({groupId:u})=>qr(u),onDecryptError:u=>p(r,u),onDecryptRecovery:v$2}),mt=new Map,Dn=new Map,Ht=new Set,zt=new Set;function ft(r){return r.encryption.decryptFailed!==true&&r.contentType!=="unknown"}function Uc(r,u){let x=Ba$1(r),H=Dn.get(x)??new Set;H.add(u),Dn.set(x,H);}function $r(r){Dn.delete(Ba$1(r));}function Bc(r,u){return r.length===u.length&&r.every((x,H)=>x===u[H])}function Jr(r){if(r.conversation.conversationType==="group")return We?.getCachedGroupKeyVersion(r.conversation.conversationId)??void 0}function kn(r){return r.wireEncrypt===2?"channel-base64-pad-tea":r.conversation.conversationType==="group"?"group-rsa-tea":r.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Gc(r){return r.contentType===101?Number.isInteger(r.type)&&r.type>0:r.contentType===27?r.gameType===0n?r.gameValue>=1n&&r.gameValue<=3n:r.gameType===1n&&r.gameValue>=1n&&r.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(r.contentType)}async function Yr(r){let u=`${r.conversation.conversationType}:${r.conversation.conversationId}:${r.messageId}`,x=mt.get(u);if(x!==void 0)return x;let H=(async()=>{let re=l$2.getConversationMessage(r.conversation,r.messageId),oe=J$1(r);if(re===void 0||re.encryption.decryptFailed!==true&&!oe){await h$1?.deleteDecryptRecovery?.(r.conversation,r.messageId);return}w.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:r.conversation,data:{messageId:r.messageId,messageSenderId:re.senderId,messageCreatedAt:re.createdAt,selfMessage:re.senderId===b,source:r.source,wireEncrypt:r.wireEncrypt,sContentBytes:r.sContent.length,...r.cmdId===void 0?{}:{cmdId:r.cmdId},...r.encryptVersion===void 0?{}:{encryptVersion:r.encryptVersion}}}));let W,X,ne="key-resolve",se=kn(r);for(let ye of [false,true]){let xe=ye?"force":"current",fe;try{ne="bcontent";let Le=d$1.decode(r.sContent);if(r.wireEncrypt===1){if(Le.secretKey.length===0||Le.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");ne="key-resolve";let Ze=ye?{...typeof X=="string"?{staleKey:X}:{}}:void 0,en=r.conversation.conversationType==="group"?(await We?.getGroupKeys(r.conversation.conversationId,Ze))?.privateKey??null:(await Xe?.getUserPrivateKey(b,Ze))?.privateKey??null;ye&&X!==void 0&&(fe=typeof X=="string"&&en!==null&&X!==en),fe===!0&&$r(r.conversation),ye||(X=en);let dn=Jr(r);if(en===null){w.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"no-key",...dn===void 0?{}:{resolvedKeyVersion:dn},...fe===void 0?{}:{keyChanged:fe}}}));continue}ne="rsa";let k=he.rsaDecryptPkcs1({data:Le.secretKey,privateKey:en});if(k.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${k.length} < 16`);ne="tea";let Q=he.decryptSymmetric({teaKey:k,cipherData:Le.cipherData});w.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:kn(r),rsaCipherBytes:Le.secretKey.length,cipherDataBytes:Le.cipherData.length,cipherDataBlockRemainder:Le.cipherData.length%8,resolvedTeaBytes:k.length,plainBytes:Q.length,plainBlockRemainder:Q.length%8,startsWithContentTypeField:Q[0]===8,startsWithMobileCardType:Q[0]===8&&Q[1]===8,...wc(Q)}})),ne="bmessage",W=c.decode(Q);}else if(r.conversation.conversationType==="channel"){if(Le.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");ne="key-resolve";let Ze=ye?{...X instanceof Uint8Array?{staleKey:X}:{}}:void 0,en=ge?.getChannelKeyCandidates===void 0?await ge?.getChannelKey(r.conversation.conversationId,Ze).then(Q=>[{strategy:"canonical-base64-pad",key:Q}])??[]:await ge.getChannelKeyCandidates(r.conversation.conversationId,Ze),dn=ge?.getCachedChannelKeyMetadata?.(r.conversation.conversationId);dn!=null&&w.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:r.conversation,data:{messageId:r.messageId,attempt:xe,...dn}}));let k=en.find(Q=>Q.strategy==="canonical-base64-pad")?.key??null;if(ye&&X instanceof Uint8Array&&k!==null&&(fe=!Bc(X,k)),fe===!0&&$r(r.conversation),ye||(X=k?.slice()??null),en.length===0){w.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"no-key",...fe===void 0?{}:{keyChanged:fe}}}));continue}for(let Q of en)try{ne="tea";let ve=he.decryptSymmetric({teaKey:Q.key,cipherData:Le.cipherData});ne="bmessage";let be=c.decode(ve);if(Q.strategy==="legacy-ascii16"&&!Gc(be))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");W=be,se=Q.strategy,w.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:Q.strategy,finalStage:"recovered",reason:"recovered",...fe===void 0?{}:{keyChanged:fe}}}));break}catch(ve){w.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:Q.strategy,finalStage:ne,reason:"decrypt-failed",...fe===void 0?{}:{keyChanged:fe}},error:{message:"CHANNEL decrypt recovery candidate failed",data:ve}}));}}if(W!==void 0){w.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:se,finalStage:"recovered",reason:"recovered",...fe===void 0?{}:{keyChanged:fe}}}));break}}catch(Le){let Ze=Jr(r);w.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"decrypt-failed",...Ze===void 0?{}:{resolvedKeyVersion:Ze},...fe===void 0?{}:{keyChanged:fe}},error:{message:"IM message decryption recovery failed",data:Le}}));}}if(!j||W===void 0){W===void 0&&(Uc(r.conversation,r.messageId),w.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,strategy:kn(r),attempts:2,finalStage:ne}})));return}let de=l$2.getConversationMessage(r.conversation,r.messageId);if(de===void 0||de.encryption.decryptFailed!==true&&!oe)return;let Me=r.conversation.conversationType==="channel"&&(r.cmdId===12804||W.contentType===101)?z$1({channelId:BigInt(r.conversation.conversationId),messageId:r.messageId,occurredAt:BigInt(de.serverTime??de.createdAt),notifyType:W.type,operatorId:W.oprUserId,targetUserIds:W.mnpledUserId,content:W.content,...typeof de.extensions?.historyCursor=="string"?{historyCursor:de.extensions.historyCursor}:{},...typeof de.extensions?.channelSequence=="string"?{sequence:BigInt(de.extensions.channelSequence)}:{},encrypted:true},{cmdId:r.cmdId,keepRaw:de.raw!==void 0}):{...J(de,W,b),...oe?{edited:true}:{}};l$2.upsertMessages([Me],"offline"),await h$1?.deleteDecryptRecovery?.(r.conversation,r.messageId);})().finally(()=>{mt.get(u)===H&&mt.delete(u);});return mt.set(u,H),H}async function gt(r,u={}){let x=Ba$1(r),H=await h$1?.getDecryptRecoveries?.(r)??[],re=Dn.get(x),oe=re===void 0?H:H.filter(se=>!re.has(se.messageId));if(await Promise.all(oe.map(Yr)),!j||u.recoverLegacyWithoutSidecar===false)return;let W=Dn.get(x),X=new Set(H.filter(se=>W===void 0||!W.has(se.messageId)).map(se=>se.messageId)),ne=l$2.getMessagesByConversation(r).filter(se=>se.encryption.decryptFailed===true&&!X.has(se.id));if(!(ne.length===0||Ht.has(x))){Ht.add(x),w.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:r,data:{stuckCount:ne.length,withoutSidecar:ne.filter(se=>!H.some(de=>de.messageId===se.id)).length}}));try{if(r.conversationType==="channel"){let se=await d$2.getLoginContext();if(se===null||L===void 0)return;for(let de of ne.slice(0,Zu)){let Me=de.extensions?.historyCursor;if(typeof Me!="string"||Me.trim()==="")continue;let ye=await L(r.conversationId,Me,se.userId);if(!j)return;ye.length>0&&l$2.upsertMessages(ye,"offline");}}else r.conversationType==="group"?await jc({conversationType:"group",conversationId:r.conversationId},ne):r.conversationType==="direct"&&await po();}catch(se){n$1.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${r.conversationType}, conversationId=${r.conversationId}\uFF09`,cause:se}});}}}async function jc(r,u){if(S===void 0)return;let x=[...u].sort((X,ne)=>X.sortKey.localeCompare(ne.sortKey)),H=x[0],re=x.at(-1);if(H===void 0||re===void 0)return;let oe=H.serverTime??H.createdAt,W;for(let X=0;X<Qu;X++){let ne=await S({conversation:r,oldestLoaded:re,...W===void 0?{}:{cursor:W},intent:"older",limit:Xu});if(!j||ne.exhausted||ne.nextCursor===void 0)return;let se=Number(ne.nextCursor);if(Number.isFinite(se)&&se<=oe)return;W=ne.nextCursor;}}let je=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};S=async({conversation:r,oldestLoaded:u,cursor:x,intent:H,limit:re})=>{let{conversationId:oe}=r,W=l$2.getSession(r);if(W===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${oe}\uFF09`);if(W.type==="direct")return {messages:[],exhausted:true};if(W.type==="group"){if(W.groupState!==void 0&&W.groupState!=="active")return {messages:[],exhausted:true};let X=await d$2.getLoginContext();if(X===null)return {messages:[],exhausted:true};let ne=H==="establish-latest"?Date.now():x===void 0?u?.serverTime??u?.createdAt??Date.now():Tc(x,oe),se=await Ea$1({http:Ne,userId:X.userId,clientType:i,groupId:oe,baseTime:ne,direct:1,limit:re,decryptDeps:zn("history"),prepareKeys:Hn,onReaction:je});se.messages.length>0&&l$2.upsertMessages(se.messages,"offline");let de=se.oldestEntryTime,Me=se.batchSize<re||de===void 0||de>=ne;return {messages:se.messages,exhausted:Me,...Me?{}:{nextCursor:String(de)},...H==="establish-latest"?{replaceWindow:true}:{}}}if(W.type==="channel"){let X=g$1("history");if(W.channelState!==void 0&&Be(W.channelState))return w.record("info","sdk","history","channel-history-blocked",()=>({conversation:r,operationId:X,data:{state:W.channelState}})),{messages:[],exhausted:true};let ne=B$1,se=ie(oe),de=await d$2.getLoginContext();if(de===null)return {messages:[],exhausted:true};if(H==="establish-latest"){let fe=await wa$1({http:Ne,userId:de.userId,clientType:i,channelId:oe,count:Un,operationId:X,decryptDeps:_n("history"),prepareKey:ge===void 0&&Xe===void 0?void 0:Ze=>Tn([Ze]),onContentDecodeError:I,onReaction:je}),Le=l$2.getSession(r);return !j||ne!==B$1||se!==ie(oe)||Le?.type!=="channel"||Le.channelState!==void 0&&Be(Le.channelState)?{messages:[],exhausted:true}:(fe.messages.length>0&&l$2.upsertMessages(fe.messages,"offline"),{messages:fe.messages,exhausted:!fe.hasOlder,...fe.nextCursor===void 0?{}:{nextCursor:fe.nextCursor},replaceWindow:true})}let Me=x??"";if(x===void 0&&u!==void 0){let fe=u.extensions?.historyCursor;if(typeof fe=="string"&&fe.trim()!=="")Me=fe;else if(!tp(u,de.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${oe}, messageId=${u.id}\uFF09`)}w.record("debug","sdk","history","channel-history-page-start",()=>({conversation:r,operationId:X,data:{baseIndexPresent:Me!=="",direction:1,contain:0,count:Un,historyGeneration:ne,historyEpoch:se,clientTypeHeader:i,clientTypeBody:i}}));let ye;try{ye=await xa$1({http:Ne,userId:de.userId,clientType:i,channelId:oe,baseIndex:Me,count:Un,contain:0,operationId:X,decryptDeps:_n("history"),prepareKey:ge===void 0&&Xe===void 0?void 0:fe=>Tn([fe]),onContentDecodeError:I,onReaction:je});}catch(fe){throw w.record("error","sdk","history","channel-history-page-failed",()=>({conversation:r,operationId:X,data:{baseIndexPresent:Me!=="",direction:1,contain:0,count:Un},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:fe}})),fe}let xe=l$2.getSession(r);return !j||ne!==B$1||se!==ie(oe)||xe?.type!=="channel"||xe.channelState!==void 0&&Be(xe.channelState)?{messages:[],exhausted:true}:(ye.messages.length>0&&l$2.upsertMessages(ye.messages,"offline"),w.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:r,operationId:X,data:{responseBatchSize:ye.batchSize,messageCount:ye.messages.length,exhausted:ye.exhausted,nextBaseIndexPresent:ye.nextBaseIndex!==void 0}})),{messages:ye.messages,exhausted:ye.exhausted,...ye.nextBaseIndex===void 0?{}:{nextCursor:ye.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${W.type}`)};let Vt=r=>{r.length>0&&l$2.upsertMessages(r,"offline",{backfillOnly:true});},Wt=async()=>{let r=await d$2.getLoginContext();if(r===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:r.userId}},Hc=async r=>{let{userId:u}=await Wt(),x=await ra$1({http:Ne,userId:u,clientType:i,messageIds:r,decryptDeps:await er(u),onReaction:je});return Vt(x.messages),{messages:x.messages,missingMessageIds:x.missingMessageIds}},zc=async(r,u)=>{let{userId:x}=await Wt(),H=await sa$1({http:Ne,userId:x,clientType:i,groupId:r,messageIds:u,decryptDeps:zn("history"),prepareKeys:Hn,onReaction:je});return Vt(H.messages),{messages:H.messages,missingMessageIds:H.missingMessageIds}},Vc=async(r,u)=>{let{userId:x}=await Wt(),H=await ta({http:Ne,userId:x,clientType:i,channelId:r,messageIds:u,operationId:g$1("history"),decryptDeps:_n("history"),prepareKey:ge===void 0&&Xe===void 0?void 0:re=>Tn([re]),onContentDecodeError:I,onReaction:je});return Vt(H.messages),{messages:H.messages,missingMessageIds:H.missingMessageIds}},Wc=eb([cb({includeOppositeEnd:true}),db({resolveGroupKey:Wr}),bb({resolveChannelKey:zr})]),qc=Pa$1([Qa$1(),Ra(),Sa()]),$c=ha([ia(),ja(),ka({resolveChannelKey:zr,resolveProfile:r=>ce?.getProfile(r)??Promise.resolve(null)})]),He=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},On=()=>false,qt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Xr=()=>{},$t=()=>{},Vn={...l$2,removeConversationForMembershipTermination:(r,u)=>{Xr(r,u),r.conversationType==="group"?We?.clearGroupKeys(r.conversationId):ge?.clearChannelKey(r.conversationId),l$2.removeConversationForMembershipTermination(r,u),E.api.resetBackground(r).catch(x=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:x}}));}},Wn=Ha({domainState:l$2,sendFrame:r=>He(r),getSelfId:()=>b,isAuthenticated:()=>On(),reportReaction:r=>Ye.reportReaction(r),isEmojiSupported:as,logger:a$1});je=r=>{Wn.ingest(r,"offline");};let Jc=Ia({manager:Wn,getSelfId:()=>b,logger:a$1}),Yc=_a({domainState:l$2,outbox:{onChatAck:r=>qt(r)},sendFrame:r=>He(r),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Kc(),isActive:()=>j}),Xc=Va({domainState:l$2,outbox:{onChatAck:r=>qt(r)},sendFrame:r=>He(r),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Fc()}),Qc=Ua$1({domainState:l$2,sendFrame:r=>He(r),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true,decrypt:{crypto:he,resolveChannelKey:Vr,resolveUserPrivateKey:jt,onDecryptRecovery:v$2}}),Zc=Ta({getSelfId:()=>b,sendFrame:r=>He(r),emitter:n$1}),ed=$a({emitter:n$1,getSelfId:()=>b}),nd=Ya$1({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>b,domainState:{reconcileDirectContactEstablishedNotice:l$2.reconcileDirectContactEstablishedNotice,removeConversation:(r=>{if(typeof r=="string"){l$2.removeConversation(r);return}r.conversationType==="direct"&&A(r,"friend_relation_removed"),l$2.removeConversation(r);})},resetDirectReadReceiptPreference:r=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:M.updateRelationshipFromEvent}),td=ab({sendFrame:r=>He(r),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:l$2.applyTransferStatusBySerialNumber}}),rd=Xa$1({getSelfId:()=>b,sendFrame:r=>He(r),emitter:n$1}),od=Wa({getSelfId:()=>b,domainState:l$2,sendFrame:r=>He(r),emitter:n$1,onRelationshipChanged:M.updateRelationshipFromEvent}),Jt=l$1({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>b,isAuthenticated:()=>On(),domainState:l$2}),Yt=v$1({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>b,isAuthenticated:()=>On(),domainState:l$2}),Qr=[...Jt.handlers,...Yt.commandHandlers],ad=2e3,qn,Xt=false,Zr=new Set;async function eo(){if(Xt||!j||!On())return;let r=await d$2.getLoginContext();if(r!==null){Xt=true;try{let u=[];for(;;){let x=await Fa$1({http:Ne,userId:r.userId,clientType:i,deliveredMsgIds:u});w.record("info","sdk","call","signal-offline-pull",()=>({data:{count:x.items.length,cmdIds:x.items.map(H=>`0x${H.cmdId.toString(16)}`)}})),x.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let H of x.items){if(n$1.emit({type:"notification",cmdId:H.cmdId,name:"OFFLINE_SIGNAL"}),H.msgId!==""&&Zr.has(H.msgId))continue;H.msgId!==""&&Zr.add(H.msgId);let re=Qr.find(oe=>oe.command===H.cmdId);re!==void 0&&re.handler(H.cmdId,H.body);}if(x.deliveredMsgIds.length===0)break;u=x.deliveredMsgIds;}}catch(u){n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:u}});}finally{Xt=false;}}}function id(){eo(),qn===void 0&&(qn=setInterval(()=>{eo();},ad));}function no(){qn!==void 0&&clearInterval(qn),qn=void 0;}let sd=Za({domainState:l$2,sendFrame:r=>He(r),getSelfId:()=>b,emitter:n$1,logger:a$1,keepRaw:true}),cd=Fa({domainState:Vn,getSelfId:()=>b,prefetchGroupKey:pt,clearGroupKeys:r=>{We?.clearGroupKeys(r);},clearConversationTermination:r=>$t(r)}),dd=n$1.subscribe(r=>{(r.type==="message:received"||r.type==="message:updated")&&cd.handleMessage(r.message);}),to=xa({domainState:Vn,getSelfId:()=>b,prepareChannelKey:r=>{w.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:ge!==void 0&&ge.getCachedChannelKey(r)!==null}})),ge!==void 0&&ge.getChannelKey(r).catch(()=>{});},clearChannelKey:r=>{let u=ge!==void 0&&ge.getCachedChannelKey(r)!==null;ge?.clearChannelKey(r),w.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:u}}));},clearConversationTermination:r=>$t(r),stopChannelHistory:r=>{let u=ie(r);ue(r),l$2.messageWindow.info().conversationId===r&&l$2.messageWindow.reset(),w.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:r},data:{previousEpoch:u,nextEpoch:ie(r)}}));}}),ld=n$1.subscribe(r=>{if(r.type==="message:received"||r.type==="message:updated"){let u=r.message;u.conversationType==="channel"&&u.body.system?.eventType!==void 0&&w.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:u.conversationId},messageId:u.id,data:{eventType:u.body.system?.eventType,source:r.source??"live",targetSelf:u.body.system?.targetUserIds?.includes(b)??false,lifecycleEffects:r.channelLifecycleEffects===true,stateBefore:l$2.getSession({conversationType:"channel",conversationId:u.conversationId})?.channelState??"missing"}})),to.handleMessage(r.message,{source:r.source??"live",applyLifecycleEffects:r.channelLifecycleEffects});}}),ud=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"]),pd=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),md=n$1.subscribe(r=>{if(r.type!=="message:received"&&r.type!=="message:updated"||(r.source??"live")!=="live"&&r.channelLifecycleEffects!==true)return;let u=r.message,x=u.body.system?.eventType;u.conversationType==="channel"&&x!==void 0&&(ud.has(x)&&me?.invalidateChannelMembers(u.conversationId).catch(H=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:H}});}),pd.has(x)&&Pe.invalidate(u.conversationId).catch(H=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:H}});}));}),ro=Yi({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:l$2,emitter:n$1}),oo=Ns({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:l$2,emitter:n$1}),hn=Ls({...yn===void 0?{}:{joinApplications:yn},http:Ne,clientType:i,buildOfflineDecrypt:()=>_n("history"),onContentDecodeError:I,onReaction:je,...ge===void 0&&Xe===void 0?{}:{prepareKey:r=>Tn([r])}});L=async(r,u,x)=>{let{context:H}=await hn.loadMessageContext(r,u,x);return H.messages};let fd=Fs({authProvider:d$2,emitter:n$1,domainState:l$2,loadMessageContext:hn.loadMessageContext,isActive:()=>j,getHistoryGeneration:()=>B$1,getHistoryEpoch:ie}),Qt=Ka({domainState:l$2,updateReadIndex:async({channelId:r,readCursor:u})=>{let x=await d$2.getLoginContext();if(x===null)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Q({http:Ne,userId:x.userId,indexes:[{channelId:r,readCursor:u}]});},emitter:n$1,logger:a$1,syncRead:{getSelfId:()=>b,sendFrame:r=>He(r)}}),gd=Ja({getSelfId:()=>b,applyRemoteRead:r=>Qt.applyRemoteRead(r),emitter:n$1,logger:a$1}),Id=Oa$1([Na({domainState:l$2,markGroupReadAll:async r=>{let u=await d$2.getLoginContext();if(u===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja$1({http:Ne,userId:u.userId,groupId:r});},emitter:n$1,logger:a$1,isAuthenticated:()=>On(),syncRead:{getSelfId:()=>b,sendFrame:r=>He(r)}}),Qt]),$n=jb({getSelfId:()=>b,sendFrame:r=>He(r),onListenerError:()=>n$1.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),yd=n$1.subscribe(r=>{r.type==="connection:changed"&&r.state!=="authenticated"&&$n.setAuthenticated(false);}),pe=fb({transport:s$1,authProvider:d$2,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:l$2,logger:a$1,decrypt:{crypto:he,resolvePrivateKey:({msgType:r})=>r===1?Xe?.getCachedPrivateKey(b)?.privateKey??null:null,onDecryptError:r=>o$1("live",r),onDecryptRecovery:v$2},encryptSend:jr===void 0&&ge===void 0?void 0:{crypto:he,resolvePublicKey:r=>jr?.getPeerPublicKey(r)??Promise.resolve(null),resolveGroupKey:Wr},media:we!==void 0?{transfer:we,preview:Ve,onTransferError:r=>{w.record("error","core","media","media-transfer-failed",()=>({conversation:r.conversation,data:{stage:r.stage,kind:r.kind,messageId:r.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:r.cause}}));},onAlbumContentSize:r=>{w.record(r.outcome==="rejected"?"error":"warn","core","media",r.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:r.conversation,data:{messageId:r.messageId,itemCount:r.itemCount,...r.contentBytes===void 0?{}:{contentBytes:r.contentBytes}},...r.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:r.cause}}}));},...T===void 0?{}:{assetCache:T,onAssetCacheError:r=>{w.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:r.operation,kind:r.kind,messageId:r.messageId,byteLength:r.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:r.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:Wc,commandHandlers:[...$n.commandHandlers,...nd,...ed,...td,...rd,...od,...Qr,...Jc,...Yc,...sd,...Xc,...Qc,...Zc,...gd],readStrategies:Id,canSendDirectReadReceipt:r=>{if(!O.isDirectReadReceiptEnabled(r))return false;let u=M.peekRelationship(r);if(!(u===void 0||u==="unknown"))return u==="friend"},recallStrategies:qc,channelMessageDeletion:{resolveProfile:r=>ce?.getProfile(r)??Promise.resolve(null),onPermissionDenied:r=>l$2.refreshConversationProfile(r,"channel")},editStrategies:$c,storage:h$1,onAuthenticated:()=>{$n.setAuthenticated(true);let r=z$2;z$2=true,(r||te==="auto")&&co().catch(()=>{}),id();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);m$1=r=>pe.suppressDirectReadReceipts(r),P=r=>pe.resumeDirectReadReceipts(r),He=pe.sendFrame,On=()=>pe.state==="authenticated",qt=pe.onChatAck,A=pe.terminateConversationSending,Xr=pe.markOutboxConversationTerminated,$t=pe.clearOutboxConversationTerminated;let ao=Ss({operations:{getPending:pe.getPendingOutbox,retry:pe.retryOutboxMessage,cancel:pe.cancelOutboxMessage},emitter:n$1,isActive:()=>j}),Re=js({connection:pe,domainState:l$2,crypto:he,...we===void 0?{}:{mediaTransfer:we},prepareDirectReadReceipt:async r=>{try{await M.ensureRelationship(r);}catch(u){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:r,error:u}}});}}}),Zt=Ms({connection:pe,domainState:l$2,emitter:n$1,isActive:()=>j,preparePreview:nn,onLocalPreviewError:({kind:r,byteLength:u,cause:x})=>{w.record("warn","sdk","media","local-preview-failed",()=>({generation:c$1,data:{kind:r,byteLength:u},error:{message:x instanceof Error?x.message:String(x)}}));},...T===void 0?{}:{assetCache:T,onAssetCacheEvent:r=>{w.record(r.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${r.operation}-${r.outcome}`,()=>({data:{operation:r.operation,outcome:r.outcome,kind:r.kind,messageId:r.messageId,...r.byteLength===void 0?{}:{byteLength:r.byteLength}},...r.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:r.cause}}}));}},...we===void 0?{}:{loaders:{loadImage:Re.operations.loadImage,loadVideo:Re.operations.loadVideo,loadVoice:Re.operations.loadVoice,loadFile:Re.operations.loadFile}}});In=()=>{pe.invalidateMediaAssetCacheWrites(),Zt.clearCache();};let io=Va$1({onOnline:()=>pe.notifyOnline(),onOffline:()=>pe.notifyOffline(),onVisible:()=>pe.notifyVisible(),onPageHide:()=>{ae&&pe.suspendForPageLifecycle();},onPageShow:()=>{ae&&(pe.resumeFromPageLifecycle(),pe.notifyVisible());}},e$1.network);async function er(r){let u=await Xe?.getUserPrivateKey(r)??null;return {crypto:he,resolvePrivateKey:({msgType:x})=>x===1?u?.privateKey??null:null,onDecryptError:x=>o$1("offline",x,r),onDecryptRecovery:v$2}}function so(r,u){return {endpoint:r,pullBatch:async({deliveredMsgInfos:x,limit:H})=>{let re=await d$2.getLoginContext();if(re===null)throw new Error(`sync(${r}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let oe=await er(re.userId);return u({http:Ne,userId:re.userId,clientType:i,decryptDeps:oe,deliveredMsgInfos:x,...H===void 0?{}:{limit:H},onReaction:je})}}}let hd=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:r,limit:u})=>{let x=await d$2.getLoginContext();if(x===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Ca({http:Ne,userId:x.userId,clientType:i,decryptDeps:zn("offline"),prepareKeys:Hn,deliveredMsgInfos:r,...u===void 0?{}:{limit:u},onReaction:je})}});async function vd(){let r=await d$2.getLoginContext();if(r===null)return;let u=await Da({http:Ne,userId:r.userId,clientType:i,decryptDeps:zn("offline"),prepareKeys:Hn,onReaction:je});for(let x of u.unreads)l$2.applyServerUnread({conversationType:"group",conversationId:x.groupId},x.unreadCount),pt(x.groupId);u.messages.length>0&&l$2.upsertMessages(u.messages,"offline");}async function Cd(){let r=g$1("sync");w.record("info","sdk","sync","channel-sync-start",()=>({operationId:r,data:{clientTypeHeader:i,sessionsClientTypeBody:"absent",offlineClientTypeBody:i}}));try{await Md(r);}catch(u){throw w.record("error","sdk","sync","channel-sync-failed",()=>({operationId:r,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:u}})),u}}async function Md(r){if(ce===void 0){w.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:r,data:{reason:"profile-unavailable"}}));return}let u=await d$2.getLoginContext();if(u===null){w.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:r,data:{reason:"auth-unavailable"}}));return}let x=await ce.listProfiles({forceRefresh:true});if(x.length===0){w.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let H=new Map(x.map(k=>[k.id,k]));for(let k of x){if(F(k.channelState)){ge?.clearChannelKey(k.id),Vn.removeConversationForMembershipTermination({conversationType:"channel",conversationId:k.id},`channel_${k.channelState}`);continue}let Q=k.permissions.sendMessages?void 0:`channel_${k.channelState}`;l$2.setChannelRestriction(k.id,k.channelState,Q,{permissions:k.permissions,...k.accessSnapshot===void 0?{}:{snapshot:k.accessSnapshot}}),l$2.updateConversationProfile(k.id,{title:k.name,avatar:k.avatar}),k.muted!==void 0&&l$2.setMuted(k.id,k.muted);}let re=new Map(x.map(k=>{let Q=l$2.getReadState(k.id),ve=l$2.getSession(k.id);return [k.id,{readCursor:Q?.readCursor??ve?.readCursor??"",unreadCount:ve?.unreadCount??Q?.unreadCount??0,mentionUnreadCount:ve?.mentionUnreadCount??Q?.mentionUnreadCount??0}]})),oe=x.map(k=>({channelId:k.id,readCursor:re.get(k.id).readCursor}));w.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:r,data:{channelCount:oe.length,channelsWithReadCursor:oe.filter(k=>k.readCursor!=="").length,clientTypeHeader:i,clientTypeBody:i}}));let W=await ua({http:Ne,userId:u.userId,clientType:i,channels:oe,operationId:r,decryptDeps:_n("offline"),prepareKeys:k=>Tn(k.filter(Q=>{let ve=H.get(Q)?.channelState;return ve===void 0||!Be(ve)})),onContentDecodeError:I,onReaction:je});w.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:r,data:{sessionCount:W.length,lastMessageCount:W.filter(k=>k.last!==void 0).length,decryptFailedLastCount:W.filter(k=>k.last?.encryption.decryptFailed===true).length,unknownContentLastCount:W.filter(k=>k.last?.contentType==="unknown"&&k.last.encryption.decryptFailed!==true).length}}));let X=new Set(W.filter(k=>{let Q=re.get(k.channelId),ve=l$2.getReadState(k.channelId),be=l$2.getSession(k.channelId);return Q===void 0||(ve?.readCursor??be?.readCursor??"")!==Q.readCursor||(be?.unreadCount??ve?.unreadCount??0)!==Q.unreadCount||(be?.mentionUnreadCount??ve?.mentionUnreadCount??0)!==Q.mentionUnreadCount}).map(k=>k.channelId)),ne=W.filter(k=>l$2.getSession(k.channelId)!==void 0).map(k=>{let ve=H.get(k.channelId)?.channelState,be=ve!==void 0&&Be(ve)?ve:Be(k.channelState)?k.channelState:ve??k.channelState,Qn=be==="active"?void 0:be===k.channelState?k.sendDisabledReason:`channel_${be}`;return {...k,channelState:be,sendDisabledReason:Qn}});for(let k of ne){let Q=H.get(k.channelId);l$2.setChannelRestriction(k.channelId,k.channelState,k.sendDisabledReason,Q===void 0?void 0:{permissions:Q.permissions,...Q.accessSnapshot===void 0?{}:{snapshot:Q.accessSnapshot}}),Q!==void 0&&(l$2.updateConversationProfile(k.channelId,{title:Q.name,avatar:Q.avatar}),Q.muted!==void 0&&l$2.setMuted(k.channelId,Q.muted)),X.has(k.channelId)||l$2.applyServerUnread({conversationType:"channel",conversationId:k.channelId},k.unreadCount,void 0,k.readCursor),Be(k.channelState)&&ge?.clearChannelKey(k.channelId);}let se=ne.filter(k=>!X.has(k.channelId)&&!Be(k.channelState)&&k.unreadCount>0&&k.readCursor!=="");w.record("debug","sdk","sync","channel-offline-plan",()=>{let k={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let Q of ne)X.has(Q.channelId)?k.staleRead+=1:Be(Q.channelState)?k.historyBlocked+=1:Q.unreadCount<=0?k.zeroUnread+=1:Q.readCursor===""&&(k.emptyReadCursor+=1);return {operationId:r,data:{acceptedSessionCount:ne.length,eligibleChannelCount:se.length,staleReadSkippedCount:k.staleRead,historyBlockedSkippedCount:k.historyBlocked,zeroUnreadSkippedCount:k.zeroUnread,emptyReadCursorSkippedCount:k.emptyReadCursor,direction:0,contain:0,count:Un}}});let de=await va$1({http:Ne,userId:u.userId,clientType:i,operationId:r,pulls:se.map(k=>({channelId:k.channelId,baseIndex:k.readCursor})),messageCount:Un,decryptDeps:_n("offline"),prepareKeys:Tn,onContentDecodeError:I,onReaction:je}),Me=ne.flatMap(k=>{let Q=k.last;if(Q===void 0||ft(Q))return [];let ve=Q.extensions?.historyCursor;return [{summary:k,last:Q,historyCursor:typeof ve=="string"?ve.trim():""}]}),ye=(k,Q)=>`${k}:${Q}`,xe=new Map,fe=new Set;for(let{summary:k,last:Q}of Me){let ve=l$2.getConversationMessage({conversationType:"channel",conversationId:k.channelId},Q.id);if(ve===void 0||!ft(ve))continue;let be=ye(k.channelId,Q.id);xe.set(be,ve),fe.add(be);}for(let k of de)ft(k)&&xe.set(ye(k.conversationId,k.id),k);let Le=Me.filter(({summary:k,last:Q,historyCursor:ve})=>ve!==""&&!X.has(k.channelId)&&!Be(k.channelState)&&!xe.has(ye(Q.conversationId,Q.id))&&!zt.has(ye(Q.conversationId,Q.id))),Ze=Me.filter(({summary:k,last:Q})=>!X.has(k.channelId)&&!Be(k.channelState)&&!fe.has(ye(Q.conversationId,Q.id))&&xe.has(ye(Q.conversationId,Q.id))).length;w.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:r,data:{unusableLastCount:Me.length,decryptFailedLastCount:Me.filter(({last:k})=>k.encryption.decryptFailed===true).length,unknownContentLastCount:Me.filter(({last:k})=>k.contentType==="unknown"&&k.encryption.decryptFailed!==true).length,localRecoveredCount:fe.size,offlineRecoveredCount:Ze,contextRecoveryCount:Le.length,staleReadSkippedCount:Me.filter(k=>X.has(k.summary.channelId)).length,historyBlockedSkippedCount:Me.filter(k=>Be(k.summary.channelState)).length,missingHistoryCursorCount:Me.filter(k=>k.historyCursor==="").length}}));let en=await Promise.all(Le.map(async({summary:k,last:Q,historyCursor:ve})=>{try{let{message:be}=await hn.loadMessageContext(k.channelId,ve,u.userId),Qn=l$2.getSession({conversationType:"channel",conversationId:k.channelId});if(!j||Qn?.type!=="channel"||Qn.channelState!==void 0&&Be(Qn.channelState))return;if(be.conversationType!=="channel"||be.conversationId!==k.channelId||be.id!==Q.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${k.channelId}, messageId=${Q.id}\uFF09`);if(!ft(be)){if(be.contentType==="unknown"&&be.encryption.decryptFailed!==!0){zt.add(ye(be.conversationId,be.id)),w.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:k.channelId},data:{messageId:Q.id,reason:be.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${k.channelId}, messageId=${Q.id}\uFF09`)}return be}catch(be){w.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:k.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:be},data:{messageId:Q.id}}));return}}));for(let k of en)k!==void 0&&xe.set(ye(k.conversationId,k.id),k);let dn=[...ne.flatMap(k=>k.last===void 0?[]:[xe.get(ye(k.channelId,k.last.id))??k.last]),...de];dn.length>0&&l$2.upsertMessages(dn,"offline",{applyChannelLifecycleEffects:true}),w.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:x.length,terminalProfileCount:x.filter(k=>F(k.channelState)).length,sessionCount:W.length,acceptedSessionCount:ne.length,sessionLastCount:ne.filter(k=>k.last!==void 0).length,recoveredSessionLastCount:Me.filter(({last:k})=>xe.has(ye(k.conversationId,k.id))).length,offlineMessageCount:de.length}}));}let Jn=null,nr=false;function bd(){return Jn!==null?(nr=true,Jn):(Jn=(async()=>{let u;do{nr=false,u=void 0;try{await Cd();}catch(x){u=x;}}while(nr);if(u!==void 0)throw u})().finally(()=>{Jn=null;}),Jn)}let Sd=ob({pullers:[so("chat",ya),so("owner_chat",za),hd()],domainState:l$2,emitter:n$1,logger:a$1});async function co(){let r=vd().catch(x=>n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:x}})),u=bd().catch(x=>n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:x}}));await Promise.all([Sd.sync(),r,u]);}async function Pd(){if(N==="ready")return;N="preparing";let r=await d$2.getLoginContext();if(r!==null){if(b=r.userId,Xe!==void 0&&Xe.getUserPrivateKey(r.userId),h$1!==void 0)try{await h$1.open({namespace:r.userId});try{await O.hydrate();}catch(u){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:u}});}await l$2.hydrate();for(let u of l$2.getSessions())u.title===""&&u.type!=="supergroup"&&l$2.refreshConversationProfile(u.id,u.type);await pe.hydrateOutbox();}catch(u){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:u}});}if(We!==void 0)for(let u of l$2.getSessions())u.type==="group"&&pt(u.id);}N="ready";}function lo(){if(N==="ready")return Promise.resolve();if(V!==null)return V;let r=Date.now();return w.record("info","sdk","session","prepare-start"),V=Pd().then(()=>w.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-r}))).catch(u=>{throw w.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-r,error:{message:"IM prepare \u5931\u8D25",data:u}})),u}).finally(()=>{V=null;}),V}function Ad(r){if(ae=true,pe.state==="authenticated")return Promise.resolve();if(ee!==null)return ee;te=r?.initialSync??"auto",z$2=false;let u=Date.now();return w.record("info","sdk","connection","connect-start",()=>({data:{initialSync:te}})),ee=(async()=>{await lo(),io.start(),await pe.connect();})().then(()=>w.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-u}))).catch(x=>{throw w.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-u,error:{message:"IM connect \u5931\u8D25",data:x}})),x}).finally(()=>{ee=null;}),ee}function uo(r){w.record("info","sdk","connection","disconnect",()=>({data:{reason:r}})),ae=false,no(),pe.disconnect(r),io.stop();}async function Ed(r,u={}){let x=Date.now();w.record("info","sdk","session","teardown-start",()=>({data:{localData:r?.localData??"preserve",pendingMessages:r?.pendingMessages??"fail"}})),j=false,yd(),$n.dispose(),no(),Jt.dispose(),Yt.dispose(),Wn.dispose(),ao.dispose(),Zt.dispose(),De.dispose(),R.dispose(),M.dispose(),pe.disposeMediaTasks();for(let ne of G)ne.close();G.clear(),B$1+=1,pe.markOutboxForLogout(r?.pendingMessages??"fail"),ro.dispose(),oo.dispose(),hn.dispose(),Pe.dispose(),_e.dispose(),E.dispose();let H=O.dispose();U.dispose(),Z.dispose(),dd(),ld(),md(),to.dispose(),Qt.reset(),ge?.clearAll(),Dn.clear(),Ht.clear(),zt.clear(),uo("im-logout"),await l$2.invalidateAndDrainDraftOperations(),await H,l$2.clearSession();let re=r?.localData==="purge"?b:"",oe,W,X=true;if(h$1!==void 0)try{await h$1.close();}catch(ne){X=false,re!==""&&(oe=ne),u.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:re===""?"\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:ne}});}if(re!==""&&X)try{y!==void 0?await y.purgeCurrentAccount({namespaceFactory:t$1,accountId:re}):await Wa$1(re,{namespaceFactory:t$1}),W=re;}catch(ne){oe=ne,u.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ne}});}return N="empty",w.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-x,data:{purgedAccountId:W,purgeFailed:oe!==void 0}})),D(),_(),{...W===void 0?{}:{purgedAccountId:W},...oe===void 0?{}:{purgeError:oe}}}function Rd(){return {sessionState:N,connectionState:pe.state,...b!==""?{userId:b}:{},prepared:N==="ready",connectionDesired:ae,authenticated:pe.state==="authenticated"}}function wd(r){return n$1.subscribe(r)}function Td(){return {connectionState:pe.state,pendingOutbox:pe.getPendingOutbox()}}function _d(){return l$2.getConversationList()}K=async({conversation:r,newestLoaded:u,cursor:x,limit:H})=>{let{conversationId:re}=r,oe=l$2.getSession(r);if(oe===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${re}\uFF09`);if(oe.type==="direct")return {messages:[],exhausted:true};if(oe.type==="group"){if(oe.groupState!==void 0&&oe.groupState!=="active")return {messages:[],exhausted:true};let W=await d$2.getLoginContext();if(W===null)return {messages:[],exhausted:true};let X=x===void 0?u?.serverTime??u?.createdAt:Tc(x,re);if(X===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${re}, messageId=${u?.id??""}\uFF09`);let ne=await Ea$1({http:Ne,userId:W.userId,clientType:i,groupId:re,baseTime:X,direct:2,limit:H,decryptDeps:zn("history"),prepareKeys:Hn,onReaction:je});ne.messages.length>0&&l$2.upsertMessages(ne.messages,"offline");let se=ne.newestEntryTime,de=ne.batchSize<H||se===void 0||se<=X;return {messages:ne.messages,exhausted:de,...de?{}:{nextCursor:String(se)}}}if(oe.type==="channel"){if(oe.channelState!==void 0&&Be(oe.channelState))return {messages:[],exhausted:true};let W=x??u?.extensions?.historyCursor;if(typeof W!="string"||W.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${re}, messageId=${u?.id??""}\uFF09`);let X=B$1,ne=ie(re),se=await d$2.getLoginContext();if(se===null)return {messages:[],exhausted:true};let de=x===void 0?(await hn.loadMessageContext(re,W,se.userId)).context:await hn.loadNewerPage(re,W,se.userId),Me=l$2.getSession(r);return !j||X!==B$1||ne!==ie(re)||Me?.type!=="channel"||Me.channelState!==void 0&&Be(Me.channelState)?{messages:[],exhausted:true}:(de.messages.length>0&&l$2.upsertMessages(de.messages,"offline"),{messages:de.messages,exhausted:!de.hasNewer,...!de.hasNewer||de.nextCursor===void 0?{}:{nextCursor:de.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${oe.type}`)};async function po(){let r=await d$2.getLoginContext();if(r===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let u=await er(r.userId),x=await Aa({http:Ne,userId:r.userId,clientType:i,decryptDeps:u,onReaction:je}),H=await Ba({http:Ne,userId:r.userId,clientType:i,decryptDeps:u,onReaction:je}),re=[...x,...H];return l$2.upsertMessages(re,"offline"),re}async function Dd(){await co();}let kd=2;function Qe(r){let u=q({...r,operation:"openConversation"});return Object.assign(new Error(u.code),u,{name:"ImConversationOpenError"})}function Od(r){return r instanceof Error&&r.name==="ImConversationOpenError"&&typeof r.code=="string"}function xd(r){if(typeof r=="object"&&r!==null&&typeof r.code=="string"&&typeof r.category=="string"&&typeof r.retryable=="boolean"){let u=r;return {code:u.code,category:u.category,retryable:u.retryable}}return r instanceof m?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:r instanceof n||r instanceof Error&&r.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Yn(r){if(!j)throw Qe({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:r})}function Nd(r){let u=r?.conversationType,x=r?.conversationId;if(u==="supergroup")throw Qe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:r});if(u!=="direct"&&u!=="group"&&u!=="channel"||typeof x!="string"||x.trim()==="")throw Qe({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...r===void 0?{}:{conversation:r}});return Object.freeze({conversationType:u,conversationId:x.trim()})}function Xn(r,u){return {id:r.conversationId,type:r.conversationType,title:u.title.trim()||r.conversationId,...u.avatar===void 0?{}:{avatar:u.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:u.muted??false,...u.groupState===void 0?{}:{groupState:u.groupState},...u.channelState===void 0?{}:{channelState:u.channelState},...u.channelPermissions===void 0?{}:{channelPermissions:u.channelPermissions},...u.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:u.channelAccessSnapshot},...u.sendDisabledReason===void 0?{}:{sendDisabledReason:u.sendDisabledReason}}}async function Ld(r){let u=Nd(r);if(Yn(u),l$2.getSession(u)!==void 0)return u;try{if(u.conversationType==="direct"){let oe=_e.peekItem("individual",u.conversationId);if(oe!==void 0)return l$2.ensureConversation(Xn(u,{title:oe.displayName||oe.cardDisplayName,...oe.avatarUrl===void 0?{}:{avatar:oe.avatarUrl}})),u;let W=await M.getRelationship(u.conversationId);if(Yn(u),W!=="friend")throw Qe({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:u,details:Object.freeze({relationship:W})});let X=await M.getProfile(u.conversationId);if(Yn(u),X===null||X.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});return l$2.ensureConversation(Xn(u,{title:X.remark??X.nickname,...X.avatar===void 0?{}:{avatar:X.avatar},...X.muted===void 0?{}:{muted:X.muted}})),u}if(u.conversationType==="group"){let oe=_e.peekItem("group",u.conversationId);if(oe!==void 0)return l$2.ensureConversation(Xn(u,{title:oe.displayName||oe.cardDisplayName,...oe.avatarUrl===void 0?{}:{avatar:oe.avatarUrl},groupState:"active"})),u;if(Y===void 0)throw Qe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:u});let W=await Y.getGroupProfile(u.conversationId);if(Yn(u),W===null||W.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});if(W.isInGroup===!1||W.status!==void 0&&W.status!==kd)throw Qe({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:u,details:Object.freeze({...W.status===void 0?{}:{status:W.status},...W.isInGroup===void 0?{}:{isInGroup:W.isInGroup}})});return l$2.ensureConversation(Xn(u,{title:W.name,...W.avatar===void 0?{}:{avatar:W.avatar},...W.muted===void 0?{}:{muted:W.muted},groupState:"active"})),u}if(ce===void 0)throw Qe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:u});let x=await ce.getProfile(u.conversationId);if(Yn(u),x===null||x.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});let H=x.channelState==="active"||x.channelState==="muted",re=x.channelState==="muted"&&x.accessSnapshot?.allMembersMuted===!0&&x.role!=="owner"&&x.role!=="admin";if(!H||re)throw Qe({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:u,details:Object.freeze({channelState:x.channelState,role:x.role,hiddenByAllMemberMute:re})});return l$2.ensureConversation(Xn(u,{title:x.name,...x.avatar===void 0?{}:{avatar:x.avatar},...x.muted===void 0?{}:{muted:x.muted},channelState:x.channelState,channelPermissions:x.permissions,...x.accessSnapshot===void 0?{}:{channelAccessSnapshot:x.accessSnapshot},...x.permissions.sendMessages?{}:{sendDisabledReason:`channel_${x.channelState}`}})),u}catch(x){if(Od(x))throw x;let H=xd(x);throw Qe({...H,conversation:u,cause:x})}}let It={...Gs({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},authProvider:d$2,http:Ne,resolveInput:Ce,domainState:l$2,operations:{list:_d,pullOffline:po,sync:Dd},terminateConversationSending:(r,u)=>pe.terminateConversationSending(r,u),resetConversationBackground:r=>E.api.resetBackground(r),reportStorageError:(r,u)=>n$1.emit({type:"error",error:{scope:"storage",message:r,cause:u}}),markChannelRead:(r,u)=>pe.markRead(r,u,"channel")}),...E.api,ensureOpenableConversation:Ld};function Fd(r){let u={...r,close(){r.close(),G.delete(u);}};return Ft(u,r),G.add(u),u}function tr(r){if(!j)throw r.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return Fd(r)}async function Kd(r,u={}){if(!j)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let x={domainState:l$2,emitter:n$1,drafts:U.api,sendText:Re.operations.sendText,sendContact:Re.operations.sendContact,sendImage:Re.operations.sendImage,sendVideo:Re.operations.sendVideo,sendVoice:Re.operations.sendVoice,sendFile:Re.operations.sendFile,sendGif:Re.operations.sendGif,sendMediaAlbum:Re.operations.sendMediaAlbum,sendExpression:Re.operations.sendExpression,sendGame:Re.operations.sendGame,sendMiniProgram:Re.operations.sendMiniProgram,sendTransfer:Re.operations.sendTransfer,replaceVideo:Re.operations.replaceInterruptedVideo,replaceFile:Re.operations.replaceInterruptedFile,forwardMessages:Re.operations.forwardMessages,recallMessage:Re.operations.recallMessage,editMessage:Re.operations.editMessage,setReaction:({conversation:H,parentMessageId:re,emoji:oe,action:W})=>W==="toggle"?Wn.toggle({conversation:H,parentMessageId:re,emoji:oe}):Wn.set({conversation:H,parentMessageId:re,emoji:oe,action:W==="add"?0:1}),markRead:Re.operations.markRead,markDirectMediaConsumed:Re.operations.markDirectMediaConsumed,prepareMediaPreview:nn,getSelfId:()=>b,isOutboxOwned:H=>pe.getPendingOutbox().some(re=>re.id===H),hasOutboxForConversation:H=>pe.getPendingOutbox().some(re=>re.conversationType===H.conversationType&&re.conversationId===H.conversationId),resolveSearchHistoryAnchor:Z.resolveHistoryAnchor};switch(r.conversationType){case "direct":{let H={conversationType:"direct",conversationId:r.conversationId},re=await dc(H,{...x,getRelationship:M.getRelationship,shouldCheckRelationship:()=>pe.state==="authenticated",appendContactRequiredTextFailure:W=>l$2.appendDirectContactRequiredTextFailure({conversationId:W.conversationId,senderId:b,text:W.text,...W.refMessageId===void 0?{}:{refMessageId:W.refMessageId}}),setMuted:(W,X)=>It.setMuted(W,X),fetchMessagesByIdBatch:Hc},u),oe=tr(re);return gt(H),oe}case "group":{let H={conversationType:"group",conversationId:r.conversationId},re=await lc(H,{...x,getSendPermissionError:W=>{let X=l$2.getSession(H),ne=X?.type==="group"?X.groupState:"unknown";if(!(ne===void 0||ne==="active"))return q({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:W,retryable:false,conversation:H,details:Object.freeze({groupState:ne})})},setMuted:(W,X)=>It.setMuted(W,X),fetchMessagesByIdBatch:W=>zc(H.conversationId,W)},u),oe=tr(re);return gt(H),oe}case "channel":{let H={conversationType:"channel",conversationId:r.conversationId},re=await pc(H,{...x,getSelfId:()=>b,deleteMessageForEveryone:pe.deleteChannelMessageForEveryone,reconcilePage:fd.reconcilePage,getSendPermissionError:W=>{let X=l$2.getSession(H),ne=X?.type==="channel"&&X.channelState!==void 0?X.channelState:"unknown_restricted",se=wa({channelState:ne,nowMs:Date.now(),...X?.type!=="channel"||X.channelAccessSnapshot===void 0?{}:{snapshot:X.channelAccessSnapshot},...X?.type!=="channel"||X.channelPermissions===void 0?{}:{permissions:X.channelPermissions}});if(!(se.channelState==="active"&&se.permissions.sendMessages))return q({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:W,retryable:false,conversation:H,details:Object.freeze({channelState:se.channelState,...se.muteReason===void 0?{}:{muteReason:se.muteReason}})})},setMuted:(W,X)=>It.setMuted(W,X),fetchMessagesByIdBatch:W=>Vc(H.conversationId,W)},u),oe=tr(re);return gt(H),oe}default:throw new Error(`openConversation\uFF1A${r.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async r=>{await Re.operations.sendText({conversationId:r.peerId,conversationType:"direct",text:r.text,encrypted:r.encrypted});}},openConversation:Kd,localData:Gt,directory:_e.search,search:Z.api,applications:R.api,expressions:Bn.api,sessionFavorites:ut.api,outbox:ao.api,drafts:U.api,connection:Hs({operations:{prepare:lo,connect:Ad,disconnect:uo,subscribe:wd,getSnapshot:Td,getLifecycle:Rd},getState:()=>pe.state}),conversations:It,settings:O.api,push:$n.api,contact:M,group:Xi({directory:_e.groups,...Y===void 0?{}:{profile:Y},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...we===void 0?{}:{avatarTransfer:we},domainState:{...Vn,ensureConversation:r=>l$2.ensureConversation(r)},emitter:n$1,pinned:ro.operations}),channel:Ks({directory:_e.channels,...ce===void 0?{}:{channelProfile:ce},...me===void 0?{}:{channelMembers:me},...Se===void 0?{}:{channelMentionMembers:Se},mentionCandidates:Pe.api,applications:hn.applications,pinned:oo.operations,...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...we===void 0?{}:{avatarTransfer:we},crypto:he,domainState:{ensureConversation:r=>l$2.ensureConversation(r),setChannelRestriction:l$2.setChannelRestriction,removeConversationForMembershipTermination:Vn.removeConversationForMembershipTermination,updateConversationProfile:l$2.updateConversationProfile,refreshConversationProfile:l$2.refreshConversationProfile},emitter:n$1,...ge===void 0?{}:{cacheCreatedSecretKey:(r,u)=>ge.primeChannelKey(r,u)},getSelfUserId:async()=>b!==""?b:(await d$2.getLoginContext())?.userId??""}),media:Zt.api,calls:qs(Jt),groupCalls:Ec(Yt),teardown:Ed}}function rp(e){let n=op(e);return Oc(xc(n),e.coreApi!==void 0)}function Vf(e){return xc(ap(e))}function op(e){return {...Dc(e),...e.coreApi===void 0?{}:{coreClient:kc(e.authProvider,e.coreApi)}}}function Dc(e){let{authProvider:n,cache:t,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:y,media:h}=e;return {authProvider:n,cache:t,clientType:c,connection:i,debug:d,endpointProvider:s,expressions:y,media:h}}function ap(e){let{adapters:n,channelJoinApplications:t,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,coreApi:y,coreClient:h,directory:v,expressionProvider:T,sessionFavoriteProvider:E,http:m,network:P,profile:O,groupApplications:b,transport:w}=e;return {...Dc(e),adapters:n,channelJoinApplications:t,channelMembers:c,channelMentionMembers:i,channelProfile:d,contactApplications:s,directory:v,expressionProvider:T,sessionFavoriteProvider:E,...h!==void 0?{coreClient:h}:y===void 0?{}:{coreClient:kc(e.authProvider,y)},http:m,network:P,profile:O,groupApplications:b,transport:w}}function kc(e,n){let t=n.baseUrl.trim();if(t==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return A({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:t,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function Oc(e,n){let t=ys({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)},i=a=>Promise.reject(q({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(C){throw wr(C,a,p)}}function s(a,o,p){if(!n)throw q({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:p});try{return o()}catch(C){throw wr(C,a,p)}}let y,h=a=>d("contacts.getRelationship",()=>e.contacts.getRelationship(a)),v=(a,o)=>d("groups.getProfile",async()=>{let p=await e.groups.getProfile(a,o);return p===null?null:_s(a,p)},a),T=(a,o)=>d("channels.getProfile",async()=>{let p=await e.channels.getProfile(a,o);return p===null?null:Ds(a,p)},a),E={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:Ts(a,p)}),getRelationship:async a=>{let o=a.trim(),p={conversationType:"direct",conversationId:o},C=y?.beginProjectionUpdate(p),I=await h(a);return C!==void 0&&y?.updateRelationshipProjection(o,I,C),I},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))},P={listFirstPage:a=>d("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>d("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>d("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,o)=>{let p=y?.beginProjectionUpdate(a),C=await v(a,o);return p!==void 0&&y?.updateGroupProfileProjection(a,C,p),C},updateName:(a,o)=>d("groups.updateName",()=>e.groups.updateName(a,o),a),updateAvatar:(a,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(a,o),a),setMyNickname:(a,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(a,o),a),updateVerification:(a,o,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:xt(a,o)},a),getPinnedMessage:a=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(a);return o===null?null:xt(a,o)},a),pinMessage:(a,o)=>d("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(a,o);return xt(a,p)},a),unpinMessage:a=>d("groups.unpinMessage",()=>e.groups.unpinMessage(a),a)},O={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=y?.beginProjectionUpdate(a),C=await T(a,o);return p!==void 0&&y?.updateChannelProfileProjection(a,C,p),C},updateName:(a,o)=>d("channels.updateName",()=>e.channel.updateName(a.conversationId,o),a),updateDescription:(a,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,o),a),updateAvatar:(a,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,o),a),updateVerification:(a,o,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:Nt(a,o)},a),getPinnedMessage:a=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(a);return o===null?null:Nt(a,o)},a),pinMessage:(a,o)=>d("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(a,o);return Nt(a,p)},a),unpinMessage:a=>d("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},b=Is({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:a=>t.api.list().find(o=>o.ref.conversationType===a.conversationType&&o.ref.conversationId===a.conversationId),subscribeConversations:a=>t.api.subscribe(o=>a(o.items)),getRelationship:h,getGroupProfile:v,getChannelProfile:T});y=b;let w=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{b.reset();try{await e.session.logout(a);}finally{b.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function f(a,o={}){let p=e.conversations,C=e.openConversation,I=await p.ensureOpenableConversation(a);return I.conversationType==="direct"?C({conversationType:"direct",conversationId:I.conversationId},o):I.conversationType==="group"?C({conversationType:"group",conversationId:I.conversationId},o):C({conversationType:"channel",conversationId:I.conversationId},o)}let g={get session(){return w},get capabilities(){return b.api},get conversations(){return t.api},get directory(){return m},get contacts(){return E},get groups(){return P},get channels(){return O},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return c},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:f,dispose:async()=>{b.dispose(),t.dispose(),await e.dispose();}};return Tr(g,()=>xs(e)),g}function Wf(e,n){return Oc(e,n.coreApiAvailable)}function xc(e){let n=b(e.cache?.prefix),t=e.adapters?.namespaceFactory??n;if(t.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let c=ib(),i=0,d=()=>_c(e,c,t,i++),s=d(),y=false;async function h(g){if(y)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(g),s=d();}async function v(){if(y)throw Pn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let g=await s.localData.getInfo(),a;try{a=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(o){throw s=d(),Pn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:g.accountScope,cause:o})}if(s=d(),a.purgedAccountId!==g.accountScope)throw Pn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:g.accountScope,cause:a.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:g.accountScope,category:"all"});}let T=Es({getRuntime:()=>s.localData,purgeCurrentAccount:v}),E={start:g=>s.connection.connect(g),stop:async g=>{s.connection.disconnect(g);},logout:h,getSnapshot:()=>s.connection.getLifecycle(),subscribe:g=>(g(s.connection.getLifecycle()),s.connection.subscribe(a=>{a.type==="connection:changed"&&g(s.connection.getLifecycle());}))},m=Ps({subscribeCore:g=>s.connection.subscribe(g),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:g=>{let a=s.conversations.list().find(o=>o.type===g.conversationType&&o.id===g.conversationId);return a===void 0?void 0:Pr(a)},resolveContactApplicationAnswer:async g=>{let a=s,o=await a.contact.resolveApplicationAnswer(g.peerId,g.messageId);return s===a?o:null}}),P={listFirstPage:g=>s.contact.listFirstPage(g),listNextPage:g=>s.contact.listNextPage(g),getProfile:(g,a)=>s.contact.getProfile(g,a),getRelationship:g=>s.contact.getRelationship(g),setRemark:(g,a)=>s.contact.setRemark(g,a),searchUser:g=>s.contact.searchUser(g),requestFriendship:(g,a)=>s.contact.requestFriendship(g,a),blockUser:g=>s.contact.blockUser(g),reportUser:(g,a)=>s.contact.reportUser(g,a),deleteFriendship:g=>s.contact.deleteFriendship(g)},O={listFirstPage:g=>s.group.listFirstPage(g),listNextPage:g=>s.group.listNextPage(g),uploadAvatar:g=>s.group.uploadAvatar(g),create:g=>s.group.create(g),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(g,a)=>s.group.getProfile(g.conversationId,a),updateName:(g,a)=>s.group.updateName(g.conversationId,a),updateAvatar:async(g,a)=>{await s.group.updateAvatar(g.conversationId,a);},setMyNickname:(g,a)=>s.group.setMyNickname(g.conversationId,a),updateVerification:(g,a,o)=>s.group.updateVerification(g.conversationId,a,o),requestJoin:(g,a)=>s.group.requestJoin(g.conversationId,a),joinByInviteCode:(g,a)=>s.group.joinByInviteCode(g.conversationId,a),getPinnedMessage:g=>s.group.getPinnedMessage(g.conversationId),pinMessage:(g,a)=>s.group.pinMessage({groupId:g.conversationId,messageId:a}),unpinMessage:g=>s.group.unpinMessage(g.conversationId)},b$1={listFirstPage:g=>s.channel.listFirstPage(g),listNextPage:g=>s.channel.listNextPage(g),uploadAvatar:g=>s.channel.uploadAvatar(g),create:g=>s.channel.create(g),get mentions(){return s.channel.mentions},getProfile:(g,a)=>s.channel.getProfile(g.conversationId,a),updateVerification:(g,a,o)=>s.channel.updateVerification(g.conversationId,a,o),requestJoin:(g,a)=>s.channel.requestJoin(g.conversationId,a),joinByInviteCode:(g,a)=>s.channel.joinByInviteCode(g.conversationId,a),setAllMuted:(g,a)=>s.channel.setAllMuted(g.conversationId,a),setMemberPrivateChatDisabled:(g,a)=>s.channel.setMemberPrivateChatDisabled(g.conversationId,a),setMyNickname:(g,a)=>s.channel.setMyNickname(g.conversationId,a),setMemberNickname:(g,a,o)=>s.channel.setMemberNickname(g.conversationId,a,o),dismiss:g=>s.channel.dismiss(g.conversationId),getPinnedMessage:g=>s.channel.getPinnedMessage(g.conversationId),pinMessage:(g,a)=>s.channel.pinMessage({channelId:g.conversationId,messageId:a}),unpinMessage:g=>s.channel.unpinMessage(g.conversationId)};async function w(){y||(y=true,await s.teardown({localData:"preserve"}),c.clear());}let f={get session(){return E},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get contacts(){return P},get groups(){return O},get channels(){return b$1},get events(){return m},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get groupCalls(){return s.groupCalls},get settings(){return s.settings},get push(){return s.push},get outbox(){return s.outbox},get localData(){return T},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:h,dispose:w};return Tr(f,()=>s.advancedMessageDiagnostics),f}var ip=new TextEncoder;function Nc(e,n,t){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${t} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function Lc(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let t of Object.values(e))Lc(t,n);return Object.freeze(e)}function sp(e){try{let n=structuredClone(e),t=JSON.stringify(n);return t===void 0?void 0:{record:Lc(n),estimatedBytes:ip.encode(t).byteLength}}catch{return}}function cp(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 dp(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&&cp(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 lp(e={}){let n=Nc(e.maxRecords,200,"maxRecords"),t=Nc(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,i=[],d=0,s=0,y=false;function h(E){let m=i.map(P=>P.record).filter(P=>E===void 0||dp(P,E));return Object.freeze({records:Object.freeze(m),droppedCount:s,estimatedBytes:d,disposed:y})}function v(){let E=h();for(let m of c)try{m(E);}catch{}}function T(){i.length=0,d=0,s=0;}return {write(E){if(y)return;let m=sp(E);if(m===void 0||m.estimatedBytes>t){s+=1,v();return}for(i.push(m),d+=m.estimatedBytes;i.length>n||d>t;){let P=i.shift();if(P===void 0)break;d-=P.estimatedBytes,s+=1;}v();},getSnapshot:h,subscribe(E){if(y)return ()=>{};c.add(E);let m=true;return ()=>{m&&(m=false,c.delete(E));}},clear(){y||(T(),v());},dispose(){y||(y=true,T(),c.clear());}}}export{Ud as a,hs as b,Ie as c,At as d,es as e,ns as f,Ir as g,yr as h,os as i,Rt as j,vr as k,Tt as l,rp as m,Vf as n,Wf as o,lp as p};