k2-im 0.1.28 → 0.1.29
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 +87 -11
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +81 -11
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +87 -11
- package/dist/chat-kit.js +1 -1
- package/dist/{chunk-H7AM5DTT.js → chunk-AFLOPH2O.js} +1 -1
- package/dist/{chunk-D2FFU7J5.js → chunk-AULYARAI.js} +1 -1
- package/dist/chunk-BZFBUHDE.js +1 -0
- package/dist/chunk-HZD2QAZB.js +2 -0
- package/dist/chunk-R6BJQWPW.js +1 -0
- package/dist/chunk-TKWU3IO7.js +7 -0
- package/dist/chunk-XICYFDN4.js +2 -0
- package/dist/i18n.d.ts +76 -4
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +166 -13
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +156 -13
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-BIFDS3MH.js +0 -1
- package/dist/chunk-DVQGXZ6S.js +0 -2
- package/dist/chunk-FQJBDSXT.js +0 -7
- package/dist/chunk-O7GQQMEW.js +0 -2
- package/dist/chunk-YUPKU2L7.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {A,Ua,Ra,Ya,Xa,B,o,s,t,v,z,Oa,r,k,l,h,Qa,Pa,d,g,e,a,ca,Q,ja as ja$1,Va as Va$1,u,X,Y,R,W,T,V,S,aa,Ja as Ja$1,pa,ba,Ka as Ka$1,qa,Ca,Da,ya,za as za$1,Ga,Z,b as b$1,Ia as Ia$1,_,$,La as La$1,Ha as Ha$1,U,Fa,Aa,Ba,m,n as n$1,da,f,ua as ua$1,va,Ma as Ma$1,c as c$1,Na as Na$1,w as w$1,ta as ta$1,ra,ka as ka$1,x as x$1,y as y$1,i,p,P,j as j$2,q,ha,ga,fa,ea,ma as ma$1,la as la$1,ia as ia$1,O,K,J,I,H,G,F,N,M,oa,na,L as L$1,E,D,C as C$1,Ea as Ea$1,wa,xa as xa$1,sa as sa$1,Wa as Wa$1}from'./chunk-TKWU3IO7.js';import {b,jb,ta,lb,kb,Ha,hb,fb,gb,eb,Sa,Ta,Ua as Ua$1,Va,ja,ka,la,ma,Ka,La,bb,Ya as Ya$1,Xa as Xa$1,Wa,cb,$a,db,_a,Za,n,x,ab,Ia,za,Na,Ma,Ra as Ra$1,Qa as Qa$1,mb,ib,rb,sa,j as j$1,Ja,v as v$1,w,y,z as z$1,Pa as Pa$1,xa,ya as ya$1,ca as ca$1,aa as aa$1,k as k$1,d as d$1,c,B as B$1,L,ua,Da as Da$1,h as h$1,u as u$1,Ea,t as t$1,r as r$1,Oa as Oa$1,C,A as A$1,ia,da as da$1}from'./chunk-XICYFDN4.js';async function Wd(e){let n=b(e.fromPrefix),t=b(e.toPrefix);n.forAccount(e.accountId),t.forAccount(e.accountId);let c={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:t.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:t};if(c.fromPrefix===c.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(c);}catch(a){try{await e.migrator.rollback(c,a);}catch(d){throw new AggregateError([a,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw a}}var ye=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function ln(e,n,t){return n===39081?new ye({operation:e,kind:"forbidden",code:n,message:t||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new ye({operation:e,kind:"business",code:n,message:t||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function un(e,n){return n instanceof ye?n:n instanceof b$1?new ye({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new ye({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Tt(e,n){let t={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(t)}`}function $d(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 nt(e){let{teaKey:n,fileEncryptType:t,...c}=e;return c}function Jd(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(nt(e.image))},...e.video===void 0?{}:{video:Object.freeze(nt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(nt(e.voice))},...e.file===void 0?{}:{file:Object.freeze(nt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(nt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function _t(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Jd(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:$d(e.reactions)}})}function Nn(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:aa$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function j(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function tt(e,n,t){return j({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:t})}function pn(e,n,t){return j({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:t,cause:e})}async function Ln(e,n){let t=new Uint8Array(await n.arrayBuffer()),c=typeof File<"u"&&n instanceof File?n.name:void 0,d=(await e.uploadAvatar({data:t,...c===void 0?{}:{filename:c},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(d==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return d}var Yd="IM_SDK_GROUP_NOT_MEMBER",Xd="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Qd="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Zd="IM_SDK_GROUP_MANAGEMENT_FAILED";function Zi(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function el(e,n,t){if(Zi(e))return e;let c=e instanceof c$1?e.businessCode:void 0,a=e instanceof ka$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c===39011?Yd:c===39029?Xd:c===39033?Qd:e instanceof c$1?Zd:e instanceof b$1?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof ka$1?"contract":e instanceof b$1?"network":c===39029?"permission":"state",i=j({code:a,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"group",conversationId:t},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function vn(e,n,t){try{return await t()}catch(c){throw el(c,e,n)??c}}var Qi=39005,nl=39057,tl=39061;function es(e){let n=new Map,t=new Map,c=true,a=f=>({conversationType:"group",conversationId:f});function d(f){t.set(f,(t.get(f)??0)+1);}function i(f){if(!c||n.has(f))return;let M=t.get(f)??0,D=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let k=await aa({client:e.coreClient,groupId:f});if(!c||(t.get(f)??0)!==M)return;if(!k.ok){e.emitter.emit({type:"error",error:{scope:"http",code:k.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${k.message}`,cause:{conversationId:f}}});return}if(k.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(v$1(k.data.messageContent,{conversationId:f}),"reconcile");}catch(k){if(!c||(t.get(f)??0)!==M)return;let K=k instanceof h$1||k instanceof u$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:K,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:k}});}})();n.set(f,D),D.finally(()=>{n.get(f)===D&&n.delete(f);});}let u=Ja({domainState:e.domainState,emitter:e.emitter,requestReconcile:i}),C=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let M=f.message.body.system?.pinnedMessageAction;(M?.type==="pin"||M?.type==="unpin")&&d(f.message.conversationId),u.handleMessage(f.message);});function I(f,M){if(M.trim()==="")throw new ye({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getSession(a(M));if(D===void 0)throw new ye({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="group")throw new ye({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function A(f,M){if(e.coreClient===void 0)throw new ye({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return I(f,M),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:M})=>{let D=A("pin",f),k=e.domainState.getConversationMessage(a(f),M);if(k===void 0)throw new ye({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(k.conversationType!=="group")throw new ye({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(k.conversationId!==f)throw new ye({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:K,pinnedMessage:v}=w(k),h=await pa({client:D,groupId:f,messageContent:K});if(!h.ok)throw ln("pin",h.code,h.message);d(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(a(f));if(s===void 0)throw new ye({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(K){throw un("pin",K)}},unpinMessage:async f=>{let M=A("unpin",f);try{let D=await Ja$1({client:M,groupId:f});if(!D.ok)throw ln("unpin",D.code,D.message);d(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(D){throw un("unpin",D)}},getPinnedMessage:async f=>{let M=A("get",f);try{let D=await aa({client:M,groupId:f});if(!D.ok)throw ln("get",D.code,D.message);if(d(f),D.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let k=v$1(D.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(k,"reconcile");let K=e.domainState.getPinnedMessage(a(f));if(K===void 0)throw new ye({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return K}catch(D){throw un("get",D)}},peekPinnedMessage:f=>(I("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{c&&(c=false,C());}}}function ns(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},t=new Map,c=new Map,a=new Map;function d(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function i(o){let p=[],g=new Set;for(let S of o){if(S.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");g.has(S.userId)||(g.add(S.userId),p.push(Object.freeze({userId:S.userId,displayName:S.nickName.trim()===""?S.userId:S.nickName})));}return Object.freeze(p)}async function u(o,p){d(o);let g=e.profile?.listGroupMembers;if(g===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let S=o.conversationId,L=t.get(S);if(!p&&L!==void 0)return L;let N=a.get(S);if(N!==void 0&&(!p||N.refresh))return N.promise;let Y=(c.get(S)??0)+1;c.set(S,Y);let w=Promise.resolve().then(()=>g(S,p?{forceRefresh:true}:void 0)).then(W=>{if(W===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let R=i(W);return c.get(S)===Y&&t.set(S,R),R}).finally(()=>{a.get(S)?.promise===w&&a.delete(S);});return a.set(S,{refresh:p,promise:w}),w}function C(o,p,g,S){let N=j({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...g===void 0?{}:{details:g},...S===void 0?{}:{cause:S}});return Object.assign(new Error(p),N)}function I(o,p,g,S){let L=j({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...g===void 0?{}:{details:g},...S===void 0?{}:{cause:S}});return Object.assign(new Error(p),L)}function A(o){if(o===null||typeof o!="object"||o===void 0)throw I("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw I("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let g=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(g)||g!==1&&g!==2)throw I("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let S=String(p),L=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:S}),activation:g===1?"pending":"active",...L===void 0||L===""?{}:{avatarUrl:L},qrPayload:Tt(S,L)})}function E(o){if(o===void 0)return;let p=typeof o=="number"?o:Number(o);return Number.isSafeInteger(p)?p:void 0}function f(o){if(typeof o=="boolean")return o;if(o===1||o==="1"||o==="true")return true;if(o===0||o==="0"||o==="false")return false}function M(o){if(o===null||typeof o!="object"||o===void 0)throw C("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw C("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let g=String(p),S=o,L=S.name?.trim()??"";if(L==="")throw C("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let N=E(S.total_users),Y=E(S.status),w=E(S.verify_way),W=E(S.update_version),R=f(S.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:g}),name:L,...S.head_img_url?.trim()===""||S.head_img_url===void 0?{}:{avatar:S.head_img_url},...S.user_id===void 0?{}:{ownerId:String(S.user_id)},...N===void 0?{}:{memberCount:N},...Y===void 0?{}:{status:Y},...R===void 0?{}:{isInGroup:R},...w===void 0?{}:{verifyWay:w},...W===void 0?{}:{updateVersion:W},...S.invite_code===void 0?{}:{inviteCode:S.invite_code}}}function D(o){let p=o.name.trim();if(p==="")throw C("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw C("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let g=o.memberIds;if(!Array.isArray(g))throw C("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let S=g.map(N=>typeof N=="string"?N.trim():"");if(S.includes(""))throw C("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let L=[...new Set(S)];if(L.length>40)throw C("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:L}}function k(o,p){let g=o.trim();if(g==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return g}function K(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function v(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=o.map(g=>k(g,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function h(o,p,g){if(o!==1&&o!==2&&o!==4){let L=j({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:g}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),L)}if(o!==4)return {verifyWay:o};let S=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(S)){let L=j({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:g}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),L)}return {verifyWay:o,inviteCode:S}}function s(o){t.delete(o),c.set(o,(c.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>u(o,false),refreshAll:o=>u(o,true)},getProfile:(o,p)=>e.profile?.getGroupProfile(o,p)??Promise.resolve(null),listMembers:(o,p)=>e.profile?.listGroupMembers?.(o,p)??Promise.resolve(null),getMemberNames:(o,p)=>e.profile?.getGroupMemberNames?.(o,p)??Promise.resolve(null),peekMembers:o=>e.profile?.peekGroupMembers?.(o)??Promise.resolve(null),peekMemberNames:o=>e.profile?.peekGroupMemberNames?.(o)??Promise.resolve(null),peekProfile:o=>e.profile?.peekGroupProfile?.(o)??Promise.resolve(null),updateName:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let g=p.trim();if(o===""||g==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await La$1({client:e.coreClient,groupId:o,name:g}),e.domainState.updateConversationProfile(o,{title:g}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let g=await Ln(e.avatarTransfer,p);return await La$1({client:e.coreClient,groupId:o,avatarUrl:g}),e.domainState.updateConversationProfile(o,{avatar:g}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),g},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw C("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Ln(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw C("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.ensureConversation===void 0)throw C("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=D(o);try{let g=await $({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!g.ok){let L=g.code===Qi?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":g.code===nl?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":g.code===tl?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw C(L,g.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:g.code,message:g.message}))}let S=M(g.data);return e.domainState.ensureConversation({id:S.ref.conversationId,type:"group",title:S.name,...S.avatar===void 0?{}:{avatar:S.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:S})}catch(g){throw g!==void 0&&typeof g=="object"&&g!==null&&"code"in g&&String(g.code).startsWith("IM_SDK_")?g:g instanceof b$1?C("IM_SDK_GROUP_CREATE_NETWORK_FAILED",g.message,void 0,g):C("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,g)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw I("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await _({client:e.coreClient});if(!o.ok){let p=o.code===Qi?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw I(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:A(o.data)})}catch(o){throw Zi(o)?o:o instanceof b$1?I("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):I("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ia$1({client:e.coreClient,groupId:o,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,p,g)=>{let S=K(),L=k(o,"\u7FA4 id"),N=h(p,g,L);await vn("groups.updateVerification",L,()=>ia$1({client:S,groupId:L,verifyWay:N.verifyWay,...N.inviteCode===void 0?{}:{inviteCode:N.inviteCode}})),s(L);},requestJoin:async(o,p)=>{let g=K(),S=k(o,"\u7FA4 id"),L=p?.remarks?.trim();return vn("groups.requestJoin",S,()=>la$1({client:g,groupId:S,...L===void 0?{}:{remarks:L}}))},joinByInviteCode:async(o,p)=>{let g=K(),S=k(o,"\u7FA4 id"),L=p.trim();if(!/^\d{6}$/.test(L))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return vn("groups.joinByInviteCode",S,()=>ma$1({client:g,groupId:S,inviteCode:L}))},inviteMembers:async(o,p)=>{let g=K(),S=k(o,"\u7FA4 id"),L=v(p);if(L.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await vn("groups.inviteMembers",S,()=>ea({client:g,groupId:S,userIds:L})),s(S);},removeMember:async(o,p)=>{let g=K(),S=k(o,"\u7FA4 id"),L=k(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await vn("groups.removeMember",S,()=>fa({client:g,groupId:S,userId:L})),s(S);},transferOwnership:async(o,p)=>{let g=K(),S=k(o,"\u7FA4 id"),L=k(p,"\u65B0\u7FA4\u4E3B id");await vn("groups.transferOwnership",S,()=>ga({client:g,groupId:S,userId:L})),s(S);},leave:async(o,p)=>{let g=K();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let S=k(o,"\u7FA4 id"),L=p?.newOwnerId===void 0?void 0:k(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await vn("groups.leave",S,()=>ha({client:g,groupId:S,...L===void 0?{}:{newOwnerId:L}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:S},"group_left"),s(S);},...e.pinned}}var rl="image/jpeg,image/png,image/webp";async function Dt(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),t;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?t="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((a,d)=>n[d]===a)?t="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(t="image/webp");let c=e.type.trim().toLowerCase();return t!==void 0&&(c===""||c==="application/octet-stream"||c===t)}function rs(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 os=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function as(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Mr(e,n){let t=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,a=as();return jb({enabled:t,level:c?.level??"trace",categories:c?.categories??os,...t?{sink:c?.sink??a,fallbackSink:a}:{},getRuntimeContext:n})}var is=[{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 br=Object.freeze(is.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),ss=new Map(br.flatMap(e=>e.tokens.map(n=>[n,e])));function cs(e){return ss.get(e)}function ds(e){return ss.has(e)}function Cn(e){let n=j(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function ls(e,n){return n instanceof Ma$1?Cn({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Na$1?Cn({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof c$1?Cn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Cn({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function rt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function Sr(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="";for(let c=0;c<e.length;c+=3){let a=e[c]??0,d=e[c+1]??0,i=e[c+2]??0,u=a<<16|d<<8|i;t+=n.charAt(u>>>18&63),t+=n.charAt(u>>>12&63),t+=c+1<e.length?n.charAt(u>>>6&63):"=",t+=c+2<e.length?n.charAt(u&63):"=";}return t}function kt(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":case "mediaAlbum":return e.contentType;default:return null}}function Pr(e){let n=kt(e);if(n==="text"){let t=(e.body.text??"").trim();return t===""?null:{content:t}}if(n==="image"){let t=rt(e.body.image?.url),c=Sr(e.body.image?.thumbData);return t===""||c===""?null:{content:t,imageURL:t,thumbData:c,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let t=rt(e.body.video?.url),c=Sr(e.body.video?.thumbData);return t===""||c===""?null:{content:t,videoURL:t,thumbData:c,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let t=rt(e.body.voice?.url);return t===""?null:{content:t,voiceURL:t,duration:e.body.voice?.durationMs??0}}if(n==="file"){let t=rt(e.body.file?.url),c=(e.body.file?.fileName??"").trim();return t===""||c===""?null:{content:c,fileURL:t,fileName:c,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let t=e.body.mediaAlbum;if(t===void 0||t.items.length===0)return null;let c=t.items.map(a=>({mediaType:a.kind==="video"?2:1,url:rt(a.url),width:a.width,height:a.height,...a.durationMs!==void 0&&a.durationMs>0?{duration:a.durationMs}:{},...a.thumbUrl!==void 0&&a.thumbUrl!==""?{thumbUrl:a.thumbUrl}:{},...a.thumbData!==void 0&&a.thumbData.length>0?{thumbData:Sr(a.thumbData)}:{},...a.md5!==void 0&&a.md5!==""?{md5:a.md5}:{},...a.size!==void 0&&a.size>0?{fileSize:a.size}:{},...a.hd!==void 0?{hd:a.hd}:{}}));return c.some(a=>a.url==="")?null:{contentType:"28",items:c,...t.caption!==void 0&&t.caption.trim()!==""?{caption:t.caption}:{}}}return null}function al(e,n,t){return e.senderId.trim()===n.trim()?t:n.trim()}function us(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function gs(e){function n(a){if(!e.isActive())throw Cn({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function t(a,d){if(n(a),e.provider===void 0)throw ls(a,new Ma$1);let i;try{i=await d(e.provider);}catch(u){throw n(a),ls(a,u)}return n(a),i}return {api:{list:async()=>{let a=await t("sessionFavorites.list",d=>d.list());return Object.freeze(a.map(us))},addFromMessage:async a=>{let d="sessionFavorites.addFromMessage",i=kt(a.message),u=Pr(a.message),C=a.selfId.trim(),I=a.message.id.trim();if(i===null||u===null||C===""||I==="")throw Cn({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let A={messageId:I,conversation:a.conversation,senderId:a.message.senderId.trim(),createdAt:a.message.createdAt,kind:i,plainBody:u,peerId:al(a.message,C,a.conversation.conversationId)},E=await t(d,f=>f.add(A));return us(E)},delete:async a=>{let d="sessionFavorites.delete",i=[...new Set(a.map(u=>u.trim()).filter(u=>u!==""))];if(i.length===0)throw Cn({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await t(d,u=>u.delete(i));}}}}var Is="settings:read-receipts:v1",ys="settings:appearance:v1",xt=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function rn(e){return j({...e,retryable:e.retryable??false})}function Rr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function wr(){return {fontScale:1}}function Ar(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function il(e){if(typeof e!="object"||e===null)return Rr();let n=e,t=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[c,a]of Object.entries(n.peerOverrides))c.trim()!==""&&typeof a=="boolean"&&(t[c]=a);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:t}}function sl(e){if(typeof e!="object"||e===null)return wr();let n=e.fontScale;return {fontScale:hs(n)?n:1}}function hs(e){return typeof e=="number"&&xt.includes(e)}function Er(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw rn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Ot(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw rn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function vs(e){let n=false,t=false,c=false,a,d,i=Rr(),u=Promise.resolve(),C=false,I,A=wr(),E=Promise.resolve();function f(p){return rn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function M(p){if(n)throw f(p)}async function D(p,g){if(M(g),t)return;let S;try{S=Ot(e.storage,g);}catch(L){if(!p)return;throw L}try{let L=await S.getMeta(Is);M(g),i=il(L),t=!0,c=!1;}catch(L){throw n?f(g):(c=true,rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:g,cause:L}))}}function k(p){return M(p),t?Promise.resolve():(a===void 0&&(a=D(true,p).finally(()=>{a=void 0;})),a)}async function K(p){if(M(p),!C)try{let g=await Ot(e.storage,p).getMeta(ys);M(p),A=sl(g),C=!0;}catch(g){throw n?f(p):typeof g=="object"&&g!==null&&"code"in g?g:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:g})}}function v(p){return M(p),C?Promise.resolve():(I===void 0&&(I=K(p).finally(()=>{I=void 0;})),I)}async function h(p,g,S){M(p);let L=u.then(async()=>{M(p),await k(p),M(p);let N=Ar(i),Y=g(Ar(i));try{await Ot(e.storage,p).setMeta(Is,Ar(Y));}catch(w){throw n?f(p):typeof w=="object"&&w!==null&&"code"in w?w:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:w})}M(p),i=Y,S?.(N,Y);});return u=L.catch(()=>{}),L}let s={async getGlobal(){let p="settings.readReceipts.getGlobal";return M(p),await k(p),M(p),i.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(rn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):h("settings.readReceipts.setGlobal",g=>({...g,globalEnabled:p}),(g,S)=>{g.globalEnabled&&!S.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let g="settings.readReceipts.getConversation";M(g);let S=Er(p,g);await k(g),M(g);let L=i.peerOverrides[S.conversationId]??true;return Object.freeze({enabled:L,effectiveEnabled:i.globalEnabled&&L})},setConversation(p,g){let S="settings.readReceipts.setConversation",L;try{L=Er(p,S);}catch(N){return Promise.reject(N)}return typeof g!="boolean"?Promise.reject(rn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:S,conversation:L})):h(S,N=>(N.peerOverrides[L.conversationId]=g,N),(N,Y)=>{let w=L.conversationId,W=N.globalEnabled&&(N.peerOverrides[w]??true),R=Y.globalEnabled&&(Y.peerOverrides[w]??true);W&&!R&&e.onDirectReadReceiptDisabled?.(w);})},resetConversation(p){let g="settings.readReceipts.resetConversation",S;try{S=Er(p,g);}catch(L){return Promise.reject(L)}return h(g,L=>(delete L.peerOverrides[S.conversationId],L))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await v(p),M(p),A.fontScale},set(p){let g="settings.appearance.fontScale.set";if(!hs(p))return Promise.reject(rn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:g,details:{supportedValues:[...xt]}}));let S=E.then(async()=>{M(g),await v(g),M(g);let L={fontScale:p};try{await Ot(e.storage,g).setMeta(ys,L);}catch(N){throw n?f(g):typeof N=="object"&&N!==null&&"code"in N?N:rn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:g,cause:N})}M(g),A=L;});return E=S.catch(()=>{}),S}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){M("settings.readReceipts.hydrate"),!t&&(a===void 0&&(a=D(false,"settings.readReceipts.hydrate").finally(()=>{a=void 0;})),await a);},isDirectReadReceiptEnabled(p){return !n&&!c&&i.globalEnabled&&(i.peerOverrides[p]??true)},dispose(){if(d!==void 0)return d;n=true,i=Rr(),A=wr();let p=a,g=u,S=I,L=E;return d=Promise.allSettled([...p===void 0?[]:[p],g,...S===void 0?[]:[S],L]).then(()=>{}),d}}}var We=Object.freeze({availability:"available",reason:"ok"});function $e(e){return Object.freeze({availability:"unavailable",reason:e})}function De(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Nt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ot(e){return `${e.conversationType}:${e.conversationId}`}function cl(){return Object.freeze({sendMessages:false})}function dl(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function ll(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 ul(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 pl(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let t=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(t===null)return;let c=Number(t[1]),a=Number(t[2]),d=Number(t[3]),i=Number(t[4]);if(c>23||d>23||a>59||i>59)return;let u=new Date(n);u.setHours(c,a,0,0);let C=new Date(n);if(C.setHours(d,i,59,999),u.getTime()<=n&&n<=C.getTime())return C.getTime()+1;if(n<u.getTime())return u.getTime();let I=u;return I.setDate(I.getDate()+1),I.getTime()}function Fn(e,n,t){let c=n.get(ot(e));if(c!==void 0)for(let a of [...c])a(t);}function Cs(e){let n=new Map,t=new Map,c=new Map,a=new Map,d=new Map,i=new Map,u,C=new Set,I=e.getSessionUserId(),A=0;function E(N){N.conversationType==="direct"?n.delete(N.conversationId):N.conversationType==="group"?t.delete(N.conversationId):c.delete(N.conversationId);}function f(){n.clear(),t.clear(),c.clear(),i.clear(),C=new Set;}function M(){let N=e.getSessionUserId();return N!==I&&(I=N,f()),N}function D(N){M();let Y=++A;return i.set(ot(N),Y),Y}function k(N,Y){return M(),i.get(ot(N))===Y}function K(N,Y={}){M();let w=Y.nowMs??Date.now(),W=e.getConversation(N);if(N.conversationType==="direct"){let oe=Nt({conversationType:"direct",conversationId:N.conversationId}),de=n.get(N.conversationId),J=de?.relationship??"unknown",ge=dl(J),ce=ge==="ok"?We:ge==="relationship-unknown"?De(ge):$e(ge),Me=J==="friend"?We:J==="unknown"?De(ge):$e(ge);return Object.freeze({ref:oe,conversationType:"direct",evaluatedAt:w,value:Object.freeze({relationship:J,...de===void 0?{}:{relationshipCheckedAt:de.checkedAt},canSendMessages:ce,canOpenProfile:We,canUseMessageActions:ce,canManageRelationship:Me})})}if(N.conversationType==="group"){let oe=Nt({conversationType:"group",conversationId:N.conversationId}),de=t.get(N.conversationId),J=W?.ref.conversationType==="group"?W.groupState??"active":"unknown",ge=ll(J),ce=ge==="ok",Me=e.getSessionUserId(),Pe=de?.ownerId,be=Me!==void 0&&Pe!==void 0&&Me===Pe,Te=ce?We:$e(ge),je=ce?de===void 0?De("not-ready"):be?We:$e("role-insufficient"):$e(ge);return Object.freeze({ref:oe,conversationType:"group",evaluatedAt:w,value:Object.freeze({membership:J,...Pe===void 0?{}:{ownerId:Pe},isOwner:be,canSendMessages:Te,canOpenProfile:Te,canReadHistory:We,canUseMessageActions:Te,canViewMembers:Te,canEditProfile:je,canInviteMembers:Te,canManageMembers:je,canPinMessages:je,canUnpinMessages:je,canTransferOwnership:je,canLeave:Te,canUpdateVerification:je})})}let R=Nt({conversationType:"channel",conversationId:N.conversationId}),$=c.get(N.conversationId),ee=W?.ref.conversationType==="channel"&&W.channelState!==void 0?W.channelState:$?.state;if(ee===void 0)return Object.freeze({ref:R,conversationType:"channel",evaluatedAt:w,value:Object.freeze({state:"unknown",role:$?.role??"unknown",permissions:cl(),canSendMessages:De("unknown-restricted"),canOpenProfile:De("unknown-restricted"),canReadHistory:We,canUseMessageActions:De("unknown-restricted"),canMutateMessages:De("unknown-restricted"),canPinMessages:De("unknown-restricted"),canUnpinMessages:De("unknown-restricted"),canDeleteMessagesForEveryone:De("unknown-restricted"),canMentionAll:De("unknown-restricted"),canViewMembers:De("unknown-restricted"),canEditProfile:De("unknown-restricted"),canManageMembers:De("unknown-restricted"),canManageMute:De("unknown-restricted"),canDismiss:De("unknown-restricted"),canTransferOwnership:De("unknown-restricted"),canLeave:De("unknown-restricted"),canInviteMembers:De("unknown-restricted"),canSetMemberAdmin:De("unknown-restricted"),canRemoveMembers:De("unknown-restricted"),canSetMemberPrivateChat:De("unknown-restricted")})});let q=ya$1({channelState:ee,nowMs:w,...W?.ref.conversationType==="channel"&&W.channelAccessSnapshot!==void 0?{snapshot:W.channelAccessSnapshot}:{},...W?.ref.conversationType==="channel"&&W.channelPermissions!==void 0?{permissions:W.channelPermissions}:$?.permissions===void 0?{}:{permissions:$.permissions}}),ae=ul(q.channelState,q.muteReason),ie=q.channelState==="active"||q.channelState==="muted",O=q.channelState==="active"?q.permissions.sendMessages?We:$e("unknown-restricted"):$e(ae),U=oe=>ie&&oe?We:$e(ie?"role-insufficient":ae),P=oe=>q.channelState==="active"&&oe?We:$e(q.channelState==="muted"?ae:ie?"role-insufficient":ae),T=$?.memberPrivateChatDisabled===false||q.permissions.manageMembers===true,F=ie?$===void 0&&q.permissions.manageMembers!==true?De("not-ready"):U(T):$e(ae),G=q.channelState==="muted"?$e(ae):ie?We:$e(ae),H=pl(W,w);return Object.freeze({ref:R,conversationType:"channel",evaluatedAt:w,...H===void 0?{}:{nextEvaluationAt:H},value:Object.freeze({state:q.channelState,role:$?.role??W?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...q.permissions}),...q.muteReason===void 0?{}:{muteReason:q.muteReason},canSendMessages:O,canOpenProfile:ie?We:$e(ae),canReadHistory:We,canUseMessageActions:ie?We:$e(ae),canMutateMessages:G,canPinMessages:P(q.permissions.moderateMessages===true),canUnpinMessages:P(q.permissions.moderateMessages===true),canDeleteMessagesForEveryone:P(q.permissions.moderateMessages===true),canMentionAll:U(q.permissions.mentionAll===true),canViewMembers:F,canEditProfile:U(q.permissions.editProfile===true),canManageMembers:U(q.permissions.manageMembers===true),canManageMute:U(q.permissions.manageMute===true),canDismiss:U(q.permissions.dismissChannel===true),canTransferOwnership:U(q.permissions.transferOwnership===true),canLeave:ie?We:$e(ae),canInviteMembers:U(q.permissions.manageMembers===true),canSetMemberAdmin:U(q.permissions.manageAdmins===true),canRemoveMembers:U(q.permissions.manageMembers===true),canSetMemberPrivateChat:U(q.permissions.manageMute===true)})})}async function v(N,Y={}){let w=D(N);if(N.conversationType==="direct"){let W=await e.getRelationship(N.conversationId);k(N,w)&&h(N.conversationId,W,w);}else if(N.conversationType==="group"){let W={conversationType:"group",conversationId:N.conversationId},R=await e.getGroupProfile(W,{forceRefresh:true});k(N,w)&&s(W,R,w);}else {let W={conversationType:"channel",conversationId:N.conversationId},R=await e.getChannelProfile(W,{forceRefresh:true});k(N,w)&&o(W,R,w);}return K(N,Y)}function h(N,Y,w){let W={conversationType:"direct",conversationId:N};k(W,w)&&(n.set(N,{relationship:Y,checkedAt:Date.now()}),Fn(W,a,K(W)));}function s(N,Y,w){k(N,w)&&(t.set(N.conversationId,Y),Fn(N,a,K(N)));}function o(N,Y,w){k(N,w)&&(c.set(N.conversationId,Y),Fn(N,a,K(N)));}function p(N,Y,w={}){M();let W=ot(N),R=a.get(W)??new Set;return R.add(Y),a.set(W,R),d.set(W,Nt(N)),Y(K(N,w)),u===void 0&&(u=e.subscribeConversations($=>{M();let ee=Date.now(),q=new Set($.map(ae=>ot(ae.ref)));for(let ae of $){let ie=K(ae.ref,{nowMs:ee});Fn(ae.ref,a,ie);}for(let[ae,ie]of d){if(!C.has(ae)||q.has(ae))continue;E(ie);let O=K(ie,{nowMs:ee});Fn(ie,a,O);}C=q;})),()=>{R.delete(Y),R.size===0&&a.delete(W),a.has(W)||d.delete(W),a.size===0&&(u?.(),u=void 0,C=new Set);}}function g(){f();let N=Date.now();for(let Y of d.values())Fn(Y,a,K(Y,{nowMs:N}));}function S(){u?.(),u=void 0,a.clear(),d.clear(),f();}let L=Object.freeze({get:K,refresh:v,subscribe:p});return Object.freeze({...L,api:L,beginProjectionUpdate:D,updateRelationshipProjection:h,updateGroupProfileProjection:s,updateChannelProfileProjection:o,reset:g,dispose:S})}var ml=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function on(e,n){let t=e?.conversationType,c=e?.conversationId;if(t==="supergroup")throw j({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof c!="string"||c.trim()==="")throw j({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:t,conversationId:c})}function fl(e){return e===null?null:Object.freeze({ref:on(e.ref,"conversations.list"),text:e.text,mentions:Object.freeze(e.mentions.map(n=>Object.freeze({...n}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function gl(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="mediaAlbum")return Object.freeze({kind:"mediaAlbum",imageCount:e.imageCount,videoCount:e.videoCount,...e.caption===void 0?{}:{caption:e.caption},...e.firstItemKind===void 0?{}:{firstItemKind:e.firstItemKind}});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}return Object.freeze({kind:e.kind})}}function Tr(e){let n=gl(e.lastMessageSummary),t=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),c=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),a=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:on({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...t===void 0?{}:{lastMessageMention:t},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&c!==void 0?{channelPermissions:c}:{},...e.type==="channel"&&a!==void 0?{channelAccessSnapshot:a}:{},draft:fl(e.draft)})}function Il(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Mn(e,n,t,c){return Il(e)?e:j({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:t,...c===void 0?{}:{conversation:c},cause:e})}function Ms(e){let n=new Set,t,c,a;function d(){return Object.freeze(e.getCompatibilityApi().list().map(Tr))}function i(){let E=e.getSessionState();return E==="preparing"?"loading":E==="ready"?"ready":"idle"}function u(){try{let E=d();return Object.freeze({state:c??i(),items:E,totalUnread:e.getCompatibilityApi().getTotalUnread(),...a===void 0?{}:{error:Object.freeze(a)}})}catch(E){let f=Mn(E,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function C(){let E=u();for(let f of [...n])f(E);}function I(E){return n.add(E),E(u()),t===void 0&&(t=e.subscribeEvents(f=>{ml.has(f.type)&&C();})),()=>{n.delete(E),n.size===0&&(t?.(),t=void 0);}}return {api:{list:d,getBackground:E=>e.getCompatibilityApi().getBackground(on(E,"conversations.getBackground")),setBackground:(E,f)=>e.getCompatibilityApi().setBackground(on(E,"conversations.setBackground"),f),resetBackground:E=>e.getCompatibilityApi().resetBackground(on(E,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:E=>e.getCompatibilityApi().setDefaultBackground(E),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:E=>e.getCompatibilityApi().listBackgroundPresets(E),getSnapshot:u,subscribe:I,async refresh(){c="loading",a=void 0,C();try{await e.getCompatibilityApi().sync(),c=void 0,C();}catch(E){throw c="error",a=Mn(E,"conversations.refresh",true),C(),a}},getTotalUnread(E){return d(),e.getCompatibilityApi().getTotalUnread(E)},setPinned(E,f){let M=on(E,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(M,f);}catch(D){throw Mn(D,"conversations.setPinned",false,M)}},async setMuted(E,f){let M=on(E,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(M,f);}catch(D){throw Mn(D,"conversations.setMuted",true,M)}},async markRead(E){let f=on(E,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(M){throw Mn(M,"conversations.markRead",true,f)}},markUnread(E){let f=on(E,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(M){throw Mn(M,"conversations.markUnread",false,f)}},deleteLocal(E){let f=on(E,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(M){throw Mn(M,"conversations.deleteLocal",false,f)}}},dispose(){t?.(),t=void 0,n.clear();}}}var yl=128,hl=8,vl=64*1024*1024,Cl=3,Lt=1024*1024;function Ml(e){let n=0,t=false,c=[];function a(){if(!t)for(;n<e&&c.length>0;){let d=c.shift();if(d.signal.removeEventListener("abort",d.onAbort),d.signal.aborted){d.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let i=false;d.resolve(()=>{i||(i=true,n=Math.max(0,n-1),a());});}}return {acquire(d){return t?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((i,u)=>{let C={resolve:i,reject:u,signal:d,onAbort:()=>{let I=c.indexOf(C);I>=0&&c.splice(I,1),u(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",C.onAbort,{once:true}),c.push(C),a();})},dispose(){t=true;for(let d of c.splice(0))d.signal.removeEventListener("abort",d.onAbort),d.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function bs(){return ta([{kind:"image",softMaxBytes:512*Lt,maxEntries:512,maxEntryBytes:30*Lt},{kind:"video",softMaxBytes:1792*Lt,maxEntries:64,maxEntryBytes:200*Lt}])}function Ss(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function bl(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Ft(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function _r(e,n,t,c){let a=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(t)}`;return c===void 0?a:`${a}:${c}`}function Dr(e){let n=e.ref.conversationType,t=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||t.trim()==="")throw ke({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let c=Ft({conversationType:n,conversationId:t});return Ps({id:_r(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:Ss(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:Sl(e.failure,c)}})}function ke(e){let n=j(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Sl(e,n){if(e===void 0)return;let t=e.displayCode,a=t===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[t];return Object.freeze(j({...a??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function Ps(e){return Object.freeze({...e,ref:Ft(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function Pl(e){let n=e?.conversation,t=n?.conversationType,c=n?.conversationId;if(t==="supergroup")throw ke({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof c!="string"||c.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw ke({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Ft({conversationType:t,conversationId:c})}function As(e){let n=true,t=0,c=0,a=new Map,d=new Set,i=new Map,u=new Map,C=new Map,I=Ml(Cl),A=e.maxCachedBlobs??hl,E=e.maxCachedBlobBytes??vl,f=0;function M(){if(!n||!e.isActive())throw ke({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function D(){return Object.freeze([...a.values()])}function k(){let O=D();for(let U of [...d])try{U(O);}catch(P){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:P}});}}function K(O){let U=C.get(O);U!==void 0&&(f-=U.size,C.delete(O));}function v(O){a.delete(O),i.delete(O),K(O);}function h(){for(;a.size>yl;){let O=[...a.values()].find(U=>U.state==="completed"||U.state==="failed"||U.state==="canceled");if(O===void 0)return;v(O.id);}}function s(O){a.set(O.id,Ps(O)),h();}function o(O){if(!n||!e.isActive())return;s(O);let U=a.get(O.id);if(k(),!n||!e.isActive()||U===void 0||a.get(O.id)!==U)return;let P={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:P});}function p(O,U){if(K(O),!(U.size>E))for(C.set(O,U),f+=U.size;C.size>A||f>E;){let P=C.keys().next().value;if(P===void 0)break;K(P);}}function g(O,U=true){let P=Pl(O),T=e.domainState.getConversationMessage(P,O.messageId);if(T===void 0)throw ke({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:P});let F,G,H,oe;if(T.contentType==="image")F=T.body.image,G=e.loaders?.loadImage,oe="image";else if(T.contentType==="video")F=T.body.video,G=e.loaders?.loadVideo,oe="video";else if(T.contentType==="voice")F=T.body.voice,G=e.loaders?.loadVoice;else if(T.contentType==="file")F=T.body.file,G=e.loaders?.loadFile,H=T.body.file?.mimeType;else if(T.contentType==="mediaAlbum"){let de=T.body.mediaAlbum?.items,J=O.itemIndex,ge=J===void 0||de===void 0?void 0:de[J];if(ge===void 0)throw ke({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:P});F=ge,G=ge.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,oe=ge.kind;}if(T.contentType!=="mediaAlbum"&&O.itemIndex!==void 0)throw ke({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:P});if(F===void 0)throw ke({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:P});if(U&&G===void 0)throw ke({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:P});if(F.url.trim()===""||F.url.startsWith("blob:"))throw ke({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:P});return {ref:P,messageId:T.id,...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex},...H===void 0?{}:{mimeType:H},...oe===void 0?{}:{cacheKind:oe,resourceVersion:ua(F.url)},...G===void 0?{}:{load:G},input:{url:F.url,...F.size===void 0?{}:{expectedBytes:F.size},...F.teaKey===void 0?{}:{teaKey:F.teaKey},...F.fileEncryptType===void 0?{}:{fileEncryptType:F.fileEncryptType}}}}function S(O){return ke({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:O})}function L(){return ke({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function N(O,U,P=t){if(M(),P!==t)return null;let T=_r("download",O.ref,O.messageId,O.itemIndex),F=C.get(T);if(F!==void 0)return C.delete(T),C.set(T,F),F;if(e.assetCache===void 0||O.cacheKind===void 0||O.resourceVersion===void 0)return null;let G;try{G=await e.assetCache.get({kind:O.cacheKind,messageId:O.messageId,resourceVersion:O.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:G===null?"miss":"hit",kind:O.cacheKind,messageId:O.messageId,...G===null?{}:{byteLength:G.blob.size}});}catch(J){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:O.cacheKind,messageId:O.messageId,cause:J}),U)throw ke({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:O.ref});return null}if(G===null||(M(),P!==t))return null;let H=G.blob,oe=G.mimeType??O.mimeType??"",de=H.type===oe?H:H.slice(0,H.size,oe);return p(T,de),de}function Y(O,U=false){let P=t,T=_r("download",O.ref,O.messageId,O.itemIndex),F=u.get(T);if(F!==void 0)return F.promise;if(!U){let J=C.get(T);if(J!==void 0)return C.delete(T),C.set(T,J),Promise.resolve(J)}K(T);let G=Ft(O.ref);i.set(T,Object.freeze({conversation:G,messageId:O.messageId,...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex}}));let H={id:T,messageId:O.messageId,ref:G,direction:"download",...O.itemIndex===void 0?{}:{itemIndex:O.itemIndex}},oe=new AbortController,de=Promise.resolve().then(async()=>{let J;try{if(!n||!e.isActive())throw L();if(oe.signal.aborted)throw S(G);if(J=await I.acquire(oe.signal),!n||!e.isActive())throw L();if(oe.signal.aborted)throw S(G);if(o({...H,state:"running",percent:0}),!n||!e.isActive())throw L();if(oe.signal.aborted)throw S(G);if(!U&&e.assetCache!==void 0&&O.cacheKind!==void 0&&O.resourceVersion!==void 0){let be=await N(O,!1,P);if(be!==null){if(oe.signal.aborted)throw S(G);return o({...H,state:"completed",percent:100}),be}}let ge=O.load;if(ge===void 0)throw ke({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:G});let ce=await ge({...O.input,signal:oe.signal,onProgress:be=>{let Te=a.get(T);if(!n||!e.isActive()||oe.signal.aborted||u.get(T)?.controller!==oe||Te?.state!=="running")return;let je=Math.min(99,Ss(be));je<=Te.percent||o({...H,state:"running",percent:je});}});if(!n||!e.isActive())throw L();if(oe.signal.aborted)throw S(G);let Me=ce instanceof Blob?void 0:ce,Pe=Me===void 0?ce:new Blob([Me],O.mimeType===void 0?void 0:{type:O.mimeType});if(O.mimeType!==void 0&&Pe.type!==O.mimeType&&(Pe=Pe.slice(0,Pe.size,O.mimeType)),P===t&&p(T,Pe),P===t&&e.assetCache!==void 0&&O.cacheKind!==void 0&&O.resourceVersion!==void 0){let be=Pe.size;e.assetCache.put({kind:O.cacheKind,messageId:O.messageId,resourceVersion:O.resourceVersion,blob:Pe,...O.mimeType===void 0?{}:{mimeType:O.mimeType}}).then(Te=>{e.onAssetCacheEvent?.({operation:"put",outcome:Te,kind:O.cacheKind,messageId:O.messageId,byteLength:be});}).catch(Te=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:O.cacheKind,messageId:O.messageId,byteLength:be,cause:Te});});}if(o({...H,state:"completed",percent:100}),!n||!e.isActive())throw L();return Pe}catch(ge){if(!n||!e.isActive())throw L();if(oe.signal.aborted||typeof ge=="object"&&ge!==null&&"code"in ge&&ge.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Me=S(G);throw a.get(T)?.state!=="canceled"&&o({...H,state:"canceled",percent:a.get(T)?.percent??0,error:Me}),Me}let ce=ke({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:G});throw o({...H,state:"failed",percent:a.get(T)?.percent??0,error:ce}),ce}finally{J?.(),u.get(T)?.controller===oe&&u.delete(T);}});return u.set(T,{controller:oe,promise:de}),o({...H,state:"queued",percent:0}),de}function w(O){try{return M(),Y(g(O))}catch(U){return Promise.reject(U)}}async function W(O){let U=g(O,false);return U.cacheKind===void 0?null:await N(U,true)}async function R(O){if(M(),e.preparePreview===void 0)throw ke({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let U;try{U=await e.preparePreview({operationId:`media.prepareLocalPreview:${++c}`,kind:O.kind,file:O.file,...O.signal===void 0?{}:{signal:O.signal}});}catch(T){if(O.signal?.aborted===true||T instanceof Error&&T.name==="AbortError")throw T;return e.onLocalPreviewError?.({kind:O.kind,byteLength:O.file.size,cause:T}),null}return M(),!Number.isFinite(U.width)||!Number.isFinite(U.height)||U.width<=0||U.height<=0?(e.onLocalPreviewError?.({kind:O.kind,byteLength:O.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${U.width}\xD7${U.height}`)}),null):O.kind==="video"?{width:U.width,height:U.height,...U.duration===void 0?{}:{duration:U.duration},...U.posterData===void 0?{}:{posterData:U.posterData}}:{width:U.width,height:U.height}}async function $(O){if(M(),O.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw ke({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let U;try{U=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++c}`,kind:"video",file:O.file,...O.signal===void 0?{}:{signal:O.signal}});}catch(P){if(O.signal?.throwIfAborted(),P instanceof Error&&P.name==="AbortError")throw P;return M(),e.onLocalPreviewError?.({kind:"video",byteLength:O.file.size,cause:P}),null}return O.signal?.throwIfAborted(),M(),!Number.isFinite(U.width)||!Number.isFinite(U.height)||U.width<=0||U.height<=0||!U.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:O.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([U.posterData],{type:"image/jpeg"})}function ee(O,U){M();let P=a.get(O);if(P===void 0)throw ke({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:U,retryable:false});return P}function q(O,U){return ke({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:U,retryable:false,conversation:O.ref,details:Object.freeze({state:O.state,direction:O.direction})})}let ae=e.emitter.subscribe(O=>{!n||O.type!=="media-task:updated"||O.task.direction!=="upload"||bl(O.conversation,O.task.ref)&&(s(Dr(O.task)),k());});return {api:{getSnapshot(){return M(),D()},subscribe(O){return M(),d.add(O),()=>d.delete(O)},async cancel(O){let U=ee(O,"media.cancel");if(U.state!=="queued"&&U.state!=="running")throw q(U,"media.cancel");if(U.direction==="upload"){if(!e.connection.cancelMediaUpload(U.messageId))throw ke({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:U.ref});return}let P=u.get(O);if(P===void 0)throw q(U,"media.cancel");P.controller.abort();let T=S(U.ref);o({...U,state:"canceled",error:T});},async retry(O){let U=ee(O,"media.retry");if(U.state!=="failed"&&U.state!=="canceled")throw q(U,"media.retry");if(U.direction==="upload"){if(!e.connection.retryMediaUpload(U.messageId))throw ke({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:U.ref});return}if(u.has(O))throw ke({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:U.ref});let P=i.get(O);if(P===void 0)throw ke({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await Y(g(P),true);},download:w,getCached:W,prepareLocalPreview:R,prepareLocalVideoPoster:$},clearCache(){t+=1,C.clear(),f=0;},dispose(){if(n){n=false,t+=1,ae();for(let O of u.values())O.controller.abort();I.dispose(),u.clear(),d.clear(),a.clear(),i.clear(),C.clear(),f=0;}}}}var Al={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"}},El={"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 Es(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rl(e,n){let t=Al[e.reason];return Object.freeze(j({...t,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function kr(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Rl(e.failure,n)}})}function wl(e){let n=Es(e);return kr({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 Tl(e,n,t){let c=j({code:El[n],category:"state",operation:e,retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({reason:n})});return Object.assign(new Error(c.code),c,{name:"ImOutboxOperationError"})}function Rs(e){let n=true,t=new Set;function c(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function a(){return c(),Object.freeze(e.operations.getPending().map(wl))}async function d(u,C){c();let I=e.operations.getPending().find(E=>E.id===C),A=u==="outbox.retry"?e.operations.retry(C):e.operations.cancel(C);if(!A.accepted)throw Tl(u,A.reason,I===void 0?void 0:Es(I))}return {api:{getSnapshot:a,subscribe(u){c();let C=e.emitter.subscribe(A=>{A.type==="outbox:updated"&&n&&u(a());}),I=()=>{C(),t.delete(I);};return t.add(I),I},retry:u=>d("outbox.retry",u),cancel:u=>d("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...t])u();}}}}function _l(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Kt(e){return Object.freeze({type:"error",error:Object.freeze(j(e))})}function Ue(e){throw j(e)}function pe(e,n,t){return (typeof e!="string"||e.trim()==="")&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({field:n})}),e}function Ee(e,n){let t=e,c=t?.conversationType,a=t?.conversationId;return c==="supergroup"&&Ue({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof a=="string"?a:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"||typeof a!="string"||a.trim()==="")&&Ue({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:c,conversationId:a})}function Dl(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function at(e,n){let t=Ee(e,n);return t.conversationType!=="direct"&&Ue({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:t.conversationId})}function Kn(e,n){let t=Ee(e,n);return t.conversationType!=="group"&&Ue({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"group",conversationId:t.conversationId})}function bn(e,n,t){Dl(e,n)||Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:t})});}function kl(e){return Object.freeze({...e})}function Ol(e,n){return bn(Ee(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(t=>Object.freeze({...t}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function xl(e){let n=pe(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let t=Ee(e.conversation,"application:updated");t.conversationType!=="group"&&Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let c=Object.freeze({conversationType:"group",conversationId:t.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:c})}if(e.domain==="channel"){let t=Ee(e.conversation,"application:updated");t.conversationType!=="channel"&&Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let c=Object.freeze({conversationType:"channel",conversationId:t.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:c})}return Ue({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Nl(e){return Object.freeze({ref:xl(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Ll(e){let n={token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}},t=e.lastLoginTime;return Object.freeze(t===void 0||!Number.isFinite(t)||t<=0?n[e.reason]:{...n[e.reason],lastLoginTime:t})}function Fl(e){return Object.freeze(j({...{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 Kl(e,n){if(_l(e)){let{cause:t,...c}=e;return Kt(c)}return Kt({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Ul(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:kl(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let t=Ee(e.conversation,e.type);return bn(Ee({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),t,e.type),e.source!=="offline"&&e.source!=="live"&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:t,message:Object.freeze(Nn(e.message)),source:e.source})}case "message:removed":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,messageId:pe(e.messageId,"messageId",t),scope:"local-only"})}case "conversation-history:cleared":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,scope:"local-only"})}case "media:progress":{let t=Ee(e.conversation,e.type),c=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:t,messageId:pe(e.messageId,"messageId",t),percent:c})}case "media-task:updated":{let t=Ee(e.conversation,e.type);bn(Ee(e.task.ref,e.type),t,e.type);let c=Dr(e.task);return Object.freeze({type:e.type,ref:t,task:c})}case "session:updated":{let t=Ee(e.conversation,e.type);bn(Ee({conversationType:e.session.type,conversationId:e.session.id},e.type),t,e.type);let c=n.getConversation(t);return c===void 0&&Ue({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:t}),bn(c.ref,t,e.type),Object.freeze({type:e.type,ref:t,conversation:c})}case "session:removed":{let t=Ee(e.conversation,e.type);return e.conversationId!==t.conversationId&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t})}case "pinned-message:updated":{let t=Ee(e.conversation,e.type);t.conversationType!=="group"&&t.conversationType!=="channel"&&Ue({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:t}),e.pinnedMessage!==null&&bn(Ee({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),t,e.type);let c=Object.freeze({conversationType:t.conversationType,conversationId:t.conversationId});return Object.freeze({type:e.type,ref:c,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let t=pe(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:t})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:t})})})}case "channel-profile:updated":{let t=Ee(e.conversation,e.type);return (t.conversationType!=="channel"||e.channelId!==t.conversationId)&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "channel-join-application:received":{let t=Ee(e.conversation,e.type);return (t.conversationType!=="channel"||e.notification.channelId!==t.conversationId)&&Ue({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:pe(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Ue({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:pe(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let t=Ee(e.conversation,e.type);return (e.conversationId!==t.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Ue({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,draft:Ol(e.draft,t)})}case "draft:cleared":{let t=Ee(e.conversation,e.type);return Object.freeze({type:e.type,ref:t})}case "outbox:updated":{let t=Ee(e.conversation,e.type);return bn(Ee(e.item.conversation,e.type),t,e.type),Object.freeze({type:e.type,ref:t,item:kr(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:pe(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Nl(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(t=>Ee(t,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Ll(e.issue)});case "error":return Object.freeze({type:e.type,error:Fl(e.error)});case "call:incoming":{let t=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),peerId:pe(e.peerId,"peerId",t),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let t=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),peerId:pe(e.peerId,"peerId",t),result:e.result})}case "call:hangup":{let t=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),peerId:pe(e.peerId,"peerId",t),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let t=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),peerId:pe(e.peerId,"peerId",t)})}case "call:failed":{let t=at(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),peerId:pe(e.peerId,"peerId",t),reason:e.reason})}case "group-call:incoming":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),inviterId:pe(e.inviterId,"inviterId",t),inviteIds:Object.freeze(e.inviteIds.map(c=>pe(c,"inviteId",t))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),userId:pe(e.userId,"userId",t),agreed:e.agreed===!0})}case "group-call:joined":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),userId:pe(e.userId,"userId",t),inviteIds:Object.freeze(e.inviteIds.map(c=>pe(c,"inviteId",t))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),userId:pe(e.userId,"userId",t)})}case "group-call:busy":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),userId:pe(e.userId,"userId",t),hintUserId:pe(e.hintUserId,"hintUserId",t)})}case "group-call:failed":{let t=Kn(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:pe(e.callId,"callId",t),groupId:pe(e.groupId,"groupId",t),reason:e.reason})}case "notification":return null}}catch(t){return Kl(t,e)}}function Bl(e){let{type:n,...t}=e;return Object.freeze(t)}function Gl(e){if(e.type!=="message:received"||e.message.conversationType!=="group"||e.message.contentType!=="system"||e.message.body.system?.eventType!=="group_activated")return null;let n=Ee(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function ws(e){let n=new WeakMap;function t(a,d){let i=n.get(a);if(i!==void 0)return i;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:a.notification.messageId}));return n.set(a,u),u}function c(a){let d=true,i=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){a(Kt({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let A=pe(u.notification.responderId,"contactApplicationAnswer.responderId");t(u,A).then(E=>{if(!d||E===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:A,result:E});a(f);}).catch(()=>{d&&a(Kt({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let C=Ul(u,e);C!==null&&a(C);let I=Gl(u);I!==null&&a(Object.freeze({type:"group:activated",...I}));});return ()=>{d=false,i();}}return {subscribe:a=>c(a),on:(a,d)=>c(i=>{i.type===a&&d(Bl(i));})}}function Sn(e){let n=j({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 Ts(e){function n(t){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw Sn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:t,retryable:false});return c}return {async getInfo(){let t=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:t})},async clearRebuildableCaches(){let t=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw Sn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:t});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(c){throw Sn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:t,cause:c})}e.emitter.emit({type:"local-data:cleared",accountScope:t,category:"rebuildable"});}}}function _s(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function it(e,n,t,c){return j({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...c===void 0?{}:{conversation:c},details:Object.freeze({expectedId:n,actualId:t})})}function Ds(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function ks(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Os(e,n){if(n.id!==e)throw it("contacts.getProfile",e,n.id);let t=n.remark?.trim(),c=n.nickname;return Object.freeze({userId:e,displayName:t===void 0||t===""?c||e:n.remark,nickname:c,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(a=>Object.freeze({countryCode:a.countryCode,mobile:a.mobile})))}})}function xs(e,n){if(n.id!==e.conversationId)throw it("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Ds(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 jl(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 Ns(e,n){if(n.id!==e.conversationId)throw it("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:ks(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:jl(n.permissions),state:n.channelState,...n.allMembersMuted===void 0?{}:{allMembersMuted:n.allMembersMuted},...n.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:n.memberPrivateChatDisabled},...n.miniProgramRels===void 0?{}:{miniProgramRels:Object.freeze(n.miniProgramRels.map(t=>Object.freeze({...t})))}})}function Ls(e){return e.state==="ready"?Object.freeze({state:"ready",message:_t(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 Ut(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw it("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Ds(e),messageId:n.messageId,preview:Ls(n.preview)})}function Bt(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw it("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:ks(e),messageId:n.messageId,preview:Ls(n.preview)})}function Hl(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Vl(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 zl(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Or(e,n,t){return Hl(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&zl(e)?j({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Vl(e.kind),operation:n,retryable:e.retryable===true,...t===void 0?{}:{conversation:t},cause:e}):j({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...t===void 0?{}:{conversation:t},cause:e})}var Fs=new WeakMap;function xr(e,n){Fs.set(e,n);}function Ks(e){let n=Fs.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 ql="IM_SDK_CHANNEL_NOT_MEMBER",Wl="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",$l="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Jl="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Yl(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Xl(e,n,t){if(Yl(e))return e;let c=e instanceof c$1?e.businessCode:void 0,a=e instanceof ka$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c===40542?ql:c===40527?Wl:c===40547?$l:e instanceof c$1?Jl:e instanceof b$1?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof ka$1?"contract":e instanceof b$1?"network":c===40527?"permission":"state",i=j({code:a,category:d,operation:n,retryable:e instanceof b$1,conversation:{conversationType:"channel",conversationId:t},...c===void 0?{}:{details:Object.freeze({businessCode:c})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function Fe(e,n,t){try{return await t()}catch(c){throw Xl(c,e,n)??c}}var Ql={pinMessage:()=>Promise.reject(new ye({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new ye({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new ye({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new ye({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Us(e){let n=new Map,t=new Map,c=true,a=f=>({conversationType:"channel",conversationId:f}),d=f=>{t.set(f,(t.get(f)??0)+1);};function i(f){if(!c||n.has(f))return;let M=t.get(f)??0,D=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let k=await ba({client:e.coreClient,channelId:f});if(!c||(t.get(f)??0)!==M)return;if(!k.ok){e.emitter.emit({type:"error",error:{scope:"http",code:k.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${k.message}`,cause:{conversationId:f}}});return}if(k.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(y(k.data.messageContent,{conversationId:f}),"reconcile");}catch(k){if(!c||(t.get(f)??0)!==M)return;let K=k instanceof h$1||k instanceof u$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:K,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:k}});}})();n.set(f,D),D.finally(()=>{n.get(f)===D&&n.delete(f);});}let u=Ja({domainState:e.domainState,emitter:e.emitter,requestReconcile:i}),C=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let M=f.message;if(M.conversationType!=="channel")return;let D=M.body.system?.pinnedMessageAction;D!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((D?.type==="pin"||D?.type==="unpin")&&d(M.conversationId),u.handleMessage(M));});function I(f,M){if(M.trim()==="")throw new ye({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getSession(a(M));if(D===void 0)throw new ye({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="channel")throw new ye({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function A(f,M){if(e.coreClient===void 0)throw new ye({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return I(f,M),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:M})=>{let D=A("pin",f),k=e.domainState.getConversationMessage(a(f),M);if(k===void 0)throw new ye({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(k.conversationType!=="channel")throw new ye({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(k.conversationId!==f)throw new ye({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:K,pinnedMessage:v}=z$1(k),h=await qa({client:D,channelId:f,messageContent:K});if(!h.ok)throw ln("pin",h.code,h.message);d(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(a(f));if(s===void 0)throw new ye({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(K){throw un("pin",K)}},unpinMessage:async f=>{let M=A("unpin",f);try{let D=await Ka$1({client:M,channelId:f});if(!D.ok)throw ln("unpin",D.code,D.message);d(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(D){throw un("unpin",D)}},getPinnedMessage:async f=>{let M=A("get",f);try{let D=await ba({client:M,channelId:f});if(!D.ok)throw ln("get",D.code,D.message);if(d(f),D.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let k=y(D.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(k,"reconcile");let K=e.domainState.getPinnedMessage(a(f));if(K===void 0)throw new ye({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return K}catch(D){throw un("get",D)}},peekPinnedMessage:f=>(I("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{c&&(c=false,C());}}}async function mn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Zl={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:mn,prefetchFirstPage:mn,refreshFirstPage:mn,listFirstPage:mn,listNextPage:mn,searchFirstPage:mn,refreshSearchFirstPage:mn,searchNextPage:mn},eu=new Set(["unknown_restricted","left","removed","dismissed"]);function Be(e){return eu.has(e)}function Bs(e){let n=true;function t(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function c(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function a(){if(c(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function d(A){let E=A.trim();if(E==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return E}async function i(A){let f=await a().listJoinApplications({limit:A?.limit??20,...A?.cursor===void 0?{}:{cursor:A.cursor}});return c(),f}async function u(A,E){c();let f=d(A),M=a();await(E==="accept"?M.acceptJoinApplication(f):M.ignoreJoinApplication(f)),c();}async function C(A,E,f,M){t();let D=await P({http:e.http,userId:f,clientType:e.clientType,channelId:A,index:E,containAnchor:M,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return t(),D}async function I(A,E,f){let M=await C(A,E,f,true),D=M.messages.find(k=>k.extensions?.historyCursor===E);if(D===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${A}, index=${E}\uFF09`);return {context:M,message:D}}return {applications:{listJoinApplications:i,acceptJoinApplication:A=>u(A,"accept"),ignoreJoinApplication:A=>u(A,"ignore")},loadMessageContext:I,loadNewerPage:(A,E,f)=>C(A,E,f,false),dispose:()=>{n=false;}}}function Gs(e){async function n(a,d,i){let u=new Map(d.filter(A$1).sort((I,A)=>I.sortKey.localeCompare(A.sortKey)).map(I=>[I.id,I]));if(u.size===0)return;let C=await e.authProvider.getLoginContext();if(C===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let I=u.values().next().value;u.delete(I.id);let A=I.extensions?.historyCursor;if(typeof A!="string"||A.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}, messageId=${I.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let E=e.getHistoryGeneration(),f=e.getHistoryEpoch(a);try{let{context:M,message:D}=await e.loadMessageContext(a,A,C.userId);if(!e.isActive()||E!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(a))return;if(D.id!==I.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${A}, expected=${I.id}, actual=${D.id}\uFF09`);if(D.contentType!=="system"||A$1(D))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${A}, messageId=${I.id}\uFF09`);let k=M.messages.filter(K=>K.id===I.id||u.has(K.id));if(k.some(K=>K.contentType!=="system"||A$1(K)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${A}\uFF09`);e.domainState.upsertMessages(k,"offline"),i.applyIncoming(k.flatMap(K=>{let v=e.domainState.getMessage(K.id);return v===void 0?[]:[v]}));for(let K of k)u.delete(K.id);}catch(M){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=${a}, messageId=${I.id}\uFF09`,cause:M}});}}}function t(a,d){return a?.conversationType===d.conversationType&&a.conversationId===d.conversationId}async function c(a,d=e.domainState.messageWindow){if(a.stale||!a.messages.some(A$1))return a;let i=d.info().conversation;if(i===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${a.conversationId}\uFF09`);let u=e.domainState.getSession(i);if(u?.type!=="channel"||u.channelState!==void 0&&Be(u.channelState))return a;let C=d.getRevision();if(await n(i.conversationId,a.messages,d),d.getRevision()!==C||!t(d.info().conversation,i))return {...a,stale:true};let I=new Map(d.list().map(A=>[A.id,A]));return {...a,messages:a.messages.map(A=>I.get(A.id)??A)}}return {reconcilePage:c}}function js(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function t(v,h,s,o){let g=j({code:v,category:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":v==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...o===void 0?{}:{cause:o}});return Object.assign(new Error(h),g)}function c(v){let h=v.name.trim();if(h==="")throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(h.length>75)throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=v.memberIds;if(!Array.isArray(s))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=s.map(g=>typeof g=="string"?g.trim():"");if(o.includes(""))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let p=[...new Set(o)];if(p.length>40)throw t("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:h,memberIds:p}}function a(){if(e.crypto===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let v=e.crypto.randomTeaKey();if(!(v instanceof Uint8Array)||v.length!==16)throw t("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let h="";for(let s of v)h+=String.fromCharCode(s);return globalThis.btoa(h)}function d(v,h){let s=v.trim();if(s==="")throw new Error(`${h}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function i(v){let h=v.trim();if(h==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...h].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return h}function u(v){let h=v.trim();if(h==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...h].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return h}async function C(v){let h=(await e.getSelfUserId?.()??"").trim();return h!==""&&h===v.trim()}function I$1(){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 A(v,h,s){if(v!==1&&v!==2&&v!==4){let p=j({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(v!==4)return {verifyType:v};let o=h?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=j({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:v,inviteCode:o}}function E$1(v){if(!Array.isArray(v))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(v.map(h=>d(h,"\u793E\u7FA4\u6210\u5458 id")))]}function f(v){e.emitter?.emit({type:"channel-profile:updated",channelId:v,conversation:{conversationType:"channel",conversationId:v}});}function M$1(v){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(v).catch(h=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:v,error:h}}});});}function D$1(v){if(v===void 0)return;let h=typeof v=="number"?v:Number(v);return Number.isSafeInteger(h)?h:void 0}function k(v){if(typeof v=="boolean")return v;if(v===1||v==="1"||v==="true")return true;if(v===0||v==="0"||v==="false")return false}function K$1(v){if(v===null||typeof v!="object"||v===void 0)throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let h=v.id??v.radio_id;if(typeof h!="string"&&typeof h!="number"||String(h).trim()==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=v.name?.trim()??"";if(s==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(h),p=D$1(v.total_users),g=D$1(v.status),S=D$1(v.verify_way),L=D$1(v.update_version),N=k(v.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:s,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...p===void 0?{}:{memberCount:p},...g===void 0?{}:{status:g},...N===void 0?{}:{isInChannel:N},...S===void 0?{}:{verifyWay:S},...L===void 0?{}:{updateVersion:L},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}return {...n,mentions:e.mentionCandidates??Zl,uploadAvatar:async v=>{if(e.avatarTransfer===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Ln(e.avatarTransfer,v)},create:async v=>{if(e.coreClient===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.ensureConversation===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let h=c(v),s=a();try{let o=await Z({client:e.coreClient,name:h.name,memberIds:h.memberIds,secretKey:s,...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl}});if(!o.ok){let S=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw t(S,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let p=K$1(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,s);let g=p.status===3?"dismissed":p.status===void 0||p.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({id:p.ref.conversationId,type:"channel",title:p.name,...p.avatar===void 0?{}:{avatar:p.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:g,channelPermissions:xa("owner",g)}),Object.freeze({channel:p})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof b$1?t("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",o.message,void 0,o):t("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,o)}},listProfiles:v=>e.channelProfile?.listProfiles(v)??Promise.resolve([]),getProfile:(v,h)=>e.channelProfile?.getProfile(v,h)??Promise.resolve(null),listMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),prefetchMembers:v=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(v),getCachedMembers:v=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(v),refreshMembers:v=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(v),searchMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),searchMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listAdmins:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),getMembersByIds:(v,h,s)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(v,h,s),updateName:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=d(h,"\u793E\u7FA4\u540D\u79F0");await Fe("channels.updateName",o,()=>C$1({client:s,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),f(o);},updateDescription:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=u(h);await Fe("channels.updateDescription",o,()=>C$1({client:s,channelId:o,description:p})),f(o);},updateAvatar:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let p=await Fe("channels.updateAvatar",o,()=>Ln(e.avatarTransfer,h));return await Fe("channels.updateAvatar",o,()=>C$1({client:s,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),f(o),p},setMyNickname:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=i(h);await Fe("channels.setMyNickname",o,()=>D({client:s,channelId:o,nickname:p})),f(o);},setMemberNickname:async(v,h,s)=>{let o=I$1(),p=d(v,"\u793E\u7FA4 id"),g=d(h,"\u793E\u7FA4\u6210\u5458 id");if(await C(g))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let S=i(s);await Fe("channels.setMemberNickname",p,()=>E({client:o,channelId:p,userId:g,nickname:S})),f(p);},updateVerification:async(v,h,s)=>{let o=I$1(),p=d(v,"\u793E\u7FA4 id"),g=A(h,s,p);await Fe("channels.updateVerification",p,()=>L$1({client:o,channelId:p,verifyType:g.verifyType,...g.inviteCode===void 0?{}:{inviteCode:g.inviteCode}})),f(p);},requestJoin:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=h?.remarks?.trim();return Fe("channels.requestJoin",o,()=>na({client:s,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=h.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Fe("channels.joinByInviteCode",o,()=>oa({client:s,channelId:o,inviteCode:p}))},setAllMuted:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id");await Fe("channels.setAllMuted",o,()=>M({client:s,channelId:o,muted:h})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},setMemberPrivateChatDisabled:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id");await Fe("channels.setMemberPrivateChatDisabled",o,()=>N({client:s,channelId:o,disabled:h})),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},inviteMembers:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=E$1(h);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Fe("channels.inviteMembers",o,()=>F({client:s,channelId:o,userIds:p})),f(o);},removeMember:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=d(h,"\u5F85\u79FB\u9664\u6210\u5458 id");await Fe("channels.removeMember",o,()=>G({client:s,channelId:o,userId:p})),f(o);},addAdmin:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=d(h,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await Fe("channels.addAdmin",o,()=>H({client:s,channelId:o,userId:p})),M$1(o),f(o);},removeAdmin:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=d(h,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await Fe("channels.removeAdmin",o,()=>I({client:s,channelId:o,userId:p})),M$1(o),f(o);},transferOwnership:async(v,h)=>{let s=I$1(),o=d(v,"\u793E\u7FA4 id"),p=d(h,"\u65B0\u793E\u7FA4\u4E3B id");await Fe("channels.transferOwnership",o,()=>J({client:s,channelId:o,userId:p})),M$1(o),e.domainState?.refreshConversationProfile?.(o,"channel"),f(o);},leave:async(v,h)=>{let s=I$1();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let o=d(v,"\u793E\u7FA4 id"),p=h?.newOwnerId===void 0?void 0:d(h.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await Fe("channels.leave",o,()=>K({client:s,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),f(o);},dismiss:async v=>{let h=I$1();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=d(v,"\u793E\u7FA4 id");await Fe("channels.dismiss",s,()=>O({client:h,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??Ql}}function nu(e){let t=j({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(t.code),t)}function tu(e){let n=e.responseCode===U,a=j({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(a.code),a)}function ru(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Hs(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},t=new Map,c=new Map,a=new Map,d=new Map,i=0,u=false,C=5e3;function I(s,o,p){if(u)return "unknown";if(p!==void 0&&t.get(s)!==p)return c.get(s)??"unknown";let g=c.get(s);return c.set(s,o),a.set(s,Date.now()),g!==o&&e.onRelationshipChanged?.(s,o),o}function A(s,o){if(u)return;let p=f$1(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");t.set(p,++i),I(p,o);}function E(s){if(e.coreClient===void 0)throw new Error(`${s}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function f$1(s,o){let p=s.trim();if(p==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function M(s,o){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(p=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:p}});});}async function D(s,o){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(s===""||o.name===void 0&&o.email===void 0&&o.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ha$1({client:e.coreClient,userId:s,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}}),e.domainState.getSession(s)?.type==="direct"&&e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function k(s){switch(s){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function K(s,o){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=s.trim();if(p==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let g=d.get(p);if(o&&g!==void 0)return g;let S=++i;t.set(p,S);let L=f(e.coreClient,{userId:p}).then(N=>I(p,k(N?.friend_status),S)).finally(()=>{d.get(p)===L&&d.delete(p);});return d.set(p,L),L}function v(s){return K(s,true)}async function h(s,o){let p=f$1(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),g;try{g=await K(p,!1);}catch(S){return u||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:p,error:S}}}),null}if(u)return null;if(g==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:p}}}),null;if(g!=="friend")return "rejected";A(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,o,Date.now());}catch(S){return u||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:p,error:S}}}),null}return u?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),M(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,o)=>e.profile?.getUserProfile(s,o)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:D,searchUser:s=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):V(e.coreClient,{query:s}).catch(o=>{throw o instanceof S?tu(o):o}).then(o=>{if(o===null)return null;let p=k(o.friendStatus);return A(o.userId,p),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:p,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl},...o.username===void 0?{}:{username:o.username},...o.miCallId===void 0?{}:{miCallId:o.miCallId},...o.signature===void 0?{}:{signature:o.signature}})}),getRelationship:v,requestFriendship:async(s,o)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=f$1(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),g;try{g=await W(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(L){throw L instanceof T?nu(L):L}let S=ru(g.status);return A(p,S==="sent"?"pending":"friend"),S==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j$1(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),M(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:S,...g.message===void 0?{}:{message:g.message}})},blockUser:async s=>{let o=f$1(s,"\u52A0\u5165\u9ED1\u540D\u5355");await R(E("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),A(o,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:o}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),M(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,o)=>{let p=f$1(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),g=o.trim();if(g==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let S=e.getSelfId?.().trim()??"";if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await Y(E("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:S,targetUserId:p,problem:g});},deleteFriendship:async s=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=s.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await X(e.coreClient,{userId:o}),A(o,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:o});try{await e.resetDirectReadReceiptPreference?.(o);}catch(p){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:p}});}M(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>c.get(s.trim()),ensureRelationship(s){let o=f$1(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),p=a.get(o);return p!==void 0&&Date.now()-p<C?Promise.resolve(c.get(o)??"unknown"):v(o)},updateRelationshipFromEvent:A,resolveApplicationAnswer:h,dispose:()=>{u=true,i+=1,t.clear(),c.clear(),a.clear(),d.clear();}}}function Vs(e){return (n,t)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let c=e().filter(d=>d.id===n);if(c.length===0)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(c.length>1)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let a=c[0];if(a.type==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:a.type,conversationId:a.id}}}function zs(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,t)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),t),setMuted:async(n,t)=>{let c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=e.domainState.getSession(c);if(a===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await Ga({client:e.coreClient,conversationType:a.type,targetId:a.id,muted:t}),e.domainState.setMuted(c,t);},markConversationRead:async n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(t);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(t);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;let a=e.domainState.getMessagesByConversation(t),d=a.at(-1)?.id??c.readCursor??"";if(c.type==="direct"){d!==""&&e.domainState.advanceRead(t,d),e.domainState.clearConversationManualUnread(t);return}if(c.type==="group"){let i=await e.authProvider.getLoginContext();if(i===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja$1({http:e.http,userId:i.userId,groupId:t.conversationId}),e.domainState.applyServerUnread(t,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(t);return}if(c.type==="channel"){let i=Pa$1(a);if(i===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${t.conversationId}\uFF09`);await e.markChannelRead(t.conversationId,i),e.domainState.clearConversationManualUnread(t);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${c.type}`)},markConversationUnread:n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(t);},deleteConversation:n=>{let t=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.terminateConversationSending?.(t,"conversation_deleted"),e.domainState.removeConversation(t),e.resetConversationBackground?.(t).catch(c=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",c));}}}var Lr=1,ou=3;function Kr(e){return typeof Blob<"u"&&e instanceof Blob}async function Fr(e){return Kr(e)?new Uint8Array(await e.arrayBuffer()):e}function qs(e){async function n(w){return e.connection.sendText(w)}async function t(w){return e.connection.sendContact(w)}async function c(w){return e.connection.forwardMessages(w)}async function a(w){return e.connection.recallMessage(w)}async function d(w){return e.connection.editMessage(w)}async function i(w){return e.connection.sendImage(w)}async function u(w){return e.connection.sendVideo(w)}async function C(w){return e.connection.sendVoice(w)}async function I(w){return e.connection.sendFile(w)}async function A(w){return e.connection.sendMediaAlbum(w)}async function E(w){return e.connection.sendGif(w)}async function f(w){return e.connection.sendExpression(w)}async function M(w){return e.connection.sendGame(w)}async function D(w){return e.connection.sendMiniProgram(w)}async function k(w){return e.connection.sendTransfer(w)}async function K(w,W){return e.connection.replaceInterruptedVideo(w,W)}async function v(w,W){return e.connection.replaceInterruptedFile(w,W)}function h(w){e.connection.cancelMedia(w);}function s(w,W){return {url:w.url,...w.expectedBytes===void 0?{}:{expectedBytes:w.expectedBytes},...w.onProgress!==void 0?{onProgress:R=>w.onProgress?.(R.percent)}:{},...w.signal!==void 0?{signal:w.signal}:{},...W?{preferBlob:true}:{}}}async function o(w){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 W=await e.mediaTransfer.download(s(w,false)),R=await Fr(W);return w.teaKey!==void 0&&w.teaKey.length>0&&w.fileEncryptType!==Lr?e.crypto.decryptSymmetric({teaKey:w.teaKey,cipherData:R}):R}async function p(w){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 W=await e.mediaTransfer.download(s(w,true));if(w.teaKey===void 0||w.teaKey.length===0||w.fileEncryptType===Lr)return W;let R=w.teaKey;return Kr(W)?e.crypto.decryptSymmetricChunked({teaKey:R,cipherData:W,...w.signal===void 0?{}:{signal:w.signal}}):e.crypto.decryptSymmetric({teaKey:R,cipherData:W})}async function g(w){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 W=w.fileEncryptType===ou,R=await e.mediaTransfer.download(s(w,!W));if(w.teaKey===void 0||w.teaKey.length===0||w.fileEncryptType===Lr)return R;let ee=w.teaKey;if(W)return e.crypto.decryptSymmetric({teaKey:ee,cipherData:await Fr(R)});if(!Kr(R))return e.crypto.decryptFileSimple({teaKey:ee,cipherData:R});if(R.size<=32){let ie=e.crypto.decryptFileSimple({teaKey:ee,cipherData:await Fr(R)});return new Blob([ie],{type:R.type})}let q=new Uint8Array(await R.slice(0,32).arrayBuffer()),ae=e.crypto.decryptFileSimple({teaKey:ee,cipherData:q});return new Blob([ae,R.slice(32)],{type:R.type})}function S(w){e.connection.retryMessage(w);}function L(w,W){let R={conversationType:"channel",conversationId:w},$=e.domainState.getLoadedMessagesByConversation(R),q=e.domainState.getConversationMessage(R,W)??$.find(ie=>Oa$1(ie)===W),ae=Oa$1(q);if(q===void 0||typeof ae!="string"||ae.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${w}, input=${W}\uFF09`);return q.id}async function N(w){let W=w.conversationType??e.domainState.getSession(w.conversationId)?.type;if(W==="channel"){let R=L(w.conversationId,w.readCursor);await e.connection.markRead(w.conversationId,R,"channel");return}await e.connection.markRead(w.conversationId,w.readCursor,w.conversationType),W==="direct"&&await e.prepareDirectReadReceipt?.(w.conversationId);}async function Y(w,W){e.connection.reportDirectMediaConsumed?.(w,W),await e.prepareDirectReadReceipt?.(w);}return {operations:{sendText:n,sendContact:t,forwardMessages:c,recallMessage:a,editMessage:d,sendImage:i,sendVideo:u,sendVoice:C,sendFile:I,sendGif:E,sendMediaAlbum:A,sendExpression:f,sendGame:M,sendMiniProgram:D,sendTransfer:k,replaceInterruptedVideo:K,replaceInterruptedFile:v,cancelMediaUpload:h,loadImage:o,loadVideo:p,loadVoice:o,loadFile:g,retry:S,markRead:N,markDirectMediaConsumed:Y}}}function Ws(e){return {...e.operations,get state(){return e.getState()}}}var au=50,iu=1e3,ze={ALREADY_CONTACT:40101,CONTACT_PERMISSION_DENIED:40109,CONTACT_LIMIT_REACHED:40121,PEER_CONTACT_LIMIT_REACHED:40122,ALREADY_GROUP_MEMBER:40508,LEGACY_ALREADY_GROUP_MEMBER:39016,GROUP_MEMBER_LIMIT_REACHED:40506,LEGACY_GROUP_MEMBER_LIMIT_REACHED:39057,GROUP_DISBANDED:40610,GROUP_PERMISSION_DENIED:40501,REQUEST_ALREADY_HANDLED:40108,OPERATION_FAILED:1017,GROUP_OPERATION_FAILED:39014,GROUP_APPLICATION_UNAVAILABLE_40521:40521,GROUP_APPLICATION_UNAVAILABLE_40612:40612,GROUP_APPLICATION_UNAVAILABLE_40617:40617};function Oe(e){let n=j({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 su(e,n){switch(e){case ze.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case ze.CONTACT_PERMISSION_DENIED:case ze.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case ze.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case ze.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case ze.ALREADY_GROUP_MEMBER:case ze.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case ze.GROUP_MEMBER_LIMIT_REACHED:case ze.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case ze.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case ze.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case ze.OPERATION_FAILED:case ze.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case ze.GROUP_APPLICATION_UNAVAILABLE_40521:case ze.GROUP_APPLICATION_UNAVAILABLE_40612:case ze.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function cu(e){if(e instanceof i||e instanceof p)return e.code}function du(e){return e instanceof j$2||e instanceof q?{category:"contract",retryable:false}:e instanceof b$1?{category:"network",retryable:true}:{category:"state",retryable:false}}function $s(e,n,t){let c=cu(t),a=su(c,e),d=du(t);return Oe({code:a,category:d.category,operation:n,retryable:d.retryable,cause:t})}function Js(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function Je(e,n){if(typeof e!="string"&&typeof e!="number")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let t=String(e).trim();if(t==="")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return t}function Ur(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("createdAt \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570\u6BEB\u79D2\u65F6\u95F4\u6233")});return e}}function Pn(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})})}function lu(e,n,t="pending"){return Object.freeze({ref:Pn(e),...n===void 0?{}:{createdAt:n},state:t})}function uu(e){let n=Ur(e.createdAt),t=fn(e.applicantAvatar,"contact.applicantAvatar"),c=fn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Pn({domain:"contact",applicationId:Je(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:Je(e.applicantId,"contact.applicantId"),name:Je(e.applicantName,"contact.applicantName"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),message:Br(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function pu(e){if(e.kind!=="request"&&e.kind!=="invite")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Ur(e.createdAt),t=fn(e.actor.avatarUrl,"group.actor.avatarUrl"),c=fn(e.actor.displayId,"group.actor.displayId"),a=fn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Pn({domain:"group",applicationId:Je(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:Je(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:Je(e.actor.id,"group.actor.id"),name:Je(e.actor.name,"group.actor.name"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:Je(e.target.id,"group.target.id"),name:Je(e.target.name,"group.target.name"),...a===void 0?{}:{avatarUrl:a}}),message:Br(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function fn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let t=String(e).trim();return t===""?void 0:t}function Br(e,n){if(typeof e!="string"&&typeof e!="number")throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});return String(e).trim()}function mu(e){let n=Ur(e.createdAt),t=fn(e.applicantAvatar,"channel.applicantAvatar"),c=fn(e.applicantDisplayId,"channel.applicantDisplayId"),a=fn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Pn({domain:"channel",applicationId:Je(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:Je(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:Je(e.applicantId,"channel.applicantId"),name:Je(e.applicantName,"channel.applicantName"),...t===void 0?{}:{avatarUrl:t},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:Je(e.channelId,"channel.channelId"),name:Je(e.channelName,"channel.channelName"),...a===void 0?{}:{avatarUrl:a}}),message:Br(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function st(e){return `${e.domain}:${e.applicationId}`}function Ys(e){let n=false,t=0,c=0,a=new Map,d=new Map,i=new Map;function u(M,D){if(n||!e.isActive()||D!==void 0&&t!==D)throw Oe({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:M,retryable:false})}function C(M){if(u(M),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:M,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function I(M,D){let k=[],K=new Set,v;for(let h=0;h<iu;h+=1){let s=await D({limit:au,...v===void 0?{}:{cursor:v}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw Oe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:M,retryable:false});if(k.push(...s.items),s.exhausted)return k;let o=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(o===""||K.has(o))throw Oe({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:M,retryable:false});K.add(o),v=o;}throw Oe({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:M,retryable:false})}async function A(){let M="applications.listPending",D=C(M),k=t,K=++c;try{let[v,h,s]=await Promise.all([I(M,S=>D.contact.listPendingApplications(S)),I(M,S=>D.group.listPendingApplications(S)),I(M,S=>D.channel.listJoinApplications(S))]);u(M,k);let o=[...v.map(uu),...h.map(pu),...s.map(mu)],p=new Map;for(let S of o){let L=st(S.ref);if(d.has(L))continue;let N=p.get(L);if(N!==void 0&&JSON.stringify(N.ref)!==JSON.stringify(S.ref))throw Oe({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:M,retryable:!1});(N===void 0||(S.createdAt??0)>(N.createdAt??0))&&p.set(L,S);}let g=[...p.values()].sort((S,L)=>{let N=(L.createdAt??0)-(S.createdAt??0);return N!==0?N:st(S.ref).localeCompare(st(L.ref))});if(K===c){a.clear();for(let S of g)a.set(st(S.ref),S);}return Object.freeze(g)}catch(v){throw Js(v)?v:(u(M,k),$s("IM_SDK_APPLICATION_LIST_FAILED",M,v))}}function E(M,D){if(u(D),M===null||typeof M!="object")throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});let k=typeof M?.applicationId=="string"?M.applicationId.trim():"";if(k==="")throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});if(M.domain==="contact")return Pn({domain:"contact",applicationId:k});let K=typeof M.conversation?.conversationId=="string"?M.conversation.conversationId.trim():"";if(M.domain==="group"&&M.conversation?.conversationType==="group"&&K!=="")return Pn({domain:"group",applicationId:k,conversation:{conversationType:"group",conversationId:K}});if(M.domain==="channel"&&M.conversation?.conversationType==="channel"&&K!=="")return Pn({domain:"channel",applicationId:k,conversation:{conversationType:"channel",conversationId:K}});throw Oe({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false})}function f(M,D){let k=D==="accepted"?"applications.accept":"applications.ignore",K=E(M,k),v=st(K),h=d.get(v);if(h===D)return Promise.resolve();if(h!==void 0)return Promise.reject(Oe({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:k,retryable:false}));let s=i.get(v);if(s!==void 0)return s.state===D?s.promise:Promise.reject(Oe({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:k,retryable:true}));let o=t,p=Promise.resolve().then(async()=>{try{let S;if(K.domain==="contact"){if(e.contact===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:k,retryable:!1});S=D==="accepted"?e.contact.acceptApplication(K.applicationId):e.contact.ignoreApplication(K.applicationId);}else if(K.domain==="group"){if(e.group===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:k,retryable:!1});S=D==="accepted"?e.group.acceptApplication(K.applicationId):e.group.ignoreApplication(K.applicationId);}else {if(e.channel===void 0)throw Oe({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:k,retryable:!1});S=D==="accepted"?e.channel.acceptJoinApplication(K.applicationId):e.channel.ignoreJoinApplication(K.applicationId);}if(await S,u(k,o),D==="accepted"&&K.domain==="contact"){let N=a.get(v);N?.kind==="contact-request"&&await e.onContactAccepted?.(N.applicant.id,K.applicationId);}d.set(v,D);let L=lu(K,a.get(v)?.createdAt,D);a.delete(v),e.emitter.emit({type:"application:updated",application:L});}catch(S){throw Js(S)?S:(u(k,o),$s("IM_SDK_APPLICATION_ACTION_FAILED",k,S))}}),g=()=>{i.get(v)?.promise===p&&i.delete(v);};return i.set(v,{state:D,promise:p}),p.then(g,g),p}return {api:{listPending:A,accept:async M=>f(M,"accepted"),ignore:async M=>f(M,"ignored")},dispose(){n||(n=true,t+=1,a.clear(),d.clear(),i.clear());}}}function An(e,n,t){try{t();}catch(c){let a=c instanceof Error?c.message:String(c);throw a.includes("\u672A\u9274\u6743")?j({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u53EA\u5B9E\u73B0")||a.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?j({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?j({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u6CA1\u6709\u5339\u914D")||a.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?j({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):j({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function Xs(e){return {invite(n){let t={conversationType:"direct",conversationId:n.peerId},c;return An("calls.invite",t,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},accept(n){An("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){An("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){An("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){An("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){An("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){An("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Gr=18,fu=12,gu=300*1e3,Iu=64,Qs=Object.freeze([]),yu=0;function hu(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Zs(e){let n=e.now??(()=>Date.now()),t=e.cacheTtlMs??gu,c=e.maxCacheEntries??Iu;if(!Number.isFinite(t)||t<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(c)||c<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let a=++yu,d=new Map,i=new Map,u=new Map,C=new Map,I=new Map,A=new Map,E=new Map,f=new Set,M=0,D=true,k=P=>C.get(P)??0;function K(){if(!D)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function v(P){if(P.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let T=P.conversationId.trim();if(T==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return T}function h(P){let T=d.get(P);d.delete(P),T?.page.nextPageToken!==void 0&&u.delete(T.page.nextPageToken);}function s(P,T){let F=d.get(P);return F===void 0?null:F.generation!==T||F.expiresAt<=n()?(h(P),null):(d.delete(P),d.set(P,F),F.page)}function o(P,T){for(h(P),d.set(P,T);d.size>c;){let F=d.keys().next().value;if(typeof F!="string")break;h(F);}}function p(P){let T=[],F=new Map;for(let G of P){let H=G.userId.trim();if(H==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");F.has(H)||T.push(H);let oe=G.displayName.trim()||H,de=G.avatar?.trim();F.set(H,Object.freeze({userId:H,displayName:oe,...de===void 0||de===""?{}:{avatar:de}}));}return Object.freeze(T.map(G=>F.get(G)))}async function g(P,T){let F=await ca$1(T);return Object.freeze(P.filter(G=>F.match(G.displayName)!==null||F.match(G.userId,{pinyin:false})!==null))}async function S(P,T){let F=await q(P);return F===null?Qs:g(F.page.items,T)}function L(P,T){let F=[...P.items],G=new Set(F.map(H=>H.userId));for(let H of T)G.has(H.userId)||(G.add(H.userId),F.push(H));return Object.freeze({...P,items:Object.freeze(F)})}function N(P,T){let F=P.map(H=>H.userId),G=new Map(P.map(H=>[H.userId,H]));for(let H of T)G.has(H.userId)||F.push(H.userId),G.set(H.userId,H);return F.map(H=>G.get(H))}function Y(P,T,F){let G=`im-channel-mention:${a}:${++M}`;for(u.set(G,{...P,generation:T,expiresAt:F});u.size>c;){let H=u.keys().next().value;if(typeof H!="string")break;u.delete(H);}return G}function w(P){let T=P.nextCursor?.trim();if(P.exhausted&&T!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!P.exhausted&&(T===void 0||T===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return T}function W(P,T,F,G){let H=w(P),oe=H===void 0?void 0:Y({...T,cursor:H},F,G);return Object.freeze({items:p(P.items),...oe===void 0?{}:{nextPageToken:oe},exhausted:P.exhausted})}function R(){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 $(P,T){let F=I.get(P);for(F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),I.delete(P),I.set(P,T);I.size>c;){let G=I.keys().next().value;if(G===void 0)break;let H=I.get(G);H?.page.nextPageToken!==void 0&&u.delete(H.page.nextPageToken),I.delete(G);}}function ee(P,T){let F=n()+t,G={channelId:P.channelId,kind:"list"},H=P.nextCursor===void 0?void 0:Y({...G,cursor:P.nextCursor},T,F);return {generation:T,updatedAt:P.updatedAt,page:Object.freeze({items:p(P.items),...H===void 0?{}:{nextPageToken:H},exhausted:P.exhausted})}}function q(P){K();let T=I.get(P);if(T!==void 0)return Promise.resolve(T);if(f.has(P)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let F=E.get(P);if(F!==void 0)return F;let G=k(P),H=e.storage.getChannelMentionCandidateSnapshot(P).then(oe=>{if(K(),oe===null||oe.channelId!==P||k(P)!==G||f.has(P))return null;let de=ee(oe,G);return $(P,de),de}).finally(()=>{E.get(P)===H&&E.delete(P);});return E.set(P,H),H}function ae(P){K();let T=A.get(P);if(T!==void 0)return T;let F=k(P),G=R(),H=(async()=>{let oe,de=false,J=[];for(let Pe=0;Pe<fu&&!de;Pe+=1){let be=await G.listMentionMembers({channelId:P,limit:Gr,...oe===void 0?{}:{cursor:oe}});if(K(),k(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");oe=w(be),de=be.exhausted,J=N(J,be.items);}let ge=n(),ce={channelId:P,items:J,...oe===void 0?{}:{nextCursor:oe},exhausted:de,updatedAt:ge};if(k(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(ce),K(),k(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Me=ee(ce,F);return $(P,Me),Me.page})().finally(()=>{A.get(P)===H&&A.delete(P);});return A.set(P,H),H}function ie(P,T=false){K();let F=k(P.channelId),G=hu(P);if(!T){let ge=s(G,F);if(ge!==null)return Promise.resolve(ge)}let H=i.get(G);if(H!==void 0&&H.generation===F)return H.promise;let oe=R(),de=P.kind==="list"?oe.listMentionMembers({channelId:P.channelId,limit:Gr,...P.cursor===void 0?{}:{cursor:P.cursor}}):oe.searchMentionMembers({channelId:P.channelId,query:P.keyword,limit:Gr,...P.cursor===void 0?{}:{cursor:P.cursor}}),J=Promise.resolve(de).then(async ge=>{K();let ce=P.kind==="search"&&P.cursor===void 0?await S(P.channelId,P.keyword):Qs;if(K(),k(P.channelId)!==F)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Me=n()+t,Pe=W(ge,P,F,Me),be=ce.length===0?Pe:L(Pe,ce);return k(P.channelId)===F&&o(G,{channelId:P.channelId,generation:F,expiresAt:Me,page:be}),be}).finally(()=>{i.get(G)?.promise===J&&i.delete(G);});return i.set(G,{generation:F,promise:J}),J}function O(P,T){K();let F=u.get(P);if(F===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(F.kind!==T)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${T} \u5206\u9875`);if(F.expiresAt<=n())throw u.delete(P),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(k(F.channelId)!==F.generation)throw u.delete(P),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return F}return {api:{peekFirstPage(P){if(!D)return null;let T=v(P),F=I.get(T);return F===void 0||F.generation!==k(T)?null:($(T,F),F.page)},peekSearchCandidates(P,T){if(!D)return Object.freeze([]);let F=v(P),G=T.trim().toLocaleLowerCase();if(G==="")return Object.freeze([]);let H=I.get(F);return H===void 0||H.generation!==k(F)?Object.freeze([]):($(F,H),Object.freeze(H.page.items.filter(oe=>oe.displayName.toLocaleLowerCase().includes(G)||oe.userId.toLocaleLowerCase().includes(G))))},async getCachedPage(P,T){let F=v(P),G=await q(F);if(G===null)return null;let H=T?.trim()??"";if(H==="")return G.page;let oe=await g(G.page.items,H);return K(),G.generation!==k(F)?null:Object.freeze({items:oe,exhausted:true})},async prefetchFirstPage(P){let T=v(P),F=await q(T);F!==null&&F.updatedAt+t>n()||await ae(T);},async refreshFirstPage(P){return ae(v(P))},async listFirstPage(P){let T=v(P),F=I.get(T);if(F!==void 0&&F.generation===k(T))return $(T,F),F.page;let G=await q(T);return G!==null?G.page:ae(T)},async listNextPage(P){return ie(O(P,"list"))},async searchFirstPage(P,T){let F=v(P),G=T.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):ie({channelId:F,kind:"search",keyword:G})},async refreshSearchFirstPage(P,T){let F=v(P),G=T.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):ie({channelId:F,kind:"search",keyword:G},true)},async searchNextPage(P){return ie(O(P,"search"))}},async invalidate(P){if(!D)return;let T=P.trim();if(T==="")return;C.set(T,k(T)+1),f.add(T);let F=I.get(T);F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),I.delete(T),A.delete(T),E.delete(T);for(let[G,H]of d)H.channelId===T&&h(G);for(let[G,H]of u)H.channelId===T&&u.delete(G);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(T),f.delete(T));},clear(){if(!D)return;let P=new Set;for(let T of d.values())P.add(T.channelId);for(let T of u.values())P.add(T.channelId);for(let T of P)C.set(T,k(T)+1);d.clear(),u.clear(),i.clear(),I.clear(),A.clear(),E.clear(),f.clear();},dispose(){D&&(D=false,d.clear(),u.clear(),i.clear(),I.clear(),A.clear(),E.clear(),f.clear());}}}var vu=20*1024*1024;function an(e){return j({...e,retryable:e.retryable??false})}function jr(e,n){if(e?.conversationType==="supergroup")throw an({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw an({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function Cu(e,n){if(e!==void 0&&e.getConversationBackground!==void 0&&e.saveConversationBackground!==void 0&&e.deleteConversationBackground!==void 0&&e.getDefaultConversationBackground!==void 0&&e.saveDefaultConversationBackground!==void 0&&e.deleteDefaultConversationBackground!==void 0)return e;throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Mu(e,n){try{let t=new URL(e);if(t.protocol==="http:"||t.protocol==="https:")return e}catch{}throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function ec(e,n,t){if(e.kind==="preset"){if(e.presetId.trim()==="")throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Mu(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>t)throw an({code:e.blob instanceof Blob&&e.blob.size>t?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let c=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:c}}function Hr(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 bu(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function nc(e){let n=e.maxCustomImageBytes??vu,t=false,c=0,a,d;async function i(C,I){try{return await I(Cu(e.storage,C))}catch(A){throw typeof A=="object"&&A!==null&&"code"in A?A:an({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:C,cause:A})}}return {api:{async getBackground(C){let I="conversations.getBackground",A=jr(C,I);return i(I,async E=>{let f=await E.getConversationBackground(A);if(f!==null)return Object.freeze({source:"conversation",selection:Hr(f)});let M=await E.getDefaultConversationBackground();return Object.freeze(M===null?{source:"builtin",selection:null}:{source:"default",selection:Hr(M)})})},async setBackground(C,I){let A="conversations.setBackground",E=jr(C,A),f=await ec(I,A,n);await i(A,M=>M.saveConversationBackground(E,f));},async resetBackground(C){let I="conversations.resetBackground",A=jr(C,I);await i(I,E=>E.deleteConversationBackground(A));},async getDefaultBackground(){return i("conversations.getDefaultBackground",async I=>{let A=await I.getDefaultConversationBackground();return Object.freeze(A===null?{source:"builtin",selection:null}:{source:"default",selection:Hr(A)})})},async setDefaultBackground(C){let I="conversations.setDefaultBackground",A=await ec(C,I,n);await i(I,E=>E.saveDefaultConversationBackground(A));},async resetDefaultBackground(){await i("conversations.resetDefaultBackground",I=>I.deleteDefaultConversationBackground());},listBackgroundPresets(C){let I="conversations.listBackgroundPresets";if(t)return Promise.reject(an({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:I}));if(!C?.forceRefresh&&a!==void 0)return Promise.resolve(a);if(!C?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(an({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:I}));let A=++c,E=da(e.coreClient).then(f=>{let M=Object.freeze(f.map(bu));return !t&&A===c&&(a=M),M}).catch(f=>{throw an({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:I,retryable:true,cause:f})}).finally(()=>{A===c&&(d=void 0);});return d=E,E}},dispose(){t=true,c+=1,a=void 0,d=void 0;}}}var tc=2;function Su(e){return da$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Gt(e,n,t){let c=[];for(let a of e)!Su(a)||t!==void 0&&a.sortKey<=t||ia(a,n)&&c.push(a);return {unreadMessages:c}}function rc(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function oc(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let c=Gt(e.list(),e.selfId,e.readCursorSortKey);for(let d=0;c.unreadMessages.length<e.unreadCount&&e.hasNewer()&&d<tc;d+=1)await e.loadNewer(),c=Gt(e.list(),e.selfId,e.readCursorSortKey);if(c.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});let a=c.unreadMessages[0];return a===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(a.sortKey),rc(a.id,e.unreadCount))}await e.openLatest();let n=Gt(e.list(),e.selfId,void 0);for(let c=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&c<tc;c+=1)await e.loadOlder(),n=Gt(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let t=n.unreadMessages.at(-e.unreadCount);return t===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(t.sortKey),rc(t.id,e.unreadCount))}function ct(e){if(e===void 0||e.length===0)return;let n=false,t=[],c={},a=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}a.has(d.userId)||(a.add(d.userId),t.push(d.userId),d.displayName.trim()!==""&&(c[d.userId]=d.displayName));}return {atAll:n,atUserIds:t,...Object.keys(c).length===0?{}:{atUsersName:c}}}function Pu(e){return e instanceof sa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function Au(e){let n=[];for(let t=0;t<e.length;t+=C)n.push(e.slice(t,t+C));return n}async function ac(e){let n=[...new Set(e.messageIds.map(i=>i.trim()).filter(i=>i!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let t=[],c=[],a=[],d;for(let i of Au(n)){if(!e.isCurrent()){a.push(...i);continue}try{let u=await e.fetchBatch(i);if(!e.isCurrent()){a.push(...i);continue}let C=new Set(u.messages.map(A=>A.id)),I=new Set(u.missingMessageIds);t.push(...u.messages.map(e.projectMessage)),c.push(...u.missingMessageIds);for(let A of i)!C.has(A)&&!I.has(A)&&a.push(A);}catch(u){a.push(...i),d=Pu(u);}}return {messages:t,missingMessageIds:c,unresolvedMessageIds:a,...d===void 0?{}:{failure:d}}}var zr=new WeakMap;function jt(e,n){let t=zr.get(n);if(t===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");zr.set(e,t);}var Eu={"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}},Ru={"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}},ic={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},restricted:{code:"IM_SDK_REACTION_FORBIDDEN",category:"permission",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},sc={"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 cc(e,n,t){let c=j({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function wu(e,n){let t=j({code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",operation:"history.loadAround",retryable:false,conversation:e,details:{messageId:n}});return Object.assign(new Error(t.code),t)}var Tu=3*1024*1024,Vr=200*1024*1024,dc=2*1024*1024*1024,lc=30*1024*1024,uc=4294967295,_u=6,Du=16*1024,ku=300;async function Ou(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let t=new Uint8Array(await e.slice(0,6).arrayBuffer());if(t.length!==6)return false;let c=String.fromCharCode(...t);return c==="GIF87a"||c==="GIF89a"}var xu={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"album-item-not-found":{code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",retryable:false},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function qr(e,n,t,c,a={},d={}){let i=Object.freeze({...e}),u=n.pageSize??30,C=n.domainState.createMessageWindow({retention:{maxMessages:u*_u},...a.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(m,b)=>a.shouldEstablishRemoteLatestOnOpen?.(b)===true}}),I=new Set,A=new Set,E=new Map,f,M,D=false,k=false,K=false,v=true,h=0,s=Object.freeze({state:"none"}),o=new WeakMap,p;function g(){if(k)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function S(){let m=C.window.info();return {messages:C.window.list(),draft:n.domainState.getDraft(i),loading:E.size>0,stale:D,hasOlder:m.hasMore,hasNewer:m.hasNewer,error:M,entryUnread:s}}function L(m,b){return m.length===b.length&&m.every((y,B)=>y===b[B])}function N(m,b){return L(m.messages,b.messages)&&m.draft===b.draft&&m.loading===b.loading&&m.stale===b.stale&&m.hasOlder===b.hasOlder&&m.hasNewer===b.hasNewer&&m.error===b.error&&m.entryUnread===b.entryUnread}function Y(m){let b=o.get(m);if(b!==void 0)return b;let y=_t(m);return o.set(m,y),y}function w(m){return {ref:i,messages:Object.freeze(m.messages.map(Y)),entryUnread:m.entryUnread,draft:m.draft,loading:m.loading,stale:m.stale,hasOlder:m.hasOlder,hasNewer:m.hasNewer,...m.error===void 0?{}:{error:m.error}}}function W(){return g(),w(S())}function R(){let m=S();if(p!==void 0&&N(p,m))return;p=m;let b=w(m);for(let y of I)try{y(b);}catch(B){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:B}});}}async function $(m){let b=C.window.list().find(Re=>Re.id===m)??n.domainState.getConversationMessage(i,m);if(b!==void 0)return {anchor:b};let y=n.domainState.getPinnedMessage(i),B=y?.messageId===m&&y.preview.state==="ready"?y.preview.message:void 0;if(B!==void 0)return {anchor:B,fallbackSeed:B};let Z=n.resolveSearchHistoryAnchor?.(i,m);if(Z!==void 0)return {anchor:Z};let ve=await n.domainState.resolveConversationMessage(i,m);return ve===void 0?void 0:{anchor:ve}}function ee(m,b){if(g(),f!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let y=E.get(m);if(y!==void 0)return y;M=void 0;let B=Promise.resolve().then(b).then(Z=>a.reconcilePage===void 0?Z:a.reconcilePage(Z,C.window)).then(Z=>{g(),D=Z.stale===true;}).catch(Z=>{let ve=Z instanceof Ea?Z.cause:Z;throw k||(M=pn(ve,`history.${m}`,i)),v?Z:ve}).finally(()=>{E.delete(m),k||R();});return E.set(m,B),R(),B}function q(){C.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u));}async function ae(){K?K=false:await ee("latest",()=>C.window.open(i,{limit:u})),q(),a.shouldEstablishRemoteLatestOnOpen?.(C.window.list())===true&&(await ee("latest:remote",()=>C.window.loadOlder({limit:u})),q());}async function ie(){let m=n.domainState.getSession(i),b=Math.max(0,m?.manuallyUnread===true?0:m?.unreadCount??0),y=n.domainState.getReadState(i),B=y?.readCursor,ve=(B===void 0||B===""?void 0:i.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(i).find(Re=>Re.extensions?.historyCursor===B):n.domainState.getConversationMessage(i,B))?.sortKey??y?.readCursorSortKey;s=await oc({conversation:i,pageSize:u,unreadCount:b,...ve===void 0?{}:{readCursorSortKey:ve},selfId:n.getSelfId(),list:()=>C.window.list(),hasOlder:()=>C.window.info().hasMore,hasNewer:()=>C.window.info().hasNewer,openLatest:ae,openAt:Re=>(K=false,ee(`entry-unread:${Re}`,()=>C.window.openAt(i,{anchorSortKey:Re,limit:u}))),loadOlder:()=>ee("entry-unread:older",()=>C.window.loadOlder({limit:u})),loadNewer:()=>ee("entry-unread:newer",()=>C.window.loadNewer({limit:u}))});}let O=n.emitter.subscribe(m=>{if(!(k||!("conversation"in m)||m.conversation===void 0)&&!(m.conversation.conversationType!==i.conversationType||m.conversation.conversationId!==i.conversationId)){if(m.type==="draft:updated"||m.type==="draft:cleared"){let b=m.type==="draft:updated"?m.draft:null;for(let y of A)try{y(b);}catch(B){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:B}});}}R();}});function U(){return d.initialPosition==="first-unread"?ie():ae()}try{if(d.initialLoad==="local-first"){await ee("initial:local",()=>C.window.open(i,{limit:u})),q(),K=!0;try{await U();}catch(m){if(m instanceof Ea)throw m;M=pn(m,"history.initial",i),d.initialPosition==="first-unread"&&(s=Object.freeze({state:"unavailable"}));}finally{K=!1;}}else await U();}catch(m){throw k=true,O(),I.clear(),C.dispose(),m instanceof Ea?m.cause:m}v=false;function P(m,b){let y=n.domainState.getMessage(m);return y!==void 0&&y.conversationType===i.conversationType&&y.conversationId===i.conversationId?{ok:true,message:Nn(y)}:{ok:false,error:j({code:y===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i})}}async function T(m,b,y){let B=await a.getSendPermissionError?.(m);if(g(),B!==void 0){if(y===void 0)return {ok:false,error:B};let Z=await y(B);return g(),Z}try{let Z=await b();return g(),Z}catch(Z){if(k)throw Z;return {ok:false,error:pn(Z,m,i)}}}async function F(m,b={}){let y="name"in m?m.name:void 0,B=b.fileName??(typeof y=="string"&&y!==""?y:void 0);return {...i,data:m,...m.type===""?{}:{mimeType:m.type},...B===void 0?{}:{filename:B},...b.localPreviewUrl===void 0?{}:{localPreviewUrl:b.localPreviewUrl},...b.localPreviewMetadata===void 0?{}:{localPreviewMetadata:b.localPreviewMetadata},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}}}function G(m){return m===void 0||Number.isFinite(m.width)&&m.width>0&&Number.isFinite(m.height)&&m.height>0}function H(m){return G(m)&&(m?.duration===void 0||Number.isFinite(m.duration)&&m.duration>0)&&(m?.posterData===void 0||m.posterData instanceof Uint8Array&&m.posterData.length>0&&m.posterData.length<=Du)}function oe(m){return m!==void 0&&"duration"in m&&m.duration!==void 0&&m.duration>ku}function de(m){return m!==void 0&&"duration"in m&&m.duration!==void 0&&Number.isFinite(m.duration)&&m.duration>0}function J(m,b,y){return {ok:false,error:j({code:m,category:b,operation:y,retryable:false,conversation:i})}}function ge(m,b){if(m===null||typeof m!="object"||m.kind!==b||!Number.isSafeInteger(m.width)||m.width<=0||m.width>uc||!Number.isSafeInteger(m.height)||m.height<=0||m.height>uc)return false;let y;try{y=new URL(m.url);}catch{return false}if(y.protocol!=="http:"&&y.protocol!=="https:"||y.username!==""||y.password!=="")return false;let B=m.resourceId;if(B!==void 0&&(typeof B!="string"||B.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(m,"packageId");let Z=m.packageId;return typeof B=="string"&&B.trim()!==""&&typeof Z=="string"&&Z.trim()!==""}function ce(m){return Object.assign(new Error(m.code),m,{name:"ImMessageActionError"})}function Me(m,b,y){if(m==="direct"||m==="group"||m==="channel")return Object.freeze({conversationType:m,conversationId:b});throw ce(j({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:y,retryable:false,conversation:i,details:{targetConversationType:m,targetConversationId:b}}))}async function Pe(m,b,y){let B;try{B=await n.forwardMessages({messages:b,targets:y.map(Z=>({...Z}))});}catch(Z){throw ce(pn(Z,m,i))}return g(),Object.freeze({sent:Object.freeze(B.results.flatMap(Z=>Z.ok?[{conversation:Me(Z.targetConversationType,Z.targetConversationId,m),messageId:Z.newMessageId}]:[])),failed:Object.freeze(B.results.flatMap(Z=>Z.ok?[]:[{sourceMessageId:Z.sourceMessageId,conversation:Object.freeze({conversationType:Z.targetConversationType,conversationId:Z.targetConversationId}),error:j({...xu[Z.reason],operation:m,conversation:{conversationType:Z.targetConversationType,conversationId:Z.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...B.skippedSourceIds])})}function be(m,b){let y=n.domainState.getConversationMessage(i,m);if(y===void 0){let B=n.domainState.getMessage(m);throw ce(j({code:B===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i}))}if(y.conversationType!==i.conversationType||y.conversationId!==i.conversationId)throw ce(j({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i}));return y}function Te(m,b){return ce(j({...b,operation:m,conversation:i}))}function je(m,b){let y=j({code:m,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:i,...b===void 0?{}:{cause:b}});return Object.assign(new Error(m),y,{name:"ImLocalMessageDeletionError"})}function Ze(m,b){let y=j({code:m,category:"state",operation:"history.clearLocal",retryable:false,conversation:i,...b===void 0?{}:{cause:b}});return Object.assign(new Error(m),y,{name:"ImLocalConversationHistoryClearError"})}function dt(){if(k)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(f!==void 0)return f;let m=[...E.values()],b=Promise.all(m).then(async()=>{g();let y=[...n.domainState.getMessagesByConversation(i),...C.window.list()];if(n.hasOutboxForConversation(i)||y.some(B=>n.isOutboxOwned(B.id)))throw Ze("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(y.some(B=>B.status==="pending"||B.status==="uploading"||B.status==="sending"))throw Ze("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(i),g(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(y=>{throw y instanceof Error&&y.name==="ImLocalConversationHistoryClearError"?y:Ze("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",y)}).finally(()=>{f===b&&(f=void 0);});return f=b,b}async function lt(m,b){if(m!==void 0)try{await n.domainState.clearDraftIfUnchanged(i,m);}catch(y){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${b}\uFF09`,cause:y}});}}async function wn(m,b,y,B,Z){return T(m,async()=>{if(b==="image"){let le=await Dt(y);if(g(),!le)return J("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",m)}let ve=await F(y,B);if(b!==void 0&&ve.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let le=new AbortController,_e=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${m}:${++h}`,kind:b,file:y,signal:le.signal});if(g(),_e===void 0||(b==="image"?!G(_e):!H(_e)))return J(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);ve.localPreviewMetadata=_e;}if(b==="video"&&(n.prepareMediaPreview!==void 0||ve.localPreviewMetadata!==void 0)&&!de(ve.localPreviewMetadata))return J("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);if(b==="video"&&oe(ve.localPreviewMetadata))return J("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",m);let Re=a.recheckSendPermissionError?.(m);if(Re!==void 0)return {ok:!1,error:Re};let Ne=await Z({...ve,...B.caption===void 0||B.caption===""?{}:{caption:B.caption}});return Ne.ok?(g(),P(Ne.messageId,m)):{ok:!1,error:tt(Ne.reason,m,i)}})}async function zt(m,b){let y="messages.sendMediaAlbum";if(m.length===0)return J("IM_SDK_MEDIA_ALBUM_EMPTY","validation",y);if(m.length>9)return J("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",y);if(b.caption!==void 0&&b.caption.length>1024)return J("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",y);for(let B of m){if(B.file.type==="image/gif")return J("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",y);if(B.kind==="image"){if(B.file.size>lc)return J("IM_SDK_IMAGE_TOO_LARGE","validation",y);if(!G(B.localPreviewMetadata))return J("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",y)}else {if(B.file.size>Vr)return J("IM_SDK_VIDEO_TOO_LARGE","validation",y);if(!H(B.localPreviewMetadata))return J("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",y);if(oe(B.localPreviewMetadata))return J("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",y)}}return T(y,async()=>{for(let Ne of m){if(Ne.kind!=="image")continue;let le=await Dt(Ne.file);if(g(),!le)return J("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",y)}let B=await Promise.all(m.map(async Ne=>{if(Ne.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return Ne.localPreviewMetadata;let le=new AbortController;return n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${y}:${++h}`,kind:Ne.kind,file:Ne.file,signal:le.signal})}));g();let Z=[];for(let[Ne,le]of m.entries()){let _e=B[Ne];if(le.kind==="image"&&!G(_e))return J("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",y);if(le.kind==="video"){if(!H(_e))return J("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",y);if(n.prepareMediaPreview!==void 0&&!de(_e))return J("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",y);if(oe(_e))return J("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",y)}let en="name"in le.file?le.file.name:void 0;Z.push({kind:le.kind,data:le.file,...le.file.type===""?{}:{mimeType:le.file.type},...typeof en=="string"&&en!==""?{filename:en}:{},...le.localPreviewUrl===void 0?{}:{localPreviewUrl:le.localPreviewUrl},..._e===void 0?{}:{localPreviewMetadata:_e}});}let ve=a.recheckSendPermissionError?.(y);if(ve!==void 0)return {ok:!1,error:ve};let Re=await n.sendMediaAlbum({...i,items:Z,...b.caption===void 0||b.caption.trim()===""?{}:{caption:b.caption},...b.hd===void 0?{}:{hd:b.hd},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Re.ok?(g(),P(Re.messageId,y)):{ok:!1,error:tt(Re.reason,y,i)}})}function Bn(m,b,y){let B=be(m,y);if(B.contentType!==b||B.status!=="failed"||B.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(m))throw ce(j({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:y,retryable:false,conversation:i}));return B}async function ut(m,b,y,B,Z,ve){return Bn(b,y,m),T(m,async()=>{let Re=await F(B,Z);if(y==="video"&&Re.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let _e=new AbortController,en=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${m}:${++h}`,kind:"video",file:B,signal:_e.signal});if(g(),en===void 0||!H(en))return J("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);Re.localPreviewMetadata=en;}if(y==="video"&&(n.prepareMediaPreview!==void 0||Re.localPreviewMetadata!==void 0)&&!de(Re.localPreviewMetadata))return J("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);if(oe(Re.localPreviewMetadata))return J("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",m);let Ne=a.recheckSendPermissionError?.(m);if(Ne!==void 0)return {ok:!1,error:Ne};Bn(b,y,m);let le=await ve(b,{...Re,...Z.caption===void 0||Z.caption===""?{}:{caption:Z.caption}});return le.ok?(g(),P(le.messageId,m)):{ok:!1,error:tt(le.reason,m,i)}})}let In={ref:i,getSnapshot:W,subscribe(m){return g(),I.add(m),()=>I.delete(m)},resolveMessage:async m=>{g();let b=C.window.list().find(y=>y.id===m)??await n.domainState.resolveConversationMessage(i,m);return b===void 0?null:Y(b)},history:{loadLatest:async()=>{g(),await ae(),g(),R();},loadOlder:async()=>(g(),ee("older",()=>C.window.loadOlder({limit:u}))),loadNewer:async()=>{g(),await ee("newer",()=>C.window.loadNewer({limit:u})),g(),C.window.info().hasNewer||(q(),R());},loadAround:async m=>{g();let b=await $(m);if(b===void 0||b.anchor.conversationType!==i.conversationType||b.anchor.conversationId!==i.conversationId)throw wu(i,m);let{anchor:y}=b;await ee(`around:${m}`,async()=>{let B=await C.window.openAt(i,{anchorSortKey:y.sortKey,limit:u});return C.window.list().some(Z=>Z.id===m)||b.fallbackSeed===void 0?B:C.window.openAt(i,{anchorSortKey:y.sortKey,limit:u,seedMessages:[b.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(g(),dt())},messages:{sendText:async(m,b={})=>{g();let y=t(i,m,b);if("code"in y)return {ok:false,error:y};let B=n.domainState.getDraft(i)?.updatedAt;return T("messages.sendText",async()=>{let Z=await n.sendText(y);return g(),await lt(B,"messages.sendText"),P(Z.id,"messages.sendText")},async Z=>{let ve=a.appendTextPermissionFailure?.(y);return ve===void 0?{ok:false,error:Z}:(await lt(B,"messages.sendText"),{ok:true,message:Nn(ve)})})},sendContact:async(m,b={})=>{g();let y=m.targetId.trim(),B=m.displayName.trim();if(y===""||B==="")return {ok:false,error:j({code:y===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:i})};let Z={...i,contact:{...m,targetId:y,displayName:B},encrypted:i.conversationType!=="direct",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return T("messages.sendContact",async()=>{let ve=await n.sendContact(Z);return P(ve.id,"messages.sendContact")})},sendImage:async(m,b={})=>(g(),m.size>lc?J("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?J("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):G(b.localPreviewMetadata)?wn("messages.sendImage","image",m,b,n.sendImage):J("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(m,b={})=>(g(),zt(m,b)),sendVideo:async(m,b={})=>(g(),m.size>Vr?J("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):H(b.localPreviewMetadata)?wn("messages.sendVideo","video",m,b,n.sendVideo):J("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(m,b,y={})=>(g(),b.size>Vr?J("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):H(y.localPreviewMetadata)?ut("messages.replaceInterruptedVideo",m,"video",b,y,n.replaceVideo):J("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(m,b)=>(g(),T("messages.sendVoice",async()=>{let y=await F(m,b),B=a.recheckSendPermissionError?.("messages.sendVoice");if(B!==void 0)return {ok:!1,error:B};let Z=await n.sendVoice({...y,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return Z.ok?(g(),P(Z.messageId,"messages.sendVoice")):{ok:!1,error:tt(Z.reason,"messages.sendVoice",i)}})),sendFile:async(m,b={})=>{if(g(),m.size>dc)return J("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&b.caption!=="")return J("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let y=b.fileName??("name"in m?m.name:void 0);return typeof y!="string"||y.trim()===""?J("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):wn("messages.sendFile",void 0,m,b,n.sendFile)},sendGif:async(m,b={})=>(g(),m.size>Tu?J("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Ou(m)?wn("messages.sendGif",void 0,m,b,y=>n.sendGif(y)):J("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(m,b={})=>(g(),ge(m,"sticker")?T("messages.sendSticker",async()=>{let y=await n.sendExpression({...i,asset:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return P(y.id,"messages.sendSticker")}):J("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(m,b={})=>(g(),ge(m,"gif")?T("messages.sendGifAsset",async()=>{let y=await n.sendExpression({...i,asset:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return P(y.id,"messages.sendGifAsset")}):J("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(m,b={})=>(g(),m!=="rock-paper-scissors"&&m!=="dice"?J("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):T("messages.sendGame",async()=>{let y=await n.sendGame({...i,gameType:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return P(y.id,"messages.sendGame")})),sendMiniProgram:async(m,b={})=>(g(),r$1(m)?T("messages.sendMiniProgram",async()=>{let y=await n.sendMiniProgram({...i,miniProgram:m,encrypted:i.conversationType!=="direct",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return P(y.id,"messages.sendMiniProgram")}):J("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(m,b={})=>(g(),i.conversationType==="channel"?J("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):t$1(m)?T("messages.sendTransfer",async()=>{let y=await n.sendTransfer({...i,transfer:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return P(y.id,"messages.sendTransfer")}):J("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(m,b)=>{g(),be(m,"messages.toggleReaction");let y=await n.setReaction({conversation:i,parentMessageId:m,emoji:b,action:"toggle"});if(g(),!y.ok)throw Te("messages.toggleReaction",ic[y.reason]);return Object.freeze({messageId:m,eventId:y.event.id,emoji:y.event.emoji,action:y.event.action===0?"add":"remove"})},setReaction:async(m,b,y)=>{g(),be(m,"messages.setReaction");let B=await n.setReaction({conversation:i,parentMessageId:m,emoji:b,action:y});if(g(),!B.ok)throw Te("messages.setReaction",ic[B.reason]);return Object.freeze({messageId:m,eventId:B.event.id,emoji:B.event.emoji,action:B.event.action===0?"add":"remove"})},replaceInterruptedFile:async(m,b,y={})=>{if(g(),b.size>dc)return J("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(y.caption!==void 0&&y.caption!=="")return J("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let B=y.fileName??("name"in b?b.name:void 0);return typeof B!="string"||B.trim()===""?J("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):ut("messages.replaceInterruptedFile",m,"file",b,{...y,fileName:B},n.replaceFile)},editText:async(m,b,y={})=>{g(),be(m,"messages.editText");let B=c(i,m,b,y);if("code"in B)throw ce(B);let Z;try{Z=await n.editMessage(B);}catch(ve){throw ce(pn(ve,"messages.editText",i))}if(g(),!Z.ok)throw Te("messages.editText",Ru[Z.reason]);return Nn(be(m,"messages.editText"))},recall:async m=>{g(),be(m,"messages.recall");let b;try{b=await n.recallMessage({...i,messageId:m});}catch(y){throw ce(pn(y,"messages.recall",i))}if(g(),!b.ok)throw Te("messages.recall",Eu[b.reason])},deleteLocal:async m=>{g();let b=n.domainState.getConversationMessage(i,m);if(n.isOutboxOwned(m))throw je("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===i.conversationType&&b.conversationId===i.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw je("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let y=await n.domainState.deleteLocalMessage(i,m);return g(),Object.freeze({scope:"local-only",messageId:m,deleted:y,remoteHistory:"remote-history-may-restore"})}catch(y){throw y instanceof Error&&y.name==="ImLocalMessageDeletionError"?y:je("IM_SDK_LOCAL_DELETE_FAILED",y)}},forward:async(m,b)=>{if(g(),m.length===0||b.length===0)throw ce(j({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:i}));return Pe("messages.forward",m.map(y=>({id:y,...i})),b)},forwardMediaAlbumItem:async(m,b,y)=>{g();let B="messages.forwardMediaAlbumItem";if(m.trim()===""||y.length===0)throw ce(j({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:B,retryable:false,conversation:i}));if(!Number.isInteger(b)||b<0)throw ce(j({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:B,retryable:false,conversation:i,details:{itemIndex:b}}));return Pe(B,[{id:m,...i,itemIndex:b}],y)},fetchByIds:async m=>{g();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw ce(j({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:i}));let y=await ac({messageIds:m,fetchBatch:b,isCurrent:()=>!k,projectMessage:Y});return Object.freeze({messages:Object.freeze([...y.messages]),missingMessageIds:Object.freeze([...y.missingMessageIds]),unresolvedMessageIds:Object.freeze([...y.unresolvedMessageIds]),...y.failure===void 0?{}:{failure:Object.freeze(y.failure)}})}},draft:{get:async()=>(g(),n.drafts.get(i)),save:async m=>(g(),n.drafts.save(i,m)),clear:async()=>{g(),await n.drafts.clear(i);},subscribe(m){return g(),A.add(m),()=>A.delete(m)}},markRead:async m=>{g();let b=C.window.list();if(m!==void 0&&!b.some(B=>B.id===m))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${m}`);let y=a.resolveReadMessageId===void 0?m??b.at(-1)?.id:a.resolveReadMessageId(b,m);y!==void 0&&await n.markRead({...i,readCursor:y});},setMuted:async m=>(g(),n.setMuted(i,m)),close(){k||(k=true,O(),I.clear(),A.clear(),C.dispose());}};return zr.set(In,{getMessages:()=>(g(),C.window.list()),resolveMessage:async m=>(g(),C.window.list().find(b=>b.id===m)??n.domainState.resolveConversationMessage(i,m))}),In}var Nu=5e3;async function mc(e,n,t={}){let c=false,a,d;function i(){let A=Date.now();if(a!==void 0&&A-a.checkedAt<Nu)return Promise.resolve(a.value);if(d!==void 0)return d;let E=n.getRelationship(e.conversationId).then(f=>(a={value:f,checkedAt:Date.now()},f)).catch(f=>(c=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:f}}),a={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===E&&(d=void 0);});return d=E,E}async function u(A){if(!n.shouldCheckRelationship())return;let E=await i();if(E!=="friend"){if(E==="unknown"){c||(c=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:E}}}));return}return j({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:A,retryable:false,conversation:e,details:Object.freeze({relationship:E})})}}n.shouldCheckRelationship()&&i();let C=await qr(e,n,(A,E,f)=>f.mentions!==void 0&&f.mentions.length>0?j({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:A}):{...A,text:E,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(A,E,f,M)=>M.mentions!==void 0&&M.mentions.length>0?j({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:A}):{...A,messageId:E,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},t),I={...C,messages:{...C.messages,async markMediaConsumed(A){let E=n.domainState.getConversationMessage(e,A);if(E===void 0||E.senderId===n.getSelfId()||E.contentType!=="voice"&&E.contentType!=="video"){let f=j({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(f.code),f)}await n.markDirectMediaConsumed(e.conversationId,A);}}};return jt(I,C),I}async function fc(e,n,t={}){return qr(e,n,(c,a,d)=>{let i=ct(d.mentions);return {...c,text:a,encrypted:true,...i===void 0?{}:{mention:i},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,a,d,i)=>{let u=ct(i.mentions);return {...c,messageId:a,text:d,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&gc(c,n.pageSize??30)},t)}var Lu=new Set(["pending","uploading","sending"]);function gc(e,n){return e.length<n}function pc(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Fu(e,n,t){let c=t===void 0?e.length-1:e.findIndex(i=>i.id===t),a=e[c];if(a===void 0||pc(a))return a?.id;let d=e.slice(0,c).findLast(i=>pc(i));return d!==void 0?d.id:a.senderId===n&&Lu.has(a.status)?void 0:a.id}function Ku(e,n){let t=false;for(let c of e){let a=c.body.system;if(!(c.conversationType!=="channel"||a?.targetUserIds?.includes(n)!==true)){if(a.eventType==="channel_member_left"||a.eventType==="channel_member_removed"){t=true;continue}if(t&&(a.eventType==="channel_member_joined"||a.eventType==="channel_member_invited"))return true}}return false}async function Ic(e,n,t={}){let c=await qr(e,n,(d,i,u)=>{let C=ct(u.mentions);return {...d,text:i,encrypted:true,...C===void 0?{}:{mention:C},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(d,i,u,C)=>{let I=ct(C.mentions);return {...d,messageId:i,text:u,...I===void 0?{}:{mention:I}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&gc(d,n.pageSize??30)||Ku(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,i)=>Fu(d,n.getSelfId(),i)},t),a={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw cc(e,sc["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:d});}catch(C){let I=pn(C,"messages.deleteForEveryone",e);throw Object.assign(new Error(I.code,{cause:C}),I)}if(!u.ok)throw cc(e,sc[u.reason])}}};return jt(a,c),a}var Uu=40,Bu=100,Gu=0;function gn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function ju(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function yc(e){let n=++Gu,t=new Map,c=new Map,a=new Map,d=new Map,i=new Map,u=0,C=true;function I(){if(!C)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function A(v){let h=v??Uu;if(!Number.isSafeInteger(h)||h<1||h>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return h}function E(v){let h=`im-directory:${n}:${++u}`;return t.set(h,v),h}function f(v,h){let s=i.get(v);s===void 0&&(s=new Map,i.set(v,s));let o=h.map(p=>Object.freeze({...p}));for(let p of o)s.set(p.id,p);return Object.freeze(o)}async function M(v,h,s){if(I(),e.provider===void 0)throw new Error(`${gn(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:v,page:h,pageSize:s});if(I(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${gn(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:E({kind:v,page:o.nextPage,pageSize:s}),g=f(v,o.items);return Object.freeze({items:g,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function D(v){return {listFirstPage:h=>M(v,1,A(h?.pageSize)),listNextPage:h=>{I();let s=t.get(h);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==v)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${gn(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${gn(v)}`));let o=c.get(h);if(o!==void 0)return o;let p=M(v,s.page,s.pageSize).then(g=>(t.delete(h),g)).finally(()=>{c.delete(h);});return c.set(h,p),p}}}function k(v){I();let h=a.get(v);if(h!==void 0)return Promise.resolve(h);let s=d.get(v);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${gn(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],g=new Map,S=new Set,L=1;for(;;){if(I(),S.has(L))throw new Error(`${gn(v)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);S.add(L);let Y=await e.provider.list({kind:v,page:L,pageSize:Bu});if(I(),Y.exhausted===(Y.nextPage!==void 0))throw new Error(`${gn(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let w of Y.items)g.has(w.id)||p.push(w.id),g.set(w.id,w);if(Y.nextPage===void 0)break;if(!Number.isSafeInteger(Y.nextPage)||Y.nextPage<1)throw new Error(`${gn(v)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);L=Y.nextPage;}let N=f(v,p.map(Y=>g.get(Y)));return I(),a.set(v,N),N})().finally(()=>{d.delete(v);});return d.set(v,o),o}async function K(v){if(I(),v.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[h,s,o,p]=await Promise.all([k("individual"),k("group"),k("channel"),ca$1(v)]);I();function g(L,N){let Y=[];for(let w of N){let W=w==="displayName"?L.displayName:w==="username"?L.username:L.id;if(W===void 0||W==="")continue;let R=p.match(W,{pinyin:w==="displayName"});R!==null&&Y.push(ju(w,R));}return Y.length===0?null:Object.freeze({item:L,matches:Object.freeze(Y)})}function S(L,N){return Object.freeze(L.flatMap(Y=>{let w=g(Y,N);return w===null?[]:[w]}))}return Object.freeze({keyword:p.keyword,contacts:S(h,["displayName","username","id"]),groups:S(s,["displayName"]),channels:S(o,["displayName"])})}return {contacts:D("individual"),groups:D("group"),channels:D("channel"),search:{search:K},peekItem:(v,h)=>(I(),i.get(v)?.get(h)),dispose:()=>{C=false,t.clear(),c.clear(),a.clear(),d.clear(),i.clear();}}}function Hu(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw j({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 Ht(e){return Hu(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Vu(e,n){let t=n.attachments;if(t!==void 0&&t.length>0)throw j({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 hc(e){let n=new Set;function t(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(a){return t(),e.domainState.getDraft(Ht(a))},async save(a,d){t();let i=Ht(a);return e.domainState.saveDraft(i,Vu(i,d))},async clear(a){t(),await e.domainState.clearDraft(Ht(a));},subscribe(a,d){t();let i=Ht(a),u=e.emitter.subscribe(I=>{I.type!=="draft:updated"&&I.type!=="draft:cleared"||I.conversation.conversationType!==i.conversationType||I.conversation.conversationId!==i.conversationId||d(I.type==="draft:updated"?I.draft:null);}),C=()=>{u(),n.delete(C);};return n.add(C),C}},dispose(){for(let a of [...n])a();}}}var zu=20,vc=50,Cc=30,Mc=4294967295;function En(e){let n=j(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Ge(e,n){return En({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function bc(e,n){if(n instanceof w$1)return En({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof x$1)return En({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof c$1)return En({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$1){let t=n instanceof y$1?n.status:void 0;return En({code:n instanceof y$1?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:t===void 0||t===0||t===408||t===429||t>=500,...t===void 0?{}:{details:Object.freeze({status:t})},cause:n})}return En({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function sn(e,n,t){if(typeof e!="string"||e.trim()==="")throw Ge(t,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function qu(e,n){if(typeof e!="string"||e.trim()==="")throw new x$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Wu(e,n,t){if(e===void 0)return "";if(typeof e!="string")throw Ge(t,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function $u(e,n,t){let c=sn(e,n,t),a;try{a=new URL(c);}catch{throw Ge(t,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(a.protocol!=="https:"&&a.protocol!=="http:")throw Ge(t,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(a.username!==""||a.password!=="")throw Ge(t,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function Sc(e,n,t){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Mc)throw Ge(t,`${n} \u5FC5\u987B\u662F 1-${Mc} \u7684\u6574\u6570`);return Number(e)}function wc(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Ge(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let t={url:$u(e.url,"url",n),width:Sc(e.width,"width",n),height:Sc(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...t,packageId:sn(e.packageId,"packageId",n),resourceId:sn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Ge(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:sn(e.resourceId,"resourceId",n);return {kind:e.kind,...t,...c===void 0?{}:{resourceId:c}}}function Ju(e,n){if(e===null||typeof e!="object")throw Ge(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:sn(e.token,"token",n),resourceId:sn(e.resourceId,"resourceId",n)}:wc(e,n)}function Yu(e,n){if(e!=="sticker"&&e!=="gif")throw Ge(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Xu(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Ge(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Pc(e,n){if(!Array.isArray(e))throw Ge(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let t=[...new Set(e.map(c=>sn(c,"recordId",n)))];if(t.some(c=>c.includes("|")))throw Ge(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(t.length===0||t.length>Cc)throw Ge(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Cc} \u4E2A id`);return t}function Ac(e,n){let t=e?.offset??0,c=e?.pageSize??zu;if(!Number.isSafeInteger(t)||t<0)throw Ge(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>vc)throw Ge(n,`pageSize \u5FC5\u987B\u662F 1-${vc} \u7684\u6574\u6570`);return {offset:t,limit:c}}function Ec(e){return Object.freeze({...e})}function Qu(e){return Object.freeze({...e})}function Rc(e){let n=Object.freeze(e.items.map(t=>Object.freeze({...t})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function Tc(e){function n(a){if(!e.isActive())throw En({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function t(a,d){if(n(a),e.provider===void 0)throw bc(a,new w$1("core"));let i;try{i=await d(e.provider);}catch(u){throw n(a),bc(a,u)}return n(a),i}let c={packs:Object.freeze({list:async a=>{let d="expressions.packs.list",i=a?.version===void 0?void 0:Wu(a.version,"version",d),u=await t(d,I=>I.listStickerPacks(i)),C=Object.freeze(u.items.map(I=>Object.freeze({...I})));return Object.freeze({version:u.version,items:C})},listItems:async a=>{let d="expressions.packs.listItems",i=sn(a,"packageId",d),u=await t(d,C=>C.listStickerItems(i));return Object.freeze(u.map(Ec))}}),favorites:Object.freeze({list:async a=>{let d="expressions.favorites.list",i=await t(d,u=>u.listFavorites(Yu(a,d)));return Object.freeze(i.map(Ec))},add:async a=>{let d="expressions.favorites.add",i=wc(a,d);await t(d,u=>u.addFavorite(i));},delete:async a=>{let d="expressions.favorites.delete",i=Pc(a,d);await t(d,u=>u.deleteFavorites(i));}}),recent:Object.freeze({list:async a=>{let d="expressions.recent.list",i=await t(d,u=>u.listRecent(Xu(a,d)));return Object.freeze(i.map(Qu))},report:async a=>{let d="expressions.recent.report",i=Ju(a,d);await t(d,u=>u.reportRecent(i));},delete:async a=>{let d="expressions.recent.delete",i=Pc(a,d);await t(d,u=>u.deleteRecent(i));}}),reactions:Object.freeze({listTop:async a=>{let d="expressions.reactions.listTop",i=a?.limit;if(i!==void 0&&(!Number.isSafeInteger(i)||i<1||i>50))throw Ge(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return t(d,async u=>{let C=await u.listReactionTop(i);if(!Array.isArray(C))throw new x$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(C.map(I=>qu(I,"reaction emoji")))})},report:async a=>{let d="expressions.reactions.report",i=sn(a,"emoji",d);await t(d,u=>u.reportReaction(i));}}),giphy:Object.freeze({trending:async a=>{let d="expressions.giphy.trending",i=await t(d,u=>u.listGiphyTrending(Ac(a,d)));return Rc(i)},search:async(a,d)=>{let i="expressions.giphy.search",u=sn(a,"query",i),C=await t(i,I=>I.searchGiphy({query:u,...Ac(d,i)}));return Rc(C)}})};return {api:Object.freeze(c)}}function Rn(e,n,t){try{t();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?j({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):j({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function _c(e){return {createRoom(n){Rn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Rn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Rn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Rn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Rn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Rn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Rn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Zu=30,ep=300*1e3,np=64,tp=900*1e3,rp=2048,op=0;function cn(e){let n=j({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 Dc(e){let n=e.now??(()=>Date.now()),t=e.pageSize??Zu,c=e.tokenTtlMs??ep,a=e.maxTokens??np,d=e.anchorTtlMs??tp,i=e.maxAnchors??rp;if(!Number.isInteger(t)||t<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(a)||a<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++op,C=new Map,I=new Map,A=0,E=true;function f(R){if(!E)throw cn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:R,retryable:false});if(e.isAvailable?.()===false)throw cn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:R,retryable:false})}function M(R,$){let ee=R.trim();if(ee==="")throw cn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:$,retryable:false});return ee}function D(R){let $=`im-search:${u}:${++A}`;for(C.set($,{...R,expiresAt:n()+c});C.size>a;){let ee=C.keys().next().value;if(typeof ee!="string")break;C.delete(ee);}return $}function k(R,$){return JSON.stringify([R.conversationType,R.conversationId,$])}function K(R){for(let[$,ee]of I)ee.expiresAt<=R&&I.delete($);}function v(R,$){let ee=Object.freeze({conversationType:R.conversationType,conversationId:R.conversationId}),q=k(ee,R.id);for(I.delete(q),I.set(q,{anchor:Object.freeze({id:R.id,conversationType:R.conversationType,conversationId:R.conversationId,sortKey:R.sortKey}),expiresAt:$+d});I.size>i;){let ae=I.keys().next().value;if(typeof ae!="string")break;I.delete(ae);}}function h(R,$){let ee=$==="conversation"?"search.conversations.next":"search.messages.next";f(ee);let q=C.get(R);if(q===void 0||q.expiresAt<=n())throw C.delete(R),cn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:ee,retryable:false});if(q.kind!==$)throw cn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:ee,retryable:false});return q}function s(R){let $=R.draft?.text.trim();return $===void 0||$===""?R.lastMessagePreview:$}function o(R){let $=Object.freeze({conversationType:R.type,conversationId:R.id});return Object.freeze({ref:$,title:R.title,preview:s(R)})}function p(R,$){let ee=Object.freeze(R.slice($,$+t)),q=$+ee.length,ae=q>=R.length,ie=ae?void 0:D({kind:"conversation",items:R,offset:q});return Object.freeze({items:ee,...ie===void 0?{}:{nextPageToken:ie},exhausted:ae})}async function g(R,$,ee){f(ee);let q=M($,ee).toLowerCase(),ae=Object.freeze(e.domainState.getConversationList().filter(ie=>(ie.type==="direct"||ie.type==="group"||ie.type==="channel")&&(R===void 0||ie.type===R)&&`${ie.title}
|
|
2
|
+
${ie.id}`.toLowerCase().includes(q)).map(o));return p(ae,0)}function S(R,$,ee){let q=R.conversationId.trim();if(R.conversationType!==$||q==="")throw cn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:ee,retryable:false});return Object.freeze({conversationType:$,conversationId:q})}function L(R,$){let ee=R.conversationType,q=R.conversationId.trim();if(ee!=="direct"&&ee!=="group"&&ee!=="channel"||q==="")throw cn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:ee==="supergroup"?"unsupported":"validation",operation:$,retryable:false});return Object.freeze({conversationType:ee,conversationId:q})}async function N(R){f("search.messages");let $;try{$=await e.domainState.searchMessages(R.ref,{...R.keyword===void 0?{}:{keyword:R.keyword},...R.contentTypes===void 0?{}:{contentTypes:R.contentTypes},limit:t,...R.beforeSortKey===void 0?{}:{beforeSortKey:R.beforeSortKey}});}catch(U){throw cn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:U})}let ee=new Set,q=[],ae=n();K(ae);for(let{message:U}of $.results){if(U.conversationType!==R.ref.conversationType||U.conversationId!==R.ref.conversationId||U.sortKey.trim()===""||R.contentTypes!==void 0&&!R.contentTypes.includes(U.contentType))throw cn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});ee.has(U.id)||(ee.add(U.id),v(U,ae),q.push(Object.freeze({ref:R.ref,messageId:U.id,senderId:U.senderId,createdAt:k$1(U),contentType:U.contentType,preview:aa$1(U)})));}let ie=$.nextBeforeSortKey?.trim();if(!$.exhausted&&(ie===void 0||ie==="")||$.exhausted&&ie!==void 0)throw cn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let O=ie===void 0?void 0:D({kind:"message",ref:R.ref,...R.keyword===void 0?{}:{keyword:R.keyword},...R.contentTypes===void 0?{}:{contentTypes:R.contentTypes},beforeSortKey:ie});return Object.freeze({items:Object.freeze(q),...O===void 0?{}:{nextPageToken:O},exhausted:$.exhausted})}async function Y(R,$,ee,q){f(q);let ae=S(R,$,q);return N({ref:ae,keyword:M(ee,q)})}async function w(R,$,ee,q){f(ee);let ae=L(R,ee),ie=q?.trim();return N({ref:ae,...ie===void 0||ie===""?{}:{keyword:ie},contentTypes:Object.freeze([$])})}return {api:{conversations:{all:R=>g(void 0,R,"search.conversations.all"),direct:R=>g("direct",R,"search.conversations.direct"),groups:R=>g("group",R,"search.conversations.groups"),channels:R=>g("channel",R,"search.conversations.channels"),async next(R){let $=h(R,"conversation");return p($.items,$.offset)}},messages:{inDirect:(R,$)=>Y(R,"direct",$,"search.messages.inDirect"),inGroup:(R,$)=>Y(R,"group",$,"search.messages.inGroup"),inChannel:(R,$)=>Y(R,"channel",$,"search.messages.inChannel"),texts:async(R,$)=>(f("search.messages.texts"),w(R,"text","search.messages.texts",M($,"search.messages.texts"))),files:(R,$)=>w(R,"file","search.messages.files",$),images:R=>w(R,"image","search.messages.images"),videos:R=>w(R,"video","search.messages.videos"),voices:R=>w(R,"voice","search.messages.voices"),async next(R){let $=h(R,"message");return N($)}}},resolveHistoryAnchor(R,$){if(!E||e.isAvailable?.()===false)return;let ee=k(R,$),q=I.get(ee);if(q!==void 0){if(q.expiresAt<=n()){I.delete(ee);return}return q.anchor}},dispose(){E&&(E=false,C.clear(),I.clear());}}}function Vt(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let t={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},...n.resolvedKeyVersion===void 0?{}:{resolvedKeyVersion:n.resolvedKeyVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(t).length===0?{}:{safeProtocolMetadata:t}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function kc(e,n){return {prepareLocalMediaPreview:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:a.kind,file:a.file,includePoster:a.kind==="video",...a.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},a.signal);return a.kind==="video"?{width:d.width,height:d.height,...d.duration===void 0?{}:{duration:d.duration},...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}:{width:d.width,height:d.height}},prepareLocalVideoPoster:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:"video",file:a.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},a.signal);return {width:d.width,height:d.height,...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}}}}function Oc(e){function n(u){let C=0n;for(let I=0;I<10;I++){let A=u+I,E=e[A];if(E===void 0)return {ok:false,kind:"truncated-varint"};if(C|=BigInt(E&127)<<BigInt(I*7),(E&128)===0)return {ok:true,nextOffset:A+1,value:C}}return {ok:false,kind:"invalid-varint"}}let t=[],c,a=0;function d(u,C,I){return {protobufWireStatus:u,protobufFieldNumbers:t,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:C,protobufFailureOffset:I,protobufBytesRemaining:Math.max(0,e.length-I)}}function i(u){t.length<32&&!t.includes(u)&&t.push(u),c=u;}for(;a<e.length;){let u=a,C=n(u);if(!C.ok)return d(C.kind==="truncated-varint"?"truncated":"invalid",C.kind==="truncated-varint"?"truncated-tag":C.kind,u);let I=Number(C.value>>3n),A=Number(C.value&0x07n);if(!Number.isSafeInteger(I)||I<=0)return d("invalid","invalid-field-number",u);if(a=C.nextOffset,A===0){let E=a,f=n(E);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,E);a=f.nextOffset;}else if(A===1){if(e.length-a<8)return d("truncated","truncated-fixed64",a);a+=8;}else if(A===2){let E=a,f=n(E);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,E);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",E);a=f.nextOffset;let M=Number(f.value);if(M>e.length-a)return d("truncated","truncated-length-delimited",a);a+=M;}else if(A===5){if(e.length-a<4)return d("truncated","truncated-fixed32",a);a+=4;}else return d("invalid","invalid-wire-type",u);i(I);}return {protobufWireStatus:"complete",protobufFieldNumbers:t,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}function ap(e){let{transportStatus:n,httpStatus:t,businessCode:c}=e,a=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||c===void 0?"invalid-response":c!==void 0&&c!==200?"business":void 0;return a===void 0?void 0:Object.freeze({service:"core",kind:a,...t===void 0?{}:{httpStatus:t},...c===void 0?{}:{businessCode:c}})}function xc(e){let n=i=>u({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:i,getClientType:()=>e.clientType});if(e.onRequestError===void 0)return {coreClient:e.coreClient,http:e.http??n(e.authProvider.getLoginContext)};async function t(i,u,C){if(!(!e.isActive()||C?.aborted||!u?.userId||!u.token))try{let I=await e.authProvider.getLoginContext();if(!e.isActive()||C?.aborted||I?.userId!==u.userId||I.token!==u.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(i))).catch(e.onHandlerError);}catch(I){e.onHandlerError(I);}}async function c(){let i=await e.authProvider.getLoginContext();if(!e.isActive())throw j({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false});return i===null?null:{...i}}let a=e.coreClient;return {coreClient:a===void 0?void 0:async(i,u)=>{let C=await c(),I,A=await a(i,{...u,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:f=>{I=f;}});if(I===void 0)throw j({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let E=ap(I);return E!==void 0&&await t(E,C,u?.signal),A},http:{async postProtobuf(i){let u$1=await c(),C=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(C==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let I=e.http??u({getBaseUrl:()=>C,getAuth:async()=>u$1,getClientType:()=>e.clientType});try{return await I.postProtobuf(i)}catch(A){throw await t(A instanceof sa?{service:"cm",kind:"http",httpStatus:A.status}:{service:"cm",kind:"network"},u$1,i.signal),A}}}}}var ip=2,Un=30,sp=50,cp=5,dp=20;function Nc(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return t}function lp(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 up(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 Lc(e$1,n$2,t$1,c$1=0){let a$1=e$1.clientType??ip,d$2={...e$1.authProvider,getLoginContext:async()=>{let r=await e$1.authProvider.getLoginContext();return r===null?null:{...r,clientType:a$1}}},i="",u=Mr(e$1.debug,()=>({generation:c$1,...i===""?{}:{accountId:i}})),C=true,{coreClient:I,http:A}=xc({coreClient:e$1.coreClient,http:e$1.http,authProvider:d$2,endpointProvider:e$1.endpointProvider,clientType:a$1,isActive:()=>C,onRequestError:e$1.onRequestError,onHandlerError:r=>u.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:r}}))}),E=e$1.transport??Ya(),f=e$1.adapters?.storage,M=f?.create({namespaceFactory:t$1})??(typeof indexedDB>"u"?void 0:Xa({namespaceFactory:t$1,mediaAssetCache:{strategies:bs()}})),D=r=>{let l=M?.saveDecryptRecovery;l!==void 0&&l(r).then(()=>to(r)).catch(x=>n$2.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${r.conversation.conversationType}, messageId=${r.messageId}\uFF09`,cause:x}}));},k$1=lp(M)?M:void 0,K=nc({...M===void 0?{}:{storage:M},...I===void 0?{}:{coreClient:I}}),v$1,h$1,s$1=vs({...M===void 0?{}:{storage:M},conversationBackgrounds:K.api,onDirectReadReceiptDisabled:r=>v$1?.(r)}),o$1=0;function p(r){return o$1+=1,`channel-${r}-${c$1}-${o$1}`}let g$1=kb(u),S=(r,l,x=i)=>{let V=l.fromId===x?l.toId:l.fromId;Vt(u,{conversation:{conversationType:"direct",conversationId:V},source:r,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},L$1=(r,l)=>{Vt(u,{conversation:{conversationType:"group",conversationId:l.groupId},source:r,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},N=(r,l)=>{Vt(u,{conversation:{conversationType:"channel",conversationId:l.channelId},source:r,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},Y=r=>{u.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:r.channelId},...r.operationId===void 0?{}:{operationId:r.operationId},data:{messageId:r.messageId,encrypt:r.encrypt,contentLength:r.contentLength,...r.endpoint===void 0?{}:{endpoint:r.endpoint},...r.surface===void 0?{}:{surface:r.surface},...r.clientTypeHeader===void 0?{}:{clientTypeHeader:r.clientTypeHeader},...r.clientTypeBody===void 0?{}:{clientTypeBody:r.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:r.cause}}));};function w(r){return r==="left"||r==="removed"||r==="dismissed"}u.record("debug","sdk","session","runtime-created");let W="empty",R=n$2.subscribe(r=>{if(C){if(r.type==="connection:changed"){u.record("info","sdk","connection","connection-state-changed",()=>({data:{state:r.state}}));return}if(r.type==="message:received"||r.type==="message:updated"){u.record("trace","sdk","message",r.type,()=>({conversation:r.conversation,message:rs(r.message),data:{source:r.source,channelLifecycleEffects:r.channelLifecycleEffects}}));return}if(r.type==="auth:invalid"){u.record("warn","sdk","session","auth-invalid",()=>({data:r.issue}));return}if(r.type==="error"){let l=r.error.scope==="storage"?"storage":r.error.scope==="crypto"?"crypto":"session";u.record("error","sdk",l,"runtime-error",()=>({error:{message:r.error.message,data:r.error.cause}}));}}});function $(r){return r.cmdId===4644||r.cmdId===8976||r.cmdId===12808}let ee=n$2.subscribe(r=>{M?.deleteDecryptRecovery!==void 0&&((r.type==="message:received"||r.type==="message:updated")&&r.message.encryption.decryptFailed!==true?(async()=>{let x=(await M.getDecryptRecoveries?.(r.conversation)??[]).find(V=>V.messageId===r.message.id);x!==void 0&&$(x)||await M.deleteDecryptRecovery(r.conversation,r.message.id);})().catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.message.id}\uFF09`,cause:l}})):r.type==="message:removed"?M.deleteDecryptRecovery(r.conversation,r.messageId).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${r.messageId}\uFF09`,cause:l}})):r.type==="conversation-history:cleared"&&M.deleteConversationDecryptRecoveries?.(r.conversation).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${r.conversation.conversationId}\uFF09`,cause:l}})));}),q=new Set,ae="auto",ie=false,O=false,U=()=>{},P=null,T=null,F,G,H,oe=new Map,de=0,J=r=>oe.get(r)??0,ge=r=>{oe.set(r,J(r)+1);},ce=e$1.profile??(I===void 0?void 0:B({client:I,clientType:a$1,...M===void 0?{}:{storage:M}})),Me=e$1.channelProfile??(I===void 0?void 0:o({client:I,clientType:a$1,getUserId:async()=>i!==""?i:(await d$2.getLoginContext())?.userId??"",...M===void 0?{}:{storage:M}})),Pe=e$1.channelMembers??(I===void 0?void 0:s({client:I,clientType:a$1,isActive:()=>C,...M===void 0?{}:{storage:M}})),be=e$1.channelMentionMembers??(I===void 0?void 0:t({client:I,clientType:a$1})),Te=Zs({...be===void 0?{}:{provider:be},...M===void 0?{}:{storage:M}}),je=e$1.directory??(I===void 0?void 0:v({client:I,clientType:a$1,getUserId:async()=>i!==""?i:(await d$2.getLoginContext())?.userId??""})),Ze=yc({...je===void 0?{}:{provider:je}}),dt=e$1.expressionProvider??z({...I===void 0?{}:{coreClient:I},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),lt=Tc({provider:dt,isActive:()=>C}),wn=e$1.sessionFavoriteProvider??Oa({...I===void 0?{}:{coreClient:I},getUserId:()=>i}),zt=gs({provider:wn,isActive:()=>C}),Bn=()=>{},ut=Ts({namespaceFactory:t$1,...M===void 0?{}:{storage:M},emitter:n$2,getAccountId:()=>i,isActive:()=>C,clearMemoryCaches:()=>{ce?.clearCache?.(),Me?.clearCache?.(),Pe?.clearCache?.(),Te.clear(),Bn();}}),In=e$1.channelJoinApplications??(I===void 0?void 0:r({client:I,clientType:a$1})),m$1=e$1.contactApplications??(I===void 0?void 0:k({client:I,clientType:a$1})),b=e$1.groupApplications??(I===void 0?void 0:l({client:I,clientType:a$1})),y=Ha({emitter:n$2,diagnostics:u,profile:ce,channelProfile:Me,storage:M,getSelfId:()=>i,loadOlderFromRemote:r=>F===void 0?Promise.resolve({messages:[],exhausted:true}):F(r),loadNewerFromRemote:r=>H===void 0?Promise.resolve({messages:[],exhausted:true}):H(r)}),B$2=Hs({directory:Ze.contacts,getSelfId:()=>i,...ce===void 0?{}:{profile:ce},...I===void 0?{}:{coreClient:I},domainState:y,emitter:n$2,terminateConversationSending:(r,l)=>U(r,l),resetDirectReadReceiptPreference:r=>s$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:(r,l)=>{l==="friend"?h$1?.(r):l!=="unknown"&&v$1?.(r);}}),Z=Ys({...m$1===void 0?{}:{contact:m$1},...b===void 0?{}:{group:b},...In===void 0?{}:{channel:In},onContactAccepted:async(r,l)=>{B$2.updateRelationshipFromEvent(r,"friend"),await y.reconcileDirectContactEstablishedNotice(r,`contact-application:${l}`),y.refreshConversationProfile(r,"direct");},emitter:n$2,isActive:()=>C&&W==="ready"}),ve=hc({domainState:y,emitter:n$2,isActive:()=>C}),Re=Dc({domainState:y,isAvailable:()=>C&&W==="ready"}),Ne=Vs(()=>y.getSessions()),le=e$1.crypto??h(),_e=e$1.media!==void 0?Ua(e$1.media,u):void 0,en=Qa(),Hc=Pa(en),{prepareLocalMediaPreview:Wr,prepareLocalVideoPoster:Vc}=kc(en,()=>c$1),Ye=I===void 0?void 0:d({client:I,crypto:le,clientType:a$1,onError:(r,l)=>g$1?.("crypto",{message:r,cause:l})}),$r=I===void 0?void 0:g({client:I,clientType:a$1,onError:(r,l)=>g$1?.("crypto",{scope:"send-key",message:r,cause:l})}),qe=I===void 0?void 0:e({client:I,crypto:le,clientType:a$1,onError:(r,l)=>g$1?.("crypto",{scope:"group-key",message:r,cause:l})}),Ie=e$1.channelKeyService??(I===void 0?void 0:a({loadSecretKey:r=>ca(I,{channelId:r,clientType:a$1}),onError:(r,l)=>g$1?.("crypto",{scope:"channel-key",message:r,cause:l})})),Jr=async r=>{if(Ie===void 0)return;let l=Ie.getCachedChannelKey(r)===null;try{await Ie.getChannelKey(r);}catch{return}if(!(!l||!C))try{await gt({conversationType:"channel",conversationId:r},{recoverLegacyWithoutSidecar:!1});}catch(x){n$2.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${r}\uFF09`,cause:x}});}},Yr=async r=>Ie===void 0?null:Ie.getChannelKey(r),Xr=r=>{if(Ie===void 0)return null;let l=Ie.getCachedChannelKey(r);return l===null&&Jr(r),l},qt=()=>Ye?.getCachedPrivateKey(i)?.privateKey??null,zc=()=>({crypto:le,resolveChannelKey:Xr,resolveUserPrivateKey:qt,onDecryptRecovery:D,onDecryptError:r=>{let l=Ie!==void 0&&M?.saveDecryptRecovery===void 0&&r.encrypt===2&&r.reason==="decrypt-failed";if(N("live",{...r,forceRefreshAttempted:l}),!l)return;let x=Ie.getCachedChannelKey(r.channelId)??void 0;Ie.getChannelKey(r.channelId,{staleKey:x}).catch(()=>{});}}),Tn=async r=>{let l=[];Ie!==void 0&&l.push(...[...new Set(r)].map(x=>Jr(x))),Ye!==void 0&&i!==""&&l.push(Ye.getUserPrivateKey(i).catch(()=>null)),await Promise.all(l);},_n=r=>({crypto:le,resolveChannelKey:l=>Ie?.getCachedChannelKey(l)??null,resolveUserPrivateKey:qt,onDecryptError:l=>N(r,l),onDecryptRecovery:D});function pt(r){qe!==void 0&&r!==""&&qe.getGroupKeys(r);}let Qr=async r=>{if(qe===void 0)return null;let l=await qe.getGroupKeys(r);return l===null?null:{publicKey:l.publicKey,version:l.version}},Zr=r=>{if(qe===void 0)return null;let l=qe.getCachedGroupKeys(r);return l!==null?l.privateKey:(pt(r),null)},Gn=async r=>{qe!==void 0&&await Promise.all(r.map(l=>qe.getGroupKeys(l).catch(()=>null)));},qc=()=>({crypto:le,resolvePrivateKey:({groupId:r})=>Zr(r),preparePrivateKey:async({groupId:r})=>qe===void 0?null:(await qe.getGroupKeys(r))?.privateKey??null,onDecryptError:r=>L$1("live",r),onDecryptRecovery:D}),jn=r=>({crypto:le,resolvePrivateKey:({groupId:l})=>Zr(l),onDecryptError:l=>L$1(r,l),onDecryptRecovery:D}),mt=new Map,Dn=new Map,Wt=new Set,$t=new Set;function ft(r){return r.encryption.decryptFailed!==true&&r.contentType!=="unknown"}function Wc(r,l){let x=Da$1(r),V=Dn.get(x)??new Set;V.add(l),Dn.set(x,V);}function eo(r){Dn.delete(Da$1(r));}function $c(r,l){return r.length===l.length&&r.every((x,V)=>x===l[V])}function no(r){if(r.conversation.conversationType==="group")return qe?.getCachedGroupKeyVersion(r.conversation.conversationId)??void 0}function kn(r){return r.wireEncrypt===2?"channel-base64-pad-tea":r.conversation.conversationType==="group"?"group-rsa-tea":r.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Jc(r){return r.contentType===101?Number.isInteger(r.type)&&r.type>0:r.contentType===27?r.gameType===0n?r.gameValue>=1n&&r.gameValue<=3n:r.gameType===1n&&r.gameValue>=1n&&r.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(r.contentType)}async function to(r){let l=`${r.conversation.conversationType}:${r.conversation.conversationId}:${r.messageId}`,x=mt.get(l);if(x!==void 0)return x;let V=(async()=>{let te=y.getConversationMessage(r.conversation,r.messageId),re=$(r);if(te===void 0||te.encryption.decryptFailed!==true&&!re){await M?.deleteDecryptRecovery?.(r.conversation,r.messageId);return}u.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:r.conversation,data:{messageId:r.messageId,messageSenderId:te.senderId,messageCreatedAt:te.createdAt,selfMessage:te.senderId===i,source:r.source,wireEncrypt:r.wireEncrypt,sContentBytes:r.sContent.length,...r.cmdId===void 0?{}:{cmdId:r.cmdId},...r.encryptVersion===void 0?{}:{encryptVersion:r.encryptVersion}}}));let z,X,ne="key-resolve",se=kn(r);for(let he of [false,true]){let xe=he?"force":"current",fe;try{ne="bcontent";let Le=d$1.decode(r.sContent);if(r.wireEncrypt===1){if(Le.secretKey.length===0||Le.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");ne="key-resolve";let Qe=he?{...typeof X=="string"?{staleKey:X}:{}}:void 0,nn=r.conversation.conversationType==="group"?(await qe?.getGroupKeys(r.conversation.conversationId,Qe))?.privateKey??null:(await Ye?.getUserPrivateKey(i,Qe))?.privateKey??null;he&&X!==void 0&&(fe=typeof X=="string"&&nn!==null&&X!==nn),fe===!0&&eo(r.conversation),he||(X=nn);let dn=no(r);if(nn===null){u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"no-key",...dn===void 0?{}:{resolvedKeyVersion:dn},...fe===void 0?{}:{keyChanged:fe}}}));continue}ne="rsa";let _=le.rsaDecryptPkcs1({data:Le.secretKey,privateKey:nn});if(_.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${_.length} < 16`);ne="tea";let Q=le.decryptSymmetric({teaKey:_,cipherData:Le.cipherData});u.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:kn(r),rsaCipherBytes:Le.secretKey.length,cipherDataBytes:Le.cipherData.length,cipherDataBlockRemainder:Le.cipherData.length%8,resolvedTeaBytes:_.length,plainBytes:Q.length,plainBlockRemainder:Q.length%8,startsWithContentTypeField:Q[0]===8,startsWithMobileCardType:Q[0]===8&&Q[1]===8,...Oc(Q)}})),ne="bmessage",z=c.decode(Q);}else if(r.conversation.conversationType==="channel"){if(Le.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");ne="key-resolve";let Qe=he?{...X instanceof Uint8Array?{staleKey:X}:{}}:void 0,nn=Ie?.getChannelKeyCandidates===void 0?await Ie?.getChannelKey(r.conversation.conversationId,Qe).then(Q=>[{strategy:"canonical-base64-pad",key:Q}])??[]:await Ie.getChannelKeyCandidates(r.conversation.conversationId,Qe),dn=Ie?.getCachedChannelKeyMetadata?.(r.conversation.conversationId);dn!=null&&u.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:r.conversation,data:{messageId:r.messageId,attempt:xe,...dn}}));let _=nn.find(Q=>Q.strategy==="canonical-base64-pad")?.key??null;if(he&&X instanceof Uint8Array&&_!==null&&(fe=!$c(X,_)),fe===!0&&eo(r.conversation),he||(X=_?.slice()??null),nn.length===0){u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"no-key",...fe===void 0?{}:{keyChanged:fe}}}));continue}for(let Q of nn)try{ne="tea";let Ce=le.decryptSymmetric({teaKey:Q.key,cipherData:Le.cipherData});ne="bmessage";let Ae=c.decode(Ce);if(Q.strategy==="legacy-ascii16"&&!Jc(Ae))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");z=Ae,se=Q.strategy,u.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:Q.strategy,finalStage:"recovered",reason:"recovered",...fe===void 0?{}:{keyChanged:fe}}}));break}catch(Ce){u.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,attempt:xe,strategy:Q.strategy,finalStage:ne,reason:"decrypt-failed",...fe===void 0?{}:{keyChanged:fe}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Ce}}));}}if(z!==void 0){u.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:se,finalStage:"recovered",reason:"recovered",...fe===void 0?{}:{keyChanged:fe}}}));break}}catch(Le){let Qe=no(r);u.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,attempt:xe,strategy:kn(r),finalStage:ne,reason:"decrypt-failed",...Qe===void 0?{}:{resolvedKeyVersion:Qe},...fe===void 0?{}:{keyChanged:fe}},error:{message:"IM message decryption recovery failed",data:Le}}));}}if(!C||z===void 0){z===void 0&&(Wc(r.conversation,r.messageId),u.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:r.conversation,data:{messageId:r.messageId,source:r.source,wireEncrypt:r.wireEncrypt,strategy:kn(r),attempts:2,finalStage:ne}})));return}let ue=y.getConversationMessage(r.conversation,r.messageId);if(ue===void 0||ue.encryption.decryptFailed!==true&&!re)return;let Se=r.conversation.conversationType==="channel"&&(r.cmdId===12804||z.contentType===101)?B$1({channelId:BigInt(r.conversation.conversationId),messageId:r.messageId,occurredAt:BigInt(ue.serverTime??ue.createdAt),notifyType:z.type,operatorId:z.oprUserId,targetUserIds:z.mnpledUserId,content:z.content,...typeof ue.extensions?.historyCursor=="string"?{historyCursor:ue.extensions.historyCursor}:{},...typeof ue.extensions?.channelSequence=="string"?{sequence:BigInt(ue.extensions.channelSequence)}:{},encrypted:true},{cmdId:r.cmdId,keepRaw:ue.raw!==void 0}):{...L(ue,z,i),...re?{edited:true}:{}};y.upsertMessages([Se],"offline"),await M?.deleteDecryptRecovery?.(r.conversation,r.messageId);})().finally(()=>{mt.get(l)===V&&mt.delete(l);});return mt.set(l,V),V}async function gt(r,l={}){let x=Da$1(r),V=await M?.getDecryptRecoveries?.(r)??[],te=Dn.get(x),re=te===void 0?V:V.filter(se=>!te.has(se.messageId));if(await Promise.all(re.map(to)),!C||l.recoverLegacyWithoutSidecar===false)return;let z=Dn.get(x),X=new Set(V.filter(se=>z===void 0||!z.has(se.messageId)).map(se=>se.messageId)),ne=y.getMessagesByConversation(r).filter(se=>se.encryption.decryptFailed===true&&!X.has(se.id));if(!(ne.length===0||Wt.has(x))){Wt.add(x),u.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:r,data:{stuckCount:ne.length,withoutSidecar:ne.filter(se=>!V.some(ue=>ue.messageId===se.id)).length}}));try{if(r.conversationType==="channel"){let se=await d$2.getLoginContext();if(se===null||G===void 0)return;for(let ue of ne.slice(0,dp)){let Se=ue.extensions?.historyCursor;if(typeof Se!="string"||Se.trim()==="")continue;let he=await G(r.conversationId,Se,se.userId);if(!C)return;he.length>0&&y.upsertMessages(he,"offline");}}else r.conversationType==="group"?await Yc({conversationType:"group",conversationId:r.conversationId},ne):r.conversationType==="direct"&&await ho();}catch(se){n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${r.conversationType}, conversationId=${r.conversationId}\uFF09`,cause:se}});}}}async function Yc(r,l){if(F===void 0)return;let x=[...l].sort((X,ne)=>X.sortKey.localeCompare(ne.sortKey)),V=x[0],te=x.at(-1);if(V===void 0||te===void 0)return;let re=V.serverTime??V.createdAt,z;for(let X=0;X<cp;X++){let ne=await F({conversation:r,oldestLoaded:te,...z===void 0?{}:{cursor:z},intent:"older",limit:sp});if(!C||ne.exhausted||ne.nextCursor===void 0)return;let se=Number(ne.nextCursor);if(Number.isFinite(se)&&se<=re)return;z=ne.nextCursor;}}let He=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};F=async({conversation:r,oldestLoaded:l,cursor:x,intent:V,limit:te})=>{let{conversationId:re}=r,z=y.getSession(r);if(z===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${re}\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 X=await d$2.getLoginContext();if(X===null)return {messages:[],exhausted:true};let ne=V==="establish-latest"?Date.now():x===void 0?l?.serverTime??l?.createdAt??Date.now():Nc(x,re),se=await Ea$1({http:A,userId:X.userId,clientType:a$1,groupId:re,baseTime:ne,direct:1,limit:te,decryptDeps:jn("history"),prepareKeys:Gn,onReaction:He});se.messages.length>0&&y.upsertMessages(se.messages,"offline");let ue=se.oldestEntryTime,Se=se.batchSize<te||ue===void 0||ue>=ne;return {messages:se.messages,exhausted:Se,...Se?{}:{nextCursor:String(ue)},...V==="establish-latest"?{replaceWindow:true}:{}}}if(z.type==="channel"){let X=p("history");if(z.channelState!==void 0&&Be(z.channelState))return u.record("info","sdk","history","channel-history-blocked",()=>({conversation:r,operationId:X,data:{state:z.channelState}})),{messages:[],exhausted:true};let ne=de,se=J(re),ue=await d$2.getLoginContext();if(ue===null)return {messages:[],exhausted:true};if(V==="establish-latest"){let fe=await wa({http:A,userId:ue.userId,clientType:a$1,channelId:re,count:Un,operationId:X,decryptDeps:_n("history"),prepareKey:Ie===void 0&&Ye===void 0?void 0:Qe=>Tn([Qe]),onContentDecodeError:Y,onReaction:He}),Le=y.getSession(r);return !C||ne!==de||se!==J(re)||Le?.type!=="channel"||Le.channelState!==void 0&&Be(Le.channelState)?{messages:[],exhausted:true}:(fe.messages.length>0&&y.upsertMessages(fe.messages,"offline"),{messages:fe.messages,exhausted:!fe.hasOlder,...fe.nextCursor===void 0?{}:{nextCursor:fe.nextCursor},replaceWindow:true})}let Se=x??"";if(x===void 0&&l!==void 0){let fe=l.extensions?.historyCursor;if(typeof fe=="string"&&fe.trim()!=="")Se=fe;else if(!up(l,ue.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${re}, messageId=${l.id}\uFF09`)}u.record("debug","sdk","history","channel-history-page-start",()=>({conversation:r,operationId:X,data:{baseIndexPresent:Se!=="",direction:1,contain:0,count:Un,historyGeneration:ne,historyEpoch:se,clientTypeHeader:a$1,clientTypeBody:a$1}}));let he;try{he=await xa$1({http:A,userId:ue.userId,clientType:a$1,channelId:re,baseIndex:Se,count:Un,contain:0,operationId:X,decryptDeps:_n("history"),prepareKey:Ie===void 0&&Ye===void 0?void 0:fe=>Tn([fe]),onContentDecodeError:Y,onReaction:He});}catch(fe){throw u.record("error","sdk","history","channel-history-page-failed",()=>({conversation:r,operationId:X,data:{baseIndexPresent:Se!=="",direction:1,contain:0,count:Un},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:fe}})),fe}let xe=y.getSession(r);return !C||ne!==de||se!==J(re)||xe?.type!=="channel"||xe.channelState!==void 0&&Be(xe.channelState)?{messages:[],exhausted:true}:(he.messages.length>0&&y.upsertMessages(he.messages,"offline"),u.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:r,operationId:X,data:{responseBatchSize:he.batchSize,messageCount:he.messages.length,exhausted:he.exhausted,nextBaseIndexPresent:he.nextBaseIndex!==void 0}})),{messages:he.messages,exhausted:he.exhausted,...he.nextBaseIndex===void 0?{}:{nextCursor:he.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${z.type}`)};let Jt=r=>{r.length>0&&y.upsertMessages(r,"offline",{backfillOnly:true});},Yt=async()=>{let r=await d$2.getLoginContext();if(r===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:r.userId}},Xc=async r=>{let{userId:l}=await Yt(),x=await ra({http:A,userId:l,clientType:a$1,messageIds:r,decryptDeps:await or(l),onReaction:He});return Jt(x.messages),{messages:x.messages,missingMessageIds:x.missingMessageIds}},Qc=async(r,l)=>{let{userId:x}=await Yt(),V=await sa$1({http:A,userId:x,clientType:a$1,groupId:r,messageIds:l,decryptDeps:jn("history"),prepareKeys:Gn,onReaction:He});return Jt(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},Zc=async(r,l)=>{let{userId:x}=await Yt(),V=await ta$1({http:A,userId:x,clientType:a$1,channelId:r,messageIds:l,operationId:p("history"),decryptDeps:_n("history"),prepareKey:Ie===void 0&&Ye===void 0?void 0:te=>Tn([te]),onContentDecodeError:Y,onReaction:He});return Jt(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},ed=hb([fb({includeOppositeEnd:true}),gb({resolveGroupKey:Qr}),eb({resolveChannelKey:Yr})]),nd=Sa([Ta(),Ua$1(),Va()]),td=ja([ka(),la(),ma({resolveChannelKey:Yr,resolveProfile:r=>Me?.getProfile(r)??Promise.resolve(null)})]),Ve=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},On=()=>false,Xt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},ro=()=>{},Qt=()=>{},Hn={...y,removeConversationForMembershipTermination:(r,l)=>{ro(r,l),r.conversationType==="group"?qe?.clearGroupKeys(r.conversationId):Ie?.clearChannelKey(r.conversationId),y.removeConversationForMembershipTermination(r,l),K.api.resetBackground(r).catch(x=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:x}}));}},Vn=Ka({domainState:y,sendFrame:r=>Ve(r),getSelfId:()=>i,isAuthenticated:()=>On(),reportReaction:r=>dt.reportReaction(r),isEmojiSupported:ds,logger:g$1});He=r=>{Vn.ingest(r,"offline");};let rd=La({manager:Vn,getSelfId:()=>i,logger:g$1}),od=bb({domainState:y,outbox:{onChatAck:r=>Xt(r)},sendFrame:r=>Ve(r),getSelfId:()=>i,emitter:n$2,logger:g$1,keepRaw:true,decrypt:qc(),isActive:()=>C}),ad=Ya$1({domainState:y,outbox:{onChatAck:r=>Xt(r)},sendFrame:r=>Ve(r),getSelfId:()=>i,emitter:n$2,logger:g$1,keepRaw:true,decrypt:zc()}),id=Xa$1({domainState:y,sendFrame:r=>Ve(r),getSelfId:()=>i,emitter:n$2,logger:g$1,keepRaw:true,decrypt:{crypto:le,resolveChannelKey:Xr,resolveUserPrivateKey:qt,onDecryptRecovery:D}}),sd=Wa({getSelfId:()=>i,sendFrame:r=>Ve(r),emitter:n$2}),cd=cb({emitter:n$2,getSelfId:()=>i}),dd=$a({sendFrame:r=>Ve(r),emitter:n$2,getSelfId:()=>i,domainState:{reconcileDirectContactEstablishedNotice:y.reconcileDirectContactEstablishedNotice,removeConversation:(r=>{if(typeof r=="string"){y.removeConversation(r);return}r.conversationType==="direct"&&U(r,"friend_relation_removed"),y.removeConversation(r);})},resetDirectReadReceiptPreference:r=>s$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:r}),onRelationshipChanged:B$2.updateRelationshipFromEvent}),ld=db({sendFrame:r=>Ve(r),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:y.applyTransferStatusBySerialNumber}}),ud=_a({getSelfId:()=>i,sendFrame:r=>Ve(r),emitter:n$2}),pd=Za({getSelfId:()=>i,domainState:y,sendFrame:r=>Ve(r),emitter:n$2,onRelationshipChanged:B$2.updateRelationshipFromEvent}),Zt=n({sendFrame:r=>Ve(r),emitter:n$2,getSelfId:()=>i,isAuthenticated:()=>On(),domainState:y}),er=x({sendFrame:r=>Ve(r),emitter:n$2,getSelfId:()=>i,isAuthenticated:()=>On(),domainState:y}),oo=[...Zt.handlers,...er.commandHandlers],md=2e3,zn,nr=false,ao=new Set;async function io(){if(nr||!C||!On())return;let r=await d$2.getLoginContext();if(r!==null){nr=true;try{let l=[];for(;;){let x=await Fa({http:A,userId:r.userId,clientType:a$1,deliveredMsgIds:l});u.record("info","sdk","call","signal-offline-pull",()=>({data:{count:x.items.length,cmdIds:x.items.map(V=>`0x${V.cmdId.toString(16)}`)}})),x.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let V of x.items){if(n$2.emit({type:"notification",cmdId:V.cmdId,name:"OFFLINE_SIGNAL"}),V.msgId!==""&&ao.has(V.msgId))continue;V.msgId!==""&&ao.add(V.msgId);let te=oo.find(re=>re.command===V.cmdId);te!==void 0&&te.handler(V.cmdId,V.body);}if(x.deliveredMsgIds.length===0)break;l=x.deliveredMsgIds;}}catch(l){n$2.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{nr=false;}}}function fd(){io(),zn===void 0&&(zn=setInterval(()=>{io();},md));}function so(){zn!==void 0&&clearInterval(zn),zn=void 0;}let gd=ab({domainState:y,sendFrame:r=>Ve(r),getSelfId:()=>i,emitter:n$2,logger:g$1,keepRaw:true}),Id=Ia({domainState:Hn,getSelfId:()=>i,prefetchGroupKey:pt,clearGroupKeys:r=>{qe?.clearGroupKeys(r);},clearConversationTermination:r=>Qt(r)}),yd=n$2.subscribe(r=>{(r.type==="message:received"||r.type==="message:updated")&&Id.handleMessage(r.message);}),co=za({domainState:Hn,getSelfId:()=>i,prepareChannelKey:r=>{u.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:Ie!==void 0&&Ie.getCachedChannelKey(r)!==null}})),Ie!==void 0&&Ie.getChannelKey(r).catch(()=>{});},clearChannelKey:r=>{let l=Ie!==void 0&&Ie.getCachedChannelKey(r)!==null;Ie?.clearChannelKey(r),u.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:r},data:{cacheHit:l}}));},clearConversationTermination:r=>Qt(r),stopChannelHistory:r=>{let l=J(r);ge(r),y.messageWindow.info().conversationId===r&&y.messageWindow.reset(),u.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:r},data:{previousEpoch:l,nextEpoch:J(r)}}));}}),hd=n$2.subscribe(r=>{if(r.type==="message:received"||r.type==="message:updated"){let l=r.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:r.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(i)??false,lifecycleEffects:r.channelLifecycleEffects===true,stateBefore:y.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),co.handleMessage(r.message,{source:r.source??"live",applyLifecycleEffects:r.channelLifecycleEffects});}}),vd=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"]),Cd=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Md=n$2.subscribe(r=>{if(r.type!=="message:received"&&r.type!=="message:updated"||(r.source??"live")!=="live"&&r.channelLifecycleEffects!==true)return;let l=r.message,x=l.body.system?.eventType;l.conversationType==="channel"&&x!==void 0&&(vd.has(x)&&Pe?.invalidateChannelMembers(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}),Cd.has(x)&&Te.invalidate(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}));}),lo=es({...I===void 0?{}:{coreClient:I},domainState:y,emitter:n$2}),uo=Us({...I===void 0?{}:{coreClient:I},domainState:y,emitter:n$2}),yn=Bs({...In===void 0?{}:{joinApplications:In},http:A,clientType:a$1,buildOfflineDecrypt:()=>_n("history"),onContentDecodeError:Y,onReaction:He,...Ie===void 0&&Ye===void 0?{}:{prepareKey:r=>Tn([r])}});G=async(r,l,x)=>{let{context:V}=await yn.loadMessageContext(r,l,x);return V.messages};let bd=Gs({authProvider:d$2,emitter:n$2,domainState:y,loadMessageContext:yn.loadMessageContext,isActive:()=>C,getHistoryGeneration:()=>de,getHistoryEpoch:J}),tr=Na({domainState:y,updateReadIndex:async({channelId:r,readCursor:l})=>{let x=await d$2.getLoginContext();if(x===null)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Q({http:A,userId:x.userId,indexes:[{channelId:r,readCursor:l}]});},emitter:n$2,logger:g$1,syncRead:{getSelfId:()=>i,sendFrame:r=>Ve(r)}}),Sd=Ma({getSelfId:()=>i,applyRemoteRead:r=>tr.applyRemoteRead(r),emitter:n$2,logger:g$1}),Pd=Ra$1([Qa$1({domainState:y,markGroupReadAll:async r=>{let l=await d$2.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ja$1({http:A,userId:l.userId,groupId:r});},emitter:n$2,logger:g$1,isAuthenticated:()=>On(),syncRead:{getSelfId:()=>i,sendFrame:r=>Ve(r)}}),tr]),qn=mb({getSelfId:()=>i,sendFrame:r=>Ve(r),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Ad=n$2.subscribe(r=>{r.type==="connection:changed"&&r.state!=="authenticated"&&qn.setAuthenticated(false);}),me=ib({transport:E,authProvider:d$2,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:y,logger:g$1,decrypt:{crypto:le,resolvePrivateKey:({msgType:r})=>r===1?Ye?.getCachedPrivateKey(i)?.privateKey??null:null,onDecryptError:r=>S("live",r),onDecryptRecovery:D},encryptSend:$r===void 0&&Ie===void 0?void 0:{crypto:le,resolvePublicKey:r=>$r?.getPeerPublicKey(r)??Promise.resolve(null),resolveGroupKey:Qr},media:_e!==void 0?{transfer:_e,preview:Hc,onTransferError:r=>{u.record("error","core","media","media-transfer-failed",()=>({conversation:r.conversation,data:{stage:r.stage,kind:r.kind,messageId:r.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:r.cause}}));},onAlbumContentSize:r=>{u.record(r.outcome==="rejected"?"error":"warn","core","media",r.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:r.conversation,data:{messageId:r.messageId,itemCount:r.itemCount,...r.contentBytes===void 0?{}:{contentBytes:r.contentBytes}},...r.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:r.cause}}}));},...k$1===void 0?{}:{assetCache:k$1,onAssetCacheError:r=>{u.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:r.operation,kind:r.kind,messageId:r.messageId,byteLength:r.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:r.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:ed,commandHandlers:[...qn.commandHandlers,...dd,...cd,...ld,...ud,...pd,...oo,...rd,...od,...gd,...ad,...id,...sd,...Sd],readStrategies:Pd,canSendDirectReadReceipt:r=>{if(!s$1.isDirectReadReceiptEnabled(r))return false;let l=B$2.peekRelationship(r);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:nd,channelMessageDeletion:{resolveProfile:r=>Me?.getProfile(r)??Promise.resolve(null),onPermissionDenied:r=>y.refreshConversationProfile(r,"channel")},editStrategies:td,storage:M,onAuthenticated:()=>{qn.setAuthenticated(true);let r=ie;ie=true,(r||ae==="auto")&&go().catch(()=>{}),fd();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);v$1=r=>me.suppressDirectReadReceipts(r),h$1=r=>me.resumeDirectReadReceipts(r),Ve=me.sendFrame,On=()=>me.state==="authenticated",Xt=me.onChatAck,U=me.terminateConversationSending,ro=me.markOutboxConversationTerminated,Qt=me.clearOutboxConversationTerminated;let po=Rs({operations:{getPending:me.getPendingOutbox,retry:me.retryOutboxMessage,cancel:me.cancelOutboxMessage},emitter:n$2,isActive:()=>C}),we=qs({connection:me,domainState:y,crypto:le,..._e===void 0?{}:{mediaTransfer:_e},prepareDirectReadReceipt:async r=>{try{await B$2.ensureRelationship(r);}catch(l){n$2.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:r,error:l}}});}}}),rr=As({connection:me,domainState:y,emitter:n$2,isActive:()=>C,preparePreview:Wr,prepareVideoPoster:Vc,onLocalPreviewError:({kind:r,byteLength:l,cause:x})=>{u.record("warn","sdk","media","local-preview-failed",()=>({generation:c$1,data:{kind:r,byteLength:l},error:{message:x instanceof Error?x.message:String(x)}}));},...k$1===void 0?{}:{assetCache:k$1,onAssetCacheEvent:r=>{u.record(r.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${r.operation}-${r.outcome}`,()=>({data:{operation:r.operation,outcome:r.outcome,kind:r.kind,messageId:r.messageId,...r.byteLength===void 0?{}:{byteLength:r.byteLength}},...r.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:r.cause}}}));}},..._e===void 0?{}:{loaders:{loadImage:we.operations.loadImage,loadVideo:we.operations.loadVideo,loadVoice:we.operations.loadVoice,loadFile:we.operations.loadFile}}});Bn=()=>{me.invalidateMediaAssetCacheWrites(),rr.clearCache();};let mo=Va$1({onOnline:()=>me.notifyOnline(),onOffline:()=>me.notifyOffline(),onVisible:()=>me.notifyVisible(),onPageHide:()=>{O&&me.suspendForPageLifecycle();},onPageShow:()=>{O&&(me.resumeFromPageLifecycle(),me.notifyVisible());}},e$1.network);async function or(r){let l=await Ye?.getUserPrivateKey(r)??null;return {crypto:le,resolvePrivateKey:({msgType:x})=>x===1?l?.privateKey??null:null,onDecryptError:x=>S("offline",x,r),onDecryptRecovery:D}}function fo(r,l){return {endpoint:r,pullBatch:async({deliveredMsgInfos:x,limit:V})=>{let te=await d$2.getLoginContext();if(te===null)throw new Error(`sync(${r}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let re=await or(te.userId);return l({http:A,userId:te.userId,clientType:a$1,decryptDeps:re,deliveredMsgInfos:x,...V===void 0?{}:{limit:V},onReaction:He})}}}let Ed=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:r,limit:l})=>{let x=await d$2.getLoginContext();if(x===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Ca({http:A,userId:x.userId,clientType:a$1,decryptDeps:jn("offline"),prepareKeys:Gn,deliveredMsgInfos:r,...l===void 0?{}:{limit:l},onReaction:He})}});async function Rd(){let r=await d$2.getLoginContext();if(r===null)return;let l=await Da({http:A,userId:r.userId,clientType:a$1,decryptDeps:jn("offline"),prepareKeys:Gn,onReaction:He});for(let x of l.unreads)y.applyServerUnread({conversationType:"group",conversationId:x.groupId},x.unreadCount),pt(x.groupId);l.messages.length>0&&y.upsertMessages(l.messages,"offline");}async function wd(){let r=p("sync");u.record("info","sdk","sync","channel-sync-start",()=>({operationId:r,data:{clientTypeHeader:a$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:a$1}}));try{await Td(r);}catch(l){throw u.record("error","sdk","sync","channel-sync-failed",()=>({operationId:r,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Td(r){if(Me===void 0){u.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:r,data:{reason:"profile-unavailable"}}));return}let l=await d$2.getLoginContext();if(l===null){u.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:r,data:{reason:"auth-unavailable"}}));return}let x=await Me.listProfiles({forceRefresh:true});if(x.length===0){u.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let V=new Map(x.map(_=>[_.id,_]));for(let _ of x){if(w(_.channelState)){Ie?.clearChannelKey(_.id),Hn.removeConversationForMembershipTermination({conversationType:"channel",conversationId:_.id},`channel_${_.channelState}`);continue}let Q=_.permissions.sendMessages?void 0:`channel_${_.channelState}`;y.setChannelRestriction(_.id,_.channelState,Q,{permissions:_.permissions,..._.accessSnapshot===void 0?{}:{snapshot:_.accessSnapshot}}),y.updateConversationProfile(_.id,{title:_.name,avatar:_.avatar}),_.muted!==void 0&&y.setMuted(_.id,_.muted);}let te=new Map(x.map(_=>{let Q=y.getReadState(_.id),Ce=y.getSession(_.id);return [_.id,{readCursor:Q?.readCursor??Ce?.readCursor??"",unreadCount:Ce?.unreadCount??Q?.unreadCount??0,mentionUnreadCount:Ce?.mentionUnreadCount??Q?.mentionUnreadCount??0}]})),re=x.map(_=>({channelId:_.id,readCursor:te.get(_.id).readCursor}));u.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:r,data:{channelCount:re.length,channelsWithReadCursor:re.filter(_=>_.readCursor!=="").length,clientTypeHeader:a$1,clientTypeBody:a$1}}));let z=await ua$1({http:A,userId:l.userId,clientType:a$1,channels:re,operationId:r,decryptDeps:_n("offline"),prepareKeys:_=>Tn(_.filter(Q=>{let Ce=V.get(Q)?.channelState;return Ce===void 0||!Be(Ce)})),onContentDecodeError:Y,onReaction:He});u.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:r,data:{sessionCount:z.length,lastMessageCount:z.filter(_=>_.last!==void 0).length,decryptFailedLastCount:z.filter(_=>_.last?.encryption.decryptFailed===true).length,unknownContentLastCount:z.filter(_=>_.last?.contentType==="unknown"&&_.last.encryption.decryptFailed!==true).length}}));let X=new Set(z.filter(_=>{let Q=te.get(_.channelId),Ce=y.getReadState(_.channelId),Ae=y.getSession(_.channelId);return Q===void 0||(Ce?.readCursor??Ae?.readCursor??"")!==Q.readCursor||(Ae?.unreadCount??Ce?.unreadCount??0)!==Q.unreadCount||(Ae?.mentionUnreadCount??Ce?.mentionUnreadCount??0)!==Q.mentionUnreadCount}).map(_=>_.channelId)),ne=z.filter(_=>y.getSession(_.channelId)!==void 0).map(_=>{let Ce=V.get(_.channelId)?.channelState,Ae=Ce!==void 0&&Be(Ce)?Ce:Be(_.channelState)?_.channelState:Ce??_.channelState,Yn=Ae==="active"?void 0:Ae===_.channelState?_.sendDisabledReason:`channel_${Ae}`;return {..._,channelState:Ae,sendDisabledReason:Yn}});for(let _ of ne){let Q=V.get(_.channelId);y.setChannelRestriction(_.channelId,_.channelState,_.sendDisabledReason,Q===void 0?void 0:{permissions:Q.permissions,...Q.accessSnapshot===void 0?{}:{snapshot:Q.accessSnapshot}}),Q!==void 0&&(y.updateConversationProfile(_.channelId,{title:Q.name,avatar:Q.avatar}),Q.muted!==void 0&&y.setMuted(_.channelId,Q.muted)),X.has(_.channelId)||y.applyServerUnread({conversationType:"channel",conversationId:_.channelId},_.unreadCount,void 0,_.readCursor),Be(_.channelState)&&Ie?.clearChannelKey(_.channelId);}let se=ne.filter(_=>!X.has(_.channelId)&&!Be(_.channelState)&&_.unreadCount>0&&_.readCursor!=="");u.record("debug","sdk","sync","channel-offline-plan",()=>{let _={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let Q of ne)X.has(Q.channelId)?_.staleRead+=1:Be(Q.channelState)?_.historyBlocked+=1:Q.unreadCount<=0?_.zeroUnread+=1:Q.readCursor===""&&(_.emptyReadCursor+=1);return {operationId:r,data:{acceptedSessionCount:ne.length,eligibleChannelCount:se.length,staleReadSkippedCount:_.staleRead,historyBlockedSkippedCount:_.historyBlocked,zeroUnreadSkippedCount:_.zeroUnread,emptyReadCursorSkippedCount:_.emptyReadCursor,direction:0,contain:0,count:Un}}});let ue=await va({http:A,userId:l.userId,clientType:a$1,operationId:r,pulls:se.map(_=>({channelId:_.channelId,baseIndex:_.readCursor})),messageCount:Un,decryptDeps:_n("offline"),prepareKeys:Tn,onContentDecodeError:Y,onReaction:He}),Se=ne.flatMap(_=>{let Q=_.last;if(Q===void 0||ft(Q))return [];let Ce=Q.extensions?.historyCursor;return [{summary:_,last:Q,historyCursor:typeof Ce=="string"?Ce.trim():""}]}),he=(_,Q)=>`${_}:${Q}`,xe=new Map,fe=new Set;for(let{summary:_,last:Q}of Se){let Ce=y.getConversationMessage({conversationType:"channel",conversationId:_.channelId},Q.id);if(Ce===void 0||!ft(Ce))continue;let Ae=he(_.channelId,Q.id);xe.set(Ae,Ce),fe.add(Ae);}for(let _ of ue)ft(_)&&xe.set(he(_.conversationId,_.id),_);let Le=Se.filter(({summary:_,last:Q,historyCursor:Ce})=>Ce!==""&&!X.has(_.channelId)&&!Be(_.channelState)&&!xe.has(he(Q.conversationId,Q.id))&&!$t.has(he(Q.conversationId,Q.id))),Qe=Se.filter(({summary:_,last:Q})=>!X.has(_.channelId)&&!Be(_.channelState)&&!fe.has(he(Q.conversationId,Q.id))&&xe.has(he(Q.conversationId,Q.id))).length;u.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:r,data:{unusableLastCount:Se.length,decryptFailedLastCount:Se.filter(({last:_})=>_.encryption.decryptFailed===true).length,unknownContentLastCount:Se.filter(({last:_})=>_.contentType==="unknown"&&_.encryption.decryptFailed!==true).length,localRecoveredCount:fe.size,offlineRecoveredCount:Qe,contextRecoveryCount:Le.length,staleReadSkippedCount:Se.filter(_=>X.has(_.summary.channelId)).length,historyBlockedSkippedCount:Se.filter(_=>Be(_.summary.channelState)).length,missingHistoryCursorCount:Se.filter(_=>_.historyCursor==="").length}}));let nn=await Promise.all(Le.map(async({summary:_,last:Q,historyCursor:Ce})=>{try{let{message:Ae}=await yn.loadMessageContext(_.channelId,Ce,l.userId),Yn=y.getSession({conversationType:"channel",conversationId:_.channelId});if(!C||Yn?.type!=="channel"||Yn.channelState!==void 0&&Be(Yn.channelState))return;if(Ae.conversationType!=="channel"||Ae.conversationId!==_.channelId||Ae.id!==Q.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${_.channelId}, messageId=${Q.id}\uFF09`);if(!ft(Ae)){if(Ae.contentType==="unknown"&&Ae.encryption.decryptFailed!==!0){$t.add(he(Ae.conversationId,Ae.id)),u.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:_.channelId},data:{messageId:Q.id,reason:Ae.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${_.channelId}, messageId=${Q.id}\uFF09`)}return Ae}catch(Ae){u.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:r,conversation:{conversationType:"channel",conversationId:_.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Ae},data:{messageId:Q.id}}));return}}));for(let _ of nn)_!==void 0&&xe.set(he(_.conversationId,_.id),_);let dn=[...ne.flatMap(_=>_.last===void 0?[]:[xe.get(he(_.channelId,_.last.id))??_.last]),...ue];dn.length>0&&y.upsertMessages(dn,"offline",{applyChannelLifecycleEffects:true}),u.record("info","sdk","sync","channel-sync-complete",()=>({operationId:r,data:{profileCount:x.length,terminalProfileCount:x.filter(_=>w(_.channelState)).length,sessionCount:z.length,acceptedSessionCount:ne.length,sessionLastCount:ne.filter(_=>_.last!==void 0).length,recoveredSessionLastCount:Se.filter(({last:_})=>xe.has(he(_.conversationId,_.id))).length,offlineMessageCount:ue.length}}));}let Wn=null,ar=false;function _d(){return Wn!==null?(ar=true,Wn):(Wn=(async()=>{let l;do{ar=false,l=void 0;try{await wd();}catch(x){l=x;}}while(ar);if(l!==void 0)throw l})().finally(()=>{Wn=null;}),Wn)}let Dd=rb({pullers:[fo("chat",ya),fo("owner_chat",za$1),Ed()],domainState:y,emitter:n$2,logger:g$1});async function go(){let r=Rd().catch(x=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:x}})),l=_d().catch(x=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:x}}));await Promise.all([Dd.sync(),r,l]);}async function kd(){if(W==="ready")return;W="preparing";let r=await d$2.getLoginContext();if(r!==null){if(i=r.userId,Ye!==void 0&&Ye.getUserPrivateKey(r.userId),M!==void 0)try{await M.open({namespace:r.userId});try{await s$1.hydrate();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}await y.hydrate();for(let l of y.getSessions())l.title===""&&l.type!=="supergroup"&&y.refreshConversationProfile(l.id,l.type);await me.hydrateOutbox();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(qe!==void 0)for(let l of y.getSessions())l.type==="group"&&pt(l.id);}W="ready";}function Io(){if(W==="ready")return Promise.resolve();if(P!==null)return P;let r=Date.now();return u.record("info","sdk","session","prepare-start"),P=kd().then(()=>u.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-r}))).catch(l=>{throw u.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-r,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{P=null;}),P}function Od(r){if(O=true,me.state==="authenticated")return Promise.resolve();if(T!==null)return T;ae=r?.initialSync??"auto",ie=false;let l=Date.now();return u.record("info","sdk","connection","connect-start",()=>({data:{initialSync:ae}})),T=(async()=>{await Io(),mo.start(),await me.connect();})().then(()=>u.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(x=>{throw u.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:x}})),x}).finally(()=>{T=null;}),T}function yo(r){u.record("info","sdk","connection","disconnect",()=>({data:{reason:r}})),O=false,so(),me.disconnect(r),mo.stop();}async function xd(r,l={}){let x=Date.now();u.record("info","sdk","session","teardown-start",()=>({data:{localData:r?.localData??"preserve",pendingMessages:r?.pendingMessages??"fail"}})),C=false,Ad(),qn.dispose(),so(),Zt.dispose(),er.dispose(),Vn.dispose(),po.dispose(),rr.dispose(),en.dispose(),Z.dispose(),B$2.dispose(),me.disposeMediaTasks();for(let ne of q)ne.close();q.clear(),de+=1,me.markOutboxForLogout(r?.pendingMessages??"fail"),lo.dispose(),uo.dispose(),yn.dispose(),Te.dispose(),Ze.dispose(),K.dispose();let V=s$1.dispose();ve.dispose(),Re.dispose(),yd(),hd(),Md(),co.dispose(),tr.reset(),Ie?.clearAll(),Dn.clear(),Wt.clear(),$t.clear(),yo("im-logout"),await y.invalidateAndDrainDraftOperations(),await V,y.clearSession();let te=r?.localData==="purge"?i:"",re,z,X=true;if(M!==void 0)try{await M.close();}catch(ne){X=false,te!==""&&(re=ne),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:te===""?"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25":"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93",cause:ne}});}if(te!==""&&X)try{f!==void 0?await f.purgeCurrentAccount({namespaceFactory:t$1,accountId:te}):await Wa$1(te,{namespaceFactory:t$1}),z=te;}catch(ne){re=ne,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ne}});}return W="empty",u.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-x,data:{purgedAccountId:z,purgeFailed:re!==void 0}})),ee(),R(),{...z===void 0?{}:{purgedAccountId:z},...re===void 0?{}:{purgeError:re}}}function Nd(){return {sessionState:W,connectionState:me.state,...i!==""?{userId:i}:{},prepared:W==="ready",connectionDesired:O,authenticated:me.state==="authenticated"}}function Ld(r){return n$2.subscribe(r)}function Fd(){return {connectionState:me.state,pendingOutbox:me.getPendingOutbox()}}function Kd(){return y.getConversationList()}H=async({conversation:r,newestLoaded:l,cursor:x,limit:V})=>{let{conversationId:te}=r,re=y.getSession(r);if(re===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${te}\uFF09`);if(re.type==="direct")return {messages:[],exhausted:true};if(re.type==="group"){if(re.groupState!==void 0&&re.groupState!=="active")return {messages:[],exhausted:true};let z=await d$2.getLoginContext();if(z===null)return {messages:[],exhausted:true};let X=x===void 0?l?.serverTime??l?.createdAt:Nc(x,te);if(X===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${te}, messageId=${l?.id??""}\uFF09`);let ne=await Ea$1({http:A,userId:z.userId,clientType:a$1,groupId:te,baseTime:X,direct:2,limit:V,decryptDeps:jn("history"),prepareKeys:Gn,onReaction:He});ne.messages.length>0&&y.upsertMessages(ne.messages,"offline");let se=ne.newestEntryTime,ue=ne.batchSize<V||se===void 0||se<=X;return {messages:ne.messages,exhausted:ue,...ue?{}:{nextCursor:String(se)}}}if(re.type==="channel"){if(re.channelState!==void 0&&Be(re.channelState))return {messages:[],exhausted:true};let z=x??l?.extensions?.historyCursor;if(typeof z!="string"||z.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${te}, messageId=${l?.id??""}\uFF09`);let X=de,ne=J(te),se=await d$2.getLoginContext();if(se===null)return {messages:[],exhausted:true};let ue=x===void 0?(await yn.loadMessageContext(te,z,se.userId)).context:await yn.loadNewerPage(te,z,se.userId),Se=y.getSession(r);return !C||X!==de||ne!==J(te)||Se?.type!=="channel"||Se.channelState!==void 0&&Be(Se.channelState)?{messages:[],exhausted:true}:(ue.messages.length>0&&y.upsertMessages(ue.messages,"offline"),{messages:ue.messages,exhausted:!ue.hasNewer,...!ue.hasNewer||ue.nextCursor===void 0?{}:{nextCursor:ue.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${re.type}`)};async function ho(){let r=await d$2.getLoginContext();if(r===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await or(r.userId),x=await Aa({http:A,userId:r.userId,clientType:a$1,decryptDeps:l,onReaction:He}),V=await Ba({http:A,userId:r.userId,clientType:a$1,decryptDeps:l,onReaction:He}),te=[...x,...V];return y.upsertMessages(te,"offline"),te}async function Ud(){await go();}let Bd=2;function Xe(r){let l=j({...r,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Gd(r){return r instanceof Error&&r.name==="ImConversationOpenError"&&typeof r.code=="string"}function jd(r){if(typeof r=="object"&&r!==null&&typeof r.code=="string"&&typeof r.category=="string"&&typeof r.retryable=="boolean"){let l=r;return {code:l.code,category:l.category,retryable:l.retryable}}return r instanceof m?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:r instanceof n$1||r instanceof Error&&r.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function $n(r){if(!C)throw Xe({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:r})}function Hd(r){let l=r?.conversationType,x=r?.conversationId;if(l==="supergroup")throw Xe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:r});if(l!=="direct"&&l!=="group"&&l!=="channel"||typeof x!="string"||x.trim()==="")throw Xe({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...r===void 0?{}:{conversation:r}});return Object.freeze({conversationType:l,conversationId:x.trim()})}function Jn(r,l){return {id:r.conversationId,type:r.conversationType,title:l.title.trim()||r.conversationId,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:l.muted??false,...l.groupState===void 0?{}:{groupState:l.groupState},...l.channelState===void 0?{}:{channelState:l.channelState},...l.channelPermissions===void 0?{}:{channelPermissions:l.channelPermissions},...l.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:l.channelAccessSnapshot},...l.sendDisabledReason===void 0?{}:{sendDisabledReason:l.sendDisabledReason}}}async function Vd(r){let l=Hd(r);if($n(l),y.getSession(l)!==void 0)return l;try{if(l.conversationType==="direct"){let re=Ze.peekItem("individual",l.conversationId);if(re!==void 0)return y.ensureConversation(Jn(l,{title:re.displayName||re.cardDisplayName,...re.avatarUrl===void 0?{}:{avatar:re.avatarUrl}})),l;let z=await B$2.getRelationship(l.conversationId);if($n(l),z!=="friend")throw Xe({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:z})});let X=await B$2.getProfile(l.conversationId);if($n(l),X===null||X.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return y.ensureConversation(Jn(l,{title:X.remark??X.nickname,...X.avatar===void 0?{}:{avatar:X.avatar},...X.muted===void 0?{}:{muted:X.muted}})),l}if(l.conversationType==="group"){let re=Ze.peekItem("group",l.conversationId);if(re!==void 0)return y.ensureConversation(Jn(l,{title:re.displayName||re.cardDisplayName,...re.avatarUrl===void 0?{}:{avatar:re.avatarUrl},groupState:"active"})),l;if(ce===void 0)throw Xe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let z=await ce.getGroupProfile(l.conversationId);if($n(l),z===null||z.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(z.isInGroup===!1||z.status!==void 0&&z.status!==Bd)throw Xe({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...z.status===void 0?{}:{status:z.status},...z.isInGroup===void 0?{}:{isInGroup:z.isInGroup}})});return y.ensureConversation(Jn(l,{title:z.name,...z.avatar===void 0?{}:{avatar:z.avatar},...z.muted===void 0?{}:{muted:z.muted},groupState:"active"})),l}if(Me===void 0)throw Xe({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let x=await Me.getProfile(l.conversationId);if($n(l),x===null||x.id!==l.conversationId)throw Xe({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let V=x.channelState==="active"||x.channelState==="muted",te=x.channelState==="muted"&&x.accessSnapshot?.allMembersMuted===!0&&x.role!=="owner"&&x.role!=="admin";if(!V||te)throw Xe({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:x.channelState,role:x.role,hiddenByAllMemberMute:te})});return y.ensureConversation(Jn(l,{title:x.name,...x.avatar===void 0?{}:{avatar:x.avatar},...x.muted===void 0?{}:{muted:x.muted},channelState:x.channelState,channelPermissions:x.permissions,...x.accessSnapshot===void 0?{}:{channelAccessSnapshot:x.accessSnapshot},...x.permissions.sendMessages?{}:{sendDisabledReason:`channel_${x.channelState}`}})),l}catch(x){if(Gd(x))throw x;let V=jd(x);throw Xe({...V,conversation:l,cause:x})}}let It={...zs({...I===void 0?{}:{coreClient:I},authProvider:d$2,http:A,resolveInput:Ne,domainState:y,operations:{list:Kd,pullOffline:ho,sync:Ud},terminateConversationSending:(r,l)=>me.terminateConversationSending(r,l),resetConversationBackground:r=>K.api.resetBackground(r),reportStorageError:(r,l)=>n$2.emit({type:"error",error:{scope:"storage",message:r,cause:l}}),markChannelRead:(r,l)=>me.markRead(r,l,"channel")}),...K.api,ensureOpenableConversation:Vd};function zd(r){let l={...r,close(){r.close(),q.delete(l);}};return jt(l,r),q.add(l),l}function ir(r){if(!C)throw r.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return zd(r)}async function qd(r,l={}){if(!C)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let x={domainState:y,emitter:n$2,drafts:ve.api,sendText:we.operations.sendText,sendContact:we.operations.sendContact,sendImage:we.operations.sendImage,sendVideo:we.operations.sendVideo,sendVoice:we.operations.sendVoice,sendFile:we.operations.sendFile,sendGif:we.operations.sendGif,sendMediaAlbum:we.operations.sendMediaAlbum,sendExpression:we.operations.sendExpression,sendGame:we.operations.sendGame,sendMiniProgram:we.operations.sendMiniProgram,sendTransfer:we.operations.sendTransfer,replaceVideo:we.operations.replaceInterruptedVideo,replaceFile:we.operations.replaceInterruptedFile,forwardMessages:we.operations.forwardMessages,recallMessage:we.operations.recallMessage,editMessage:we.operations.editMessage,setReaction:({conversation:V,parentMessageId:te,emoji:re,action:z})=>z==="toggle"?Vn.toggle({conversation:V,parentMessageId:te,emoji:re}):Vn.set({conversation:V,parentMessageId:te,emoji:re,action:z==="add"?0:1}),markRead:we.operations.markRead,markDirectMediaConsumed:we.operations.markDirectMediaConsumed,prepareMediaPreview:Wr,getSelfId:()=>i,isOutboxOwned:V=>me.getPendingOutbox().some(te=>te.id===V),hasOutboxForConversation:V=>me.getPendingOutbox().some(te=>te.conversationType===V.conversationType&&te.conversationId===V.conversationId),resolveSearchHistoryAnchor:Re.resolveHistoryAnchor};switch(r.conversationType){case "direct":{let V={conversationType:"direct",conversationId:r.conversationId},te=await mc(V,{...x,getRelationship:B$2.getRelationship,shouldCheckRelationship:()=>me.state==="authenticated",appendContactRequiredTextFailure:z=>y.appendDirectContactRequiredTextFailure({conversationId:z.conversationId,senderId:i,text:z.text,...z.refMessageId===void 0?{}:{refMessageId:z.refMessageId}}),setMuted:(z,X)=>It.setMuted(z,X),fetchMessagesByIdBatch:Xc},l),re=ir(te);return gt(V),re}case "group":{let V={conversationType:"group",conversationId:r.conversationId},te=await fc(V,{...x,getSendPermissionError:z=>{let X=y.getSession(V),ne=X?.type==="group"?X.groupState:"unknown";if(!(ne===void 0||ne==="active"))return j({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:z,retryable:false,conversation:V,details:Object.freeze({groupState:ne})})},setMuted:(z,X)=>It.setMuted(z,X),fetchMessagesByIdBatch:z=>Qc(V.conversationId,z)},l),re=ir(te);return gt(V),re}case "channel":{let V={conversationType:"channel",conversationId:r.conversationId},te=await Ic(V,{...x,getSelfId:()=>i,deleteMessageForEveryone:me.deleteChannelMessageForEveryone,reconcilePage:bd.reconcilePage,getSendPermissionError:z=>{let X=y.getSession(V),ne=X?.type==="channel"&&X.channelState!==void 0?X.channelState:"unknown_restricted",se=ya$1({channelState:ne,nowMs:Date.now(),...X?.type!=="channel"||X.channelAccessSnapshot===void 0?{}:{snapshot:X.channelAccessSnapshot},...X?.type!=="channel"||X.channelPermissions===void 0?{}:{permissions:X.channelPermissions}});if(!(se.channelState==="active"&&se.permissions.sendMessages))return j({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:z,retryable:false,conversation:V,details:Object.freeze({channelState:se.channelState,...se.muteReason===void 0?{}:{muteReason:se.muteReason}})})},setMuted:(z,X)=>It.setMuted(z,X),fetchMessagesByIdBatch:z=>Zc(V.conversationId,z)},l),re=ir(te);return gt(V),re}default:throw new Error(`openConversation\uFF1A${r.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async r=>{await we.operations.sendText({conversationId:r.peerId,conversationType:"direct",text:r.text,encrypted:r.encrypted});}},openConversation:qd,localData:ut,directory:Ze.search,search:Re.api,applications:Z.api,expressions:lt.api,sessionFavorites:zt.api,outbox:po.api,drafts:ve.api,connection:Ws({operations:{prepare:Io,connect:Od,disconnect:yo,subscribe:Ld,getSnapshot:Fd,getLifecycle:Nd},getState:()=>me.state}),conversations:It,settings:s$1.api,push:qn.api,contact:B$2,group:ns({directory:Ze.groups,...ce===void 0?{}:{profile:ce},...I===void 0?{}:{coreClient:I},..._e===void 0?{}:{avatarTransfer:_e},domainState:{...Hn,ensureConversation:r=>y.ensureConversation(r)},emitter:n$2,pinned:lo.operations}),channel:js({directory:Ze.channels,...Me===void 0?{}:{channelProfile:Me},...Pe===void 0?{}:{channelMembers:Pe},...be===void 0?{}:{channelMentionMembers:be},mentionCandidates:Te.api,applications:yn.applications,pinned:uo.operations,...I===void 0?{}:{coreClient:I},..._e===void 0?{}:{avatarTransfer:_e},crypto:le,domainState:{ensureConversation:r=>y.ensureConversation(r),setChannelRestriction:y.setChannelRestriction,removeConversationForMembershipTermination:Hn.removeConversationForMembershipTermination,updateConversationProfile:y.updateConversationProfile,refreshConversationProfile:y.refreshConversationProfile},emitter:n$2,...Ie===void 0?{}:{cacheCreatedSecretKey:(r,l)=>Ie.primeChannelKey(r,l)},getSelfUserId:async()=>i!==""?i:(await d$2.getLoginContext())?.userId??""}),media:rr.api,calls:Xs(Zt),groupCalls:_c(er),teardown:xd}}function pp(e){let n=mp(e);return Uc(Bc(n),e.coreApi!==void 0)}function lg(e){return Bc(fp(e))}function mp(e){return {...Fc(e),...e.coreApi===void 0?{}:{coreClient:Kc(e.authProvider,e.coreApi)}}}function Fc(e){let{authProvider:n,cache:t,clientType:c,connection:a,debug:d,endpointProvider:i,expressions:u,media:C,onRequestError:I}=e;return {authProvider:n,onRequestError:I,cache:t,clientType:c,connection:a,debug:d,endpointProvider:i,expressions:u,media:C}}function fp(e){let{adapters:n,channelJoinApplications:t,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:i,coreApi:u,coreClient:C,directory:I,expressionProvider:A,sessionFavoriteProvider:E,http:f,network:M,profile:D,groupApplications:k,transport:K}=e;return {...Fc(e),adapters:n,channelJoinApplications:t,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:i,directory:I,expressionProvider:A,sessionFavoriteProvider:E,...C!==void 0?{coreClient:C}:u===void 0?{}:{coreClient:Kc(e.authProvider,u)},http:f,network:M,profile:D,groupApplications:k,transport:K}}function Kc(e,n){let t=n.baseUrl.trim();if(t==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return A({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:t,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function Uc(e,n){let t=Ms({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),c={getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:s=>e.media.cancel(s),retry:s=>e.media.retry(s),download:s=>e.media.download(s),getCached:s=>e.media.getCached(s),prepareLocalPreview:s=>e.media.prepareLocalPreview(s),prepareLocalVideoPoster:s=>e.media.prepareLocalVideoPoster(s)},a=s=>Promise.reject(j({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function d(s,o,p){if(!n)return a(s);try{return await o()}catch(g){throw Or(g,s,p)}}function i(s,o,p){if(!n)throw j({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:p});try{return o()}catch(g){throw Or(g,s,p)}}let u,C=s=>d("contacts.getRelationship",()=>e.contacts.getRelationship(s)),I=(s,o)=>d("groups.getProfile",async()=>{let p=await e.groups.getProfile(s,o);return p===null?null:xs(s,p)},s),A=(s,o)=>d("channels.getProfile",async()=>{let p=await e.channels.getProfile(s,o);return p===null?null:Ns(s,p)},s),E={listFirstPage:s=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>d("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,o)=>d("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(s,o);return p===null?null:Os(s,p)}),getRelationship:async s=>{let o=s.trim(),p={conversationType:"direct",conversationId:o},g=u?.beginProjectionUpdate(p),S=await C(s);return g!==void 0&&u?.updateRelationshipProjection(o,S,g),S},setRemark:(s,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(s,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}})),searchUser:s=>d("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,o)),blockUser:s=>d("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(s,o),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},f={search:s=>d("directory.search",()=>e.directory.search(s))},M={listFirstPage:s=>d("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>d("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>d("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>a("groups.mentions.listAll"),refreshAll:()=>a("groups.mentions.refreshAll")},getProfile:async(s,o)=>{let p=u?.beginProjectionUpdate(s),g=await I(s,o);return p!==void 0&&u?.updateGroupProfileProjection(s,g,p),g},updateName:(s,o)=>d("groups.updateName",()=>e.groups.updateName(s,o),s),updateAvatar:(s,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(s,o),s),setMyNickname:(s,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(s,o),s),updateVerification:(s,o,p)=>d("groups.updateVerification",()=>e.groups.updateVerification(s,o,p),s),requestJoin:(s,o)=>d("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,o),s),inviteMembers:(s,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("groups.removeMember",()=>e.group.removeMember(s.conversationId,o),s),transferOwnership:(s,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("groups.leave",()=>e.group.leave(s.conversationId,o),s),peekPinnedMessage:s=>i("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(s.conversationId);return o===null?null:Ut(s,o)},s),getPinnedMessage:s=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(s);return o===null?null:Ut(s,o)},s),pinMessage:(s,o)=>d("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(s,o);return Ut(s,p)},s),unpinMessage:s=>d("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},D={listFirstPage:s=>d("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>d("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>d("channels.create",()=>e.channels.create(s)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>a("channels.mentions.getCachedPage"),prefetchFirstPage:()=>a("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>a("channels.mentions.refreshFirstPage"),listFirstPage:()=>a("channels.mentions.listFirstPage"),listNextPage:()=>a("channels.mentions.listNextPage"),searchFirstPage:()=>a("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>a("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>a("channels.mentions.searchNextPage")},getProfile:async(s,o)=>{let p=u?.beginProjectionUpdate(s),g=await A(s,o);return p!==void 0&&u?.updateChannelProfileProjection(s,g,p),g},updateName:(s,o)=>d("channels.updateName",()=>e.channel.updateName(s.conversationId,o),s),updateDescription:(s,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,o),s),updateAvatar:(s,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,o),s),updateVerification:(s,o,p)=>d("channels.updateVerification",()=>e.channels.updateVerification(s,o,p),s),requestJoin:(s,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,o),s),setAllMuted:(s,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,o),s),setMemberPrivateChatDisabled:(s,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,o),s),setMyNickname:(s,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,o),s),setMemberNickname:(s,o,p)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,o,p),s),inviteMembers:(s,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("channels.removeMember",()=>e.channel.removeMember(s.conversationId,o),s),addAdmin:(s,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,o),s),removeAdmin:(s,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,o),s),transferOwnership:(s,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("channels.leave",()=>e.channel.leave(s.conversationId,o),s),dismiss:s=>d("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>i("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(s.conversationId);return o===null?null:Bt(s,o)},s),getPinnedMessage:s=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(s);return o===null?null:Bt(s,o)},s),pinMessage:(s,o)=>d("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(s,o);return Bt(s,p)},s),unpinMessage:s=>d("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},k=Cs({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>t.api.list().find(o=>o.ref.conversationType===s.conversationType&&o.ref.conversationId===s.conversationId),subscribeConversations:s=>t.api.subscribe(o=>s(o.items)),getRelationship:C,getGroupProfile:I,getChannelProfile:A});u=k;let K=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{k.reset();try{await e.session.logout(s);}finally{k.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function v(s,o={}){let p=e.conversations,g=e.openConversation,S=await p.ensureOpenableConversation(s);return S.conversationType==="direct"?g({conversationType:"direct",conversationId:S.conversationId},o):S.conversationType==="group"?g({conversationType:"group",conversationId:S.conversationId},o):g({conversationType:"channel",conversationId:S.conversationId},o)}let h={get session(){return K},get capabilities(){return k.api},get conversations(){return t.api},get directory(){return f},get contacts(){return E},get groups(){return M},get channels(){return D},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return c},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:v,dispose:async()=>{k.dispose(),t.dispose(),await e.dispose();}};return xr(h,()=>Ks(e)),h}function ug(e,n){return Uc(e,n.coreApiAvailable)}function Bc(e){let n=b(e.cache?.prefix),t=e.adapters?.namespaceFactory??n;if(t.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let c=lb(),a=0,d=()=>Lc(e,c,t,a++),i=d(),u=false;async function C(h){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await i.teardown(h),i=d();}async function I(){if(u)throw Sn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let h=await i.localData.getInfo(),s;try{s=await i.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(o){throw i=d(),Sn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:h.accountScope,cause:o})}if(i=d(),s.purgedAccountId!==h.accountScope)throw Sn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:h.accountScope,cause:s.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:h.accountScope,category:"all"});}let A=_s({getRuntime:()=>i.localData,purgeCurrentAccount:I}),E={start:h=>i.connection.connect(h),stop:async h=>{i.connection.disconnect(h);},logout:C,getSnapshot:()=>i.connection.getLifecycle(),subscribe:h=>(h(i.connection.getLifecycle()),i.connection.subscribe(s=>{s.type==="connection:changed"&&h(i.connection.getLifecycle());}))},f=ws({subscribeCore:h=>i.connection.subscribe(h),getLifecycleSnapshot:()=>i.connection.getLifecycle(),getConversation:h=>{let s=i.conversations.list().find(o=>o.type===h.conversationType&&o.id===h.conversationId);return s===void 0?void 0:Tr(s)},resolveContactApplicationAnswer:async h=>{let s=i,o=await s.contact.resolveApplicationAnswer(h.peerId,h.messageId);return i===s?o:null}}),M={listFirstPage:h=>i.contact.listFirstPage(h),listNextPage:h=>i.contact.listNextPage(h),getProfile:(h,s)=>i.contact.getProfile(h,s),getRelationship:h=>i.contact.getRelationship(h),setRemark:(h,s)=>i.contact.setRemark(h,s),searchUser:h=>i.contact.searchUser(h),requestFriendship:(h,s)=>i.contact.requestFriendship(h,s),blockUser:h=>i.contact.blockUser(h),reportUser:(h,s)=>i.contact.reportUser(h,s),deleteFriendship:h=>i.contact.deleteFriendship(h)},D={listFirstPage:h=>i.group.listFirstPage(h),listNextPage:h=>i.group.listNextPage(h),uploadAvatar:h=>i.group.uploadAvatar(h),create:h=>i.group.create(h),createFaceToFace:()=>i.group.createFaceToFace(),get mentions(){return i.group.mentions},getProfile:(h,s)=>i.group.getProfile(h.conversationId,s),updateName:(h,s)=>i.group.updateName(h.conversationId,s),updateAvatar:async(h,s)=>{await i.group.updateAvatar(h.conversationId,s);},setMyNickname:(h,s)=>i.group.setMyNickname(h.conversationId,s),updateVerification:(h,s,o)=>i.group.updateVerification(h.conversationId,s,o),requestJoin:(h,s)=>i.group.requestJoin(h.conversationId,s),joinByInviteCode:(h,s)=>i.group.joinByInviteCode(h.conversationId,s),getPinnedMessage:h=>i.group.getPinnedMessage(h.conversationId),pinMessage:(h,s)=>i.group.pinMessage({groupId:h.conversationId,messageId:s}),unpinMessage:h=>i.group.unpinMessage(h.conversationId)},k={listFirstPage:h=>i.channel.listFirstPage(h),listNextPage:h=>i.channel.listNextPage(h),uploadAvatar:h=>i.channel.uploadAvatar(h),create:h=>i.channel.create(h),get mentions(){return i.channel.mentions},getProfile:(h,s)=>i.channel.getProfile(h.conversationId,s),updateVerification:(h,s,o)=>i.channel.updateVerification(h.conversationId,s,o),requestJoin:(h,s)=>i.channel.requestJoin(h.conversationId,s),joinByInviteCode:(h,s)=>i.channel.joinByInviteCode(h.conversationId,s),setAllMuted:(h,s)=>i.channel.setAllMuted(h.conversationId,s),setMemberPrivateChatDisabled:(h,s)=>i.channel.setMemberPrivateChatDisabled(h.conversationId,s),setMyNickname:(h,s)=>i.channel.setMyNickname(h.conversationId,s),setMemberNickname:(h,s,o)=>i.channel.setMemberNickname(h.conversationId,s,o),dismiss:h=>i.channel.dismiss(h.conversationId),getPinnedMessage:h=>i.channel.getPinnedMessage(h.conversationId),pinMessage:(h,s)=>i.channel.pinMessage({channelId:h.conversationId,messageId:s}),unpinMessage:h=>i.channel.unpinMessage(h.conversationId)};async function K(){u||(u=true,await i.teardown({localData:"preserve"}),c.clear());}let v={get session(){return E},get connection(){return i.connection},get conversations(){return i.conversations},get directory(){return i.directory},get contacts(){return M},get groups(){return D},get channels(){return k},get events(){return f},get contact(){return i.contact},get group(){return i.group},get channel(){return i.channel},get media(){return i.media},get calls(){return i.calls},get groupCalls(){return i.groupCalls},get settings(){return i.settings},get push(){return i.push},get outbox(){return i.outbox},get localData(){return A},get search(){return i.search},get applications(){return i.applications},get expressions(){return i.expressions},get sessionFavorites(){return i.sessionFavorites},get drafts(){return i.drafts},get openConversation(){return i.openConversation},logout:C,dispose:K};return xr(v,()=>i.advancedMessageDiagnostics),v}var gp=new TextEncoder;function Gc(e,n,t){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${t} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function jc(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let t of Object.values(e))jc(t,n);return Object.freeze(e)}function Ip(e){try{let n=structuredClone(e),t=JSON.stringify(n);return t===void 0?void 0:{record:jc(n),estimatedBytes:gp.encode(t).byteLength}}catch{return}}function yp(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 hp(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&&yp(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 vp(e={}){let n=Gc(e.maxRecords,200,"maxRecords"),t=Gc(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,a=[],d=0,i=0,u=false;function C(E){let f=a.map(M=>M.record).filter(M=>E===void 0||hp(M,E));return Object.freeze({records:Object.freeze(f),droppedCount:i,estimatedBytes:d,disposed:u})}function I(){let E=C();for(let f of c)try{f(E);}catch{}}function A(){a.length=0,d=0,i=0;}return {write(E){if(u)return;let f=Ip(E);if(f===void 0||f.estimatedBytes>t){i+=1,I();return}for(a.push(f),d+=f.estimatedBytes;a.length>n||d>t;){let M=a.shift();if(M===void 0)break;d-=M.estimatedBytes,i+=1;}I();},getSnapshot:C,subscribe(E){if(u)return ()=>{};c.add(E);let f=true;return ()=>{f&&(f=false,c.delete(E));}},clear(){u||(A(),I());},dispose(){u||(u=true,A(),c.clear());}}}function Cp(e){let n=Ua({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),t=new Map,c;function a(i){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(i.file instanceof Blob))return Promise.reject(new Ra("upload-source-invalid","Resource upload requires a File or Blob"));if(i.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let C=new AbortController,I=()=>C.abort();i.signal?.addEventListener("abort",I,{once:true});let A=true,E=()=>{if(C.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=i.filename??(typeof File<"u"&&i.file instanceof File?i.file.name:void 0),M=(async()=>{try{let D=await u.uploadResource({data:i.file,kind:i.kind,...f===void 0?{}:{filename:f},...i.file.type===""?{}:{mimeType:i.file.type},signal:C.signal,onProgress:k=>{A&&!C.signal.aborted&&i.onProgress?.(k);}});if(E(),D.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:D.url}}catch(D){throw D instanceof Ra&&D.code==="multipart-abort-failed"||E(),D}finally{A=false,i.signal?.removeEventListener("abort",I);}})();return t.set(C,M),M.then(()=>t.delete(C),()=>t.delete(C)),M}function d(){if(c!==void 0)return c;n=void 0;let i=[...t.values()];for(let u of t.keys())u.abort();return c=Promise.allSettled(i).then(()=>{}),c}return {upload:a,dispose:d}}export{Wd as a,bs as b,ye as c,Tt as d,rl as e,Dt as f,os as g,as as h,Mr as i,br as j,cs as k,kt as l,Pr as m,xt as n,pp as o,lg as p,ug as q,vp as r,Cp as s};
|