k2-im 0.1.19 → 0.1.21

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.
@@ -1,2 +0,0 @@
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,Va as Va$1,da,X,Y,R,W as W$1,T,V,S,aa,Ja,pa,ba,Ka as Ka$1,qa,Ca as Ca$1,Da as Da$1,ya,za,Ga as Ga$1,Z,b as b$1,Ia,_,$,La as La$1,Ha as Ha$1,U,Fa as Fa$1,Aa,Ba as Ba$1,m as m$1,n,f,ua as ua$1,va,Ma as Ma$1,c as c$1,Na as Na$1,w as w$1,ta as ta$1,ra,ka,x,y,i,p as p$1,P,j as j$1,q as q$1,ha as ha$1,ga as ga$1,fa as fa$1,ea as ea$1,ma,la,ia,O,K,J,I,H,G as G$1,F,N,M,oa as oa$1,na as na$1,L,E,D,C,Ea as Ea$1,wa,xa,sa as sa$1,Wa as Wa$1}from'./chunk-ULJD6ZA3.js';import {b,db,oa,fb,eb,Ba,bb,$a,ab,_a,Ma,Na,Oa as Oa$1,Pa as Pa$1,ea,fa,ga,ha,Ea,Fa,Xa as Xa$1,Sa,Ra,Qa as Qa$1,Ya as Ya$1,Va,Za,Ua as Ua$1,Ta,l as l$1,m,Wa,Ca,ua,Ha,Ga,La,Ka,cb,gb,j,Da,r as r$1,s as s$1,t as t$1,u as u$1,Ja as Ja$1,sa,ta,Z as Z$1,X as X$1,d as d$1,c,w,G,ya as ya$1,h as h$1,q,p,n as n$1,Ia as Ia$1,da as da$1,x as x$1,na,v as v$1,_ as _$1,pa as pa$1}from'./chunk-W2FKET4Z.js';async function Rd(e){let n=b(e.fromPrefix),t=b(e.toPrefix);n.forAccount(e.accountId),t.forAccount(e.accountId);let s={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:t.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:t};if(s.fromPrefix===s.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(s);}catch(i){try{await e.migrator.rollback(s,i);}catch(d){throw new AggregateError([i,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var ge=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 un(e,n,t){return n===39081?new ge({operation:e,kind:"forbidden",code:n,message:t||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new ge({operation:e,kind:"business",code:n,message:t||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function pn(e,n){return n instanceof ge?n:n instanceof b$1?new ge({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new ge({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Ct(e,n){let t={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(t)}`}function wd(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 Mt(e){let{teaKey:n,fileEncryptType:t,...s}=e;return s}function Td(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(Mt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Mt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Mt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(Mt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function St(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Td(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:wd(e.reactions)}})}function xn(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:X$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function W(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function bt(e,n,t){return W({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false}}[e],operation:n,conversation:t})}function hn(e,n,t){return W({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:t,cause:e})}async function Nn(e,n){let t=new Uint8Array(await n.arrayBuffer()),s=typeof File<"u"&&n instanceof File?n.name:void 0,d=(await e.uploadAvatar({data:t,...s===void 0?{}:{filename:s},...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 _d="IM_SDK_GROUP_NOT_MEMBER",Dd="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",kd="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Od="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ui(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function xd(e,n,t){if(Ui(e))return e;let s=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":s===39011?_d:s===39029?Dd:s===39033?kd:e instanceof c$1?Od:e instanceof b$1?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka?"contract":e instanceof b$1?"network":s===39029?"permission":"state",c=W({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"group",conversationId:t},...s===void 0?{}:{details:Object.freeze({businessCode:s})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),c)}async function vn(e,n,t){try{return await t()}catch(s){throw xd(s,e,n)??s}}var Ki=39005,Nd=39057,Ld=39061;function Bi(e){let n=new Map,t=new Map,s=true,i=p=>({conversationType:"group",conversationId:p});function d(p){t.set(p,(t.get(p)??0)+1);}function c(p){if(!s||n.has(p))return;let b=t.get(p)??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:p}}});return}try{let M=await aa({client:e.coreClient,groupId:p});if(!s||(t.get(p)??0)!==b)return;if(!M.ok){e.emitter.emit({type:"error",error:{scope:"http",code:M.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${M.message}`,cause:{conversationId:p}}});return}if(M.data===null){e.domainState.clearPinnedMessage(i(p),"reconcile");return}e.domainState.setPinnedMessage(r$1(M.data.messageContent,{conversationId:p}),"reconcile");}catch(M){if(!s||(t.get(p)??0)!==b)return;let w=M instanceof h$1||M instanceof q?"protocol":"http";e.emitter.emit({type:"error",error:{scope:w,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:M}});}})();n.set(p,O),O.finally(()=>{n.get(p)===O&&n.delete(p);});}let I=Da({domainState:e.domainState,emitter:e.emitter,requestReconcile:c}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated"||p.message.conversationType!=="group")return;let b=p.message.body.system?.pinnedMessageAction;(b?.type==="pin"||b?.type==="unpin")&&d(p.message.conversationId),I.handleMessage(p.message);});function h(p,b){if(b.trim()==="")throw new ge({operation:p,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(b));if(O===void 0)throw new ge({operation:p,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="group")throw new ge({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function T(p,b){if(e.coreClient===void 0)throw new ge({operation:p,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,b),e.coreClient}return {operations:{pinMessage:async({groupId:p,messageId:b})=>{let O=T("pin",p),M=e.domainState.getConversationMessage(i(p),b);if(M===void 0)throw new ge({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(M.conversationType!=="group")throw new ge({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(M.conversationId!==p)throw new ge({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:w,pinnedMessage:g}=s$1(M),m=await pa({client:O,groupId:p,messageContent:w});if(!m.ok)throw un("pin",m.code,m.message);d(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new ge({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(w){throw pn("pin",w)}},unpinMessage:async p=>{let b=T("unpin",p);try{let O=await Ja({client:b,groupId:p});if(!O.ok)throw un("unpin",O.code,O.message);d(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(O){throw pn("unpin",O)}},getPinnedMessage:async p=>{let b=T("get",p);try{let O=await aa({client:b,groupId:p});if(!O.ok)throw un("get",O.code,O.message);if(d(p),O.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let M=r$1(O.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(M,"reconcile");let w=e.domainState.getPinnedMessage(i(p));if(w===void 0)throw new ge({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return w}catch(O){throw pn("get",O)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{s&&(s=false,y());}}}function Gi(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,s=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 c(o){let u=[],v=new Set;for(let S of o){if(S.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");v.has(S.userId)||(v.add(S.userId),u.push(Object.freeze({userId:S.userId,displayName:S.nickName.trim()===""?S.userId:S.nickName})));}return Object.freeze(u)}async function I(o,u){d(o);let v=e.profile?.listGroupMembers;if(v===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let S=o.conversationId,N=t.get(S);if(!u&&N!==void 0)return N;let C=i.get(S);if(C!==void 0&&(!u||C.refresh))return C.promise;let K=(s.get(S)??0)+1;s.set(S,K);let q=Promise.resolve().then(()=>v(S,u?{forceRefresh:true}:void 0)).then(oe=>{if(oe===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let k=c(oe);return s.get(S)===K&&t.set(S,k),k}).finally(()=>{i.get(S)?.promise===q&&i.delete(S);});return i.set(S,{refresh:u,promise:q}),q}function y(o,u,v,S){let C=W({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...v===void 0?{}:{details:v},...S===void 0?{}:{cause:S}});return Object.assign(new Error(u),C)}function h(o,u,v,S){let N=W({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...v===void 0?{}:{details:v},...S===void 0?{}:{cause:S}});return Object.assign(new Error(u),N)}function T(o){if(o===null||typeof o!="object"||o===void 0)throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let u=o.group_id;if(typeof u!="string"&&typeof u!="number"||String(u).trim()==="")throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let v=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(v)||v!==1&&v!==2)throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let S=String(u),N=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:S}),activation:v===1?"pending":"active",...N===void 0||N===""?{}:{avatarUrl:N},qrPayload:Ct(S,N)})}function E(o){if(o===void 0)return;let u=typeof o=="number"?o:Number(o);return Number.isSafeInteger(u)?u:void 0}function p(o){if(typeof o=="boolean")return o;if(o===1||o==="1"||o==="true")return true;if(o===0||o==="0"||o==="false")return false}function b(o){if(o===null||typeof o!="object"||o===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let u=o.group_id;if(typeof u!="string"&&typeof u!="number"||String(u).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let v=String(u),S=o,N=S.name?.trim()??"";if(N==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let C=E(S.total_users),K=E(S.status),q=E(S.verify_way),oe=E(S.update_version),k=p(S.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:v}),name:N,...S.head_img_url?.trim()===""||S.head_img_url===void 0?{}:{avatar:S.head_img_url},...S.user_id===void 0?{}:{ownerId:String(S.user_id)},...C===void 0?{}:{memberCount:C},...K===void 0?{}:{status:K},...k===void 0?{}:{isInGroup:k},...q===void 0?{}:{verifyWay:q},...oe===void 0?{}:{updateVersion:oe},...S.invite_code===void 0?{}:{inviteCode:S.invite_code}}}function O(o){let u=o.name.trim();if(u==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(u.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let v=o.memberIds;if(!Array.isArray(v))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let S=v.map(C=>typeof C=="string"?C.trim():"");if(S.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let N=[...new Set(S)];if(N.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:u,memberIds:N}}function M(o,u){let v=o.trim();if(v==="")throw new Error(`${u}\u4E0D\u80FD\u4E3A\u7A7A`);return v}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 g(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let u=o.map(v=>M(v,"\u7FA4\u6210\u5458 id"));return [...new Set(u)]}function m(o,u,v){if(o!==1&&o!==2&&o!==4){let N=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:v}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),N)}if(o!==4)return {verifyWay:o};let S=u?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(S)){let N=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:v}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),N)}return {verifyWay:o,inviteCode:S}}function a(o){t.delete(o),s.set(o,(s.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>I(o,false),refreshAll:o=>I(o,true)},getProfile:(o,u)=>e.profile?.getGroupProfile(o,u)??Promise.resolve(null),listMembers:(o,u)=>e.profile?.listGroupMembers?.(o,u)??Promise.resolve(null),getMemberNames:(o,u)=>e.profile?.getGroupMemberNames?.(o,u)??Promise.resolve(null),peekMembers:o=>e.profile?.peekGroupMembers?.(o)??Promise.resolve(null),peekMemberNames:o=>e.profile?.peekGroupMemberNames?.(o)??Promise.resolve(null),peekProfile:o=>e.profile?.peekGroupProfile?.(o)??Promise.resolve(null),updateName:async(o,u)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let v=u.trim();if(o===""||v==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await La$1({client:e.coreClient,groupId:o,name:v}),e.domainState.updateConversationProfile(o,{title:v}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,u)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let v=await Nn(e.avatarTransfer,u);return await La$1({client:e.coreClient,groupId:o,avatarUrl:v}),e.domainState.updateConversationProfile(o,{avatar:v}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),v},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Nn(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.ensureConversation===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let u=O(o);try{let v=await $({client:e.coreClient,name:u.name,memberIds:u.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!v.ok){let N=v.code===Ki?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":v.code===Nd?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":v.code===Ld?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(N,v.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:v.code,message:v.message}))}let S=b(v.data);return e.domainState.ensureConversation({id:S.ref.conversationId,type:"group",title:S.name,...S.avatar===void 0?{}:{avatar:S.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:S})}catch(v){throw v!==void 0&&typeof v=="object"&&v!==null&&"code"in v&&String(v.code).startsWith("IM_SDK_")?v:v instanceof b$1?y("IM_SDK_GROUP_CREATE_NETWORK_FAILED",v.message,void 0,v):y("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,v)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw h("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await _({client:e.coreClient});if(!o.ok){let u=o.code===Ki?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw h(u,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:T(o.data)})}catch(o){throw Ui(o)?o:o instanceof b$1?h("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):h("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,u)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ia({client:e.coreClient,groupId:o,nickname:u}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,u,v)=>{let S=w(),N=M(o,"\u7FA4 id"),C=m(u,v,N);await vn("groups.updateVerification",N,()=>ia({client:S,groupId:N,verifyWay:C.verifyWay,...C.inviteCode===void 0?{}:{inviteCode:C.inviteCode}})),a(N);},requestJoin:async(o,u)=>{let v=w(),S=M(o,"\u7FA4 id"),N=u?.remarks?.trim();return vn("groups.requestJoin",S,()=>la({client:v,groupId:S,...N===void 0?{}:{remarks:N}}))},joinByInviteCode:async(o,u)=>{let v=w(),S=M(o,"\u7FA4 id"),N=u.trim();if(!/^\d{6}$/.test(N))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return vn("groups.joinByInviteCode",S,()=>ma({client:v,groupId:S,inviteCode:N}))},inviteMembers:async(o,u)=>{let v=w(),S=M(o,"\u7FA4 id"),N=g(u);if(N.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await vn("groups.inviteMembers",S,()=>ea$1({client:v,groupId:S,userIds:N})),a(S);},removeMember:async(o,u)=>{let v=w(),S=M(o,"\u7FA4 id"),N=M(u,"\u5F85\u79FB\u9664\u6210\u5458 id");await vn("groups.removeMember",S,()=>fa$1({client:v,groupId:S,userId:N})),a(S);},transferOwnership:async(o,u)=>{let v=w(),S=M(o,"\u7FA4 id"),N=M(u,"\u65B0\u7FA4\u4E3B id");await vn("groups.transferOwnership",S,()=>ga$1({client:v,groupId:S,userId:N})),a(S);},leave:async(o,u)=>{let v=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 S=M(o,"\u7FA4 id"),N=u?.newOwnerId===void 0?void 0:M(u.newOwnerId,"\u65B0\u7FA4\u4E3B id");await vn("groups.leave",S,()=>ha$1({client:v,groupId:S,...N===void 0?{}:{newOwnerId:N}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:S},"group_left"),a(S);},...e.pinned}}function Hi(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 zi=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Vi(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function lr(e,n){let t=e===true||typeof e=="object"&&e.enabled,s=typeof e=="object"?e:void 0,i=Vi();return db({enabled:t,level:s?.level??"trace",categories:s?.categories??zi,...t?{sink:s?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var qi=[{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 ur=Object.freeze(qi.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Wi=new Map(ur.flatMap(e=>e.tokens.map(n=>[n,e])));function $i(e){return Wi.get(e)}function Ji(e){return Wi.has(e)}function Cn(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Yi(e,n){return n instanceof Ma$1?Cn({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Na$1?Cn({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof c$1?Cn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Cn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function Pt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function Xi(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="";for(let s=0;s<e.length;s+=3){let i=e[s]??0,d=e[s+1]??0,c=e[s+2]??0,I=i<<16|d<<8|c;t+=n.charAt(I>>>18&63),t+=n.charAt(I>>>12&63),t+=s+1<e.length?n.charAt(I>>>6&63):"=",t+=s+2<e.length?n.charAt(I&63):"=";}return t}function Et(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":return e.contentType;default:return null}}function pr(e){let n=Et(e);if(n==="text"){let t=(e.body.text??"").trim();return t===""?null:{content:t}}if(n==="image"){let t=Pt(e.body.image?.url),s=Xi(e.body.image?.thumbData);return t===""||s===""?null:{content:t,imageURL:t,thumbData:s,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let t=Pt(e.body.video?.url),s=Xi(e.body.video?.thumbData);return t===""||s===""?null:{content:t,videoURL:t,thumbData:s,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let t=Pt(e.body.voice?.url);return t===""?null:{content:t,voiceURL:t,duration:e.body.voice?.durationMs??0}}if(n==="file"){let t=Pt(e.body.file?.url),s=(e.body.file?.fileName??"").trim();return t===""||s===""?null:{content:s,fileURL:t,fileName:s,size:e.body.file?.size??0}}return null}function Kd(e,n,t){return e.senderId.trim()===n.trim()?t:n.trim()}function Qi(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Zi(e){function n(i){if(!e.isActive())throw Cn({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 Yi(i,new Ma$1);let c;try{c=await d(e.provider);}catch(I){throw n(i),Yi(i,I)}return n(i),c}return {api:{list:async()=>{let i=await t("sessionFavorites.list",d=>d.list());return Object.freeze(i.map(Qi))},addFromMessage:async i=>{let d="sessionFavorites.addFromMessage",c=Et(i.message),I=pr(i.message),y=i.selfId.trim(),h=i.message.id.trim();if(c===null||I===null||y===""||h==="")throw Cn({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let T={messageId:h,conversation:i.conversation,senderId:i.message.senderId.trim(),createdAt:i.message.createdAt,kind:c,plainBody:I,peerId:Kd(i.message,y,i.conversation.conversationId)},E=await t(d,p=>p.add(T));return Qi(E)},delete:async i=>{let d="sessionFavorites.delete",c=[...new Set(i.map(I=>I.trim()).filter(I=>I!==""))];if(c.length===0)throw Cn({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await t(d,I=>I.delete(c));}}}}var es="settings:read-receipts:v1",ns="settings:appearance:v1",Rt=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function nn(e){return W({...e,retryable:e.retryable??false})}function gr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Ir(){return {fontScale:1}}function mr(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Ud(e){if(typeof e!="object"||e===null)return gr();let n=e,t=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[s,i]of Object.entries(n.peerOverrides))s.trim()!==""&&typeof i=="boolean"&&(t[s]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:t}}function Bd(e){if(typeof e!="object"||e===null)return Ir();let n=e.fontScale;return {fontScale:ts(n)?n:1}}function ts(e){return typeof e=="number"&&Rt.includes(e)}function fr(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw nn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function At(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw nn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function rs(e){let n=false,t=false,s=false,i,d,c=gr(),I=Promise.resolve(),y=false,h,T=Ir(),E=Promise.resolve();function p(u){return nn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:u})}function b(u){if(n)throw p(u)}async function O(u,v){if(b(v),t)return;let S;try{S=At(e.storage,v);}catch(N){if(!u)return;throw N}try{let N=await S.getMeta(es);b(v),c=Ud(N),t=!0,s=!1;}catch(N){throw n?p(v):(s=true,nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:v,cause:N}))}}function M(u){return b(u),t?Promise.resolve():(i===void 0&&(i=O(true,u).finally(()=>{i=void 0;})),i)}async function w(u){if(b(u),!y)try{let v=await At(e.storage,u).getMeta(ns);b(u),T=Bd(v),y=!0;}catch(v){throw n?p(u):typeof v=="object"&&v!==null&&"code"in v?v:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:u,cause:v})}}function g(u){return b(u),y?Promise.resolve():(h===void 0&&(h=w(u).finally(()=>{h=void 0;})),h)}async function m(u,v,S){b(u);let N=I.then(async()=>{b(u),await M(u),b(u);let C=mr(c),K=v(mr(c));try{await At(e.storage,u).setMeta(es,mr(K));}catch(q){throw n?p(u):typeof q=="object"&&q!==null&&"code"in q?q:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:u,cause:q})}b(u),c=K,S?.(C,K);});return I=N.catch(()=>{}),N}let a={async getGlobal(){let u="settings.readReceipts.getGlobal";return b(u),await M(u),b(u),c.globalEnabled},setGlobal(u){return typeof u!="boolean"?Promise.reject(nn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):m("settings.readReceipts.setGlobal",v=>({...v,globalEnabled:u}),(v,S)=>{v.globalEnabled&&!S.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(u){let v="settings.readReceipts.getConversation";b(v);let S=fr(u,v);await M(v),b(v);let N=c.peerOverrides[S.conversationId]??true;return Object.freeze({enabled:N,effectiveEnabled:c.globalEnabled&&N})},setConversation(u,v){let S="settings.readReceipts.setConversation",N;try{N=fr(u,S);}catch(C){return Promise.reject(C)}return typeof v!="boolean"?Promise.reject(nn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:S,conversation:N})):m(S,C=>(C.peerOverrides[N.conversationId]=v,C),(C,K)=>{let q=N.conversationId,oe=C.globalEnabled&&(C.peerOverrides[q]??true),k=K.globalEnabled&&(K.peerOverrides[q]??true);oe&&!k&&e.onDirectReadReceiptDisabled?.(q);})},resetConversation(u){let v="settings.readReceipts.resetConversation",S;try{S=fr(u,v);}catch(N){return Promise.reject(N)}return m(v,N=>(delete N.peerOverrides[S.conversationId],N))}},o={fontScale:Object.freeze({async get(){let u="settings.appearance.fontScale.get";return await g(u),b(u),T.fontScale},set(u){let v="settings.appearance.fontScale.set";if(!ts(u))return Promise.reject(nn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:v,details:{supportedValues:[...Rt]}}));let S=E.then(async()=>{b(v),await g(v),b(v);let N={fontScale:u};try{await At(e.storage,v).setMeta(ns,N);}catch(C){throw n?p(v):typeof C=="object"&&C!==null&&"code"in C?C:nn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:v,cause:C})}b(v),T=N;});return E=S.catch(()=>{}),S}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){b("settings.readReceipts.hydrate"),!t&&(i===void 0&&(i=O(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(u){return !n&&!s&&c.globalEnabled&&(c.peerOverrides[u]??true)},dispose(){if(d!==void 0)return d;n=true,c=gr(),T=Ir();let u=i,v=I,S=h,N=E;return d=Promise.allSettled([...u===void 0?[]:[u],v,...S===void 0?[]:[S],N]).then(()=>{}),d}}}var ze=Object.freeze({availability:"available",reason:"ok"});function Ve(e){return Object.freeze({availability:"unavailable",reason:e})}function Pe(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function wt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Zn(e){return `${e.conversationType}:${e.conversationId}`}function Gd(){return Object.freeze({sendMessages:false})}function jd(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function Hd(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 zd(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 Vd(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 s=Number(t[1]),i=Number(t[2]),d=Number(t[3]),c=Number(t[4]);if(s>23||d>23||i>59||c>59)return;let I=new Date(n);I.setHours(s,i,0,0);let y=new Date(n);if(y.setHours(d,c,59,999),I.getTime()<=n&&n<=y.getTime())return y.getTime()+1;if(n<I.getTime())return I.getTime();let h=I;return h.setDate(h.getDate()+1),h.getTime()}function Ln(e,n,t){let s=n.get(Zn(e));if(s!==void 0)for(let i of [...s])i(t);}function os(e){let n=new Map,t=new Map,s=new Map,i=new Map,d=new Map,c=new Map,I,y=new Set,h=e.getSessionUserId(),T=0;function E(C){C.conversationType==="direct"?n.delete(C.conversationId):C.conversationType==="group"?t.delete(C.conversationId):s.delete(C.conversationId);}function p(){n.clear(),t.clear(),s.clear(),c.clear(),y=new Set;}function b(){let C=e.getSessionUserId();return C!==h&&(h=C,p()),C}function O(C){b();let K=++T;return c.set(Zn(C),K),K}function M(C,K){return b(),c.get(Zn(C))===K}function w(C,K={}){b();let q=K.nowMs??Date.now(),oe=e.getConversation(C);if(C.conversationType==="direct"){let ae=wt({conversationType:"direct",conversationId:C.conversationId}),de=n.get(C.conversationId),Ie=de?.relationship??"unknown",ce=jd(Ie),ve=ce==="ok"?ze:ce==="relationship-unknown"?Pe(ce):Ve(ce),Ee=Ie==="friend"?ze:Ie==="unknown"?Pe(ce):Ve(ce);return Object.freeze({ref:ae,conversationType:"direct",evaluatedAt:q,value:Object.freeze({relationship:Ie,...de===void 0?{}:{relationshipCheckedAt:de.checkedAt},canSendMessages:ve,canOpenProfile:ze,canUseMessageActions:ve,canManageRelationship:Ee})})}if(C.conversationType==="group"){let ae=wt({conversationType:"group",conversationId:C.conversationId}),de=t.get(C.conversationId),Ie=oe?.ref.conversationType==="group"?oe.groupState??"active":"unknown",ce=Hd(Ie),ve=ce==="ok",Ee=e.getSessionUserId(),Te=de?.ownerId,We=Ee!==void 0&&Te!==void 0&&Ee===Te,xe=ve?ze:Ve(ce),$e=ve?de===void 0?Pe("not-ready"):We?ze:Ve("role-insufficient"):Ve(ce);return Object.freeze({ref:ae,conversationType:"group",evaluatedAt:q,value:Object.freeze({membership:Ie,...Te===void 0?{}:{ownerId:Te},isOwner:We,canSendMessages:xe,canOpenProfile:xe,canReadHistory:ze,canUseMessageActions:xe,canViewMembers:xe,canEditProfile:$e,canInviteMembers:xe,canManageMembers:$e,canPinMessages:$e,canUnpinMessages:$e,canTransferOwnership:$e,canLeave:xe,canUpdateVerification:$e})})}let k=wt({conversationType:"channel",conversationId:C.conversationId}),z=s.get(C.conversationId),te=oe?.ref.conversationType==="channel"&&oe.channelState!==void 0?oe.channelState:z?.state;if(te===void 0)return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:q,value:Object.freeze({state:"unknown",role:z?.role??"unknown",permissions:Gd(),canSendMessages:Pe("unknown-restricted"),canOpenProfile:Pe("unknown-restricted"),canReadHistory:ze,canUseMessageActions:Pe("unknown-restricted"),canMutateMessages:Pe("unknown-restricted"),canPinMessages:Pe("unknown-restricted"),canUnpinMessages:Pe("unknown-restricted"),canDeleteMessagesForEveryone:Pe("unknown-restricted"),canMentionAll:Pe("unknown-restricted"),canViewMembers:Pe("unknown-restricted"),canEditProfile:Pe("unknown-restricted"),canManageMembers:Pe("unknown-restricted"),canManageMute:Pe("unknown-restricted"),canDismiss:Pe("unknown-restricted"),canTransferOwnership:Pe("unknown-restricted"),canLeave:Pe("unknown-restricted"),canInviteMembers:Pe("unknown-restricted"),canSetMemberAdmin:Pe("unknown-restricted"),canRemoveMembers:Pe("unknown-restricted"),canSetMemberPrivateChat:Pe("unknown-restricted")})});let P=ta({channelState:te,nowMs:q,...oe?.ref.conversationType==="channel"&&oe.channelAccessSnapshot!==void 0?{snapshot:oe.channelAccessSnapshot}:{},...oe?.ref.conversationType==="channel"&&oe.channelPermissions!==void 0?{permissions:oe.channelPermissions}:z?.permissions===void 0?{}:{permissions:z.permissions}}),B=zd(P.channelState,P.muteReason),$=P.channelState==="active"||P.channelState==="muted",Q=P.channelState==="active"?P.permissions.sendMessages?ze:Ve("unknown-restricted"):Ve(B),re=ae=>$&&ae?ze:Ve($?"role-insufficient":B),A=ae=>P.channelState==="active"&&ae?ze:Ve(P.channelState==="muted"?B:$?"role-insufficient":B),L=z?.memberPrivateChatDisabled===false||P.permissions.manageMembers===true,U=$?z===void 0&&P.permissions.manageMembers!==true?Pe("not-ready"):re(L):Ve(B),Y=P.channelState==="muted"?Ve(B):$?ze:Ve(B),G=Vd(oe,q);return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:q,...G===void 0?{}:{nextEvaluationAt:G},value:Object.freeze({state:P.channelState,role:z?.role??oe?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...P.permissions}),...P.muteReason===void 0?{}:{muteReason:P.muteReason},canSendMessages:Q,canOpenProfile:$?ze:Ve(B),canReadHistory:ze,canUseMessageActions:$?ze:Ve(B),canMutateMessages:Y,canPinMessages:A(P.permissions.moderateMessages===true),canUnpinMessages:A(P.permissions.moderateMessages===true),canDeleteMessagesForEveryone:A(P.permissions.moderateMessages===true),canMentionAll:re(P.permissions.mentionAll===true),canViewMembers:U,canEditProfile:re(P.permissions.editProfile===true),canManageMembers:re(P.permissions.manageMembers===true),canManageMute:re(P.permissions.manageMute===true),canDismiss:re(P.permissions.dismissChannel===true),canTransferOwnership:re(P.permissions.transferOwnership===true),canLeave:$?ze:Ve(B),canInviteMembers:re(P.permissions.manageMembers===true),canSetMemberAdmin:re(P.permissions.manageAdmins===true),canRemoveMembers:re(P.permissions.manageMembers===true),canSetMemberPrivateChat:re(P.permissions.manageMute===true)})})}async function g(C,K={}){let q=O(C);if(C.conversationType==="direct"){let oe=await e.getRelationship(C.conversationId);M(C,q)&&m(C.conversationId,oe,q);}else if(C.conversationType==="group"){let oe={conversationType:"group",conversationId:C.conversationId},k=await e.getGroupProfile(oe,{forceRefresh:true});M(C,q)&&a(oe,k,q);}else {let oe={conversationType:"channel",conversationId:C.conversationId},k=await e.getChannelProfile(oe,{forceRefresh:true});M(C,q)&&o(oe,k,q);}return w(C,K)}function m(C,K,q){let oe={conversationType:"direct",conversationId:C};M(oe,q)&&(n.set(C,{relationship:K,checkedAt:Date.now()}),Ln(oe,i,w(oe)));}function a(C,K,q){M(C,q)&&(t.set(C.conversationId,K),Ln(C,i,w(C)));}function o(C,K,q){M(C,q)&&(s.set(C.conversationId,K),Ln(C,i,w(C)));}function u(C,K,q={}){b();let oe=Zn(C),k=i.get(oe)??new Set;return k.add(K),i.set(oe,k),d.set(oe,wt(C)),K(w(C,q)),I===void 0&&(I=e.subscribeConversations(z=>{b();let te=Date.now(),P=new Set(z.map(B=>Zn(B.ref)));for(let B of z){let $=w(B.ref,{nowMs:te});Ln(B.ref,i,$);}for(let[B,$]of d){if(!y.has(B)||P.has(B))continue;E($);let Q=w($,{nowMs:te});Ln($,i,Q);}y=P;})),()=>{k.delete(K),k.size===0&&i.delete(oe),i.has(oe)||d.delete(oe),i.size===0&&(I?.(),I=void 0,y=new Set);}}function v(){p();let C=Date.now();for(let K of d.values())Ln(K,i,w(K,{nowMs:C}));}function S(){I?.(),I=void 0,i.clear(),d.clear(),p();}let N=Object.freeze({get:w,refresh:g,subscribe:u});return Object.freeze({...N,api:N,beginProjectionUpdate:O,updateRelationshipProjection:m,updateGroupProfileProjection:a,updateChannelProfileProjection:o,reset:v,dispose:S})}var qd=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function tn(e,n){let t=e?.conversationType,s=e?.conversationId;if(t==="supergroup")throw W({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof s!="string"||s.trim()==="")throw W({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:t,conversationId:s})}function Wd(e){return e===null?null:Object.freeze({ref:tn(e.ref,"conversations.list"),text:e.text,mentions:Object.freeze(e.mentions.map(n=>Object.freeze({...n}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function $d(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}return Object.freeze({kind:e.kind})}}function yr(e){let n=$d(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})}}),s=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),i=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:tn({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...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"&&s!==void 0?{channelPermissions:s}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:Wd(e.draft)})}function Jd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Mn(e,n,t,s){return Jd(e)?e:W({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:t,...s===void 0?{}:{conversation:s},cause:e})}function as(e){let n=new Set,t,s,i;function d(){return Object.freeze(e.getCompatibilityApi().list().map(yr))}function c(){let E=e.getSessionState();return E==="preparing"?"loading":E==="ready"?"ready":"idle"}function I(){try{let E=d();return Object.freeze({state:s??c(),items:E,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(E){let p=Mn(E,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(p)})}}function y(){let E=I();for(let p of [...n])p(E);}function h(E){return n.add(E),E(I()),t===void 0&&(t=e.subscribeEvents(p=>{qd.has(p.type)&&y();})),()=>{n.delete(E),n.size===0&&(t?.(),t=void 0);}}return {api:{list:d,getBackground:E=>e.getCompatibilityApi().getBackground(tn(E,"conversations.getBackground")),setBackground:(E,p)=>e.getCompatibilityApi().setBackground(tn(E,"conversations.setBackground"),p),resetBackground:E=>e.getCompatibilityApi().resetBackground(tn(E,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:E=>e.getCompatibilityApi().setDefaultBackground(E),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:E=>e.getCompatibilityApi().listBackgroundPresets(E),getSnapshot:I,subscribe:h,async refresh(){s="loading",i=void 0,y();try{await e.getCompatibilityApi().sync(),s=void 0,y();}catch(E){throw s="error",i=Mn(E,"conversations.refresh",true),y(),i}},getTotalUnread(E){return d(),e.getCompatibilityApi().getTotalUnread(E)},setPinned(E,p){let b=tn(E,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(b,p);}catch(O){throw Mn(O,"conversations.setPinned",false,b)}},async setMuted(E,p){let b=tn(E,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(b,p);}catch(O){throw Mn(O,"conversations.setMuted",true,b)}},async markRead(E){let p=tn(E,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(p);}catch(b){throw Mn(b,"conversations.markRead",true,p)}},markUnread(E){let p=tn(E,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(p);}catch(b){throw Mn(b,"conversations.markUnread",false,p)}},deleteLocal(E){let p=tn(E,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(p);}catch(b){throw Mn(b,"conversations.deleteLocal",false,p)}}},dispose(){t?.(),t=void 0,n.clear();}}}var Yd=128,Xd=8,Qd=64*1024*1024,Zd=3,Tt=1024*1024;function el(e){let n=0,t=false,s=[];function i(){if(!t)for(;n<e&&s.length>0;){let d=s.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 c=false;d.resolve(()=>{c||(c=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((c,I)=>{let y={resolve:c,reject:I,signal:d,onAbort:()=>{let h=s.indexOf(y);h>=0&&s.splice(h,1),I(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",y.onAbort,{once:true}),s.push(y),i();})},dispose(){t=true;for(let d of s.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 is(){return oa([{kind:"image",softMaxBytes:512*Tt,maxEntries:512,maxEntryBytes:30*Tt},{kind:"video",softMaxBytes:1792*Tt,maxEntries:64,maxEntryBytes:200*Tt}])}function ss(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function nl(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function _t(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function hr(e,n,t){return `${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(t)}`}function vr(e){let n=e.ref.conversationType,t=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||t.trim()==="")throw De({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let s=_t({conversationType:n,conversationId:t});return cs({id:hr(e.direction,s,e.messageId),messageId:e.messageId,ref:s,direction:e.direction,state:e.state,percent:ss(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:tl(e.failure,s)}})}function De(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function tl(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(W({...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:_t(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function rl(e){let n=e?.conversation,t=n?.conversationType,s=n?.conversationId;if(t==="supergroup")throw De({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof s!="string"||s.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw De({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return _t({conversationType:t,conversationId:s})}function ds(e){let n=true,t=0,s=new Map,i=new Set,d=new Map,c=new Map,I=new Map,y=el(Zd),h=e.maxCachedBlobs??Xd,T=e.maxCachedBlobBytes??Qd,E=0;function p(){if(!n||!e.isActive())throw De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function b(){return Object.freeze([...s.values()])}function O(){let P=b();for(let B of [...i])try{B(P);}catch($){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:$}});}}function M(P){let B=I.get(P);B!==void 0&&(E-=B.size,I.delete(P));}function w(P){s.delete(P),d.delete(P),M(P);}function g(){for(;s.size>Yd;){let P=[...s.values()].find(B=>B.state==="completed"||B.state==="failed"||B.state==="canceled");if(P===void 0)return;w(P.id);}}function m(P){s.set(P.id,cs(P)),g();}function a(P){if(!n||!e.isActive())return;m(P);let B=s.get(P.id);if(O(),!n||!e.isActive()||B===void 0||s.get(P.id)!==B)return;let $={id:B.id,messageId:B.messageId,ref:B.ref,direction:"download",state:B.state,percent:B.percent};e.emitter.emit({type:"media-task:updated",conversation:B.ref,task:$});}function o(P,B){if(M(P),!(B.size>T))for(I.set(P,B),E+=B.size;I.size>h||E>T;){let $=I.keys().next().value;if($===void 0)break;M($);}}function u(P,B=true){let $=rl(P),Q=e.domainState.getConversationMessage($,P.messageId);if(Q===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:$});let re,A,L,U;if(Q.contentType==="image"?(re=Q.body.image,A=e.loaders?.loadImage,U="image"):Q.contentType==="video"?(re=Q.body.video,A=e.loaders?.loadVideo,U="video"):Q.contentType==="voice"?(re=Q.body.voice,A=e.loaders?.loadVoice):Q.contentType==="file"&&(re=Q.body.file,A=e.loaders?.loadFile,L=Q.body.file?.mimeType),re===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:$});if(B&&A===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:$});if(re.url.trim()===""||re.url.startsWith("blob:"))throw De({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:$});return {ref:$,messageId:Q.id,...L===void 0?{}:{mimeType:L},...U===void 0?{}:{cacheKind:U,resourceVersion:pa$1(re.url)},...A===void 0?{}:{load:A},input:{url:re.url,...re.size===void 0?{}:{expectedBytes:re.size},...re.teaKey===void 0?{}:{teaKey:re.teaKey},...re.fileEncryptType===void 0?{}:{fileEncryptType:re.fileEncryptType}}}}function v(P){return De({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:P})}function S(){return De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function N(P,B,$=t){if(p(),$!==t)return null;let Q=hr("download",P.ref,P.messageId),re=I.get(Q);if(re!==void 0)return I.delete(Q),I.set(Q,re),re;if(e.assetCache===void 0||P.cacheKind===void 0||P.resourceVersion===void 0)return null;let A;try{A=await e.assetCache.get({kind:P.cacheKind,messageId:P.messageId,resourceVersion:P.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:A===null?"miss":"hit",kind:P.cacheKind,messageId:P.messageId,...A===null?{}:{byteLength:A.bytes.byteLength}});}catch(U){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:P.cacheKind,messageId:P.messageId,cause:U}),B)throw De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:P.ref});return null}if(A===null||(p(),$!==t))return null;let L=new Blob([A.bytes],{type:A.mimeType??P.mimeType??""});return o(Q,L),L}function C(P,B=false){let $=t,Q=hr("download",P.ref,P.messageId),re=c.get(Q);if(re!==void 0)return re.promise;if(!B){let Y=I.get(Q);if(Y!==void 0)return I.delete(Q),I.set(Q,Y),Promise.resolve(Y)}M(Q);let A=_t(P.ref);d.set(Q,Object.freeze({conversation:A,messageId:P.messageId}));let L=new AbortController,U=Promise.resolve().then(async()=>{let Y;try{if(!n||!e.isActive())throw S();if(L.signal.aborted)throw v(A);if(Y=await y.acquire(L.signal),!n||!e.isActive())throw S();if(L.signal.aborted)throw v(A);if(a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"running",percent:0}),!n||!e.isActive())throw S();if(L.signal.aborted)throw v(A);if(!B&&e.assetCache!==void 0&&P.cacheKind!==void 0&&P.resourceVersion!==void 0){let ce=await N(P,!1,$);if(ce!==null){if(L.signal.aborted)throw v(A);return a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"completed",percent:100}),ce}}let G=P.load;if(G===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:A});let ae=await G({...P.input,signal:L.signal,onProgress:ce=>{let ve=s.get(Q);if(!n||!e.isActive()||L.signal.aborted||c.get(Q)?.controller!==L||ve?.state!=="running")return;let Ee=Math.min(99,ss(ce));Ee<=ve.percent||a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"running",percent:Ee});}});if(!n||!e.isActive())throw S();if(L.signal.aborted)throw v(A);let de=ae instanceof Blob?void 0:ae,Ie=de===void 0?ae:new Blob([de],P.mimeType===void 0?void 0:{type:P.mimeType});if(P.mimeType!==void 0&&Ie.type!==P.mimeType&&(Ie=Ie.slice(0,Ie.size,P.mimeType)),$===t&&o(Q,Ie),$===t&&de!==void 0&&e.assetCache!==void 0&&P.cacheKind!==void 0&&P.resourceVersion!==void 0){let ce=de.byteLength;e.assetCache.put({kind:P.cacheKind,messageId:P.messageId,resourceVersion:P.resourceVersion,bytes:de,...P.mimeType===void 0?{}:{mimeType:P.mimeType}}).then(ve=>{e.onAssetCacheEvent?.({operation:"put",outcome:ve,kind:P.cacheKind,messageId:P.messageId,byteLength:ce});}).catch(ve=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:P.cacheKind,messageId:P.messageId,byteLength:ce,cause:ve});});}if(a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"completed",percent:100}),!n||!e.isActive())throw S();return Ie}catch(G){if(!n||!e.isActive())throw S();if(L.signal.aborted||typeof G=="object"&&G!==null&&"code"in G&&G.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let de=v(A);throw s.get(Q)?.state!=="canceled"&&a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"canceled",percent:s.get(Q)?.percent??0,error:de}),de}let ae=De({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:A});throw a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"failed",percent:s.get(Q)?.percent??0,error:ae}),ae}finally{Y?.(),c.get(Q)?.controller===L&&c.delete(Q);}});return c.set(Q,{controller:L,promise:U}),a({id:Q,messageId:P.messageId,ref:A,direction:"download",state:"queued",percent:0}),U}function K(P){try{return p(),C(u(P))}catch(B){return Promise.reject(B)}}async function q(P){let B=u(P,false);return B.cacheKind===void 0?null:await N(B,true)}function oe(P,B){p();let $=s.get(P);if($===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:B,retryable:false});return $}function k(P,B){return De({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:B,retryable:false,conversation:P.ref,details:Object.freeze({state:P.state,direction:P.direction})})}let z=e.emitter.subscribe(P=>{!n||P.type!=="media-task:updated"||P.task.direction!=="upload"||nl(P.conversation,P.task.ref)&&(m(vr(P.task)),O());});return {api:{getSnapshot(){return p(),b()},subscribe(P){return p(),i.add(P),()=>i.delete(P)},async cancel(P){let B=oe(P,"media.cancel");if(B.state!=="queued"&&B.state!=="running")throw k(B,"media.cancel");if(B.direction==="upload"){if(!e.connection.cancelMediaUpload(B.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:B.ref});return}let $=c.get(P);if($===void 0)throw k(B,"media.cancel");$.controller.abort();let Q=v(B.ref);a({...B,state:"canceled",error:Q});},async retry(P){let B=oe(P,"media.retry");if(B.state!=="failed"&&B.state!=="canceled")throw k(B,"media.retry");if(B.direction==="upload"){if(!e.connection.retryMediaUpload(B.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:B.ref});return}if(c.has(P))throw De({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:B.ref});let $=d.get(P);if($===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await C(u($),true);},download:K,getCached:q},clearCache(){t+=1,I.clear(),E=0;},dispose(){if(n){n=false,t+=1,z();for(let P of c.values())P.controller.abort();y.dispose(),c.clear(),i.clear(),s.clear(),d.clear(),I.clear(),E=0;}}}}var ol={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"}},al={"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 ls(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function il(e,n){let t=ol[e.reason];return Object.freeze(W({...t,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Cr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:il(e.failure,n)}})}function sl(e){let n=ls(e);return Cr({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 s=W({code:al[n],category:"state",operation:e,retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({reason:n})});return Object.assign(new Error(s.code),s,{name:"ImOutboxOperationError"})}function us(e){let n=true,t=new Set;function s(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function i(){return s(),Object.freeze(e.operations.getPending().map(sl))}async function d(I,y){s();let h=e.operations.getPending().find(E=>E.id===y),T=I==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!T.accepted)throw cl(I,T.reason,h===void 0?void 0:ls(h))}return {api:{getSnapshot:i,subscribe(I){s();let y=e.emitter.subscribe(T=>{T.type==="outbox:updated"&&n&&I(i());}),h=()=>{y(),t.delete(h);};return t.add(h),h},retry:I=>d("outbox.retry",I),cancel:I=>d("outbox.cancel",I)},dispose(){if(n){n=false;for(let I of [...t])I();}}}}function dl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Dt(e){return Object.freeze({type:"error",error:Object.freeze(W(e))})}function Le(e){throw W(e)}function ue(e,n,t){return (typeof e!="string"||e.trim()==="")&&Le({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 Se(e,n){let t=e,s=t?.conversationType,i=t?.conversationId;return s==="supergroup"&&Le({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:s,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(s!=="direct"&&s!=="group"&&s!=="channel"||typeof i!="string"||i.trim()==="")&&Le({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:s,conversationId:i})}function ll(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function et(e,n){let t=Se(e,n);return t.conversationType!=="direct"&&Le({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 Fn(e,n){let t=Se(e,n);return t.conversationType!=="group"&&Le({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){ll(e,n)||Le({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:t})});}function ul(e){return Object.freeze({...e})}function pl(e,n){return Sn(Se(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 ml(e){let n=ue(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let t=Se(e.conversation,"application:updated");t.conversationType!=="group"&&Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let s=Object.freeze({conversationType:"group",conversationId:t.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:s})}if(e.domain==="channel"){let t=Se(e.conversation,"application:updated");t.conversationType!=="channel"&&Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let s=Object.freeze({conversationType:"channel",conversationId:t.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:s})}return Le({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function fl(e){return Object.freeze({ref:ml(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function gl(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 Il(e){return Object.freeze(W({...{transport:{code:"IM_SDK_TRANSPORT_ERROR",category:"network",retryable:true},protocol:{code:"IM_SDK_PROTOCOL_ERROR",category:"protocol",retryable:false},login:{code:"IM_SDK_AUTH_ERROR",category:"auth",retryable:false},sync:{code:"IM_SDK_SYNC_ERROR",category:"network",retryable:true},crypto:{code:"IM_SDK_CRYPTO_ERROR",category:"state",retryable:false},http:{code:"IM_SDK_HTTP_ERROR",category:"network",retryable:true},storage:{code:"IM_SDK_STORAGE_ERROR",category:"state",retryable:true},unknown:{code:"IM_SDK_INTERNAL_ERROR",category:"state",retryable:false}}[e.scope],operation:`core.${e.scope}`}))}function yl(e,n){if(dl(e)){let{cause:t,...s}=e;return Dt(s)}return Dt({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function hl(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:ul(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let t=Se(e.conversation,e.type);return Sn(Se({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),t,e.type),e.source!=="offline"&&e.source!=="live"&&Le({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(xn(e.message)),source:e.source})}case "message:removed":{let t=Se(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,messageId:ue(e.messageId,"messageId",t),scope:"local-only"})}case "conversation-history:cleared":{let t=Se(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,scope:"local-only"})}case "media:progress":{let t=Se(e.conversation,e.type),s=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:t,messageId:ue(e.messageId,"messageId",t),percent:s})}case "media-task:updated":{let t=Se(e.conversation,e.type);Sn(Se(e.task.ref,e.type),t,e.type);let s=vr(e.task);return Object.freeze({type:e.type,ref:t,task:s})}case "session:updated":{let t=Se(e.conversation,e.type);Sn(Se({conversationType:e.session.type,conversationId:e.session.id},e.type),t,e.type);let s=n.getConversation(t);return s===void 0&&Le({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Sn(s.ref,t,e.type),Object.freeze({type:e.type,ref:t,conversation:s})}case "session:removed":{let t=Se(e.conversation,e.type);return e.conversationId!==t.conversationId&&Le({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=Se(e.conversation,e.type);t.conversationType!=="group"&&t.conversationType!=="channel"&&Le({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:t}),e.pinnedMessage!==null&&Sn(Se({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),t,e.type);let s=Object.freeze({conversationType:t.conversationType,conversationId:t.conversationId});return Object.freeze({type:e.type,ref:s,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let t=ue(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=Se(e.conversation,e.type);return (t.conversationType!=="channel"||e.channelId!==t.conversationId)&&Le({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=Se(e.conversation,e.type);return (t.conversationType!=="channel"||e.notification.channelId!==t.conversationId)&&Le({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:ue(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Le({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:ue(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let t=Se(e.conversation,e.type);return (e.conversationId!==t.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Le({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=Se(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,draft:pl(e.draft,t)})}case "draft:cleared":{let t=Se(e.conversation,e.type);return Object.freeze({type:e.type,ref:t})}case "outbox:updated":{let t=Se(e.conversation,e.type);return Sn(Se(e.item.conversation,e.type),t,e.type),Object.freeze({type:e.type,ref:t,item:Cr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:ue(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:fl(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=>Se(t,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...gl(e.issue)});case "error":return Object.freeze({type:e.type,error:Il(e.error)});case "call:incoming":{let t=et(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),peerId:ue(e.peerId,"peerId",t),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let t=et(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),peerId:ue(e.peerId,"peerId",t),result:e.result})}case "call:hangup":{let t=et(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),peerId:ue(e.peerId,"peerId",t),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let t=et(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),peerId:ue(e.peerId,"peerId",t)})}case "call:failed":{let t=et(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),peerId:ue(e.peerId,"peerId",t),reason:e.reason})}case "group-call:incoming":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),inviterId:ue(e.inviterId,"inviterId",t),inviteIds:Object.freeze(e.inviteIds.map(s=>ue(s,"inviteId",t))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),userId:ue(e.userId,"userId",t),agreed:e.agreed===!0})}case "group-call:joined":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),userId:ue(e.userId,"userId",t),inviteIds:Object.freeze(e.inviteIds.map(s=>ue(s,"inviteId",t))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),userId:ue(e.userId,"userId",t)})}case "group-call:busy":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),userId:ue(e.userId,"userId",t),hintUserId:ue(e.hintUserId,"hintUserId",t)})}case "group-call:failed":{let t=Fn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:ue(e.callId,"callId",t),groupId:ue(e.groupId,"groupId",t),reason:e.reason})}case "notification":return null}}catch(t){return yl(t,e)}}function vl(e){let{type:n,...t}=e;return Object.freeze(t)}function Cl(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=Se(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 c=n.get(i);if(c!==void 0)return c;let I=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:i.notification.messageId}));return n.set(i,I),I}function s(i){let d=true,c=e.subscribeCore(I=>{if(I.type==="contact-application:answered"&&I.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(Dt({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let T=ue(I.notification.responderId,"contactApplicationAnswer.responderId");t(I,T).then(E=>{if(!d||E===null)return;let p=Object.freeze({type:"contact-application:answered",peerId:T,result:E});i(p);}).catch(()=>{d&&i(Dt({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=hl(I,e);y!==null&&i(y);let h=Cl(I);h!==null&&i(Object.freeze({type:"group:activated",...h}));});return ()=>{d=false,c();}}return {subscribe:i=>s(i),on:(i,d)=>s(c=>{c.type===i&&d(vl(c));})}}function bn(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.accountScope===void 0?{}:{details:Object.freeze({accountScope:e.accountScope})},...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImLocalDataOperationError"})}function ms(e){function n(t){let s=e.getAccountId().trim();if(!e.isActive()||s==="")throw bn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:t,retryable:false});return s}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 bn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:t});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(s){throw bn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:t,cause:s})}e.emitter.emit({type:"local-data:cleared",accountScope:t,category:"rebuildable"});}}}function fs(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function nt(e,n,t,s){return W({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...s===void 0?{}:{conversation:s},details:Object.freeze({expectedId:n,actualId:t})})}function gs(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Is(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function ys(e,n){if(n.id!==e)throw nt("contacts.getProfile",e,n.id);let t=n.remark?.trim(),s=n.nickname;return Object.freeze({userId:e,displayName:t===void 0||t===""?s||e:n.remark,nickname:s,...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 hs(e,n){if(n.id!==e.conversationId)throw nt("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:gs(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 Ml(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 vs(e,n){if(n.id!==e.conversationId)throw nt("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Is(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:Ml(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 Cs(e){return e.state==="ready"?Object.freeze({state:"ready",message:St(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 kt(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw nt("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:gs(e),messageId:n.messageId,preview:Cs(n.preview)})}function Ot(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw nt("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Is(e),messageId:n.messageId,preview:Cs(n.preview)})}function Sl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function bl(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 Pl(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Mr(e,n,t){return Sl(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Pl(e)?W({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:bl(e.kind),operation:n,retryable:e.retryable===true,...t===void 0?{}:{conversation:t},cause:e}):W({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 Ms=new WeakMap;function Sr(e,n){Ms.set(e,n);}function Ss(e){let n=Ms.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 El="IM_SDK_CHANNEL_NOT_MEMBER",Al="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Rl="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",wl="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Tl(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function _l(e,n,t){if(Tl(e))return e;let s=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":s===40542?El:s===40527?Al:s===40547?Rl:e instanceof c$1?wl:e instanceof b$1?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let d=e instanceof ka?"contract":e instanceof b$1?"network":s===40527?"permission":"state",c=W({code:i,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"channel",conversationId:t},...s===void 0?{}:{details:Object.freeze({businessCode:s})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),c)}async function Oe(e,n,t){try{return await t()}catch(s){throw _l(s,e,n)??s}}var Dl={pinMessage:()=>Promise.reject(new ge({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new ge({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new ge({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new ge({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function bs(e){let n=new Map,t=new Map,s=true,i=p=>({conversationType:"channel",conversationId:p}),d=p=>{t.set(p,(t.get(p)??0)+1);};function c(p){if(!s||n.has(p))return;let b=t.get(p)??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:p}}});return}try{let M=await ba({client:e.coreClient,channelId:p});if(!s||(t.get(p)??0)!==b)return;if(!M.ok){e.emitter.emit({type:"error",error:{scope:"http",code:M.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${M.message}`,cause:{conversationId:p}}});return}if(M.data===null){e.domainState.clearPinnedMessage(i(p),"reconcile");return}e.domainState.setPinnedMessage(t$1(M.data.messageContent,{conversationId:p}),"reconcile");}catch(M){if(!s||(t.get(p)??0)!==b)return;let w=M instanceof h$1||M instanceof q?"protocol":"http";e.emitter.emit({type:"error",error:{scope:w,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:M}});}})();n.set(p,O),O.finally(()=>{n.get(p)===O&&n.delete(p);});}let I=Da({domainState:e.domainState,emitter:e.emitter,requestReconcile:c}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated")return;let b=p.message;if(b.conversationType!=="channel")return;let O=b.body.system?.pinnedMessageAction;O!==void 0&&p.source!=="live"&&p.channelLifecycleEffects!==true||((O?.type==="pin"||O?.type==="unpin")&&d(b.conversationId),I.handleMessage(b));});function h(p,b){if(b.trim()==="")throw new ge({operation:p,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(b));if(O===void 0)throw new ge({operation:p,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="channel")throw new ge({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function T(p,b){if(e.coreClient===void 0)throw new ge({operation:p,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,b),e.coreClient}return {operations:{pinMessage:async({channelId:p,messageId:b})=>{let O=T("pin",p),M=e.domainState.getConversationMessage(i(p),b);if(M===void 0)throw new ge({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(M.conversationType!=="channel")throw new ge({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(M.conversationId!==p)throw new ge({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:w,pinnedMessage:g}=u$1(M),m=await qa({client:O,channelId:p,messageContent:w});if(!m.ok)throw un("pin",m.code,m.message);d(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new ge({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(w){throw pn("pin",w)}},unpinMessage:async p=>{let b=T("unpin",p);try{let O=await Ka$1({client:b,channelId:p});if(!O.ok)throw un("unpin",O.code,O.message);d(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(O){throw pn("unpin",O)}},getPinnedMessage:async p=>{let b=T("get",p);try{let O=await ba({client:b,channelId:p});if(!O.ok)throw un("get",O.code,O.message);if(d(p),O.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let M=t$1(O.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(M,"reconcile");let w=e.domainState.getPinnedMessage(i(p));if(w===void 0)throw new ge({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return w}catch(O){throw pn("get",O)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{s&&(s=false,y());}}}async function mn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var kl={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:mn,prefetchFirstPage:mn,refreshFirstPage:mn,listFirstPage:mn,listNextPage:mn,searchFirstPage:mn,refreshSearchFirstPage:mn,searchNextPage:mn},Ol=new Set(["unknown_restricted","left","removed","dismissed"]);function Fe(e){return Ol.has(e)}function Ps(e){let n=true;function t(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function s(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function i(){if(s(),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 c(T){let p=await i().listJoinApplications({limit:T?.limit??20,...T?.cursor===void 0?{}:{cursor:T.cursor}});return s(),p}async function I(T,E){s();let p=d(T),b=i();await(E==="accept"?b.acceptJoinApplication(p):b.ignoreJoinApplication(p)),s();}async function y(T,E,p,b){t();let O=await P({http:e.http,userId:p,clientType:e.clientType,channelId:T,index:E,containAnchor:b,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return t(),O}async function h(T,E,p){let b=await y(T,E,p,true),O=b.messages.find(M=>M.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:b,message:O}}return {applications:{listJoinApplications:c,acceptJoinApplication:T=>I(T,"accept"),ignoreJoinApplication:T=>I(T,"ignore")},loadMessageContext:h,loadNewerPage:(T,E,p)=>y(T,E,p,false),dispose:()=>{n=false;}}}function Es(e){async function n(i,d,c){let I=new Map(d.filter(v$1).sort((h,T)=>h.sortKey.localeCompare(T.sortKey)).map(h=>[h.id,h]));if(I.size===0)return;let y=await e.authProvider.getLoginContext();if(y===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;I.size>0;){let h=I.values().next().value;I.delete(h.id);let T=h.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=${h.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let E=e.getHistoryGeneration(),p=e.getHistoryEpoch(i);try{let{context:b,message:O}=await e.loadMessageContext(i,T,y.userId);if(!e.isActive()||E!==e.getHistoryGeneration()||p!==e.getHistoryEpoch(i))return;if(O.id!==h.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${T}, expected=${h.id}, actual=${O.id}\uFF09`);if(O.contentType!=="system"||v$1(O))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${T}, messageId=${h.id}\uFF09`);let M=b.messages.filter(w=>w.id===h.id||I.has(w.id));if(M.some(w=>w.contentType!=="system"||v$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(M,"offline"),c.applyIncoming(M.flatMap(w=>{let g=e.domainState.getMessage(w.id);return g===void 0?[]:[g]}));for(let w of M)I.delete(w.id);}catch(b){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${h.id}\uFF09`,cause:b}});}}}function t(i,d){return i?.conversationType===d.conversationType&&i.conversationId===d.conversationId}async function s(i,d=e.domainState.messageWindow){if(i.stale||!i.messages.some(v$1))return i;let c=d.info().conversation;if(c===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let I=e.domainState.getSession(c);if(I?.type!=="channel"||I.channelState!==void 0&&Fe(I.channelState))return i;let y=d.getRevision();if(await n(c.conversationId,i.messages,d),d.getRevision()!==y||!t(d.info().conversation,c))return {...i,stale:true};let h=new Map(d.list().map(T=>[T.id,T]));return {...i,messages:i.messages.map(T=>h.get(T.id)??T)}}return {reconcilePage:s}}function As(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(g,m,a,o){let v=W({code:g,category:g==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":g==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:g==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...a===void 0?{}:{details:a},...o===void 0?{}:{cause:o}});return Object.assign(new Error(m),v)}function s(g){let m=g.name.trim();if(m==="")throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>75)throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let a=g.memberIds;if(!Array.isArray(a))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=a.map(v=>typeof v=="string"?v.trim():"");if(o.includes(""))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let u=[...new Set(o)];if(u.length>40)throw t("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:u}}function i(){if(e.crypto===void 0)throw 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 g=e.crypto.randomTeaKey();if(!(g instanceof Uint8Array)||g.length!==16)throw t("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let m="";for(let a of g)m+=String.fromCharCode(a);return globalThis.btoa(m)}function d(g,m){let a=g.trim();if(a==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function c(g){let m=g.trim();if(m==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...m].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return m}function I$1(g){let m=g.trim();if(m==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...m].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return m}async function y(g){let m=(await e.getSelfUserId?.()??"").trim();return m!==""&&m===g.trim()}function h(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function T(g,m,a){if(g!==1&&g!==2&&g!==4){let u=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),u)}if(g!==4)return {verifyType:g};let o=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let u=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),u)}return {verifyType:g,inviteCode:o}}function E$1(g){if(!Array.isArray(g))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(g.map(m=>d(m,"\u793E\u7FA4\u6210\u5458 id")))]}function p(g){e.emitter?.emit({type:"channel-profile:updated",channelId:g,conversation:{conversationType:"channel",conversationId:g}});}function b(g){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(g).catch(m=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:g,error:m}}});});}function O$1(g){if(g===void 0)return;let m=typeof g=="number"?g:Number(g);return Number.isSafeInteger(m)?m:void 0}function M$1(g){if(typeof g=="boolean")return g;if(g===1||g==="1"||g==="true")return true;if(g===0||g==="0"||g==="false")return false}function w(g){if(g===null||typeof g!="object"||g===void 0)throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let m=g.id??g.radio_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let a=g.name?.trim()??"";if(a==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(m),u=O$1(g.total_users),v=O$1(g.status),S=O$1(g.verify_way),N=O$1(g.update_version),C=M$1(g.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:a,...g.head_img_url?.trim()===""||g.head_img_url===void 0?{}:{avatar:g.head_img_url},...g.user_id===void 0?{}:{ownerId:String(g.user_id)},...u===void 0?{}:{memberCount:u},...v===void 0?{}:{status:v},...C===void 0?{}:{isInChannel:C},...S===void 0?{}:{verifyWay:S},...N===void 0?{}:{updateVersion:N},...g.invite_code===void 0?{}:{inviteCode:g.invite_code}}}return {...n,mentions:e.mentionCandidates??kl,uploadAvatar:async g=>{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 Nn(e.avatarTransfer,g)},create:async g=>{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 m=s(g),a=i();try{let o=await Z({client:e.coreClient,name:m.name,memberIds:m.memberIds,secretKey:a,...g.avatarUrl===void 0?{}:{avatarUrl:g.avatarUrl}});if(!o.ok){let S=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw t(S,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let u=w(o.data);e.cacheCreatedSecretKey?.(u.ref.conversationId,a);let v=u.status===3?"dismissed":u.status===void 0||u.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({id:u.ref.conversationId,type:"channel",title:u.name,...u.avatar===void 0?{}:{avatar:u.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:v,channelPermissions:sa("owner",v)}),Object.freeze({channel:u})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof b$1?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:g=>e.channelProfile?.listProfiles(g)??Promise.resolve([]),getProfile:(g,m)=>e.channelProfile?.getProfile(g,m)??Promise.resolve(null),listMembers:g=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),prefetchMembers:g=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(g),getCachedMembers:g=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(g),refreshMembers:g=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(g),searchMembers:g=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:g.channelId,query:g.query,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),listMentionMembers:g=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),searchMentionMembers:g=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:g.channelId,query:g.query,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),listAdmins:g=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:g.channelId,limit:g.limit??18,...g.cursor===void 0?{}:{cursor:g.cursor}}),getMembersByIds:(g,m,a)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(g,m,a),updateName:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u793E\u7FA4\u540D\u79F0");await Oe("channels.updateName",o,()=>C({client:a,channelId:o,name:u})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:u}),p(o);},updateDescription:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=I$1(m);await Oe("channels.updateDescription",o,()=>C({client:a,channelId:o,description:u})),p(o);},updateAvatar:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let u=await Oe("channels.updateAvatar",o,()=>Nn(e.avatarTransfer,m));return await Oe("channels.updateAvatar",o,()=>C({client:a,channelId:o,avatarUrl:u})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:u}),p(o),u},setMyNickname:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=c(m);await Oe("channels.setMyNickname",o,()=>D({client:a,channelId:o,nickname:u})),p(o);},setMemberNickname:async(g,m,a)=>{let o=h(),u=d(g,"\u793E\u7FA4 id"),v=d(m,"\u793E\u7FA4\u6210\u5458 id");if(await y(v))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let S=c(a);await Oe("channels.setMemberNickname",u,()=>E({client:o,channelId:u,userId:v,nickname:S})),p(u);},updateVerification:async(g,m,a)=>{let o=h(),u=d(g,"\u793E\u7FA4 id"),v=T(m,a,u);await Oe("channels.updateVerification",u,()=>L({client:o,channelId:u,verifyType:v.verifyType,...v.inviteCode===void 0?{}:{inviteCode:v.inviteCode}})),p(u);},requestJoin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=m?.remarks?.trim();return Oe("channels.requestJoin",o,()=>na$1({client:a,channelId:o,...u===void 0?{}:{remarks:u}}))},joinByInviteCode:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=m.trim();if(!/^\d{6}$/.test(u))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Oe("channels.joinByInviteCode",o,()=>oa$1({client:a,channelId:o,inviteCode:u}))},setAllMuted:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id");await Oe("channels.setAllMuted",o,()=>M({client:a,channelId:o,muted:m})),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},setMemberPrivateChatDisabled:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id");await Oe("channels.setMemberPrivateChatDisabled",o,()=>N({client:a,channelId:o,disabled:m})),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},inviteMembers:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=E$1(m);if(u.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Oe("channels.inviteMembers",o,()=>F({client:a,channelId:o,userIds:u})),p(o);},removeMember:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await Oe("channels.removeMember",o,()=>G$1({client:a,channelId:o,userId:u})),p(o);},addAdmin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await Oe("channels.addAdmin",o,()=>H({client:a,channelId:o,userId:u})),b(o),p(o);},removeAdmin:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await Oe("channels.removeAdmin",o,()=>I({client:a,channelId:o,userId:u})),b(o),p(o);},transferOwnership:async(g,m)=>{let a=h(),o=d(g,"\u793E\u7FA4 id"),u=d(m,"\u65B0\u793E\u7FA4\u4E3B id");await Oe("channels.transferOwnership",o,()=>J({client:a,channelId:o,userId:u})),b(o),e.domainState?.refreshConversationProfile?.(o,"channel"),p(o);},leave:async(g,m)=>{let a=h();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let o=d(g,"\u793E\u7FA4 id"),u=m?.newOwnerId===void 0?void 0:d(m.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await Oe("channels.leave",o,()=>K({client:a,channelId:o,...u===void 0?{}:{newOwnerId:u}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),p(o);},dismiss:async g=>{let m=h();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=d(g,"\u793E\u7FA4 id");await Oe("channels.dismiss",a,()=>O({client:m,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),p(a);},...e.applications,...e.pinned??Dl}}function xl(e){let t=W({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(t.code),t)}function Nl(e){let n=e.responseCode===U,i=W({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(i.code),i)}function Ll(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Rs(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,s=new Map,i=new Map,d=new Map,c=0,I=false,y=5e3;function h(a,o,u){if(I)return "unknown";if(u!==void 0&&t.get(a)!==u)return s.get(a)??"unknown";let v=s.get(a);return s.set(a,o),i.set(a,Date.now()),v!==o&&e.onRelationshipChanged?.(a,o),o}function T$1(a,o){if(I)return;let u=p(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");t.set(u,++c),h(u,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 p(a,o){let u=a.trim();if(u==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return u}function b(a,o){e.profile!==void 0&&e.profile.getUserProfile(a,{forceRefresh:true}).catch(u=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:u}});});}async function 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(u=>({countryCode:u.countryCode,mobile:u.mobile}))}}),e.domainState.getSession(a)?.type==="direct"&&e.domainState.refreshConversationProfile(a,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:a});}function M(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(I)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let u=a.trim();if(u==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let v=d.get(u);if(o&&v!==void 0)return v;let S=++c;t.set(u,S);let N=f(e.coreClient,{userId:u}).then(C=>h(u,M(C?.friend_status),S)).finally(()=>{d.get(u)===N&&d.delete(u);});return d.set(u,N),N}function g(a){return w(a,true)}async function m(a,o){let u=p(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),v;try{v=await w(u,!1);}catch(S){return I||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:u,error:S}}}),null}if(I)return null;if(v==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:u}}}),null;if(v!=="friend")return "rejected";T$1(u,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(u,o,Date.now());}catch(S){return I||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:u,error:S}}}),null}return I?null:(e.domainState.refreshConversationProfile(u,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:u}),b(u,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(a,o)=>e.profile?.getUserProfile(a,o)??Promise.resolve(null),peekProfile:a=>e.profile?.peekUserProfile?.(a)??Promise.resolve(null),setRemark: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?Nl(o):o}).then(o=>{if(o===null)return null;let u=M(o.friendStatus);return T$1(o.userId,u),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:u,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl},...o.username===void 0?{}:{username:o.username},...o.miCallId===void 0?{}:{miCallId:o.miCallId},...o.signature===void 0?{}:{signature:o.signature}})}),getRelationship:g,requestFriendship:async(a,o)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let u=p(a,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),v;try{v=await W$1(e.coreClient,{userId:u,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(N){throw N instanceof T?xl(N):N}let S=Ll(v.status);return T$1(u,S==="sent"?"pending":"friend"),S==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(u,j(),Date.now()),e.domainState.refreshConversationProfile(u,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:u}),b(u,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:S,...v.message===void 0?{}:{message:v.message}})},blockUser:async a=>{let o=p(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}),b(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,o)=>{let u=p(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),v=o.trim();if(v==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let S=e.getSelfId?.().trim()??"";if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Y(E("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:S,targetUserId:u,problem:v});},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(u){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:u}});}b(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:a=>s.get(a.trim()),ensureRelationship(a){let o=p(a,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),u=i.get(o);return u!==void 0&&Date.now()-u<y?Promise.resolve(s.get(o)??"unknown"):g(o)},updateRelationshipFromEvent:T$1,resolveApplicationAnswer:m,dispose:()=>{I=true,c+=1,t.clear(),s.clear(),i.clear(),d.clear();}}}function ws(e){return (n,t)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let s=e().filter(d=>d.id===n);if(s.length===0)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(s.length>1)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let i=s[0];if(i.type==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function Ts(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 s=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(s);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${s.conversationType}, conversationId=${s.conversationId}\uFF09`);await Ga$1({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:t}),e.domainState.setMuted(s,t);},markConversationRead:async n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),s=e.domainState.getSession(t);if(s===void 0)return;if(s.unreadCount===0&&s.manuallyUnread===true){e.domainState.clearConversationManualUnread(t);return}if(s.unreadCount===0&&(s.type!=="channel"||(s.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(t),d=i.at(-1)?.id??s.readCursor??"";if(s.type==="direct"){d!==""&&e.domainState.advanceRead(t,d),e.domainState.clearConversationManualUnread(t);return}if(s.type==="group"){let c=await e.authProvider.getLoginContext();if(c===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:e.http,userId:c.userId,groupId:t.conversationId}),e.domainState.applyServerUnread(t,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(t);return}if(s.type==="channel"){let c=Ja$1(i);if(c===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,c),e.domainState.clearConversationManualUnread(t);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${s.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(s=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",s));}}}var _s=1,Fl=3;function Ds(e){return typeof Blob<"u"&&e instanceof Blob}async function Pr(e){return Ds(e)?new Uint8Array(await e.arrayBuffer()):e}function ks(e){async function n(C){return e.connection.sendText(C)}async function t(C){return e.connection.sendContact(C)}async function s(C){return e.connection.forwardMessages(C)}async function i(C){return e.connection.recallMessage(C)}async function d(C){return e.connection.editMessage(C)}async function c(C){return e.connection.sendImage(C)}async function I(C){return e.connection.sendVideo(C)}async function y(C){return e.connection.sendVoice(C)}async function h(C){return e.connection.sendFile(C)}async function T(C){return e.connection.sendGif(C)}async function E(C){return e.connection.sendExpression(C)}async function p(C){return e.connection.sendGame(C)}async function b(C){return e.connection.sendMiniProgram(C)}async function O(C){return e.connection.sendTransfer(C)}async function M(C,K){return e.connection.replaceInterruptedVideo(C,K)}async function w(C,K){return e.connection.replaceInterruptedFile(C,K)}function g(C){e.connection.cancelMedia(C);}function m(C,K){return {url:C.url,...C.expectedBytes===void 0?{}:{expectedBytes:C.expectedBytes},...C.onProgress!==void 0?{onProgress:q=>C.onProgress?.(q.percent)}:{},...C.signal!==void 0?{signal:C.signal}:{},...K?{preferBlob:true}:{}}}async function a(C){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let K=await e.mediaTransfer.download(m(C,false)),q=await Pr(K);return C.teaKey!==void 0&&C.teaKey.length>0&&C.fileEncryptType!==_s?e.crypto.decryptSymmetric({teaKey:C.teaKey,cipherData:q}):q}async function o(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 K=C.fileEncryptType===Fl,q=await e.mediaTransfer.download(m(C,!K));if(C.teaKey===void 0||C.teaKey.length===0||C.fileEncryptType===_s)return q;let k=C.teaKey;if(K)return e.crypto.decryptSymmetric({teaKey:k,cipherData:await Pr(q)});if(!Ds(q))return e.crypto.decryptFileSimple({teaKey:k,cipherData:q});if(q.size<=32){let P=e.crypto.decryptFileSimple({teaKey:k,cipherData:await Pr(q)});return new Blob([P],{type:q.type})}let z=new Uint8Array(await q.slice(0,32).arrayBuffer()),te=e.crypto.decryptFileSimple({teaKey:k,cipherData:z});return new Blob([te,q.slice(32)],{type:q.type})}function u(C){e.connection.retryMessage(C);}function v(C,K){let q={conversationType:"channel",conversationId:C},oe=e.domainState.getLoadedMessagesByConversation(q),z=e.domainState.getConversationMessage(q,K)??oe.find(P=>Ia$1(P)===K),te=Ia$1(z);if(z===void 0||typeof te!="string"||te.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${C}, input=${K}\uFF09`);return z.id}async function S(C){let K=C.conversationType??e.domainState.getSession(C.conversationId)?.type;if(K==="channel"){let q=v(C.conversationId,C.readCursor);await e.connection.markRead(C.conversationId,q,"channel");return}await e.connection.markRead(C.conversationId,C.readCursor,C.conversationType),K==="direct"&&await e.prepareDirectReadReceipt?.(C.conversationId);}async function N(C,K){e.connection.reportDirectMediaConsumed?.(C,K),await e.prepareDirectReadReceipt?.(C);}return {operations:{sendText:n,sendContact:t,forwardMessages:s,recallMessage:i,editMessage:d,sendImage:c,sendVideo:I,sendVoice:y,sendFile:h,sendGif:T,sendExpression:E,sendGame:p,sendMiniProgram:b,sendTransfer:O,replaceInterruptedVideo:M,replaceInterruptedFile:w,cancelMediaUpload:g,loadImage:a,loadVideo:a,loadVoice:a,loadFile:o,retry:u,markRead:S,markDirectMediaConsumed:N}}}function Os(e){return {...e.operations,get state(){return e.getState()}}}var Kl=50,Ul=1e3,Be={ALREADY_CONTACT:40101,CONTACT_PERMISSION_DENIED:40109,CONTACT_LIMIT_REACHED:40121,PEER_CONTACT_LIMIT_REACHED:40122,ALREADY_GROUP_MEMBER:40508,LEGACY_ALREADY_GROUP_MEMBER:39016,GROUP_MEMBER_LIMIT_REACHED:40506,LEGACY_GROUP_MEMBER_LIMIT_REACHED:39057,GROUP_DISBANDED:40610,GROUP_PERMISSION_DENIED:40501,REQUEST_ALREADY_HANDLED:40108,OPERATION_FAILED:1017,GROUP_OPERATION_FAILED:39014,GROUP_APPLICATION_UNAVAILABLE_40521:40521,GROUP_APPLICATION_UNAVAILABLE_40612:40612,GROUP_APPLICATION_UNAVAILABLE_40617:40617};function Re(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImApplicationOperationError"})}function Bl(e,n){switch(e){case Be.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Be.CONTACT_PERMISSION_DENIED:case Be.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Be.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Be.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Be.ALREADY_GROUP_MEMBER:case Be.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Be.GROUP_MEMBER_LIMIT_REACHED:case Be.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Be.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Be.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Be.OPERATION_FAILED:case Be.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Be.GROUP_APPLICATION_UNAVAILABLE_40521:case Be.GROUP_APPLICATION_UNAVAILABLE_40612:case Be.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Gl(e){if(e instanceof i||e instanceof p$1)return e.code}function jl(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 xs(e,n,t){let s=Gl(t),i=Bl(s,e),d=jl(t);return Re({code:i,category:d.category,operation:n,retryable:d.retryable,cause:t})}function Ns(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function qe(e,n){if(typeof e!="string"&&typeof e!="number")throw Re({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 Re({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return t}function Er(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Re({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 Pn(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 Hl(e,n,t="pending"){return Object.freeze({ref:Pn(e),...n===void 0?{}:{createdAt:n},state:t})}function zl(e){let n=Er(e.createdAt),t=fn(e.applicantAvatar,"contact.applicantAvatar"),s=fn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Pn({domain:"contact",applicationId:qe(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:qe(e.applicantId,"contact.applicantId"),name:qe(e.applicantName,"contact.applicantName"),...t===void 0?{}:{avatarUrl:t},...s===void 0?{}:{displayId:s}}),message:Ar(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Vl(e){if(e.kind!=="request"&&e.kind!=="invite")throw Re({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Er(e.createdAt),t=fn(e.actor.avatarUrl,"group.actor.avatarUrl"),s=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:Pn({domain:"group",applicationId:qe(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:qe(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:qe(e.actor.id,"group.actor.id"),name:qe(e.actor.name,"group.actor.name"),...t===void 0?{}:{avatarUrl:t},...s===void 0?{}:{displayId:s}}),target:Object.freeze({id:qe(e.target.id,"group.target.id"),name:qe(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:Ar(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 Re({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 Ar(e,n){if(typeof e!="string"&&typeof e!="number")throw Re({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 ql(e){let n=Er(e.createdAt),t=fn(e.applicantAvatar,"channel.applicantAvatar"),s=fn(e.applicantDisplayId,"channel.applicantDisplayId"),i=fn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Pn({domain:"channel",applicationId:qe(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:qe(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:qe(e.applicantId,"channel.applicantId"),name:qe(e.applicantName,"channel.applicantName"),...t===void 0?{}:{avatarUrl:t},...s===void 0?{}:{displayId:s}}),target:Object.freeze({id:qe(e.channelId,"channel.channelId"),name:qe(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:Ar(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function tt(e){return `${e.domain}:${e.applicationId}`}function Ls(e){let n=false,t=0,s=0,i=new Map,d=new Map,c=new Map;function I(b,O){if(n||!e.isActive()||O!==void 0&&t!==O)throw Re({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:b,retryable:false})}function y(b){if(I(b),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Re({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function h(b,O){let M=[],w=new Set,g;for(let m=0;m<Ul;m+=1){let a=await O({limit:Kl,...g===void 0?{}:{cursor:g}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Re({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:b,retryable:false});if(M.push(...a.items),a.exhausted)return M;let o=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(o===""||w.has(o))throw Re({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:b,retryable:false});w.add(o),g=o;}throw Re({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:b,retryable:false})}async function T(){let b="applications.listPending",O=y(b),M=t,w=++s;try{let[g,m,a]=await Promise.all([h(b,S=>O.contact.listPendingApplications(S)),h(b,S=>O.group.listPendingApplications(S)),h(b,S=>O.channel.listJoinApplications(S))]);I(b,M);let o=[...g.map(zl),...m.map(Vl),...a.map(ql)],u=new Map;for(let S of o){let N=tt(S.ref);if(d.has(N))continue;let C=u.get(N);if(C!==void 0&&JSON.stringify(C.ref)!==JSON.stringify(S.ref))throw Re({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:b,retryable:!1});(C===void 0||(S.createdAt??0)>(C.createdAt??0))&&u.set(N,S);}let v=[...u.values()].sort((S,N)=>{let C=(N.createdAt??0)-(S.createdAt??0);return C!==0?C:tt(S.ref).localeCompare(tt(N.ref))});if(w===s){i.clear();for(let S of v)i.set(tt(S.ref),S);}return Object.freeze(v)}catch(g){throw Ns(g)?g:(I(b,M),xs("IM_SDK_APPLICATION_LIST_FAILED",b,g))}}function E(b,O){if(I(O),b===null||typeof b!="object")throw Re({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});let M=typeof b?.applicationId=="string"?b.applicationId.trim():"";if(M==="")throw Re({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});if(b.domain==="contact")return Pn({domain:"contact",applicationId:M});let w=typeof b.conversation?.conversationId=="string"?b.conversation.conversationId.trim():"";if(b.domain==="group"&&b.conversation?.conversationType==="group"&&w!=="")return Pn({domain:"group",applicationId:M,conversation:{conversationType:"group",conversationId:w}});if(b.domain==="channel"&&b.conversation?.conversationType==="channel"&&w!=="")return Pn({domain:"channel",applicationId:M,conversation:{conversationType:"channel",conversationId:w}});throw Re({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false})}function p(b,O){let M=O==="accepted"?"applications.accept":"applications.ignore",w=E(b,M),g=tt(w),m=d.get(g);if(m===O)return Promise.resolve();if(m!==void 0)return Promise.reject(Re({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:M,retryable:false}));let a=c.get(g);if(a!==void 0)return a.state===O?a.promise:Promise.reject(Re({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:M,retryable:true}));let o=t,u=Promise.resolve().then(async()=>{try{let S;if(w.domain==="contact"){if(e.contact===void 0)throw Re({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});S=O==="accepted"?e.contact.acceptApplication(w.applicationId):e.contact.ignoreApplication(w.applicationId);}else if(w.domain==="group"){if(e.group===void 0)throw Re({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});S=O==="accepted"?e.group.acceptApplication(w.applicationId):e.group.ignoreApplication(w.applicationId);}else {if(e.channel===void 0)throw Re({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:!1});S=O==="accepted"?e.channel.acceptJoinApplication(w.applicationId):e.channel.ignoreJoinApplication(w.applicationId);}if(await S,I(M,o),O==="accepted"&&w.domain==="contact"){let C=i.get(g);C?.kind==="contact-request"&&await e.onContactAccepted?.(C.applicant.id,w.applicationId);}d.set(g,O);let N=Hl(w,i.get(g)?.createdAt,O);i.delete(g),e.emitter.emit({type:"application:updated",application:N});}catch(S){throw Ns(S)?S:(I(M,o),xs("IM_SDK_APPLICATION_ACTION_FAILED",M,S))}}),v=()=>{c.get(g)?.promise===u&&c.delete(g);};return c.set(g,{state:O,promise:u}),u.then(v,v),u}return {api:{listPending:T,accept:async b=>p(b,"accepted"),ignore:async b=>p(b,"ignored")},dispose(){n||(n=true,t+=1,i.clear(),d.clear(),c.clear());}}}function En(e,n,t){try{t();}catch(s){let i=s instanceof Error?s.message:String(s);throw i.includes("\u672A\u9274\u6743")?W({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:s}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?W({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:s}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?W({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:s}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?W({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:s}):W({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:s})}}function Fs(e){return {invite(n){let t={conversationType:"direct",conversationId:n.peerId},s;return En("calls.invite",t,()=>{s=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),s},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 Rr=18,Wl=12,$l=300*1e3,Jl=64,Ks=Object.freeze([]),Yl=0;function Xl(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Us(e){let n=e.now??(()=>Date.now()),t=e.cacheTtlMs??$l,s=e.maxCacheEntries??Jl;if(!Number.isFinite(t)||t<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let i=++Yl,d=new Map,c=new Map,I=new Map,y=new Map,h=new Map,T=new Map,E=new Map,p=new Set,b=0,O=true,M=A=>y.get(A)??0;function w(){if(!O)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function g(A){if(A.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let L=A.conversationId.trim();if(L==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return L}function m(A){let L=d.get(A);d.delete(A),L?.page.nextPageToken!==void 0&&I.delete(L.page.nextPageToken);}function a(A,L){let U=d.get(A);return U===void 0?null:U.generation!==L||U.expiresAt<=n()?(m(A),null):(d.delete(A),d.set(A,U),U.page)}function o(A,L){for(m(A),d.set(A,L);d.size>s;){let U=d.keys().next().value;if(typeof U!="string")break;m(U);}}function u(A){let L=[],U=new Map;for(let Y of A){let G=Y.userId.trim();if(G==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");U.has(G)||L.push(G);let ae=Y.displayName.trim()||G,de=Y.avatar?.trim();U.set(G,Object.freeze({userId:G,displayName:ae,...de===void 0||de===""?{}:{avatar:de}}));}return Object.freeze(L.map(Y=>U.get(Y)))}async function v(A,L){let U=await Z$1(L);return Object.freeze(A.filter(Y=>U.match(Y.displayName)!==null||U.match(Y.userId,{pinyin:false})!==null))}async function S(A,L){let U=await P(A);return U===null?Ks:v(U.page.items,L)}function N(A,L){let U=[...A.items],Y=new Set(U.map(G=>G.userId));for(let G of L)Y.has(G.userId)||(Y.add(G.userId),U.push(G));return Object.freeze({...A,items:Object.freeze(U)})}function C(A,L){let U=A.map(G=>G.userId),Y=new Map(A.map(G=>[G.userId,G]));for(let G of L)Y.has(G.userId)||U.push(G.userId),Y.set(G.userId,G);return U.map(G=>Y.get(G))}function K(A,L,U){let Y=`im-channel-mention:${i}:${++b}`;for(I.set(Y,{...A,generation:L,expiresAt:U});I.size>s;){let G=I.keys().next().value;if(typeof G!="string")break;I.delete(G);}return Y}function q(A){let L=A.nextCursor?.trim();if(A.exhausted&&L!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!A.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 oe(A,L,U,Y){let G=q(A),ae=G===void 0?void 0:K({...L,cursor:G},U,Y);return Object.freeze({items:u(A.items),...ae===void 0?{}:{nextPageToken:ae},exhausted:A.exhausted})}function k(){if(e.provider===void 0)throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u4E13\u7528 mention member provider");return e.provider}function z(A,L){let U=h.get(A);for(U?.page.nextPageToken!==void 0&&I.delete(U.page.nextPageToken),h.delete(A),h.set(A,L);h.size>s;){let Y=h.keys().next().value;if(Y===void 0)break;let G=h.get(Y);G?.page.nextPageToken!==void 0&&I.delete(G.page.nextPageToken),h.delete(Y);}}function te(A,L){let U=n()+t,Y={channelId:A.channelId,kind:"list"},G=A.nextCursor===void 0?void 0:K({...Y,cursor:A.nextCursor},L,U);return {generation:L,updatedAt:A.updatedAt,page:Object.freeze({items:u(A.items),...G===void 0?{}:{nextPageToken:G},exhausted:A.exhausted})}}function P(A){w();let L=h.get(A);if(L!==void 0)return Promise.resolve(L);if(p.has(A)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let U=E.get(A);if(U!==void 0)return U;let Y=M(A),G=e.storage.getChannelMentionCandidateSnapshot(A).then(ae=>{if(w(),ae===null||ae.channelId!==A||M(A)!==Y||p.has(A))return null;let de=te(ae,Y);return z(A,de),de}).finally(()=>{E.get(A)===G&&E.delete(A);});return E.set(A,G),G}function B(A){w();let L=T.get(A);if(L!==void 0)return L;let U=M(A),Y=k(),G=(async()=>{let ae,de=false,Ie=[];for(let Te=0;Te<Wl&&!de;Te+=1){let We=await Y.listMentionMembers({channelId:A,limit:Rr,...ae===void 0?{}:{cursor:ae}});if(w(),M(A)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ae=q(We),de=We.exhausted,Ie=C(Ie,We.items);}let ce=n(),ve={channelId:A,items:Ie,...ae===void 0?{}:{nextCursor:ae},exhausted:de,updatedAt:ce};if(M(A)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(ve),w(),M(A)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ee=te(ve,U);return z(A,Ee),Ee.page})().finally(()=>{T.get(A)===G&&T.delete(A);});return T.set(A,G),G}function $(A,L=false){w();let U=M(A.channelId),Y=Xl(A);if(!L){let ce=a(Y,U);if(ce!==null)return Promise.resolve(ce)}let G=c.get(Y);if(G!==void 0&&G.generation===U)return G.promise;let ae=k(),de=A.kind==="list"?ae.listMentionMembers({channelId:A.channelId,limit:Rr,...A.cursor===void 0?{}:{cursor:A.cursor}}):ae.searchMentionMembers({channelId:A.channelId,query:A.keyword,limit:Rr,...A.cursor===void 0?{}:{cursor:A.cursor}}),Ie=Promise.resolve(de).then(async ce=>{w();let ve=A.kind==="search"&&A.cursor===void 0?await S(A.channelId,A.keyword):Ks;if(w(),M(A.channelId)!==U)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ee=n()+t,Te=oe(ce,A,U,Ee),We=ve.length===0?Te:N(Te,ve);return M(A.channelId)===U&&o(Y,{channelId:A.channelId,generation:U,expiresAt:Ee,page:We}),We}).finally(()=>{c.get(Y)?.promise===Ie&&c.delete(Y);});return c.set(Y,{generation:U,promise:Ie}),Ie}function Q(A,L){w();let U=I.get(A);if(U===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(U.kind!==L)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${L} \u5206\u9875`);if(U.expiresAt<=n())throw I.delete(A),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(M(U.channelId)!==U.generation)throw I.delete(A),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return U}return {api:{peekFirstPage(A){if(!O)return null;let L=g(A),U=h.get(L);return U===void 0||U.generation!==M(L)?null:(z(L,U),U.page)},peekSearchCandidates(A,L){if(!O)return Object.freeze([]);let U=g(A),Y=L.trim().toLocaleLowerCase();if(Y==="")return Object.freeze([]);let G=h.get(U);return G===void 0||G.generation!==M(U)?Object.freeze([]):(z(U,G),Object.freeze(G.page.items.filter(ae=>ae.displayName.toLocaleLowerCase().includes(Y)||ae.userId.toLocaleLowerCase().includes(Y))))},async getCachedPage(A,L){let U=g(A),Y=await P(U);if(Y===null)return null;let G=L?.trim()??"";if(G==="")return Y.page;let ae=await v(Y.page.items,G);return w(),Y.generation!==M(U)?null:Object.freeze({items:ae,exhausted:true})},async prefetchFirstPage(A){let L=g(A),U=await P(L);U!==null&&U.updatedAt+t>n()||await B(L);},async refreshFirstPage(A){return B(g(A))},async listFirstPage(A){let L=g(A),U=h.get(L);if(U!==void 0&&U.generation===M(L))return z(L,U),U.page;let Y=await P(L);return Y!==null?Y.page:B(L)},async listNextPage(A){return $(Q(A,"list"))},async searchFirstPage(A,L){let U=g(A),Y=L.trim();return Y===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:U,kind:"search",keyword:Y})},async refreshSearchFirstPage(A,L){let U=g(A),Y=L.trim();return Y===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:U,kind:"search",keyword:Y},true)},async searchNextPage(A){return $(Q(A,"search"))}},async invalidate(A){if(!O)return;let L=A.trim();if(L==="")return;y.set(L,M(L)+1),p.add(L);let U=h.get(L);U?.page.nextPageToken!==void 0&&I.delete(U.page.nextPageToken),h.delete(L),T.delete(L),E.delete(L);for(let[Y,G]of d)G.channelId===L&&m(Y);for(let[Y,G]of I)G.channelId===L&&I.delete(Y);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(L),p.delete(L));},clear(){if(!O)return;let A=new Set;for(let L of d.values())A.add(L.channelId);for(let L of I.values())A.add(L.channelId);for(let L of A)y.set(L,M(L)+1);d.clear(),I.clear(),c.clear(),h.clear(),T.clear(),E.clear(),p.clear();},dispose(){O&&(O=false,d.clear(),I.clear(),c.clear(),h.clear(),T.clear(),E.clear(),p.clear());}}}var Ql=20*1024*1024;function rn(e){return W({...e,retryable:e.retryable??false})}function wr(e,n){if(e?.conversationType==="supergroup")throw rn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw rn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function Zl(e,n){if(e!==void 0&&e.getConversationBackground!==void 0&&e.saveConversationBackground!==void 0&&e.deleteConversationBackground!==void 0&&e.getDefaultConversationBackground!==void 0&&e.saveDefaultConversationBackground!==void 0&&e.deleteDefaultConversationBackground!==void 0)return e;throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function eu(e,n){try{let t=new URL(e);if(t.protocol==="http:"||t.protocol==="https:")return e}catch{}throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Bs(e,n,t){if(e.kind==="preset"){if(e.presetId.trim()==="")throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:eu(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>t)throw rn({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 s=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:s}}function Tr(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 nu(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Gs(e){let n=e.maxCustomImageBytes??Ql,t=false,s=0,i,d;async function c(y,h){try{return await h(Zl(e.storage,y))}catch(T){throw typeof T=="object"&&T!==null&&"code"in T?T:rn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:T})}}return {api:{async getBackground(y){let h="conversations.getBackground",T=wr(y,h);return c(h,async E=>{let p=await E.getConversationBackground(T);if(p!==null)return Object.freeze({source:"conversation",selection:Tr(p)});let b=await E.getDefaultConversationBackground();return Object.freeze(b===null?{source:"builtin",selection:null}:{source:"default",selection:Tr(b)})})},async setBackground(y,h){let T="conversations.setBackground",E=wr(y,T),p=await Bs(h,T,n);await c(T,b=>b.saveConversationBackground(E,p));},async resetBackground(y){let h="conversations.resetBackground",T=wr(y,h);await c(h,E=>E.deleteConversationBackground(T));},async getDefaultBackground(){return c("conversations.getDefaultBackground",async h=>{let T=await h.getDefaultConversationBackground();return Object.freeze(T===null?{source:"builtin",selection:null}:{source:"default",selection:Tr(T)})})},async setDefaultBackground(y){let h="conversations.setDefaultBackground",T=await Bs(y,h,n);await c(h,E=>E.saveDefaultConversationBackground(T));},async resetDefaultBackground(){await c("conversations.resetDefaultBackground",h=>h.deleteDefaultConversationBackground());},listBackgroundPresets(y){let h="conversations.listBackgroundPresets";if(t)return Promise.reject(rn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:h}));if(!y?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!y?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(rn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:h}));let T=++s,E=da(e.coreClient).then(p=>{let b=Object.freeze(p.map(nu));return !t&&T===s&&(i=b),b}).catch(p=>{throw rn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:h,retryable:true,cause:p})}).finally(()=>{T===s&&(d=void 0);});return d=E,E}},dispose(){t=true,s+=1,i=void 0,d=void 0;}}}var js=2;function tu(e){return _$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function xt(e,n,t){let s=[];for(let i of e)!tu(i)||t!==void 0&&i.sortKey<=t||da$1(i,n)&&s.push(i);return {unreadMessages:s}}function Hs(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function zs(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let s=xt(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;s.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<js;d+=1)await e.loadNewer(),s=xt(e.list(),e.selfId,e.readCursorSortKey);if(s.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});let i=s.unreadMessages[0];return i===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(i.sortKey),Hs(i.id,e.unreadCount))}await e.openLatest();let n=xt(e.list(),e.selfId,void 0);for(let s=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&s<js;s+=1)await e.loadOlder(),n=xt(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),Hs(t.id,e.unreadCount))}function rt(e){if(e===void 0||e.length===0)return;let n=false,t=[],s={},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()!==""&&(s[d.userId]=d.displayName));}return {atAll:n,atUserIds:t,...Object.keys(s).length===0?{}:{atUsersName:s}}}function ru(e){return e instanceof na?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function ou(e){let n=[];for(let t=0;t<e.length;t+=x$1)n.push(e.slice(t,t+x$1));return n}async function Vs(e){let n=[...new Set(e.messageIds.map(c=>c.trim()).filter(c=>c!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let t=[],s=[],i=[],d;for(let c of ou(n)){if(!e.isCurrent()){i.push(...c);continue}try{let I=await e.fetchBatch(c);if(!e.isCurrent()){i.push(...c);continue}let y=new Set(I.messages.map(T=>T.id)),h=new Set(I.missingMessageIds);t.push(...I.messages.map(e.projectMessage)),s.push(...I.missingMessageIds);for(let T of c)!y.has(T)&&!h.has(T)&&i.push(T);}catch(I){i.push(...c),d=ru(I);}}return {messages:t,missingMessageIds:s,unresolvedMessageIds:i,...d===void 0?{}:{failure:d}}}var _r=new WeakMap;function Nt(e,n){let t=_r.get(n);if(t===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");_r.set(e,t);}var au={"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}},iu={"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}},qs={"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}},Ws={"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 $s(e,n,t){let s=W({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(s.code,void 0),s)}function su(e,n){let t=W({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,Js=4294967295,du=6,lu=16*1024,uu=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 s=String.fromCharCode(...t);return s==="GIF87a"||s==="GIF89a"}var mu={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function Dr(e,n,t,s,i={},d={}){let c=Object.freeze({...e}),I=n.pageSize??30,y=n.domainState.createMessageWindow({retention:{maxMessages:I*du},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(f,R)=>i.shouldEstablishRemoteLatestOnOpen?.(R)===true}}),h=new Set,T=new Set,E=new Map,p$1,b,O=false,M=false,w=0,g=Object.freeze({state:"none"}),m=new WeakMap,a;function o(){if(M)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function u(){let f=y.window.info();return {messages:y.window.list(),draft:n.domainState.getDraft(c),loading:E.size>0,stale:O,hasOlder:f.hasMore,hasNewer:f.hasNewer,error:b,entryUnread:g}}function v(f,R){return f.length===R.length&&f.every((D,j)=>D===R[j])}function S(f,R){return v(f.messages,R.messages)&&f.draft===R.draft&&f.loading===R.loading&&f.stale===R.stale&&f.hasOlder===R.hasOlder&&f.hasNewer===R.hasNewer&&f.error===R.error&&f.entryUnread===R.entryUnread}function N(f){let R=m.get(f);if(R!==void 0)return R;let D=St(f);return m.set(f,D),D}function C(f){return {ref:c,messages:Object.freeze(f.messages.map(N)),entryUnread:f.entryUnread,draft:f.draft,loading:f.loading,stale:f.stale,hasOlder:f.hasOlder,hasNewer:f.hasNewer,...f.error===void 0?{}:{error:f.error}}}function K(){return o(),C(u())}function q(){let f=u();if(a!==void 0&&S(a,f))return;a=f;let R=C(f);for(let D of h)try{D(R);}catch(j){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}async function oe(f){let R=y.window.list().find(Ae=>Ae.id===f)??n.domainState.getConversationMessage(c,f);if(R!==void 0)return {anchor:R};let D=n.domainState.getPinnedMessage(c),j=D?.messageId===f&&D.preview.state==="ready"?D.preview.message:void 0;if(j!==void 0)return {anchor:j,fallbackSeed:j};let ie=n.resolveSearchHistoryAnchor?.(c,f);if(ie!==void 0)return {anchor:ie};let F=await n.domainState.resolveConversationMessage(c,f);return F===void 0?void 0:{anchor:F}}function k(f,R){if(o(),p$1!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let D=E.get(f);if(D!==void 0)return D;b=void 0;let j=Promise.resolve().then(R).then(ie=>i.reconcilePage===void 0?ie:i.reconcilePage(ie,y.window)).then(ie=>{o(),O=ie.stale===true;}).catch(ie=>{throw M||(b=hn(ie,`history.${f}`,c)),ie}).finally(()=>{E.delete(f),M||q();});return E.set(f,j),q(),j}function z(){y.window.applyIncoming(n.domainState.getMessagesByConversation(c).slice(-I));}async function te(){await k("latest",()=>y.window.open(c,{limit:I})),z(),i.shouldEstablishRemoteLatestOnOpen?.(y.window.list())===true&&(await k("latest:remote",()=>y.window.loadOlder({limit:I})),z());}async function P(){let f=n.domainState.getSession(c),R=Math.max(0,f?.manuallyUnread===true?0:f?.unreadCount??0),D=n.domainState.getReadState(c),j=D?.readCursor,ie=D?.readCursorSortKey??(j===void 0||j===""?void 0:n.domainState.getConversationMessage(c,j)?.sortKey??n.domainState.getMessagesByConversation(c).find(F=>F.extensions?.historyCursor===j)?.sortKey);g=await zs({conversation:c,pageSize:I,unreadCount:R,...ie===void 0?{}:{readCursorSortKey:ie},selfId:n.getSelfId(),list:()=>y.window.list(),hasOlder:()=>y.window.info().hasMore,hasNewer:()=>y.window.info().hasNewer,openLatest:te,openAt:F=>k(`entry-unread:${F}`,()=>y.window.openAt(c,{anchorSortKey:F,limit:I})),loadOlder:()=>k("entry-unread:older",()=>y.window.loadOlder({limit:I})),loadNewer:()=>k("entry-unread:newer",()=>y.window.loadNewer({limit:I}))});}let B=n.emitter.subscribe(f=>{if(!(M||!("conversation"in f)||f.conversation===void 0)&&!(f.conversation.conversationType!==c.conversationType||f.conversation.conversationId!==c.conversationId)){if(f.type==="draft:updated"||f.type==="draft:cleared"){let R=f.type==="draft:updated"?f.draft:null;for(let D of T)try{D(R);}catch(j){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}q();}});try{d.initialPosition==="first-unread"?await P():await te();}catch(f){throw M=true,B(),h.clear(),y.dispose(),f}function $(f,R){let D=n.domainState.getMessage(f);return D!==void 0&&D.conversationType===c.conversationType&&D.conversationId===c.conversationId?{ok:true,message:xn(D)}:{ok:false,error:W({code:D===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:c})}}async function Q(f,R,D){let j=await i.getSendPermissionError?.(f);if(o(),j!==void 0){if(D===void 0)return {ok:false,error:j};let ie=await D(j);return o(),ie}try{let ie=await R();return o(),ie}catch(ie){if(M)throw ie;return {ok:false,error:hn(ie,f,c)}}}async function re(f,R={}){let D="name"in f?f.name:void 0,j=R.fileName??(typeof D=="string"&&D!==""?D:void 0);return {...c,data:f,...f.type===""?{}:{mimeType:f.type},...j===void 0?{}:{filename:j},...R.localPreviewUrl===void 0?{}:{localPreviewUrl:R.localPreviewUrl},...R.localPreviewMetadata===void 0?{}:{localPreviewMetadata:R.localPreviewMetadata},...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}}}function A(f){return f===void 0||Number.isFinite(f.width)&&f.width>0&&Number.isFinite(f.height)&&f.height>0}function L(f){return A(f)&&(f?.duration===void 0||Number.isFinite(f.duration)&&f.duration>0)&&(f?.posterData===void 0||f.posterData instanceof Uint8Array&&f.posterData.length>0&&f.posterData.length<=lu)}function U(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&f.duration>uu}function Y(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&Number.isFinite(f.duration)&&f.duration>0}function G(f,R,D){return {ok:false,error:W({code:f,category:R,operation:D,retryable:false,conversation:c})}}function ae(f,R){if(f===null||typeof f!="object"||f.kind!==R||!Number.isSafeInteger(f.width)||f.width<=0||f.width>Js||!Number.isSafeInteger(f.height)||f.height<=0||f.height>Js)return false;let D;try{D=new URL(f.url);}catch{return false}if(D.protocol!=="http:"&&D.protocol!=="https:"||D.username!==""||D.password!=="")return false;let j=f.resourceId;if(j!==void 0&&(typeof j!="string"||j.trim()===""))return false;if(R==="gif")return !Object.prototype.hasOwnProperty.call(f,"packageId");let ie=f.packageId;return typeof j=="string"&&j.trim()!==""&&typeof ie=="string"&&ie.trim()!==""}function de(f){return Object.assign(new Error(f.code),f,{name:"ImMessageActionError"})}function Ie(f,R){if(f==="direct"||f==="group"||f==="channel")return Object.freeze({conversationType:f,conversationId:R});throw de(W({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:"messages.forward",retryable:false,conversation:c,details:{targetConversationType:f,targetConversationId:R}}))}function ce(f,R){let D=n.domainState.getConversationMessage(c,f);if(D===void 0){let j=n.domainState.getMessage(f);throw de(W({code:j===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:c}))}if(D.conversationType!==c.conversationType||D.conversationId!==c.conversationId)throw de(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:R,retryable:false,conversation:c}));return D}function ve(f,R){return de(W({...R,operation:f,conversation:c}))}function Ee(f,R){let D=W({code:f,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:c,...R===void 0?{}:{cause:R}});return Object.assign(new Error(f),D,{name:"ImLocalMessageDeletionError"})}function Te(f,R){let D=W({code:f,category:"state",operation:"history.clearLocal",retryable:false,conversation:c,...R===void 0?{}:{cause:R}});return Object.assign(new Error(f),D,{name:"ImLocalConversationHistoryClearError"})}function We(){if(M)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(p$1!==void 0)return p$1;let f=[...E.values()],R=Promise.all(f).then(async()=>{o();let D=[...n.domainState.getMessagesByConversation(c),...y.window.list()];if(n.hasOutboxForConversation(c)||D.some(j=>n.isOutboxOwned(j.id)))throw Te("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(D.some(j=>j.status==="pending"||j.status==="uploading"||j.status==="sending"))throw Te("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(c),o(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(D=>{throw D instanceof Error&&D.name==="ImLocalConversationHistoryClearError"?D:Te("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",D)}).finally(()=>{p$1===R&&(p$1=void 0);});return p$1=R,R}async function xe(f,R){if(f!==void 0)try{await n.domainState.clearDraftIfUnchanged(c,f);}catch(D){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${R}\uFF09`,cause:D}});}}async function $e(f,R,D,j,ie){return Q(f,async()=>{let F=await re(D,j);if(R!==void 0&&F.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let cn=new AbortController,Ze=await n.prepareMediaPreview({operationId:`${c.conversationType}:${c.conversationId}:${f}:${++w}`,kind:R,file:D,signal:cn.signal});if(o(),Ze===void 0||(R==="image"?!A(Ze):!L(Ze)))return G(R==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);F.localPreviewMetadata=Ze;}if(R==="video"&&(n.prepareMediaPreview!==void 0||F.localPreviewMetadata!==void 0)&&!Y(F.localPreviewMetadata))return G("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(R==="video"&&U(F.localPreviewMetadata))return G("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let Ae=i.recheckSendPermissionError?.(f);if(Ae!==void 0)return {ok:!1,error:Ae};let sn=await ie({...F,...j.caption===void 0||j.caption===""?{}:{caption:j.caption}});return sn.ok?(o(),$(sn.messageId,f)):{ok:!1,error:bt(sn.reason,f,c)}})}function ot(f,R,D){let j=ce(f,D);if(j.contentType!==R||j.status!=="failed"||j.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(f))throw de(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:D,retryable:false,conversation:c}));return j}async function at(f,R,D,j,ie,F){return ot(R,D,f),Q(f,async()=>{let Ae=await re(j,ie);if(D==="video"&&Ae.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ze=new AbortController,Un=await n.prepareMediaPreview({operationId:`${c.conversationType}:${c.conversationId}:${f}:${++w}`,kind:"video",file:j,signal:Ze.signal});if(o(),Un===void 0||!L(Un))return G("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);Ae.localPreviewMetadata=Un;}if(D==="video"&&(n.prepareMediaPreview!==void 0||Ae.localPreviewMetadata!==void 0)&&!Y(Ae.localPreviewMetadata))return G("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(U(Ae.localPreviewMetadata))return G("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let sn=i.recheckSendPermissionError?.(f);if(sn!==void 0)return {ok:!1,error:sn};ot(R,D,f);let cn=await F(R,{...Ae,...ie.caption===void 0||ie.caption===""?{}:{caption:ie.caption}});return cn.ok?(o(),$(cn.messageId,f)):{ok:!1,error:bt(cn.reason,f,c)}})}let it={ref:c,getSnapshot:K,subscribe(f){return o(),h.add(f),()=>h.delete(f)},resolveMessage:async f=>{o();let R=y.window.list().find(D=>D.id===f)??await n.domainState.resolveConversationMessage(c,f);return R===void 0?null:N(R)},history:{loadLatest:async()=>{await te(),o(),q();},loadOlder:async()=>k("older",()=>y.window.loadOlder({limit:I})),loadNewer:async()=>{await k("newer",()=>y.window.loadNewer({limit:I})),o(),y.window.info().hasNewer||(z(),q());},loadAround:async f=>{o();let R=await oe(f);if(R===void 0||R.anchor.conversationType!==c.conversationType||R.anchor.conversationId!==c.conversationId)throw su(c,f);let{anchor:D}=R;await k(`around:${f}`,async()=>{let j=await y.window.openAt(c,{anchorSortKey:D.sortKey,limit:I});return y.window.list().some(ie=>ie.id===f)||R.fallbackSeed===void 0?j:y.window.openAt(c,{anchorSortKey:D.sortKey,limit:I,seedMessages:[R.fallbackSeed],seedHasNewer:true})});},clearLocal:We},messages:{sendText:async(f,R={})=>{o();let D=t(c,f,R);if("code"in D)return {ok:false,error:D};let j=n.domainState.getDraft(c)?.updatedAt;return Q("messages.sendText",async()=>{let ie=await n.sendText(D);return o(),await xe(j,"messages.sendText"),$(ie.id,"messages.sendText")},async ie=>{let F=i.appendTextPermissionFailure?.(D);return F===void 0?{ok:false,error:ie}:(await xe(j,"messages.sendText"),{ok:true,message:xn(F)})})},sendContact:async(f,R={})=>{o();let D=f.targetId.trim(),j=f.displayName.trim();if(D===""||j==="")return {ok:false,error:W({code:D===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:c})};let ie={...c,contact:{...f,targetId:D,displayName:j},encrypted:c.conversationType!=="direct",...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}};return Q("messages.sendContact",async()=>{let F=await n.sendContact(ie);return $(F.id,"messages.sendContact")})},sendImage:async(f,R={})=>(o(),R.caption!==void 0&&R.caption!==""?G("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):A(R.localPreviewMetadata)?$e("messages.sendImage","image",f,R,n.sendImage):G("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendVideo:async(f,R={})=>(o(),L(R.localPreviewMetadata)?$e("messages.sendVideo","video",f,R,n.sendVideo):G("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(f,R,D={})=>(o(),L(D.localPreviewMetadata)?at("messages.replaceInterruptedVideo",f,"video",R,D,n.replaceVideo):G("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(f,R)=>(o(),Q("messages.sendVoice",async()=>{let D=await re(f,R),j=i.recheckSendPermissionError?.("messages.sendVoice");if(j!==void 0)return {ok:!1,error:j};let ie=await n.sendVoice({...D,durationMs:R.durationMs,...R.waveform===void 0?{}:{waveform:[...R.waveform]}});return ie.ok?(o(),$(ie.messageId,"messages.sendVoice")):{ok:!1,error:bt(ie.reason,"messages.sendVoice",c)}})),sendFile:async(f,R={})=>{if(o(),R.caption!==void 0&&R.caption!=="")return G("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let D=R.fileName??("name"in f?f.name:void 0);return typeof D!="string"||D.trim()===""?G("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):$e("messages.sendFile",void 0,f,R,n.sendFile)},sendGif:async(f,R={})=>(o(),f.size>cu?G("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await pu(f)?$e("messages.sendGif",void 0,f,R,D=>n.sendGif(D)):G("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(f,R={})=>(o(),ae(f,"sticker")?Q("messages.sendSticker",async()=>{let D=await n.sendExpression({...c,asset:f,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return $(D.id,"messages.sendSticker")}):G("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(f,R={})=>(o(),ae(f,"gif")?Q("messages.sendGifAsset",async()=>{let D=await n.sendExpression({...c,asset:f,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return $(D.id,"messages.sendGifAsset")}):G("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(f,R={})=>(o(),f!=="rock-paper-scissors"&&f!=="dice"?G("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):Q("messages.sendGame",async()=>{let D=await n.sendGame({...c,gameType:f,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return $(D.id,"messages.sendGame")})),sendMiniProgram:async(f,R={})=>(o(),n$1(f)?Q("messages.sendMiniProgram",async()=>{let D=await n.sendMiniProgram({...c,miniProgram:f,encrypted:c.conversationType!=="direct",...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return $(D.id,"messages.sendMiniProgram")}):G("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(f,R={})=>(o(),c.conversationType==="channel"?G("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):p(f)?Q("messages.sendTransfer",async()=>{let D=await n.sendTransfer({...c,transfer:f,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}});return $(D.id,"messages.sendTransfer")}):G("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(f,R)=>{o(),ce(f,"messages.toggleReaction");let D=await n.setReaction({conversation:c,parentMessageId:f,emoji:R,action:"toggle"});if(o(),!D.ok)throw ve("messages.toggleReaction",qs[D.reason]);return Object.freeze({messageId:f,eventId:D.event.id,emoji:D.event.emoji,action:D.event.action===0?"add":"remove"})},setReaction:async(f,R,D)=>{o(),ce(f,"messages.setReaction");let j=await n.setReaction({conversation:c,parentMessageId:f,emoji:R,action:D});if(o(),!j.ok)throw ve("messages.setReaction",qs[j.reason]);return Object.freeze({messageId:f,eventId:j.event.id,emoji:j.event.emoji,action:j.event.action===0?"add":"remove"})},replaceInterruptedFile:async(f,R,D={})=>{if(o(),D.caption!==void 0&&D.caption!=="")return G("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let j=D.fileName??("name"in R?R.name:void 0);return typeof j!="string"||j.trim()===""?G("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):at("messages.replaceInterruptedFile",f,"file",R,{...D,fileName:j},n.replaceFile)},editText:async(f,R,D={})=>{o(),ce(f,"messages.editText");let j=s(c,f,R,D);if("code"in j)throw de(j);let ie;try{ie=await n.editMessage(j);}catch(F){throw de(hn(F,"messages.editText",c))}if(o(),!ie.ok)throw ve("messages.editText",iu[ie.reason]);return xn(ce(f,"messages.editText"))},recall:async f=>{o(),ce(f,"messages.recall");let R;try{R=await n.recallMessage({...c,messageId:f});}catch(D){throw de(hn(D,"messages.recall",c))}if(o(),!R.ok)throw ve("messages.recall",au[R.reason])},deleteLocal:async f=>{o();let R=n.domainState.getConversationMessage(c,f);if(n.isOutboxOwned(f))throw Ee("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(R!==void 0&&R.conversationType===c.conversationType&&R.conversationId===c.conversationId&&(R.status==="pending"||R.status==="uploading"||R.status==="sending"))throw Ee("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let D=await n.domainState.deleteLocalMessage(c,f);return o(),Object.freeze({scope:"local-only",messageId:f,deleted:D,remoteHistory:"remote-history-may-restore"})}catch(D){throw D instanceof Error&&D.name==="ImLocalMessageDeletionError"?D:Ee("IM_SDK_LOCAL_DELETE_FAILED",D)}},forward:async(f,R)=>{if(o(),f.length===0||R.length===0)throw de(W({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:c}));let D;try{D=await n.forwardMessages({messages:f.map(j=>({id:j,...c})),targets:R.map(j=>({...j}))});}catch(j){throw de(hn(j,"messages.forward",c))}return o(),Object.freeze({sent:Object.freeze(D.results.flatMap(j=>j.ok?[{conversation:Ie(j.targetConversationType,j.targetConversationId),messageId:j.newMessageId}]:[])),failed:Object.freeze(D.results.flatMap(j=>j.ok?[]:[{sourceMessageId:j.sourceMessageId,conversation:Object.freeze({conversationType:j.targetConversationType,conversationId:j.targetConversationId}),error:W({...mu[j.reason],operation:"messages.forward",conversation:{conversationType:j.targetConversationType,conversationId:j.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...D.skippedSourceIds])})},fetchByIds:async f=>{o();let R=n.fetchMessagesByIdBatch;if(R===void 0)throw de(W({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:c}));let D=await Vs({messageIds:f,fetchBatch:R,isCurrent:()=>!M,projectMessage:N});return Object.freeze({messages:Object.freeze([...D.messages]),missingMessageIds:Object.freeze([...D.missingMessageIds]),unresolvedMessageIds:Object.freeze([...D.unresolvedMessageIds]),...D.failure===void 0?{}:{failure:Object.freeze(D.failure)}})}},draft:{get:async()=>(o(),n.drafts.get(c)),save:async f=>(o(),n.drafts.save(c,f)),clear:async()=>{o(),await n.drafts.clear(c);},subscribe(f){return o(),T.add(f),()=>T.delete(f)}},markRead:async f=>{o();let R=y.window.list();if(f!==void 0&&!R.some(j=>j.id===f))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${f}`);let D=i.resolveReadMessageId===void 0?f??R.at(-1)?.id:i.resolveReadMessageId(R,f);D!==void 0&&await n.markRead({...c,readCursor:D});},setMuted:async f=>(o(),n.setMuted(c,f)),close(){M||(M=true,B(),h.clear(),T.clear(),y.dispose());}};return _r.set(it,{getMessages:()=>(o(),y.window.list()),resolveMessage:async f=>(o(),y.window.list().find(R=>R.id===f)??n.domainState.resolveConversationMessage(c,f))}),it}var fu=5e3;async function Xs(e,n,t={}){let s=false,i,d;function c(){let T=Date.now();if(i!==void 0&&T-i.checkedAt<fu)return Promise.resolve(i.value);if(d!==void 0)return d;let E=n.getRelationship(e.conversationId).then(p=>(i={value:p,checkedAt:Date.now()},p)).catch(p=>(s=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:p}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===E&&(d=void 0);});return d=E,E}async function I(T){if(!n.shouldCheckRelationship())return;let E=await c();if(E!=="friend"){if(E==="unknown"){s||(s=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 W({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:T,retryable:false,conversation:e,details:Object.freeze({relationship:E})})}}n.shouldCheckRelationship()&&c();let y=await Dr(e,n,(T,E,p)=>p.mentions!==void 0&&p.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:T}):{...T,text:E,...p.replyToMessageId===void 0?{}:{refMessageId:p.replyToMessageId}},(T,E,p,b)=>b.mentions!==void 0&&b.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:T}):{...T,messageId:E,text:p},{getSendPermissionError:I,appendTextPermissionFailure:n.appendContactRequiredTextFailure},t),h={...y,messages:{...y.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 p=W({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(p.code),p)}await n.markDirectMediaConsumed(e.conversationId,T);}}};return Nt(h,y),h}async function Qs(e,n,t={}){return Dr(e,n,(s,i,d)=>{let c=rt(d.mentions);return {...s,text:i,encrypted:true,...c===void 0?{}:{mention:c},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(s,i,d,c)=>{let I=rt(c.mentions);return {...s,messageId:i,text:d,...I===void 0?{}:{mention:I}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:s=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&Zs(s,n.pageSize??30)},t)}var gu=new Set(["pending","uploading","sending"]);function Zs(e,n){return e.length<n}function Ys(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Iu(e,n,t){let s=t===void 0?e.length-1:e.findIndex(c=>c.id===t),i=e[s];if(i===void 0||Ys(i))return i?.id;let d=e.slice(0,s).findLast(c=>Ys(c));return d!==void 0?d.id:i.senderId===n&&gu.has(i.status)?void 0:i.id}function yu(e,n){let t=false;for(let s of e){let i=s.body.system;if(!(s.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 ec(e,n,t={}){let s=await Dr(e,n,(d,c,I)=>{let y=rt(I.mentions);return {...d,text:c,encrypted:true,...y===void 0?{}:{mention:y},...I.replyToMessageId===void 0?{}:{refMessageId:I.replyToMessageId}}},(d,c,I,y)=>{let h=rt(y.mentions);return {...d,messageId:c,text:I,...h===void 0?{}:{mention:h}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&Zs(d,n.pageSize??30)||yu(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,c)=>Iu(d,n.getSelfId(),c)},t),i={...s,messages:{...s.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw $s(e,Ws["not-found"]);let I;try{I=await n.deleteMessageForEveryone({...e,messageId:d});}catch(y){let h=hn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(h.code,{cause:y}),h)}if(!I.ok)throw $s(e,Ws[I.reason])}}};return Nt(i,s),i}var hu=40,vu=100,Cu=0;function gn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Mu(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function nc(e){let n=++Cu,t=new Map,s=new Map,i=new Map,d=new Map,c=new Map,I=0,y=true;function h(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function T(g){let m=g??hu;if(!Number.isSafeInteger(m)||m<1||m>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return m}function E(g){let m=`im-directory:${n}:${++I}`;return t.set(m,g),m}function p(g,m){let a=c.get(g);a===void 0&&(a=new Map,c.set(g,a));let o=m.map(u=>Object.freeze({...u}));for(let u of o)a.set(u.id,u);return Object.freeze(o)}async function b(g,m,a){if(h(),e.provider===void 0)throw new Error(`${gn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:g,page:m,pageSize:a});if(h(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${gn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let u=o.nextPage===void 0?void 0:E({kind:g,page:o.nextPage,pageSize:a}),v=p(g,o.items);return Object.freeze({items:v,...u===void 0?{}:{nextPageToken:u},exhausted:o.exhausted})}function O(g){return {listFirstPage:m=>b(g,1,T(m?.pageSize)),listNextPage:m=>{h();let a=t.get(m);if(a===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(a.kind!==g)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${gn(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${gn(g)}`));let o=s.get(m);if(o!==void 0)return o;let u=b(g,a.page,a.pageSize).then(v=>(t.delete(m),v)).finally(()=>{s.delete(m);});return s.set(m,u),u}}}function M(g){h();let m=i.get(g);if(m!==void 0)return Promise.resolve(m);let a=d.get(g);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${gn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let u=[],v=new Map,S=new Set,N=1;for(;;){if(h(),S.has(N))throw new Error(`${gn(g)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);S.add(N);let K=await e.provider.list({kind:g,page:N,pageSize:vu});if(h(),K.exhausted===(K.nextPage!==void 0))throw new Error(`${gn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let q of K.items)v.has(q.id)||u.push(q.id),v.set(q.id,q);if(K.nextPage===void 0)break;if(!Number.isSafeInteger(K.nextPage)||K.nextPage<1)throw new Error(`${gn(g)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);N=K.nextPage;}let C=p(g,u.map(K=>v.get(K)));return h(),i.set(g,C),C})().finally(()=>{d.delete(g);});return d.set(g,o),o}async function w(g){if(h(),g.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[m,a,o,u]=await Promise.all([M("individual"),M("group"),M("channel"),Z$1(g)]);h();function v(N,C){let K=[];for(let q of C){let oe=q==="displayName"?N.displayName:q==="username"?N.username:N.id;if(oe===void 0||oe==="")continue;let k=u.match(oe,{pinyin:q==="displayName"});k!==null&&K.push(Mu(q,k));}return K.length===0?null:Object.freeze({item:N,matches:Object.freeze(K)})}function S(N,C){return Object.freeze(N.flatMap(K=>{let q=v(K,C);return q===null?[]:[q]}))}return Object.freeze({keyword:u.keyword,contacts:S(m,["displayName","username","id"]),groups:S(a,["displayName"]),channels:S(o,["displayName"])})}return {contacts:O("individual"),groups:O("group"),channels:O("channel"),search:{search:w},peekItem:(g,m)=>(h(),c.get(g)?.get(m)),dispose:()=>{y=false,t.clear(),s.clear(),i.clear(),d.clear(),c.clear();}}}function Su(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw W({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 Lt(e){return Su(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bu(e,n){let t=n.attachments;if(t!==void 0&&t.length>0)throw W({code:"IM_SDK_DRAFT_ATTACHMENTS_UNSUPPORTED",category:"unsupported",operation:"drafts.save",retryable:false,conversation:e});return {text:n.text,...n.mentions===void 0?{}:{mentions:n.mentions},...n.replyToMessageId===void 0?{}:{replyToMessageId:n.replyToMessageId},attachments:[]}}function tc(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(Lt(i))},async save(i,d){t();let c=Lt(i);return e.domainState.saveDraft(c,bu(c,d))},async clear(i){t(),await e.domainState.clearDraft(Lt(i));},subscribe(i,d){t();let c=Lt(i),I=e.emitter.subscribe(h=>{h.type!=="draft:updated"&&h.type!=="draft:cleared"||h.conversation.conversationType!==c.conversationType||h.conversation.conversationId!==c.conversationId||d(h.type==="draft:updated"?h.draft:null);}),y=()=>{I(),n.delete(y);};return n.add(y),y}},dispose(){for(let i of [...n])i();}}}var Pu=20,rc=50,oc=30,ac=4294967295;function An(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ke(e,n){return An({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function ic(e,n){if(n instanceof w$1)return An({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof x)return An({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof c$1)return An({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 An({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 An({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function on(e,n,t){if(typeof e!="string"||e.trim()==="")throw Ke(t,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Eu(e,n){if(typeof e!="string"||e.trim()==="")throw new x(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Au(e,n,t){if(e===void 0)return "";if(typeof e!="string")throw Ke(t,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Ru(e,n,t){let s=on(e,n,t),i;try{i=new URL(s);}catch{throw Ke(t,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Ke(t,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Ke(t,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return s}function sc(e,n,t){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>ac)throw Ke(t,`${n} \u5FC5\u987B\u662F 1-${ac} \u7684\u6574\u6570`);return Number(e)}function pc(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ke(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let t={url:Ru(e.url,"url",n),width:sc(e.width,"width",n),height:sc(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...t,packageId:on(e.packageId,"packageId",n),resourceId:on(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ke(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let s=e.resourceId===void 0?void 0:on(e.resourceId,"resourceId",n);return {kind:e.kind,...t,...s===void 0?{}:{resourceId:s}}}function wu(e,n){if(e===null||typeof e!="object")throw Ke(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:on(e.token,"token",n),resourceId:on(e.resourceId,"resourceId",n)}:pc(e,n)}function Tu(e,n){if(e!=="sticker"&&e!=="gif")throw Ke(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function _u(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ke(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function cc(e,n){if(!Array.isArray(e))throw Ke(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let t=[...new Set(e.map(s=>on(s,"recordId",n)))];if(t.some(s=>s.includes("|")))throw Ke(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(t.length===0||t.length>oc)throw Ke(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${oc} \u4E2A id`);return t}function dc(e,n){let t=e?.offset??0,s=e?.pageSize??Pu;if(!Number.isSafeInteger(t)||t<0)throw Ke(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(s)||s<1||s>rc)throw Ke(n,`pageSize \u5FC5\u987B\u662F 1-${rc} \u7684\u6574\u6570`);return {offset:t,limit:s}}function lc(e){return Object.freeze({...e})}function Du(e){return Object.freeze({...e})}function uc(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 mc(e){function n(i){if(!e.isActive())throw An({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 ic(i,new w$1("core"));let c;try{c=await d(e.provider);}catch(I){throw n(i),ic(i,I)}return n(i),c}let s={packs:Object.freeze({list:async i=>{let d="expressions.packs.list",c=i?.version===void 0?void 0:Au(i.version,"version",d),I=await t(d,h=>h.listStickerPacks(c)),y=Object.freeze(I.items.map(h=>Object.freeze({...h})));return Object.freeze({version:I.version,items:y})},listItems:async i=>{let d="expressions.packs.listItems",c=on(i,"packageId",d),I=await t(d,y=>y.listStickerItems(c));return Object.freeze(I.map(lc))}}),favorites:Object.freeze({list:async i=>{let d="expressions.favorites.list",c=await t(d,I=>I.listFavorites(Tu(i,d)));return Object.freeze(c.map(lc))},add:async i=>{let d="expressions.favorites.add",c=pc(i,d);await t(d,I=>I.addFavorite(c));},delete:async i=>{let d="expressions.favorites.delete",c=cc(i,d);await t(d,I=>I.deleteFavorites(c));}}),recent:Object.freeze({list:async i=>{let d="expressions.recent.list",c=await t(d,I=>I.listRecent(_u(i,d)));return Object.freeze(c.map(Du))},report:async i=>{let d="expressions.recent.report",c=wu(i,d);await t(d,I=>I.reportRecent(c));},delete:async i=>{let d="expressions.recent.delete",c=cc(i,d);await t(d,I=>I.deleteRecent(c));}}),reactions:Object.freeze({listTop:async i=>{let d="expressions.reactions.listTop",c=i?.limit;if(c!==void 0&&(!Number.isSafeInteger(c)||c<1||c>50))throw Ke(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return t(d,async I=>{let y=await I.listReactionTop(c);if(!Array.isArray(y))throw new x("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(h=>Eu(h,"reaction emoji")))})},report:async i=>{let d="expressions.reactions.report",c=on(i,"emoji",d);await t(d,I=>I.reportReaction(c));}}),giphy:Object.freeze({trending:async i=>{let d="expressions.giphy.trending",c=await t(d,I=>I.listGiphyTrending(dc(i,d)));return uc(c)},search:async(i,d)=>{let c="expressions.giphy.search",I=on(i,"query",c),y=await t(c,h=>h.searchGiphy({query:I,...dc(d,c)}));return uc(y)}})};return {api:Object.freeze(s)}}function Rn(e,n,t){try{t();}catch(s){throw (s instanceof Error?s.message:String(s)).includes("\u672A\u9274\u6743")?W({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:s}):W({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:s})}}function fc(e){return {createRoom(n){Rn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Rn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Rn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Rn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Rn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Rn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Rn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var ku=30,Ou=300*1e3,xu=64,Nu=900*1e3,Lu=2048,Fu=0;function an(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImSearchOperationError"})}function gc(e){let n=e.now??(()=>Date.now()),t=e.pageSize??ku,s=e.tokenTtlMs??Ou,i=e.maxTokens??xu,d=e.anchorTtlMs??Nu,c=e.maxAnchors??Lu;if(!Number.isInteger(t)||t<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(s)||s<=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(c)||c<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let I=++Fu,y=new Map,h=new Map,T=0,E=true;function p(k){if(!E)throw an({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:k,retryable:false});if(e.isAvailable?.()===false)throw an({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:k,retryable:false})}function b(k,z){let te=k.trim();if(te==="")throw an({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:z,retryable:false});return te}function O(k){let z=`im-search:${I}:${++T}`;for(y.set(z,{...k,expiresAt:n()+s});y.size>i;){let te=y.keys().next().value;if(typeof te!="string")break;y.delete(te);}return z}function M(k,z){return JSON.stringify([k.conversationType,k.conversationId,z])}function w(k){for(let[z,te]of h)te.expiresAt<=k&&h.delete(z);}function g(k,z){let te=Object.freeze({conversationType:k.conversationType,conversationId:k.conversationId}),P=M(te,k.id);for(h.delete(P),h.set(P,{anchor:Object.freeze({id:k.id,conversationType:k.conversationType,conversationId:k.conversationId,sortKey:k.sortKey}),expiresAt:z+d});h.size>c;){let B=h.keys().next().value;if(typeof B!="string")break;h.delete(B);}}function m(k,z){let te=z==="conversation"?"search.conversations.next":"search.messages.next";p(te);let P=y.get(k);if(P===void 0||P.expiresAt<=n())throw y.delete(k),an({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:te,retryable:false});if(P.kind!==z)throw an({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:te,retryable:false});return P}function a(k){let z=k.draft?.text.trim();return z===void 0||z===""?k.lastMessagePreview:z}function o(k){let z=Object.freeze({conversationType:k.type,conversationId:k.id});return Object.freeze({ref:z,title:k.title,preview:a(k)})}function u(k,z){let te=Object.freeze(k.slice(z,z+t)),P=z+te.length,B=P>=k.length,$=B?void 0:O({kind:"conversation",items:k,offset:P});return Object.freeze({items:te,...$===void 0?{}:{nextPageToken:$},exhausted:B})}async function v(k,z,te){p(te);let P=b(z,te).toLowerCase(),B=Object.freeze(e.domainState.getConversationList().filter($=>($.type==="direct"||$.type==="group"||$.type==="channel")&&(k===void 0||$.type===k)&&`${$.title}
2
- ${$.id}`.toLowerCase().includes(P)).map(o));return u(B,0)}function S(k,z,te){let P=k.conversationId.trim();if(k.conversationType!==z||P==="")throw an({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:te,retryable:false});return Object.freeze({conversationType:z,conversationId:P})}function N(k,z){let te=k.conversationType,P=k.conversationId.trim();if(te!=="direct"&&te!=="group"&&te!=="channel"||P==="")throw an({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:te==="supergroup"?"unsupported":"validation",operation:z,retryable:false});return Object.freeze({conversationType:te,conversationId:P})}async function C(k){p("search.messages");let z;try{z=await e.domainState.searchMessages(k.ref,{...k.keyword===void 0?{}:{keyword:k.keyword},...k.contentTypes===void 0?{}:{contentTypes:k.contentTypes},limit:t,...k.beforeSortKey===void 0?{}:{beforeSortKey:k.beforeSortKey}});}catch(re){throw an({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:re})}let te=new Set,P=[],B=n();w(B);for(let{message:re}of z.results){if(re.conversationType!==k.ref.conversationType||re.conversationId!==k.ref.conversationId||re.sortKey.trim()===""||k.contentTypes!==void 0&&!k.contentTypes.includes(re.contentType))throw an({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});te.has(re.id)||(te.add(re.id),g(re,B),P.push(Object.freeze({ref:k.ref,messageId:re.id,senderId:re.senderId,createdAt:re.createdAt,contentType:re.contentType,preview:X$1(re)})));}let $=z.nextBeforeSortKey?.trim();if(!z.exhausted&&($===void 0||$==="")||z.exhausted&&$!==void 0)throw an({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let Q=$===void 0?void 0:O({kind:"message",ref:k.ref,...k.keyword===void 0?{}:{keyword:k.keyword},...k.contentTypes===void 0?{}:{contentTypes:k.contentTypes},beforeSortKey:$});return Object.freeze({items:Object.freeze(P),...Q===void 0?{}:{nextPageToken:Q},exhausted:z.exhausted})}async function K(k,z,te,P){p(P);let B=S(k,z,P);return C({ref:B,keyword:b(te,P)})}async function q(k,z,te,P){p(te);let B=N(k,te),$=P?.trim();return C({ref:B,...$===void 0||$===""?{}:{keyword:$},contentTypes:Object.freeze([z])})}return {api:{conversations:{all:k=>v(void 0,k,"search.conversations.all"),direct:k=>v("direct",k,"search.conversations.direct"),groups:k=>v("group",k,"search.conversations.groups"),channels:k=>v("channel",k,"search.conversations.channels"),async next(k){let z=m(k,"conversation");return u(z.items,z.offset)}},messages:{inDirect:(k,z)=>K(k,"direct",z,"search.messages.inDirect"),inGroup:(k,z)=>K(k,"group",z,"search.messages.inGroup"),inChannel:(k,z)=>K(k,"channel",z,"search.messages.inChannel"),texts:async(k,z)=>(p("search.messages.texts"),q(k,"text","search.messages.texts",b(z,"search.messages.texts"))),files:(k,z)=>q(k,"file","search.messages.files",z),images:k=>q(k,"image","search.messages.images"),videos:k=>q(k,"video","search.messages.videos"),voices:k=>q(k,"voice","search.messages.voices"),async next(k){let z=m(k,"message");return C(z)}}},resolveHistoryAnchor(k,z){if(!E||e.isAvailable?.()===false)return;let te=M(k,z),P=h.get(te);if(P!==void 0){if(P.expiresAt<=n()){h.delete(te);return}return P.anchor}},dispose(){E&&(E=false,y.clear(),h.clear());}}}function Ft(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 Ic(e){function n(I){let y=0n;for(let h=0;h<10;h++){let T=I+h,E=e[T];if(E===void 0)return {ok:false,kind:"truncated-varint"};if(y|=BigInt(E&127)<<BigInt(h*7),(E&128)===0)return {ok:true,nextOffset:T+1,value:y}}return {ok:false,kind:"invalid-varint"}}let t=[],s,i=0;function d(I,y,h){return {protobufWireStatus:I,protobufFieldNumbers:t,...s===void 0?{}:{protobufLastCompleteFieldNumber:s},protobufFailureKind:y,protobufFailureOffset:h,protobufBytesRemaining:Math.max(0,e.length-h)}}function c(I){t.length<32&&!t.includes(I)&&t.push(I),s=I;}for(;i<e.length;){let I=i,y=n(I);if(!y.ok)return d(y.kind==="truncated-varint"?"truncated":"invalid",y.kind==="truncated-varint"?"truncated-tag":y.kind,I);let h=Number(y.value>>3n),T=Number(y.value&0x07n);if(!Number.isSafeInteger(h)||h<=0)return d("invalid","invalid-field-number",I);if(i=y.nextOffset,T===0){let E=i,p=n(E);if(!p.ok)return d(p.kind==="truncated-varint"?"truncated":"invalid",p.kind,E);i=p.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,p=n(E);if(!p.ok)return d(p.kind==="truncated-varint"?"truncated":"invalid",p.kind==="truncated-varint"?"truncated-length":p.kind,E);if(p.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",E);i=p.nextOffset;let b=Number(p.value);if(b>e.length-i)return d("truncated","truncated-length-delimited",i);i+=b;}else if(T===5){if(e.length-i<4)return d("truncated","truncated-fixed32",i);i+=4;}else return d("invalid","invalid-wire-type",I);c(h);}return {protobufWireStatus:"complete",protobufFieldNumbers:t,...s===void 0?{}:{protobufLastCompleteFieldNumber:s}}}var Ku=2,Kn=30,Uu=50,Bu=5,Gu=20,ju={maxSize:320,targetBytes:10*1024,maxBytes:16*1024,quality:.84,minQuality:.68};function yc(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 Hu(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 zu(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 hc(e$1,n$1,t$1,s$1=0){let i=e$1.clientType??Ku,d$2={...e$1.authProvider,getLoginContext:async()=>{let r=await e$1.authProvider.getLoginContext();return r===null?null:{...r,clientType:i}}},c$1=e$1.transport??Ya(),I=e$1.adapters?.storage,y=I?.create({namespaceFactory:t$1})??(typeof indexedDB>"u"?void 0:Xa({namespaceFactory:t$1,mediaAssetCache:{strategies:is()}})),h$1=r=>{let l=y?.saveDecryptRecovery;l!==void 0&&l(r).then(()=>Gr(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=Hu(y)?y:void 0,E=Gs({...y===void 0?{}:{storage:y},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient}}),p,b,O=rs({...y===void 0?{}:{storage:y},conversationBackgrounds:E.api,onDirectReadReceiptDisabled:r=>p?.(r)}),M="",w$1=lr(e$1.debug,()=>({generation:s$1,...M===""?{}:{accountId:M}})),g$1=0;function m$2(r){return g$1+=1,`channel-${r}-${s$1}-${g$1}`}let a$1=eb(w$1),o$1=(r,l,x=M)=>{let H=l.fromId===x?l.toId:l.fromId;Ft(w$1,{conversation:{conversationType:"direct",conversationId:H},source:r,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},u$1=(r,l)=>{Ft(w$1,{conversation:{conversationType:"group",conversationId:l.groupId},source:r,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},v$1=(r,l)=>{Ft(w$1,{conversation:{conversationType:"channel",conversationId:l.channelId},source:r,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},S=r=>{w$1.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 N(r){return r==="left"||r==="removed"||r==="dismissed"}w$1.record("debug","sdk","session","runtime-created");let C="empty",K=true,q=n$1.subscribe(r=>{if(K){if(r.type==="connection:changed"){w$1.record("info","sdk","connection","connection-state-changed",()=>({data:{state:r.state}}));return}if(r.type==="message:received"||r.type==="message:updated"){w$1.record("trace","sdk","message",r.type,()=>({conversation:r.conversation,message:Hi(r.message),data:{source:r.source,channelLifecycleEffects:r.channelLifecycleEffects}}));return}if(r.type==="auth:invalid"){w$1.record("warn","sdk","session","auth-invalid",()=>({data:r.issue}));return}if(r.type==="error"){let l=r.error.scope==="storage"?"storage":r.error.scope==="crypto"?"crypto":"session";w$1.record("error","sdk",l,"runtime-error",()=>({error:{message:r.error.message,data:r.error.cause}}));}}});function oe(r){return r.cmdId===4644||r.cmdId===8976||r.cmdId===12808}let k$1=n$1.subscribe(r=>{y?.deleteDecryptRecovery!==void 0&&((r.type==="message:received"||r.type==="message:updated")&&r.message.encryption.decryptFailed!==true?(async()=>{let x=(await y.getDecryptRecoveries?.(r.conversation)??[]).find(H=>H.messageId===r.message.id);x!==void 0&&oe(x)||await y.deleteDecryptRecovery(r.conversation,r.message.id);})().catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.message.id}\uFF09`,cause:l}})):r.type==="message:removed"?y.deleteDecryptRecovery(r.conversation,r.messageId).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.messageId}\uFF09`,cause:l}})):r.type==="conversation-history:cleared"&&y.deleteConversationDecryptRecoveries?.(r.conversation).catch(l=>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:l}})));}),z$1=new Set,te="auto",P=false,B$1=false,$=()=>{},Q$1=null,re=null,A,L,U,Y=new Map,G$1=0,ae=r=>Y.get(r)??0,de=r=>{Y.set(r,ae(r)+1);},Ie=e$1.profile??(e$1.coreClient===void 0?void 0:B({client:e$1.coreClient,clientType:i,...y===void 0?{}:{storage:y}})),ce=e$1.channelProfile??(e$1.coreClient===void 0?void 0:o({client:e$1.coreClient,clientType:i,getUserId:async()=>M!==""?M:(await d$2.getLoginContext())?.userId??"",...y===void 0?{}:{storage:y}})),ve=e$1.channelMembers??(e$1.coreClient===void 0?void 0:s({client:e$1.coreClient,clientType:i,isActive:()=>K,...y===void 0?{}:{storage:y}})),Ee=e$1.channelMentionMembers??(e$1.coreClient===void 0?void 0:t({client:e$1.coreClient,clientType:i})),Te=Us({...Ee===void 0?{}:{provider:Ee},...y===void 0?{}:{storage:y}}),We=e$1.directory??(e$1.coreClient===void 0?void 0:v({client:e$1.coreClient,clientType:i,getUserId:async()=>M!==""?M:(await d$2.getLoginContext())?.userId??""})),xe=nc({...We===void 0?{}:{provider:We}}),$e=e$1.expressionProvider??z({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),ot=mc({provider:$e,isActive:()=>K}),at=e$1.sessionFavoriteProvider??Oa({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},getUserId:()=>M}),it=Zi({provider:at,isActive:()=>K}),f=()=>{},R=ms({namespaceFactory:t$1,...y===void 0?{}:{storage:y},emitter:n$1,getAccountId:()=>M,isActive:()=>K,clearMemoryCaches:()=>{Ie?.clearCache?.(),ce?.clearCache?.(),ve?.clearCache?.(),Te.clear(),f();}}),D=e$1.channelJoinApplications??(e$1.coreClient===void 0?void 0:r({client:e$1.coreClient,clientType:i})),j=e$1.contactApplications??(e$1.coreClient===void 0?void 0:k({client:e$1.coreClient,clientType:i})),ie=e$1.groupApplications??(e$1.coreClient===void 0?void 0:l({client:e$1.coreClient,clientType:i})),F=Ba({emitter:n$1,diagnostics:w$1,profile:Ie,channelProfile:ce,storage:y,getSelfId:()=>M,loadOlderFromRemote:r=>A===void 0?Promise.resolve({messages:[],exhausted:true}):A(r),loadNewerFromRemote:r=>U===void 0?Promise.resolve({messages:[],exhausted:true}):U(r)}),Ae=Rs({directory:xe.contacts,getSelfId:()=>M,...Ie===void 0?{}:{profile:Ie},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:F,emitter:n$1,terminateConversationSending:(r,l)=>$(r,l),resetDirectReadReceiptPreference:r=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:(r,l)=>{l==="friend"?b?.(r):l!=="unknown"&&p?.(r);}}),sn=Ls({...j===void 0?{}:{contact:j},...ie===void 0?{}:{group:ie},...D===void 0?{}:{channel:D},onContactAccepted:async(r,l)=>{Ae.updateRelationshipFromEvent(r,"friend"),await F.reconcileDirectContactEstablishedNotice(r,`contact-application:${l}`),F.refreshConversationProfile(r,"direct");},emitter:n$1,isActive:()=>K&&C==="ready"}),cn=tc({domainState:F,emitter:n$1,isActive:()=>K}),Ze=gc({domainState:F,isAvailable:()=>K&&C==="ready"}),Un=ws(()=>F.getSessions()),Ge=e$1.crypto??h(),dn=e$1.media!==void 0?Ua(e$1.media,w$1):void 0,Ec=Qa(),kr=Pa(),Je=e$1.coreClient===void 0?void 0:d({client:e$1.coreClient,crypto:Ge,clientType:i,onError:(r,l)=>a$1?.("crypto",{message:r,cause:l})}),Or=e$1.coreClient===void 0?void 0:g({client:e$1.coreClient,clientType:i,onError:(r,l)=>a$1?.("crypto",{scope:"send-key",message:r,cause:l})}),_e=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}),je=e$1.coreClient===void 0?void 0:e({client:e$1.coreClient,crypto:Ge,clientType:i,onError:(r,l)=>a$1?.("crypto",{scope:"group-key",message:r,cause:l})}),fe=e$1.channelKeyService??(e$1.coreClient===void 0?void 0:a({loadSecretKey:r=>ca(e$1.coreClient,{channelId:r,clientType:i}),onError:(r,l)=>a$1?.("crypto",{scope:"channel-key",message:r,cause:l})})),xr=async r=>{if(fe===void 0)return;let l=fe.getCachedChannelKey(r)===null;try{await fe.getChannelKey(r);}catch{return}if(!(!l||!K))try{await lt({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}});}},Nr=async r=>fe===void 0?null:fe.getChannelKey(r),Lr=r=>{if(fe===void 0)return null;let l=fe.getCachedChannelKey(r);return l===null&&xr(r),l},Kt=()=>Je?.getCachedPrivateKey(M)?.privateKey??null,Ac=()=>({crypto:Ge,resolveChannelKey:Lr,resolveUserPrivateKey:Kt,onDecryptRecovery:h$1,onDecryptError:r=>{let l=fe!==void 0&&y?.saveDecryptRecovery===void 0&&r.encrypt===2&&r.reason==="decrypt-failed";if(v$1("live",{...r,forceRefreshAttempted:l}),!l)return;let x=fe.getCachedChannelKey(r.channelId)??void 0;fe.getChannelKey(r.channelId,{staleKey:x}).catch(()=>{});}}),wn=async r=>{let l=[];fe!==void 0&&l.push(...[...new Set(r)].map(x=>xr(x))),Je!==void 0&&M!==""&&l.push(Je.getUserPrivateKey(M).catch(()=>null)),await Promise.all(l);},Tn=r=>({crypto:Ge,resolveChannelKey:l=>fe?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Kt,onDecryptError:l=>v$1(r,l),onDecryptRecovery:h$1});function st(r){je!==void 0&&r!==""&&je.getGroupKeys(r);}let Fr=async r=>{if(je===void 0)return null;let l=await je.getGroupKeys(r);return l===null?null:{publicKey:l.publicKey,version:l.version}},Kr=r=>{if(je===void 0)return null;let l=je.getCachedGroupKeys(r);return l!==null?l.privateKey:(st(r),null)},Bn=async r=>{je!==void 0&&await Promise.all(r.map(l=>je.getGroupKeys(l).catch(()=>null)));},Rc=()=>({crypto:Ge,resolvePrivateKey:({groupId:r})=>Kr(r),preparePrivateKey:async({groupId:r})=>je===void 0?null:(await je.getGroupKeys(r))?.privateKey??null,onDecryptError:r=>u$1("live",r),onDecryptRecovery:h$1}),Gn=r=>({crypto:Ge,resolvePrivateKey:({groupId:l})=>Kr(l),onDecryptError:l=>u$1(r,l),onDecryptRecovery:h$1}),ct=new Map,_n=new Map,Ut=new Set,Bt=new Set;function dt(r){return r.encryption.decryptFailed!==true&&r.contentType!=="unknown"}function wc(r,l){let x=ya$1(r),H=_n.get(x)??new Set;H.add(l),_n.set(x,H);}function Ur(r){_n.delete(ya$1(r));}function Tc(r,l){return r.length===l.length&&r.every((x,H)=>x===l[H])}function Br(r){if(r.conversation.conversationType==="group")return je?.getCachedGroupKeyVersion(r.conversation.conversationId)??void 0}function Dn(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 _c(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 Gr(r){let l=`${r.conversation.conversationType}:${r.conversation.conversationId}:${r.messageId}`,x=ct.get(l);if(x!==void 0)return x;let H=(async()=>{let Z=F.getConversationMessage(r.conversation,r.messageId),ne=oe(r);if(Z===void 0||Z.encryption.decryptFailed!==true&&!ne){await y?.deleteDecryptRecovery?.(r.conversation,r.messageId);return}w$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:r.conversation,data:{messageId:r.messageId,messageSenderId:Z.senderId,messageCreatedAt:Z.createdAt,selfMessage:Z.senderId===M,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 V,J,ee="key-resolve",se=Dn(r);for(let ye of [false,true]){let we=ye?"force":"current",me;try{ee="bcontent";let ke=d$1.decode(r.sContent);if(r.wireEncrypt===1){if(ke.secretKey.length===0||ke.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");ee="key-resolve";let Xe=ye?{...typeof J=="string"?{staleKey:J}:{}}:void 0,Qe=r.conversation.conversationType==="group"?(await je?.getGroupKeys(r.conversation.conversationId,Xe))?.privateKey??null:(await Je?.getUserPrivateKey(M,Xe))?.privateKey??null;ye&&J!==void 0&&(me=typeof J=="string"&&Qe!==null&&J!==Qe),me===!0&&Ur(r.conversation),ye||(J=Qe);let ln=Br(r);if(Qe===null){w$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:we,strategy:Dn(r),finalStage:ee,reason:"no-key",...ln===void 0?{}:{resolvedKeyVersion:ln},...me===void 0?{}:{keyChanged:me}}}));continue}ee="rsa";let _=Ge.rsaDecryptPkcs1({data:ke.secretKey,privateKey:Qe});if(_.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${_.length} < 16`);ee="tea";let X=Ge.decryptSymmetric({teaKey:_,cipherData:ke.cipherData});w$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:we,strategy:Dn(r),rsaCipherBytes:ke.secretKey.length,cipherDataBytes:ke.cipherData.length,cipherDataBlockRemainder:ke.cipherData.length%8,resolvedTeaBytes:_.length,plainBytes:X.length,plainBlockRemainder:X.length%8,startsWithContentTypeField:X[0]===8,startsWithMobileCardType:X[0]===8&&X[1]===8,...Ic(X)}})),ee="bmessage",V=c.decode(X);}else if(r.conversation.conversationType==="channel"){if(ke.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");ee="key-resolve";let Xe=ye?{...J instanceof Uint8Array?{staleKey:J}:{}}:void 0,Qe=fe?.getChannelKeyCandidates===void 0?await fe?.getChannelKey(r.conversation.conversationId,Xe).then(X=>[{strategy:"canonical-base64-pad",key:X}])??[]:await fe.getChannelKeyCandidates(r.conversation.conversationId,Xe),ln=fe?.getCachedChannelKeyMetadata?.(r.conversation.conversationId);ln!=null&&w$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:r.conversation,data:{messageId:r.messageId,attempt:we,...ln}}));let _=Qe.find(X=>X.strategy==="canonical-base64-pad")?.key??null;if(ye&&J instanceof Uint8Array&&_!==null&&(me=!Tc(J,_)),me===!0&&Ur(r.conversation),ye||(J=_?.slice()??null),Qe.length===0){w$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:we,strategy:Dn(r),finalStage:ee,reason:"no-key",...me===void 0?{}:{keyChanged:me}}}));continue}for(let X of Qe)try{ee="tea";let he=Ge.decryptSymmetric({teaKey:X.key,cipherData:ke.cipherData});ee="bmessage";let Me=c.decode(he);if(X.strategy==="legacy-ascii16"&&!_c(Me))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");V=Me,se=X.strategy,w$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:we,strategy:X.strategy,finalStage:"recovered",reason:"recovered",...me===void 0?{}:{keyChanged:me}}}));break}catch(he){w$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:we,strategy:X.strategy,finalStage:ee,reason:"decrypt-failed",...me===void 0?{}:{keyChanged:me}},error:{message:"CHANNEL decrypt recovery candidate failed",data:he}}));}}if(V!==void 0){w$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:we,strategy:se,finalStage:"recovered",reason:"recovered",...me===void 0?{}:{keyChanged:me}}}));break}}catch(ke){let Xe=Br(r);w$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:we,strategy:Dn(r),finalStage:ee,reason:"decrypt-failed",...Xe===void 0?{}:{resolvedKeyVersion:Xe},...me===void 0?{}:{keyChanged:me}},error:{message:"IM message decryption recovery failed",data:ke}}));}}if(!K||V===void 0){V===void 0&&(wc(r.conversation,r.messageId),w$1.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,strategy:Dn(r),attempts:2,finalStage:ee}})));return}let le=F.getConversationMessage(r.conversation,r.messageId);if(le===void 0||le.encryption.decryptFailed!==true&&!ne)return;let Ce=r.conversation.conversationType==="channel"&&(r.cmdId===12804||V.contentType===101)?w({channelId:BigInt(r.conversation.conversationId),messageId:r.messageId,occurredAt:BigInt(le.serverTime??le.createdAt),notifyType:V.type,operatorId:V.oprUserId,targetUserIds:V.mnpledUserId,content:V.content,...typeof le.extensions?.historyCursor=="string"?{historyCursor:le.extensions.historyCursor}:{},...typeof le.extensions?.channelSequence=="string"?{sequence:BigInt(le.extensions.channelSequence)}:{},encrypted:true},{cmdId:r.cmdId,keepRaw:le.raw!==void 0}):{...G(le,V,M),...ne?{edited:true}:{}};F.upsertMessages([Ce],"offline"),await y?.deleteDecryptRecovery?.(r.conversation,r.messageId);})().finally(()=>{ct.get(l)===H&&ct.delete(l);});return ct.set(l,H),H}async function lt(r,l={}){let x=ya$1(r),H=await y?.getDecryptRecoveries?.(r)??[],Z=_n.get(x),ne=Z===void 0?H:H.filter(se=>!Z.has(se.messageId));if(await Promise.all(ne.map(Gr)),!K||l.recoverLegacyWithoutSidecar===false)return;let V=_n.get(x),J=new Set(H.filter(se=>V===void 0||!V.has(se.messageId)).map(se=>se.messageId)),ee=F.getMessagesByConversation(r).filter(se=>se.encryption.decryptFailed===true&&!J.has(se.id));if(!(ee.length===0||Ut.has(x))){Ut.add(x),w$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:r,data:{stuckCount:ee.length,withoutSidecar:ee.filter(se=>!H.some(le=>le.messageId===se.id)).length}}));try{if(r.conversationType==="channel"){let se=await d$2.getLoginContext();if(se===null||L===void 0)return;for(let le of ee.slice(0,Gu)){let Ce=le.extensions?.historyCursor;if(typeof Ce!="string"||Ce.trim()==="")continue;let ye=await L(r.conversationId,Ce,se.userId);if(!K)return;ye.length>0&&F.upsertMessages(ye,"offline");}}else r.conversationType==="group"?await Dc({conversationType:"group",conversationId:r.conversationId},ee):r.conversationType==="direct"&&await to();}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 Dc(r,l){if(A===void 0)return;let x=[...l].sort((J,ee)=>J.sortKey.localeCompare(ee.sortKey)),H=x[0],Z=x.at(-1);if(H===void 0||Z===void 0)return;let ne=H.serverTime??H.createdAt,V;for(let J=0;J<Bu;J++){let ee=await A({conversation:r,oldestLoaded:Z,...V===void 0?{}:{cursor:V},intent:"older",limit:Uu});if(!K||ee.exhausted||ee.nextCursor===void 0)return;let se=Number(ee.nextCursor);if(Number.isFinite(se)&&se<=ne)return;V=ee.nextCursor;}}let Ue=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};A=async({conversation:r,oldestLoaded:l,cursor:x,intent:H,limit:Z})=>{let{conversationId:ne}=r,V=F.getSession(r);if(V===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ne}\uFF09`);if(V.type==="direct")return {messages:[],exhausted:true};if(V.type==="group"){if(V.groupState!==void 0&&V.groupState!=="active")return {messages:[],exhausted:true};let J=await d$2.getLoginContext();if(J===null)return {messages:[],exhausted:true};let ee=H==="establish-latest"?Date.now():x===void 0?l?.serverTime??l?.createdAt??Date.now():yc(x,ne),se=await Ea$1({http:_e,userId:J.userId,clientType:i,groupId:ne,baseTime:ee,direct:1,limit:Z,decryptDeps:Gn("history"),prepareKeys:Bn,onReaction:Ue});se.messages.length>0&&F.upsertMessages(se.messages,"offline");let le=se.oldestEntryTime,Ce=se.batchSize<Z||le===void 0||le>=ee;return {messages:se.messages,exhausted:Ce,...Ce?{}:{nextCursor:String(le)},...H==="establish-latest"?{replaceWindow:true}:{}}}if(V.type==="channel"){let J=m$2("history");if(V.channelState!==void 0&&Fe(V.channelState))return w$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:r,operationId:J,data:{state:V.channelState}})),{messages:[],exhausted:true};let ee=G$1,se=ae(ne),le=await d$2.getLoginContext();if(le===null)return {messages:[],exhausted:true};if(H==="establish-latest"){let me=await wa({http:_e,userId:le.userId,clientType:i,channelId:ne,count:Kn,operationId:J,decryptDeps:Tn("history"),prepareKey:fe===void 0&&Je===void 0?void 0:Xe=>wn([Xe]),onContentDecodeError:S,onReaction:Ue}),ke=F.getSession(r);return !K||ee!==G$1||se!==ae(ne)||ke?.type!=="channel"||ke.channelState!==void 0&&Fe(ke.channelState)?{messages:[],exhausted:true}:(me.messages.length>0&&F.upsertMessages(me.messages,"offline"),{messages:me.messages,exhausted:!me.hasOlder,...me.nextCursor===void 0?{}:{nextCursor:me.nextCursor},replaceWindow:true})}let Ce=x??"";if(x===void 0&&l!==void 0){let me=l.extensions?.historyCursor;if(typeof me=="string"&&me.trim()!=="")Ce=me;else if(!zu(l,le.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${ne}, messageId=${l.id}\uFF09`)}w$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:r,operationId:J,data:{baseIndexPresent:Ce!=="",direction:1,contain:0,count:Kn,historyGeneration:ee,historyEpoch:se,clientTypeHeader:i,clientTypeBody:i}}));let ye;try{ye=await xa({http:_e,userId:le.userId,clientType:i,channelId:ne,baseIndex:Ce,count:Kn,contain:0,operationId:J,decryptDeps:Tn("history"),prepareKey:fe===void 0&&Je===void 0?void 0:me=>wn([me]),onContentDecodeError:S,onReaction:Ue});}catch(me){throw w$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:r,operationId:J,data:{baseIndexPresent:Ce!=="",direction:1,contain:0,count:Kn},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:me}})),me}let we=F.getSession(r);return !K||ee!==G$1||se!==ae(ne)||we?.type!=="channel"||we.channelState!==void 0&&Fe(we.channelState)?{messages:[],exhausted:true}:(ye.messages.length>0&&F.upsertMessages(ye.messages,"offline"),w$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:r,operationId:J,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${V.type}`)};let Gt=r=>{r.length>0&&F.upsertMessages(r,"offline",{backfillOnly:true});},jt=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}},kc=async r=>{let{userId:l}=await jt(),x=await ra({http:_e,userId:l,clientType:i,messageIds:r,decryptDeps:await Yt(l),onReaction:Ue});return Gt(x.messages),{messages:x.messages,missingMessageIds:x.missingMessageIds}},Oc=async(r,l)=>{let{userId:x}=await jt(),H=await sa$1({http:_e,userId:x,clientType:i,groupId:r,messageIds:l,decryptDeps:Gn("history"),prepareKeys:Bn,onReaction:Ue});return Gt(H.messages),{messages:H.messages,missingMessageIds:H.missingMessageIds}},xc=async(r,l)=>{let{userId:x}=await jt(),H=await ta$1({http:_e,userId:x,clientType:i,channelId:r,messageIds:l,operationId:m$2("history"),decryptDeps:Tn("history"),prepareKey:fe===void 0&&Je===void 0?void 0:Z=>wn([Z]),onContentDecodeError:S,onReaction:Ue});return Gt(H.messages),{messages:H.messages,missingMessageIds:H.missingMessageIds}},Nc=bb([$a({includeOppositeEnd:true}),ab({resolveGroupKey:Fr}),_a({resolveChannelKey:Nr})]),Lc=Ma([Na(),Oa$1(),Pa$1()]),Fc=ea([fa(),ga(),ha({resolveChannelKey:Nr,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")},kn=()=>false,Ht=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},jr=()=>{},zt=()=>{},jn={...F,removeConversationForMembershipTermination:(r,l)=>{jr(r,l),r.conversationType==="group"?je?.clearGroupKeys(r.conversationId):fe?.clearChannelKey(r.conversationId),F.removeConversationForMembershipTermination(r,l),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}}));}},Hn=Ea({domainState:F,sendFrame:r=>He(r),getSelfId:()=>M,isAuthenticated:()=>kn(),reportReaction:r=>$e.reportReaction(r),isEmojiSupported:Ji,logger:a$1});Ue=r=>{Hn.ingest(r,"offline");};let Kc=Fa({manager:Hn,getSelfId:()=>M,logger:a$1}),Uc=Xa$1({domainState:F,outbox:{onChatAck:r=>Ht(r)},sendFrame:r=>He(r),getSelfId:()=>M,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Rc(),isActive:()=>K}),Bc=Sa({domainState:F,outbox:{onChatAck:r=>Ht(r)},sendFrame:r=>He(r),getSelfId:()=>M,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Ac()}),Gc=Ra({domainState:F,sendFrame:r=>He(r),getSelfId:()=>M,emitter:n$1,logger:a$1,keepRaw:true,decrypt:{crypto:Ge,resolveChannelKey:Lr,resolveUserPrivateKey:Kt,onDecryptRecovery:h$1}}),jc=Qa$1({getSelfId:()=>M,sendFrame:r=>He(r),emitter:n$1}),Hc=Ya$1({emitter:n$1,getSelfId:()=>M}),zc=Va({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>M,domainState:{reconcileDirectContactEstablishedNotice:F.reconcileDirectContactEstablishedNotice,removeConversation:(r=>{if(typeof r=="string"){F.removeConversation(r);return}r.conversationType==="direct"&&$(r,"friend_relation_removed"),F.removeConversation(r);})},resetDirectReadReceiptPreference:r=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:Ae.updateRelationshipFromEvent}),Vc=Za({sendFrame:r=>He(r),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:F.applyTransferStatusBySerialNumber}}),qc=Ua$1({getSelfId:()=>M,sendFrame:r=>He(r),emitter:n$1}),Wc=Ta({getSelfId:()=>M,domainState:F,sendFrame:r=>He(r),emitter:n$1,onRelationshipChanged:Ae.updateRelationshipFromEvent}),Vt=l$1({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>M,isAuthenticated:()=>kn(),domainState:F}),qt=m({sendFrame:r=>He(r),emitter:n$1,getSelfId:()=>M,isAuthenticated:()=>kn(),domainState:F}),Hr=[...Vt.handlers,...qt.commandHandlers],$c=2e3,zn,Wt=false,zr=new Set;async function Vr(){if(Wt||!K||!kn())return;let r=await d$2.getLoginContext();if(r!==null){Wt=true;try{let l=[];for(;;){let x=await Fa$1({http:_e,userId:r.userId,clientType:i,deliveredMsgIds:l});w$1.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 Z=Hr.find(ne=>ne.command===H.cmdId);Z!==void 0&&Z.handler(H.cmdId,H.body);}if(x.deliveredMsgIds.length===0)break;l=x.deliveredMsgIds;}}catch(l){n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{Wt=false;}}}function Jc(){Vr(),zn===void 0&&(zn=setInterval(()=>{Vr();},$c));}function qr(){zn!==void 0&&clearInterval(zn),zn=void 0;}let Yc=Wa({domainState:F,sendFrame:r=>He(r),getSelfId:()=>M,emitter:n$1,logger:a$1,keepRaw:true}),Xc=Ca({domainState:jn,getSelfId:()=>M,prefetchGroupKey:st,clearGroupKeys:r=>{je?.clearGroupKeys(r);},clearConversationTermination:r=>zt(r)}),Qc=n$1.subscribe(r=>{(r.type==="message:received"||r.type==="message:updated")&&Xc.handleMessage(r.message);}),Wr=ua({domainState:jn,getSelfId:()=>M,prepareChannelKey:r=>{w$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:fe!==void 0&&fe.getCachedChannelKey(r)!==null}})),fe!==void 0&&fe.getChannelKey(r).catch(()=>{});},clearChannelKey:r=>{let l=fe!==void 0&&fe.getCachedChannelKey(r)!==null;fe?.clearChannelKey(r),w$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:l}}));},clearConversationTermination:r=>zt(r),stopChannelHistory:r=>{let l=ae(r);de(r),F.messageWindow.info().conversationId===r&&F.messageWindow.reset(),w$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:r},data:{previousEpoch:l,nextEpoch:ae(r)}}));}}),Zc=n$1.subscribe(r=>{if(r.type==="message:received"||r.type==="message:updated"){let l=r.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&w$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:r.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(M)??false,lifecycleEffects:r.channelLifecycleEffects===true,stateBefore:F.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Wr.handleMessage(r.message,{source:r.source??"live",applyLifecycleEffects:r.channelLifecycleEffects});}}),ed=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"]),nd=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),td=n$1.subscribe(r=>{if(r.type!=="message:received"&&r.type!=="message:updated"||(r.source??"live")!=="live"&&r.channelLifecycleEffects!==true)return;let l=r.message,x=l.body.system?.eventType;l.conversationType==="channel"&&x!==void 0&&(ed.has(x)&&ve?.invalidateChannelMembers(l.conversationId).catch(H=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:H}});}),nd.has(x)&&Te.invalidate(l.conversationId).catch(H=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:H}});}));}),$r=Bi({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:F,emitter:n$1}),Jr=bs({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:F,emitter:n$1}),In=Ps({...D===void 0?{}:{joinApplications:D},http:_e,clientType:i,buildOfflineDecrypt:()=>Tn("history"),onContentDecodeError:S,onReaction:Ue,...fe===void 0&&Je===void 0?{}:{prepareKey:r=>wn([r])}});L=async(r,l,x)=>{let{context:H}=await In.loadMessageContext(r,l,x);return H.messages};let rd=Es({authProvider:d$2,emitter:n$1,domainState:F,loadMessageContext:In.loadMessageContext,isActive:()=>K,getHistoryGeneration:()=>G$1,getHistoryEpoch:ae}),$t=Ha({domainState:F,updateReadIndex:async({channelId:r,readCursor:l})=>{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:_e,userId:x.userId,indexes:[{channelId:r,readCursor:l}]});},emitter:n$1,logger:a$1,syncRead:{getSelfId:()=>M,sendFrame:r=>He(r)}}),od=Ga({getSelfId:()=>M,applyRemoteRead:r=>$t.applyRemoteRead(r),emitter:n$1,logger:a$1}),ad=La([Ka({domainState:F,markGroupReadAll:async r=>{let l=await d$2.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:_e,userId:l.userId,groupId:r});},emitter:n$1,logger:a$1,isAuthenticated:()=>kn(),syncRead:{getSelfId:()=>M,sendFrame:r=>He(r)}}),$t]),pe=cb({transport:c$1,authProvider:d$2,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:F,logger:a$1,decrypt:{crypto:Ge,resolvePrivateKey:({msgType:r})=>r===1?Je?.getCachedPrivateKey(M)?.privateKey??null:null,onDecryptError:r=>o$1("live",r),onDecryptRecovery:h$1},encryptSend:Or===void 0&&fe===void 0?void 0:{crypto:Ge,resolvePublicKey:r=>Or?.getPeerPublicKey(r)??Promise.resolve(null),resolveGroupKey:Fr},media:dn!==void 0?{transfer:dn,preview:Ec,onTransferError:r=>{w$1.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}}));},...T===void 0?{}:{assetCache:T,onAssetCacheError:r=>{w$1.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:Nc,commandHandlers:[...zc,...Hc,...Vc,...qc,...Wc,...Hr,...Kc,...Uc,...Yc,...Bc,...Gc,...jc,...od],readStrategies:ad,canSendDirectReadReceipt:r=>{if(!O.isDirectReadReceiptEnabled(r))return false;let l=Ae.peekRelationship(r);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:Lc,channelMessageDeletion:{resolveProfile:r=>ce?.getProfile(r)??Promise.resolve(null),onPermissionDenied:r=>F.refreshConversationProfile(r,"channel")},editStrategies:Fc,storage:y,onAuthenticated:()=>{let r=P;P=true,(r||te==="auto")&&Zr().catch(()=>{}),Jc();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);p=r=>pe.suppressDirectReadReceipts(r),b=r=>pe.resumeDirectReadReceipts(r),He=pe.sendFrame,kn=()=>pe.state==="authenticated",Ht=pe.onChatAck,$=pe.terminateConversationSending,jr=pe.markOutboxConversationTerminated,zt=pe.clearOutboxConversationTerminated;let Yr=us({operations:{getPending:pe.getPendingOutbox,retry:pe.retryOutboxMessage,cancel:pe.cancelOutboxMessage},emitter:n$1,isActive:()=>K}),be=ks({connection:pe,domainState:F,crypto:Ge,...dn===void 0?{}:{mediaTransfer:dn},prepareDirectReadReceipt:async r=>{try{await Ae.ensureRelationship(r);}catch(l){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:r,error:l}}});}}}),Jt=ds({connection:pe,domainState:F,emitter:n$1,isActive:()=>K,...T===void 0?{}:{assetCache:T,onAssetCacheEvent:r=>{w$1.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}}}));}},...dn===void 0?{}:{loaders:{loadImage:be.operations.loadImage,loadVideo:be.operations.loadVideo,loadVoice:be.operations.loadVoice,loadFile:be.operations.loadFile}}});f=()=>{pe.invalidateMediaAssetCacheWrites(),Jt.clearCache();};let Xr=Va$1({onOnline:()=>pe.notifyOnline(),onOffline:()=>pe.notifyOffline(),onVisible:()=>pe.notifyVisible(),onPageHide:()=>{B$1&&pe.suspendForPageLifecycle();},onPageShow:()=>{B$1&&(pe.resumeFromPageLifecycle(),pe.notifyVisible());}},e$1.network);async function Yt(r){let l=await Je?.getUserPrivateKey(r)??null;return {crypto:Ge,resolvePrivateKey:({msgType:x})=>x===1?l?.privateKey??null:null,onDecryptError:x=>o$1("offline",x,r),onDecryptRecovery:h$1}}function Qr(r,l){return {endpoint:r,pullBatch:async({deliveredMsgInfos:x})=>{let H=await d$2.getLoginContext();if(H===null)throw new Error(`sync(${r}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let Z=await Yt(H.userId);return l({http:_e,userId:H.userId,clientType:i,decryptDeps:Z,deliveredMsgInfos:x,onReaction:Ue})}}}let id=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:r})=>{let l=await d$2.getLoginContext();if(l===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Ca$1({http:_e,userId:l.userId,clientType:i,decryptDeps:Gn("offline"),prepareKeys:Bn,deliveredMsgInfos:r,onReaction:Ue})}});async function sd(){let r=await d$2.getLoginContext();if(r===null)return;let l=await Da$1({http:_e,userId:r.userId,clientType:i,decryptDeps:Gn("offline"),prepareKeys:Bn,onReaction:Ue});for(let x of l.unreads)F.applyServerUnread({conversationType:"group",conversationId:x.groupId},x.unreadCount),st(x.groupId);l.messages.length>0&&F.upsertMessages(l.messages,"offline");}async function cd(){let r=m$2("sync");w$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:r,data:{clientTypeHeader:i,sessionsClientTypeBody:"absent",offlineClientTypeBody:i}}));try{await dd(r);}catch(l){throw w$1.record("error","sdk","sync","channel-sync-failed",()=>({operationId:r,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function dd(r){if(ce===void 0){w$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:r,data:{reason:"profile-unavailable"}}));return}let l=await d$2.getLoginContext();if(l===null){w$1.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$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let H=new Map(x.map(_=>[_.id,_]));for(let _ of x){if(N(_.channelState)){fe?.clearChannelKey(_.id),jn.removeConversationForMembershipTermination({conversationType:"channel",conversationId:_.id},`channel_${_.channelState}`);continue}let X=_.permissions.sendMessages?void 0:`channel_${_.channelState}`;F.setChannelRestriction(_.id,_.channelState,X,{permissions:_.permissions,..._.accessSnapshot===void 0?{}:{snapshot:_.accessSnapshot}}),F.updateConversationProfile(_.id,{title:_.name,avatar:_.avatar}),_.muted!==void 0&&F.setMuted(_.id,_.muted);}let Z=new Map(x.map(_=>{let X=F.getReadState(_.id),he=F.getSession(_.id);return [_.id,{readCursor:X?.readCursor??he?.readCursor??"",unreadCount:he?.unreadCount??X?.unreadCount??0,mentionUnreadCount:he?.mentionUnreadCount??X?.mentionUnreadCount??0}]})),ne=x.map(_=>({channelId:_.id,readCursor:Z.get(_.id).readCursor}));w$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:r,data:{channelCount:ne.length,channelsWithReadCursor:ne.filter(_=>_.readCursor!=="").length,clientTypeHeader:i,clientTypeBody:i}}));let V=await ua$1({http:_e,userId:l.userId,clientType:i,channels:ne,operationId:r,decryptDeps:Tn("offline"),prepareKeys:_=>wn(_.filter(X=>{let he=H.get(X)?.channelState;return he===void 0||!Fe(he)})),onContentDecodeError:S,onReaction:Ue});w$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:r,data:{sessionCount:V.length,lastMessageCount:V.filter(_=>_.last!==void 0).length,decryptFailedLastCount:V.filter(_=>_.last?.encryption.decryptFailed===true).length,unknownContentLastCount:V.filter(_=>_.last?.contentType==="unknown"&&_.last.encryption.decryptFailed!==true).length}}));let J=new Set(V.filter(_=>{let X=Z.get(_.channelId),he=F.getReadState(_.channelId),Me=F.getSession(_.channelId);return X===void 0||(he?.readCursor??Me?.readCursor??"")!==X.readCursor||(Me?.unreadCount??he?.unreadCount??0)!==X.unreadCount||(Me?.mentionUnreadCount??he?.mentionUnreadCount??0)!==X.mentionUnreadCount}).map(_=>_.channelId)),ee=V.filter(_=>F.getSession(_.channelId)!==void 0).map(_=>{let he=H.get(_.channelId)?.channelState,Me=he!==void 0&&Fe(he)?he:Fe(_.channelState)?_.channelState:he??_.channelState,$n=Me==="active"?void 0:Me===_.channelState?_.sendDisabledReason:`channel_${Me}`;return {..._,channelState:Me,sendDisabledReason:$n}});for(let _ of ee){let X=H.get(_.channelId);F.setChannelRestriction(_.channelId,_.channelState,_.sendDisabledReason,X===void 0?void 0:{permissions:X.permissions,...X.accessSnapshot===void 0?{}:{snapshot:X.accessSnapshot}}),X!==void 0&&(F.updateConversationProfile(_.channelId,{title:X.name,avatar:X.avatar}),X.muted!==void 0&&F.setMuted(_.channelId,X.muted)),J.has(_.channelId)||F.applyServerUnread({conversationType:"channel",conversationId:_.channelId},_.unreadCount,void 0,_.readCursor),Fe(_.channelState)&&fe?.clearChannelKey(_.channelId);}let se=ee.filter(_=>!J.has(_.channelId)&&!Fe(_.channelState)&&_.unreadCount>0&&_.readCursor!=="");w$1.record("debug","sdk","sync","channel-offline-plan",()=>{let _={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let X of ee)J.has(X.channelId)?_.staleRead+=1:Fe(X.channelState)?_.historyBlocked+=1:X.unreadCount<=0?_.zeroUnread+=1:X.readCursor===""&&(_.emptyReadCursor+=1);return {operationId:r,data:{acceptedSessionCount:ee.length,eligibleChannelCount:se.length,staleReadSkippedCount:_.staleRead,historyBlockedSkippedCount:_.historyBlocked,zeroUnreadSkippedCount:_.zeroUnread,emptyReadCursorSkippedCount:_.emptyReadCursor,direction:0,contain:0,count:Kn}}});let le=await va({http:_e,userId:l.userId,clientType:i,operationId:r,pulls:se.map(_=>({channelId:_.channelId,baseIndex:_.readCursor})),messageCount:Kn,decryptDeps:Tn("offline"),prepareKeys:wn,onContentDecodeError:S,onReaction:Ue}),Ce=ee.flatMap(_=>{let X=_.last;if(X===void 0||dt(X))return [];let he=X.extensions?.historyCursor;return [{summary:_,last:X,historyCursor:typeof he=="string"?he.trim():""}]}),ye=(_,X)=>`${_}:${X}`,we=new Map,me=new Set;for(let{summary:_,last:X}of Ce){let he=F.getConversationMessage({conversationType:"channel",conversationId:_.channelId},X.id);if(he===void 0||!dt(he))continue;let Me=ye(_.channelId,X.id);we.set(Me,he),me.add(Me);}for(let _ of le)dt(_)&&we.set(ye(_.conversationId,_.id),_);let ke=Ce.filter(({summary:_,last:X,historyCursor:he})=>he!==""&&!J.has(_.channelId)&&!Fe(_.channelState)&&!we.has(ye(X.conversationId,X.id))&&!Bt.has(ye(X.conversationId,X.id))),Xe=Ce.filter(({summary:_,last:X})=>!J.has(_.channelId)&&!Fe(_.channelState)&&!me.has(ye(X.conversationId,X.id))&&we.has(ye(X.conversationId,X.id))).length;w$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:r,data:{unusableLastCount:Ce.length,decryptFailedLastCount:Ce.filter(({last:_})=>_.encryption.decryptFailed===true).length,unknownContentLastCount:Ce.filter(({last:_})=>_.contentType==="unknown"&&_.encryption.decryptFailed!==true).length,localRecoveredCount:me.size,offlineRecoveredCount:Xe,contextRecoveryCount:ke.length,staleReadSkippedCount:Ce.filter(_=>J.has(_.summary.channelId)).length,historyBlockedSkippedCount:Ce.filter(_=>Fe(_.summary.channelState)).length,missingHistoryCursorCount:Ce.filter(_=>_.historyCursor==="").length}}));let Qe=await Promise.all(ke.map(async({summary:_,last:X,historyCursor:he})=>{try{let{message:Me}=await In.loadMessageContext(_.channelId,he,l.userId),$n=F.getSession({conversationType:"channel",conversationId:_.channelId});if(!K||$n?.type!=="channel"||$n.channelState!==void 0&&Fe($n.channelState))return;if(Me.conversationType!=="channel"||Me.conversationId!==_.channelId||Me.id!==X.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${_.channelId}, messageId=${X.id}\uFF09`);if(!dt(Me)){if(Me.contentType==="unknown"&&Me.encryption.decryptFailed!==!0){Bt.add(ye(Me.conversationId,Me.id)),w$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:_.channelId},data:{messageId:X.id,reason:Me.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${_.channelId}, messageId=${X.id}\uFF09`)}return Me}catch(Me){w$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:_.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Me},data:{messageId:X.id}}));return}}));for(let _ of Qe)_!==void 0&&we.set(ye(_.conversationId,_.id),_);let ln=[...ee.flatMap(_=>_.last===void 0?[]:[we.get(ye(_.channelId,_.last.id))??_.last]),...le];ln.length>0&&F.upsertMessages(ln,"offline",{applyChannelLifecycleEffects:true}),w$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:x.length,terminalProfileCount:x.filter(_=>N(_.channelState)).length,sessionCount:V.length,acceptedSessionCount:ee.length,sessionLastCount:ee.filter(_=>_.last!==void 0).length,recoveredSessionLastCount:Ce.filter(({last:_})=>we.has(ye(_.conversationId,_.id))).length,offlineMessageCount:le.length}}));}let Vn=null,Xt=false;function ld(){return Vn!==null?(Xt=true,Vn):(Vn=(async()=>{let l;do{Xt=false,l=void 0;try{await cd();}catch(x){l=x;}}while(Xt);if(l!==void 0)throw l})().finally(()=>{Vn=null;}),Vn)}let ud=gb({pullers:[Qr("chat",ya),Qr("owner_chat",za),id()],domainState:F,emitter:n$1,logger:a$1});async function Zr(){let r=sd().catch(x=>n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:x}})),l=ld().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([ud.sync(),r,l]);}async function pd(){if(C==="ready")return;C="preparing";let r=await d$2.getLoginContext();if(r!==null){if(M=r.userId,Je!==void 0&&Je.getUserPrivateKey(r.userId),y!==void 0)try{await y.open({namespace:r.userId});try{await O.hydrate();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}await F.hydrate();for(let l of F.getSessions())l.title===""&&l.type!=="supergroup"&&F.refreshConversationProfile(l.id,l.type);await pe.hydrateOutbox();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(je!==void 0)for(let l of F.getSessions())l.type==="group"&&st(l.id);}C="ready";}function eo(){if(C==="ready")return Promise.resolve();if(Q$1!==null)return Q$1;let r=Date.now();return w$1.record("info","sdk","session","prepare-start"),Q$1=pd().then(()=>w$1.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-r}))).catch(l=>{throw w$1.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-r,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{Q$1=null;}),Q$1}function md(r){if(B$1=true,pe.state==="authenticated")return Promise.resolve();if(re!==null)return re;te=r?.initialSync??"auto",P=false;let l=Date.now();return w$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:te}})),re=(async()=>{await eo(),Xr.start(),await pe.connect();})().then(()=>w$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(x=>{throw w$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:x}})),x}).finally(()=>{re=null;}),re}function no(r){w$1.record("info","sdk","connection","disconnect",()=>({data:{reason:r}})),B$1=false,qr(),pe.disconnect(r),Xr.stop();}async function fd(r,l={}){let x=Date.now();w$1.record("info","sdk","session","teardown-start",()=>({data:{localData:r?.localData??"preserve",pendingMessages:r?.pendingMessages??"fail"}})),K=false,qr(),Vt.dispose(),qt.dispose(),Hn.dispose(),Yr.dispose(),Jt.dispose(),kr.dispose(),sn.dispose(),Ae.dispose(),pe.disposeMediaTasks();for(let ee of z$1)ee.close();z$1.clear(),G$1+=1,pe.markOutboxForLogout(r?.pendingMessages??"fail"),$r.dispose(),Jr.dispose(),In.dispose(),Te.dispose(),xe.dispose(),E.dispose();let H=O.dispose();cn.dispose(),Ze.dispose(),Qc(),Zc(),td(),Wr.dispose(),$t.reset(),fe?.clearAll(),_n.clear(),Ut.clear(),Bt.clear(),no("im-logout"),await F.invalidateAndDrainDraftOperations(),await H,F.clearSession();let Z=r?.localData==="purge"?M:"",ne,V,J=true;if(y!==void 0)try{await y.close();}catch(ee){J=false,Z!==""&&(ne=ee),l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:Z===""?"\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:ee}});}if(Z!==""&&J)try{I!==void 0?await I.purgeCurrentAccount({namespaceFactory:t$1,accountId:Z}):await Wa$1(Z,{namespaceFactory:t$1}),V=Z;}catch(ee){ne=ee,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ee}});}return C="empty",w$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-x,data:{purgedAccountId:V,purgeFailed:ne!==void 0}})),k$1(),q(),{...V===void 0?{}:{purgedAccountId:V},...ne===void 0?{}:{purgeError:ne}}}function gd(){return {sessionState:C,connectionState:pe.state,...M!==""?{userId:M}:{},prepared:C==="ready",connectionDesired:B$1,authenticated:pe.state==="authenticated"}}function Id(r){return n$1.subscribe(r)}function yd(){return {connectionState:pe.state,pendingOutbox:pe.getPendingOutbox()}}function hd(){return F.getConversationList()}U=async({conversation:r,newestLoaded:l,cursor:x,limit:H})=>{let{conversationId:Z}=r,ne=F.getSession(r);if(ne===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${Z}\uFF09`);if(ne.type==="direct")return {messages:[],exhausted:true};if(ne.type==="group"){if(ne.groupState!==void 0&&ne.groupState!=="active")return {messages:[],exhausted:true};let V=await d$2.getLoginContext();if(V===null)return {messages:[],exhausted:true};let J=x===void 0?l?.serverTime??l?.createdAt:yc(x,Z);if(J===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${Z}, messageId=${l?.id??""}\uFF09`);let ee=await Ea$1({http:_e,userId:V.userId,clientType:i,groupId:Z,baseTime:J,direct:2,limit:H,decryptDeps:Gn("history"),prepareKeys:Bn,onReaction:Ue});ee.messages.length>0&&F.upsertMessages(ee.messages,"offline");let se=ee.newestEntryTime,le=ee.batchSize<H||se===void 0||se<=J;return {messages:ee.messages,exhausted:le,...le?{}:{nextCursor:String(se)}}}if(ne.type==="channel"){if(ne.channelState!==void 0&&Fe(ne.channelState))return {messages:[],exhausted:true};let V=x??l?.extensions?.historyCursor;if(typeof V!="string"||V.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${Z}, messageId=${l?.id??""}\uFF09`);let J=G$1,ee=ae(Z),se=await d$2.getLoginContext();if(se===null)return {messages:[],exhausted:true};let le=x===void 0?(await In.loadMessageContext(Z,V,se.userId)).context:await In.loadNewerPage(Z,V,se.userId),Ce=F.getSession(r);return !K||J!==G$1||ee!==ae(Z)||Ce?.type!=="channel"||Ce.channelState!==void 0&&Fe(Ce.channelState)?{messages:[],exhausted:true}:(le.messages.length>0&&F.upsertMessages(le.messages,"offline"),{messages:le.messages,exhausted:!le.hasNewer,...!le.hasNewer||le.nextCursor===void 0?{}:{nextCursor:le.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${ne.type}`)};async function to(){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 l=await Yt(r.userId),x=await Aa({http:_e,userId:r.userId,clientType:i,decryptDeps:l,onReaction:Ue}),H=await Ba$1({http:_e,userId:r.userId,clientType:i,decryptDeps:l,onReaction:Ue}),Z=[...x,...H];return F.upsertMessages(Z,"offline"),Z}async function vd(){await Zr();}let Cd=2;function Ye(r){let l=W({...r,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Md(r){return r instanceof Error&&r.name==="ImConversationOpenError"&&typeof r.code=="string"}function Sd(r){if(typeof r=="object"&&r!==null&&typeof r.code=="string"&&typeof r.category=="string"&&typeof r.retryable=="boolean"){let l=r;return {code:l.code,category:l.category,retryable:l.retryable}}return r instanceof m$1?{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 qn(r){if(!K)throw Ye({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:r})}function bd(r){let l=r?.conversationType,x=r?.conversationId;if(l==="supergroup")throw Ye({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:r});if(l!=="direct"&&l!=="group"&&l!=="channel"||typeof x!="string"||x.trim()==="")throw Ye({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...r===void 0?{}:{conversation:r}});return Object.freeze({conversationType:l,conversationId:x.trim()})}function Wn(r,l){return {id:r.conversationId,type:r.conversationType,title:l.title.trim()||r.conversationId,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:l.muted??false,...l.groupState===void 0?{}:{groupState:l.groupState},...l.channelState===void 0?{}:{channelState:l.channelState},...l.channelPermissions===void 0?{}:{channelPermissions:l.channelPermissions},...l.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:l.channelAccessSnapshot},...l.sendDisabledReason===void 0?{}:{sendDisabledReason:l.sendDisabledReason}}}async function Pd(r){let l=bd(r);if(qn(l),F.getSession(l)!==void 0)return l;try{if(l.conversationType==="direct"){let ne=xe.peekItem("individual",l.conversationId);if(ne!==void 0)return F.ensureConversation(Wn(l,{title:ne.displayName||ne.cardDisplayName,...ne.avatarUrl===void 0?{}:{avatar:ne.avatarUrl}})),l;let V=await Ae.getRelationship(l.conversationId);if(qn(l),V!=="friend")throw Ye({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:V})});let J=await Ae.getProfile(l.conversationId);if(qn(l),J===null||J.id!==l.conversationId)throw Ye({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return F.ensureConversation(Wn(l,{title:J.remark??J.nickname,...J.avatar===void 0?{}:{avatar:J.avatar},...J.muted===void 0?{}:{muted:J.muted}})),l}if(l.conversationType==="group"){let ne=xe.peekItem("group",l.conversationId);if(ne!==void 0)return F.ensureConversation(Wn(l,{title:ne.displayName||ne.cardDisplayName,...ne.avatarUrl===void 0?{}:{avatar:ne.avatarUrl},groupState:"active"})),l;if(Ie===void 0)throw Ye({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let V=await Ie.getGroupProfile(l.conversationId);if(qn(l),V===null||V.id!==l.conversationId)throw Ye({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(V.isInGroup===!1||V.status!==void 0&&V.status!==Cd)throw Ye({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...V.status===void 0?{}:{status:V.status},...V.isInGroup===void 0?{}:{isInGroup:V.isInGroup}})});return F.ensureConversation(Wn(l,{title:V.name,...V.avatar===void 0?{}:{avatar:V.avatar},...V.muted===void 0?{}:{muted:V.muted},groupState:"active"})),l}if(ce===void 0)throw Ye({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let x=await ce.getProfile(l.conversationId);if(qn(l),x===null||x.id!==l.conversationId)throw Ye({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let H=x.channelState==="active"||x.channelState==="muted",Z=x.channelState==="muted"&&x.accessSnapshot?.allMembersMuted===!0&&x.role!=="owner"&&x.role!=="admin";if(!H||Z)throw Ye({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:x.channelState,role:x.role,hiddenByAllMemberMute:Z})});return F.ensureConversation(Wn(l,{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}`}})),l}catch(x){if(Md(x))throw x;let H=Sd(x);throw Ye({...H,conversation:l,cause:x})}}let ut={...Ts({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},authProvider:d$2,http:_e,resolveInput:Un,domainState:F,operations:{list:hd,pullOffline:to,sync:vd},terminateConversationSending:(r,l)=>pe.terminateConversationSending(r,l),resetConversationBackground:r=>E.api.resetBackground(r),reportStorageError:(r,l)=>n$1.emit({type:"error",error:{scope:"storage",message:r,cause:l}}),markChannelRead:(r,l)=>pe.markRead(r,l,"channel")}),...E.api,ensureOpenableConversation:Pd};function Ed(r){let l={...r,close(){r.close(),z$1.delete(l);}};return Nt(l,r),z$1.add(l),l}function Qt(r){if(!K)throw r.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return Ed(r)}async function Ad(r,l={}){if(!K)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let x={domainState:F,emitter:n$1,drafts:cn.api,sendText:be.operations.sendText,sendContact:be.operations.sendContact,sendImage:be.operations.sendImage,sendVideo:be.operations.sendVideo,sendVoice:be.operations.sendVoice,sendFile:be.operations.sendFile,sendGif:be.operations.sendGif,sendExpression:be.operations.sendExpression,sendGame:be.operations.sendGame,sendMiniProgram:be.operations.sendMiniProgram,sendTransfer:be.operations.sendTransfer,replaceVideo:be.operations.replaceInterruptedVideo,replaceFile:be.operations.replaceInterruptedFile,forwardMessages:be.operations.forwardMessages,recallMessage:be.operations.recallMessage,editMessage:be.operations.editMessage,setReaction:({conversation:H,parentMessageId:Z,emoji:ne,action:V})=>V==="toggle"?Hn.toggle({conversation:H,parentMessageId:Z,emoji:ne}):Hn.set({conversation:H,parentMessageId:Z,emoji:ne,action:V==="add"?0:1}),markRead:be.operations.markRead,markDirectMediaConsumed:be.operations.markDirectMediaConsumed,prepareMediaPreview:async({operationId:H,kind:Z,file:ne,signal:V})=>{let J=await kr.prepare({operationId:H,generation:s$1,kind:Z,file:ne,includePoster:Z==="video",...Z==="video"?ju:{}},V);return Z==="video"?{width:J.width,height:J.height,...J.duration===void 0?{}:{duration:J.duration},...J.posterData===void 0?{}:{posterData:new Uint8Array(J.posterData)}}:{width:J.width,height:J.height}},getSelfId:()=>M,isOutboxOwned:H=>pe.getPendingOutbox().some(Z=>Z.id===H),hasOutboxForConversation:H=>pe.getPendingOutbox().some(Z=>Z.conversationType===H.conversationType&&Z.conversationId===H.conversationId),resolveSearchHistoryAnchor:Ze.resolveHistoryAnchor};switch(r.conversationType){case "direct":{let H={conversationType:"direct",conversationId:r.conversationId},Z=await Xs(H,{...x,getRelationship:Ae.getRelationship,shouldCheckRelationship:()=>pe.state==="authenticated",appendContactRequiredTextFailure:V=>F.appendDirectContactRequiredTextFailure({conversationId:V.conversationId,senderId:M,text:V.text,...V.refMessageId===void 0?{}:{refMessageId:V.refMessageId}}),setMuted:(V,J)=>ut.setMuted(V,J),fetchMessagesByIdBatch:kc},l),ne=Qt(Z);return lt(H),ne}case "group":{let H={conversationType:"group",conversationId:r.conversationId},Z=await Qs(H,{...x,getSendPermissionError:V=>{let J=F.getSession(H),ee=J?.type==="group"?J.groupState:"unknown";if(!(ee===void 0||ee==="active"))return W({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:V,retryable:false,conversation:H,details:Object.freeze({groupState:ee})})},setMuted:(V,J)=>ut.setMuted(V,J),fetchMessagesByIdBatch:V=>Oc(H.conversationId,V)},l),ne=Qt(Z);return lt(H),ne}case "channel":{let H={conversationType:"channel",conversationId:r.conversationId},Z=await ec(H,{...x,getSelfId:()=>M,deleteMessageForEveryone:pe.deleteChannelMessageForEveryone,reconcilePage:rd.reconcilePage,getSendPermissionError:V=>{let J=F.getSession(H),ee=J?.type==="channel"&&J.channelState!==void 0?J.channelState:"unknown_restricted",se=ta({channelState:ee,nowMs:Date.now(),...J?.type!=="channel"||J.channelAccessSnapshot===void 0?{}:{snapshot:J.channelAccessSnapshot},...J?.type!=="channel"||J.channelPermissions===void 0?{}:{permissions:J.channelPermissions}});if(!(se.channelState==="active"&&se.permissions.sendMessages))return W({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:V,retryable:false,conversation:H,details:Object.freeze({channelState:se.channelState,...se.muteReason===void 0?{}:{muteReason:se.muteReason}})})},setMuted:(V,J)=>ut.setMuted(V,J),fetchMessagesByIdBatch:V=>xc(H.conversationId,V)},l),ne=Qt(Z);return lt(H),ne}default:throw new Error(`openConversation\uFF1A${r.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async r=>{await be.operations.sendText({conversationId:r.peerId,conversationType:"direct",text:r.text,encrypted:r.encrypted});}},openConversation:Ad,localData:R,directory:xe.search,search:Ze.api,applications:sn.api,expressions:ot.api,sessionFavorites:it.api,outbox:Yr.api,drafts:cn.api,connection:Os({operations:{prepare:eo,connect:md,disconnect:no,subscribe:Id,getSnapshot:yd,getLifecycle:gd},getState:()=>pe.state}),conversations:ut,settings:O.api,contact:Ae,group:Gi({directory:xe.groups,...Ie===void 0?{}:{profile:Ie},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...dn===void 0?{}:{avatarTransfer:dn},domainState:{...jn,ensureConversation:r=>F.ensureConversation(r)},emitter:n$1,pinned:$r.operations}),channel:As({directory:xe.channels,...ce===void 0?{}:{channelProfile:ce},...ve===void 0?{}:{channelMembers:ve},...Ee===void 0?{}:{channelMentionMembers:Ee},mentionCandidates:Te.api,applications:In.applications,pinned:Jr.operations,...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...dn===void 0?{}:{avatarTransfer:dn},crypto:Ge,domainState:{ensureConversation:r=>F.ensureConversation(r),setChannelRestriction:F.setChannelRestriction,removeConversationForMembershipTermination:jn.removeConversationForMembershipTermination,updateConversationProfile:F.updateConversationProfile,refreshConversationProfile:F.refreshConversationProfile},emitter:n$1,...fe===void 0?{}:{cacheCreatedSecretKey:(r,l)=>fe.primeChannelKey(r,l)},getSelfUserId:async()=>M!==""?M:(await d$2.getLoginContext())?.userId??""}),media:Jt.api,calls:Fs(Vt),groupCalls:fc(qt),teardown:fd}}function Vu(e){let n=qu(e);return Mc(Sc(n),e.coreApi!==void 0)}function kf(e){return Sc(Wu(e))}function qu(e){return {...vc(e),...e.coreApi===void 0?{}:{coreClient:Cc(e.authProvider,e.coreApi)}}}function vc(e){let{authProvider:n,cache:t,clientType:s,connection:i,debug:d,endpointProvider:c,expressions:I,media:y}=e;return {authProvider:n,cache:t,clientType:s,connection:i,debug:d,endpointProvider:c,expressions:I,media:y}}function Wu(e){let{adapters:n,channelJoinApplications:t,channelMembers:s,channelMentionMembers:i,channelProfile:d,contactApplications:c,coreApi:I,coreClient:y,directory:h,expressionProvider:T,sessionFavoriteProvider:E,http:p,network:b,profile:O,groupApplications:M,transport:w}=e;return {...vc(e),adapters:n,channelJoinApplications:t,channelMembers:s,channelMentionMembers:i,channelProfile:d,contactApplications:c,directory:h,expressionProvider:T,sessionFavoriteProvider:E,...y!==void 0?{coreClient:y}:I===void 0?{}:{coreClient:Cc(e.authProvider,I)},http:p,network:b,profile:O,groupApplications:M,transport:w}}function Cc(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 Mc(e,n){let t=as({getCompatibilityApi:()=>e.conversations,subscribeEvents:a=>e.connection.subscribe(a),getSessionState:()=>e.session.getSnapshot().sessionState}),s={getSnapshot:()=>e.media.getSnapshot(),subscribe:a=>e.media.subscribe(a),cancel:a=>e.media.cancel(a),retry:a=>e.media.retry(a),download:a=>e.media.download(a),getCached:a=>e.media.getCached(a)},i=a=>Promise.reject(W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false}));async function d(a,o,u){if(!n)return i(a);try{return await o()}catch(v){throw Mr(v,a,u)}}function c(a,o,u){if(!n)throw W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:u});try{return o()}catch(v){throw Mr(v,a,u)}}let I,y=a=>d("contacts.getRelationship",()=>e.contacts.getRelationship(a)),h=(a,o)=>d("groups.getProfile",async()=>{let u=await e.groups.getProfile(a,o);return u===null?null:hs(a,u)},a),T=(a,o)=>d("channels.getProfile",async()=>{let u=await e.channels.getProfile(a,o);return u===null?null:vs(a,u)},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 u=await e.contacts.getProfile(a,o);return u===null?null:ys(a,u)}),getRelationship:async a=>{let o=a.trim(),u={conversationType:"direct",conversationId:o},v=I?.beginProjectionUpdate(u),S=await y(a);return v!==void 0&&I?.updateRelationshipProjection(o,S,v),S},setRemark:(a,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(a,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(u=>({countryCode:u.countryCode,mobile:u.mobile}))}})),searchUser:a=>d("contacts.searchUser",()=>e.contacts.searchUser(a)),requestFriendship:(a,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(a,o)),blockUser:a=>d("contacts.blockUser",()=>e.contacts.blockUser(a),{conversationType:"direct",conversationId:a}),reportUser:(a,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(a,o),{conversationType:"direct",conversationId:a}),deleteFriendship:a=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(a),{conversationType:"direct",conversationId:a})},p={search:a=>d("directory.search",()=>e.directory.search(a))},b={listFirstPage:a=>d("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>d("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>d("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,o)=>{let u=I?.beginProjectionUpdate(a),v=await h(a,o);return u!==void 0&&I?.updateGroupProfileProjection(a,v,u),v},updateName:(a,o)=>d("groups.updateName",()=>e.groups.updateName(a,o),a),updateAvatar:(a,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(a,o),a),setMyNickname:(a,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(a,o),a),updateVerification:(a,o,u)=>d("groups.updateVerification",()=>e.groups.updateVerification(a,o,u),a),requestJoin:(a,o)=>d("groups.requestJoin",()=>e.group.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(a.conversationId,o),a),inviteMembers:(a,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("groups.removeMember",()=>e.group.removeMember(a.conversationId,o),a),transferOwnership:(a,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("groups.leave",()=>e.group.leave(a.conversationId,o),a),peekPinnedMessage:a=>c("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(a.conversationId);return o===null?null:kt(a,o)},a),getPinnedMessage:a=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(a);return o===null?null:kt(a,o)},a),pinMessage:(a,o)=>d("groups.pinMessage",async()=>{let u=await e.groups.pinMessage(a,o);return kt(a,u)},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 u=I?.beginProjectionUpdate(a),v=await T(a,o);return u!==void 0&&I?.updateChannelProfileProjection(a,v,u),v},updateName:(a,o)=>d("channels.updateName",()=>e.channel.updateName(a.conversationId,o),a),updateDescription:(a,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,o),a),updateAvatar:(a,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,o),a),updateVerification:(a,o,u)=>d("channels.updateVerification",()=>e.channels.updateVerification(a,o,u),a),requestJoin:(a,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(a.conversationId,o),a),setAllMuted:(a,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(a.conversationId,o),a),setMemberPrivateChatDisabled:(a,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(a.conversationId,o),a),setMyNickname:(a,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(a.conversationId,o),a),setMemberNickname:(a,o,u)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(a.conversationId,o,u),a),inviteMembers:(a,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>d("channels.removeMember",()=>e.channel.removeMember(a.conversationId,o),a),addAdmin:(a,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(a.conversationId,o),a),removeAdmin:(a,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(a.conversationId,o),a),transferOwnership:(a,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(a.conversationId,o),a),leave:(a,o)=>d("channels.leave",()=>e.channel.leave(a.conversationId,o),a),dismiss:a=>d("channels.dismiss",()=>e.channel.dismiss(a.conversationId),a),peekPinnedMessage:a=>c("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(a.conversationId);return o===null?null:Ot(a,o)},a),getPinnedMessage:a=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(a);return o===null?null:Ot(a,o)},a),pinMessage:(a,o)=>d("channels.pinMessage",async()=>{let u=await e.channels.pinMessage(a,o);return Ot(a,u)},a),unpinMessage:a=>d("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},M=os({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:y,getGroupProfile:h,getChannelProfile:T});I=M;let w=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{M.reset();try{await e.session.logout(a);}finally{M.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function g(a,o={}){let u=e.conversations,v=e.openConversation,S=await u.ensureOpenableConversation(a);return S.conversationType==="direct"?v({conversationType:"direct",conversationId:S.conversationId},o):S.conversationType==="group"?v({conversationType:"group",conversationId:S.conversationId},o):v({conversationType:"channel",conversationId:S.conversationId},o)}let m={get session(){return w},get capabilities(){return M.api},get conversations(){return t.api},get directory(){return p},get contacts(){return E},get groups(){return b},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 s},get settings(){return e.settings},get localData(){return e.localData},get events(){return e.events},openConversation:g,dispose:async()=>{M.dispose(),t.dispose(),await e.dispose();}};return Sr(m,()=>Ss(e)),m}function Of(e,n){return Mc(e,n.coreApiAvailable)}function Sc(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 s=fb(),i=0,d=()=>hc(e,s,t,i++),c=d(),I=false;async function y(m){if(I)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await c.teardown(m),c=d();}async function h(){if(I)throw bn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let m=await c.localData.getInfo(),a;try{a=await c.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(o){throw c=d(),bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:m.accountScope,cause:o})}if(c=d(),a.purgedAccountId!==m.accountScope)throw bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:m.accountScope,cause:a.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});s.emit({type:"local-data:cleared",accountScope:m.accountScope,category:"all"});}let T=fs({getRuntime:()=>c.localData,purgeCurrentAccount:h}),E={start:m=>c.connection.connect(m),stop:async m=>{c.connection.disconnect(m);},logout:y,getSnapshot:()=>c.connection.getLifecycle(),subscribe:m=>(m(c.connection.getLifecycle()),c.connection.subscribe(a=>{a.type==="connection:changed"&&m(c.connection.getLifecycle());}))},p=ps({subscribeCore:m=>c.connection.subscribe(m),getLifecycleSnapshot:()=>c.connection.getLifecycle(),getConversation:m=>{let a=c.conversations.list().find(o=>o.type===m.conversationType&&o.id===m.conversationId);return a===void 0?void 0:yr(a)},resolveContactApplicationAnswer:async m=>{let a=c,o=await a.contact.resolveApplicationAnswer(m.peerId,m.messageId);return c===a?o:null}}),b$1={listFirstPage:m=>c.contact.listFirstPage(m),listNextPage:m=>c.contact.listNextPage(m),getProfile:(m,a)=>c.contact.getProfile(m,a),getRelationship:m=>c.contact.getRelationship(m),setRemark:(m,a)=>c.contact.setRemark(m,a),searchUser:m=>c.contact.searchUser(m),requestFriendship:(m,a)=>c.contact.requestFriendship(m,a),blockUser:m=>c.contact.blockUser(m),reportUser:(m,a)=>c.contact.reportUser(m,a),deleteFriendship:m=>c.contact.deleteFriendship(m)},O={listFirstPage:m=>c.group.listFirstPage(m),listNextPage:m=>c.group.listNextPage(m),uploadAvatar:m=>c.group.uploadAvatar(m),create:m=>c.group.create(m),createFaceToFace:()=>c.group.createFaceToFace(),get mentions(){return c.group.mentions},getProfile:(m,a)=>c.group.getProfile(m.conversationId,a),updateName:(m,a)=>c.group.updateName(m.conversationId,a),updateAvatar:async(m,a)=>{await c.group.updateAvatar(m.conversationId,a);},setMyNickname:(m,a)=>c.group.setMyNickname(m.conversationId,a),updateVerification:(m,a,o)=>c.group.updateVerification(m.conversationId,a,o),requestJoin:(m,a)=>c.group.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>c.group.joinByInviteCode(m.conversationId,a),getPinnedMessage:m=>c.group.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>c.group.pinMessage({groupId:m.conversationId,messageId:a}),unpinMessage:m=>c.group.unpinMessage(m.conversationId)},M={listFirstPage:m=>c.channel.listFirstPage(m),listNextPage:m=>c.channel.listNextPage(m),uploadAvatar:m=>c.channel.uploadAvatar(m),create:m=>c.channel.create(m),get mentions(){return c.channel.mentions},getProfile:(m,a)=>c.channel.getProfile(m.conversationId,a),updateVerification:(m,a,o)=>c.channel.updateVerification(m.conversationId,a,o),requestJoin:(m,a)=>c.channel.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>c.channel.joinByInviteCode(m.conversationId,a),setAllMuted:(m,a)=>c.channel.setAllMuted(m.conversationId,a),setMemberPrivateChatDisabled:(m,a)=>c.channel.setMemberPrivateChatDisabled(m.conversationId,a),setMyNickname:(m,a)=>c.channel.setMyNickname(m.conversationId,a),setMemberNickname:(m,a,o)=>c.channel.setMemberNickname(m.conversationId,a,o),dismiss:m=>c.channel.dismiss(m.conversationId),getPinnedMessage:m=>c.channel.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>c.channel.pinMessage({channelId:m.conversationId,messageId:a}),unpinMessage:m=>c.channel.unpinMessage(m.conversationId)};async function w(){I||(I=true,await c.teardown({localData:"preserve"}),s.clear());}let g={get session(){return E},get connection(){return c.connection},get conversations(){return c.conversations},get directory(){return c.directory},get contacts(){return b$1},get groups(){return O},get channels(){return M},get events(){return p},get contact(){return c.contact},get group(){return c.group},get channel(){return c.channel},get media(){return c.media},get calls(){return c.calls},get groupCalls(){return c.groupCalls},get settings(){return c.settings},get outbox(){return c.outbox},get localData(){return T},get search(){return c.search},get applications(){return c.applications},get expressions(){return c.expressions},get sessionFavorites(){return c.sessionFavorites},get drafts(){return c.drafts},get openConversation(){return c.openConversation},logout:y,dispose:w};return Sr(g,()=>c.advancedMessageDiagnostics),g}var $u=new TextEncoder;function bc(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 Pc(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))Pc(t,n);return Object.freeze(e)}function Ju(e){try{let n=structuredClone(e),t=JSON.stringify(n);return t===void 0?void 0:{record:Pc(n),estimatedBytes:$u.encode(t).byteLength}}catch{return}}function Yu(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 Xu(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&&Yu(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 Qu(e={}){let n=bc(e.maxRecords,200,"maxRecords"),t=bc(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),s=new Set,i=[],d=0,c=0,I=false;function y(E){let p=i.map(b=>b.record).filter(b=>E===void 0||Xu(b,E));return Object.freeze({records:Object.freeze(p),droppedCount:c,estimatedBytes:d,disposed:I})}function h(){let E=y();for(let p of s)try{p(E);}catch{}}function T(){i.length=0,d=0,c=0;}return {write(E){if(I)return;let p=Ju(E);if(p===void 0||p.estimatedBytes>t){c+=1,h();return}for(i.push(p),d+=p.estimatedBytes;i.length>n||d>t;){let b=i.shift();if(b===void 0)break;d-=b.estimatedBytes,c+=1;}h();},getSnapshot:y,subscribe(E){if(I)return ()=>{};s.add(E);let p=true;return ()=>{p&&(p=false,s.delete(E));}},clear(){I||(T(),h());},dispose(){I||(I=true,T(),s.clear());}}}export{Rd as a,is as b,ge as c,Ct as d,zi as e,Vi as f,lr as g,ur as h,$i as i,Et as j,pr as k,Rt as l,Vu as m,kf as n,Of as o,Qu as p};