k2-im 0.1.2 → 0.1.3
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.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +22 -1
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +17 -4
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-AFW5LCKV.js +1 -0
- package/dist/chunk-CVBX4JM4.js +2 -0
- package/dist/chunk-EBM5MOQO.js +1 -0
- package/dist/{chunk-JUJCY6DH.js → chunk-GHGVAACK.js} +1 -1
- package/dist/{chunk-WYHMM3QR.js → chunk-JWNOOU2B.js} +1 -1
- package/dist/{chunk-FO2MMPPT.js → chunk-K3DSNX5G.js} +1 -1
- package/dist/{chunk-ZXNH42G2.js → chunk-OQT455AV.js} +1 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +17 -4
- package/dist/index.js +1 -1
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-QGGCU24I.js +0 -1
- package/dist/chunk-VSMNRAAM.js +0 -1
- package/dist/chunk-ZJBW4MOG.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {A,Oa,Na,B,o,s,t,v,z,r,k,l,h,Ka,Ja,Ia,d,g,u,e,a,ca as ca$1,Q,ja,La as La$1,da,X as X$1,Y as Y$1,R,W as W$1,T,V as V$2,S,aa,Fa as Fa$1,pa as pa$1,ba,Ga as Ga$1,qa as qa$1,za as za$1,Aa as Aa$1,va,wa as wa$1,Ca as Ca$1,Z,b as b$1,Ea as Ea$1,_,$,Ha as Ha$1,Da as Da$1,U,xa as xa$1,ya as ya$1,m,n,f,ra as ra$1,sa as sa$1,c as c$1,w,ka,x,y,i,p as p$1,P as P$1,j as j$1,q as q$1,ha,ga as ga$1,fa as fa$1,ea as ea$1,ma,la,ia,O,K,J,I,H,G,F,N,M,oa as oa$1,na as na$1,L,E,D,C as C$1,Ba as Ba$1,ta as ta$1,ua as ua$1,Ma as Ma$1}from'./chunk-K3DSNX5G.js';import {b,Qa,ca,Sa,Ra,na,Oa as Oa$1,Ma,Na as Na$1,La,ya,za,Aa,Ba,V as V$1,W,X,Y,qa,ra,Ja as Ja$1,Ea,Da,Ca,Ha,Ka as Ka$1,Ga,Fa,l as l$1,Ia as Ia$1,oa,ga,ta,sa,xa,wa,Pa,Ta,j,pa,q,r as r$1,s as s$1,t as t$1,va as va$1,ea,fa,R as R$1,P,d as d$1,c,v as v$1,C,h as h$1,p,o as o$1,m as m$1,ua,U as U$1,u as u$1,da as da$1}from'./chunk-AFW5LCKV.js';async function _c(e){let n=b(e.fromPrefix),o=b(e.toPrefix);n.forAccount(e.accountId),o.forAccount(e.accountId);let d={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:o.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:o};if(d.fromPrefix===d.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(d);}catch(i){try{await e.migrator.rollback(d,i);}catch(c){throw new AggregateError([i,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var ue=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 dn(e,n,o){return n===39081?new ue({operation:e,kind:"forbidden",code:n,message:o||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new ue({operation:e,kind:"business",code:n,message:o||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function ln(e,n){return n instanceof ue?n:n instanceof b$1?new ue({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new ue({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function ut(e,n){let o={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(o)}`}function Dc(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 pt(e){let{teaKey:n,fileEncryptType:o,...d}=e;return d}function kc(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(pt(e.image))},...e.video===void 0?{}:{video:Object.freeze(pt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(pt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(pt(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 mt(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:kc(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:Dc(e.reactions)}})}function Rn(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:P(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function V(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function ft(e,n,o){return V({...{"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:o})}function yn(e,n,o){return V({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:o,cause:e})}async function wn(e,n){let o=new Uint8Array(await n.arrayBuffer()),d=typeof File<"u"&&n instanceof File?n.name:void 0,c=(await e.uploadAvatar({data:o,...d===void 0?{}:{filename:d},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(c==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return c}var Oc="IM_SDK_GROUP_NOT_MEMBER",xc="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Nc="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Lc="IM_SDK_GROUP_MANAGEMENT_FAILED";function ti(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Fc(e,n,o){if(ti(e))return e;let d=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?Oc:d===39029?xc:d===39033?Nc:e instanceof c$1?Lc:e instanceof b$1?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c=e instanceof ka?"contract":e instanceof b$1?"network":d===39029?"permission":"state",s=V({code:i,category:c,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"group",conversationId:o},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function hn(e,n,o){try{return await o()}catch(d){throw Fc(d,e,n)??d}}var ni=39005,Kc=39057,Uc=39061;function ri(e){let n=new Map,o=new Map,d=true,i=p=>({conversationType:"group",conversationId:p});function c(p){o.set(p,(o.get(p)??0)+1);}function s(p$1){if(!d||n.has(p$1))return;let P=o.get(p$1)??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$1}}});return}try{let S=await aa({client:e.coreClient,groupId:p$1});if(!d||(o.get(p$1)??0)!==P)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:p$1}}});return}if(S.data===null){e.domainState.clearPinnedMessage(i(p$1),"reconcile");return}e.domainState.setPinnedMessage(q(S.data.messageContent,{conversationId:p$1}),"reconcile");}catch(S){if(!d||(o.get(p$1)??0)!==P)return;let T=S instanceof h$1||S instanceof p?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(p$1,O),O.finally(()=>{n.get(p$1)===O&&n.delete(p$1);});}let I=pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated"||p.message.conversationType!=="group")return;let P=p.message.body.system?.pinnedMessageAction;(P?.type==="pin"||P?.type==="unpin")&&c(p.message.conversationId),I.handleMessage(p.message);});function h(p,P){if(P.trim()==="")throw new ue({operation:p,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(P));if(O===void 0)throw new ue({operation:p,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="group")throw new ue({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function D(p,P){if(e.coreClient===void 0)throw new ue({operation:p,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,P),e.coreClient}return {operations:{pinMessage:async({groupId:p,messageId:P})=>{let O=D("pin",p),S=e.domainState.getConversationMessage(i(p),P);if(S===void 0)throw new ue({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="group")throw new ue({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==p)throw new ue({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:T,pinnedMessage:g}=r$1(S),m=await pa$1({client:O,groupId:p,messageContent:T});if(!m.ok)throw dn("pin",m.code,m.message);c(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new ue({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(T){throw ln("pin",T)}},unpinMessage:async p=>{let P=D("unpin",p);try{let O=await Fa$1({client:P,groupId:p});if(!O.ok)throw dn("unpin",O.code,O.message);c(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(O){throw ln("unpin",O)}},getPinnedMessage:async p=>{let P=D("get",p);try{let O=await aa({client:P,groupId:p});if(!O.ok)throw dn("get",O.code,O.message);if(c(p),O.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let S=q(O.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(S,"reconcile");let T=e.domainState.getPinnedMessage(i(p));if(T===void 0)throw new ue({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(O){throw ln("get",O)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{d&&(d=false,y());}}}function oi(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"))},o=new Map,d=new Map,i=new Map;function c(r){if(r.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(r.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function s(r){let l=[],v=new Set;for(let M of r){if(M.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");v.has(M.userId)||(v.add(M.userId),l.push(Object.freeze({userId:M.userId,displayName:M.nickName.trim()===""?M.userId:M.nickName})));}return Object.freeze(l)}async function I(r,l){c(r);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 M=r.conversationId,C=o.get(M);if(!l&&C!==void 0)return C;let _=i.get(M);if(_!==void 0&&(!l||_.refresh))return _.promise;let G=(d.get(M)??0)+1;d.set(M,G);let $=Promise.resolve().then(()=>v(M,l?{forceRefresh:true}:void 0)).then(te=>{if(te===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let k=s(te);return d.get(M)===G&&o.set(M,k),k}).finally(()=>{i.get(M)?.promise===$&&i.delete(M);});return i.set(M,{refresh:l,promise:$}),$}function y(r,l,v,M){let _=V({code:r,category:r==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":r==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:r==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...v===void 0?{}:{details:v},...M===void 0?{}:{cause:M}});return Object.assign(new Error(l),_)}function h(r,l,v,M){let C=V({code:r,category:r==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":r==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:r==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...v===void 0?{}:{details:v},...M===void 0?{}:{cause:M}});return Object.assign(new Error(l),C)}function D(r){if(r===null||typeof r!="object"||r===void 0)throw h("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let l=r.group_id;if(typeof l!="string"&&typeof l!="number"||String(l).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 r.status=="number"?r.status:Number(r.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 M=String(l),C=r.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:M}),activation:v===1?"pending":"active",...C===void 0||C===""?{}:{avatarUrl:C},qrPayload:ut(M,C)})}function A(r){if(r===void 0)return;let l=typeof r=="number"?r:Number(r);return Number.isSafeInteger(l)?l:void 0}function p(r){if(typeof r=="boolean")return r;if(r===1||r==="1"||r==="true")return true;if(r===0||r==="0"||r==="false")return false}function P(r){if(r===null||typeof r!="object"||r===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let l=r.group_id;if(typeof l!="string"&&typeof l!="number"||String(l).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let v=String(l),M=r,C=M.name?.trim()??"";if(C==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let _=A(M.total_users),G=A(M.status),$=A(M.verify_way),te=A(M.update_version),k=p(M.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:v}),name:C,...M.head_img_url?.trim()===""||M.head_img_url===void 0?{}:{avatar:M.head_img_url},...M.user_id===void 0?{}:{ownerId:String(M.user_id)},..._===void 0?{}:{memberCount:_},...G===void 0?{}:{status:G},...k===void 0?{}:{isInGroup:k},...$===void 0?{}:{verifyWay:$},...te===void 0?{}:{updateVersion:te},...M.invite_code===void 0?{}:{inviteCode:M.invite_code}}}function O(r){let l=r.name.trim();if(l==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(l.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let v=r.memberIds;if(!Array.isArray(v))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let M=v.map(_=>typeof _=="string"?_.trim():"");if(M.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let C=[...new Set(M)];if(C.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:l,memberIds:C}}function S(r,l){let v=r.trim();if(v==="")throw new Error(`${l}\u4E0D\u80FD\u4E3A\u7A7A`);return v}function T(){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(r){if(!Array.isArray(r))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let l=r.map(v=>S(v,"\u7FA4\u6210\u5458 id"));return [...new Set(l)]}function m(r,l,v){if(r!==1&&r!==2&&r!==4){let C=V({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"),C)}if(r!==4)return {verifyWay:r};let M=l?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(M)){let C=V({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"),C)}return {verifyWay:r,inviteCode:M}}function a(r){o.delete(r),d.set(r,(d.get(r)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:r});}return {...n,mentions:{listAll:r=>I(r,false),refreshAll:r=>I(r,true)},getProfile:(r,l)=>e.profile?.getGroupProfile(r,l)??Promise.resolve(null),listMembers:(r,l)=>e.profile?.listGroupMembers?.(r,l)??Promise.resolve(null),getMemberNames:(r,l)=>e.profile?.getGroupMemberNames?.(r,l)??Promise.resolve(null),peekMembers:r=>e.profile?.peekGroupMembers?.(r)??Promise.resolve(null),peekMemberNames:r=>e.profile?.peekGroupMemberNames?.(r)??Promise.resolve(null),peekProfile:r=>e.profile?.peekGroupProfile?.(r)??Promise.resolve(null),updateName:async(r,l)=>{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=l.trim();if(r===""||v==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Ha$1({client:e.coreClient,groupId:r,name:v}),e.domainState.updateConversationProfile(r,{title:v}),e.emitter.emit({type:"profile:updated",profileType:"group",id:r});},updateAvatar:async(r,l)=>{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(r==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let v=await wn(e.avatarTransfer,l);return await Ha$1({client:e.coreClient,groupId:r,avatarUrl:v}),e.domainState.updateConversationProfile(r,{avatar:v}),e.emitter.emit({type:"profile:updated",profileType:"group",id:r}),v},uploadAvatar:async r=>{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 wn(e.avatarTransfer,r)},create:async r=>{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 l=O(r);try{let v=await $({client:e.coreClient,name:l.name,memberIds:l.memberIds,...r.avatarUrl===void 0?{}:{avatarUrl:r.avatarUrl}});if(!v.ok){let C=v.code===ni?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":v.code===Kc?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":v.code===Uc?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(C,v.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:v.code,message:v.message}))}let M=P(v.data);return e.domainState.ensureConversation({id:M.ref.conversationId,type:"group",title:M.name,...M.avatar===void 0?{}:{avatar:M.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:M})}catch(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 r=await _({client:e.coreClient});if(!r.ok){let l=r.code===ni?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw h(l,r.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:r.code}))}return Object.freeze({group:D(r.data)})}catch(r){throw ti(r)?r:r instanceof b$1?h("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",r.message,void 0,r):h("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,r)}},setMyNickname:async(r,l)=>{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(r==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ea$1({client:e.coreClient,groupId:r,nickname:l}),e.emitter.emit({type:"profile:updated",profileType:"group",id:r});},updateVerification:async(r,l,v)=>{let M=T(),C=S(r,"\u7FA4 id"),_=m(l,v,C);await hn("groups.updateVerification",C,()=>ia({client:M,groupId:C,verifyWay:_.verifyWay,..._.inviteCode===void 0?{}:{inviteCode:_.inviteCode}})),a(C);},requestJoin:async(r,l)=>{let v=T(),M=S(r,"\u7FA4 id"),C=l?.remarks?.trim();return hn("groups.requestJoin",M,()=>la({client:v,groupId:M,...C===void 0?{}:{remarks:C}}))},joinByInviteCode:async(r,l)=>{let v=T(),M=S(r,"\u7FA4 id"),C=l.trim();if(!/^\d{6}$/.test(C))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return hn("groups.joinByInviteCode",M,()=>ma({client:v,groupId:M,inviteCode:C}))},inviteMembers:async(r,l)=>{let v=T(),M=S(r,"\u7FA4 id"),C=g(l);if(C.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await hn("groups.inviteMembers",M,()=>ea$1({client:v,groupId:M,userIds:C})),a(M);},removeMember:async(r,l)=>{let v=T(),M=S(r,"\u7FA4 id"),C=S(l,"\u5F85\u79FB\u9664\u6210\u5458 id");await hn("groups.removeMember",M,()=>fa$1({client:v,groupId:M,userId:C})),a(M);},transferOwnership:async(r,l)=>{let v=T(),M=S(r,"\u7FA4 id"),C=S(l,"\u65B0\u7FA4\u4E3B id");await hn("groups.transferOwnership",M,()=>ga$1({client:v,groupId:M,userId:C})),a(M);},leave:async(r,l)=>{let v=T();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let M=S(r,"\u7FA4 id"),C=l?.newOwnerId===void 0?void 0:S(l.newOwnerId,"\u65B0\u7FA4\u4E3B id");await hn("groups.leave",M,()=>ha({client:v,groupId:M,...C===void 0?{}:{newOwnerId:C}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:M},"group_left"),a(M);},...e.pinned}}function ii(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 si=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto"]);function ci(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Vt(e,n){let o=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,i=ci();return Qa({enabled:o,level:d?.level??"trace",categories:d?.categories??si,...o?{sink:d?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var di=[{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 qt=Object.freeze(di.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),li=new Map(qt.flatMap(e=>e.tokens.map(n=>[n,e])));function ui(e){return li.get(e)}function pi(e){return li.has(e)}var mi="settings:read-receipts:v1",fi="settings:appearance:v1",It=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function tn(e){return V({...e,retryable:e.retryable??false})}function Jt(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Yt(){return {fontScale:1}}function Wt(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Gc(e){if(typeof e!="object"||e===null)return Jt();let n=e,o=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,i]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof i=="boolean"&&(o[d]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:o}}function jc(e){if(typeof e!="object"||e===null)return Yt();let n=e.fontScale;return {fontScale:gi(n)?n:1}}function gi(e){return typeof e=="number"&&It.includes(e)}function $t(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw tn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function gt(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw tn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Ii(e){let n=false,o=false,d=false,i,c,s=Jt(),I=Promise.resolve(),y=false,h,D=Yt(),A=Promise.resolve();function p(l){return tn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:l})}function P(l){if(n)throw p(l)}async function O(l,v){if(P(v),o)return;let M;try{M=gt(e.storage,v);}catch(C){if(!l)return;throw C}try{let C=await M.getMeta(mi);P(v),s=Gc(C),o=!0,d=!1;}catch(C){throw n?p(v):(d=true,tn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:v,cause:C}))}}function S(l){return P(l),o?Promise.resolve():(i===void 0&&(i=O(true,l).finally(()=>{i=void 0;})),i)}async function T(l){if(P(l),!y)try{let v=await gt(e.storage,l).getMeta(fi);P(l),D=jc(v),y=!0;}catch(v){throw n?p(l):typeof v=="object"&&v!==null&&"code"in v?v:tn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:l,cause:v})}}function g(l){return P(l),y?Promise.resolve():(h===void 0&&(h=T(l).finally(()=>{h=void 0;})),h)}async function m(l,v,M){P(l);let C=I.then(async()=>{P(l),await S(l),P(l);let _=Wt(s),G=v(Wt(s));try{await gt(e.storage,l).setMeta(mi,Wt(G));}catch($){throw n?p(l):typeof $=="object"&&$!==null&&"code"in $?$:tn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:l,cause:$})}P(l),s=G,M?.(_,G);});return I=C.catch(()=>{}),C}let a={async getGlobal(){let l="settings.readReceipts.getGlobal";return P(l),await S(l),P(l),s.globalEnabled},setGlobal(l){return typeof l!="boolean"?Promise.reject(tn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):m("settings.readReceipts.setGlobal",v=>({...v,globalEnabled:l}),(v,M)=>{v.globalEnabled&&!M.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(l){let v="settings.readReceipts.getConversation";P(v);let M=$t(l,v);await S(v),P(v);let C=s.peerOverrides[M.conversationId]??true;return Object.freeze({enabled:C,effectiveEnabled:s.globalEnabled&&C})},setConversation(l,v){let M="settings.readReceipts.setConversation",C;try{C=$t(l,M);}catch(_){return Promise.reject(_)}return typeof v!="boolean"?Promise.reject(tn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:M,conversation:C})):m(M,_=>(_.peerOverrides[C.conversationId]=v,_),(_,G)=>{let $=C.conversationId,te=_.globalEnabled&&(_.peerOverrides[$]??true),k=G.globalEnabled&&(G.peerOverrides[$]??true);te&&!k&&e.onDirectReadReceiptDisabled?.($);})},resetConversation(l){let v="settings.readReceipts.resetConversation",M;try{M=$t(l,v);}catch(C){return Promise.reject(C)}return m(v,C=>(delete C.peerOverrides[M.conversationId],C))}},r={fontScale:Object.freeze({async get(){let l="settings.appearance.fontScale.get";return await g(l),P(l),D.fontScale},set(l){let v="settings.appearance.fontScale.set";if(!gi(l))return Promise.reject(tn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:v,details:{supportedValues:[...It]}}));let M=A.then(async()=>{P(v),await g(v),P(v);let C={fontScale:l};try{await gt(e.storage,v).setMeta(fi,C);}catch(_){throw n?p(v):typeof _=="object"&&_!==null&&"code"in _?_:tn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:v,cause:_})}P(v),D=C;});return A=M.catch(()=>{}),M}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(r),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){P("settings.readReceipts.hydrate"),!o&&(i===void 0&&(i=O(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(l){return !n&&!d&&s.globalEnabled&&(s.peerOverrides[l]??true)},dispose(){if(c!==void 0)return c;n=true,s=Jt(),D=Yt();let l=i,v=I,M=h,C=A;return c=Promise.allSettled([...l===void 0?[]:[l],v,...M===void 0?[]:[M],C]).then(()=>{}),c}}}var je=Object.freeze({availability:"available",reason:"ok"});function He(e){return Object.freeze({availability:"unavailable",reason:e})}function Me(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function yt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function zn(e){return `${e.conversationType}:${e.conversationId}`}function Hc(){return Object.freeze({sendMessages:false})}function zc(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function Vc(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 qc(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 Wc(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let o=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(o===null)return;let d=Number(o[1]),i=Number(o[2]),c=Number(o[3]),s=Number(o[4]);if(d>23||c>23||i>59||s>59)return;let I=new Date(n);I.setHours(d,i,0,0);let y=new Date(n);if(y.setHours(c,s,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 Tn(e,n,o){let d=n.get(zn(e));if(d!==void 0)for(let i of [...d])i(o);}function yi(e){let n=new Map,o=new Map,d=new Map,i=new Map,c=new Map,s=new Map,I,y=new Set,h=e.getSessionUserId(),D=0;function A(_){_.conversationType==="direct"?n.delete(_.conversationId):_.conversationType==="group"?o.delete(_.conversationId):d.delete(_.conversationId);}function p(){n.clear(),o.clear(),d.clear(),s.clear(),y=new Set;}function P(){let _=e.getSessionUserId();return _!==h&&(h=_,p()),_}function O(_){P();let G=++D;return s.set(zn(_),G),G}function S(_,G){return P(),s.get(zn(_))===G}function T(_,G={}){P();let $=G.nowMs??Date.now(),te=e.getConversation(_);if(_.conversationType==="direct"){let ae=yt({conversationType:"direct",conversationId:_.conversationId}),se=n.get(_.conversationId),fe=se?.relationship??"unknown",ie=zc(fe),he=ie==="ok"?je:ie==="relationship-unknown"?Me(ie):He(ie),Ae=fe==="friend"?je:fe==="unknown"?Me(ie):He(ie);return Object.freeze({ref:ae,conversationType:"direct",evaluatedAt:$,value:Object.freeze({relationship:fe,...se===void 0?{}:{relationshipCheckedAt:se.checkedAt},canSendMessages:he,canOpenProfile:je,canUseMessageActions:he,canManageRelationship:Ae})})}if(_.conversationType==="group"){let ae=yt({conversationType:"group",conversationId:_.conversationId}),se=o.get(_.conversationId),fe=te?.ref.conversationType==="group"?te.groupState??"active":"unknown",ie=Vc(fe),he=ie==="ok",Ae=e.getSessionUserId(),Re=se?.ownerId,Ve=Ae!==void 0&&Re!==void 0&&Ae===Re,Le=he?je:He(ie),Ue=he?se===void 0?Me("not-ready"):Ve?je:He("role-insufficient"):He(ie);return Object.freeze({ref:ae,conversationType:"group",evaluatedAt:$,value:Object.freeze({membership:fe,...Re===void 0?{}:{ownerId:Re},isOwner:Ve,canSendMessages:Le,canOpenProfile:Le,canReadHistory:je,canUseMessageActions:Le,canViewMembers:Le,canEditProfile:Ue,canInviteMembers:Ue,canManageMembers:Ue,canPinMessages:Ue,canUnpinMessages:Ue,canTransferOwnership:Ue,canLeave:Le,canUpdateVerification:Ue})})}let k=yt({conversationType:"channel",conversationId:_.conversationId}),j=d.get(_.conversationId),ne=te?.ref.conversationType==="channel"&&te.channelState!==void 0?te.channelState:j?.state;if(ne===void 0)return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:$,value:Object.freeze({state:"unknown",role:j?.role??"unknown",permissions:Hc(),canSendMessages:Me("unknown-restricted"),canOpenProfile:Me("unknown-restricted"),canReadHistory:je,canUseMessageActions:Me("unknown-restricted"),canMutateMessages:Me("unknown-restricted"),canPinMessages:Me("unknown-restricted"),canUnpinMessages:Me("unknown-restricted"),canDeleteMessagesForEveryone:Me("unknown-restricted"),canMentionAll:Me("unknown-restricted"),canViewMembers:Me("unknown-restricted"),canEditProfile:Me("unknown-restricted"),canManageMembers:Me("unknown-restricted"),canManageMute:Me("unknown-restricted"),canDismiss:Me("unknown-restricted"),canTransferOwnership:Me("unknown-restricted"),canLeave:Me("unknown-restricted"),canInviteMembers:Me("unknown-restricted"),canSetMemberAdmin:Me("unknown-restricted"),canRemoveMembers:Me("unknown-restricted"),canSetMemberPrivateChat:Me("unknown-restricted")})});let E=fa({channelState:ne,nowMs:$,...te?.ref.conversationType==="channel"&&te.channelAccessSnapshot!==void 0?{snapshot:te.channelAccessSnapshot}:{},...te?.ref.conversationType==="channel"&&te.channelPermissions!==void 0?{permissions:te.channelPermissions}:j?.permissions===void 0?{}:{permissions:j.permissions}}),U=qc(E.channelState,E.muteReason),H=E.channelState==="active"||E.channelState==="muted",J=E.channelState==="active"?E.permissions.sendMessages?je:He("unknown-restricted"):He(U),Q=ae=>H&&ae?je:He(H?"role-insufficient":U),R=ae=>E.channelState==="active"&&ae?je:He(E.channelState==="muted"?U:H?"role-insufficient":U),L=j?.memberPrivateChatDisabled===false||E.permissions.manageMembers===true,K=H?j===void 0&&E.permissions.manageMembers!==true?Me("not-ready"):Q(L):He(U),W=E.channelState==="muted"?He(U):H?je:He(U),B=Wc(te,$);return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:$,...B===void 0?{}:{nextEvaluationAt:B},value:Object.freeze({state:E.channelState,role:j?.role??te?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...E.permissions}),...E.muteReason===void 0?{}:{muteReason:E.muteReason},canSendMessages:J,canOpenProfile:H?je:He(U),canReadHistory:je,canUseMessageActions:H?je:He(U),canMutateMessages:W,canPinMessages:R(E.permissions.moderateMessages===true),canUnpinMessages:R(E.permissions.moderateMessages===true),canDeleteMessagesForEveryone:R(E.permissions.moderateMessages===true),canMentionAll:Q(E.permissions.mentionAll===true),canViewMembers:K,canEditProfile:Q(E.permissions.editProfile===true),canManageMembers:Q(E.permissions.manageMembers===true),canManageMute:Q(E.permissions.manageMute===true),canDismiss:Q(E.permissions.dismissChannel===true),canTransferOwnership:Q(E.permissions.transferOwnership===true),canLeave:H?je:He(U),canInviteMembers:Q(E.permissions.manageMembers===true),canSetMemberAdmin:Q(E.permissions.manageAdmins===true),canRemoveMembers:Q(E.permissions.manageMembers===true),canSetMemberPrivateChat:Q(E.permissions.manageMute===true)})})}async function g(_,G={}){let $=O(_);if(_.conversationType==="direct"){let te=await e.getRelationship(_.conversationId);S(_,$)&&m(_.conversationId,te,$);}else if(_.conversationType==="group"){let te={conversationType:"group",conversationId:_.conversationId},k=await e.getGroupProfile(te,{forceRefresh:true});S(_,$)&&a(te,k,$);}else {let te={conversationType:"channel",conversationId:_.conversationId},k=await e.getChannelProfile(te,{forceRefresh:true});S(_,$)&&r(te,k,$);}return T(_,G)}function m(_,G,$){let te={conversationType:"direct",conversationId:_};S(te,$)&&(n.set(_,{relationship:G,checkedAt:Date.now()}),Tn(te,i,T(te)));}function a(_,G,$){S(_,$)&&(o.set(_.conversationId,G),Tn(_,i,T(_)));}function r(_,G,$){S(_,$)&&(d.set(_.conversationId,G),Tn(_,i,T(_)));}function l(_,G,$={}){P();let te=zn(_),k=i.get(te)??new Set;return k.add(G),i.set(te,k),c.set(te,yt(_)),G(T(_,$)),I===void 0&&(I=e.subscribeConversations(j=>{P();let ne=Date.now(),E=new Set(j.map(U=>zn(U.ref)));for(let U of j){let H=T(U.ref,{nowMs:ne});Tn(U.ref,i,H);}for(let[U,H]of c){if(!y.has(U)||E.has(U))continue;A(H);let J=T(H,{nowMs:ne});Tn(H,i,J);}y=E;})),()=>{k.delete(G),k.size===0&&i.delete(te),i.has(te)||c.delete(te),i.size===0&&(I?.(),I=void 0,y=new Set);}}function v(){p();let _=Date.now();for(let G of c.values())Tn(G,i,T(G,{nowMs:_}));}function M(){I?.(),I=void 0,i.clear(),c.clear(),p();}let C=Object.freeze({get:T,refresh:g,subscribe:l});return Object.freeze({...C,api:C,beginProjectionUpdate:O,updateRelationshipProjection:m,updateGroupProfileProjection:a,updateChannelProfileProjection:r,reset:v,dispose:M})}var $c=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function rn(e,n){let o=e?.conversationType,d=e?.conversationId;if(o==="supergroup")throw V({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(o!=="direct"&&o!=="group"&&o!=="channel"||typeof d!="string"||d.trim()==="")throw V({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:o,conversationId:d})}function Jc(e){return e===null?null:Object.freeze({ref:rn(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 Yc(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 Xt(e){let n=Yc(e.lastMessageSummary),o=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})}}),d=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:rn({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},...o===void 0?{}:{lastMessageMention:o},...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"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:Jc(e.draft)})}function Xc(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function vn(e,n,o,d){return Xc(e)?e:V({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:o,...d===void 0?{}:{conversation:d},cause:e})}function hi(e){let n=new Set,o,d,i;function c(){return Object.freeze(e.getCompatibilityApi().list().map(Xt))}function s(){let A=e.getSessionState();return A==="preparing"?"loading":A==="ready"?"ready":"idle"}function I(){try{let A=c();return Object.freeze({state:d??s(),items:A,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(A){let p=vn(A,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(p)})}}function y(){let A=I();for(let p of [...n])p(A);}function h(A){return n.add(A),A(I()),o===void 0&&(o=e.subscribeEvents(p=>{$c.has(p.type)&&y();})),()=>{n.delete(A),n.size===0&&(o?.(),o=void 0);}}return {api:{list:c,getBackground:A=>e.getCompatibilityApi().getBackground(rn(A,"conversations.getBackground")),setBackground:(A,p)=>e.getCompatibilityApi().setBackground(rn(A,"conversations.setBackground"),p),resetBackground:A=>e.getCompatibilityApi().resetBackground(rn(A,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:A=>e.getCompatibilityApi().setDefaultBackground(A),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:A=>e.getCompatibilityApi().listBackgroundPresets(A),getSnapshot:I,subscribe:h,async refresh(){d="loading",i=void 0,y();try{await e.getCompatibilityApi().sync(),d=void 0,y();}catch(A){throw d="error",i=vn(A,"conversations.refresh",true),y(),i}},getTotalUnread(A){return c(),e.getCompatibilityApi().getTotalUnread(A)},setPinned(A,p){let P=rn(A,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(P,p);}catch(O){throw vn(O,"conversations.setPinned",false,P)}},async setMuted(A,p){let P=rn(A,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(P,p);}catch(O){throw vn(O,"conversations.setMuted",true,P)}},async markRead(A){let p=rn(A,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(p);}catch(P){throw vn(P,"conversations.markRead",true,p)}},markUnread(A){let p=rn(A,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(p);}catch(P){throw vn(P,"conversations.markUnread",false,p)}},deleteLocal(A){let p=rn(A,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(p);}catch(P){throw vn(P,"conversations.deleteLocal",false,p)}}},dispose(){o?.(),o=void 0,n.clear();}}}var Qc=128,Zc=8,ed=64*1024*1024,nd=3,ht=1024*1024;function td(e){let n=0,o=false,d=[];function i(){if(!o)for(;n<e&&d.length>0;){let c=d.shift();if(c.signal.removeEventListener("abort",c.onAbort),c.signal.aborted){c.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let s=false;c.resolve(()=>{s||(s=true,n=Math.max(0,n-1),i());});}}return {acquire(c){return o?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,I)=>{let y={resolve:s,reject:I,signal:c,onAbort:()=>{let h=d.indexOf(y);h>=0&&d.splice(h,1),I(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",y.onAbort,{once:true}),d.push(y),i();})},dispose(){o=true;for(let c of d.splice(0))c.signal.removeEventListener("abort",c.onAbort),c.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function vi(){return ca([{kind:"image",softMaxBytes:512*ht,maxEntries:512,maxEntryBytes:30*ht},{kind:"video",softMaxBytes:1792*ht,maxEntries:64,maxEntryBytes:200*ht}])}function Ci(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function rd(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function vt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qt(e,n,o){return `${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(o)}`}function Zt(e){let n=e.ref.conversationType,o=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||o.trim()==="")throw Te({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 d=vt({conversationType:n,conversationId:o});return Mi({id:Qt(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:Ci(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:od(e.failure,d)}})}function Te(e){let n=V(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function od(e,n){if(e===void 0)return;let o=e.displayCode,i=o===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}}[o];return Object.freeze(V({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function Mi(e){return Object.freeze({...e,ref:vt(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function ad(e){let n=e?.conversation,o=n?.conversationType,d=n?.conversationId;if(o==="supergroup")throw Te({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(o!=="direct"&&o!=="group"&&o!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Te({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return vt({conversationType:o,conversationId:d})}function bi(e){let n=true,o=0,d=new Map,i=new Set,c=new Map,s=new Map,I=new Map,y=td(nd),h=e.maxCachedBlobs??Zc,D=e.maxCachedBlobBytes??ed,A=0;function p(){if(!n||!e.isActive())throw Te({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function P(){return Object.freeze([...d.values()])}function O(){let E=P();for(let U of [...i])try{U(E);}catch(H){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}function S(E){let U=I.get(E);U!==void 0&&(A-=U.size,I.delete(E));}function T(E){d.delete(E),c.delete(E),S(E);}function g(){for(;d.size>Qc;){let E=[...d.values()].find(U=>U.state==="completed"||U.state==="failed"||U.state==="canceled");if(E===void 0)return;T(E.id);}}function m(E){d.set(E.id,Mi(E)),g();}function a(E){if(!n||!e.isActive())return;m(E);let U=d.get(E.id);if(O(),!n||!e.isActive()||U===void 0||d.get(E.id)!==U)return;let H={id:U.id,messageId:U.messageId,ref:U.ref,direction:"download",state:U.state,percent:U.percent};e.emitter.emit({type:"media-task:updated",conversation:U.ref,task:H});}function r(E,U){if(S(E),!(U.size>D))for(I.set(E,U),A+=U.size;I.size>h||A>D;){let H=I.keys().next().value;if(H===void 0)break;S(H);}}function l(E,U=true){let H=ad(E),J=e.domainState.getConversationMessage(H,E.messageId);if(J===void 0)throw Te({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:H});let Q,R,L,K;if(J.contentType==="image"?(Q=J.body.image,R=e.loaders?.loadImage,K="image"):J.contentType==="video"?(Q=J.body.video,R=e.loaders?.loadVideo,K="video"):J.contentType==="voice"?(Q=J.body.voice,R=e.loaders?.loadVoice):J.contentType==="file"&&(Q=J.body.file,R=e.loaders?.loadFile,L=J.body.file?.mimeType),Q===void 0)throw Te({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:H});if(U&&R===void 0)throw Te({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:H});if(Q.url.trim()===""||Q.url.startsWith("blob:"))throw Te({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:H});return {ref:H,messageId:J.id,...L===void 0?{}:{mimeType:L},...K===void 0?{}:{cacheKind:K,resourceVersion:da$1(Q.url)},...R===void 0?{}:{load:R},input:{url:Q.url,...Q.size===void 0?{}:{expectedBytes:Q.size},...Q.teaKey===void 0?{}:{teaKey:Q.teaKey},...Q.fileEncryptType===void 0?{}:{fileEncryptType:Q.fileEncryptType}}}}function v(E){return Te({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function M(){return Te({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function C(E,U,H=o){if(p(),H!==o)return null;let J=Qt("download",E.ref,E.messageId),Q=I.get(J);if(Q!==void 0)return I.delete(J),I.set(J,Q),Q;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let R;try{R=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:R===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...R===null?{}:{byteLength:R.bytes.byteLength}});}catch(K){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:K}),U)throw Te({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(R===null||(p(),H!==o))return null;let L=new Blob([R.bytes],{type:R.mimeType??E.mimeType??""});return r(J,L),L}function _(E,U=false){let H=o,J=Qt("download",E.ref,E.messageId),Q=s.get(J);if(Q!==void 0)return Q.promise;if(!U){let W=I.get(J);if(W!==void 0)return I.delete(J),I.set(J,W),Promise.resolve(W)}S(J);let R=vt(E.ref);c.set(J,Object.freeze({conversation:R,messageId:E.messageId}));let L=new AbortController,K=Promise.resolve().then(async()=>{let W;try{if(!n||!e.isActive())throw M();if(L.signal.aborted)throw v(R);if(W=await y.acquire(L.signal),!n||!e.isActive())throw M();if(L.signal.aborted)throw v(R);if(a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"running",percent:0}),!n||!e.isActive())throw M();if(L.signal.aborted)throw v(R);if(!U&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let ie=await C(E,!1,H);if(ie!==null){if(L.signal.aborted)throw v(R);return a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"completed",percent:100}),ie}}let B=E.load;if(B===void 0)throw Te({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:R});let ae=await B({...E.input,signal:L.signal,onProgress:ie=>{!n||!e.isActive()||L.signal.aborted||s.get(J)?.controller!==L||d.get(J)?.state!=="running"||a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"running",percent:Ci(ie)});}});if(!n||!e.isActive())throw M();if(L.signal.aborted)throw v(R);let se=ae,fe=new Blob([se],E.mimeType===void 0?void 0:{type:E.mimeType});if(H===o&&r(J,fe),H===o&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let ie=se.byteLength;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,bytes:se,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(he=>{e.onAssetCacheEvent?.({operation:"put",outcome:he,kind:E.cacheKind,messageId:E.messageId,byteLength:ie});}).catch(he=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:ie,cause:he});});}if(a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"completed",percent:100}),!n||!e.isActive())throw M();return fe}catch(B){if(!n||!e.isActive())throw M();if(L.signal.aborted||typeof B=="object"&&B!==null&&"code"in B&&B.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let se=v(R);throw d.get(J)?.state!=="canceled"&&a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"canceled",percent:d.get(J)?.percent??0,error:se}),se}let ae=Te({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:R});throw a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"failed",percent:d.get(J)?.percent??0,error:ae}),ae}finally{W?.(),s.get(J)?.controller===L&&s.delete(J);}});return s.set(J,{controller:L,promise:K}),a({id:J,messageId:E.messageId,ref:R,direction:"download",state:"queued",percent:0}),K}function G(E){try{return p(),_(l(E))}catch(U){return Promise.reject(U)}}async function $(E){let U=l(E,false);return U.cacheKind===void 0?null:await C(U,true)}function te(E,U){p();let H=d.get(E);if(H===void 0)throw Te({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:U,retryable:false});return H}function k(E,U){return Te({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:U,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let j=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||rd(E.conversation,E.task.ref)&&(m(Zt(E.task)),O());});return {api:{getSnapshot(){return p(),P()},subscribe(E){return p(),i.add(E),()=>i.delete(E)},async cancel(E){let U=te(E,"media.cancel");if(U.state!=="queued"&&U.state!=="running")throw k(U,"media.cancel");if(U.direction==="upload"){if(!e.connection.cancelMediaUpload(U.messageId))throw Te({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:U.ref});return}let H=s.get(E);if(H===void 0)throw k(U,"media.cancel");H.controller.abort();let J=v(U.ref);a({...U,state:"canceled",error:J});},async retry(E){let U=te(E,"media.retry");if(U.state!=="failed"&&U.state!=="canceled")throw k(U,"media.retry");if(U.direction==="upload"){if(!e.connection.retryMediaUpload(U.messageId))throw Te({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:U.ref});return}if(s.has(E))throw Te({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:U.ref});let H=c.get(E);if(H===void 0)throw Te({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await _(l(H),true);},download:G,getCached:$},clearCache(){o+=1,I.clear(),A=0;},dispose(){if(n){n=false,o+=1,j();for(let E of s.values())E.controller.abort();y.dispose(),s.clear(),i.clear(),d.clear(),c.clear(),I.clear(),A=0;}}}}var id={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"}},sd={"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 Si(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function cd(e,n){let o=id[e.reason];return Object.freeze(V({...o,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function er(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:cd(e.failure,n)}})}function dd(e){let n=Si(e);return er({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 ld(e,n,o){let d=V({code:sd[n],category:"state",operation:e,retryable:false,...o===void 0?{}:{conversation:o},details:Object.freeze({reason:n})});return Object.assign(new Error(d.code),d,{name:"ImOutboxOperationError"})}function Pi(e){let n=true,o=new Set;function d(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function i(){return d(),Object.freeze(e.operations.getPending().map(dd))}async function c(I,y){d();let h=e.operations.getPending().find(A=>A.id===y),D=I==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!D.accepted)throw ld(I,D.reason,h===void 0?void 0:Si(h))}return {api:{getSnapshot:i,subscribe(I){d();let y=e.emitter.subscribe(D=>{D.type==="outbox:updated"&&n&&I(i());}),h=()=>{y(),o.delete(h);};return o.add(h),h},retry:I=>c("outbox.retry",I),cancel:I=>c("outbox.cancel",I)},dispose(){if(n){n=false;for(let I of [...o])I();}}}}function ud(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Ct(e){return Object.freeze({type:"error",error:Object.freeze(V(e))})}function Fe(e){throw V(e)}function De(e,n,o){return (typeof e!="string"||e.trim()==="")&&Fe({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...o===void 0?{}:{conversation:o},details:Object.freeze({field:n})}),e}function ve(e,n){let o=e,d=o?.conversationType,i=o?.conversationId;return d==="supergroup"&&Fe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"||typeof i!="string"||i.trim()==="")&&Fe({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:i})}function pd(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Vn(e,n){let o=ve(e,n);return o.conversationType!=="direct"&&Fe({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:o,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:o.conversationId})}function Cn(e,n,o){pd(e,n)||Fe({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:o})});}function md(e){return Object.freeze({...e})}function fd(e,n){return Cn(ve(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(o=>Object.freeze({...o}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function gd(e){let n=De(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let o=ve(e.conversation,"application:updated");o.conversationType!=="group"&&Fe({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:o});let d=Object.freeze({conversationType:"group",conversationId:o.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:d})}if(e.domain==="channel"){let o=ve(e.conversation,"application:updated");o.conversationType!=="channel"&&Fe({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:o});let d=Object.freeze({conversationType:"channel",conversationId:o.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:d})}return Fe({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Id(e){return Object.freeze({ref:gd(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function yd(e){return Object.freeze({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"}}[e.reason])}function hd(e){return Object.freeze(V({...{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 vd(e,n){if(ud(e)){let{cause:o,...d}=e;return Ct(d)}return Ct({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Cd(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:md(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let o=ve(e.conversation,e.type);return Cn(ve({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),o,e.type),e.source!=="offline"&&e.source!=="live"&&Fe({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:o,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:o,message:Object.freeze(Rn(e.message)),source:e.source})}case "message:removed":{let o=ve(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,messageId:De(e.messageId,"messageId",o),scope:"local-only"})}case "conversation-history:cleared":{let o=ve(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,scope:"local-only"})}case "media:progress":{let o=ve(e.conversation,e.type),d=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:o,messageId:De(e.messageId,"messageId",o),percent:d})}case "media-task:updated":{let o=ve(e.conversation,e.type);Cn(ve(e.task.ref,e.type),o,e.type);let d=Zt(e.task);return Object.freeze({type:e.type,ref:o,task:d})}case "session:updated":{let o=ve(e.conversation,e.type);Cn(ve({conversationType:e.session.type,conversationId:e.session.id},e.type),o,e.type);let d=n.getConversation(o);return d===void 0&&Fe({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:o}),Cn(d.ref,o,e.type),Object.freeze({type:e.type,ref:o,conversation:d})}case "session:removed":{let o=ve(e.conversation,e.type);return e.conversationId!==o.conversationId&&Fe({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:o}),Object.freeze({type:e.type,ref:o})}case "pinned-message:updated":{let o=ve(e.conversation,e.type);o.conversationType!=="group"&&o.conversationType!=="channel"&&Fe({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:o}),e.pinnedMessage!==null&&Cn(ve({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),o,e.type);let d=Object.freeze({conversationType:o.conversationType,conversationId:o.conversationId});return Object.freeze({type:e.type,ref:d,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let o=De(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:o})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:o})})})}case "channel-profile:updated":{let o=ve(e.conversation,e.type);return (o.conversationType!=="channel"||e.channelId!==o.conversationId)&&Fe({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:o}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:o.conversationId})})}case "channel-join-application:received":{let o=ve(e.conversation,e.type);return (o.conversationType!=="channel"||e.notification.channelId!==o.conversationId)&&Fe({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:o}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:o.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:De(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Fe({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:De(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let o=ve(e.conversation,e.type);return (e.conversationId!==o.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Fe({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:o}),Object.freeze({type:e.type,ref:o,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let o=ve(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,draft:fd(e.draft,o)})}case "draft:cleared":{let o=ve(e.conversation,e.type);return Object.freeze({type:e.type,ref:o})}case "outbox:updated":{let o=ve(e.conversation,e.type);return Cn(ve(e.item.conversation,e.type),o,e.type),Object.freeze({type:e.type,ref:o,item:er(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:De(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Id(e.application)});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(o=>ve(o,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...yd(e.issue)});case "error":return Object.freeze({type:e.type,error:hd(e.error)});case "call:incoming":{let o=Vn(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,callId:De(e.callId,"callId",o),peerId:De(e.peerId,"peerId",o),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let o=Vn(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,callId:De(e.callId,"callId",o),peerId:De(e.peerId,"peerId",o),result:e.result})}case "call:hangup":{let o=Vn(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,callId:De(e.callId,"callId",o),peerId:De(e.peerId,"peerId",o),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let o=Vn(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,callId:De(e.callId,"callId",o),peerId:De(e.peerId,"peerId",o)})}case "call:failed":{let o=Vn(e.conversation,e.type);return Object.freeze({type:e.type,ref:o,callId:De(e.callId,"callId",o),peerId:De(e.peerId,"peerId",o),reason:e.reason})}case "notification":return null}}catch(o){return vd(o,e)}}function Md(e){let{type:n,...o}=e;return Object.freeze(o)}function bd(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=ve(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Ei(e){let n=new WeakMap;function o(i,c){let s=n.get(i);if(s!==void 0)return s;let I=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:i.notification.messageId}));return n.set(i,I),I}function d(i){let c=true,s=e.subscribeCore(I=>{if(I.type==="contact-application:answered"&&I.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(Ct({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let D=De(I.notification.responderId,"contactApplicationAnswer.responderId");o(I,D).then(A=>{if(!c||A===null)return;let p=Object.freeze({type:"contact-application:answered",peerId:D,result:A});i(p);}).catch(()=>{c&&i(Ct({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=Cd(I,e);y!==null&&i(y);let h=bd(I);h!==null&&i(Object.freeze({type:"group:activated",...h}));});return ()=>{c=false,s();}}return {subscribe:i=>d(i),on:(i,c)=>d(s=>{s.type===i&&c(Md(s));})}}function Mn(e){let n=V({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 Ai(e){function n(o){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw Mn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:o,retryable:false});return d}return {async getInfo(){let o=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:o})},async clearRebuildableCaches(){let o=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw Mn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:o});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(d){throw Mn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:o,cause:d})}e.emitter.emit({type:"local-data:cleared",accountScope:o,category:"rebuildable"});}}}function Ri(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function qn(e,n,o,d){return V({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...d===void 0?{}:{conversation:d},details:Object.freeze({expectedId:n,actualId:o})})}function wi(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Ti(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function _i(e,n){if(n.id!==e)throw qn("contacts.getProfile",e,n.id);let o=n.remark?.trim(),d=n.nickname;return Object.freeze({userId:e,displayName:o===void 0||o===""?d||e:n.remark,nickname:d,...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 Di(e,n){if(n.id!==e.conversationId)throw qn("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:wi(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 Sd(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 ki(e,n){if(n.id!==e.conversationId)throw qn("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Ti(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:Sd(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(o=>Object.freeze({...o})))}})}function Oi(e){return e.state==="ready"?Object.freeze({state:"ready",message:mt(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 Mt(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw qn("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:wi(e),messageId:n.messageId,preview:Oi(n.preview)})}function bt(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw qn("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Ti(e),messageId:n.messageId,preview:Oi(n.preview)})}function Pd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ed(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 Ad(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function nr(e,n,o){return Pd(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Ad(e)?V({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Ed(e.kind),operation:n,retryable:e.retryable===true,...o===void 0?{}:{conversation:o},cause:e}):V({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...o===void 0?{}:{conversation:o},cause:e})}var xi=new WeakMap;function tr(e,n){xi.set(e,n);}function Ni(e){let n=xi.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 Rd="IM_SDK_CHANNEL_NOT_MEMBER",wd="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Td="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",_d="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Dd(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function kd(e,n,o){if(Dd(e))return e;let d=e instanceof c$1?e.businessCode:void 0,i=e instanceof ka?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?Rd:d===40527?wd:d===40547?Td:e instanceof c$1?_d:e instanceof b$1?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c=e instanceof ka?"contract":e instanceof b$1?"network":d===40527?"permission":"state",s=V({code:i,category:c,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"channel",conversationId:o},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function ke(e,n,o){try{return await o()}catch(d){throw kd(d,e,n)??d}}var Od={pinMessage:()=>Promise.reject(new ue({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new ue({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new ue({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new ue({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Li(e){let n=new Map,o=new Map,d=true,i=p=>({conversationType:"channel",conversationId:p}),c=p=>{o.set(p,(o.get(p)??0)+1);};function s(p$1){if(!d||n.has(p$1))return;let P=o.get(p$1)??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$1}}});return}try{let S=await ba({client:e.coreClient,channelId:p$1});if(!d||(o.get(p$1)??0)!==P)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:p$1}}});return}if(S.data===null){e.domainState.clearPinnedMessage(i(p$1),"reconcile");return}e.domainState.setPinnedMessage(s$1(S.data.messageContent,{conversationId:p$1}),"reconcile");}catch(S){if(!d||(o.get(p$1)??0)!==P)return;let T=S instanceof h$1||S instanceof p?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(p$1,O),O.finally(()=>{n.get(p$1)===O&&n.delete(p$1);});}let I=pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),y=e.emitter.subscribe(p=>{if(p.type!=="message:received"&&p.type!=="message:updated")return;let P=p.message;if(P.conversationType!=="channel")return;let O=P.body.system?.pinnedMessageAction;O!==void 0&&p.source!=="live"&&p.channelLifecycleEffects!==true||((O?.type==="pin"||O?.type==="unpin")&&c(P.conversationId),I.handleMessage(P));});function h(p,P){if(P.trim()==="")throw new ue({operation:p,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let O=e.domainState.getSession(i(P));if(O===void 0)throw new ue({operation:p,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(O.type!=="channel")throw new ue({operation:p,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function D(p,P){if(e.coreClient===void 0)throw new ue({operation:p,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return h(p,P),e.coreClient}return {operations:{pinMessage:async({channelId:p,messageId:P})=>{let O=D("pin",p),S=e.domainState.getConversationMessage(i(p),P);if(S===void 0)throw new ue({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="channel")throw new ue({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==p)throw new ue({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:T,pinnedMessage:g}=t$1(S),m=await qa$1({client:O,channelId:p,messageContent:T});if(!m.ok)throw dn("pin",m.code,m.message);c(p),e.domainState.setPinnedMessage(g,"http:pin");let a=e.domainState.getPinnedMessage(i(p));if(a===void 0)throw new ue({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(T){throw ln("pin",T)}},unpinMessage:async p=>{let P=D("unpin",p);try{let O=await Ga$1({client:P,channelId:p});if(!O.ok)throw dn("unpin",O.code,O.message);c(p),e.domainState.clearPinnedMessage(i(p),"http:unpin");}catch(O){throw ln("unpin",O)}},getPinnedMessage:async p=>{let P=D("get",p);try{let O=await ba({client:P,channelId:p});if(!O.ok)throw dn("get",O.code,O.message);if(c(p),O.data===null)return e.domainState.clearPinnedMessage(i(p),"reconcile"),null;let S=s$1(O.data.messageContent,{conversationId:p});e.domainState.setPinnedMessage(S,"reconcile");let T=e.domainState.getPinnedMessage(i(p));if(T===void 0)throw new ue({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(O){throw ln("get",O)}},peekPinnedMessage:p=>(h("get",p),e.domainState.getPinnedMessage(i(p))??null)},dispose:()=>{d&&(d=false,y());}}}async function un(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var xd={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:un,prefetchFirstPage:un,refreshFirstPage:un,listFirstPage:un,listNextPage:un,searchFirstPage:un,refreshSearchFirstPage:un,searchNextPage:un},Nd=new Set(["unknown_restricted","left","removed","dismissed"]);function xe(e){return Nd.has(e)}function Fi(e){let n=true;function o(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function d(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function i(){if(d(),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 c(D){let A=D.trim();if(A==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return A}async function s(D){let p=await i().listJoinApplications({limit:D?.limit??20,...D?.cursor===void 0?{}:{cursor:D.cursor}});return d(),p}async function I(D,A){d();let p=c(D),P=i();await(A==="accept"?P.acceptJoinApplication(p):P.ignoreJoinApplication(p)),d();}async function y(D,A,p,P){o();let O=await P$1({http:e.http,userId:p,clientType:e.clientType,channelId:D,index:A,containAnchor:P,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return o(),O}async function h(D,A,p){let P=await y(D,A,p,true),O=P.messages.find(S=>S.extensions?.historyCursor===A);if(O===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${D}, index=${A}\uFF09`);return {context:P,message:O}}return {applications:{listJoinApplications:s,acceptJoinApplication:D=>I(D,"accept"),ignoreJoinApplication:D=>I(D,"ignore")},loadMessageContext:h,loadNewerPage:(D,A,p)=>y(D,A,p,false),dispose:()=>{n=false;}}}function Ki(e){async function n(i,c,s){let I=new Map(c.filter(u$1).sort((h,D)=>h.sortKey.localeCompare(D.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 D=h.extensions?.historyCursor;if(typeof D!="string"||D.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 A=e.getHistoryGeneration(),p=e.getHistoryEpoch(i);try{let{context:P,message:O}=await e.loadMessageContext(i,D,y.userId);if(!e.isActive()||A!==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=${D}, expected=${h.id}, actual=${O.id}\uFF09`);if(O.contentType!=="system"||u$1(O))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${D}, messageId=${h.id}\uFF09`);let S=P.messages.filter(T=>T.id===h.id||I.has(T.id));if(S.some(T=>T.contentType!=="system"||u$1(T)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${D}\uFF09`);e.domainState.upsertMessages(S,"offline"),s.applyIncoming(S.flatMap(T=>{let g=e.domainState.getMessage(T.id);return g===void 0?[]:[g]}));for(let T of S)I.delete(T.id);}catch(P){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${h.id}\uFF09`,cause:P}});}}}function o(i,c){return i?.conversationType===c.conversationType&&i.conversationId===c.conversationId}async function d(i,c=e.domainState.messageWindow){if(i.stale||!i.messages.some(u$1))return i;let s=c.info().conversation;if(s===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let I=e.domainState.getSession(s);if(I?.type!=="channel"||I.channelState!==void 0&&xe(I.channelState))return i;let y=c.getRevision();if(await n(s.conversationId,i.messages,c),c.getRevision()!==y||!o(c.info().conversation,s))return {...i,stale:true};let h=new Map(c.list().map(D=>[D.id,D]));return {...i,messages:i.messages.map(D=>h.get(D.id)??D)}}return {reconcilePage:d}}function Ui(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 o(g,m,a,r){let v=V({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},...r===void 0?{}:{cause:r}});return Object.assign(new Error(m),v)}function d(g){let m=g.name.trim();if(m==="")throw o("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>75)throw o("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 o("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let r=a.map(v=>typeof v=="string"?v.trim():"");if(r.includes(""))throw o("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let l=[...new Set(r)];if(l.length>40)throw o("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:l}}function i(){if(e.crypto===void 0)throw o("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 o("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 c(g,m){let a=g.trim();if(a==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function s(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 D$1(g,m,a){if(g!==1&&g!==2&&g!==4){let l=V({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"),l)}if(g!==4)return {verifyType:g};let r=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(r)){let l=V({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"),l)}return {verifyType:g,inviteCode:r}}function A(g){if(!Array.isArray(g))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(g.map(m=>c(m,"\u793E\u7FA4\u6210\u5458 id")))]}function p(g){e.emitter?.emit({type:"channel-profile:updated",channelId:g,conversation:{conversationType:"channel",conversationId:g}});}function P(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 S(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 T(g){if(g===null||typeof g!="object"||g===void 0)throw o("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 o("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 o("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let r=String(m),l=O$1(g.total_users),v=O$1(g.status),M=O$1(g.verify_way),C=O$1(g.update_version),_=S(g.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:r}),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)},...l===void 0?{}:{memberCount:l},...v===void 0?{}:{status:v},..._===void 0?{}:{isInChannel:_},...M===void 0?{}:{verifyWay:M},...C===void 0?{}:{updateVersion:C},...g.invite_code===void 0?{}:{inviteCode:g.invite_code}}}return {...n,mentions:e.mentionCandidates??xd,uploadAvatar:async g=>{if(e.avatarTransfer===void 0)throw o("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 wn(e.avatarTransfer,g)},create:async g=>{if(e.coreClient===void 0)throw o("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.ensureConversation===void 0)throw o("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let m=d(g),a=i();try{let r=await Z({client:e.coreClient,name:m.name,memberIds:m.memberIds,secretKey:a,...g.avatarUrl===void 0?{}:{avatarUrl:g.avatarUrl}});if(!r.ok){let M=r.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw o(M,r.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:r.code,message:r.message}))}let l=T(r.data);e.cacheCreatedSecretKey?.(l.ref.conversationId,a);let v=l.status===3?"dismissed":l.status===void 0||l.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({id:l.ref.conversationId,type:"channel",title:l.name,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:v,channelPermissions:ea("owner",v)}),Object.freeze({channel:l})}catch(r){throw r!==void 0&&typeof r=="object"&&r!==null&&"code"in r&&String(r.code).startsWith("IM_SDK_")?r:r instanceof b$1?o("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",r.message,void 0,r):o("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,r)}},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(),r=c(g,"\u793E\u7FA4 id"),l=c(m,"\u793E\u7FA4\u540D\u79F0");await ke("channels.updateName",r,()=>C$1({client:a,channelId:r,name:l})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:r},{title:l}),p(r);},updateDescription:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=I$1(m);await ke("channels.updateDescription",r,()=>C$1({client:a,channelId:r,description:l})),p(r);},updateAvatar:async(g,m)=>{let a=h(),r=c(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 l=await ke("channels.updateAvatar",r,()=>wn(e.avatarTransfer,m));return await ke("channels.updateAvatar",r,()=>C$1({client:a,channelId:r,avatarUrl:l})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:r},{avatar:l}),p(r),l},setMyNickname:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=s(m);await ke("channels.setMyNickname",r,()=>D({client:a,channelId:r,nickname:l})),p(r);},setMemberNickname:async(g,m,a)=>{let r=h(),l=c(g,"\u793E\u7FA4 id"),v=c(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 M=s(a);await ke("channels.setMemberNickname",l,()=>E({client:r,channelId:l,userId:v,nickname:M})),p(l);},updateVerification:async(g,m,a)=>{let r=h(),l=c(g,"\u793E\u7FA4 id"),v=D$1(m,a,l);await ke("channels.updateVerification",l,()=>L({client:r,channelId:l,verifyType:v.verifyType,...v.inviteCode===void 0?{}:{inviteCode:v.inviteCode}})),p(l);},requestJoin:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=m?.remarks?.trim();return ke("channels.requestJoin",r,()=>na$1({client:a,channelId:r,...l===void 0?{}:{remarks:l}}))},joinByInviteCode:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=m.trim();if(!/^\d{6}$/.test(l))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return ke("channels.joinByInviteCode",r,()=>oa$1({client:a,channelId:r,inviteCode:l}))},setAllMuted:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id");await ke("channels.setAllMuted",r,()=>M({client:a,channelId:r,muted:m})),e.domainState?.refreshConversationProfile?.(r,"channel"),p(r);},setMemberPrivateChatDisabled:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id");await ke("channels.setMemberPrivateChatDisabled",r,()=>N({client:a,channelId:r,disabled:m})),e.domainState?.refreshConversationProfile?.(r,"channel"),p(r);},inviteMembers:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=A(m);if(l.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await ke("channels.inviteMembers",r,()=>F({client:a,channelId:r,userIds:l})),p(r);},removeMember:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=c(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await ke("channels.removeMember",r,()=>G({client:a,channelId:r,userId:l})),p(r);},addAdmin:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=c(m,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await ke("channels.addAdmin",r,()=>H({client:a,channelId:r,userId:l})),P(r),p(r);},removeAdmin:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=c(m,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await ke("channels.removeAdmin",r,()=>I({client:a,channelId:r,userId:l})),P(r),p(r);},transferOwnership:async(g,m)=>{let a=h(),r=c(g,"\u793E\u7FA4 id"),l=c(m,"\u65B0\u793E\u7FA4\u4E3B id");await ke("channels.transferOwnership",r,()=>J({client:a,channelId:r,userId:l})),P(r),e.domainState?.refreshConversationProfile?.(r,"channel"),p(r);},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 r=c(g,"\u793E\u7FA4 id"),l=m?.newOwnerId===void 0?void 0:c(m.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await ke("channels.leave",r,()=>K({client:a,channelId:r,...l===void 0?{}:{newOwnerId:l}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:r},"channel_left"),p(r);},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=c(g,"\u793E\u7FA4 id");await ke("channels.dismiss",a,()=>O({client:m,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),p(a);},...e.applications,...e.pinned??Od}}function Ld(e){let o=V({...{"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(o.code),o)}function Fd(e){let n=e.responseCode===U,i=V({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 Kd(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Bi(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"))},o=new Map,d=new Map,i=new Map,c=new Map,s=0,I=false,y=5e3;function h(a,r,l){if(I)return "unknown";if(l!==void 0&&o.get(a)!==l)return d.get(a)??"unknown";let v=d.get(a);return d.set(a,r),i.set(a,Date.now()),v!==r&&e.onRelationshipChanged?.(a,r),r}function D(a,r){if(I)return;let l=p(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");o.set(l,++s),h(l,r);}function A(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,r){let l=a.trim();if(l==="")throw new Error(`${r}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return l}function P(a,r){e.profile!==void 0&&e.profile.getUserProfile(a,{forceRefresh:true}).catch(l=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${r}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:l}});});}async function O(a,r){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===""||r.name===void 0&&r.email===void 0&&r.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 Da$1({client:e.coreClient,userId:a,...r.name===void 0?{}:{name:r.name},...r.email===void 0?{}:{email:r.email},...r.phones===void 0?{}:{phones:r.phones.map(l=>({countryCode:l.countryCode,mobile:l.mobile}))}}),e.domainState.getSession(a)?.type==="direct"&&e.domainState.refreshConversationProfile(a,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:a});}function S$1(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 T$1(a,r){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 l=a.trim();if(l==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let v=c.get(l);if(r&&v!==void 0)return v;let M=++s;o.set(l,M);let C=f(e.coreClient,{userId:l}).then(_=>h(l,S$1(_?.friend_status),M)).finally(()=>{c.get(l)===C&&c.delete(l);});return c.set(l,C),C}function g(a){return T$1(a,true)}async function m(a,r){let l=p(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),v;try{v=await T$1(l,!1);}catch(M){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:l,error:M}}}),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:l}}}),null;if(v!=="friend")return "rejected";D(l,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(l,r,Date.now());}catch(M){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:l,error:M}}}),null}return I?null:(e.domainState.refreshConversationProfile(l,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:l}),P(l,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(a,r)=>e.profile?.getUserProfile(a,r)??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$2(e.coreClient,{query:a}).catch(r=>{throw r instanceof S?Fd(r):r}).then(r=>{if(r===null)return null;let l=S$1(r.friendStatus);return D(r.userId,l),Object.freeze({userId:r.userId,displayName:r.nickname||r.miCallId||r.username||r.userId,nickname:r.nickname,relationship:l,...r.avatarUrl===void 0?{}:{avatarUrl:r.avatarUrl},...r.username===void 0?{}:{username:r.username},...r.miCallId===void 0?{}:{miCallId:r.miCallId},...r.signature===void 0?{}:{signature:r.signature}})}),getRelationship:g,requestFriendship:async(a,r)=>{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 l=p(a,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),v;try{v=await W$1(e.coreClient,{userId:l,message:r.message,...r.remark===void 0?{}:{remark:r.remark}});}catch(C){throw C instanceof T?Ld(C):C}let M=Kd(v.status);return D(l,M==="sent"?"pending":"friend"),M==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(l,j(),Date.now()),e.domainState.refreshConversationProfile(l,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:l}),P(l,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:M,...v.message===void 0?{}:{message:v.message}})},blockUser:async a=>{let r=p(a,"\u52A0\u5165\u9ED1\u540D\u5355");await R(A("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:r,blocked:true}),D(r,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:r},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:r}),e.emitter.emit({type:"profile:updated",profileType:"user",id:r}),P(r,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,r)=>{let l=p(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),v=r.trim();if(v==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let M=e.getSelfId?.().trim()??"";if(M==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Y$1(A("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:M,targetUserId:l,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 r=a.trim();if(r==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await X$1(e.coreClient,{userId:r}),D(r,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:r},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:r});try{await e.resetDirectReadReceiptPreference?.(r);}catch(l){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:l}});}P(r,"\u5220\u9664\u597D\u53CB");},peekRelationship:a=>d.get(a.trim()),ensureRelationship(a){let r=p(a,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),l=i.get(r);return l!==void 0&&Date.now()-l<y?Promise.resolve(d.get(r)??"unknown"):g(r)},updateRelationshipFromEvent:D,resolveApplicationAnswer:m,dispose:()=>{I=true,s+=1,o.clear(),d.clear(),i.clear(),c.clear();}}}function Gi(e){return (n,o)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${o}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let d=e().filter(c=>c.id===n);if(d.length===0)throw new Error(`${o}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(d.length>1)throw new Error(`${o}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let i=d[0];if(i.type==="supergroup")throw new Error(`${o}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function ji(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,o)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),o),setMuted:async(n,o)=>{let d=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(d);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ca$1({client:e.coreClient,conversationType:i.type,targetId:i.id,muted:o}),e.domainState.setMuted(d,o);},markConversationRead:async n=>{let o=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),d=e.domainState.getSession(o);if(d===void 0)return;if(d.unreadCount===0&&d.manuallyUnread===true){e.domainState.clearConversationManualUnread(o);return}if(d.unreadCount===0&&(d.type!=="channel"||(d.mentionUnreadCount??0)===0))return;let i=e.domainState.getMessagesByConversation(o),c=i.at(-1)?.id??d.readCursor??"";if(d.type==="direct"){c!==""&&e.domainState.advanceRead(o,c),e.domainState.clearConversationManualUnread(o);return}if(d.type==="group"){let s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:e.http,userId:s.userId,groupId:o.conversationId}),e.domainState.applyServerUnread(o,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(o);return}if(d.type==="channel"){let s=va$1(i);if(s===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${o.conversationId}\uFF09`);await e.markChannelRead(o.conversationId,s),e.domainState.clearConversationManualUnread(o);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${d.type}`)},markConversationUnread:n=>{let o=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(o);},deleteConversation:n=>{let o=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.terminateConversationSending?.(o,"conversation_deleted"),e.domainState.removeConversation(o),e.resetConversationBackground?.(o).catch(d=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",d));}}}var Hi=1,Ud=3;function zi(e){async function n(C){return e.connection.sendText(C)}async function o(C){return e.connection.sendContact(C)}async function d(C){return e.connection.forwardMessages(C)}async function i(C){return e.connection.recallMessage(C)}async function c(C){return e.connection.editMessage(C)}async function s(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 D(C){return e.connection.sendGif(C)}async function A(C){return e.connection.sendExpression(C)}async function p(C){return e.connection.sendGame(C)}async function P(C){return e.connection.sendMiniProgram(C)}async function O(C){return e.connection.sendTransfer(C)}async function S(C,_){return e.connection.replaceInterruptedVideo(C,_)}async function T(C,_){return e.connection.replaceInterruptedFile(C,_)}function g(C){e.connection.cancelMedia(C);}async function m(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 _=await e.mediaTransfer.download({url:C.url,...C.expectedBytes===void 0?{}:{expectedBytes:C.expectedBytes},...C.onProgress!==void 0?{onProgress:G=>C.onProgress?.(G.percent)}:{},...C.signal!==void 0?{signal:C.signal}:{}});return C.teaKey!==void 0&&C.teaKey.length>0&&C.fileEncryptType!==Hi?e.crypto.decryptSymmetric({teaKey:C.teaKey,cipherData:_}):_}async function a(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 _=await e.mediaTransfer.download({url:C.url,...C.expectedBytes===void 0?{}:{expectedBytes:C.expectedBytes},...C.onProgress!==void 0?{onProgress:G=>C.onProgress?.(G.percent)}:{},...C.signal!==void 0?{signal:C.signal}:{}});return C.teaKey===void 0||C.teaKey.length===0||C.fileEncryptType===Hi?_:C.fileEncryptType===Ud?e.crypto.decryptSymmetric({teaKey:C.teaKey,cipherData:_}):e.crypto.decryptFileSimple({teaKey:C.teaKey,cipherData:_})}function r(C){e.connection.retryMessage(C);}function l(C,_){let G={conversationType:"channel",conversationId:C},$=e.domainState.getLoadedMessagesByConversation(G),k=e.domainState.getConversationMessage(G,_)??$.find(ne=>ua(ne)===_),j=ua(k);if(k===void 0||typeof j!="string"||j.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${C}, input=${_}\uFF09`);return k.id}async function v(C){let _=C.conversationType??e.domainState.getSession(C.conversationId)?.type;if(_==="channel"){let G=l(C.conversationId,C.readCursor);await e.connection.markRead(C.conversationId,G,"channel");return}await e.connection.markRead(C.conversationId,C.readCursor,C.conversationType),_==="direct"&&await e.prepareDirectReadReceipt?.(C.conversationId);}async function M(C,_){e.connection.reportDirectMediaConsumed?.(C,_),await e.prepareDirectReadReceipt?.(C);}return {operations:{sendText:n,sendContact:o,forwardMessages:d,recallMessage:i,editMessage:c,sendImage:s,sendVideo:I,sendVoice:y,sendFile:h,sendGif:D,sendExpression:A,sendGame:p,sendMiniProgram:P,sendTransfer:O,replaceInterruptedVideo:S,replaceInterruptedFile:T,cancelMediaUpload:g,loadImage:m,loadVideo:m,loadVoice:m,loadFile:a,retry:r,markRead:v,markDirectMediaConsumed:M}}}function Vi(e){return {...e.operations,get state(){return e.getState()}}}var Bd=50,Gd=1e3,Ke={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 Pe(e){let n=V({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 jd(e,n){switch(e){case Ke.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Ke.CONTACT_PERMISSION_DENIED:case Ke.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Ke.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Ke.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Ke.ALREADY_GROUP_MEMBER:case Ke.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Ke.GROUP_MEMBER_LIMIT_REACHED:case Ke.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Ke.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Ke.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Ke.OPERATION_FAILED:case Ke.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Ke.GROUP_APPLICATION_UNAVAILABLE_40521:case Ke.GROUP_APPLICATION_UNAVAILABLE_40612:case Ke.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Hd(e){if(e instanceof i||e instanceof p$1)return e.code}function zd(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 qi(e,n,o){let d=Hd(o),i=jd(d,e),c=zd(o);return Pe({code:i,category:c.category,operation:n,retryable:c.retryable,cause:o})}function Wi(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function ze(e,n){if(typeof e!="string"&&typeof e!="number")throw Pe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let o=String(e).trim();if(o==="")throw Pe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return o}function rr(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Pe({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 bn(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 Vd(e,n,o="pending"){return Object.freeze({ref:bn(e),...n===void 0?{}:{createdAt:n},state:o})}function qd(e){let n=rr(e.createdAt),o=pn(e.applicantAvatar,"contact.applicantAvatar"),d=pn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:bn({domain:"contact",applicationId:ze(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:ze(e.applicantId,"contact.applicantId"),name:ze(e.applicantName,"contact.applicantName"),...o===void 0?{}:{avatarUrl:o},...d===void 0?{}:{displayId:d}}),message:or(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Wd(e){if(e.kind!=="request"&&e.kind!=="invite")throw Pe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=rr(e.createdAt),o=pn(e.actor.avatarUrl,"group.actor.avatarUrl"),d=pn(e.actor.displayId,"group.actor.displayId"),i=pn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:bn({domain:"group",applicationId:ze(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:ze(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:ze(e.actor.id,"group.actor.id"),name:ze(e.actor.name,"group.actor.name"),...o===void 0?{}:{avatarUrl:o},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:ze(e.target.id,"group.target.id"),name:ze(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:or(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function pn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Pe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let o=String(e).trim();return o===""?void 0:o}function or(e,n){if(typeof e!="string"&&typeof e!="number")throw Pe({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 $d(e){let n=rr(e.createdAt),o=pn(e.applicantAvatar,"channel.applicantAvatar"),d=pn(e.applicantDisplayId,"channel.applicantDisplayId"),i=pn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:bn({domain:"channel",applicationId:ze(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:ze(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:ze(e.applicantId,"channel.applicantId"),name:ze(e.applicantName,"channel.applicantName"),...o===void 0?{}:{avatarUrl:o},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:ze(e.channelId,"channel.channelId"),name:ze(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:or(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Wn(e){return `${e.domain}:${e.applicationId}`}function $i(e){let n=false,o=0,d=0,i=new Map,c=new Map,s=new Map;function I(P,O){if(n||!e.isActive()||O!==void 0&&o!==O)throw Pe({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:P,retryable:false})}function y(P){if(I(P),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Pe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:P,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function h(P,O){let S=[],T=new Set,g;for(let m=0;m<Gd;m+=1){let a=await O({limit:Bd,...g===void 0?{}:{cursor:g}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Pe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});if(S.push(...a.items),a.exhausted)return S;let r=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(r===""||T.has(r))throw Pe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:P,retryable:false});T.add(r),g=r;}throw Pe({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:P,retryable:false})}async function D(){let P="applications.listPending",O=y(P),S=o,T=++d;try{let[g,m,a]=await Promise.all([h(P,M=>O.contact.listPendingApplications(M)),h(P,M=>O.group.listPendingApplications(M)),h(P,M=>O.channel.listJoinApplications(M))]);I(P,S);let r=[...g.map(qd),...m.map(Wd),...a.map($d)],l=new Map;for(let M of r){let C=Wn(M.ref);if(c.has(C))continue;let _=l.get(C);if(_!==void 0&&JSON.stringify(_.ref)!==JSON.stringify(M.ref))throw Pe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:P,retryable:!1});(_===void 0||(M.createdAt??0)>(_.createdAt??0))&&l.set(C,M);}let v=[...l.values()].sort((M,C)=>{let _=(C.createdAt??0)-(M.createdAt??0);return _!==0?_:Wn(M.ref).localeCompare(Wn(C.ref))});if(T===d){i.clear();for(let M of v)i.set(Wn(M.ref),M);}return Object.freeze(v)}catch(g){throw Wi(g)?g:(I(P,S),qi("IM_SDK_APPLICATION_LIST_FAILED",P,g))}}function A(P,O){if(I(O),P===null||typeof P!="object")throw Pe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});let S=typeof P?.applicationId=="string"?P.applicationId.trim():"";if(S==="")throw Pe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false});if(P.domain==="contact")return bn({domain:"contact",applicationId:S});let T=typeof P.conversation?.conversationId=="string"?P.conversation.conversationId.trim():"";if(P.domain==="group"&&P.conversation?.conversationType==="group"&&T!=="")return bn({domain:"group",applicationId:S,conversation:{conversationType:"group",conversationId:T}});if(P.domain==="channel"&&P.conversation?.conversationType==="channel"&&T!=="")return bn({domain:"channel",applicationId:S,conversation:{conversationType:"channel",conversationId:T}});throw Pe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:O,retryable:false})}function p(P,O){let S=O==="accepted"?"applications.accept":"applications.ignore",T=A(P,S),g=Wn(T),m=c.get(g);if(m===O)return Promise.resolve();if(m!==void 0)return Promise.reject(Pe({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:S,retryable:false}));let a=s.get(g);if(a!==void 0)return a.state===O?a.promise:Promise.reject(Pe({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:S,retryable:true}));let r=o,l=Promise.resolve().then(async()=>{try{let M;if(T.domain==="contact"){if(e.contact===void 0)throw Pe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});M=O==="accepted"?e.contact.acceptApplication(T.applicationId):e.contact.ignoreApplication(T.applicationId);}else if(T.domain==="group"){if(e.group===void 0)throw Pe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});M=O==="accepted"?e.group.acceptApplication(T.applicationId):e.group.ignoreApplication(T.applicationId);}else {if(e.channel===void 0)throw Pe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});M=O==="accepted"?e.channel.acceptJoinApplication(T.applicationId):e.channel.ignoreJoinApplication(T.applicationId);}if(await M,I(S,r),O==="accepted"&&T.domain==="contact"){let _=i.get(g);_?.kind==="contact-request"&&await e.onContactAccepted?.(_.applicant.id,T.applicationId);}c.set(g,O);let C=Vd(T,i.get(g)?.createdAt,O);i.delete(g),e.emitter.emit({type:"application:updated",application:C});}catch(M){throw Wi(M)?M:(I(S,r),qi("IM_SDK_APPLICATION_ACTION_FAILED",S,M))}}),v=()=>{s.get(g)?.promise===l&&s.delete(g);};return s.set(g,{state:O,promise:l}),l.then(v,v),l}return {api:{listPending:D,accept:async P=>p(P,"accepted"),ignore:async P=>p(P,"ignored")},dispose(){n||(n=true,o+=1,i.clear(),c.clear(),s.clear());}}}function Sn(e,n,o){try{o();}catch(d){let i=d instanceof Error?d.message:String(d);throw i.includes("\u672A\u9274\u6743")?V({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?V({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?V({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?V({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):V({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function Ji(e){return {invite(n){let o={conversationType:"direct",conversationId:n.peerId},d;return Sn("calls.invite",o,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Sn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Sn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Sn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Sn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Sn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Sn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var ar=18,Jd=12,Yd=300*1e3,Xd=64,Yi=Object.freeze([]),Qd=0;function Zd(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Xi(e){let n=e.now??(()=>Date.now()),o=e.cacheTtlMs??Yd,d=e.maxCacheEntries??Xd;if(!Number.isFinite(o)||o<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(d)||d<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let i=++Qd,c=new Map,s=new Map,I=new Map,y=new Map,h=new Map,D=new Map,A=new Map,p=new Set,P=0,O=true,S=R=>y.get(R)??0;function T(){if(!O)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function g(R){if(R.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let L=R.conversationId.trim();if(L==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return L}function m(R){let L=c.get(R);c.delete(R),L?.page.nextPageToken!==void 0&&I.delete(L.page.nextPageToken);}function a(R,L){let K=c.get(R);return K===void 0?null:K.generation!==L||K.expiresAt<=n()?(m(R),null):(c.delete(R),c.set(R,K),K.page)}function r(R,L){for(m(R),c.set(R,L);c.size>d;){let K=c.keys().next().value;if(typeof K!="string")break;m(K);}}function l(R){let L=[],K=new Map;for(let W of R){let B=W.userId.trim();if(B==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");K.has(B)||L.push(B);let ae=W.displayName.trim()||B,se=W.avatar?.trim();K.set(B,Object.freeze({userId:B,displayName:ae,...se===void 0||se===""?{}:{avatar:se}}));}return Object.freeze(L.map(W=>K.get(W)))}async function v(R,L){let K=await R$1(L);return Object.freeze(R.filter(W=>K.match(W.displayName)!==null||K.match(W.userId,{pinyin:false})!==null))}async function M(R,L){let K=await E(R);return K===null?Yi:v(K.page.items,L)}function C(R,L){let K=[...R.items],W=new Set(K.map(B=>B.userId));for(let B of L)W.has(B.userId)||(W.add(B.userId),K.push(B));return Object.freeze({...R,items:Object.freeze(K)})}function _(R,L){let K=R.map(B=>B.userId),W=new Map(R.map(B=>[B.userId,B]));for(let B of L)W.has(B.userId)||K.push(B.userId),W.set(B.userId,B);return K.map(B=>W.get(B))}function G(R,L,K){let W=`im-channel-mention:${i}:${++P}`;for(I.set(W,{...R,generation:L,expiresAt:K});I.size>d;){let B=I.keys().next().value;if(typeof B!="string")break;I.delete(B);}return W}function $(R){let L=R.nextCursor?.trim();if(R.exhausted&&L!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!R.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 te(R,L,K,W){let B=$(R),ae=B===void 0?void 0:G({...L,cursor:B},K,W);return Object.freeze({items:l(R.items),...ae===void 0?{}:{nextPageToken:ae},exhausted:R.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 j(R,L){let K=h.get(R);for(K?.page.nextPageToken!==void 0&&I.delete(K.page.nextPageToken),h.delete(R),h.set(R,L);h.size>d;){let W=h.keys().next().value;if(W===void 0)break;let B=h.get(W);B?.page.nextPageToken!==void 0&&I.delete(B.page.nextPageToken),h.delete(W);}}function ne(R,L){let K=n()+o,W={channelId:R.channelId,kind:"list"},B=R.nextCursor===void 0?void 0:G({...W,cursor:R.nextCursor},L,K);return {generation:L,updatedAt:R.updatedAt,page:Object.freeze({items:l(R.items),...B===void 0?{}:{nextPageToken:B},exhausted:R.exhausted})}}function E(R){T();let L=h.get(R);if(L!==void 0)return Promise.resolve(L);if(p.has(R)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let K=A.get(R);if(K!==void 0)return K;let W=S(R),B=e.storage.getChannelMentionCandidateSnapshot(R).then(ae=>{if(T(),ae===null||ae.channelId!==R||S(R)!==W||p.has(R))return null;let se=ne(ae,W);return j(R,se),se}).finally(()=>{A.get(R)===B&&A.delete(R);});return A.set(R,B),B}function U(R){T();let L=D.get(R);if(L!==void 0)return L;let K=S(R),W=k(),B=(async()=>{let ae,se=false,fe=[];for(let Re=0;Re<Jd&&!se;Re+=1){let Ve=await W.listMentionMembers({channelId:R,limit:ar,...ae===void 0?{}:{cursor:ae}});if(T(),S(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ae=$(Ve),se=Ve.exhausted,fe=_(fe,Ve.items);}let ie=n(),he={channelId:R,items:fe,...ae===void 0?{}:{nextCursor:ae},exhausted:se,updatedAt:ie};if(S(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(he),T(),S(R)!==K)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ae=ne(he,K);return j(R,Ae),Ae.page})().finally(()=>{D.get(R)===B&&D.delete(R);});return D.set(R,B),B}function H(R,L=false){T();let K=S(R.channelId),W=Zd(R);if(!L){let ie=a(W,K);if(ie!==null)return Promise.resolve(ie)}let B=s.get(W);if(B!==void 0&&B.generation===K)return B.promise;let ae=k(),se=R.kind==="list"?ae.listMentionMembers({channelId:R.channelId,limit:ar,...R.cursor===void 0?{}:{cursor:R.cursor}}):ae.searchMentionMembers({channelId:R.channelId,query:R.keyword,limit:ar,...R.cursor===void 0?{}:{cursor:R.cursor}}),fe=Promise.resolve(se).then(async ie=>{T();let he=R.kind==="search"&&R.cursor===void 0?await M(R.channelId,R.keyword):Yi;if(T(),S(R.channelId)!==K)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ae=n()+o,Re=te(ie,R,K,Ae),Ve=he.length===0?Re:C(Re,he);return S(R.channelId)===K&&r(W,{channelId:R.channelId,generation:K,expiresAt:Ae,page:Ve}),Ve}).finally(()=>{s.get(W)?.promise===fe&&s.delete(W);});return s.set(W,{generation:K,promise:fe}),fe}function J(R,L){T();let K=I.get(R);if(K===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(K.kind!==L)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${L} \u5206\u9875`);if(K.expiresAt<=n())throw I.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(S(K.channelId)!==K.generation)throw I.delete(R),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return K}return {api:{peekFirstPage(R){if(!O)return null;let L=g(R),K=h.get(L);return K===void 0||K.generation!==S(L)?null:(j(L,K),K.page)},peekSearchCandidates(R,L){if(!O)return Object.freeze([]);let K=g(R),W=L.trim().toLocaleLowerCase();if(W==="")return Object.freeze([]);let B=h.get(K);return B===void 0||B.generation!==S(K)?Object.freeze([]):(j(K,B),Object.freeze(B.page.items.filter(ae=>ae.displayName.toLocaleLowerCase().includes(W)||ae.userId.toLocaleLowerCase().includes(W))))},async getCachedPage(R,L){let K=g(R),W=await E(K);if(W===null)return null;let B=L?.trim()??"";if(B==="")return W.page;let ae=await v(W.page.items,B);return T(),W.generation!==S(K)?null:Object.freeze({items:ae,exhausted:true})},async prefetchFirstPage(R){let L=g(R),K=await E(L);K!==null&&K.updatedAt+o>n()||await U(L);},async refreshFirstPage(R){return U(g(R))},async listFirstPage(R){let L=g(R),K=h.get(L);if(K!==void 0&&K.generation===S(L))return j(L,K),K.page;let W=await E(L);return W!==null?W.page:U(L)},async listNextPage(R){return H(J(R,"list"))},async searchFirstPage(R,L){let K=g(R),W=L.trim();return W===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):H({channelId:K,kind:"search",keyword:W})},async refreshSearchFirstPage(R,L){let K=g(R),W=L.trim();return W===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):H({channelId:K,kind:"search",keyword:W},true)},async searchNextPage(R){return H(J(R,"search"))}},async invalidate(R){if(!O)return;let L=R.trim();if(L==="")return;y.set(L,S(L)+1),p.add(L);let K=h.get(L);K?.page.nextPageToken!==void 0&&I.delete(K.page.nextPageToken),h.delete(L),D.delete(L),A.delete(L);for(let[W,B]of c)B.channelId===L&&m(W);for(let[W,B]of I)B.channelId===L&&I.delete(W);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(L),p.delete(L));},clear(){if(!O)return;let R=new Set;for(let L of c.values())R.add(L.channelId);for(let L of I.values())R.add(L.channelId);for(let L of R)y.set(L,S(L)+1);c.clear(),I.clear(),s.clear(),h.clear(),D.clear(),A.clear(),p.clear();},dispose(){O&&(O=false,c.clear(),I.clear(),s.clear(),h.clear(),D.clear(),A.clear(),p.clear());}}}var el=20*1024*1024;function on(e){return V({...e,retryable:e.retryable??false})}function ir(e,n){if(e?.conversationType==="supergroup")throw on({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 on({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function nl(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 on({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function tl(e,n){try{let o=new URL(e);if(o.protocol==="http:"||o.protocol==="https:")return e}catch{}throw on({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function Qi(e,n,o){if(e.kind==="preset"){if(e.presetId.trim()==="")throw on({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:tl(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>o)throw on({code:e.blob instanceof Blob&&e.blob.size>o?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let d=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:d}}function sr(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 rl(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Zi(e){let n=e.maxCustomImageBytes??el,o=false,d=0,i,c;async function s(y,h){try{return await h(nl(e.storage,y))}catch(D){throw typeof D=="object"&&D!==null&&"code"in D?D:on({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:D})}}return {api:{async getBackground(y){let h="conversations.getBackground",D=ir(y,h);return s(h,async A=>{let p=await A.getConversationBackground(D);if(p!==null)return Object.freeze({source:"conversation",selection:sr(p)});let P=await A.getDefaultConversationBackground();return Object.freeze(P===null?{source:"builtin",selection:null}:{source:"default",selection:sr(P)})})},async setBackground(y,h){let D="conversations.setBackground",A=ir(y,D),p=await Qi(h,D,n);await s(D,P=>P.saveConversationBackground(A,p));},async resetBackground(y){let h="conversations.resetBackground",D=ir(y,h);await s(h,A=>A.deleteConversationBackground(D));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async h=>{let D=await h.getDefaultConversationBackground();return Object.freeze(D===null?{source:"builtin",selection:null}:{source:"default",selection:sr(D)})})},async setDefaultBackground(y){let h="conversations.setDefaultBackground",D=await Qi(y,h,n);await s(h,A=>A.saveDefaultConversationBackground(D));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",h=>h.deleteDefaultConversationBackground());},listBackgroundPresets(y){let h="conversations.listBackgroundPresets";if(o)return Promise.reject(on({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:h}));if(!y?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!y?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(on({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:h}));let D=++d,A=da(e.coreClient).then(p=>{let P=Object.freeze(p.map(rl));return !o&&D===d&&(i=P),P}).catch(p=>{throw on({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:h,retryable:true,cause:p})}).finally(()=>{D===d&&(c=void 0);});return c=A,A}},dispose(){o=true,d+=1,i=void 0,c=void 0;}}}var es=2;function ol(e){return e.body.system?.timelineVisibility!=="hidden"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function St(e,n,o){let d=0,i=0,c;for(let s of e)!ol(s)||s.senderId===n||o!==void 0&&s.sortKey<=o||(d+=1,U$1(s)&&(i+=1,c===void 0&&(c=s)));return {rawUnreadCount:d,eligibleUnreadCount:i,firstEligible:c}}function ns(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function ts(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let d=St(e.list(),e.selfId,e.readCursorSortKey);for(let c=0;d.firstEligible===void 0&&e.hasNewer()&&c<es;c+=1)await e.loadNewer(),d=St(e.list(),e.selfId,e.readCursorSortKey);if(d.firstEligible===void 0)return Object.freeze({state:e.hasNewer()?"unavailable":"none"});let i=!e.hasNewer()||d.rawUnreadCount>=e.unreadCount;return await e.openAt(d.firstEligible.sortKey),ns(d.firstEligible.id,i?d.eligibleUnreadCount:void 0)}await e.openLatest();let n=St(e.list(),e.selfId,void 0);for(let d=0;n.rawUnreadCount<e.unreadCount&&e.hasOlder()&&d<es;d+=1)await e.loadOlder(),n=St(e.list(),e.selfId,void 0);return n.rawUnreadCount>=e.unreadCount||!e.hasOlder()?n.firstEligible===void 0?(await e.openLatest(),Object.freeze({state:"none"})):(await e.openAt(n.firstEligible.sortKey),ns(n.firstEligible.id,n.eligibleUnreadCount)):(await e.openLatest(),Object.freeze({state:"unavailable"}))}function $n(e){if(e===void 0||e.length===0)return;let n=false,o=[],d={},i=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}i.has(c.userId)||(i.add(c.userId),o.push(c.userId),c.displayName.trim()!==""&&(d[c.userId]=c.displayName));}return {atAll:n,atUserIds:o,...Object.keys(d).length===0?{}:{atUsersName:d}}}var cr=new WeakMap;function Pt(e,n){let o=cr.get(n);if(o===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");cr.set(e,o);}var al={"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}},il={"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}},rs={"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}},os={"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 as(e,n,o){let d=V({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}var sl=3*1024*1024,is=4294967295,cl=6,dl=16*1024,ll=300;async function ul(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let o=new Uint8Array(await e.slice(0,6).arrayBuffer());if(o.length!==6)return false;let d=String.fromCharCode(...o);return d==="GIF87a"||d==="GIF89a"}var pl={"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,o,d,i={},c={}){let s=Object.freeze({...e}),I=n.pageSize??30,y=n.domainState.createMessageWindow({retention:{maxMessages:I*cl},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(f,w)=>i.shouldEstablishRemoteLatestOnOpen?.(w)===true}}),h=new Set,D=new Set,A=new Map,p,P,O=false,S=false,T=0,g=Object.freeze({state:"none"}),m=new WeakMap,a;function r(){if(S)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function l(){let f=y.window.info();return {messages:y.window.list(),draft:n.domainState.getDraft(s),loading:A.size>0,stale:O,hasOlder:f.hasMore,hasNewer:f.hasNewer,error:P,entryUnread:g}}function v(f,w){return f.length===w.length&&f.every((N,b)=>N===w[b])}function M(f,w){return v(f.messages,w.messages)&&f.draft===w.draft&&f.loading===w.loading&&f.stale===w.stale&&f.hasOlder===w.hasOlder&&f.hasNewer===w.hasNewer&&f.error===w.error&&f.entryUnread===w.entryUnread}function C(f){let w=m.get(f);if(w!==void 0)return w;let N=mt(f);return m.set(f,N),N}function _(f){return {ref:s,messages:Object.freeze(f.messages.map(C)),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 G(){return r(),_(l())}function $(){let f=l();if(a!==void 0&&M(a,f))return;a=f;let w=_(f);for(let N of h)try{N(w);}catch(b){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:b}});}}async function te(f){let w=y.window.list().find(Be=>Be.id===f)??n.domainState.getConversationMessage(s,f);if(w!==void 0)return {anchor:w};let N=n.domainState.getPinnedMessage(s),b=N?.messageId===f&&N.preview.state==="ready"?N.preview.message:void 0;if(b!==void 0)return {anchor:b,fallbackSeed:b};let Z=n.resolveSearchHistoryAnchor?.(s,f);if(Z!==void 0)return {anchor:Z};let ye=await n.domainState.resolveConversationMessage(s,f);return ye===void 0?void 0:{anchor:ye}}function k(f,w){if(r(),p!==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 N=A.get(f);if(N!==void 0)return N;P=void 0;let b=Promise.resolve().then(w).then(Z=>i.reconcilePage===void 0?Z:i.reconcilePage(Z,y.window)).then(Z=>{r(),O=Z.stale===true;}).catch(Z=>{throw S||(P=yn(Z,`history.${f}`,s)),Z}).finally(()=>{A.delete(f),S||$();});return A.set(f,b),$(),b}function j(){y.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-I));}async function ne(){await k("latest",()=>y.window.open(s,{limit:I})),j(),i.shouldEstablishRemoteLatestOnOpen?.(y.window.list())===true&&(await k("latest:remote",()=>y.window.loadOlder({limit:I})),j());}async function E(){let f=n.domainState.getSession(s),w=Math.max(0,f?.manuallyUnread===true?0:f?.unreadCount??0),N=n.domainState.getReadState(s),b=N?.readCursor,Z=N?.readCursorSortKey??(b===void 0||b===""?void 0:n.domainState.getConversationMessage(s,b)?.sortKey??n.domainState.getMessagesByConversation(s).find(ye=>ye.extensions?.historyCursor===b)?.sortKey);g=await ts({conversation:s,pageSize:I,unreadCount:w,...Z===void 0?{}:{readCursorSortKey:Z},selfId:n.getSelfId(),list:()=>y.window.list(),hasOlder:()=>y.window.info().hasMore,hasNewer:()=>y.window.info().hasNewer,openLatest:ne,openAt:ye=>k(`entry-unread:${ye}`,()=>y.window.openAt(s,{anchorSortKey:ye,limit:I})),loadOlder:()=>k("entry-unread:older",()=>y.window.loadOlder({limit:I})),loadNewer:()=>k("entry-unread:newer",()=>y.window.loadNewer({limit:I}))});}let U=n.emitter.subscribe(f=>{if(!(S||!("conversation"in f)||f.conversation===void 0)&&!(f.conversation.conversationType!==s.conversationType||f.conversation.conversationId!==s.conversationId)){if(f.type==="draft:updated"||f.type==="draft:cleared"){let w=f.type==="draft:updated"?f.draft:null;for(let N of D)try{N(w);}catch(b){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:b}});}}$();}});try{c.initialPosition==="first-unread"?await E():await ne();}catch(f){throw S=true,U(),h.clear(),y.dispose(),f}function H(f,w){let N=n.domainState.getMessage(f);return N!==void 0&&N.conversationType===s.conversationType&&N.conversationId===s.conversationId?{ok:true,message:Rn(N)}:{ok:false,error:V({code:N===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s})}}async function J(f,w,N){let b=await i.getSendPermissionError?.(f);if(r(),b!==void 0){if(N===void 0)return {ok:false,error:b};let Z=await N(b);return r(),Z}try{let Z=await w();return r(),Z}catch(Z){if(S)throw Z;return {ok:false,error:yn(Z,f,s)}}}async function Q(f,w={}){let N="name"in f?f.name:void 0,b=w.fileName??(typeof N=="string"&&N!==""?N:void 0);return {...s,data:()=>f.arrayBuffer().then(Z=>new Uint8Array(Z)),...f.type===""?{}:{mimeType:f.type},...b===void 0?{}:{filename:b},...w.localPreviewUrl===void 0?{}:{localPreviewUrl:w.localPreviewUrl},...w.localPreviewMetadata===void 0?{}:{localPreviewMetadata:w.localPreviewMetadata},...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}}}function R(f){return f===void 0||Number.isFinite(f.width)&&f.width>0&&Number.isFinite(f.height)&&f.height>0}function L(f){return R(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<=dl)}function K(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&f.duration>ll}function W(f){return f!==void 0&&"duration"in f&&f.duration!==void 0&&Number.isFinite(f.duration)&&f.duration>0}function B(f,w,N){return {ok:false,error:V({code:f,category:w,operation:N,retryable:false,conversation:s})}}function ae(f,w){if(f===null||typeof f!="object"||f.kind!==w||!Number.isSafeInteger(f.width)||f.width<=0||f.width>is||!Number.isSafeInteger(f.height)||f.height<=0||f.height>is)return false;let N;try{N=new URL(f.url);}catch{return false}if(N.protocol!=="http:"&&N.protocol!=="https:"||N.username!==""||N.password!=="")return false;let b=f.resourceId;if(b!==void 0&&(typeof b!="string"||b.trim()===""))return false;if(w==="gif")return !Object.prototype.hasOwnProperty.call(f,"packageId");let Z=f.packageId;return typeof b=="string"&&b.trim()!==""&&typeof Z=="string"&&Z.trim()!==""}function se(f){return Object.assign(new Error(f.code),f,{name:"ImMessageActionError"})}function fe(f,w){if(f==="direct"||f==="group"||f==="channel")return Object.freeze({conversationType:f,conversationId:w});throw se(V({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:"messages.forward",retryable:false,conversation:s,details:{targetConversationType:f,targetConversationId:w}}))}function ie(f,w){let N=n.domainState.getConversationMessage(s,f);if(N===void 0){let b=n.domainState.getMessage(f);throw se(V({code:b===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s}))}if(N.conversationType!==s.conversationType||N.conversationId!==s.conversationId)throw se(V({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:s}));return N}function he(f,w){return se(V({...w,operation:f,conversation:s}))}function Ae(f,w){let N=V({code:f,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...w===void 0?{}:{cause:w}});return Object.assign(new Error(f),N,{name:"ImLocalMessageDeletionError"})}function Re(f,w){let N=V({code:f,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...w===void 0?{}:{cause:w}});return Object.assign(new Error(f),N,{name:"ImLocalConversationHistoryClearError"})}function Ve(){if(S)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(p!==void 0)return p;let f=[...A.values()],w=Promise.all(f).then(async()=>{r();let N=[...n.domainState.getMessagesByConversation(s),...y.window.list()];if(n.hasOutboxForConversation(s)||N.some(b=>n.isOutboxOwned(b.id)))throw Re("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(N.some(b=>b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw Re("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),r(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(N=>{throw N instanceof Error&&N.name==="ImLocalConversationHistoryClearError"?N:Re("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",N)}).finally(()=>{p===w&&(p=void 0);});return p=w,w}async function Le(f,w){if(f!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,f);}catch(N){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${w}\uFF09`,cause:N}});}}async function Ue(f,w,N,b,Z){return J(f,async()=>{let ye=await Q(N,b);if(w!==void 0&&ye.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let fn=new AbortController,be=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${f}:${++T}`,kind:w,file:N,signal:fn.signal});if(r(),be===void 0||(w==="image"?!R(be):!L(be)))return B(w==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);ye.localPreviewMetadata=be;}if(w==="video"&&(n.prepareMediaPreview!==void 0||ye.localPreviewMetadata!==void 0)&&!W(ye.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(w==="video"&&K(ye.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let Be=i.recheckSendPermissionError?.(f);if(Be!==void 0)return {ok:!1,error:Be};let en=await Z({...ye,...b.caption===void 0||b.caption===""?{}:{caption:b.caption}});return en.ok?(r(),H(en.messageId,f)):{ok:!1,error:ft(en.reason,f,s)}})}function Jn(f,w,N){let b=ie(f,N);if(b.contentType!==w||b.status!=="failed"||b.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(f))throw se(V({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:N,retryable:false,conversation:s}));return b}async function Dn(f,w,N,b,Z,ye){return Jn(w,N,f),J(f,async()=>{let Be=await Q(b,Z);if(N==="video"&&Be.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let be=new AbortController,Je=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${f}:${++T}`,kind:"video",file:b,signal:be.signal});if(r(),Je===void 0||!L(Je))return B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",f);Be.localPreviewMetadata=Je;}if(N==="video"&&(n.prepareMediaPreview!==void 0||Be.localPreviewMetadata!==void 0)&&!W(Be.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",f);if(K(Be.localPreviewMetadata))return B("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",f);let en=i.recheckSendPermissionError?.(f);if(en!==void 0)return {ok:!1,error:en};Jn(w,N,f);let fn=await ye(w,{...Be,...Z.caption===void 0||Z.caption===""?{}:{caption:Z.caption}});return fn.ok?(r(),H(fn.messageId,f)):{ok:!1,error:ft(fn.reason,f,s)}})}let Yn={ref:s,getSnapshot:G,subscribe(f){return r(),h.add(f),()=>h.delete(f)},resolveMessage:async f=>{r();let w=y.window.list().find(N=>N.id===f)??await n.domainState.resolveConversationMessage(s,f);return w===void 0?null:C(w)},history:{loadLatest:async()=>{await ne(),r(),$();},loadOlder:async()=>k("older",()=>y.window.loadOlder({limit:I})),loadNewer:async()=>{await k("newer",()=>y.window.loadNewer({limit:I})),r(),y.window.info().hasNewer||(j(),$());},loadAround:async f=>{r();let w=await te(f);if(w===void 0||w.anchor.conversationType!==s.conversationType||w.anchor.conversationId!==s.conversationId)throw new Error(`${s.conversationType} handle \u5B9A\u4F4D\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u4F1A\u8BDD\uFF1A${f}`);let{anchor:N}=w;await k(`around:${f}`,async()=>{let b=await y.window.openAt(s,{anchorSortKey:N.sortKey,limit:I});return y.window.list().some(Z=>Z.id===f)||w.fallbackSeed===void 0?b:y.window.openAt(s,{anchorSortKey:N.sortKey,limit:I,seedMessages:[w.fallbackSeed],seedHasNewer:true})});},clearLocal:Ve},messages:{sendText:async(f,w={})=>{r();let N=o(s,f,w);if("code"in N)return {ok:false,error:N};let b=n.domainState.getDraft(s)?.updatedAt;return J("messages.sendText",async()=>{let Z=await n.sendText(N);return r(),await Le(b,"messages.sendText"),H(Z.id,"messages.sendText")},async Z=>{let ye=i.appendTextPermissionFailure?.(N);return ye===void 0?{ok:false,error:Z}:(await Le(b,"messages.sendText"),{ok:true,message:Rn(ye)})})},sendContact:async(f,w={})=>{r();let N=f.targetId.trim(),b=f.displayName.trim();if(N===""||b==="")return {ok:false,error:V({code:N===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let Z={...s,contact:{...f,targetId:N,displayName:b},encrypted:s.conversationType!=="direct",...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}};return J("messages.sendContact",async()=>{let ye=await n.sendContact(Z);return H(ye.id,"messages.sendContact")})},sendImage:async(f,w={})=>(r(),w.caption!==void 0&&w.caption!==""?B("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):R(w.localPreviewMetadata)?Ue("messages.sendImage","image",f,w,n.sendImage):B("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendVideo:async(f,w={})=>(r(),L(w.localPreviewMetadata)?Ue("messages.sendVideo","video",f,w,n.sendVideo):B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(f,w,N={})=>(r(),L(N.localPreviewMetadata)?Dn("messages.replaceInterruptedVideo",f,"video",w,N,n.replaceVideo):B("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(f,w)=>(r(),J("messages.sendVoice",async()=>{let N=await Q(f,w),b=i.recheckSendPermissionError?.("messages.sendVoice");if(b!==void 0)return {ok:!1,error:b};let Z=await n.sendVoice({...N,durationMs:w.durationMs,...w.waveform===void 0?{}:{waveform:[...w.waveform]}});return Z.ok?(r(),H(Z.messageId,"messages.sendVoice")):{ok:!1,error:ft(Z.reason,"messages.sendVoice",s)}})),sendFile:async(f,w={})=>{if(r(),w.caption!==void 0&&w.caption!=="")return B("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let N=w.fileName??("name"in f?f.name:void 0);return typeof N!="string"||N.trim()===""?B("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):Ue("messages.sendFile",void 0,f,w,n.sendFile)},sendGif:async(f,w={})=>(r(),f.size>sl?B("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await ul(f)?Ue("messages.sendGif",void 0,f,w,N=>n.sendGif(N)):B("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(f,w={})=>(r(),ae(f,"sticker")?J("messages.sendSticker",async()=>{let N=await n.sendExpression({...s,asset:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return H(N.id,"messages.sendSticker")}):B("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(f,w={})=>(r(),ae(f,"gif")?J("messages.sendGifAsset",async()=>{let N=await n.sendExpression({...s,asset:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return H(N.id,"messages.sendGifAsset")}):B("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(f,w={})=>(r(),f!=="rock-paper-scissors"&&f!=="dice"?B("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):J("messages.sendGame",async()=>{let N=await n.sendGame({...s,gameType:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return H(N.id,"messages.sendGame")})),sendMiniProgram:async(f,w={})=>(r(),m$1(f)?J("messages.sendMiniProgram",async()=>{let N=await n.sendMiniProgram({...s,miniProgram:f,encrypted:s.conversationType!=="direct",...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return H(N.id,"messages.sendMiniProgram")}):B("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(f,w={})=>(r(),s.conversationType==="channel"?B("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):o$1(f)?J("messages.sendTransfer",async()=>{let N=await n.sendTransfer({...s,transfer:f,...w.replyToMessageId===void 0?{}:{refMessageId:w.replyToMessageId}});return H(N.id,"messages.sendTransfer")}):B("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(f,w)=>{r(),ie(f,"messages.toggleReaction");let N=await n.setReaction({conversation:s,parentMessageId:f,emoji:w,action:"toggle"});if(r(),!N.ok)throw he("messages.toggleReaction",rs[N.reason]);return Object.freeze({messageId:f,eventId:N.event.id,emoji:N.event.emoji,action:N.event.action===0?"add":"remove"})},setReaction:async(f,w,N)=>{r(),ie(f,"messages.setReaction");let b=await n.setReaction({conversation:s,parentMessageId:f,emoji:w,action:N});if(r(),!b.ok)throw he("messages.setReaction",rs[b.reason]);return Object.freeze({messageId:f,eventId:b.event.id,emoji:b.event.emoji,action:b.event.action===0?"add":"remove"})},replaceInterruptedFile:async(f,w,N={})=>{if(r(),N.caption!==void 0&&N.caption!=="")return B("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let b=N.fileName??("name"in w?w.name:void 0);return typeof b!="string"||b.trim()===""?B("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Dn("messages.replaceInterruptedFile",f,"file",w,{...N,fileName:b},n.replaceFile)},editText:async(f,w,N={})=>{r(),ie(f,"messages.editText");let b=d(s,f,w,N);if("code"in b)throw se(b);let Z;try{Z=await n.editMessage(b);}catch(ye){throw se(yn(ye,"messages.editText",s))}if(r(),!Z.ok)throw he("messages.editText",il[Z.reason]);return Rn(ie(f,"messages.editText"))},recall:async f=>{r(),ie(f,"messages.recall");let w;try{w=await n.recallMessage({...s,messageId:f});}catch(N){throw se(yn(N,"messages.recall",s))}if(r(),!w.ok)throw he("messages.recall",al[w.reason])},deleteLocal:async f=>{r();let w=n.domainState.getConversationMessage(s,f);if(n.isOutboxOwned(f))throw Ae("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(w!==void 0&&w.conversationType===s.conversationType&&w.conversationId===s.conversationId&&(w.status==="pending"||w.status==="uploading"||w.status==="sending"))throw Ae("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let N=await n.domainState.deleteLocalMessage(s,f);return r(),Object.freeze({scope:"local-only",messageId:f,deleted:N,remoteHistory:"remote-history-may-restore"})}catch(N){throw N instanceof Error&&N.name==="ImLocalMessageDeletionError"?N:Ae("IM_SDK_LOCAL_DELETE_FAILED",N)}},forward:async(f,w)=>{if(r(),f.length===0||w.length===0)throw se(V({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));let N;try{N=await n.forwardMessages({messages:f.map(b=>({id:b,...s})),targets:w.map(b=>({...b}))});}catch(b){throw se(yn(b,"messages.forward",s))}return r(),Object.freeze({sent:Object.freeze(N.results.flatMap(b=>b.ok?[{conversation:fe(b.targetConversationType,b.targetConversationId),messageId:b.newMessageId}]:[])),failed:Object.freeze(N.results.flatMap(b=>b.ok?[]:[{sourceMessageId:b.sourceMessageId,conversation:Object.freeze({conversationType:b.targetConversationType,conversationId:b.targetConversationId}),error:V({...pl[b.reason],operation:"messages.forward",conversation:{conversationType:b.targetConversationType,conversationId:b.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...N.skippedSourceIds])})}},draft:{get:async()=>(r(),n.drafts.get(s)),save:async f=>(r(),n.drafts.save(s,f)),clear:async()=>{r(),await n.drafts.clear(s);},subscribe(f){return r(),D.add(f),()=>D.delete(f)}},markRead:async f=>{r();let w=y.window.list();if(f!==void 0&&!w.some(b=>b.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 N=i.resolveReadMessageId===void 0?f??w.at(-1)?.id:i.resolveReadMessageId(w,f);N!==void 0&&await n.markRead({...s,readCursor:N});},setMuted:async f=>(r(),n.setMuted(s,f)),close(){S||(S=true,U(),h.clear(),D.clear(),y.dispose());}};return cr.set(Yn,{getMessages:()=>(r(),y.window.list()),resolveMessage:async f=>(r(),y.window.list().find(w=>w.id===f)??n.domainState.resolveConversationMessage(s,f))}),Yn}var ml=5e3;async function cs(e,n,o={}){let d=false,i,c;function s(){let D=Date.now();if(i!==void 0&&D-i.checkedAt<ml)return Promise.resolve(i.value);if(c!==void 0)return c;let A=n.getRelationship(e.conversationId).then(p=>(i={value:p,checkedAt:Date.now()},p)).catch(p=>(d=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(()=>{c===A&&(c=void 0);});return c=A,A}async function I(D){if(!n.shouldCheckRelationship())return;let A=await s();if(A!=="friend"){if(A==="unknown"){d||(d=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:A}}}));return}return V({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:D,retryable:false,conversation:e,details:Object.freeze({relationship:A})})}}n.shouldCheckRelationship()&&s();let y=await dr(e,n,(D,A,p)=>p.mentions!==void 0&&p.mentions.length>0?V({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:D}):{...D,text:A,...p.replyToMessageId===void 0?{}:{refMessageId:p.replyToMessageId}},(D,A,p,P)=>P.mentions!==void 0&&P.mentions.length>0?V({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:D}):{...D,messageId:A,text:p},{getSendPermissionError:I,appendTextPermissionFailure:n.appendContactRequiredTextFailure},o),h={...y,messages:{...y.messages,async markMediaConsumed(D){let A=n.domainState.getConversationMessage(e,D);if(A===void 0||A.senderId===n.getSelfId()||A.contentType!=="voice"&&A.contentType!=="video"){let p=V({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,D);}}};return Pt(h,y),h}async function ds(e,n,o={}){return dr(e,n,(d,i,c)=>{let s=$n(c.mentions);return {...d,text:i,encrypted:true,...s===void 0?{}:{mention:s},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,i,c,s)=>{let I=$n(s.mentions);return {...d,messageId:i,text:c,...I===void 0?{}:{mention:I}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>o.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&ls(d,n.pageSize??30)},o)}var fl=new Set(["pending","uploading","sending"]);function ls(e,n){return e.length<n}function ss(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function gl(e,n,o){let d=o===void 0?e.length-1:e.findIndex(s=>s.id===o),i=e[d];if(i===void 0||ss(i))return i?.id;let c=e.slice(0,d).findLast(s=>ss(s));return c!==void 0?c.id:i.senderId===n&&fl.has(i.status)?void 0:i.id}function Il(e,n){let o=false;for(let d of e){let i=d.body.system;if(!(d.conversationType!=="channel"||i?.targetUserIds?.includes(n)!==true)){if(i.eventType==="channel_member_left"||i.eventType==="channel_member_removed"){o=true;continue}if(o&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function us(e,n,o={}){let d=await dr(e,n,(c,s,I)=>{let y=$n(I.mentions);return {...c,text:s,encrypted:true,...y===void 0?{}:{mention:y},...I.replyToMessageId===void 0?{}:{refMessageId:I.replyToMessageId}}},(c,s,I,y)=>{let h=$n(y.mentions);return {...c,messageId:s,text:I,...h===void 0?{}:{mention:h}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>o.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&ls(c,n.pageSize??30)||Il(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,s)=>gl(c,n.getSelfId(),s)},o),i={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw as(e,os["not-found"]);let I;try{I=await n.deleteMessageForEveryone({...e,messageId:c});}catch(y){let h=yn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(h.code,{cause:y}),h)}if(!I.ok)throw as(e,os[I.reason])}}};return Pt(i,d),i}var yl=40,hl=100,vl=0;function mn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Cl(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function ps(e){let n=++vl,o=new Map,d=new Map,i=new Map,c=new Map,s=new Map,I=0,y=true;function h(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function D(g){let m=g??yl;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 A(g){let m=`im-directory:${n}:${++I}`;return o.set(m,g),m}function p(g,m){let a=s.get(g);a===void 0&&(a=new Map,s.set(g,a));let r=m.map(l=>Object.freeze({...l}));for(let l of r)a.set(l.id,l);return Object.freeze(r)}async function P(g,m,a){if(h(),e.provider===void 0)throw new Error(`${mn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let r=await e.provider.list({kind:g,page:m,pageSize:a});if(h(),r.exhausted===(r.nextPage!==void 0))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let l=r.nextPage===void 0?void 0:A({kind:g,page:r.nextPage,pageSize:a}),v=p(g,r.items);return Object.freeze({items:v,...l===void 0?{}:{nextPageToken:l},exhausted:r.exhausted})}function O(g){return {listFirstPage:m=>P(g,1,D(m?.pageSize)),listNextPage:m=>{h();let a=o.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${mn(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${mn(g)}`));let r=d.get(m);if(r!==void 0)return r;let l=P(g,a.page,a.pageSize).then(v=>(o.delete(m),v)).finally(()=>{d.delete(m);});return d.set(m,l),l}}}function S(g){h();let m=i.get(g);if(m!==void 0)return Promise.resolve(m);let a=c.get(g);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${mn(g)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let r=(async()=>{let l=[],v=new Map,M=new Set,C=1;for(;;){if(h(),M.has(C))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);M.add(C);let G=await e.provider.list({kind:g,page:C,pageSize:hl});if(h(),G.exhausted===(G.nextPage!==void 0))throw new Error(`${mn(g)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let $ of G.items)v.has($.id)||l.push($.id),v.set($.id,$);if(G.nextPage===void 0)break;if(!Number.isSafeInteger(G.nextPage)||G.nextPage<1)throw new Error(`${mn(g)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);C=G.nextPage;}let _=p(g,l.map(G=>v.get(G)));return h(),i.set(g,_),_})().finally(()=>{c.delete(g);});return c.set(g,r),r}async function T(g){if(h(),g.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[m,a,r,l]=await Promise.all([S("individual"),S("group"),S("channel"),R$1(g)]);h();function v(C,_){let G=[];for(let $ of _){let te=$==="displayName"?C.displayName:$==="username"?C.username:C.id;if(te===void 0||te==="")continue;let k=l.match(te,{pinyin:$==="displayName"});k!==null&&G.push(Cl($,k));}return G.length===0?null:Object.freeze({item:C,matches:Object.freeze(G)})}function M(C,_){return Object.freeze(C.flatMap(G=>{let $=v(G,_);return $===null?[]:[$]}))}return Object.freeze({keyword:l.keyword,contacts:M(m,["displayName","username","id"]),groups:M(a,["displayName"]),channels:M(r,["displayName"])})}return {contacts:O("individual"),groups:O("group"),channels:O("channel"),search:{search:T},peekItem:(g,m)=>(h(),s.get(g)?.get(m)),dispose:()=>{y=false,o.clear(),d.clear(),i.clear(),c.clear(),s.clear();}}}function Ml(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw V({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 Et(e){return Ml(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function bl(e,n){let o=n.attachments;if(o!==void 0&&o.length>0)throw V({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 ms(e){let n=new Set;function o(){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 o(),e.domainState.getDraft(Et(i))},async save(i,c){o();let s=Et(i);return e.domainState.saveDraft(s,bl(s,c))},async clear(i){o(),await e.domainState.clearDraft(Et(i));},subscribe(i,c){o();let s=Et(i),I=e.emitter.subscribe(h=>{h.type!=="draft:updated"&&h.type!=="draft:cleared"||h.conversation.conversationType!==s.conversationType||h.conversation.conversationId!==s.conversationId||c(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 Sl=20,fs=50,gs=30,Is=4294967295;function Pn(e){let n=V(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ne(e,n){return Pn({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function ys(e,n){if(n instanceof w)return Pn({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 Pn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof c$1)return Pn({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 o=n instanceof y?n.status:void 0;return Pn({code:n instanceof y?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:o===void 0||o===0||o===408||o===429||o>=500,...o===void 0?{}:{details:Object.freeze({status:o})},cause:n})}return Pn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function an(e,n,o){if(typeof e!="string"||e.trim()==="")throw Ne(o,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Pl(e,n){if(typeof e!="string"||e.trim()==="")throw new x(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function El(e,n,o){if(e===void 0)return "";if(typeof e!="string")throw Ne(o,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Al(e,n,o){let d=an(e,n,o),i;try{i=new URL(d);}catch{throw Ne(o,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw Ne(o,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw Ne(o,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function hs(e,n,o){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Is)throw Ne(o,`${n} \u5FC5\u987B\u662F 1-${Is} \u7684\u6574\u6570`);return Number(e)}function Ss(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ne(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let o={url:Al(e.url,"url",n),width:hs(e.width,"width",n),height:hs(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...o,packageId:an(e.packageId,"packageId",n),resourceId:an(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ne(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:an(e.resourceId,"resourceId",n);return {kind:e.kind,...o,...d===void 0?{}:{resourceId:d}}}function Rl(e,n){if(e===null||typeof e!="object")throw Ne(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:an(e.token,"token",n),resourceId:an(e.resourceId,"resourceId",n)}:Ss(e,n)}function wl(e,n){if(e!=="sticker"&&e!=="gif")throw Ne(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Tl(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ne(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function vs(e,n){if(!Array.isArray(e))throw Ne(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let o=[...new Set(e.map(d=>an(d,"recordId",n)))];if(o.some(d=>d.includes("|")))throw Ne(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(o.length===0||o.length>gs)throw Ne(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${gs} \u4E2A id`);return o}function Cs(e,n){let o=e?.offset??0,d=e?.pageSize??Sl;if(!Number.isSafeInteger(o)||o<0)throw Ne(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>fs)throw Ne(n,`pageSize \u5FC5\u987B\u662F 1-${fs} \u7684\u6574\u6570`);return {offset:o,limit:d}}function Ms(e){return Object.freeze({...e})}function _l(e){return Object.freeze({...e})}function bs(e){let n=Object.freeze(e.items.map(o=>Object.freeze({...o})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function Ps(e){function n(i){if(!e.isActive())throw Pn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function o(i,c){if(n(i),e.provider===void 0)throw ys(i,new w("core"));let s;try{s=await c(e.provider);}catch(I){throw n(i),ys(i,I)}return n(i),s}let d={packs:Object.freeze({list:async i=>{let c="expressions.packs.list",s=i?.version===void 0?void 0:El(i.version,"version",c),I=await o(c,h=>h.listStickerPacks(s)),y=Object.freeze(I.items.map(h=>Object.freeze({...h})));return Object.freeze({version:I.version,items:y})},listItems:async i=>{let c="expressions.packs.listItems",s=an(i,"packageId",c),I=await o(c,y=>y.listStickerItems(s));return Object.freeze(I.map(Ms))}}),favorites:Object.freeze({list:async i=>{let c="expressions.favorites.list",s=await o(c,I=>I.listFavorites(wl(i,c)));return Object.freeze(s.map(Ms))},add:async i=>{let c="expressions.favorites.add",s=Ss(i,c);await o(c,I=>I.addFavorite(s));},delete:async i=>{let c="expressions.favorites.delete",s=vs(i,c);await o(c,I=>I.deleteFavorites(s));}}),recent:Object.freeze({list:async i=>{let c="expressions.recent.list",s=await o(c,I=>I.listRecent(Tl(i,c)));return Object.freeze(s.map(_l))},report:async i=>{let c="expressions.recent.report",s=Rl(i,c);await o(c,I=>I.reportRecent(s));},delete:async i=>{let c="expressions.recent.delete",s=vs(i,c);await o(c,I=>I.deleteRecent(s));}}),reactions:Object.freeze({listTop:async i=>{let c="expressions.reactions.listTop",s=i?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw Ne(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return o(c,async I=>{let y=await I.listReactionTop(s);if(!Array.isArray(y))throw new x("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(h=>Pl(h,"reaction emoji")))})},report:async i=>{let c="expressions.reactions.report",s=an(i,"emoji",c);await o(c,I=>I.reportReaction(s));}}),giphy:Object.freeze({trending:async i=>{let c="expressions.giphy.trending",s=await o(c,I=>I.listGiphyTrending(Cs(i,c)));return bs(s)},search:async(i,c)=>{let s="expressions.giphy.search",I=an(i,"query",s),y=await o(s,h=>h.searchGiphy({query:I,...Cs(c,s)}));return bs(y)}})};return {api:Object.freeze(d)}}var Dl=30,kl=300*1e3,Ol=64,xl=900*1e3,Nl=2048,Ll=0;function sn(e){let n=V({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 Es(e){let n=e.now??(()=>Date.now()),o=e.pageSize??Dl,d=e.tokenTtlMs??kl,i=e.maxTokens??Ol,c=e.anchorTtlMs??xl,s=e.maxAnchors??Nl;if(!Number.isInteger(o)||o<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=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(c)||c<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let I=++Ll,y=new Map,h=new Map,D=0,A=true;function p(k){if(!A)throw sn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:k,retryable:false});if(e.isAvailable?.()===false)throw sn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:k,retryable:false})}function P$1(k,j){let ne=k.trim();if(ne==="")throw sn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:j,retryable:false});return ne}function O(k){let j=`im-search:${I}:${++D}`;for(y.set(j,{...k,expiresAt:n()+d});y.size>i;){let ne=y.keys().next().value;if(typeof ne!="string")break;y.delete(ne);}return j}function S(k,j){return JSON.stringify([k.conversationType,k.conversationId,j])}function T(k){for(let[j,ne]of h)ne.expiresAt<=k&&h.delete(j);}function g(k,j){let ne=Object.freeze({conversationType:k.conversationType,conversationId:k.conversationId}),E=S(ne,k.id);for(h.delete(E),h.set(E,{anchor:Object.freeze({id:k.id,conversationType:k.conversationType,conversationId:k.conversationId,sortKey:k.sortKey}),expiresAt:j+c});h.size>s;){let U=h.keys().next().value;if(typeof U!="string")break;h.delete(U);}}function m(k,j){let ne=j==="conversation"?"search.conversations.next":"search.messages.next";p(ne);let E=y.get(k);if(E===void 0||E.expiresAt<=n())throw y.delete(k),sn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:ne,retryable:false});if(E.kind!==j)throw sn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:ne,retryable:false});return E}function a(k){let j=k.draft?.text.trim();return j===void 0||j===""?k.lastMessagePreview:j}function r(k){let j=Object.freeze({conversationType:k.type,conversationId:k.id});return Object.freeze({ref:j,title:k.title,preview:a(k)})}function l(k,j){let ne=Object.freeze(k.slice(j,j+o)),E=j+ne.length,U=E>=k.length,H=U?void 0:O({kind:"conversation",items:k,offset:E});return Object.freeze({items:ne,...H===void 0?{}:{nextPageToken:H},exhausted:U})}async function v(k,j,ne){p(ne);let E=P$1(j,ne).toLowerCase(),U=Object.freeze(e.domainState.getConversationList().filter(H=>(H.type==="direct"||H.type==="group"||H.type==="channel")&&(k===void 0||H.type===k)&&`${H.title}
|
|
2
|
+
${H.id}`.toLowerCase().includes(E)).map(r));return l(U,0)}function M(k,j,ne){let E=k.conversationId.trim();if(k.conversationType!==j||E==="")throw sn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:ne,retryable:false});return Object.freeze({conversationType:j,conversationId:E})}function C(k,j){let ne=k.conversationType,E=k.conversationId.trim();if(ne!=="direct"&&ne!=="group"&&ne!=="channel"||E==="")throw sn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:ne==="supergroup"?"unsupported":"validation",operation:j,retryable:false});return Object.freeze({conversationType:ne,conversationId:E})}async function _(k){p("search.messages");let j;try{j=await e.domainState.searchMessages(k.ref,{...k.keyword===void 0?{}:{keyword:k.keyword},...k.contentTypes===void 0?{}:{contentTypes:k.contentTypes},limit:o,...k.beforeSortKey===void 0?{}:{beforeSortKey:k.beforeSortKey}});}catch(Q){throw sn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:Q})}let ne=new Set,E=[],U=n();T(U);for(let{message:Q}of j.results){if(Q.conversationType!==k.ref.conversationType||Q.conversationId!==k.ref.conversationId||Q.sortKey.trim()===""||k.contentTypes!==void 0&&!k.contentTypes.includes(Q.contentType))throw sn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});ne.has(Q.id)||(ne.add(Q.id),g(Q,U),E.push(Object.freeze({ref:k.ref,messageId:Q.id,senderId:Q.senderId,createdAt:Q.createdAt,contentType:Q.contentType,preview:P(Q)})));}let H=j.nextBeforeSortKey?.trim();if(!j.exhausted&&(H===void 0||H==="")||j.exhausted&&H!==void 0)throw sn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let J=H===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:H});return Object.freeze({items:Object.freeze(E),...J===void 0?{}:{nextPageToken:J},exhausted:j.exhausted})}async function G(k,j,ne,E){p(E);let U=M(k,j,E);return _({ref:U,keyword:P$1(ne,E)})}async function $(k,j,ne,E){p(ne);let U=C(k,ne),H=E?.trim();return _({ref:U,...H===void 0||H===""?{}:{keyword:H},contentTypes:Object.freeze([j])})}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 j=m(k,"conversation");return l(j.items,j.offset)}},messages:{inDirect:(k,j)=>G(k,"direct",j,"search.messages.inDirect"),inGroup:(k,j)=>G(k,"group",j,"search.messages.inGroup"),inChannel:(k,j)=>G(k,"channel",j,"search.messages.inChannel"),texts:async(k,j)=>(p("search.messages.texts"),$(k,"text","search.messages.texts",P$1(j,"search.messages.texts"))),files:(k,j)=>$(k,"file","search.messages.files",j),images:k=>$(k,"image","search.messages.images"),videos:k=>$(k,"video","search.messages.videos"),voices:k=>$(k,"voice","search.messages.voices"),async next(k){let j=m(k,"message");return _(j)}}},resolveHistoryAnchor(k,j){if(!A||e.isAvailable?.()===false)return;let ne=S(k,j),E=h.get(ne);if(E!==void 0){if(E.expiresAt<=n()){h.delete(ne);return}return E.anchor}},dispose(){A&&(A=false,y.clear(),h.clear());}}}function At(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let o={...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},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(o).length===0?{}:{safeProtocolMetadata:o}},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 As(e){function n(I){let y=0n;for(let h=0;h<10;h++){let D=I+h,A=e[D];if(A===void 0)return {ok:false,kind:"truncated-varint"};if(y|=BigInt(A&127)<<BigInt(h*7),(A&128)===0)return {ok:true,nextOffset:D+1,value:y}}return {ok:false,kind:"invalid-varint"}}let o=[],d,i=0;function c(I,y,h){return {protobufWireStatus:I,protobufFieldNumbers:o,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:y,protobufFailureOffset:h,protobufBytesRemaining:Math.max(0,e.length-h)}}function s(I){o.length<32&&!o.includes(I)&&o.push(I),d=I;}for(;i<e.length;){let I=i,y=n(I);if(!y.ok)return c(y.kind==="truncated-varint"?"truncated":"invalid",y.kind==="truncated-varint"?"truncated-tag":y.kind,I);let h=Number(y.value>>3n),D=Number(y.value&0x07n);if(!Number.isSafeInteger(h)||h<=0)return c("invalid","invalid-field-number",I);if(i=y.nextOffset,D===0){let A=i,p=n(A);if(!p.ok)return c(p.kind==="truncated-varint"?"truncated":"invalid",p.kind,A);i=p.nextOffset;}else if(D===1){if(e.length-i<8)return c("truncated","truncated-fixed64",i);i+=8;}else if(D===2){let A=i,p=n(A);if(!p.ok)return c(p.kind==="truncated-varint"?"truncated":"invalid",p.kind==="truncated-varint"?"truncated-length":p.kind,A);if(p.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",A);i=p.nextOffset;let P=Number(p.value);if(P>e.length-i)return c("truncated","truncated-length-delimited",i);i+=P;}else if(D===5){if(e.length-i<4)return c("truncated","truncated-fixed32",i);i+=4;}else return c("invalid","invalid-wire-type",I);s(h);}return {protobufWireStatus:"complete",protobufFieldNumbers:o,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}var Fl=2,_n=30,Kl={maxSize:320,targetBytes:10*1024,maxBytes:16*1024,quality:.84,minQuality:.68};function Rs(e,n){let o=Number(e);if(!Number.isSafeInteger(o)||o<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return o}function Ul(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 Bl(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 ws(e$1,n$1,o$1,d$2=0){let i=e$1.clientType??Fl,c$1={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i}}},s$1=e$1.transport??Oa(),I=e$1.adapters?.storage,y=I?.create({namespaceFactory:o$1})??(typeof indexedDB>"u"?void 0:Na({namespaceFactory:o$1,mediaAssetCache:{strategies:vi()}})),h$1=t=>{let u=y?.saveDecryptRecovery;u!==void 0&&u(t).then(()=>yr(t)).catch(F=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:F}}));},D=Ul(y)?y:void 0,A=Zi({...y===void 0?{}:{storage:y},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient}}),p,P,O=Ii({...y===void 0?{}:{storage:y},conversationBackgrounds:A.api,onDirectReadReceiptDisabled:t=>p?.(t)}),S="",T=Vt(e$1.debug,()=>({generation:d$2,...S===""?{}:{accountId:S}})),g$1=0;function m$1(t){return g$1+=1,`channel-${t}-${d$2}-${g$1}`}let a$1=Ra(T),r$1=(t,u,F=S)=>{let X=u.fromId===F?u.toId:u.fromId;At(T,{conversation:{conversationType:"direct",conversationId:X},source:t,messageId:u.msgId,senderId:u.fromId,receiverId:u.toId,messageType:u.msgType,encrypt:u.encrypt,encryptVersion:u.encryptVersion,reason:u.reason,resolverSource:"direct-private-key",...u.cmdId===void 0?{}:{commandId:u.cmdId},...u.cause===void 0?{}:{cause:u.cause}});},l$2=(t,u)=>{At(T,{conversation:{conversationType:"group",conversationId:u.groupId},source:t,messageId:u.msgId,senderId:u.fromId,messageType:u.msgType,encrypt:u.encrypt,encryptVersion:u.encryptVersion,reason:u.reason,resolverSource:"group-private-key",...u.cmdId===void 0?{}:{commandId:u.cmdId},...u.cause===void 0?{}:{cause:u.cause}});},v$2=(t,u)=>{At(T,{conversation:{conversationType:"channel",conversationId:u.channelId},source:t,messageId:u.messageId,encrypt:u.encrypt,reason:u.reason,resolverSource:"channel-symmetric-key",endpoint:u.endpoint,surface:u.surface,decryptStage:u.decryptStage,keySource:u.keySource,keyByteLength:u.keyByteLength,payloadByteLength:u.payloadByteLength,...u.cipherDataByteLength===void 0?{}:{cipherDataByteLength:u.cipherDataByteLength},...u.decryptedByteLength===void 0?{}:{decryptedByteLength:u.decryptedByteLength},...u.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:u.forceRefreshAttempted},...u.clientTypeHeader===void 0?{}:{clientTypeHeader:u.clientTypeHeader},...u.clientTypeBody===void 0?{}:{clientTypeBody:u.clientTypeBody},...u.operationId===void 0?{}:{operationId:u.operationId},...u.cause===void 0?{}:{cause:u.cause}});},M=t=>{T.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:t.channelId},...t.operationId===void 0?{}:{operationId:t.operationId},data:{messageId:t.messageId,encrypt:t.encrypt,contentLength:t.contentLength,...t.endpoint===void 0?{}:{endpoint:t.endpoint},...t.surface===void 0?{}:{surface:t.surface},...t.clientTypeHeader===void 0?{}:{clientTypeHeader:t.clientTypeHeader},...t.clientTypeBody===void 0?{}:{clientTypeBody:t.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:t.cause}}));};function C$1(t){return t==="left"||t==="removed"||t==="dismissed"}T.record("debug","sdk","session","runtime-created");let _="empty",G=true,$=n$1.subscribe(t=>{if(G){if(t.type==="connection:changed"){T.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){T.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:ii(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){T.record("warn","sdk","session","auth-invalid",()=>({data:t.issue}));return}if(t.type==="error"){let u=t.error.scope==="storage"?"storage":t.error.scope==="crypto"?"crypto":"session";T.record("error","sdk",u,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function te(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let k$1=n$1.subscribe(t=>{y?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let F=(await y.getDecryptRecoveries?.(t.conversation)??[]).find(X=>X.messageId===t.message.id);F!==void 0&&te(F)||await y.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:u}})):t.type==="message:removed"?y.deleteDecryptRecovery(t.conversation,t.messageId).catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:u}})):t.type==="conversation-history:cleared"&&y.deleteConversationDecryptRecoveries?.(t.conversation).catch(u=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:u}})));}),j=new Set,ne="auto",E=false,U=false,H=()=>{},J=null,Q$1=null,R,L,K,W$1=new Map,B$1=0,ae=t=>W$1.get(t)??0,se=t=>{W$1.set(t,ae(t)+1);},fe=e$1.profile??(e$1.coreClient===void 0?void 0:B({client:e$1.coreClient,clientType:i,...y===void 0?{}:{storage:y}})),ie=e$1.channelProfile??(e$1.coreClient===void 0?void 0:o({client:e$1.coreClient,clientType:i,getUserId:async()=>S!==""?S:(await c$1.getLoginContext())?.userId??"",...y===void 0?{}:{storage:y}})),he=e$1.channelMembers??(e$1.coreClient===void 0?void 0:s({client:e$1.coreClient,clientType:i,isActive:()=>G,...y===void 0?{}:{storage:y}})),Ae=e$1.channelMentionMembers??(e$1.coreClient===void 0?void 0:t({client:e$1.coreClient,clientType:i})),Re=Xi({...Ae===void 0?{}:{provider:Ae},...y===void 0?{}:{storage:y}}),Ve=e$1.directory??(e$1.coreClient===void 0?void 0:v({client:e$1.coreClient,clientType:i,getUserId:async()=>S!==""?S:(await c$1.getLoginContext())?.userId??""})),Le=ps({...Ve===void 0?{}:{provider:Ve}}),Ue=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}}),Jn=Ps({provider:Ue,isActive:()=>G}),Dn=()=>{},Yn=Ai({namespaceFactory:o$1,...y===void 0?{}:{storage:y},emitter:n$1,getAccountId:()=>S,isActive:()=>G,clearMemoryCaches:()=>{fe?.clearCache?.(),ie?.clearCache?.(),he?.clearCache?.(),Re.clear(),Dn();}}),f=e$1.channelJoinApplications??(e$1.coreClient===void 0?void 0:r({client:e$1.coreClient,clientType:i})),w=e$1.contactApplications??(e$1.coreClient===void 0?void 0:k({client:e$1.coreClient,clientType:i})),N=e$1.groupApplications??(e$1.coreClient===void 0?void 0:l({client:e$1.coreClient,clientType:i})),b=na({emitter:n$1,diagnostics:T,profile:fe,channelProfile:ie,storage:y,getSelfId:()=>S,loadOlderFromRemote:t=>R===void 0?Promise.resolve({messages:[],exhausted:true}):R(t),loadNewerFromRemote:t=>K===void 0?Promise.resolve({messages:[],exhausted:true}):K(t)}),Z=Bi({directory:Le.contacts,getSelfId:()=>S,...fe===void 0?{}:{profile:fe},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:b,emitter:n$1,terminateConversationSending:(t,u)=>H(t,u),resetDirectReadReceiptPreference:t=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,u)=>{u==="friend"?P?.(t):u!=="unknown"&&p?.(t);}}),ye=$i({...w===void 0?{}:{contact:w},...N===void 0?{}:{group:N},...f===void 0?{}:{channel:f},onContactAccepted:async(t,u)=>{Z.updateRelationshipFromEvent(t,"friend"),await b.reconcileDirectContactEstablishedNotice(t,`contact-application:${u}`),b.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>G&&_==="ready"}),Be=ms({domainState:b,emitter:n$1,isActive:()=>G}),en=Es({domainState:b,isAvailable:()=>G&&_==="ready"}),fn=Gi(()=>b.getSessions()),be=e$1.crypto??h(),Je=e$1.media!==void 0?Ka(e$1.media):void 0,Ns=Ja(),lr=Ia(),Ze=e$1.coreClient===void 0?void 0:d({client:e$1.coreClient,crypto:be,clientType:i,onError:(t,u)=>a$1?.("crypto",{message:t,cause:u})}),ur=e$1.coreClient===void 0?void 0:g({client:e$1.coreClient,clientType:i,onError:(t,u)=>a$1?.("crypto",{scope:"send-key",message:t,cause:u})}),Ge=e$1.http??u({getBaseUrl:()=>e$1.endpointProvider.getCmHttpBaseUrl(),getAuth:async()=>{let t=await c$1.getLoginContext();return t===null?null:{userId:t.userId,token:t.token}},getClientType:()=>i}),qe=e$1.coreClient===void 0?void 0:e({client:e$1.coreClient,crypto:be,clientType:i,onError:(t,u)=>a$1?.("crypto",{scope:"group-key",message:t,cause:u})}),pe=e$1.channelKeyService??(e$1.coreClient===void 0?void 0:a({loadSecretKey:t=>ca$1(e$1.coreClient,{channelId:t,clientType:i}),onError:(t,u)=>a$1?.("crypto",{scope:"channel-key",message:t,cause:u})})),Rt=new Set,pr=async t=>{if(pe===void 0)return;let u=pe.getCachedChannelKey(t)===null;try{await pe.getChannelKey(t);}catch{return}if(!(!u||!G))try{await nt({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(F){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=${t}\uFF09`,cause:F}});}},mr=async t=>pe===void 0?null:pe.getChannelKey(t),fr=t=>{if(pe===void 0)return null;let u=pe.getCachedChannelKey(t);return u===null&&pr(t),u},wt=()=>Ze?.getCachedPrivateKey(S)?.privateKey??null,Ls=()=>({crypto:be,resolveChannelKey:fr,resolveUserPrivateKey:wt,onDecryptRecovery:h$1,onDecryptError:t=>{let u=pe!==void 0&&y?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed"&&!Rt.has(t.messageId);v$2("live",{...t,forceRefreshAttempted:u}),u&&(Rt.add(t.messageId),pe.getChannelKey(t.channelId,{force:true}).catch(()=>{}));}}),kn=async t=>{let u=[];pe!==void 0&&u.push(...[...new Set(t)].map(F=>pr(F))),Ze!==void 0&&S!==""&&u.push(Ze.getUserPrivateKey(S).catch(()=>null)),await Promise.all(u);},On=t=>({crypto:be,resolveChannelKey:u=>pe?.getCachedChannelKey(u)??null,resolveUserPrivateKey:wt,onDecryptError:u=>v$2(t,u),onDecryptRecovery:h$1});function Xn(t){qe!==void 0&&t!==""&&qe.getGroupKeys(t);}let gr=async t=>{if(qe===void 0)return null;let u=await qe.getGroupKeys(t);return u===null?null:{publicKey:u.publicKey,version:u.version}},Ir=t=>{if(qe===void 0)return null;let u=qe.getCachedGroupKeys(t);return u!==null?u.privateKey:(Xn(t),null)},Qn=async t=>{qe!==void 0&&await Promise.all(t.map(u=>qe.getGroupKeys(u).catch(()=>null)));},Fs=()=>({crypto:be,resolvePrivateKey:({groupId:t})=>Ir(t),preparePrivateKey:async({groupId:t})=>qe===void 0?null:(await qe.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>l$2("live",t),onDecryptRecovery:h$1}),Zn=t=>({crypto:be,resolvePrivateKey:({groupId:u})=>Ir(u),onDecryptError:u=>l$2(t,u),onDecryptRecovery:h$1}),et=new Map;function Ks(t,u){return t.length===u.length&&t.every((F,X)=>F===u[X])}function En(t){return t.wireEncrypt===2?"channel-base64-pad-tea":t.conversation.conversationType==="group"?"group-rsa-tea":t.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Us(t){return t.contentType===101?Number.isInteger(t.type)&&t.type>0:t.contentType===27?t.gameType===0n?t.gameValue>=1n&&t.gameValue<=3n:t.gameType===1n&&t.gameValue>=1n&&t.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(t.contentType)}async function yr(t){let u=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,F=et.get(u);if(F!==void 0)return F;let X=(async()=>{let ee=b.getConversationMessage(t.conversation,t.messageId),Y=te(t);if(ee===void 0||ee.encryption.decryptFailed!==true&&!Y){await y?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}T.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ee.senderId,messageCreatedAt:ee.createdAt,selfMessage:ee.senderId===S,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let z,q,re="key-resolve",ge=En(t);for(let me of [false,true]){let Ee=me?"force":"current",le;try{re="bcontent";let _e=d$1.decode(t.sContent);if(t.wireEncrypt===1){if(_e.secretKey.length===0||_e.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");re="key-resolve";let Xe=t.conversation.conversationType==="group"?(await qe?.getGroupKeys(t.conversation.conversationId,{force:me}))?.privateKey??null:(await Ze?.getUserPrivateKey(S,{force:me}))?.privateKey??null;if(me&&q!==void 0&&(le=typeof q=="string"&&Xe!==null&&q!==Xe),me||(q=Xe),Xe===null){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ee,strategy:En(t),finalStage:re,reason:"no-key",...le===void 0?{}:{keyChanged:le}}}));continue}re="rsa";let nn=be.rsaDecryptPkcs1({data:_e.secretKey,privateKey:Xe});if(nn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${nn.length} < 16`);re="tea";let $e=be.decryptSymmetric({teaKey:nn,cipherData:_e.cipherData});T.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ee,strategy:En(t),rsaCipherBytes:_e.secretKey.length,cipherDataBytes:_e.cipherData.length,cipherDataBlockRemainder:_e.cipherData.length%8,resolvedTeaBytes:nn.length,plainBytes:$e.length,plainBlockRemainder:$e.length%8,startsWithContentTypeField:$e[0]===8,startsWithMobileCardType:$e[0]===8&&$e[1]===8,...As($e)}})),re="bmessage",z=c.decode($e);}else if(t.conversation.conversationType==="channel"){if(_e.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");re="key-resolve";let Xe=pe?.getChannelKeyCandidates===void 0?await pe?.getChannelKey(t.conversation.conversationId,{force:me}).then(x=>[{strategy:"canonical-base64-pad",key:x}])??[]:await pe.getChannelKeyCandidates(t.conversation.conversationId,{force:me}),nn=pe?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);nn!=null&&T.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Ee,...nn}}));let $e=Xe.find(x=>x.strategy==="canonical-base64-pad")?.key??null;if(me&&q instanceof Uint8Array&&$e!==null&&(le=!Ks(q,$e)),me||(q=$e?.slice()??null),Xe.length===0){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ee,strategy:En(t),finalStage:re,reason:"no-key",...le===void 0?{}:{keyChanged:le}}}));continue}for(let x of Xe)try{re="tea";let oe=be.decryptSymmetric({teaKey:x.key,cipherData:_e.cipherData});re="bmessage";let Ie=c.decode(oe);if(x.strategy==="legacy-ascii16"&&!Us(Ie))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");z=Ie,ge=x.strategy,T.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ee,strategy:x.strategy,finalStage:"recovered",reason:"recovered",...le===void 0?{}:{keyChanged:le}}}));break}catch(oe){T.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ee,strategy:x.strategy,finalStage:re,reason:"decrypt-failed",...le===void 0?{}:{keyChanged:le}},error:{message:"CHANNEL decrypt recovery candidate failed",data:oe}}));}}if(z!==void 0){T.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ee,strategy:ge,finalStage:"recovered",reason:"recovered",...le===void 0?{}:{keyChanged:le}}}));break}}catch(_e){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ee,strategy:En(t),finalStage:re,reason:"decrypt-failed",...le===void 0?{}:{keyChanged:le}},error:{message:"IM message decryption recovery failed",data:_e}}));}}if(!G||z===void 0){z===void 0&&T.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:En(t),attempts:2,finalStage:re}}));return}let de=b.getConversationMessage(t.conversation,t.messageId);if(de===void 0||de.encryption.decryptFailed!==true&&!Y)return;let Se=t.conversation.conversationType==="channel"&&(t.cmdId===12804||z.contentType===101)?v$1({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(de.serverTime??de.createdAt),notifyType:z.type,operatorId:z.oprUserId,targetUserIds:z.mnpledUserId,content:z.content,...typeof de.extensions?.historyCursor=="string"?{historyCursor:de.extensions.historyCursor}:{},...typeof de.extensions?.channelSequence=="string"?{sequence:BigInt(de.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:de.raw!==void 0}):{...C(de,z,S),...Y?{edited:true}:{}};b.upsertMessages([Se],"offline"),await y?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{et.get(u)===X&&et.delete(u);});return et.set(u,X),X}async function nt(t,u={}){let F=await y?.getDecryptRecoveries?.(t)??[];if(await Promise.all(F.map(yr)),!G||u.recoverLegacyWithoutSidecar===false)return;let X=new Set(F.map(Y=>Y.messageId)),ee=b.getMessagesByConversation(t).filter(Y=>Y.encryption.decryptFailed===true&&!X.has(Y.id));if(ee.length!==0)try{if(t.conversationType==="channel"){let Y=await c$1.getLoginContext();if(Y===null||L===void 0)return;for(let z of ee){let q=z.extensions?.historyCursor;if(typeof q!="string"||q.trim()==="")continue;let re=await L(t.conversationId,q,Y.userId);G&&re.length>0&&b.upsertMessages(re,"offline");}}else if(t.conversationType==="group"&&R!==void 0){let Y=[...ee].sort((z,q)=>z.sortKey.localeCompare(q.sortKey))[0];await R({conversation:t,oldestLoaded:Y,intent:"older",limit:20});}else t.conversationType==="direct"&&await Tr();}catch(Y){n$1.emit({type:"error",error:{scope:"crypto",message:`\u65E7\u89E3\u5BC6\u5360\u4F4D\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:Y}});}}let Ye=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};R=async({conversation:t,oldestLoaded:u,cursor:F,intent:X,limit:ee})=>{let{conversationId:Y}=t,z=b.getSession(t);if(z===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${Y}\uFF09`);if(z.type==="direct")return {messages:[],exhausted:true};if(z.type==="group"){if(z.groupState!==void 0&&z.groupState!=="active")return {messages:[],exhausted:true};let q=await c$1.getLoginContext();if(q===null)return {messages:[],exhausted:true};let re=X==="establish-latest"?Date.now():F===void 0?u?.serverTime??u?.createdAt??Date.now():Rs(F,Y),ge=await Ba$1({http:Ge,userId:q.userId,clientType:i,groupId:Y,baseTime:re,direct:1,limit:ee,decryptDeps:Zn("history"),prepareKeys:Qn,onReaction:Ye});ge.messages.length>0&&b.upsertMessages(ge.messages,"offline");let de=ge.oldestEntryTime,Se=ge.batchSize<ee||de===void 0||de>=re;return {messages:ge.messages,exhausted:Se,...Se?{}:{nextCursor:String(de)},...X==="establish-latest"?{replaceWindow:true}:{}}}if(z.type==="channel"){let q=m$1("history");if(z.channelState!==void 0&&xe(z.channelState))return T.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:q,data:{state:z.channelState}})),{messages:[],exhausted:true};let re=B$1,ge=ae(Y),de=await c$1.getLoginContext();if(de===null)return {messages:[],exhausted:true};if(X==="establish-latest"){let le=await ta$1({http:Ge,userId:de.userId,clientType:i,channelId:Y,count:_n,operationId:q,decryptDeps:On("history"),prepareKey:pe===void 0&&Ze===void 0?void 0:Xe=>kn([Xe]),onContentDecodeError:M,onReaction:Ye}),_e=b.getSession(t);return !G||re!==B$1||ge!==ae(Y)||_e?.type!=="channel"||_e.channelState!==void 0&&xe(_e.channelState)?{messages:[],exhausted:true}:(le.messages.length>0&&b.upsertMessages(le.messages,"offline"),{messages:le.messages,exhausted:!le.hasOlder,...le.nextCursor===void 0?{}:{nextCursor:le.nextCursor},replaceWindow:true})}let Se=F??"";if(F===void 0&&u!==void 0){let le=u.extensions?.historyCursor;if(typeof le=="string"&&le.trim()!=="")Se=le;else if(!Bl(u,de.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${Y}, messageId=${u.id}\uFF09`)}T.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:q,data:{baseIndexPresent:Se!=="",direction:1,contain:0,count:_n,historyGeneration:re,historyEpoch:ge,clientTypeHeader:i,clientTypeBody:i}}));let me;try{me=await ua$1({http:Ge,userId:de.userId,clientType:i,channelId:Y,baseIndex:Se,count:_n,contain:0,operationId:q,decryptDeps:On("history"),prepareKey:pe===void 0&&Ze===void 0?void 0:le=>kn([le]),onContentDecodeError:M,onReaction:Ye});}catch(le){throw T.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:q,data:{baseIndexPresent:Se!=="",direction:1,contain:0,count:_n},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:le}})),le}let Ee=b.getSession(t);return !G||re!==B$1||ge!==ae(Y)||Ee?.type!=="channel"||Ee.channelState!==void 0&&xe(Ee.channelState)?{messages:[],exhausted:true}:(me.messages.length>0&&b.upsertMessages(me.messages,"offline"),T.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:q,data:{responseBatchSize:me.batchSize,messageCount:me.messages.length,exhausted:me.exhausted,nextBaseIndexPresent:me.nextBaseIndex!==void 0}})),{messages:me.messages,exhausted:me.exhausted,...me.nextBaseIndex===void 0?{}:{nextCursor:me.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${z.type}`)};let Bs=Oa$1([Ma({includeOppositeEnd:true}),Na$1({resolveGroupKey:gr}),La({resolveChannelKey:mr})]),Gs=ya([za(),Aa(),Ba()]),js=V$1([W(),X(),Y({resolveChannelKey:mr,resolveProfile:t=>ie?.getProfile(t)??Promise.resolve(null)})]),We=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},tt=()=>false,Tt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},hr=()=>{},_t=()=>{},xn={...b,removeConversationForMembershipTermination:(t,u)=>{hr(t,u),t.conversationType==="group"?qe?.clearGroupKeys(t.conversationId):pe?.clearChannelKey(t.conversationId),b.removeConversationForMembershipTermination(t,u),A.api.resetBackground(t).catch(F=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:F}}));}},Nn=qa({domainState:b,sendFrame:t=>We(t),getSelfId:()=>S,isAuthenticated:()=>tt(),reportReaction:t=>Ue.reportReaction(t),isEmojiSupported:pi,logger:a$1});Ye=t=>{Nn.ingest(t,"offline");};let Hs=ra({manager:Nn,getSelfId:()=>S,logger:a$1}),zs=Ja$1({domainState:b,outbox:{onChatAck:t=>Tt(t)},sendFrame:t=>We(t),getSelfId:()=>S,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Fs(),isActive:()=>G}),Vs=Ea({domainState:b,outbox:{onChatAck:t=>Tt(t)},sendFrame:t=>We(t),getSelfId:()=>S,emitter:n$1,logger:a$1,keepRaw:true,decrypt:Ls()}),qs=Da({domainState:b,sendFrame:t=>We(t),getSelfId:()=>S,emitter:n$1,logger:a$1,keepRaw:true,decrypt:{crypto:be,resolveChannelKey:fr,resolveUserPrivateKey:wt,onDecryptRecovery:h$1}}),Ws=Ca({getSelfId:()=>S,sendFrame:t=>We(t),emitter:n$1}),$s=Ha({sendFrame:t=>We(t),emitter:n$1,getSelfId:()=>S,domainState:{reconcileDirectContactEstablishedNotice:b.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){b.removeConversation(t);return}t.conversationType==="direct"&&H(t,"friend_relation_removed"),b.removeConversation(t);})},resetDirectReadReceiptPreference:t=>O.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:Z.updateRelationshipFromEvent}),Js=Ka$1({sendFrame:t=>We(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:b.applyTransferStatusBySerialNumber}}),Ys=Ga({getSelfId:()=>S,sendFrame:t=>We(t),emitter:n$1}),Xs=Fa({getSelfId:()=>S,domainState:b,sendFrame:t=>We(t),emitter:n$1,onRelationshipChanged:Z.updateRelationshipFromEvent}),Dt=l$1({sendFrame:t=>We(t),emitter:n$1,getSelfId:()=>S,isAuthenticated:()=>tt(),domainState:b}),Qs=Dt.handlers,Zs=Ia$1({domainState:b,sendFrame:t=>We(t),getSelfId:()=>S,emitter:n$1,logger:a$1,keepRaw:true}),ec=oa({domainState:xn,getSelfId:()=>S,prefetchGroupKey:Xn,clearGroupKeys:t=>{qe?.clearGroupKeys(t);},clearConversationTermination:t=>_t(t)}),nc=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&ec.handleMessage(t.message);}),vr=ga({domainState:xn,getSelfId:()=>S,prepareChannelKey:t=>{T.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:pe!==void 0&&pe.getCachedChannelKey(t)!==null}})),pe!==void 0&&pe.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let u=pe!==void 0&&pe.getCachedChannelKey(t)!==null;pe?.clearChannelKey(t),T.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:u}}));},clearConversationTermination:t=>_t(t),stopChannelHistory:t=>{let u=ae(t);se(t),b.messageWindow.info().conversationId===t&&b.messageWindow.reset(),T.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:u,nextEpoch:ae(t)}}));}}),tc=n$1.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let u=t.message;u.conversationType==="channel"&&u.body.system?.eventType!==void 0&&T.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:u.conversationId},messageId:u.id,data:{eventType:u.body.system?.eventType,source:t.source??"live",targetSelf:u.body.system?.targetUserIds?.includes(S)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:b.getSession({conversationType:"channel",conversationId:u.conversationId})?.channelState??"missing"}})),vr.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),rc=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"]),oc=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),ac=n$1.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let u=t.message,F=u.body.system?.eventType;u.conversationType==="channel"&&F!==void 0&&(rc.has(F)&&he?.invalidateChannelMembers(u.conversationId).catch(X=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:X}});}),oc.has(F)&&Re.invalidate(u.conversationId).catch(X=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:X}});}));}),Cr=ri({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:b,emitter:n$1}),Mr=Li({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},domainState:b,emitter:n$1}),gn=Fi({...f===void 0?{}:{joinApplications:f},http:Ge,clientType:i,buildOfflineDecrypt:()=>On("history"),onContentDecodeError:M,onReaction:Ye,...pe===void 0&&Ze===void 0?{}:{prepareKey:t=>kn([t])}});L=async(t,u,F)=>{let{context:X}=await gn.loadMessageContext(t,u,F);return X.messages};let ic=Ki({authProvider:c$1,emitter:n$1,domainState:b,loadMessageContext:gn.loadMessageContext,isActive:()=>G,getHistoryGeneration:()=>B$1,getHistoryEpoch:ae}),kt=ta({domainState:b,updateReadIndex:async({channelId:t,readCursor:u})=>{let F=await c$1.getLoginContext();if(F===null)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Q({http:Ge,userId:F.userId,indexes:[{channelId:t,readCursor:u}]});},emitter:n$1,logger:a$1,syncRead:{getSelfId:()=>S,sendFrame:t=>We(t)}}),sc=sa({getSelfId:()=>S,applyRemoteRead:t=>kt.applyRemoteRead(t),emitter:n$1,logger:a$1}),cc=xa([wa({domainState:b,markGroupReadAll:async t=>{let u=await c$1.getLoginContext();if(u===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja({http:Ge,userId:u.userId,groupId:t});},emitter:n$1,logger:a$1,isAuthenticated:()=>tt(),syncRead:{getSelfId:()=>S,sendFrame:t=>We(t)}}),kt]),ce=Pa({transport:s$1,authProvider:c$1,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:b,logger:a$1,decrypt:{crypto:be,resolvePrivateKey:({msgType:t})=>t===1?Ze?.getCachedPrivateKey(S)?.privateKey??null:null,onDecryptError:t=>r$1("live",t),onDecryptRecovery:h$1},encryptSend:ur===void 0&&pe===void 0?void 0:{crypto:be,resolvePublicKey:t=>ur?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:gr},media:Je!==void 0?{transfer:Je,preview:Ns,onTransferError:t=>{T.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},...D===void 0?{}:{assetCache:D,onAssetCacheError:t=>{T.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:Bs,commandHandlers:[...$s,...Js,...Ys,...Xs,...Qs,...Hs,...zs,...Zs,...Vs,...qs,...Ws,...sc],readStrategies:cc,canSendDirectReadReceipt:t=>{if(!O.isDirectReadReceiptEnabled(t))return false;let u=Z.peekRelationship(t);if(!(u===void 0||u==="unknown"))return u==="friend"},recallStrategies:Gs,channelMessageDeletion:{resolveProfile:t=>ie?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>b.refreshConversationProfile(t,"channel")},editStrategies:js,storage:y,onAuthenticated:()=>{let t=E;E=true,(t||ne==="auto")&&Ar().catch(()=>{});},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);p=t=>ce.suppressDirectReadReceipts(t),P=t=>ce.resumeDirectReadReceipts(t),We=ce.sendFrame,tt=()=>ce.state==="authenticated",Tt=ce.onChatAck,H=ce.terminateConversationSending,hr=ce.markOutboxConversationTerminated,_t=ce.clearOutboxConversationTerminated;let br=Pi({operations:{getPending:ce.getPendingOutbox,retry:ce.retryOutboxMessage,cancel:ce.cancelOutboxMessage},emitter:n$1,isActive:()=>G}),Ce=zi({connection:ce,domainState:b,crypto:be,...Je===void 0?{}:{mediaTransfer:Je},prepareDirectReadReceipt:async t=>{try{await Z.ensureRelationship(t);}catch(u){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:u}}});}}}),Ot=bi({connection:ce,domainState:b,emitter:n$1,isActive:()=>G,...D===void 0?{}:{assetCache:D,onAssetCacheEvent:t=>{T.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...Je===void 0?{}:{loaders:{loadImage:Ce.operations.loadImage,loadVideo:Ce.operations.loadVideo,loadVoice:Ce.operations.loadVoice,loadFile:Ce.operations.loadFile}}});Dn=()=>{ce.invalidateMediaAssetCacheWrites(),Ot.clearCache();};let Sr=La$1({onOnline:()=>ce.notifyOnline(),onOffline:()=>ce.notifyOffline(),onVisible:()=>ce.notifyVisible(),onPageHide:()=>{U&&ce.suspendForPageLifecycle();},onPageShow:()=>{U&&(ce.resumeFromPageLifecycle(),ce.notifyVisible());}},e$1.network);async function Pr(t){let u=await Ze?.getUserPrivateKey(t)??null;return {crypto:be,resolvePrivateKey:({msgType:F})=>F===1?u?.privateKey??null:null,onDecryptError:F=>r$1("offline",F,t),onDecryptRecovery:h$1}}function Er(t,u){return {endpoint:t,pullBatch:async({deliveredMsgInfos:F})=>{let X=await c$1.getLoginContext();if(X===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let ee=await Pr(X.userId);return u({http:Ge,userId:X.userId,clientType:i,decryptDeps:ee,deliveredMsgInfos:F,onReaction:Ye})}}}let dc=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t})=>{let u=await c$1.getLoginContext();if(u===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return za$1({http:Ge,userId:u.userId,clientType:i,decryptDeps:Zn("offline"),prepareKeys:Qn,deliveredMsgInfos:t,onReaction:Ye})}});async function lc(){let t=await c$1.getLoginContext();if(t===null)return;let u=await Aa$1({http:Ge,userId:t.userId,clientType:i,decryptDeps:Zn("offline"),prepareKeys:Qn,onReaction:Ye});for(let F of u.unreads)b.applyServerUnread({conversationType:"group",conversationId:F.groupId},F.unreadCount),Xn(F.groupId);u.messages.length>0&&b.upsertMessages(u.messages,"offline");}async function uc(){let t=m$1("sync");T.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:i,sessionsClientTypeBody:"absent",offlineClientTypeBody:i}}));try{await pc(t);}catch(u){throw T.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:u}})),u}}async function pc(t){if(ie===void 0){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let u=await c$1.getLoginContext();if(u===null){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let F=await ie.listProfiles({forceRefresh:true});if(F.length===0){T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let X=new Map(F.map(x=>[x.id,x]));for(let x of F){if(C$1(x.channelState)){pe?.clearChannelKey(x.id),xn.removeConversationForMembershipTermination({conversationType:"channel",conversationId:x.id},`channel_${x.channelState}`);continue}let oe=x.permissions.sendMessages?void 0:`channel_${x.channelState}`;b.setChannelRestriction(x.id,x.channelState,oe,{permissions:x.permissions,...x.accessSnapshot===void 0?{}:{snapshot:x.accessSnapshot}}),b.updateConversationProfile(x.id,{title:x.name,avatar:x.avatar}),x.muted!==void 0&&b.setMuted(x.id,x.muted);}let ee=new Map(F.map(x=>{let oe=b.getReadState(x.id),Ie=b.getSession(x.id);return [x.id,{readCursor:oe?.readCursor??Ie?.readCursor??"",unreadCount:Ie?.unreadCount??oe?.unreadCount??0,mentionUnreadCount:Ie?.mentionUnreadCount??oe?.mentionUnreadCount??0}]})),Y=F.map(x=>({channelId:x.id,readCursor:ee.get(x.id).readCursor}));T.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:Y.length,channelsWithReadCursor:Y.filter(x=>x.readCursor!=="").length,clientTypeHeader:i,clientTypeBody:"absent"}}));let z=await ra$1({http:Ge,userId:u.userId,clientType:i,channels:Y,operationId:t,decryptDeps:On("offline"),prepareKeys:x=>kn(x.filter(oe=>{let Ie=X.get(oe)?.channelState;return Ie===void 0||!xe(Ie)})),onContentDecodeError:M,onReaction:Ye});T.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:z.length,lastMessageCount:z.filter(x=>x.last!==void 0).length,decryptFailedLastCount:z.filter(x=>x.last?.encryption.decryptFailed===true).length}}));let q=new Set(z.filter(x=>{let oe=ee.get(x.channelId),Ie=b.getReadState(x.channelId),we=b.getSession(x.channelId);return oe===void 0||(Ie?.readCursor??we?.readCursor??"")!==oe.readCursor||(we?.unreadCount??Ie?.unreadCount??0)!==oe.unreadCount||(we?.mentionUnreadCount??Ie?.mentionUnreadCount??0)!==oe.mentionUnreadCount}).map(x=>x.channelId)),re=z.filter(x=>b.getSession(x.channelId)!==void 0).map(x=>{let Ie=X.get(x.channelId)?.channelState,we=Ie!==void 0&&xe(Ie)?Ie:xe(x.channelState)?x.channelState:Ie??x.channelState,Un=we==="active"?void 0:we===x.channelState?x.sendDisabledReason:`channel_${we}`;return {...x,channelState:we,sendDisabledReason:Un}});for(let x of re){let oe=X.get(x.channelId);b.setChannelRestriction(x.channelId,x.channelState,x.sendDisabledReason,oe===void 0?void 0:{permissions:oe.permissions,...oe.accessSnapshot===void 0?{}:{snapshot:oe.accessSnapshot}}),oe!==void 0&&(b.updateConversationProfile(x.channelId,{title:oe.name,avatar:oe.avatar}),oe.muted!==void 0&&b.setMuted(x.channelId,oe.muted)),q.has(x.channelId)||b.applyServerUnread({conversationType:"channel",conversationId:x.channelId},x.unreadCount,void 0,x.readCursor),xe(x.channelState)&&pe?.clearChannelKey(x.channelId);}let ge=re.filter(x=>!q.has(x.channelId)&&!xe(x.channelState)&&x.unreadCount>0&&x.readCursor!=="");T.record("debug","sdk","sync","channel-offline-plan",()=>{let x={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let oe of re)q.has(oe.channelId)?x.staleRead+=1:xe(oe.channelState)?x.historyBlocked+=1:oe.unreadCount<=0?x.zeroUnread+=1:oe.readCursor===""&&(x.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:re.length,eligibleChannelCount:ge.length,staleReadSkippedCount:x.staleRead,historyBlockedSkippedCount:x.historyBlocked,zeroUnreadSkippedCount:x.zeroUnread,emptyReadCursorSkippedCount:x.emptyReadCursor,direction:0,contain:0,count:_n}}});let de=await sa$1({http:Ge,userId:u.userId,clientType:i,operationId:t,pulls:ge.map(x=>({channelId:x.channelId,baseIndex:x.readCursor})),messageCount:_n,decryptDeps:On("offline"),prepareKeys:kn,onContentDecodeError:M,onReaction:Ye}),Se=re.flatMap(x=>{let oe=x.last;if(oe?.encryption.decryptFailed!==true)return [];let Ie=oe.extensions?.historyCursor;return [{summary:x,last:oe,historyCursor:typeof Ie=="string"?Ie.trim():""}]}),me=(x,oe)=>`${x}:${oe}`,Ee=new Map,le=new Set;for(let{summary:x,last:oe}of Se){let Ie=b.getConversationMessage({conversationType:"channel",conversationId:x.channelId},oe.id);if(Ie===void 0||Ie.encryption.decryptFailed===true)continue;let we=me(x.channelId,oe.id);Ee.set(we,Ie),le.add(we);}for(let x of de)x.encryption.decryptFailed!==true&&Ee.set(me(x.conversationId,x.id),x);let _e=Se.filter(({summary:x,last:oe,historyCursor:Ie})=>Ie!==""&&!q.has(x.channelId)&&!xe(x.channelState)&&!Ee.has(me(oe.conversationId,oe.id))),Xe=Se.filter(({summary:x,last:oe})=>!q.has(x.channelId)&&!xe(x.channelState)&&!le.has(me(oe.conversationId,oe.id))&&Ee.has(me(oe.conversationId,oe.id))).length;T.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{decryptFailedLastCount:Se.length,localRecoveredCount:le.size,offlineRecoveredCount:Xe,contextRecoveryCount:_e.length,staleReadSkippedCount:Se.filter(x=>q.has(x.summary.channelId)).length,historyBlockedSkippedCount:Se.filter(x=>xe(x.summary.channelState)).length,missingHistoryCursorCount:Se.filter(x=>x.historyCursor==="").length}}));let nn=await Promise.all(_e.map(async({summary:x,last:oe,historyCursor:Ie})=>{try{let{message:we}=await gn.loadMessageContext(x.channelId,Ie,u.userId),Un=b.getSession({conversationType:"channel",conversationId:x.channelId});if(!G||Un?.type!=="channel"||Un.channelState!==void 0&&xe(Un.channelState))return;if(we.conversationType!=="channel"||we.conversationId!==x.channelId||we.id!==oe.id||we.encryption.decryptFailed===!0)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${x.channelId}, messageId=${oe.id}\uFF09`);return we}catch(we){T.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:we},data:{messageId:oe.id}}));return}}));for(let x of nn)x!==void 0&&Ee.set(me(x.conversationId,x.id),x);let $e=[...re.flatMap(x=>x.last===void 0?[]:[Ee.get(me(x.channelId,x.last.id))??x.last]),...de];$e.length>0&&b.upsertMessages($e,"offline",{applyChannelLifecycleEffects:true}),T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:F.length,terminalProfileCount:F.filter(x=>C$1(x.channelState)).length,sessionCount:z.length,acceptedSessionCount:re.length,sessionLastCount:re.filter(x=>x.last!==void 0).length,recoveredSessionLastCount:Se.filter(({last:x})=>Ee.has(me(x.conversationId,x.id))).length,offlineMessageCount:de.length}}));}let Ln=null,xt=false;function mc(){return Ln!==null?(xt=true,Ln):(Ln=(async()=>{let u;do{xt=false,u=void 0;try{await uc();}catch(F){u=F;}}while(xt);if(u!==void 0)throw u})().finally(()=>{Ln=null;}),Ln)}let fc=Ta({pullers:[Er("chat",va),Er("owner_chat",wa$1),dc()],domainState:b,emitter:n$1,logger:a$1});async function Ar(){let t=lc().catch(F=>n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:F}})),u=mc().catch(F=>n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:F}}));await Promise.all([fc.sync(),t,u]);}async function gc(){if(_==="ready")return;_="preparing";let t=await c$1.getLoginContext();if(t!==null){if(S=t.userId,Ze!==void 0&&Ze.getUserPrivateKey(t.userId),y!==void 0)try{await y.open({namespace:t.userId});try{await O.hydrate();}catch(u){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:u}});}await b.hydrate();for(let u of b.getSessions())u.title===""&&u.type!=="supergroup"&&b.refreshConversationProfile(u.id,u.type);await ce.hydrateOutbox();}catch(u){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:u}});}if(qe!==void 0)for(let u of b.getSessions())u.type==="group"&&Xn(u.id);}_="ready";}function Rr(){if(_==="ready")return Promise.resolve();if(J!==null)return J;let t=Date.now();return T.record("info","sdk","session","prepare-start"),J=gc().then(()=>T.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(u=>{throw T.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:u}})),u}).finally(()=>{J=null;}),J}function Ic(t){if(U=true,ce.state==="authenticated")return Promise.resolve();if(Q$1!==null)return Q$1;ne=t?.initialSync??"auto",E=false;let u=Date.now();return T.record("info","sdk","connection","connect-start",()=>({data:{initialSync:ne}})),Q$1=(async()=>{await Rr(),Sr.start(),await ce.connect();})().then(()=>T.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-u}))).catch(F=>{throw T.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-u,error:{message:"IM connect \u5931\u8D25",data:F}})),F}).finally(()=>{Q$1=null;}),Q$1}function wr(t){T.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),U=false,ce.disconnect(t),Sr.stop();}async function yc(t,u={}){let F=Date.now();T.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),G=false,Dt.dispose(),Nn.dispose(),br.dispose(),Ot.dispose(),lr.dispose(),ye.dispose(),Z.dispose(),ce.disposeMediaTasks();for(let re of j)re.close();j.clear(),B$1+=1,ce.markOutboxForLogout(t?.pendingMessages??"fail"),Cr.dispose(),Mr.dispose(),gn.dispose(),Re.dispose(),Le.dispose(),A.dispose();let X=O.dispose();Be.dispose(),en.dispose(),nc(),tc(),ac(),vr.dispose(),kt.reset(),pe?.clearAll(),Rt.clear(),wr("im-logout"),await b.invalidateAndDrainDraftOperations(),await X,b.clearSession();let ee=t?.localData==="purge"?S:"",Y,z,q=true;if(y!==void 0)try{await y.close();}catch(re){q=false,ee!==""&&(Y=re),u.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:ee===""?"\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:re}});}if(ee!==""&&q)try{I!==void 0?await I.purgeCurrentAccount({namespaceFactory:o$1,accountId:ee}):await Ma$1(ee,{namespaceFactory:o$1}),z=ee;}catch(re){Y=re,u.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:re}});}return _="empty",T.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-F,data:{purgedAccountId:z,purgeFailed:Y!==void 0}})),k$1(),$(),{...z===void 0?{}:{purgedAccountId:z},...Y===void 0?{}:{purgeError:Y}}}function hc(){return {sessionState:_,connectionState:ce.state,...S!==""?{userId:S}:{},prepared:_==="ready",connectionDesired:U,authenticated:ce.state==="authenticated"}}function vc(t){return n$1.subscribe(t)}function Cc(){return {connectionState:ce.state,pendingOutbox:ce.getPendingOutbox()}}function Mc(){return b.getConversationList()}K=async({conversation:t,newestLoaded:u,cursor:F,limit:X})=>{let{conversationId:ee}=t,Y=b.getSession(t);if(Y===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(Y.type==="direct")return {messages:[],exhausted:true};if(Y.type==="group"){if(Y.groupState!==void 0&&Y.groupState!=="active")return {messages:[],exhausted:true};let z=await c$1.getLoginContext();if(z===null)return {messages:[],exhausted:true};let q=F===void 0?u?.serverTime??u?.createdAt:Rs(F,ee);if(q===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${ee}, messageId=${u?.id??""}\uFF09`);let re=await Ba$1({http:Ge,userId:z.userId,clientType:i,groupId:ee,baseTime:q,direct:2,limit:X,decryptDeps:Zn("history"),prepareKeys:Qn,onReaction:Ye});re.messages.length>0&&b.upsertMessages(re.messages,"offline");let ge=re.newestEntryTime,de=re.batchSize<X||ge===void 0||ge<=q;return {messages:re.messages,exhausted:de,...de?{}:{nextCursor:String(ge)}}}if(Y.type==="channel"){if(Y.channelState!==void 0&&xe(Y.channelState))return {messages:[],exhausted:true};let z=F??u?.extensions?.historyCursor;if(typeof z!="string"||z.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${ee}, messageId=${u?.id??""}\uFF09`);let q=B$1,re=ae(ee),ge=await c$1.getLoginContext();if(ge===null)return {messages:[],exhausted:true};let de=F===void 0?(await gn.loadMessageContext(ee,z,ge.userId)).context:await gn.loadNewerPage(ee,z,ge.userId),Se=b.getSession(t);return !G||q!==B$1||re!==ae(ee)||Se?.type!=="channel"||Se.channelState!==void 0&&xe(Se.channelState)?{messages:[],exhausted:true}:(de.messages.length>0&&b.upsertMessages(de.messages,"offline"),{messages:de.messages,exhausted:!de.hasNewer,...!de.hasNewer||de.nextCursor===void 0?{}:{nextCursor:de.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${Y.type}`)};async function Tr(){let t=await c$1.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let u=await Pr(t.userId),F=await xa$1({http:Ge,userId:t.userId,clientType:i,decryptDeps:u,onReaction:Ye}),X=await ya$1({http:Ge,userId:t.userId,clientType:i,decryptDeps:u,onReaction:Ye}),ee=[...F,...X];return b.upsertMessages(ee,"offline"),ee}async function bc(){await Ar();}let Sc=2;function Qe(t){let u=V({...t,operation:"openConversation"});return Object.assign(new Error(u.code),u,{name:"ImConversationOpenError"})}function Pc(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Ec(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let u=t;return {code:u.code,category:u.category,retryable:u.retryable}}return t instanceof m?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof n||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Fn(t){if(!G)throw Qe({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Ac(t){let u=t?.conversationType,F=t?.conversationId;if(u==="supergroup")throw Qe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(u!=="direct"&&u!=="group"&&u!=="channel"||typeof F!="string"||F.trim()==="")throw Qe({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:u,conversationId:F.trim()})}function Kn(t,u){return {id:t.conversationId,type:t.conversationType,title:u.title.trim()||t.conversationId,...u.avatar===void 0?{}:{avatar:u.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:u.muted??false,...u.groupState===void 0?{}:{groupState:u.groupState},...u.channelState===void 0?{}:{channelState:u.channelState},...u.channelPermissions===void 0?{}:{channelPermissions:u.channelPermissions},...u.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:u.channelAccessSnapshot},...u.sendDisabledReason===void 0?{}:{sendDisabledReason:u.sendDisabledReason}}}async function Rc(t){let u=Ac(t);if(Fn(u),b.getSession(u)!==void 0)return u;try{if(u.conversationType==="direct"){let Y=Le.peekItem("individual",u.conversationId);if(Y!==void 0)return b.ensureConversation(Kn(u,{title:Y.displayName||Y.cardDisplayName,...Y.avatarUrl===void 0?{}:{avatar:Y.avatarUrl}})),u;let z=await Z.getRelationship(u.conversationId);if(Fn(u),z!=="friend")throw Qe({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:u,details:Object.freeze({relationship:z})});let q=await Z.getProfile(u.conversationId);if(Fn(u),q===null||q.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});return b.ensureConversation(Kn(u,{title:q.remark??q.nickname,...q.avatar===void 0?{}:{avatar:q.avatar},...q.muted===void 0?{}:{muted:q.muted}})),u}if(u.conversationType==="group"){let Y=Le.peekItem("group",u.conversationId);if(Y!==void 0)return b.ensureConversation(Kn(u,{title:Y.displayName||Y.cardDisplayName,...Y.avatarUrl===void 0?{}:{avatar:Y.avatarUrl},groupState:"active"})),u;if(fe===void 0)throw Qe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:u});let z=await fe.getGroupProfile(u.conversationId);if(Fn(u),z===null||z.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});if(z.isInGroup===!1||z.status!==void 0&&z.status!==Sc)throw Qe({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:u,details:Object.freeze({...z.status===void 0?{}:{status:z.status},...z.isInGroup===void 0?{}:{isInGroup:z.isInGroup}})});return b.ensureConversation(Kn(u,{title:z.name,...z.avatar===void 0?{}:{avatar:z.avatar},...z.muted===void 0?{}:{muted:z.muted},groupState:"active"})),u}if(ie===void 0)throw Qe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:u});let F=await ie.getProfile(u.conversationId);if(Fn(u),F===null||F.id!==u.conversationId)throw Qe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:u});let X=F.channelState==="active"||F.channelState==="muted",ee=F.channelState==="muted"&&F.accessSnapshot?.allMembersMuted===!0&&F.role!=="owner"&&F.role!=="admin";if(!X||ee)throw Qe({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:u,details:Object.freeze({channelState:F.channelState,role:F.role,hiddenByAllMemberMute:ee})});return b.ensureConversation(Kn(u,{title:F.name,...F.avatar===void 0?{}:{avatar:F.avatar},...F.muted===void 0?{}:{muted:F.muted},channelState:F.channelState,channelPermissions:F.permissions,...F.accessSnapshot===void 0?{}:{channelAccessSnapshot:F.accessSnapshot},...F.permissions.sendMessages?{}:{sendDisabledReason:`channel_${F.channelState}`}})),u}catch(F){if(Pc(F))throw F;let X=Ec(F);throw Qe({...X,conversation:u,cause:F})}}let rt={...ji({...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},authProvider:c$1,http:Ge,resolveInput:fn,domainState:b,operations:{list:Mc,pullOffline:Tr,sync:bc},terminateConversationSending:(t,u)=>ce.terminateConversationSending(t,u),resetConversationBackground:t=>A.api.resetBackground(t),reportStorageError:(t,u)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:u}}),markChannelRead:(t,u)=>ce.markRead(t,u,"channel")}),...A.api,ensureOpenableConversation:Rc};function wc(t){let u={...t,close(){t.close(),j.delete(u);}};return Pt(u,t),j.add(u),u}function Nt(t){if(!G)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return wc(t)}async function Tc(t,u={}){if(!G)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let F={domainState:b,emitter:n$1,drafts:Be.api,sendText:Ce.operations.sendText,sendContact:Ce.operations.sendContact,sendImage:Ce.operations.sendImage,sendVideo:Ce.operations.sendVideo,sendVoice:Ce.operations.sendVoice,sendFile:Ce.operations.sendFile,sendGif:Ce.operations.sendGif,sendExpression:Ce.operations.sendExpression,sendGame:Ce.operations.sendGame,sendMiniProgram:Ce.operations.sendMiniProgram,sendTransfer:Ce.operations.sendTransfer,replaceVideo:Ce.operations.replaceInterruptedVideo,replaceFile:Ce.operations.replaceInterruptedFile,forwardMessages:Ce.operations.forwardMessages,recallMessage:Ce.operations.recallMessage,editMessage:Ce.operations.editMessage,setReaction:({conversation:X,parentMessageId:ee,emoji:Y,action:z})=>z==="toggle"?Nn.toggle({conversation:X,parentMessageId:ee,emoji:Y}):Nn.set({conversation:X,parentMessageId:ee,emoji:Y,action:z==="add"?0:1}),markRead:Ce.operations.markRead,markDirectMediaConsumed:Ce.operations.markDirectMediaConsumed,prepareMediaPreview:async({operationId:X,kind:ee,file:Y,signal:z})=>{let q=await lr.prepare({operationId:X,generation:d$2,kind:ee,file:Y,includePoster:ee==="video",...ee==="video"?Kl:{}},z);return ee==="video"?{width:q.width,height:q.height,...q.duration===void 0?{}:{duration:q.duration},...q.posterData===void 0?{}:{posterData:new Uint8Array(q.posterData)}}:{width:q.width,height:q.height}},getSelfId:()=>S,isOutboxOwned:X=>ce.getPendingOutbox().some(ee=>ee.id===X),hasOutboxForConversation:X=>ce.getPendingOutbox().some(ee=>ee.conversationType===X.conversationType&&ee.conversationId===X.conversationId),resolveSearchHistoryAnchor:en.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let X={conversationType:"direct",conversationId:t.conversationId},ee=await cs(X,{...F,getRelationship:Z.getRelationship,shouldCheckRelationship:()=>ce.state==="authenticated",appendContactRequiredTextFailure:z=>b.appendDirectContactRequiredTextFailure({conversationId:z.conversationId,senderId:S,text:z.text,...z.refMessageId===void 0?{}:{refMessageId:z.refMessageId}}),setMuted:(z,q)=>rt.setMuted(z,q)},u),Y=Nt(ee);return nt(X),Y}case "group":{let X={conversationType:"group",conversationId:t.conversationId},ee=await ds(X,{...F,getSendPermissionError:z=>{let q=b.getSession(X),re=q?.type==="group"?q.groupState:"unknown";if(!(re===void 0||re==="active"))return V({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:z,retryable:false,conversation:X,details:Object.freeze({groupState:re})})},setMuted:(z,q)=>rt.setMuted(z,q)},u),Y=Nt(ee);return nt(X),Y}case "channel":{let X={conversationType:"channel",conversationId:t.conversationId},ee=await us(X,{...F,getSelfId:()=>S,deleteMessageForEveryone:ce.deleteChannelMessageForEveryone,reconcilePage:ic.reconcilePage,getSendPermissionError:z=>{let q=b.getSession(X),re=q?.type==="channel"&&q.channelState!==void 0?q.channelState:"unknown_restricted",ge=fa({channelState:re,nowMs:Date.now(),...q?.type!=="channel"||q.channelAccessSnapshot===void 0?{}:{snapshot:q.channelAccessSnapshot},...q?.type!=="channel"||q.channelPermissions===void 0?{}:{permissions:q.channelPermissions}});if(!(ge.channelState==="active"&&ge.permissions.sendMessages))return V({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:z,retryable:false,conversation:X,details:Object.freeze({channelState:ge.channelState,...ge.muteReason===void 0?{}:{muteReason:ge.muteReason}})})},setMuted:(z,q)=>rt.setMuted(z,q)},u),Y=Nt(ee);return nt(X),Y}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Ce.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Tc,localData:Yn,directory:Le.search,search:en.api,applications:ye.api,expressions:Jn.api,outbox:br.api,drafts:Be.api,connection:Vi({operations:{prepare:Rr,connect:Ic,disconnect:wr,subscribe:vc,getSnapshot:Cc,getLifecycle:hc},getState:()=>ce.state}),conversations:rt,settings:O.api,contact:Z,group:oi({directory:Le.groups,...fe===void 0?{}:{profile:fe},...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...Je===void 0?{}:{avatarTransfer:Je},domainState:{...xn,ensureConversation:t=>b.ensureConversation(t)},emitter:n$1,pinned:Cr.operations}),channel:Ui({directory:Le.channels,...ie===void 0?{}:{channelProfile:ie},...he===void 0?{}:{channelMembers:he},...Ae===void 0?{}:{channelMentionMembers:Ae},mentionCandidates:Re.api,applications:gn.applications,pinned:Mr.operations,...e$1.coreClient===void 0?{}:{coreClient:e$1.coreClient},...Je===void 0?{}:{avatarTransfer:Je},crypto:be,domainState:{ensureConversation:t=>b.ensureConversation(t),setChannelRestriction:b.setChannelRestriction,removeConversationForMembershipTermination:xn.removeConversationForMembershipTermination,updateConversationProfile:b.updateConversationProfile,refreshConversationProfile:b.refreshConversationProfile},emitter:n$1,...pe===void 0?{}:{cacheCreatedSecretKey:(t,u)=>pe.primeChannelKey(t,u)},getSelfUserId:async()=>S!==""?S:(await c$1.getLoginContext())?.userId??""}),media:Ot.api,calls:Ji(Dt),teardown:yc}}function Gl(e){let n=jl(e);return Ds(ks(n),e.coreApi!==void 0)}function ym(e){return ks(Hl(e))}function jl(e){return {...Ts(e),...e.coreApi===void 0?{}:{coreClient:_s(e.authProvider,e.coreApi)}}}function Ts(e){let{authProvider:n,cache:o,clientType:d,connection:i,debug:c,endpointProvider:s,expressions:I,media:y}=e;return {authProvider:n,cache:o,clientType:d,connection:i,debug:c,endpointProvider:s,expressions:I,media:y}}function Hl(e){let{adapters:n,channelJoinApplications:o,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:s,coreApi:I,coreClient:y,directory:h,expressionProvider:D,http:A,network:p,profile:P,groupApplications:O,transport:S}=e;return {...Ts(e),adapters:n,channelJoinApplications:o,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:s,directory:h,expressionProvider:D,...y!==void 0?{coreClient:y}:I===void 0?{}:{coreClient:_s(e.authProvider,I)},http:A,network:p,profile:P,groupApplications:O,transport:S}}function _s(e,n){let o=n.baseUrl.trim();if(o==="")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:o,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function Ds(e,n){let o=hi({getCompatibilityApi:()=>e.conversations,subscribeEvents:a=>e.connection.subscribe(a),getSessionState:()=>e.session.getSnapshot().sessionState}),d={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(V({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false}));async function c(a,r,l){if(!n)return i(a);try{return await r()}catch(v){throw nr(v,a,l)}}function s(a,r,l){if(!n)throw V({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:l});try{return r()}catch(v){throw nr(v,a,l)}}let I,y=a=>c("contacts.getRelationship",()=>e.contacts.getRelationship(a)),h=(a,r)=>c("groups.getProfile",async()=>{let l=await e.groups.getProfile(a,r);return l===null?null:Di(a,l)},a),D=(a,r)=>c("channels.getProfile",async()=>{let l=await e.channels.getProfile(a,r);return l===null?null:ki(a,l)},a),A={listFirstPage:a=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(a)),listNextPage:a=>c("contacts.listNextPage",()=>e.contacts.listNextPage(a)),getProfile:(a,r)=>c("contacts.getProfile",async()=>{let l=await e.contacts.getProfile(a,r);return l===null?null:_i(a,l)}),getRelationship:async a=>{let r=a.trim(),l={conversationType:"direct",conversationId:r},v=I?.beginProjectionUpdate(l),M=await y(a);return v!==void 0&&I?.updateRelationshipProjection(r,M,v),M},setRemark:(a,r)=>c("contacts.setRemark",()=>e.contacts.setRemark(a,{...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{email:[...r.emails]},...r.phones===void 0?{}:{phones:r.phones.map(l=>({countryCode:l.countryCode,mobile:l.mobile}))}})),searchUser:a=>c("contacts.searchUser",()=>e.contacts.searchUser(a)),requestFriendship:(a,r)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(a,r)),blockUser:a=>c("contacts.blockUser",()=>e.contacts.blockUser(a),{conversationType:"direct",conversationId:a}),reportUser:(a,r)=>c("contacts.reportUser",()=>e.contacts.reportUser(a,r),{conversationType:"direct",conversationId:a}),deleteFriendship:a=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(a),{conversationType:"direct",conversationId:a})},p={search:a=>c("directory.search",()=>e.directory.search(a))},P={listFirstPage:a=>c("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>c("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>c("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,r)=>{let l=I?.beginProjectionUpdate(a),v=await h(a,r);return l!==void 0&&I?.updateGroupProfileProjection(a,v,l),v},updateName:(a,r)=>c("groups.updateName",()=>e.groups.updateName(a,r),a),updateAvatar:(a,r)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(a,r),a),setMyNickname:(a,r)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(a,r),a),updateVerification:(a,r,l)=>c("groups.updateVerification",()=>e.groups.updateVerification(a,r,l),a),requestJoin:(a,r)=>c("groups.requestJoin",()=>e.group.requestJoin(a.conversationId,r),a),joinByInviteCode:(a,r)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(a.conversationId,r),a),inviteMembers:(a,r)=>c("groups.inviteMembers",()=>e.group.inviteMembers(a.conversationId,r),a),removeMember:(a,r)=>c("groups.removeMember",()=>e.group.removeMember(a.conversationId,r),a),transferOwnership:(a,r)=>c("groups.transferOwnership",()=>e.group.transferOwnership(a.conversationId,r),a),leave:(a,r)=>c("groups.leave",()=>e.group.leave(a.conversationId,r),a),peekPinnedMessage:a=>s("groups.peekPinnedMessage",()=>{let r=e.group.peekPinnedMessage(a.conversationId);return r===null?null:Mt(a,r)},a),getPinnedMessage:a=>c("groups.getPinnedMessage",async()=>{let r=await e.groups.getPinnedMessage(a);return r===null?null:Mt(a,r)},a),pinMessage:(a,r)=>c("groups.pinMessage",async()=>{let l=await e.groups.pinMessage(a,r);return Mt(a,l)},a),unpinMessage:a=>c("groups.unpinMessage",()=>e.groups.unpinMessage(a),a)},O={listFirstPage:a=>c("channels.listFirstPage",()=>e.channels.listFirstPage(a)),listNextPage:a=>c("channels.listNextPage",()=>e.channels.listNextPage(a)),uploadAvatar:a=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(a)),create:a=>c("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,r)=>{let l=I?.beginProjectionUpdate(a),v=await D(a,r);return l!==void 0&&I?.updateChannelProfileProjection(a,v,l),v},updateName:(a,r)=>c("channels.updateName",()=>e.channel.updateName(a.conversationId,r),a),updateDescription:(a,r)=>c("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,r),a),updateAvatar:(a,r)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,r),a),updateVerification:(a,r,l)=>c("channels.updateVerification",()=>e.channels.updateVerification(a,r,l),a),requestJoin:(a,r)=>c("channels.requestJoin",()=>e.channel.requestJoin(a.conversationId,r),a),joinByInviteCode:(a,r)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(a.conversationId,r),a),setAllMuted:(a,r)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(a.conversationId,r),a),setMemberPrivateChatDisabled:(a,r)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(a.conversationId,r),a),setMyNickname:(a,r)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(a.conversationId,r),a),setMemberNickname:(a,r,l)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(a.conversationId,r,l),a),inviteMembers:(a,r)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(a.conversationId,r),a),removeMember:(a,r)=>c("channels.removeMember",()=>e.channel.removeMember(a.conversationId,r),a),addAdmin:(a,r)=>c("channels.addAdmin",()=>e.channel.addAdmin(a.conversationId,r),a),removeAdmin:(a,r)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(a.conversationId,r),a),transferOwnership:(a,r)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(a.conversationId,r),a),leave:(a,r)=>c("channels.leave",()=>e.channel.leave(a.conversationId,r),a),dismiss:a=>c("channels.dismiss",()=>e.channel.dismiss(a.conversationId),a),peekPinnedMessage:a=>s("channels.peekPinnedMessage",()=>{let r=e.channel.peekPinnedMessage(a.conversationId);return r===null?null:bt(a,r)},a),getPinnedMessage:a=>c("channels.getPinnedMessage",async()=>{let r=await e.channels.getPinnedMessage(a);return r===null?null:bt(a,r)},a),pinMessage:(a,r)=>c("channels.pinMessage",async()=>{let l=await e.channels.pinMessage(a,r);return bt(a,l)},a),unpinMessage:a=>c("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},S=yi({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:a=>o.api.list().find(r=>r.ref.conversationType===a.conversationType&&r.ref.conversationId===a.conversationId),subscribeConversations:a=>o.api.subscribe(r=>a(r.items)),getRelationship:y,getGroupProfile:h,getChannelProfile:D});I=S;let T=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{S.reset();try{await e.session.logout(a);}finally{S.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function g(a,r={}){let l=e.conversations,v=e.openConversation,M=await l.ensureOpenableConversation(a);return M.conversationType==="direct"?v({conversationType:"direct",conversationId:M.conversationId},r):M.conversationType==="group"?v({conversationType:"group",conversationId:M.conversationId},r):v({conversationType:"channel",conversationId:M.conversationId},r)}let m={get session(){return T},get capabilities(){return S.api},get conversations(){return o.api},get directory(){return p},get contacts(){return A},get groups(){return P},get channels(){return O},get applications(){return e.applications},get expressions(){return e.expressions},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return d},get settings(){return e.settings},get localData(){return e.localData},get events(){return e.events},openConversation:g,dispose:async()=>{S.dispose(),o.dispose(),await e.dispose();}};return tr(m,()=>Ni(e)),m}function hm(e,n){return Ds(e,n.coreApiAvailable)}function ks(e){let n=b(e.cache?.prefix),o=e.adapters?.namespaceFactory??n;if(o.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=Sa(),i=0,c=()=>ws(e,d,o,i++),s=c(),I=false;async function y(m){if(I)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(m),s=c();}async function h(){if(I)throw Mn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let m=await s.localData.getInfo(),a;try{a=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(r){throw s=c(),Mn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:m.accountScope,cause:r})}if(s=c(),a.purgedAccountId!==m.accountScope)throw Mn({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")});d.emit({type:"local-data:cleared",accountScope:m.accountScope,category:"all"});}let D=Ri({getRuntime:()=>s.localData,purgeCurrentAccount:h}),A={start:m=>s.connection.connect(m),stop:async m=>{s.connection.disconnect(m);},logout:y,getSnapshot:()=>s.connection.getLifecycle(),subscribe:m=>(m(s.connection.getLifecycle()),s.connection.subscribe(a=>{a.type==="connection:changed"&&m(s.connection.getLifecycle());}))},p=Ei({subscribeCore:m=>s.connection.subscribe(m),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:m=>{let a=s.conversations.list().find(r=>r.type===m.conversationType&&r.id===m.conversationId);return a===void 0?void 0:Xt(a)},resolveContactApplicationAnswer:async m=>{let a=s,r=await a.contact.resolveApplicationAnswer(m.peerId,m.messageId);return s===a?r:null}}),P={listFirstPage:m=>s.contact.listFirstPage(m),listNextPage:m=>s.contact.listNextPage(m),getProfile:(m,a)=>s.contact.getProfile(m,a),getRelationship:m=>s.contact.getRelationship(m),setRemark:(m,a)=>s.contact.setRemark(m,a),searchUser:m=>s.contact.searchUser(m),requestFriendship:(m,a)=>s.contact.requestFriendship(m,a),blockUser:m=>s.contact.blockUser(m),reportUser:(m,a)=>s.contact.reportUser(m,a),deleteFriendship:m=>s.contact.deleteFriendship(m)},O={listFirstPage:m=>s.group.listFirstPage(m),listNextPage:m=>s.group.listNextPage(m),uploadAvatar:m=>s.group.uploadAvatar(m),create:m=>s.group.create(m),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(m,a)=>s.group.getProfile(m.conversationId,a),updateName:(m,a)=>s.group.updateName(m.conversationId,a),updateAvatar:async(m,a)=>{await s.group.updateAvatar(m.conversationId,a);},setMyNickname:(m,a)=>s.group.setMyNickname(m.conversationId,a),updateVerification:(m,a,r)=>s.group.updateVerification(m.conversationId,a,r),requestJoin:(m,a)=>s.group.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>s.group.joinByInviteCode(m.conversationId,a),getPinnedMessage:m=>s.group.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>s.group.pinMessage({groupId:m.conversationId,messageId:a}),unpinMessage:m=>s.group.unpinMessage(m.conversationId)},S={listFirstPage:m=>s.channel.listFirstPage(m),listNextPage:m=>s.channel.listNextPage(m),uploadAvatar:m=>s.channel.uploadAvatar(m),create:m=>s.channel.create(m),get mentions(){return s.channel.mentions},getProfile:(m,a)=>s.channel.getProfile(m.conversationId,a),updateVerification:(m,a,r)=>s.channel.updateVerification(m.conversationId,a,r),requestJoin:(m,a)=>s.channel.requestJoin(m.conversationId,a),joinByInviteCode:(m,a)=>s.channel.joinByInviteCode(m.conversationId,a),setAllMuted:(m,a)=>s.channel.setAllMuted(m.conversationId,a),setMemberPrivateChatDisabled:(m,a)=>s.channel.setMemberPrivateChatDisabled(m.conversationId,a),setMyNickname:(m,a)=>s.channel.setMyNickname(m.conversationId,a),setMemberNickname:(m,a,r)=>s.channel.setMemberNickname(m.conversationId,a,r),dismiss:m=>s.channel.dismiss(m.conversationId),getPinnedMessage:m=>s.channel.getPinnedMessage(m.conversationId),pinMessage:(m,a)=>s.channel.pinMessage({channelId:m.conversationId,messageId:a}),unpinMessage:m=>s.channel.unpinMessage(m.conversationId)};async function T(){I||(I=true,await s.teardown({localData:"preserve"}),d.clear());}let g={get session(){return A},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get contacts(){return P},get groups(){return O},get channels(){return S},get events(){return p},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get settings(){return s.settings},get outbox(){return s.outbox},get localData(){return D},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:y,dispose:T};return tr(g,()=>s.advancedMessageDiagnostics),g}var zl=new TextEncoder;function Os(e,n,o){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${o} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function xs(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let o of Object.values(e))xs(o,n);return Object.freeze(e)}function Vl(e){try{let n=structuredClone(e),o=JSON.stringify(n);return o===void 0?void 0:{record:xs(n),estimatedBytes:zl.encode(o).byteLength}}catch{return}}function ql(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 Wl(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&&ql(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 $l(e={}){let n=Os(e.maxRecords,200,"maxRecords"),o=Os(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,i=[],c=0,s=0,I=false;function y(A){let p=i.map(P=>P.record).filter(P=>A===void 0||Wl(P,A));return Object.freeze({records:Object.freeze(p),droppedCount:s,estimatedBytes:c,disposed:I})}function h(){let A=y();for(let p of d)try{p(A);}catch{}}function D(){i.length=0,c=0,s=0;}return {write(A){if(I)return;let p=Vl(A);if(p===void 0||p.estimatedBytes>o){s+=1,h();return}for(i.push(p),c+=p.estimatedBytes;i.length>n||c>o;){let P=i.shift();if(P===void 0)break;c-=P.estimatedBytes,s+=1;}h();},getSnapshot:y,subscribe(A){if(I)return ()=>{};d.add(A);let p=true;return ()=>{p&&(p=false,d.delete(A));}},clear(){I||(D(),h());},dispose(){I||(I=true,D(),d.clear());}}}export{_c as a,vi as b,ue as c,ut as d,si as e,ci as f,Vt as g,qt as h,ui as i,It as j,Gl as k,ym as l,hm as m,$l as n};
|