k2-im 0.1.41 → 0.1.43
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 +6 -2
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +2 -0
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +3 -2
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-6FH2DBQE.js +7 -0
- package/dist/chunk-6WAB2ZRF.js +2 -0
- package/dist/{chunk-CVLKJADF.js → chunk-7DZ5R7KR.js} +1 -1
- package/dist/chunk-DX6Q2DQD.js +2 -0
- package/dist/{chunk-EDQMDMAQ.js → chunk-PCUF66O4.js} +1 -1
- package/dist/{chunk-Z64LH3TO.js → chunk-TMIAJBDG.js} +1 -1
- package/dist/{chunk-PPXQWMHO.js → chunk-TWSAZG5J.js} +1 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +4 -1
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-HE3QXYNQ.js +0 -2
- package/dist/chunk-J77L6JLQ.js +0 -2
- package/dist/chunk-YNYTR73D.js +0 -7
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {B,$a,Xa,gb,fb,C,p,t,u,w,A,Sa,s,l,m,i,Wa,Va,e,h,f,a,fa as fa$1,Ha,za,Aa,T,ma as ma$1,Za as Za$1,cb as cb$1,db as db$1,b as b$1,ab as ab$1,bb as bb$1,v,_,$,U,Z as Z$1,W,Y,V,da as da$1,Na,sa as sa$1,ea as ea$1,Oa as Oa$1,ta as ta$1,Fa,Ga,Ba,Ca,Ka,aa as aa$1,c,Ma,ba,ca as ca$1,Pa as Pa$1,La,X,Ia as Ia$1,Da as Da$1,Ea as Ea$1,n as n$1,o,ga as ga$1,wa,S,va,ua as ua$1,g,xa as xa$1,ya as ya$2,Qa as Qa$1,d as d$1,Ra as Ra$1,x as x$1,na as na$2,j as j$1,q,y as y$1,z as z$1,k as k$1,r as r$1,ka,ja,ia as ia$2,ha as ha$1,pa as pa$2,oa as oa$2,la as la$1,R,N,M,L,K,J,I,Q,P,ra as ra$1,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja as Ja$1,eb as eb$1}from'./chunk-6FH2DBQE.js';import {b,tb,ya as ya$1,vb,ub,Oa,Ia,rb,ob,pb,nb,qb,_a,$a as $a$1,ab,bb,oa as oa$1,pa as pa$1,qa,ra,Ra,Sa as Sa$1,jb,eb,kb,db,cb,lb,hb,mb,gb as gb$1,fb as fb$1,n,z,ib,Pa,Ea,Ua,Ta,Ya,Xa as Xa$1,Za,wb,sb,Bb,xa,j,Qa,x,y,A as A$1,B as B$1,$ as $$1,Wa as Wa$1,Da,Ca as Ca$1,ha,fa as fa$2,k,d,c as c$1,D,O,za as za$1,h as h$1,w as w$1,Ka as Ka$1,Ja,na as na$1,La as La$1,r,v as v$1,t as t$1,o as o$1,C as C$1,Va as Va$1,ia as ia$1,p as p$1,E,m as m$1}from'./chunk-6WAB2ZRF.js';async function ju(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let d={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(d.fromPrefix===d.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(d);}catch(a){try{await e.migrator.rollback(d,a);}catch(c){throw new AggregateError([a,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw a}}var Fe=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 et(e,n,r){return n===39081?new Fe({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new Fe({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function nt(e,n){return n instanceof Fe?n:n instanceof c?new Fe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new Fe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Yr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function zu(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 Ut(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function Vu(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(Ut(e.image))},...e.video===void 0?{}:{video:Object.freeze(Ut(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Ut(e.voice))},...e.filesAlbum===void 0?{}:{filesAlbum:Object.freeze({...e.filesAlbum.caption===void 0?{}:{caption:e.filesAlbum.caption},items:Object.freeze(e.filesAlbum.items.map(n=>Object.freeze(Ut(n))))})},...e.file===void 0?{}:{file:Object.freeze(Ut(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.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...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(Ut(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Xr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Vu(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:zu(e.reactions)}})}function Kt(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:fa$2(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function Z(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function mr(e,n,r){return Z({...{"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},paused:{code:"IM_SDK_MEDIA_PAUSED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function yt(e,n,r){return Z({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Bt(e,n){let r=new Uint8Array(await n.arrayBuffer()),d=typeof File<"u"&&n instanceof File?n.name:void 0,c=(await e.uploadAvatar({data:r,...d===void 0?{}:{filename:d},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(c==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return c}var qu="IM_SDK_GROUP_NOT_MEMBER",Wu="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",$u="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Ju="IM_SDK_GROUP_MANAGEMENT_FAILED";function kc(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Yu(e,n,r){if(kc(e))return e;let d=e instanceof d$1?e.businessCode:void 0,a=e instanceof na$2?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?qu:d===39029?Wu:d===39033?$u:e instanceof d$1?Ju:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===39029?"permission":"state",o=Z({code:a,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"group",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function It(e,n,r){try{return await r()}catch(d){throw Yu(d,e,n)??d}}var Dc=39005,Xu=39057,Qu=39061;function Oc(e){let n=new Map,r=new Map,d=true,a=f=>({conversationType:"group",conversationId:f});function c(f){r.set(f,(r.get(f)??0)+1);}function o(f){if(!d||n.has(f))return;let R=r.get(f)??0,w=(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 S=await da$1({client:e.coreClient,groupId:f});if(!d||(r.get(f)??0)!==R)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(x(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==R)return;let N=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:N,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Qa({domainState:e.domainState,emitter:e.emitter,requestReconcile:o}),g=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let R=f.message.body.system?.pinnedMessageAction;(R?.type==="pin"||R?.type==="unpin")&&c(f.message.conversationId),u.handleMessage(f.message);});function y$1(f,R){if(R.trim()==="")throw new Fe({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(a(R));if(w===void 0)throw new Fe({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="group")throw new Fe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function C(f,R){if(e.coreClient===void 0)throw new Fe({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return y$1(f,R),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:R})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(a(f),R);if(S===void 0)throw new Fe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="group")throw new Fe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new Fe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:N,pinnedMessage:I}=y(S),D=await sa$1({client:w,groupId:f,messageContent:N});if(!D.ok)throw et("pin",D.code,D.message);c(f),e.domainState.setPinnedMessage(I,"http:pin");let s=e.domainState.getPinnedMessage(a(f));if(s===void 0)throw new Fe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(N){throw nt("pin",N)}},unpinMessage:async f=>{let R=C("unpin",f);try{let w=await Na({client:R,groupId:f});if(!w.ok)throw et("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(w){throw nt("unpin",w)}},getPinnedMessage:async f=>{let R=C("get",f);try{let w=await da$1({client:R,groupId:f});if(!w.ok)throw et("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let S=x(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let N=e.domainState.getPinnedMessage(a(f));if(N===void 0)throw new Fe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return N}catch(w){throw nt("get",w)}},peekPinnedMessage:f=>(y$1("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{d&&(d=false,g());}}}function xc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,a=new Map;function c$1(i){if(i.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(i.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function o(i){let m=[],E=new Set;for(let _ of i){if(_.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");E.has(_.userId)||(E.add(_.userId),m.push(Object.freeze({userId:_.userId,displayName:_.nickName.trim()===""?_.userId:_.nickName})));}return Object.freeze(m)}async function u(i,m){c$1(i);let E=e.profile?.listGroupMembers;if(E===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let _=i.conversationId,U=r.get(_);if(!m&&U!==void 0)return U;let Q=a.get(_);if(Q!==void 0&&(!m||Q.refresh))return Q.promise;let W=(d.get(_)??0)+1;d.set(_,W);let de=Promise.resolve().then(()=>E(_,m?{forceRefresh:true}:void 0)).then(Ie=>{if(Ie===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let v=o(Ie);return d.get(_)===W&&r.set(_,v),v}).finally(()=>{a.get(_)?.promise===de&&a.delete(_);});return a.set(_,{refresh:m,promise:de}),de}function g(i,m,E,_){let Q=Z({code:i,category:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":i==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...E===void 0?{}:{details:E},..._===void 0?{}:{cause:_}});return Object.assign(new Error(m),Q)}function y(i,m,E,_){let U=Z({code:i,category:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":i==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...E===void 0?{}:{details:E},..._===void 0?{}:{cause:_}});return Object.assign(new Error(m),U)}function C(i){if(i===null||typeof i!="object"||i===void 0)throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let E=typeof i.status=="number"?i.status:Number(i.status);if(!Number.isSafeInteger(E)||E!==1&&E!==2)throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let _=String(m),U=i.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:_}),activation:E===1?"pending":"active",...U===void 0||U===""?{}:{avatarUrl:U},qrPayload:Yr(_,U)})}function h(i){if(i===void 0)return;let m=typeof i=="number"?i:Number(i);return Number.isSafeInteger(m)?m:void 0}function f(i){if(typeof i=="boolean")return i;if(i===1||i==="1"||i==="true")return true;if(i===0||i==="0"||i==="false")return false}function R(i){if(i===null||typeof i!="object"||i===void 0)throw g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let m=i.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let E=String(m),_=i,U=_.name?.trim()??"";if(U==="")throw g("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let Q=h(_.total_users),W=h(_.status),de=h(_.verify_way),Ie=h(_.update_version),v=f(_.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:E}),name:U,..._.head_img_url?.trim()===""||_.head_img_url===void 0?{}:{avatar:_.head_img_url},..._.user_id===void 0?{}:{ownerId:String(_.user_id)},...Q===void 0?{}:{memberCount:Q},...W===void 0?{}:{status:W},...v===void 0?{}:{isInGroup:v},...de===void 0?{}:{verifyWay:de},...Ie===void 0?{}:{updateVersion:Ie},..._.invite_code===void 0?{}:{inviteCode:_.invite_code}}}function w(i){let m=i.name.trim();if(m==="")throw g("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>40)throw g("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let E=i.memberIds;if(!Array.isArray(E))throw g("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let _=E.map(Q=>typeof Q=="string"?Q.trim():"");if(_.includes(""))throw g("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let U=[...new Set(_)];if(U.length>40)throw g("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:U}}function S(i,m){let E=i.trim();if(E==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return E}function N(){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 I(i){if(!Array.isArray(i))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let m=i.map(E=>S(E,"\u7FA4\u6210\u5458 id"));return [...new Set(m)]}function D(i,m,E){if(i!==1&&i!==2&&i!==4){let U=Z({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:E}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),U)}if(i!==4)return {verifyWay:i};let _=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(_)){let U=Z({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:E}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),U)}return {verifyWay:i,inviteCode:_}}function s(i){r.delete(i),d.set(i,(d.get(i)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});}return {...n,mentions:{listAll:i=>u(i,false),refreshAll:i=>u(i,true)},getProfile:(i,m)=>e.profile?.getGroupProfile(i,m)??Promise.resolve(null),listMembers:(i,m)=>e.profile?.listGroupMembers?.(i,m)??Promise.resolve(null),getMemberNames:(i,m)=>e.profile?.getGroupMemberNames?.(i,m)??Promise.resolve(null),peekMembers:i=>e.profile?.peekGroupMembers?.(i)??Promise.resolve(null),peekMemberNames:i=>e.profile?.peekGroupMemberNames?.(i)??Promise.resolve(null),peekProfile:i=>e.profile?.peekGroupProfile?.(i)??Promise.resolve(null),updateName:async(i,m)=>{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 E=m.trim();if(i===""||E==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Pa$1({client:e.coreClient,groupId:i,name:E}),e.domainState.updateConversationProfile(i,{title:E}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateAvatar:async(i,m)=>{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(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let E=await Bt(e.avatarTransfer,m);return await Pa$1({client:e.coreClient,groupId:i,avatarUrl:E}),e.domainState.updateConversationProfile(i,{avatar:E}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i}),E},uploadAvatar:async i=>{if(e.avatarTransfer===void 0)throw g("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Bt(e.avatarTransfer,i)},create:async i=>{if(e.coreClient===void 0)throw g("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw g("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let m=w(i);try{let E=await ca$1({client:e.coreClient,name:m.name,memberIds:m.memberIds,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}});if(!E.ok){let U=E.code===Dc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":E.code===Xu?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":E.code===Qu?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw g(U,E.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:E.code,message:E.message}))}let _=R(E.data);return e.domainState.prepareConversation({id:_.ref.conversationId,type:"group",title:_.name,..._.avatar===void 0?{}:{avatar:_.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:_})}catch(E){throw E!==void 0&&typeof E=="object"&&E!==null&&"code"in E&&String(E.code).startsWith("IM_SDK_")?E:E instanceof c?g("IM_SDK_GROUP_CREATE_NETWORK_FAILED",E.message,void 0,E):g("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,E)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw y("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let i=await ba({client:e.coreClient});if(!i.ok){let m=i.code===Dc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw y(m,i.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:i.code}))}return Object.freeze({group:C(i.data)})}catch(i){throw kc(i)?i:i instanceof c?y("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",i.message,void 0,i):y("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,i)}},setMyNickname:async(i,m)=>{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(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ma({client:e.coreClient,groupId:i,nickname:m}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateVerification:async(i,m,E)=>{let _=N(),U=S(i,"\u7FA4 id"),Q=D(m,E,U);await It("groups.updateVerification",U,()=>la$1({client:_,groupId:U,verifyWay:Q.verifyWay,...Q.inviteCode===void 0?{}:{inviteCode:Q.inviteCode}})),s(U);},requestJoin:async(i,m)=>{let E=N(),_=S(i,"\u7FA4 id"),U=m?.remarks?.trim();return It("groups.requestJoin",_,()=>oa$2({client:E,groupId:_,...U===void 0?{}:{remarks:U}}))},joinByInviteCode:async(i,m)=>{let E=N(),_=S(i,"\u7FA4 id"),U=m.trim();if(!/^\d{6}$/.test(U))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return It("groups.joinByInviteCode",_,()=>pa$2({client:E,groupId:_,inviteCode:U}))},inviteMembers:async(i,m)=>{let E=N(),_=S(i,"\u7FA4 id"),U=I(m);if(U.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await It("groups.inviteMembers",_,()=>ha$1({client:E,groupId:_,userIds:U})),s(_);},removeMember:async(i,m)=>{let E=N(),_=S(i,"\u7FA4 id"),U=S(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await It("groups.removeMember",_,()=>ia$2({client:E,groupId:_,userId:U})),s(_);},transferOwnership:async(i,m)=>{let E=N(),_=S(i,"\u7FA4 id"),U=S(m,"\u65B0\u7FA4\u4E3B id");await It("groups.transferOwnership",_,()=>ja({client:E,groupId:_,userId:U})),s(_);},leave:async(i,m)=>{let E=N();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(i,"\u7FA4 id"),U=m?.newOwnerId===void 0?void 0:S(m.newOwnerId,"\u65B0\u7FA4\u4E3B id");await It("groups.leave",_,()=>ka({client:E,groupId:_,...U===void 0?{}:{newOwnerId:U}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:_},"group_left"),s(_);},...e.pinned}}var Zu="image/jpeg,image/png,image/webp";async function Qr(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),r;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?r="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((a,c)=>n[c]===a)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let d=e.type.trim().toLowerCase();return r!==void 0&&(d===""||d==="application/octet-stream"||d===r)}function Lc(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 Fc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Uc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function zo(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,a=Uc();return tb({enabled:r,level:d?.level??"trace",categories:d?.categories??Fc,...r?{sink:d?.sink??a,fallbackSink:a}:{},getRuntimeContext:n})}var Kc=[{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 Vo=Object.freeze(Kc.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Bc=new Map(Vo.flatMap(e=>e.tokens.map(n=>[n,e])));function Gc(e){return Bc.get(e)}function Hc(e){return Bc.has(e)}function vt(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function jc(e,n){return n instanceof Qa$1?vt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?vt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?vt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):vt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function fr(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function qo(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let a=e[d]??0,c=e[d+1]??0,o=e[d+2]??0,u=a<<16|c<<8|o;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=d+1<e.length?n.charAt(u>>>6&63):"=",r+=d+2<e.length?n.charAt(u&63):"=";}return r}function Zr(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 Wo(e){let n=Zr(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=fr(e.body.image?.url),d=qo(e.body.image?.thumbData);return r===""||d===""?null:{content:r,imageURL:r,thumbData:d,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=fr(e.body.video?.url),d=qo(e.body.video?.thumbData);return r===""||d===""?null:{content:r,videoURL:r,thumbData:d,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let r=fr(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=fr(e.body.file?.url),d=(e.body.file?.fileName??"").trim();return r===""||d===""?null:{content:d,fileURL:r,fileName:d,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let r=e.body.mediaAlbum;if(r===void 0||r.items.length===0)return null;let d=r.items.map(a=>({mediaType:a.kind==="video"?2:1,url:fr(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:qo(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 d.some(a=>a.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function np(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function zc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function $c(e){function n(a){if(!e.isActive())throw vt({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function r(a,c){if(n(a),e.provider===void 0)throw jc(a,new Qa$1);let o;try{o=await c(e.provider);}catch(u){throw n(a),jc(a,u)}return n(a),o}return {api:{list:async()=>{let a=await r("sessionFavorites.list",c=>c.list());return Object.freeze(a.map(zc))},addFromMessage:async a=>{let c="sessionFavorites.addFromMessage",o=Zr(a.message),u=Wo(a.message),g=a.selfId.trim(),y=a.message.id.trim();if(o===null||u===null||g===""||y==="")throw vt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:c,retryable:false});let C={messageId:y,conversation:a.conversation,senderId:a.message.senderId.trim(),createdAt:a.message.createdAt,kind:o,plainBody:u,peerId:np(a.message,g,a.conversation.conversationId)},h=await r(c,f=>f.add(C));return zc(h)},delete:async a=>{let c="sessionFavorites.delete",o=[...new Set(a.map(u=>u.trim()).filter(u=>u!==""))];if(o.length===0)throw vt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:c,retryable:false});await r(c,u=>u.delete(o));}}}}var Jc="settings:read-receipts:v1",Yc="settings:appearance:v1",no=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function Jn(e){return Z({...e,retryable:e.retryable??false})}function Yo(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Xo(){return {fontScale:1}}function $o(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function tp(e){if(typeof e!="object"||e===null)return Yo();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,a]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof a=="boolean"&&(r[d]=a);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function rp(e){if(typeof e!="object"||e===null)return Xo();let n=e.fontScale;return {fontScale:Xc(n)?n:1}}function Xc(e){return typeof e=="number"&&no.includes(e)}function Jo(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw Jn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function eo(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw Jn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Qc(e){let n=false,r=false,d=false,a,c,o=Yo(),u=Promise.resolve(),g=false,y,C=Xo(),h=Promise.resolve();function f(m){return Jn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m})}function R(m){if(n)throw f(m)}async function w(m,E){if(R(E),r)return;let _;try{_=eo(e.storage,E);}catch(U){if(!m)return;throw U}try{let U=await _.getMeta(Jc);R(E),o=tp(U),r=!0,d=!1;}catch(U){throw n?f(E):(d=true,Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:E,cause:U}))}}function S(m){return R(m),r?Promise.resolve():(a===void 0&&(a=w(true,m).finally(()=>{a=void 0;})),a)}async function N(m){if(R(m),!g)try{let E=await eo(e.storage,m).getMeta(Yc);R(m),C=rp(E),g=!0;}catch(E){throw n?f(m):typeof E=="object"&&E!==null&&"code"in E?E:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:E})}}function I(m){return R(m),g?Promise.resolve():(y===void 0&&(y=N(m).finally(()=>{y=void 0;})),y)}async function D(m,E,_){R(m);let U=u.then(async()=>{R(m),await S(m),R(m);let Q=$o(o),W=E($o(o));try{await eo(e.storage,m).setMeta(Jc,$o(W));}catch(de){throw n?f(m):typeof de=="object"&&de!==null&&"code"in de?de:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:de})}R(m),o=W,_?.(Q,W);});return u=U.catch(()=>{}),U}let s={async getGlobal(){let m="settings.readReceipts.getGlobal";return R(m),await S(m),R(m),o.globalEnabled},setGlobal(m){return typeof m!="boolean"?Promise.reject(Jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):D("settings.readReceipts.setGlobal",E=>({...E,globalEnabled:m}),(E,_)=>{E.globalEnabled&&!_.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(m){let E="settings.readReceipts.getConversation";R(E);let _=Jo(m,E);await S(E),R(E);let U=o.peerOverrides[_.conversationId]??true;return Object.freeze({enabled:U,effectiveEnabled:o.globalEnabled&&U})},setConversation(m,E){let _="settings.readReceipts.setConversation",U;try{U=Jo(m,_);}catch(Q){return Promise.reject(Q)}return typeof E!="boolean"?Promise.reject(Jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:_,conversation:U})):D(_,Q=>(Q.peerOverrides[U.conversationId]=E,Q),(Q,W)=>{let de=U.conversationId,Ie=Q.globalEnabled&&(Q.peerOverrides[de]??true),v=W.globalEnabled&&(W.peerOverrides[de]??true);Ie&&!v&&e.onDirectReadReceiptDisabled?.(de);})},resetConversation(m){let E="settings.readReceipts.resetConversation",_;try{_=Jo(m,E);}catch(U){return Promise.reject(U)}return D(E,U=>(delete U.peerOverrides[_.conversationId],U))}},i={fontScale:Object.freeze({async get(){let m="settings.appearance.fontScale.get";return await I(m),R(m),C.fontScale},set(m){let E="settings.appearance.fontScale.set";if(!Xc(m))return Promise.reject(Jn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:E,details:{supportedValues:[...no]}}));let _=h.then(async()=>{R(E),await I(E),R(E);let U={fontScale:m};try{await eo(e.storage,E).setMeta(Yc,U);}catch(Q){throw n?f(E):typeof Q=="object"&&Q!==null&&"code"in Q?Q:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:E,cause:Q})}R(E),C=U;});return h=_.catch(()=>{}),_}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(i),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){R("settings.readReceipts.hydrate"),!r&&(a===void 0&&(a=w(false,"settings.readReceipts.hydrate").finally(()=>{a=void 0;})),await a);},isDirectReadReceiptEnabled(m){return !n&&!d&&o.globalEnabled&&(o.peerOverrides[m]??true)},dispose(){if(c!==void 0)return c;n=true,o=Yo(),C=Xo();let m=a,E=u,_=y,U=h;return c=Promise.allSettled([...m===void 0?[]:[m],E,..._===void 0?[]:[_],U]).then(()=>{}),c}}}var an=Object.freeze({availability:"available",reason:"ok"});function Tn(e){return Object.freeze({availability:"unavailable",reason:e})}function Xe(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function gr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function yr(e){return `${e.conversationType}:${e.conversationId}`}function op(){return Object.freeze({sendMessages:false})}function ap(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function ip(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 sp(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 cp(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let d=Number(r[1]),a=Number(r[2]),c=Number(r[3]),o=Number(r[4]);if(d>23||c>23||a>59||o>59)return;let u=new Date(n);u.setHours(d,a,0,0);let g=new Date(n);if(g.setHours(c,o,59,999),u.getTime()<=n&&n<=g.getTime())return g.getTime()+1;if(n<u.getTime())return u.getTime();let y=u;return y.setDate(y.getDate()+1),y.getTime()}function ht(e,n,r){let d=n.get(yr(e));if(d!==void 0)for(let a of [...d])a(r);}function Zc(e){let n=new Map,r=new Map,d=new Map,a=new Map,c=new Map,o=new Map,u,g,y=new Set,C=e.getSessionUserId(),h=0;function f(W){W.conversationType==="direct"?n.delete(W.conversationId):W.conversationType==="group"?r.delete(W.conversationId):W.conversationType==="channel"&&d.delete(W.conversationId);}function R(){n.clear(),r.clear(),d.clear(),o.clear(),y=new Set;}function w(){let W=e.getSessionUserId();return W!==C&&(C=W,R()),W}function S(W){w();let de=++h;return o.set(yr(W),de),de}function N(W,de){return w(),o.get(yr(W))===de}function I(W,de={}){w();let Ie=de.nowMs??Date.now(),v=e.getConversation(W);if(W.conversationType==="direct"){let Y=gr({conversationType:"direct",conversationId:W.conversationId}),Oe=n.get(W.conversationId),xe=Oe?.relationship??"unknown",Ve=ap(xe),je=Ve==="ok"?an:Ve==="relationship-unknown"?Xe(Ve):Tn(Ve),sn=xe==="friend"?an:xe==="unknown"?Xe(Ve):Tn(Ve);return Object.freeze({ref:Y,conversationType:"direct",evaluatedAt:Ie,value:Object.freeze({relationship:xe,...Oe===void 0?{}:{relationshipCheckedAt:Oe.checkedAt},canSendMessages:je,canOpenProfile:an,canUseMessageActions:je,canManageRelationship:sn})})}if(W.conversationType==="robot"){let Y=gr({conversationType:"robot",conversationId:W.conversationId});return Object.freeze({ref:Y,conversationType:"robot",evaluatedAt:Ie,value:Object.freeze({canSendMessages:an,canOpenProfile:an,canUseMessageActions:an,canReadHistory:an})})}if(W.conversationType==="group"){let Y=gr({conversationType:"group",conversationId:W.conversationId}),Oe=r.get(W.conversationId),xe=v?.ref.conversationType==="group"?v.groupState??"active":"unknown",Ve=ip(xe),je=Ve==="ok",sn=e.getSessionUserId(),$e=Oe?.ownerId,rn=sn!==void 0&&$e!==void 0&&sn===$e,Ye=je?an:Tn(Ve),Pn=je?Oe===void 0?Xe("not-ready"):rn?an:Tn("role-insufficient"):Tn(Ve);return Object.freeze({ref:Y,conversationType:"group",evaluatedAt:Ie,value:Object.freeze({membership:xe,...$e===void 0?{}:{ownerId:$e},isOwner:rn,canSendMessages:Ye,canOpenProfile:Ye,canReadHistory:an,canUseMessageActions:Ye,canViewMembers:Ye,canEditProfile:Pn,canInviteMembers:Ye,canManageMembers:Pn,canPinMessages:Pn,canUnpinMessages:Pn,canTransferOwnership:Pn,canLeave:Ye,canUpdateVerification:Pn})})}let L=gr({conversationType:"channel",conversationId:W.conversationId}),P=d.get(W.conversationId),K=v?.ref.conversationType==="channel"&&v.channelState!==void 0?v.channelState:P?.state;if(K===void 0)return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:Ie,value:Object.freeze({state:"unknown",role:P?.role??"unknown",permissions:op(),canSendMessages:Xe("unknown-restricted"),canOpenProfile:Xe("unknown-restricted"),canReadHistory:an,canUseMessageActions:Xe("unknown-restricted"),canMutateMessages:Xe("unknown-restricted"),canPinMessages:Xe("unknown-restricted"),canUnpinMessages:Xe("unknown-restricted"),canDeleteMessagesForEveryone:Xe("unknown-restricted"),canMentionAll:Xe("unknown-restricted"),canViewMembers:Xe("unknown-restricted"),canEditProfile:Xe("unknown-restricted"),canManageMembers:Xe("unknown-restricted"),canManageMute:Xe("unknown-restricted"),canDismiss:Xe("unknown-restricted"),canTransferOwnership:Xe("unknown-restricted"),canLeave:Xe("unknown-restricted"),canInviteMembers:Xe("unknown-restricted"),canSetMemberAdmin:Xe("unknown-restricted"),canRemoveMembers:Xe("unknown-restricted"),canSetMemberPrivateChat:Xe("unknown-restricted")})});let x=Da({channelState:K,nowMs:Ie,...v?.ref.conversationType==="channel"&&v.channelAccessSnapshot!==void 0?{snapshot:v.channelAccessSnapshot}:{},...v?.ref.conversationType==="channel"&&v.channelPermissions!==void 0?{permissions:v.channelPermissions}:P?.permissions===void 0?{}:{permissions:P.permissions}}),J=sp(x.channelState,x.muteReason),be=x.channelState==="active"||x.channelState==="muted",se=x.channelState==="active"?x.permissions.sendMessages?an:Tn("unknown-restricted"):Tn(J),k=Y=>be&&Y?an:Tn(be?"role-insufficient":J),q=Y=>x.channelState==="active"&&Y?an:Tn(x.channelState==="muted"?J:be?"role-insufficient":J),z=P?.memberPrivateChatDisabled===false||x.permissions.manageMembers===true,re=be?P===void 0&&x.permissions.manageMembers!==true?Xe("not-ready"):k(z):Tn(J),ue=x.channelState==="muted"?Tn(J):be?an:Tn(J),Me=cp(v,Ie);return Object.freeze({ref:L,conversationType:"channel",evaluatedAt:Ie,...Me===void 0?{}:{nextEvaluationAt:Me},value:Object.freeze({state:x.channelState,role:P?.role??v?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...x.permissions}),...x.muteReason===void 0?{}:{muteReason:x.muteReason},canSendMessages:se,canOpenProfile:be?an:Tn(J),canReadHistory:an,canUseMessageActions:be?an:Tn(J),canMutateMessages:ue,canPinMessages:q(x.permissions.moderateMessages===true),canUnpinMessages:q(x.permissions.moderateMessages===true),canDeleteMessagesForEveryone:q(x.permissions.moderateMessages===true),canMentionAll:k(x.permissions.mentionAll===true),canViewMembers:re,canEditProfile:k(x.permissions.editProfile===true),canManageMembers:k(x.permissions.manageMembers===true),canManageMute:k(x.permissions.manageMute===true),canDismiss:k(x.permissions.dismissChannel===true),canTransferOwnership:k(x.permissions.transferOwnership===true),canLeave:be?an:Tn(J),canInviteMembers:k(x.permissions.manageMembers===true),canSetMemberAdmin:k(x.permissions.manageAdmins===true),canRemoveMembers:k(x.permissions.manageMembers===true),canSetMemberPrivateChat:k(x.permissions.manageMute===true)})})}async function D(W,de={}){let Ie=S(W);if(W.conversationType==="direct"){let v=await e.getRelationship(W.conversationId);N(W,Ie)&&s(W.conversationId,v,Ie);}else if(W.conversationType==="group"){let v={conversationType:"group",conversationId:W.conversationId},L=await e.getGroupProfile(v,{forceRefresh:true});N(W,Ie)&&i(v,L,Ie);}else if(W.conversationType==="channel"){let v={conversationType:"channel",conversationId:W.conversationId},L=await e.getChannelProfile(v,{forceRefresh:true});N(W,Ie)&&m(v,L,Ie);}return I(W,de)}function s(W,de,Ie){let v={conversationType:"direct",conversationId:W};N(v,Ie)&&(n.set(W,{relationship:de,checkedAt:Date.now()}),ht(v,a,I(v)));}function i(W,de,Ie){N(W,Ie)&&(r.set(W.conversationId,de),ht(W,a,I(W)));}function m(W,de,Ie){N(W,Ie)&&(d.set(W.conversationId,de),ht(W,a,I(W)));}function E(W,de,Ie={}){w();let v=yr(W),L=a.get(v)??new Set;return L.add(de),a.set(v,L),c.set(v,gr(W)),de(I(W,Ie)),g===void 0&&(g=e.subscribeContext?.(P=>{w(),ht(P,a,I(P));})),u===void 0&&(u=e.subscribeConversations(P=>{w();let K=Date.now(),x=new Set(P.map(J=>yr(J.ref)));for(let J of P){let be=I(J.ref,{nowMs:K});ht(J.ref,a,be);}for(let[J,be]of c){if(!y.has(J)||x.has(J))continue;f(be);let se=I(be,{nowMs:K});ht(be,a,se);}y=x;})),()=>{L.delete(de),L.size===0&&a.delete(v),a.has(v)||c.delete(v),a.size===0&&(g?.(),g=void 0,u?.(),u=void 0,y=new Set);}}function _(){R();let W=Date.now();for(let de of c.values())ht(de,a,I(de,{nowMs:W}));}function U(){g?.(),g=void 0,u?.(),u=void 0,a.clear(),c.clear(),R();}let Q=Object.freeze({get:I,refresh:D,subscribe:E});return Object.freeze({...Q,api:Q,beginProjectionUpdate:S,updateRelationshipProjection:s,updateGroupProfileProjection:i,updateChannelProfileProjection:m,reset:_,dispose:U})}var dp=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Hn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw Z({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof d!="string"||d.trim()==="")throw Z({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function lp(e){return e===null?null:Object.freeze({ref:Hn(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 up(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==="filesAlbum")return Object.freeze({kind:"filesAlbum",count:e.count,...e.caption===void 0?{}:{caption:e.caption}});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 to(e){let n=up(e.lastMessageSummary),r=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),d=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:Hn({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...r===void 0?{}:{lastMessageMention:r},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},...e.lastMessageReceipt===void 0?{}:{lastMessageReceipt:e.lastMessageReceipt},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&a!==void 0?{channelAccessSnapshot:a}:{},draft:lp(e.draft)})}function pp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ct(e,n,r,d){return pp(e)?e:Z({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...d===void 0?{}:{conversation:d},cause:e})}function ed(e){let n=new Set,r,d,a;function c(){return Object.freeze(e.getCompatibilityApi().list().map(to))}function o(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=c();return Object.freeze({state:d??o(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...a===void 0?{}:{error:Object.freeze(a)}})}catch(h){let f=Ct(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function g(){let h=u();for(let f of [...n])f(h);}function y(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(f=>{dp.has(f.type)&&g();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(Hn(h,"conversations.getBackground")),setBackground:(h,f)=>e.getCompatibilityApi().setBackground(Hn(h,"conversations.setBackground"),f),resetBackground:h=>e.getCompatibilityApi().resetBackground(Hn(h,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:h=>e.getCompatibilityApi().setDefaultBackground(h),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:h=>e.getCompatibilityApi().listBackgroundPresets(h),getSnapshot:u,subscribe:y,prefetchRecent:(h,f)=>e.getCompatibilityApi().prefetchRecent(h.map(R=>Hn(R,"conversations.prefetchRecent")),f),async refresh(){d="loading",a=void 0,g();try{await e.getCompatibilityApi().sync(),d=void 0,g();}catch(h){throw d="error",a=Ct(h,"conversations.refresh",true),g(),a}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,f){let R=Hn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(R,f);}catch(w){throw Ct(w,"conversations.setPinned",false,R)}},async setMuted(h,f){let R=Hn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(R,f);}catch(w){throw Ct(w,"conversations.setMuted",true,R)}},async markRead(h){let f=Hn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(R){throw Ct(R,"conversations.markRead",true,f)}},markUnread(h){let f=Hn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(R){throw Ct(R,"conversations.markUnread",false,f)}},deleteLocal(h){let f=Hn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(R){throw Ct(R,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var mp=128,fp=8,gp=64*1024*1024,yp=3,Ip=8,vp=1440*60*1e3,vr=10080*60*1e3,hp=512*1024*1024,ro=1024*1024;function Cp(e){let n=0,r=false,d=[];function a(){if(!r)for(;n<e&&d.length>0;){d.sort((u,g)=>g.getPriority()-u.getPriority());let c=d.shift();if(c.signal.removeEventListener("abort",c.onAbort),c.signal.aborted){c.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let o=false;c.resolve(()=>{o||(o=true,n=Math.max(0,n-1),a());});}}return {acquire(c,o){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,g)=>{let y={resolve:u,reject:g,signal:c,getPriority:o,onAbort:()=>{let C=d.indexOf(y);C>=0&&d.splice(C,1),g(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",y.onAbort,{once:true}),d.push(y),a();})},dispose(){r=true;for(let c of d.splice(0))c.signal.removeEventListener("abort",c.onAbort),c.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function td(){return ya$1([{kind:"image",softMaxBytes:512*ro,maxEntries:512,maxEntryBytes:30*ro,maxIdleMs:vr},{kind:"video",softMaxBytes:1792*ro,maxEntries:64,maxEntryBytes:200*ro,maxIdleMs:vr}])}function Qo(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function bp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function hr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ir(e,n,r,d){let a=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?a:`${a}:${d}`}function Zo(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw De({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let d=hr({conversationType:n,conversationId:r});return rd({id:Ir(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:Qo(e.percent),...e.items===void 0?{}:{items:e.items},...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:Mp(e.failure,d)}})}function De(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function nd(e){return e.recalled===void 0&&e.deletedForEveryone===void 0&&(e.status==="failed"||e.status==="uploading")&&!(e.failure?.displayCode==="media.cancelled"&&e.failure.retryable!==true)&&!(e.failure?.displayCode==="media.uploadTimeout"&&e.failure.retryable===false)}function Mp(e,n){if(e===void 0)return;let r=e.displayCode,a=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.uploadTimeout":{code:"IM_SDK_MEDIA_UPLOAD_TIMEOUT",category:"network",retryable:true},"media.resumeUnavailable":{code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",retryable:true},"media.cleanupUnconfirmed":{code:"IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED",category:"state",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[r];return Object.freeze(Z({...a??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function rd(e){return Object.freeze({...e,ref:hr(e.ref),...e.items===void 0?{}:{items:Object.freeze(e.items.map(n=>Object.freeze({...n})))},...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function oo(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw De({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw De({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return hr({conversationType:r,conversationId:d})}function od(e){let n=true,r=e.now??Date.now,d=0,a=0,c=new Map,o=new Set,u=new Map,g=new Map,y=new Map,C=new Map,h=new Map,f=new Set,R=false,w=new Map,S=new Set,N=e.maxDownloadCheckpointBytes??hp;function I(A){return De({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:A})}function D(A,j){w.delete(A),S.add(A);let H=c.get(A);if(H!==void 0){let V={...H,recoveryReason:j,...H.state==="failed"||H.state==="canceled"?{error:I(H.ref)}:{}};H.state==="running"?be(V):se(V);}}function s(A,j,H){w.delete(A),w.set(A,{url:j,state:H}),S.delete(A);let V=[...w.values()].reduce((fe,Ee)=>fe+Ee.state.bytesDownloaded,0);for(;w.size>Ip||V>N;){let fe=w.entries().next().value;if(fe===void 0)break;V-=fe[1].state.bytesDownloaded,D(fe[0],"download-checkpoint-limit");}}let i=Cp(yp),m,E=e.maxCachedBlobs??fp,_=e.maxCachedBlobBytes??gp,U=0;function Q(){if(!n||!e.isActive())throw De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function W(){return Object.freeze([...c.values()])}function de(){let A=W();for(let j of [...o])try{j(A);}catch(H){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}function Ie(){R||!n||!e.isActive()||(R=true,queueMicrotask(()=>{if(R=false,!(!n||!e.isActive()))for(let A of [...f])try{A();}catch(j){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}));}function v(A){let j=y.get(A);j!==void 0&&(U-=j.size,y.delete(A),C.delete(A),h.delete(A),Ie());}function L(){if(!n||!e.isActive())return;let A=r();for(let[j,H]of w)!g.has(j)&&H.idleSince!==void 0&&A-H.idleSince>=vp&&D(j,"download-checkpoint-expired");for(let[j,H]of C)!g.has(j)&&A-H>=vr&&v(j);Ie();}function P(A,j){let H=y.get(A);if(H!==void 0){if(h.get(A)!==j||r()-C.get(A)>=vr){v(A);return}return y.delete(A),y.set(A,H),C.set(A,r()),H}}function K(){d+=1,y.clear(),C.clear(),h.clear(),Ie(),U=0;for(let A of [...w.keys()])D(A,"download-checkpoint-cleared");}function x(A){c.delete(A),u.delete(A),w.delete(A),S.delete(A),v(A);}function J(){for(;c.size>mp;){let A=[...c.values()].find(j=>j.state==="completed"||j.state==="failed"||j.state==="canceled");if(A===void 0)return;x(A.id);}}function be(A){c.set(A.id,rd(A)),J();}function se(A){if(!n||!e.isActive())return;be(A);let j=c.get(A.id);if(de(),!n||!e.isActive()||j===void 0||c.get(A.id)!==j)return;let H={id:j.id,messageId:j.messageId,ref:j.ref,direction:"download",state:j.state,percent:j.percent};e.emitter.emit({type:"media-task:updated",conversation:j.ref,task:H});}function k(A,j,H){if(v(A),!(j.size>_))for(y.set(A,j),h.set(A,H),Ie(),C.set(A,r()),U+=j.size;y.size>E||U>_;){let V=y.keys().next().value;if(V===void 0)break;v(V);}}function q(A,j=true){let H=oo(A),V=e.domainState.getConversationMessage(H,A.messageId);if(V===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:H});let fe,Ee,we,qe;if(V.contentType==="image")fe=V.body.image,Ee=e.loaders?.loadImage,qe="image";else if(V.contentType==="video")fe=V.body.video,Ee=e.loaders?.loadVideo,qe="video";else if(V.contentType==="voice")fe=V.body.voice,Ee=e.loaders?.loadVoice;else if(V.contentType==="file")fe=V.body.file,Ee=e.loaders?.loadFile,we=V.body.file?.mimeType;else if(V.contentType==="filesAlbum"){let Ae=A.itemIndex;if(fe=Ae===void 0?void 0:V.body.filesAlbum?.items[Ae],fe===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});Ee=e.loaders?.loadFile;}else if(V.contentType==="mediaAlbum"){let Ae=V.body.mediaAlbum?.items,Te=A.itemIndex,Ue=Te===void 0||Ae===void 0?void 0:Ae[Te];if(Ue===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});fe=Ue,Ee=Ue.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,qe=Ue.kind;}if(V.contentType!=="mediaAlbum"&&V.contentType!=="filesAlbum"&&A.itemIndex!==void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});if(fe===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:H});if(j&&Ee===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:H});if(fe.url.trim()===""||fe.url.startsWith("blob:"))throw De({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:H});return {ref:H,messageId:V.id,...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex},...we===void 0?{}:{mimeType:we},...qe===void 0?{}:{cacheKind:qe,resourceVersion:za$1(fe.url)},...Ee===void 0?{}:{load:Ee},input:{url:fe.url,...fe.size===void 0?{}:{expectedBytes:fe.size},...fe.teaKey===void 0?{}:{teaKey:fe.teaKey},...fe.fileEncryptType===void 0?{}:{fileEncryptType:fe.fileEncryptType}}}}function z(A){return De({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:A})}function re(){return De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ue(A,j,H=d){if(Q(),H!==d)return null;let V=Ir("download",A.ref,A.messageId,A.itemIndex),fe=P(V,A.resourceVersion);if(fe!==void 0)return fe;if(e.assetCache===void 0||A.cacheKind===void 0||A.resourceVersion===void 0)return null;let Ee;try{Ee=await e.assetCache.get({kind:A.cacheKind,messageId:A.messageId,resourceVersion:A.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Ee===null?"miss":"hit",kind:A.cacheKind,messageId:A.messageId,...Ee===null?{}:{byteLength:Ee.blob.size}});}catch(Te){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:A.cacheKind,messageId:A.messageId,cause:Te}),j)throw De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:A.ref});return null}if(Ee===null||(Q(),H!==d))return null;let we=Ee.blob,qe=Ee.mimeType??A.mimeType??"",Ae=we.type===qe?we:we.slice(0,we.size,qe);return k(V,Ae,A.resourceVersion),Ae}function Me(A,j){L();let H=w.get(A);if(H!==void 0&&H.url!==j.input.url&&D(A,"download-object-changed"),S.has(A)){let V=I(j.ref),fe=c.get(A);throw fe!==void 0&&(fe.state==="failed"||fe.state==="canceled")&&se({...fe,error:V}),V}return H?.state}function Y(A,j=false){let H=d,V=Ir("download",A.ref,A.messageId,A.itemIndex),fe=g.get(V);if(fe!==void 0&&!fe.controller.signal.aborted)return fe.promise;if(!j){let Ue=P(V,A.resourceVersion);if(Ue!==void 0)return se({id:V,ref:hr(A.ref),messageId:A.messageId,...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Ue)}v(V);let Ee=(()=>{let Ue=Me(V,A);return Ue===void 0?{percent:0}:{percent:Math.min(99,Math.round(Ue.bytesDownloaded/Ue.bytesTotal*100)),bytesTransferred:Ue.bytesDownloaded,bytesTotal:Ue.bytesTotal}})(),we=hr(A.ref);u.set(V,Object.freeze({conversation:we,messageId:A.messageId,...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex}}));let qe={id:V,messageId:A.messageId,ref:we,direction:"download",...A.itemIndex===void 0?{}:{itemIndex:A.itemIndex}},Ae=new AbortController,Te=Promise.resolve().then(async()=>{let Ue;try{if(!n||!e.isActive())throw re();if(Ae.signal.aborted)throw z(we);if(Ue=await i.acquire(Ae.signal,()=>m===V?1:0),!n||!e.isActive())throw re();if(Ae.signal.aborted)throw z(we);if(se({...qe,...Ee,state:"running"}),!n||!e.isActive())throw re();if(Ae.signal.aborted)throw z(we);if(!j&&e.assetCache!==void 0&&A.cacheKind!==void 0&&A.resourceVersion!==void 0){let Se=await ue(A,!1,H);if(Se!==null){if(Ae.signal.aborted)throw z(we);return w.delete(V),S.delete(V),se({...c.get(V),...qe,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Se}}let Qe=A.load;if(Qe===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:we});let On=Me(V,A);if(Ee.bytesTransferred!==void 0&&(On===void 0||H!==d))throw D(V,"download-checkpoint-cleared"),I(we);let Fn=await Qe({...A.input,getPriority:()=>m===V?1:0,...On===void 0?{}:{resume:On},onResumable:Se=>{!n||!e.isActive()||H!==d||g.get(V)?.controller!==Ae||s(V,A.input.url,Se);},onResumeInvalidated:()=>{!n||!e.isActive()||H!==d||g.get(V)?.controller!==Ae||D(V,"download-checkpoint-invalid");},signal:Ae.signal,onTransferProgress:Se=>{let pn=c.get(V);!n||!e.isActive()||Ae.signal.aborted||g.get(V)?.controller!==Ae||pn?.state!=="running"||se({...pn,state:"running",percent:Math.min(99,Qo(Se.percent)),bytesTransferred:Se.bytesTransferred,bytesTotal:Se.bytesTotal,phase:Se.bytesTotal>0&&Se.bytesTransferred>=Se.bytesTotal?"finalizing":"transferring"});},onProgress:Se=>{let pn=c.get(V);if(!n||!e.isActive()||Ae.signal.aborted||g.get(V)?.controller!==Ae||pn?.state!=="running")return;let Bn=Math.min(99,Qo(Se));Bn<=pn.percent||se({...pn,state:"running",percent:Bn});}});if(!n||!e.isActive())throw re();if(Ae.signal.aborted)throw z(we);let jn=Fn instanceof Blob?void 0:Fn,ke=jn===void 0?Fn:new Blob([jn],A.mimeType===void 0?void 0:{type:A.mimeType});if(A.mimeType!==void 0&&ke.type!==A.mimeType&&(ke=ke.slice(0,ke.size,A.mimeType)),H===d&&k(V,ke,A.resourceVersion),H===d&&e.assetCache!==void 0&&A.cacheKind!==void 0&&A.resourceVersion!==void 0){let Se=ke.size;e.assetCache.put({kind:A.cacheKind,messageId:A.messageId,resourceVersion:A.resourceVersion,blob:ke,...A.mimeType===void 0?{}:{mimeType:A.mimeType}}).then(pn=>{Ie(),e.onAssetCacheEvent?.({operation:"put",outcome:pn,kind:A.cacheKind,messageId:A.messageId,byteLength:Se});}).catch(pn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:A.cacheKind,messageId:A.messageId,byteLength:Se,cause:pn});});}if(w.delete(V),S.delete(V),se({...c.get(V),...qe,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw re();return ke}catch(Qe){if(!n||!e.isActive())throw re();if(Ae.signal.aborted||typeof Qe=="object"&&Qe!==null&&"code"in Qe&&Qe.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Fn=z(we);throw g.get(V)?.controller===Ae&&c.get(V)?.state!=="canceled"&&se({...c.get(V),...qe,state:"canceled",percent:c.get(V)?.percent??0,error:S.has(V)?I(we):Fn}),Fn}let On=S.has(V)?I(we):Qe instanceof Error&&Qe.name==="ImMediaTaskOperationError"?Qe:De({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:we});throw g.get(V)?.controller===Ae&&se({...c.get(V),...qe,state:"failed",percent:c.get(V)?.percent??0,error:On}),On}finally{if(Ue?.(),g.get(V)?.controller===Ae){g.delete(V);let Qe=w.get(V);Qe!==void 0&&(Qe.idleSince=r());}}});return g.set(V,{controller:Ae,promise:Te}),se({...qe,...Ee,state:"queued"}),Te}function Oe(A){Q();let j=oo(A);m=Ir("download",j,A.messageId,A.itemIndex);}function xe(A){try{return Q(),Y(q(A))}catch(j){return Promise.reject(j)}}async function Ve(A){Q();let j=d,H=A.map(Te=>q(Te,false)),V=new Map,fe=r(),Ee=H.map(Te=>{let Ue=Ir("download",Te.ref,Te.messageId,Te.itemIndex);return y.has(Ue)&&h.get(Ue)===Te.resourceVersion&&fe-(C.get(Ue)??0)<vr});H.forEach((Te,Ue)=>{if(Ee[Ue]||Te.cacheKind===void 0||Te.resourceVersion===void 0)return;let Qe={kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion};V.set(JSON.stringify(Qe),Qe);});let we=[...V.values()],qe=we.map(()=>false);if(we.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw De({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(qe=await e.assetCache.hasMany(we),qe.length!==we.length||qe.some(Te=>typeof Te!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(Te){throw Q(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:we[0].kind,messageId:we[0].messageId,cause:Te}),De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(Q(),j!==d)throw De({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Ae=new Map(we.map((Te,Ue)=>[JSON.stringify(Te),qe[Ue]]));return Object.freeze(H.map((Te,Ue)=>Ee[Ue]||Ae.get(JSON.stringify({kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion}))===true))}async function je(A){let j=q(A,false);return j.cacheKind===void 0?null:await ue(j,true)}async function sn(A){if(Q(),e.preparePreview===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let j;try{j=await e.preparePreview({operationId:`media.prepareLocalPreview:${++a}`,kind:A.kind,file:A.file,...A.signal===void 0?{}:{signal:A.signal}});}catch(V){if(A.signal?.aborted===true||V instanceof Error&&V.name==="AbortError")throw V;return e.onLocalPreviewError?.({kind:A.kind,byteLength:A.file.size,cause:V}),null}return Q(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0?(e.onLocalPreviewError?.({kind:A.kind,byteLength:A.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${j.width}\xD7${j.height}`)}),null):A.kind==="video"?{width:j.width,height:j.height,...j.duration===void 0?{}:{duration:j.duration},...j.posterData===void 0?{}:{posterData:j.posterData}}:{width:j.width,height:j.height}}async function $e(A){if(Q(),A.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let j;try{j=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++a}`,kind:"video",file:A.file,...A.signal===void 0?{}:{signal:A.signal}});}catch(H){if(A.signal?.throwIfAborted(),H instanceof Error&&H.name==="AbortError")throw H;return Q(),e.onLocalPreviewError?.({kind:"video",byteLength:A.file.size,cause:H}),null}return A.signal?.throwIfAborted(),Q(),!Number.isFinite(j.width)||!Number.isFinite(j.height)||j.width<=0||j.height<=0||!j.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:A.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([j.posterData],{type:"image/jpeg"})}function rn(A,j){Q();let H=c.get(A);if(H===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:j,retryable:false});return H}function Ye(A,j){return De({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:j,retryable:false,conversation:A.ref,details:Object.freeze({state:A.state,direction:A.direction})})}let Pn=e.emitter.subscribe(A=>{!n||A.type!=="media-task:updated"||A.task.direction!=="upload"||bp(A.conversation,A.task.ref)&&(be(Zo(A.task)),de());});return {api:{async clearCache(){Q(),e.connection.invalidateMediaAssetCacheWrites?.(),K();try{await e.assetCache?.clear();}catch(A){throw Q(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:A}}),De({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}Q(),Ie();},getSnapshot(){return Q(),W()},subscribe(A){return Q(),o.add(A),()=>o.delete(A)},async cancel(A,j){let H=rn(A,"media.cancel");if(H.state!=="queued"&&H.state!=="running"&&!(H.direction==="upload"&&H.state==="paused"))throw Ye(H,"media.cancel");if(H.direction==="upload"){if(!(j===void 0?e.connection.cancelMediaUpload(H.messageId):e.connection.cancelMediaUpload(H.messageId,j)))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:H.ref});return}let V=g.get(A);if(V===void 0)throw Ye(H,"media.cancel");V.controller.abort();let fe=S.has(A)?I(H.ref):z(H.ref);se({...H,state:"canceled",error:fe});},async pause(A){let j=rn(A,"media.pause");if(j.direction!=="upload"||j.state!=="queued"&&j.state!=="running")throw Ye(j,"media.pause");if(!await e.connection.pauseMediaUpload?.(j.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:j.ref});Q();},async resume(A){let j=rn(A,"media.resume");if(j.direction!=="upload"||j.state!=="paused")throw Ye(j,"media.resume");if(!e.connection.resumeMediaUpload?.(j.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:j.ref})},async retry(A,j){let H=rn(A,"media.retry");if(H.state!=="failed"&&H.state!=="canceled")throw Ye(H,"media.retry");if(H.direction==="upload"){if(j?.restartDownload!==void 0)throw Ye(H,"media.retry");if((H.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||H.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&j?.restartUpload!==true)throw De({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:H.ref});if(!(j===void 0?e.connection.retryMediaUpload(H.messageId):e.connection.retryMediaUpload(H.messageId,j)))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:H.ref});return}if(j?.restartUpload!==void 0)throw Ye(H,"media.retry");if(g.has(A)&&!g.get(A).controller.signal.aborted)throw De({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:H.ref});let V=u.get(A);if(V===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});j?.restartDownload===true&&(w.delete(A),S.delete(A)),await Y(q(V),true);},async getUploadRecovery(A){Q();let j=oo(A);if(A.itemIndex!==void 0)return {available:false,reason:"unsupported"};let H=A.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let V=e.domainState.getConversationMessage(j,H);if(V===void 0)return {available:false,reason:"not-found"};if(!nd(V))return {available:false,reason:"invalid-state"};try{let fe=await e.recoveryPort.get(j,H);Q();let Ee=e.domainState.getConversationMessage(j,H);return Ee===void 0?{available:!1,reason:"not-found"}:nd(Ee)?fe===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:fe.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(fe){return Q(),{available:false,reason:typeof fe=="object"&&fe!==null&&"reason"in fe?String(fe.reason):"storage"}}},async resumeUpload(A,j){Q();let H=oo(A);if(A.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw De({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:H});try{let V=await e.connection.recoverMediaUpload(H,A.messageId,j.file);if(Q(),!V.ok&&V.reason==="paused")throw De({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:H});if(!V.ok&&V.reason==="cancelled")throw De({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:H});if(!V.ok)throw De({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:H})}catch(V){if(Q(),typeof V=="object"&&V!==null&&"code"in V&&typeof V.code=="string"&&V.code.startsWith("IM_SDK_"))throw V;let fe=V instanceof Error&&V.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw De({code:fe,category:"state",operation:"media.resumeUpload",retryable:false,conversation:H})}},download:xe,prioritizeDownload:Oe,probeCached:Ve,subscribeCacheChanges(A){return Q(),f.add(A),()=>f.delete(A)},getCached:je,prepareLocalPreview:sn,prepareLocalVideoPoster:$e},clearCache:K,prune:L,dispose(){if(n){n=false,d+=1,Pn();for(let A of g.values())A.controller.abort();i.dispose(),m=void 0,g.clear(),o.clear(),f.clear(),h.clear(),c.clear(),u.clear(),y.clear(),C.clear(),w.clear(),S.clear(),U=0;}}}}var Sp={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"}},Pp={"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 ad(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Ap(e,n){let r=Sp[e.reason];return Object.freeze(Z({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function ea(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Ap(e.failure,n)}})}function Ep(e){let n=ad(e);return ea({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 Rp(e,n,r){let d=Z({code:Pp[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(d.code),d,{name:"ImOutboxOperationError"})}function id(e){let n=true,r=new Set;function d(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function a(){return d(),Object.freeze(e.operations.getPending().map(Ep))}async function c(u,g){d();let y=e.operations.getPending().find(h=>h.id===g),C=u==="outbox.retry"?e.operations.retry(g):e.operations.cancel(g);if(!C.accepted)throw Rp(u,C.reason,y===void 0?void 0:ad(y))}return {api:{getSnapshot:a,subscribe(u){d();let g=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(a());}),y=()=>{g(),r.delete(y);};return r.add(y),y},retry:u=>c("outbox.retry",u),cancel:u=>c("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function wp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ao(e){return Object.freeze({type:"error",error:Object.freeze(Z(e))})}function yn(e){throw Z(e)}function Re(e,n,r){return (typeof e!="string"||e.trim()==="")&&yn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({field:n})}),e}function We(e,n){let r=e,d=r?.conversationType,a=r?.conversationId;return d==="supergroup"&&yn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof a=="string"?a:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof a!="string"||a.trim()==="")&&yn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:a})}function Tp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Cr(e,n){let r=We(e,n);return r.conversationType!=="direct"&&yn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:r.conversationId})}function Gt(e,n){let r=We(e,n);return r.conversationType!=="group"&&yn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"group",conversationId:r.conversationId})}function bt(e,n,r){Tp(e,n)||yn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function _p(e){return Object.freeze({...e})}function Dp(e,n){return bt(We(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(r=>Object.freeze({...r}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function kp(e){let n=Re(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=We(e.conversation,"application:updated");r.conversationType!=="group"&&yn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:d})}if(e.domain==="channel"){let r=We(e.conversation,"application:updated");r.conversationType!=="channel"&&yn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:d})}return yn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Op(e){return Object.freeze({ref:kp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function xp(e){let n={token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}},r=e.lastLoginTime;return Object.freeze(r===void 0||!Number.isFinite(r)||r<=0?n[e.reason]:{...n[e.reason],lastLoginTime:r})}function Np(e){return Object.freeze(Z({...{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 Lp(e,n){if(wp(e)){let{cause:r,...d}=e;return ao(d)}return ao({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Fp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:_p(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=We(e.conversation,e.type);return bt(We({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&yn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:r,message:Object.freeze(Kt(e.message)),source:e.source})}case "message:removed":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Re(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=We(e.conversation,e.type),d=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:Re(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=We(e.conversation,e.type);bt(We(e.task.ref,e.type),r,e.type);let d=Zo(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=We(e.conversation,e.type);bt(We({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&yn({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),bt(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=We(e.conversation,e.type);return e.conversationId!==r.conversationId&&yn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r})}case "pinned-message:updated":{let r=We(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&yn({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&bt(We({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),r,e.type);let d=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:d,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=Re(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:r})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:r})})})}case "channel-profile:updated":{let r=We(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&yn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "channel-join-application:received":{let r=We(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&yn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:Re(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?yn({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Re(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=We(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&yn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:Dp(e.draft,r)})}case "draft:cleared":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=We(e.conversation,e.type);return bt(We(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:ea(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Re(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Op(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "receiving:changed":return Object.freeze({type:e.type,receiving:e.receiving});case "syncing:changed":return Object.freeze({type:e.type,syncing:e.syncing});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>We(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...xp(e.issue)});case "error":return Object.freeze({type:e.type,error:Np(e.error)});case "call:incoming":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r)})}case "call:failed":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),peerId:Re(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),inviterId:Re(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Re(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r)})}case "group-call:busy":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),userId:Re(e.userId,"userId",r),hintUserId:Re(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=Gt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Re(e.callId,"callId",r),groupId:Re(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Lp(r,e)}}function Up(e){let{type:n,...r}=e;return Object.freeze(r)}function Kp(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=We(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function sd(e){let n=new WeakMap;function r(a,c){let o=n.get(a);if(o!==void 0)return o;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:a.notification.messageId}));return n.set(a,u),u}function d(a){let c=true,o=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){a(ao({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Re(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(h=>{if(!c||h===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:C,result:h});a(f);}).catch(()=>{c&&a(ao({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let g=Fp(u,e);g!==null&&a(g);let y=Kp(u);y!==null&&a(Object.freeze({type:"group:activated",...y}));});return ()=>{c=false,o();}}return {subscribe:a=>d(a),on:(a,c)=>d(o=>{o.type===a&&c(Up(o));})}}function tt(e){let n=Z({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 cd(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw tt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return d}return {async getInfo(){let r=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:r})},async clearRebuildableCaches(){let r=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw tt({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:r});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(d){throw tt({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:d})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function dd(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function br(e,n,r,d){return Z({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...d===void 0?{}:{conversation:d},details:Object.freeze({expectedId:n,actualId:r})})}function ld(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function ud(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function pd(e,n){if(n.id!==e)throw br("contacts.getProfile",e,n.id);let r=n.remark?.trim(),d=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?d||e:n.remark,nickname:d,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(a=>Object.freeze({countryCode:a.countryCode,mobile:a.mobile})))}})}function md(e,n){if(n.id!==e.conversationId)throw br("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:ld(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 Bp(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 fd(e,n){if(n.id!==e.conversationId)throw br("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:ud(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:Bp(n.permissions),state:n.channelState,...n.allMembersMuted===void 0?{}:{allMembersMuted:n.allMembersMuted},...n.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:n.memberPrivateChatDisabled},...n.miniProgramRels===void 0?{}:{miniProgramRels:Object.freeze(n.miniProgramRels.map(r=>Object.freeze({...r})))}})}function gd(e){return e.state==="ready"?Object.freeze({state:"ready",message:Xr(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 io(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw br("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:ld(e),messageId:n.messageId,preview:gd(n.preview)})}function so(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw br("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:ud(e),messageId:n.messageId,preview:gd(n.preview)})}function Gp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Hp(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 jp(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function na(e,n,r){return Gp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&jp(e)?Z({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Hp(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):Z({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:r},cause:e})}var yd=new WeakMap;function ta(e,n){yd.set(e,n);}function Id(e){let n=yd.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 zp="IM_SDK_CHANNEL_NOT_MEMBER",Vp="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",qp="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Wp="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function $p(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Jp(e,n,r){if($p(e))return e;let d=e instanceof d$1?e.businessCode:void 0,a=e instanceof na$2?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?zp:d===40527?Vp:d===40547?qp:e instanceof d$1?Wp:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let c$1=e instanceof na$2?"contract":e instanceof c?"network":d===40527?"permission":"state",o=Z({code:a,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"channel",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function un(e,n,r){try{return await r()}catch(d){throw Jp(d,e,n)??d}}var Yp={pinMessage:()=>Promise.reject(new Fe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new Fe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new Fe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new Fe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function vd(e){let n=new Map,r=new Map,d=true,a=f=>({conversationType:"channel",conversationId:f}),c=f=>{r.set(f,(r.get(f)??0)+1);};function o(f){if(!d||n.has(f))return;let R=r.get(f)??0,w=(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 S=await ea$1({client:e.coreClient,channelId:f});if(!d||(r.get(f)??0)!==R)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:f}}});return}if(S.data===null){e.domainState.clearPinnedMessage(a(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(S.data.messageContent,{conversationId:f}),"reconcile");}catch(S){if(!d||(r.get(f)??0)!==R)return;let N=S instanceof h$1||S instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:N,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(f,w),w.finally(()=>{n.get(f)===w&&n.delete(f);});}let u=Qa({domainState:e.domainState,emitter:e.emitter,requestReconcile:o}),g=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let R=f.message;if(R.conversationType!=="channel")return;let w=R.body.system?.pinnedMessageAction;w!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((w?.type==="pin"||w?.type==="unpin")&&c(R.conversationId),u.handleMessage(R));});function y(f,R){if(R.trim()==="")throw new Fe({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getConversationContext(a(R));if(w===void 0)throw new Fe({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="channel")throw new Fe({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function C(f,R){if(e.coreClient===void 0)throw new Fe({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return y(f,R),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:R})=>{let w=C("pin",f),S=e.domainState.getConversationMessage(a(f),R);if(S===void 0)throw new Fe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="channel")throw new Fe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==f)throw new Fe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:N,pinnedMessage:I}=B$1(S),D=await ta$1({client:w,channelId:f,messageContent:N});if(!D.ok)throw et("pin",D.code,D.message);c(f),e.domainState.setPinnedMessage(I,"http:pin");let s=e.domainState.getPinnedMessage(a(f));if(s===void 0)throw new Fe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(N){throw nt("pin",N)}},unpinMessage:async f=>{let R=C("unpin",f);try{let w=await Oa$1({client:R,channelId:f});if(!w.ok)throw et("unpin",w.code,w.message);c(f),e.domainState.clearPinnedMessage(a(f),"http:unpin");}catch(w){throw nt("unpin",w)}},getPinnedMessage:async f=>{let R=C("get",f);try{let w=await ea$1({client:R,channelId:f});if(!w.ok)throw et("get",w.code,w.message);if(c(f),w.data===null)return e.domainState.clearPinnedMessage(a(f),"reconcile"),null;let S=A$1(w.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(S,"reconcile");let N=e.domainState.getPinnedMessage(a(f));if(N===void 0)throw new Fe({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return N}catch(w){throw nt("get",w)}},peekPinnedMessage:f=>(y("get",f),e.domainState.getPinnedMessage(a(f))??null)},dispose:()=>{d&&(d=false,g());}}}async function rt(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Xp={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:rt,prefetchFirstPage:rt,refreshFirstPage:rt,listFirstPage:rt,listNextPage:rt,searchFirstPage:rt,refreshSearchFirstPage:rt,searchNextPage:rt},Qp=new Set(["unknown_restricted","left","removed","dismissed"]);function nn(e){return Qp.has(e)}function hd(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function d(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function a(){if(d(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function c(C){let h=C.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function o(C){let f=await a().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return d(),f}async function u(C,h){d();let f=c(C),R=a();await(h==="accept"?R.acceptJoinApplication(f):R.ignoreJoinApplication(f)),d();}async function g(C,h,f,R,w){r(),w?.throwIfAborted();let S$1=await S({signal:w,http:e.http,userId:f,clientType:e.clientType,channelId:C,index:h,containAnchor:R,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),w?.throwIfAborted(),S$1}async function y(C,h,f,R){let w=await g(C,h,f,true,R),S=w.messages.find(N=>N.extensions?.historyCursor===h);if(S===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${h}\uFF09`);return {context:w,message:S}}return {applications:{listJoinApplications:o,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:y,loadNewerPage:(C,h,f,R)=>g(C,h,f,false,R),dispose:()=>{n=false;}}}function Cd(e){async function n(a,c,o){let u=new Map(c.filter(C$1).sort((y,C)=>y.sortKey.localeCompare(C.sortKey)).map(y=>[y.id,y]));if(u.size===0)return;let g=await e.authProvider.getLoginContext();if(g===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let y=u.values().next().value;u.delete(y.id);let C=y.extensions?.historyCursor;if(typeof C!="string"||C.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${a}, messageId=${y.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),f=e.getHistoryEpoch(a);try{let{context:R,message:w}=await e.loadMessageContext(a,C,g.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(a))return;if(w.id!==y.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${C}, expected=${y.id}, actual=${w.id}\uFF09`);if(w.contentType!=="system"||C$1(w))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${C}, messageId=${y.id}\uFF09`);let S=R.messages.filter(N=>N.id===y.id||u.has(N.id));if(S.some(N=>N.contentType!=="system"||C$1(N)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${C}\uFF09`);e.domainState.upsertMessages(S,"offline",{backfillOnly:!0}),o.applyIncoming(S.flatMap(N=>{let I=e.domainState.getMessage(N.id);return I===void 0?[]:[I]}));for(let N of S)u.delete(N.id);}catch(R){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=${y.id}\uFF09`,cause:R}});}}}function r(a,c){return a?.conversationType===c.conversationType&&a.conversationId===c.conversationId}async function d(a,c=e.domainState.messageWindow){if(a.stale||!a.messages.some(C$1))return a;let o=c.info().conversation;if(o===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.getConversationContext(o);if(u?.type!=="channel"||u.channelState!==void 0&&nn(u.channelState))return a;let g=c.getRevision();if(await n(o.conversationId,a.messages,c),c.getRevision()!==g||!r(c.info().conversation,o))return {...a,stale:true};let y=new Map(c.list().map(C=>[C.id,C]));return {...a,messages:a.messages.map(C=>y.get(C.id)??C)}}return {reconcilePage:d}}function bd(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function r(I,D,s,i){let E=Z({code:I,category:I==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":I==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:I==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...i===void 0?{}:{cause:i}});return Object.assign(new Error(D),E)}function d(I){let D=I.name.trim();if(D==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(D.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=I.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let i=s.map(E=>typeof E=="string"?E.trim():"");if(i.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let m=[...new Set(i)];if(m.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:D,memberIds:m}}function a(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let I=e.crypto.randomTeaKey();if(!(I instanceof Uint8Array)||I.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let D="";for(let s of I)D+=String.fromCharCode(s);return globalThis.btoa(D)}function c$1(I,D){let s=I.trim();if(s==="")throw new Error(`${D}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function o(I){let D=I.trim();if(D==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...D].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return D}function u(I){let D=I.trim();if(D==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...D].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return D}async function g(I){let D=(await e.getSelfUserId?.()??"").trim();return D!==""&&D===I.trim()}function y(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function C(I,D,s){if(I!==1&&I!==2&&I!==4){let m=Z({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"),m)}if(I!==4)return {verifyType:I};let i=D?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){let m=Z({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"),m)}return {verifyType:I,inviteCode:i}}function h(I){if(!Array.isArray(I))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(I.map(D=>c$1(D,"\u793E\u7FA4\u6210\u5458 id")))]}function f(I){e.emitter?.emit({type:"channel-profile:updated",channelId:I,conversation:{conversationType:"channel",conversationId:I}});}function R$1(I){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(I).catch(D=>{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:I,error:D}}});});}function w(I){if(I===void 0)return;let D=typeof I=="number"?I:Number(I);return Number.isSafeInteger(D)?D:void 0}function S(I){if(typeof I=="boolean")return I;if(I===1||I==="1"||I==="true")return true;if(I===0||I==="0"||I==="false")return false}function N$1(I){if(I===null||typeof I!="object"||I===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let D=I.id??I.radio_id;if(typeof D!="string"&&typeof D!="number"||String(D).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=I.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let i=String(D),m=w(I.total_users),E=w(I.status),_=w(I.verify_way),U=w(I.update_version),Q=S(I.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:i}),name:s,...I.head_img_url?.trim()===""||I.head_img_url===void 0?{}:{avatar:I.head_img_url},...I.user_id===void 0?{}:{ownerId:String(I.user_id)},...m===void 0?{}:{memberCount:m},...E===void 0?{}:{status:E},...Q===void 0?{}:{isInChannel:Q},..._===void 0?{}:{verifyWay:_},...U===void 0?{}:{updateVersion:U},...I.invite_code===void 0?{}:{inviteCode:I.invite_code}}}return {...n,mentions:e.mentionCandidates??Xp,uploadAvatar:async I=>{if(e.avatarTransfer===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Bt(e.avatarTransfer,I)},create:async I=>{if(e.coreClient===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.prepareConversation===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let D=d(I),s=a();try{let i=await aa$1({client:e.coreClient,name:D.name,memberIds:D.memberIds,secretKey:s,...I.avatarUrl===void 0?{}:{avatarUrl:I.avatarUrl}});if(!i.ok){let _=i.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(_,i.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:i.code,message:i.message}))}let m=N$1(i.data);e.cacheCreatedSecretKey?.(m.ref.conversationId,s);let E=m.status===3?"dismissed":m.status===void 0||m.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:m.ref.conversationId,type:"channel",title:m.name,...m.avatar===void 0?{}:{avatar:m.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:E,channelPermissions:Ca$1("owner",E)}),Object.freeze({channel:m})}catch(i){throw i!==void 0&&typeof i=="object"&&i!==null&&"code"in i&&String(i.code).startsWith("IM_SDK_")?i:i instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",i.message,void 0,i):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,i)}},listProfiles:I=>e.channelProfile?.listProfiles(I)??Promise.resolve([]),getProfile:(I,D)=>e.channelProfile?.getProfile(I,D)??Promise.resolve(null),listMembers:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),prefetchMembers:I=>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(I),getCachedMembers:I=>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(I),refreshMembers:I=>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(I),searchMembers:I=>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:I.channelId,query:I.query,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),listMentionMembers:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),searchMentionMembers:I=>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:I.channelId,query:I.query,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),listAdmins:I=>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:I.channelId,limit:I.limit??18,...I.cursor===void 0?{}:{cursor:I.cursor}}),getMembersByIds:(I,D,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(I,D,s),updateName:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=c$1(D,"\u793E\u7FA4\u540D\u79F0");await un("channels.updateName",i,()=>F({client:s,channelId:i,name:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{title:m}),f(i);},updateDescription:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=u(D);await un("channels.updateDescription",i,()=>F({client:s,channelId:i,description:m})),f(i);},updateAvatar:async(I,D)=>{let s=y(),i=c$1(I,"\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 m=await un("channels.updateAvatar",i,()=>Bt(e.avatarTransfer,D));return await un("channels.updateAvatar",i,()=>F({client:s,channelId:i,avatarUrl:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{avatar:m}),f(i),m},setMyNickname:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=o(D);await un("channels.setMyNickname",i,()=>G({client:s,channelId:i,nickname:m})),f(i);},setMemberNickname:async(I,D,s)=>{let i=y(),m=c$1(I,"\u793E\u7FA4 id"),E=c$1(D,"\u793E\u7FA4\u6210\u5458 id");if(await g(E))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let _=o(s);await un("channels.setMemberNickname",m,()=>H({client:i,channelId:m,userId:E,nickname:_})),f(m);},updateVerification:async(I,D,s)=>{let i=y(),m=c$1(I,"\u793E\u7FA4 id"),E=C(D,s,m);await un("channels.updateVerification",m,()=>O$1({client:i,channelId:m,verifyType:E.verifyType,...E.inviteCode===void 0?{}:{inviteCode:E.inviteCode}})),f(m);},requestJoin:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=D?.remarks?.trim();return un("channels.requestJoin",i,()=>qa$1({client:s,channelId:i,...m===void 0?{}:{remarks:m}}))},joinByInviteCode:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=D.trim();if(!/^\d{6}$/.test(m))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return un("channels.joinByInviteCode",i,()=>ra$1({client:s,channelId:i,inviteCode:m}))},setAllMuted:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id");await un("channels.setAllMuted",i,()=>P({client:s,channelId:i,muted:D})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},setMemberPrivateChatDisabled:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id");await un("channels.setMemberPrivateChatDisabled",i,()=>Q({client:s,channelId:i,disabled:D})),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},inviteMembers:async(I$1,D)=>{let s=y(),i=c$1(I$1,"\u793E\u7FA4 id"),m=h(D);if(m.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await un("channels.inviteMembers",i,()=>I({client:s,channelId:i,userIds:m})),f(i);},removeMember:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=c$1(D,"\u5F85\u79FB\u9664\u6210\u5458 id");await un("channels.removeMember",i,()=>J({client:s,channelId:i,userId:m})),f(i);},addAdmin:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=c$1(D,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await un("channels.addAdmin",i,()=>K({client:s,channelId:i,userId:m})),R$1(i),f(i);},removeAdmin:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=c$1(D,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await un("channels.removeAdmin",i,()=>L({client:s,channelId:i,userId:m})),R$1(i),f(i);},transferOwnership:async(I,D)=>{let s=y(),i=c$1(I,"\u793E\u7FA4 id"),m=c$1(D,"\u65B0\u793E\u7FA4\u4E3B id");await un("channels.transferOwnership",i,()=>M({client:s,channelId:i,userId:m})),R$1(i),e.domainState?.refreshConversationProfile?.(i,"channel"),f(i);},leave:async(I,D)=>{let s=y();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 i=c$1(I,"\u793E\u7FA4 id"),m=D?.newOwnerId===void 0?void 0:c$1(D.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await un("channels.leave",i,()=>N({client:s,channelId:i,...m===void 0?{}:{newOwnerId:m}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_left"),f(i);},dismiss:async I=>{let D=y();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=c$1(I,"\u793E\u7FA4 id");await un("channels.dismiss",s,()=>R({client:D,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??Yp}}function Zp(e){let r=Z({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(r.code),r)}function em(e){let n=e.responseCode===X,a=Z({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 nm(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Md(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,a=new Map,c=new Map,o=0,u=false,g$1=5e3;function y(s,i,m){if(u)return "unknown";if(m!==void 0&&r.get(s)!==m)return d.get(s)??"unknown";let E=d.get(s);return d.set(s,i),a.set(s,Date.now()),E!==i&&e.onRelationshipChanged?.(s,i),i}function C(s,i){if(u)return;let m=f(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(m,++o),y(m,i);}function h(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(s,i){let m=s.trim();if(m==="")throw new Error(`${i}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return m}function R(s,i){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(m=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${i}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:m}});});}async function w(s,i){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===""||i.name===void 0&&i.email===void 0&&i.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 La({client:e.coreClient,userId:s,...i.name===void 0?{}:{name:i.name},...i.email===void 0?{}:{email:i.email},...i.phones===void 0?{}:{phones:i.phones.map(m=>({countryCode:m.countryCode,mobile:m.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function S(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 N(s,i){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 m=s.trim();if(m==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let E=c.get(m);if(i&&E!==void 0)return E;let _=++o;r.set(m,_);let U=g(e.coreClient,{userId:m}).then(Q=>y(m,S(Q?.friend_status),_)).finally(()=>{c.get(m)===U&&c.delete(m);});return c.set(m,U),U}function I(s){return N(s,true)}async function D(s,i){let m=f(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),E;try{E=await N(m,!1);}catch(_){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:m,error:_}}}),null}if(u)return null;if(E==="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:m}}}),null;if(E!=="friend")return "rejected";C(m,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(m,i,Date.now());}catch(_){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:m,error:_}}}),null}return u?null:(e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),R(m,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,i)=>e.profile?.getUserProfile(s,i)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:w,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")):Y(e.coreClient,{query:s}).catch(i=>{throw i instanceof V?em(i):i}).then(i=>{if(i===null)return null;let m=S(i.friendStatus);return C(i.userId,m),Object.freeze({userId:i.userId,displayName:i.nickname||i.miCallId||i.username||i.userId,nickname:i.nickname,relationship:m,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl},...i.username===void 0?{}:{username:i.username},...i.miCallId===void 0?{}:{miCallId:i.miCallId},...i.signature===void 0?{}:{signature:i.signature}})}),getRelationship:I,requestFriendship:async(s,i)=>{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 m=f(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),E;try{E=await Z$1(e.coreClient,{userId:m,message:i.message,...i.remark===void 0?{}:{remark:i.remark}});}catch(U){throw U instanceof W?Zp(U):U}let _=nm(E.status);return C(m,_==="sent"?"pending":"friend"),_==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(m,j(),Date.now()),e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),R(m,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:_,...E.message===void 0?{}:{message:E.message}})},blockUser:async s=>{let i=f(s,"\u52A0\u5165\u9ED1\u540D\u5355");await U(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:i,blocked:true}),C(i,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:i}),e.emitter.emit({type:"profile:updated",profileType:"user",id:i}),R(i,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,i)=>{let m=f(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),E=i.trim();if(E==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let _=e.getSelfId?.().trim()??"";if(_==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await $(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:_,targetUserId:m,problem:E});},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 i=s.trim();if(i==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await _(e.coreClient,{userId:i}),C(i,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:i});try{await e.resetDirectReadReceiptPreference?.(i);}catch(m){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:m}});}R(i,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let i=f(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),m=a.get(i);return m!==void 0&&Date.now()-m<g$1?Promise.resolve(d.get(i)??"unknown"):I(i)},updateRelationshipFromEvent:C,resolveApplicationAnswer:D,dispose:()=>{u=true,o+=1,r.clear(),d.clear(),a.clear(),c.clear();}}}function Sd(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let d=e().filter(c=>c.id===n);if(d.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(d.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let a=d[0];if(a.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:a.type,conversationId:a.id}}}function Pd(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let d=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=e.domainState.getConversationContext(d);if(a===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:a.type,targetId:a.id,muted:r}),e.domainState.setMuted(d,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),d=e.domainState.getSession(r);if(d===void 0)return;if(d.unreadCount===0&&d.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(d.unreadCount===0&&(d.type!=="channel"||(d.mentionUnreadCount??0)===0))return;if(d.type!=="robot"&&e.settleConversationRead!==void 0){await e.settleConversationRead(r);return}let a=e.domainState.getMessagesByConversation(r),c=a.at(-1)?.id??d.readCursor??"";if(d.type==="direct"||d.type==="robot"){c!==""&&e.domainState.advanceRead(r,c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="group"){let o=await e.authProvider.getLoginContext();if(o===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma$1({http:e.http,userId:o.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let o=Wa$1(a);if(o===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${r.conversationId}\uFF09`);await e.markChannelRead(r.conversationId,o),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${d.type}`)},markConversationUnread:n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(r);},deleteConversation:n=>{let r=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.beforeDeleteConversation?.(r),e.terminateConversationSending?.(r,"conversation_deleted"),e.domainState.removeConversation(r),e.resetConversationBackground?.(r).catch(d=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",d));}}}var oa=1,tm=3;function aa(e){return typeof Blob<"u"&&e instanceof Blob}async function Ad(e){return aa(e)?new Uint8Array(await e.arrayBuffer()):e}function Ed(e){async function n(P){return e.connection.sendText(P)}async function r(P){return e.connection.sendContact(P)}async function d(P){return e.connection.forwardMessages(P)}async function a(P){return e.connection.recallMessage(P)}async function c(P){return e.connection.editMessage(P)}async function o(P){return e.connection.sendImage(P)}async function u(P){return e.connection.sendVideo(P)}async function g(P){return e.connection.sendVoice(P)}async function y(P){return e.connection.sendFile(P)}async function C(P){return e.connection.sendMediaAlbum(P)}async function h(P){return e.connection.sendGif(P)}async function f(P){return e.connection.sendExpression(P)}async function R(P){return e.connection.sendGame(P)}async function w(P){return e.connection.sendMiniProgram(P)}async function S(P){return e.connection.sendTransfer(P)}async function N(P){return e.connection.sendGift(P)}async function I(P,K){return e.connection.replaceInterruptedVideo(P,K)}async function D(P,K){return e.connection.replaceInterruptedFile(P,K)}function s(P){e.connection.cancelMedia(P);}function i(P,K){return {url:P.url,...P.getPriority===void 0?{}:{getPriority:P.getPriority},...P.expectedBytes===void 0?{}:{expectedBytes:P.expectedBytes},...P.onProgress===void 0&&P.onTransferProgress===void 0?{}:{onProgress:x=>{P.onTransferProgress?.(x),P.onProgress?.(x.percent);}},...P.signal!==void 0?{signal:P.signal}:{},...P.resume===void 0?{}:{resume:P.resume},...P.onResumable===void 0?{}:{onResumable:P.onResumable},...P.onResumeInvalidated===void 0?{}:{onResumeInvalidated:P.onResumeInvalidated},...K?{preferBlob:true}:{}}}async function m(P){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let K=await e.mediaTransfer.download(i(P,false)),x=await Ad(K);return P.teaKey!==void 0&&P.teaKey.length>0&&P.fileEncryptType!==oa?e.crypto.decryptSymmetric({teaKey:P.teaKey,cipherData:x}):x}async function E(P){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let K=await e.mediaTransfer.download(i(P,true));if(P.teaKey===void 0||P.teaKey.length===0||P.fileEncryptType===oa)return K;let x=P.teaKey;return aa(K)?e.crypto.decryptSymmetricChunked({teaKey:x,cipherData:K,...P.signal===void 0?{}:{signal:P.signal}}):e.crypto.decryptSymmetric({teaKey:x,cipherData:K})}async function _(P){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");if(P.fileEncryptType===tm)return E(P);let K=await e.mediaTransfer.download(i(P,true));if(P.teaKey===void 0||P.teaKey.length===0||P.fileEncryptType===oa)return K;let J=P.teaKey;if(!aa(K))return e.crypto.decryptFileSimple({teaKey:J,cipherData:K});if(K.size<=32){let k=e.crypto.decryptFileSimple({teaKey:J,cipherData:await Ad(K)});return new Blob([k],{type:K.type})}let be=new Uint8Array(await K.slice(0,32).arrayBuffer()),se=e.crypto.decryptFileSimple({teaKey:J,cipherData:be});return new Blob([se,K.slice(32)],{type:K.type})}function U(P){e.connection.retryMessage(P);}function Q(P,K){let x={conversationType:"channel",conversationId:P},J=e.domainState.getLoadedMessagesByConversation(x),se=e.domainState.getConversationMessage(x,K)??J.find(q=>Va$1(q)===K),k=Va$1(se);if(se===void 0||typeof k!="string"||k.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${P}, input=${K}\uFF09`);return se.id}async function W(P){let K=P.conversationType??e.domainState.getSession(P.conversationId)?.type;if(K==="channel"){let x=Q(P.conversationId,P.readCursor);await e.connection.markRead(P.conversationId,x,"channel");return}await e.connection.markRead(P.conversationId,P.readCursor,P.conversationType),K==="direct"&&await e.prepareDirectReadReceipt?.(P.conversationId);}function de(P){if(P.conversationType!=="direct"&&P.conversationType!=="group"&&P.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${P.conversationType}`)}async function Ie(P,K){de(P);let x={...P};if(K===void 0){let se=e.domainState.getSession(x);if((se?.unreadCount??0)>0||(se?.mentionUnreadCount??0)>0){if(x.conversationType!=="group")throw new Error(`${x.conversationType==="channel"?"CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor":"\u4F1A\u8BDD\u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1\u6700\u65B0\u6D88\u606F\u4F4D\u7F6E"}\uFF08conversationId=${x.conversationId}\uFF09`);if(e.settleEmptyGroupRead===void 0)throw new Error("GROUP \u65E0\u6B63\u6587\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u5C1A\u672A\u88C5\u914D");await e.settleEmptyGroupRead({conversationType:"group",conversationId:x.conversationId});}e.domainState.clearConversationManualUnread?.(x);return}let J=e.connection.settleConversationRead;if(J===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let be=x.conversationType==="channel"?Q(x.conversationId,K):K;await J(x,be),e.domainState.clearConversationManualUnread?.(x);}async function v(P,K){if(de(P),P.conversationType!=="direct"||K.length===0)return;let x=e.connection.reportVisibleMessages;if(x===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");x(P,K),await e.prepareDirectReadReceipt?.(P.conversationId);}async function L(P,K){e.connection.reportDirectMediaConsumed?.(P,K),await e.prepareDirectReadReceipt?.(P);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:a,editMessage:c,sendImage:o,sendVideo:u,sendVoice:g,sendFile:y,sendGif:h,sendMediaAlbum:C,sendExpression:f,sendGame:R,sendMiniProgram:w,sendTransfer:S,sendGift:N,replaceInterruptedVideo:I,replaceInterruptedFile:D,cancelMediaUpload:s,loadImage:m,loadVideo:E,loadVoice:m,loadFile:_,retry:U,markRead:W,markConversationRead:Ie,markVisibleMessages:v,markDirectMediaConsumed:L}}}function Rd(e){return {...e.operations,get state(){return e.getState()}}}var rm=50,om=1e3,Sn={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 tn(e){let n=Z({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 am(e,n){switch(e){case Sn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Sn.CONTACT_PERMISSION_DENIED:case Sn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Sn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Sn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Sn.ALREADY_GROUP_MEMBER:case Sn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Sn.GROUP_MEMBER_LIMIT_REACHED:case Sn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Sn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Sn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Sn.OPERATION_FAILED:case Sn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Sn.GROUP_APPLICATION_UNAVAILABLE_40521:case Sn.GROUP_APPLICATION_UNAVAILABLE_40612:case Sn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function im(e){if(e instanceof j$1||e instanceof q)return e.code}function sm(e){return e instanceof k$1||e instanceof r$1?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function wd(e,n,r){let d=im(r),a=am(d,e),c=sm(r);return tn({code:a,category:c.category,operation:n,retryable:c.retryable,cause:r})}function Td(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function _n(e,n){if(typeof e!="string"&&typeof e!="number")throw tn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let r=String(e).trim();if(r==="")throw tn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function ia(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw tn({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 Mt(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 cm(e,n,r="pending"){return Object.freeze({ref:Mt(e),...n===void 0?{}:{createdAt:n},state:r})}function dm(e){let n=ia(e.createdAt),r=ot(e.applicantAvatar,"contact.applicantAvatar"),d=ot(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Mt({domain:"contact",applicationId:_n(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:_n(e.applicantId,"contact.applicantId"),name:_n(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:sa(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function lm(e){if(e.kind!=="request"&&e.kind!=="invite")throw tn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=ia(e.createdAt),r=ot(e.actor.avatarUrl,"group.actor.avatarUrl"),d=ot(e.actor.displayId,"group.actor.displayId"),a=ot(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Mt({domain:"group",applicationId:_n(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:_n(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:_n(e.actor.id,"group.actor.id"),name:_n(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:_n(e.target.id,"group.target.id"),name:_n(e.target.name,"group.target.name"),...a===void 0?{}:{avatarUrl:a}}),message:sa(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function ot(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw tn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let r=String(e).trim();return r===""?void 0:r}function sa(e,n){if(typeof e!="string"&&typeof e!="number")throw tn({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 um(e){let n=ia(e.createdAt),r=ot(e.applicantAvatar,"channel.applicantAvatar"),d=ot(e.applicantDisplayId,"channel.applicantDisplayId"),a=ot(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Mt({domain:"channel",applicationId:_n(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:_n(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:_n(e.applicantId,"channel.applicantId"),name:_n(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:_n(e.channelId,"channel.channelId"),name:_n(e.channelName,"channel.channelName"),...a===void 0?{}:{avatarUrl:a}}),message:sa(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Mr(e){return `${e.domain}:${e.applicationId}`}function _d(e){let n=false,r=0,d=0,a=new Map,c=new Map,o=new Map;function u(R,w){if(n||!e.isActive()||w!==void 0&&r!==w)throw tn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:R,retryable:false})}function g(R){if(u(R),e.contact===void 0||e.group===void 0||e.channel===void 0)throw tn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function y(R,w){let S=[],N=new Set,I;for(let D=0;D<om;D+=1){let s=await w({limit:rm,...I===void 0?{}:{cursor:I}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw tn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:R,retryable:false});if(S.push(...s.items),s.exhausted)return S;let i=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(i===""||N.has(i))throw tn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:R,retryable:false});N.add(i),I=i;}throw tn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:R,retryable:false})}async function C(){let R="applications.listPending",w=g(R),S=r,N=++d;try{let[I,D,s]=await Promise.all([y(R,_=>w.contact.listPendingApplications(_)),y(R,_=>w.group.listPendingApplications(_)),y(R,_=>w.channel.listJoinApplications(_))]);u(R,S);let i=[...I.map(dm),...D.map(lm),...s.map(um)],m=new Map;for(let _ of i){let U=Mr(_.ref);if(c.has(U))continue;let Q=m.get(U);if(Q!==void 0&&JSON.stringify(Q.ref)!==JSON.stringify(_.ref))throw tn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:R,retryable:!1});(Q===void 0||(_.createdAt??0)>(Q.createdAt??0))&&m.set(U,_);}let E=[...m.values()].sort((_,U)=>{let Q=(U.createdAt??0)-(_.createdAt??0);return Q!==0?Q:Mr(_.ref).localeCompare(Mr(U.ref))});if(N===d){a.clear();for(let _ of E)a.set(Mr(_.ref),_);}return Object.freeze(E)}catch(I){throw Td(I)?I:(u(R,S),wd("IM_SDK_APPLICATION_LIST_FAILED",R,I))}}function h(R,w){if(u(w),R===null||typeof R!="object")throw tn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});let S=typeof R?.applicationId=="string"?R.applicationId.trim():"";if(S==="")throw tn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});if(R.domain==="contact")return Mt({domain:"contact",applicationId:S});let N=typeof R.conversation?.conversationId=="string"?R.conversation.conversationId.trim():"";if(R.domain==="group"&&R.conversation?.conversationType==="group"&&N!=="")return Mt({domain:"group",applicationId:S,conversation:{conversationType:"group",conversationId:N}});if(R.domain==="channel"&&R.conversation?.conversationType==="channel"&&N!=="")return Mt({domain:"channel",applicationId:S,conversation:{conversationType:"channel",conversationId:N}});throw tn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false})}function f(R,w){let S=w==="accepted"?"applications.accept":"applications.ignore",N=h(R,S),I=Mr(N),D=c.get(I);if(D===w)return Promise.resolve();if(D!==void 0)return Promise.reject(tn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:S,retryable:false}));let s=o.get(I);if(s!==void 0)return s.state===w?s.promise:Promise.reject(tn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:S,retryable:true}));let i=r,m=Promise.resolve().then(async()=>{try{let _;if(N.domain==="contact"){if(e.contact===void 0)throw tn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});_=w==="accepted"?e.contact.acceptApplication(N.applicationId):e.contact.ignoreApplication(N.applicationId);}else if(N.domain==="group"){if(e.group===void 0)throw tn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});_=w==="accepted"?e.group.acceptApplication(N.applicationId):e.group.ignoreApplication(N.applicationId);}else {if(e.channel===void 0)throw tn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});_=w==="accepted"?e.channel.acceptJoinApplication(N.applicationId):e.channel.ignoreJoinApplication(N.applicationId);}if(await _,u(S,i),w==="accepted"&&N.domain==="contact"){let Q=a.get(I);Q?.kind==="contact-request"&&await e.onContactAccepted?.(Q.applicant.id,N.applicationId);}c.set(I,w);let U=cm(N,a.get(I)?.createdAt,w);a.delete(I),e.emitter.emit({type:"application:updated",application:U});}catch(_){throw Td(_)?_:(u(S,i),wd("IM_SDK_APPLICATION_ACTION_FAILED",S,_))}}),E=()=>{o.get(I)?.promise===m&&o.delete(I);};return o.set(I,{state:w,promise:m}),m.then(E,E),m}return {api:{listPending:C,accept:async R=>f(R,"accepted"),ignore:async R=>f(R,"ignored")},dispose(){n||(n=true,r+=1,a.clear(),c.clear(),o.clear());}}}function St(e,n,r){try{r();}catch(d){let a=d instanceof Error?d.message:String(d);throw a.includes("\u672A\u9274\u6743")?Z({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u53EA\u5B9E\u73B0")||a.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?Z({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?Z({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):a.includes("\u6CA1\u6709\u5339\u914D")||a.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?Z({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):Z({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function Dd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return St("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){St("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){St("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){St("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){St("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){St("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){St("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var ca=18,pm=12,mm=300*1e3,fm=64,kd=Object.freeze([]),gm=0;function ym(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Od(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??mm,d=e.maxCacheEntries??fm;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(d)||d<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let a=++gm,c=new Map,o=new Map,u=new Map,g=new Map,y=new Map,C=new Map,h=new Map,f=new Set,R=0,w=true,S=k=>g.get(k)??0;function N(){if(!w)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function I(k){if(k.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let q=k.conversationId.trim();if(q==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return q}function D(k){let q=c.get(k);c.delete(k),q?.page.nextPageToken!==void 0&&u.delete(q.page.nextPageToken);}function s(k,q){let z=c.get(k);return z===void 0?null:z.generation!==q||z.expiresAt<=n()?(D(k),null):(c.delete(k),c.set(k,z),z.page)}function i(k,q){for(D(k),c.set(k,q);c.size>d;){let z=c.keys().next().value;if(typeof z!="string")break;D(z);}}function m(k){let q=[],z=new Map;for(let re of k){let ue=re.userId.trim();if(ue==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");z.has(ue)||q.push(ue);let Me=re.displayName.trim()||ue,Y=re.avatar?.trim();z.set(ue,Object.freeze({userId:ue,displayName:Me,...Y===void 0||Y===""?{}:{avatar:Y}}));}return Object.freeze(q.map(re=>z.get(re)))}async function E(k,q){let z=await ha(q);return Object.freeze(k.filter(re=>z.match(re.displayName)!==null||z.match(re.userId,{pinyin:false})!==null))}async function _(k,q){let z=await K(k);return z===null?kd:E(z.page.items,q)}function U(k,q){let z=[...k.items],re=new Set(z.map(ue=>ue.userId));for(let ue of q)re.has(ue.userId)||(re.add(ue.userId),z.push(ue));return Object.freeze({...k,items:Object.freeze(z)})}function Q(k,q){let z=k.map(ue=>ue.userId),re=new Map(k.map(ue=>[ue.userId,ue]));for(let ue of q)re.has(ue.userId)||z.push(ue.userId),re.set(ue.userId,ue);return z.map(ue=>re.get(ue))}function W(k,q,z){let re=`im-channel-mention:${a}:${++R}`;for(u.set(re,{...k,generation:q,expiresAt:z});u.size>d;){let ue=u.keys().next().value;if(typeof ue!="string")break;u.delete(ue);}return re}function de(k){let q=k.nextCursor?.trim();if(k.exhausted&&q!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!k.exhausted&&(q===void 0||q===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return q}function Ie(k,q,z,re){let ue=de(k),Me=ue===void 0?void 0:W({...q,cursor:ue},z,re);return Object.freeze({items:m(k.items),...Me===void 0?{}:{nextPageToken:Me},exhausted:k.exhausted})}function v(){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 L(k,q){let z=y.get(k);for(z?.page.nextPageToken!==void 0&&u.delete(z.page.nextPageToken),y.delete(k),y.set(k,q);y.size>d;){let re=y.keys().next().value;if(re===void 0)break;let ue=y.get(re);ue?.page.nextPageToken!==void 0&&u.delete(ue.page.nextPageToken),y.delete(re);}}function P(k,q){let z=n()+r,re={channelId:k.channelId,kind:"list"},ue=k.nextCursor===void 0?void 0:W({...re,cursor:k.nextCursor},q,z);return {generation:q,updatedAt:k.updatedAt,page:Object.freeze({items:m(k.items),...ue===void 0?{}:{nextPageToken:ue},exhausted:k.exhausted})}}function K(k){N();let q=y.get(k);if(q!==void 0)return Promise.resolve(q);if(f.has(k)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let z=h.get(k);if(z!==void 0)return z;let re=S(k),ue=e.storage.getChannelMentionCandidateSnapshot(k).then(Me=>{if(N(),Me===null||Me.channelId!==k||S(k)!==re||f.has(k))return null;let Y=P(Me,re);return L(k,Y),Y}).finally(()=>{h.get(k)===ue&&h.delete(k);});return h.set(k,ue),ue}function x(k){N();let q=C.get(k);if(q!==void 0)return q;let z=S(k),re=v(),ue=(async()=>{let Me,Y=false,Oe=[];for(let sn=0;sn<pm&&!Y;sn+=1){let $e=await re.listMentionMembers({channelId:k,limit:ca,...Me===void 0?{}:{cursor:Me}});if(N(),S(k)!==z)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");Me=de($e),Y=$e.exhausted,Oe=Q(Oe,$e.items);}let xe=n(),Ve={channelId:k,items:Oe,...Me===void 0?{}:{nextCursor:Me},exhausted:Y,updatedAt:xe};if(S(k)!==z)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Ve),N(),S(k)!==z)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=P(Ve,z);return L(k,je),je.page})().finally(()=>{C.get(k)===ue&&C.delete(k);});return C.set(k,ue),ue}function J(k,q=false){N();let z=S(k.channelId),re=ym(k);if(!q){let xe=s(re,z);if(xe!==null)return Promise.resolve(xe)}let ue=o.get(re);if(ue!==void 0&&ue.generation===z)return ue.promise;let Me=v(),Y=k.kind==="list"?Me.listMentionMembers({channelId:k.channelId,limit:ca,...k.cursor===void 0?{}:{cursor:k.cursor}}):Me.searchMentionMembers({channelId:k.channelId,query:k.keyword,limit:ca,...k.cursor===void 0?{}:{cursor:k.cursor}}),Oe=Promise.resolve(Y).then(async xe=>{N();let Ve=k.kind==="search"&&k.cursor===void 0?await _(k.channelId,k.keyword):kd;if(N(),S(k.channelId)!==z)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=n()+r,sn=Ie(xe,k,z,je),$e=Ve.length===0?sn:U(sn,Ve);return S(k.channelId)===z&&i(re,{channelId:k.channelId,generation:z,expiresAt:je,page:$e}),$e}).finally(()=>{o.get(re)?.promise===Oe&&o.delete(re);});return o.set(re,{generation:z,promise:Oe}),Oe}function be(k,q){N();let z=u.get(k);if(z===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(z.kind!==q)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${q} \u5206\u9875`);if(z.expiresAt<=n())throw u.delete(k),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(S(z.channelId)!==z.generation)throw u.delete(k),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return z}return {api:{peekFirstPage(k){if(!w)return null;let q=I(k),z=y.get(q);return z===void 0||z.generation!==S(q)?null:(L(q,z),z.page)},peekSearchCandidates(k,q){if(!w)return Object.freeze([]);let z=I(k),re=q.trim().toLocaleLowerCase();if(re==="")return Object.freeze([]);let ue=y.get(z);return ue===void 0||ue.generation!==S(z)?Object.freeze([]):(L(z,ue),Object.freeze(ue.page.items.filter(Me=>Me.displayName.toLocaleLowerCase().includes(re)||Me.userId.toLocaleLowerCase().includes(re))))},async getCachedPage(k,q){let z=I(k),re=await K(z);if(re===null)return null;let ue=q?.trim()??"";if(ue==="")return re.page;let Me=await E(re.page.items,ue);return N(),re.generation!==S(z)?null:Object.freeze({items:Me,exhausted:true})},async prefetchFirstPage(k){let q=I(k),z=await K(q);z!==null&&z.updatedAt+r>n()||await x(q);},async refreshFirstPage(k){return x(I(k))},async listFirstPage(k){let q=I(k),z=y.get(q);if(z!==void 0&&z.generation===S(q))return L(q,z),z.page;let re=await K(q);return re!==null?re.page:x(q)},async listNextPage(k){return J(be(k,"list"))},async searchFirstPage(k,q){let z=I(k),re=q.trim();return re===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):J({channelId:z,kind:"search",keyword:re})},async refreshSearchFirstPage(k,q){let z=I(k),re=q.trim();return re===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):J({channelId:z,kind:"search",keyword:re},true)},async searchNextPage(k){return J(be(k,"search"))}},async invalidate(k){if(!w)return;let q=k.trim();if(q==="")return;g.set(q,S(q)+1),f.add(q);let z=y.get(q);z?.page.nextPageToken!==void 0&&u.delete(z.page.nextPageToken),y.delete(q),C.delete(q),h.delete(q);for(let[re,ue]of c)ue.channelId===q&&D(re);for(let[re,ue]of u)ue.channelId===q&&u.delete(re);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(q),f.delete(q));},clear(){if(!w)return;let k=new Set;for(let q of c.values())k.add(q.channelId);for(let q of u.values())k.add(q.channelId);for(let q of k)g.set(q,S(q)+1);c.clear(),u.clear(),o.clear(),y.clear(),C.clear(),h.clear(),f.clear();},dispose(){w&&(w=false,c.clear(),u.clear(),o.clear(),y.clear(),C.clear(),h.clear(),f.clear());}}}var Im=20*1024*1024;function Yn(e){return Z({...e,retryable:e.retryable??false})}function da(e,n){if(e?.conversationType==="supergroup")throw Yn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"&&e?.conversationType!=="robot"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw Yn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function vm(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 Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function hm(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function xd(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:hm(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw Yn({code:e.blob instanceof Blob&&e.blob.size>r?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let d=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:d}}function la(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 Cm(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Nd(e){let n=e.maxCustomImageBytes??Im,r=false,d=0,a,c;async function o(g,y){try{return await y(vm(e.storage,g))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:g,cause:C})}}return {api:{async getBackground(g){let y="conversations.getBackground",C=da(g,y);return o(y,async h=>{let f=await h.getConversationBackground(C);if(f!==null)return Object.freeze({source:"conversation",selection:la(f)});let R=await h.getDefaultConversationBackground();return Object.freeze(R===null?{source:"builtin",selection:null}:{source:"default",selection:la(R)})})},async setBackground(g,y){let C="conversations.setBackground",h=da(g,C),f=await xd(y,C,n);await o(C,R=>R.saveConversationBackground(h,f));},async resetBackground(g){let y="conversations.resetBackground",C=da(g,y);await o(y,h=>h.deleteConversationBackground(C));},async getDefaultBackground(){return o("conversations.getDefaultBackground",async y=>{let C=await y.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:la(C)})})},async setDefaultBackground(g){let y="conversations.setDefaultBackground",C=await xd(g,y,n);await o(y,h=>h.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await o("conversations.resetDefaultBackground",y=>y.deleteDefaultConversationBackground());},listBackgroundPresets(g){let y="conversations.listBackgroundPresets";if(r)return Promise.reject(Yn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:y}));if(!g?.forceRefresh&&a!==void 0)return Promise.resolve(a);if(!g?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(Yn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:y}));let C=++d,h=ga$1(e.coreClient).then(f=>{let R=Object.freeze(f.map(Cm));return !r&&C===d&&(a=R),R}).catch(f=>{throw Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:y,retryable:true,cause:f})}).finally(()=>{C===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,a=void 0,c=void 0;}}}var Sr=class extends Error{code="IM_SDK_HISTORY_PAGE_STALLED";category="protocol";retryable=true;operation;conversation;constructor(n,r){super("\u7FA4\u5386\u53F2\u6EE1\u9875\u672A\u63D0\u4F9B\u53EF\u7EE7\u7EED\u7684\u5206\u9875\u4F4D\u7F6E\uFF0C\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u7ECF\u5230\u8FBE\u672B\u5C3E"),this.name="GroupHistoryPageBoundaryError",this.operation=r==="older"?"history.loadOlder":"history.loadNewer",this.conversation={conversationType:"group",conversationId:n};}};function Pr(e){if(e.batchSize<e.limit)return {exhausted:true};let n=e.boundaryTime;if(n===void 0||!Number.isSafeInteger(n)||n<0||(e.direction==="older"?n>=e.baseTime:n<=e.baseTime))throw new Sr(e.conversationId,e.direction);return {exhausted:false,nextCursor:String(n)}}var Ld=2;async function bm(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,a,c,o=y=>Fd(e.entryUpperSortKey===void 0?y:y.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,a,e.isEntryUnread).unreadMessages;for(let y=0;y<=(e.maxExtraPages??Ld);y+=1){e.signal?.throwIfAborted();let C=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),C===void 0)break;if(a!==void 0&&a!==C.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");a=C.readCursorSortKey,c=C;for(let w of C.messages){if(w.conversationId!==e.conversation.conversationId||w.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(w.id,w);}let h=[...n.values()].sort(m$1),f=o(h),R=e.entryUpperSortKey!==void 0&&C.messages.some(w=>w.sortKey>=e.entryUpperSortKey);if(ua(f)&&(C.exhausted||R))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(R||f.some(w=>w.contentType!=="system")||C.exhausted||C.nextCursor===void 0||C.nextCursor===d||r.has(C.nextCursor))break;r.add(C.nextCursor),d=C.nextCursor;}let u=[...n.values()].sort(m$1),g=o(u)[0];return g!==void 0&&c!==void 0?(await e.openAt(g.sortKey,{messages:u,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),Ud(g.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function ua(e){return e.length>0&&e.every(n=>n.contentType==="system")}function Mm(e){return ia$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Fd(e,n,r,d){let a=[];for(let c of e)!Mm(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??na$1(c,n))&&a.push(c);return {unreadMessages:a}}function Ud(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function pa(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return bm(e);let n=new Map,r=()=>{let h=e.list();for(let f of h)n.delete(f.id);for(let f of Fd(h,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)n.set(f.id,{id:f.id,sortKey:f.sortKey,contentType:f.contentType});return [...n.values()].sort(m$1)},d=e.readCursorSortKey!==void 0;d?await e.openAt(e.readCursorSortKey):await e.openLatest(),e.signal?.throwIfAborted();let a=r(),c=e.maxExtraPages??Ld,o=e.paginationKey??(()=>JSON.stringify(e.list().map(h=>[h.id,h.sortKey]))),u=new Set,g=()=>a.length<e.unreadCount||d&&ua(a);for(let h=0;g()&&(d?e.hasNewer():e.hasOlder())&&h<c&&(e.signal?.throwIfAborted(),u.add(o()),await(d?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),a=r(),!(e.maxExtraPages!==void 0&&u.has(o())));h+=1);if(a.length<e.unreadCount)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let y=d?a:a.slice(-e.unreadCount);if((!d||!e.hasNewer())&&ua(y))return await e.openLatest(),Object.freeze({state:"none"});let C=y[0];return C===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(C.sortKey),e.signal?.throwIfAborted(),Ud(C.id,e.unreadCount))}function Ar(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},a=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}a.has(c.userId)||(a.add(c.userId),r.push(c.userId),c.displayName.trim()!==""&&(d[c.userId]=c.displayName));}return {atAll:n,atUserIds:r,...Object.keys(d).length===0?{}:{atUsersName:d}}}function Sm(e){return e instanceof xa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function Pm(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Kd(e){let n=[...new Set(e.messageIds.map(o=>o.trim()).filter(o=>o!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],a=[],c;for(let o of Pm(n)){if(!e.isCurrent()){a.push(...o);continue}try{let u=await e.fetchBatch(o);if(!e.isCurrent()){a.push(...o);continue}let g=new Set(u.messages.map(C=>C.id)),y=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),d.push(...u.missingMessageIds);for(let C of o)!g.has(C)&&!y.has(C)&&a.push(C);}catch(u){a.push(...o),c=Sm(u);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:a,...c===void 0?{}:{failure:c}}}function ma(e,n,r){return e instanceof Sr?Z({code:e.code,category:e.category,retryable:e.retryable,operation:n,conversation:r,cause:e}):yt(e,n,r)}var ga=new WeakMap;function co(e,n){let r=ga.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");ga.set(e,r);}var Am={"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}},Em={"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}},Bd={"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}},Gd={"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 Hd(e,n,r){let d=Z({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function Rm(e,n){let r=Z({code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",operation:"history.loadAround",retryable:false,conversation:e,details:{messageId:n}});return Object.assign(new Error(r.code),r)}var wm=3*1024*1024,fa=200*1024*1024,jd=2*1024*1024*1024,zd=30*1024*1024,Vd=4294967295,Tm=6,_m=4,Dm=16*1024;async function km(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let r=new Uint8Array(await e.slice(0,6).arrayBuffer());if(r.length!==6)return false;let d=String.fromCharCode(...r);return d==="GIF87a"||d==="GIF89a"}var Om={"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 lo(e,n,r$1,d,a={},c={}){c.signal?.throwIfAborted();let o=Object.freeze({...e}),u=n.pageSize??30,g={historySource:o.conversationType==="group"||o.conversationType==="channel"?"remote":"local",retention:{maxMessages:u*Tm},...a.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,b)=>a.shouldEstablishRemoteLatestOnOpen?.(b)===true}},y=n.domainState.createMessageWindow({...g}),C=new WeakSet,h=new Set,f=new Set,R=new Map,w,S,N=false,I=false,D=false,s=true,i=0,m=Object.freeze({state:"none"}),E=c.captureEntryUnread===true&&o.conversationType!=="robot",_=E?n.domainState.getSession(o):void 0,U=Math.max(0,_?.manuallyUnread===true?0:_?.unreadCount??0),Q=E?n.domainState.getReadState(o):void 0,W=n.getSelfId(),de=new Map,Ie=new Set,v,L,P=Q?.readCursorSortKey,K=E?Object.freeze(U>0?{state:"pending",count:U}:{state:"none"}):void 0,x=0,J,be,se=0,k=false,q,z;if(E)for(let p of n.domainState.getLoadedMessagesByConversation(o))de.set(p.id,na$1(p,W)),Q?.readCursor===(o.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(P=p.sortKey);let re=new AbortController,ue=new WeakMap,Me;function Y(){if(I)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function Oe(){let p=y.window.info();return {messages:y.window.list(),context:n.domainState.getConversationContext(o),draft:n.domainState.getDraft(o),loading:R.size>0,stale:N,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:S,entryUnread:m,entryUnreadNavigation:K}}function xe(p,b){return p.length===b.length&&p.every((M,F)=>M===b[F])}function Ve(p,b){return xe(p.messages,b.messages)&&(p.context?.title??"")===(b.context?.title??"")&&(p.context?.avatar??"")===(b.context?.avatar??"")&&p.draft===b.draft&&p.loading===b.loading&&p.stale===b.stale&&p.hasOlder===b.hasOlder&&p.hasNewer===b.hasNewer&&p.error===b.error&&p.entryUnread===b.entryUnread&&p.entryUnreadNavigation===b.entryUnreadNavigation}function je(p){let b=ue.get(p);if(b!==void 0)return b;let M=Xr(p);return ue.set(p,M),M}function sn(p){let b=p.context;return {ref:o,...b===void 0?{}:{display:Object.freeze({title:b.title,...b.avatar===void 0?{}:{avatar:b.avatar}})},messages:Object.freeze(p.messages.map(je)),entryUnread:p.entryUnread,...p.entryUnreadNavigation===void 0?{}:{entryUnreadNavigation:p.entryUnreadNavigation},draft:p.draft,loading:p.loading,stale:p.stale,hasOlder:p.hasOlder,hasNewer:p.hasNewer,...p.error===void 0?{}:{error:p.error}}}function $e(){return Y(),sn(Oe())}function rn(){Ae();let p=Oe();if(Me!==void 0&&Ve(Me,p))return;Me=p;let b=sn(p);for(let M of h)try{M(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}async function Ye(p,b){if(b(),w!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let M=n.domainState.getPinnedMessage(o),F=o.conversationType==="channel"&&M?.messageId===p,ee=y.window.list().find(Ne=>Ne.id===p)??n.domainState.getConversationMessage(o,p);if(ee!==void 0&&(!F||Ht(ee)))return {anchor:ee,...F?{remoteSeed:ee}:{}};let ge=F?await n.domainState.resolveConversationMessage(o,p):void 0;if(ge!==void 0&&Ht(ge))return {anchor:ge,remoteSeed:ge};let me=M?.messageId===p&&M.preview.state==="ready"?M.preview.message:void 0;if(me!==void 0){if(o.conversationType==="channel"){if(n.fetchMessagesByIdBatch===void 0)throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u88C5\u914D\u6309\u6D88\u606F ID \u67E5\u8BE2");if(b(),w!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let Ne=await n.fetchMessagesByIdBatch([p]),Ke=Ne.messages.find(dn=>dn.id===p&&dn.conversationType===o.conversationType&&dn.conversationId===o.conversationId);if(Ke===void 0){if(Ne.missingMessageIds.includes(p))return;throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u53D6\u5F97\u5B8C\u6574\u6D88\u606F\u7ED3\u679C")}if(!Ht(Ke))throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u6D88\u606F\u7F3A\u5C11\u5386\u53F2\u6E38\u6807");return {anchor:Ke,remoteSeed:Ke}}return {anchor:me,fallbackSeed:me}}let ye=n.resolveSearchHistoryAnchor?.(o,p);if(ye!==void 0)return {anchor:ye};let he=F?ge:await n.domainState.resolveConversationMessage(o,p);return he===void 0?void 0:{anchor:he}}async function Pn(p,b,M,F=false){M();let{anchor:ee}=b;if(b.remoteSeed!==void 0)return Kn(p,b.remoteSeed,M,F);let ge=await p.openAt(o,{anchorSortKey:ee.sortKey,limit:u});M();let me=p.list().find(ye=>ye.id===ee.id);return p.info().remotePagination===true&&me!==void 0?Kn(p,me,M,F):p.list().some(ye=>ye.id===ee.id)||b.fallbackSeed===void 0?ge:Kn(p,b.fallbackSeed,M,F)}async function Kn(p,b,M,F){let ee=await p.openAt(o,{anchorSortKey:b.sortKey,limit:u,seedMessages:[b],seedHasNewer:true,seedRemotePagination:{}});if(M(),!F)return ee;for(let ge of ["older","newer"])for(let me=0;me<_m;me+=1){M();let ye=p.info();if(!(ge==="older"?ye.hasMore:ye.hasNewer))break;let he=ge==="older"?await p.loadOlder({limit:u}):await p.loadNewer({limit:u});if(M(),he.stale)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");if(he.messages.length>0)break}return {...ee,messages:p.list()}}function A(p,b,M){Y();let F=y,ee=M?.window??F.window,ge=M?.isCurrent??(()=>!I&&y===F),me=()=>{if(Y(),!ge())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(w!==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 ye=R.get(p);if(ye!==void 0)return ye;let he=n.beginReceiving?.();S=void 0;let Ne=Promise.resolve().then(()=>(me(),b())).then(Ke=>(me(),a.reconcilePage===void 0?Ke:a.reconcilePage(Ke,ee))).then(Ke=>{me(),N=Ke.stale===true;}).catch(Ke=>{let dn=Ke instanceof La$1?Ke.cause:Ke;throw ge()&&(S=ma(dn,`history.${p}`,o)),s?Ke:dn}).finally(()=>{he?.(),R.delete(p),I||rn();});return R.set(p,Ne),rn(),Ne}function j(){y.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u));}async function H(){k=false,D?D=false:await A("latest",()=>y.window.open(o,{limit:u})),j(),a.shouldEstablishRemoteLatestOnOpen?.(y.window.list())===true&&(await A("latest:remote",()=>y.window.loadOlder({limit:u,establishLatestOnly:true})),j()),k=!N,Ee(y.window.list());}function V(){if(Y(),be?.version===x)return be.promise;let p=++x,b=fe(p).finally(()=>{be?.version===p&&(be=void 0);});return be={version:p,promise:b},b}async function fe(p){let b=y,M=n.domainState.createMessageWindow(g),F=()=>!I&&x===p&&y===b,ee=()=>{if(!F())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},ge={window:M.window,isCurrent:F},me=(he,Ne)=>A(he,async()=>{let Ke=await Ne();if(Ke.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Ke},ge),ye=false;try{await me(`latest:${p}`,()=>M.window.open(o,{limit:u})),ee(),M.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u)),a.shouldEstablishRemoteLatestOnOpen?.(M.window.list())===!0&&(await me(`latest:remote:${p}`,()=>M.window.loadOlder({limit:u,establishLatestOnly:!0})),ee(),M.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u))),y=M,ye=!0,b.dispose(),k=!0,N=!1,Ee(M.window.list()),rn();}finally{ye||M.dispose();}}function Ee(p){let b=a.resolveReadMessageId?.(p);q=a.resolveReadMessageId===void 0?p.at(-1):p.find(M=>M.id===b);}function we(p){return Ie.has(p.id)||v===void 0||p.sortKey>v||P!==void 0&&p.sortKey<=P?false:de.get(p.id)??na$1(p,W)}function qe(){if(!E||U<=0)return;let b=y.window.list().filter(M=>!Ie.has(M.id));v=b.at(-1)?.sortKey;for(let M of b)de.has(M.id)||de.set(M.id,na$1(M,W));if(c.initialPosition==="first-unread"&&m.state==="located"){L=m.firstMessageId,K=Object.freeze({state:"located",count:U,firstMessageId:m.firstMessageId});return}Ae();}function Ae(){if(!E||U<=0||L!==void 0||v===void 0||K?.state==="none")return;let p=y.window.list();if(!p.some(ee=>ee.sortKey===v))return;let b=p.filter(ee=>we(ee)&&ia$1(ee)&&ee.recalled===void 0&&ee.deletedForEveryone===void 0);if(b.length<U)return;let M=b.slice(-U);if(M.every(ee=>ee.contentType==="system")){K=Object.freeze({state:"none"});return}let F=M[0];L=F.id,m=Object.freeze({state:"located",firstMessageId:F.id,count:U}),K=Object.freeze({state:"located",firstMessageId:F.id,count:U});}function Te(p={}){if(Y(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(J!==void 0){if(!J.controller.signal.aborted&&J.version===x&&J.callerSignal===p.signal)return J.promise;J.controller.abort();}if(K===void 0||K.state==="none")return Promise.resolve(false);let b=++x,M=n.domainState.createMessageWindow(g),F=new AbortController,ee=()=>!I&&!F.signal.aborted&&x===b,ge=()=>{if(!ee())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},me=async xn=>{ge();let hn=await xn();if(ge(),a.reconcilePage!==void 0&&(hn=await a.reconcilePage(hn,M.window)),ge(),hn.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");M.window.applyIncoming(M.window.list().map(kn=>n.domainState.getConversationMessage(o,kn.id)??kn));},ye=false,he,Ne=new Promise((xn,hn)=>{he=hn;}),Ke=()=>{ye||M.dispose(),he(F.signal.reason);},dn=()=>F.abort(p.signal?.reason),vn=()=>F.abort(re.signal.reason);F.signal.addEventListener("abort",Ke,{once:true}),p.signal?.addEventListener("abort",dn,{once:true}),re.signal.addEventListener("abort",vn,{once:true}),re.signal.aborted&&vn();let wr=n.beginReceiving?.(),mn=(async()=>{try{let xn=L,hn=xn===void 0?void 0:await Ye(xn,ge);if(ge(),xn!==void 0&&hn===void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let kn=hn===void 0?await pa({conversation:o,pageSize:u,maxExtraPages:Number.POSITIVE_INFINITY,...v===void 0?{}:{entryUpperSortKey:v},unreadCount:U,...P===void 0?{}:{readCursorSortKey:P},signal:F.signal,selfId:W,isEntryUnread:we,...o.conversationType!=="channel"||!Q?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async En=>{let Cn=await n.loadEntryUnreadPage({readCursor:Q.readCursor,...En===void 0?{}:{cursor:En},signal:F.signal,isCurrent:ee});return ge(),Cn}},paginationKey:()=>M.window.getPaginationKey(),list:()=>M.window.list(),hasOlder:()=>M.window.info().hasMore,hasNewer:()=>M.window.info().hasNewer,openLatest:async()=>{await me(()=>M.window.open(o,{limit:u})),a.shouldEstablishRemoteLatestOnOpen?.(M.window.list())===!0&&await me(()=>M.window.loadOlder({limit:u,establishLatestOnly:!0}));},openAt:(En,Cn)=>me(()=>M.window.openAt(o,{anchorSortKey:En,limit:u,...Cn===void 0?{}:{seedMessages:Cn.messages.map(dt=>n.domainState.getConversationMessage(o,dt.id)??dt),seedHasNewer:Cn.hasNewer,seedRemotePagination:Cn.nextCursor===void 0?{}:{newerCursor:Cn.nextCursor}}})),loadOlder:()=>me(()=>M.window.loadOlder({limit:u})),loadNewer:()=>me(()=>M.window.loadNewer({limit:u}))}):await(async()=>(await me(()=>Pn(M.window,hn,ge)),{state:"located",firstMessageId:hn.anchor.id,count:U}))();if(ge(),kn.state!=="located")return K=Object.freeze(kn.state==="none"?{state:"none"}:{state:"unavailable",count:U}),!1;let Zn=M.window.list().find(En=>En.id===kn.firstMessageId);if(Zn===void 0||!ia$1(Zn)||Zn.recalled!==void 0||Zn.deletedForEveryone!==void 0)return K=Object.freeze({state:"unavailable",count:U}),!1;let fo=y;return y=M,ye=!0,fo.dispose(),L=kn.firstMessageId,m=kn,K=Object.freeze({state:"located",count:U,firstMessageId:kn.firstMessageId}),S=void 0,!0}catch(xn){let hn=xn instanceof La$1?xn.cause:xn;if(ee()){let kn=ma(hn,"history.loadEntryUnread",o);K=Object.freeze({state:"failed",count:U,error:kn});}throw hn}})(),_e=Promise.race([mn,Ne]).finally(()=>{F.signal.removeEventListener("abort",Ke),p.signal?.removeEventListener("abort",dn),re.signal.removeEventListener("abort",vn),ye||M.dispose(),wr?.(),J?.controller===F&&(J=void 0),I||rn();});return J={version:b,callerSignal:p.signal,controller:F,promise:_e},_e}async function Ue(){if(k){let M=new Map,F=n.domainState.getLoadedMessagesByConversation(o);for(let ge of [q,...F])ge!==void 0&&M.set(ge.id,n.domainState.getConversationMessage(o,ge.id)??ge);let ee=[...M.values()].sort((ge,me)=>ge.sortKey.localeCompare(me.sortKey));return Ee(ee),q?.id}let p=se,b=n.domainState.createMessageWindow(g);try{let M=await b.window.open(o,{limit:u});if(Y(),M.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(a.shouldEstablishRemoteLatestOnOpen?.(b.window.list())===!0){let ee=await b.window.loadOlder({limit:u,establishLatestOnly:!0});if(Y(),ee.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==se)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");Ee(b.window.list()),k=!0;let F=b.window.list();return a.resolveReadMessageId===void 0?F.at(-1)?.id:a.resolveReadMessageId(F)}finally{b.dispose();}}async function Qe(){let p=n.domainState.getSession(o),b=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),M=n.domainState.getReadState(o),F=M?.readCursor,ge=(F===void 0||F===""?void 0:o.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(o).find(me=>me.extensions?.historyCursor===F):n.domainState.getConversationMessage(o,F))?.sortKey??M?.readCursorSortKey;m=await pa({conversation:o,pageSize:u,unreadCount:b,...ge===void 0?{}:{readCursorSortKey:ge},signal:re.signal,...o.conversationType!=="channel"||F===void 0||F===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async me=>{let ye=y.window.getRevision(),he=()=>!I&&!re.signal.aborted&&y.window.getRevision()===ye,Ne=await n.loadEntryUnreadPage({readCursor:F,...me===void 0?{}:{cursor:me},signal:re.signal,isCurrent:he});if(re.signal.throwIfAborted(),!he())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Ne}},selfId:n.getSelfId(),list:()=>y.window.list(),hasOlder:()=>y.window.info().hasMore,hasNewer:()=>y.window.info().hasNewer,openLatest:H,openAt:(me,ye)=>{if(ye===void 0&&o.conversationType==="channel"&&F!==void 0&&F!==""&&n.loadEntryUnreadPage!==void 0)return Promise.resolve();D=false;let he=ye?.messages.map(dn=>n.domainState.getConversationMessage(o,dn.id)??dn),Ne=ye?.messages.find(dn=>dn.sortKey===me)?.id,Ke=Ne===void 0?me:he?.find(dn=>dn.id===Ne)?.sortKey??me;return A(`entry-unread:${me}`,()=>y.window.openAt(o,{anchorSortKey:Ke,limit:u,...ye===void 0?{}:{seedMessages:he,seedHasNewer:ye.hasNewer,seedRemotePagination:ye.nextCursor===void 0?{}:{newerCursor:ye.nextCursor}}}))},loadOlder:()=>A("entry-unread:older",()=>y.window.loadOlder({limit:u})),loadNewer:()=>A("entry-unread:newer",()=>y.window.loadNewer({limit:u}))});}let On=n.emitter.subscribe(p=>{if(!(I||!("conversation"in p)||p.conversation===void 0)&&!(p.conversation.conversationType!==o.conversationType||p.conversation.conversationId!==o.conversationId)){if((p.type==="conversation-history:cleared"||p.type==="session:removed")&&(re.abort(),x+=1,m=Object.freeze({state:"none"}),E&&(K=Object.freeze({state:"none"})),se+=1,z?.dispose(),z=void 0,k=false,q=void 0),p.type==="message:received"&&p.source==="live"&&(E&&Ie.add(p.message.id),k&&(q===void 0||p.message.sortKey>q.sortKey)&&(a.resolveReadMessageId===void 0||a.resolveReadMessageId([p.message])===p.message.id)&&(q=p.message)),p.type==="draft:updated"||p.type==="draft:cleared"){let b=p.type==="draft:updated"?p.draft:null;for(let M of f)try{M(b);}catch(F){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}rn();}});function Fn(){return c.initialPosition==="first-unread"?Qe():H()}let jn=()=>{re.abort(c.signal?.reason),y.dispose();};c.signal?.addEventListener("abort",jn,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await A("initial:local",()=>y.window.open(o,{limit:u})),c.signal?.throwIfAborted(),j(),D=!0;try{await Fn();}catch(p){if(c.signal?.throwIfAborted(),p instanceof La$1)throw p;S=ma(p,"history.initial",o),c.initialPosition==="first-unread"&&(m=Object.freeze({state:"unavailable"}));}finally{D=!1;}}else await Fn();c.signal?.throwIfAborted();}catch(p){throw I=true,re.abort(),On(),h.clear(),y.dispose(),p instanceof La$1?p.cause:p}finally{c.signal?.removeEventListener("abort",jn);}s=false,qe();function ke(p,b){let M=n.domainState.getMessage(p);return M!==void 0&&M.conversationType===o.conversationType&&M.conversationId===o.conversationId?{ok:true,message:Kt(M)}:{ok:false,error:Z({code:M===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o})}}async function Se(p,b,M){let F=await a.getSendPermissionError?.(p);if(Y(),F!==void 0){if(M===void 0)return {ok:false,error:F};let ee=await M(F);return Y(),ee}try{let ee=await b();return Y(),ee}catch(ee){if(I)throw ee;return {ok:false,error:yt(ee,p,o)}}}async function pn(p,b={}){let M="name"in p?p.name:void 0,F=b.fileName??(typeof M=="string"&&M!==""?M:void 0);return {...o,data:p,...p.type===""?{}:{mimeType:p.type},...F===void 0?{}:{filename:F},...o.conversationType==="robot"?{encrypted:false}:{},...b.localPreviewUrl===void 0?{}:{localPreviewUrl:b.localPreviewUrl},...b.localPreviewMetadata===void 0?{}:{localPreviewMetadata:b.localPreviewMetadata},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}}}function Bn(p){return p===void 0||Number.isFinite(p.width)&&p.width>0&&Number.isFinite(p.height)&&p.height>0}function An(p){return Bn(p)&&(p?.duration===void 0||Number.isFinite(p.duration)&&p.duration>0)&&(p?.posterData===void 0||p.posterData instanceof Uint8Array&&p.posterData.length>0&&p.posterData.length<=Dm)}function Dn(p){return p!==void 0&&"duration"in p&&p.duration!==void 0&&Number.isFinite(p.duration)&&p.duration>0}function Pe(p,b,M){return {ok:false,error:Z({code:p,category:b,operation:M,retryable:false,conversation:o})}}function st(p,b){if(p===null||typeof p!="object"||p.kind!==b||!Number.isSafeInteger(p.width)||p.width<=0||p.width>Vd||!Number.isSafeInteger(p.height)||p.height<=0||p.height>Vd)return false;let M;try{M=new URL(p.url);}catch{return false}if(M.protocol!=="http:"&&M.protocol!=="https:"||M.username!==""||M.password!=="")return false;let F=p.resourceId;if(F!==void 0&&(typeof F!="string"||F.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(p,"packageId");let ee=p.packageId;return typeof F=="string"&&F.trim()!==""&&typeof ee=="string"&&ee.trim()!==""}function cn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function Rr(p,b,M){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:b});throw cn(Z({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:M,retryable:false,conversation:o,details:{targetConversationType:p,targetConversationId:b}}))}async function zn(p,b,M){let F;try{F=await n.forwardMessages({messages:b,targets:M.map(ee=>({...ee}))});}catch(ee){throw cn(yt(ee,p,o))}return Y(),Object.freeze({sent:Object.freeze(F.results.flatMap(ee=>ee.ok?[{conversation:Rr(ee.targetConversationType,ee.targetConversationId,p),messageId:ee.newMessageId}]:[])),failed:Object.freeze(F.results.flatMap(ee=>ee.ok?[]:[{sourceMessageId:ee.sourceMessageId,conversation:Object.freeze({conversationType:ee.targetConversationType,conversationId:ee.targetConversationId}),error:Z({...Om[ee.reason],operation:p,conversation:{conversationType:ee.targetConversationType,conversationId:ee.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...F.skippedSourceIds])})}function Vn(p,b){let M=n.domainState.getConversationMessage(o,p);if(M===void 0){let F=n.domainState.getMessage(p);throw cn(Z({code:F===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}))}if(M.conversationType!==o.conversationType||M.conversationId!==o.conversationId)throw cn(Z({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}));return M}function ct(p,b){return cn(Z({...b,operation:p,conversation:o}))}function Vt(p,b){let M=Z({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),M,{name:"ImLocalMessageDeletionError"})}function qt(p,b){let M=Z({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),M,{name:"ImLocalConversationHistoryClearError"})}function mo(){if(I)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(w!==void 0)return w;n.invalidateHistory?.(o);let p=[...R.values()],b=Promise.all(p).then(async()=>{Y();let M=[...n.domainState.getMessagesByConversation(o),...y.window.list()];if(n.hasOutboxForConversation(o)||M.some(F=>n.isOutboxOwned(F.id)))throw qt("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(M.some(F=>F.status==="pending"||F.status==="uploading"||F.status==="sending"))throw qt("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(o),Y(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(M=>{throw M instanceof Error&&M.name==="ImLocalConversationHistoryClearError"?M:qt("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",M)}).finally(()=>{w===b&&(w=void 0);});return w=b,b}async function Wt(p,b){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(o,p);}catch(M){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:M}});}}async function Et(p,b,M,F,ee){return Se(p,async()=>{if(b==="image"){let he=await Qr(M);if(Y(),!he)return Pe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let ge=await pn(M,F);if(Y(),b!==void 0&&ge.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let he=new AbortController,Ne=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++i}`,kind:b,file:M,signal:he.signal});if(Y(),Ne===void 0||(b==="image"?!Bn(Ne):!An(Ne)))return Pe(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);ge.localPreviewMetadata=Ne;}if(b==="video"&&(n.prepareMediaPreview!==void 0||ge.localPreviewMetadata!==void 0)&&!Dn(ge.localPreviewMetadata))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let me=a.recheckSendPermissionError?.(p);if(me!==void 0)return {ok:!1,error:me};let ye=await ee({...ge,...F.filesAlbum===void 0?{}:{filesAlbum:F.filesAlbum},...F.caption===void 0||F.caption===""?{}:{caption:F.caption}});return ye.ok?(Y(),ke(ye.messageId,p)):{ok:!1,error:mr(ye.reason,p,o)}})}async function Rt(p,b){let M="messages.sendMediaAlbum";if(p.length===0)return Pe("IM_SDK_MEDIA_ALBUM_EMPTY","validation",M);if(p.length>p$1)return Pe("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",M);if(b.caption!==void 0&&Array.from(b.caption).length>o$1)return Pe("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",M);for(let F of p){if(F.file.type==="image/gif")return Pe("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",M);if(F.kind==="image"){if(F.file.size>zd)return Pe("IM_SDK_IMAGE_TOO_LARGE","validation",M);if(!Bn(F.localPreviewMetadata))return Pe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",M)}else {if(F.file.size>fa)return Pe("IM_SDK_VIDEO_TOO_LARGE","validation",M);if(!An(F.localPreviewMetadata))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",M)}}return Se(M,async()=>{for(let ye of p){if(ye.kind!=="image")continue;let he=await Qr(ye.file);if(Y(),!he)return Pe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",M)}let F=await Promise.all(p.map(async ye=>{if(ye.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return ye.localPreviewMetadata;let he=new AbortController;return n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${M}:${++i}`,kind:ye.kind,file:ye.file,signal:he.signal})}));Y();let ee=[];for(let[ye,he]of p.entries()){let Ne=F[ye];if(he.kind==="image"&&!Bn(Ne))return Pe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",M);if(he.kind==="video"){if(!An(Ne))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",M);if(n.prepareMediaPreview!==void 0&&!Dn(Ne))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",M)}let Ke="name"in he.file?he.file.name:void 0;ee.push({kind:he.kind,data:he.file,...he.file.type===""?{}:{mimeType:he.file.type},...typeof Ke=="string"&&Ke!==""?{filename:Ke}:{},...he.localPreviewUrl===void 0?{}:{localPreviewUrl:he.localPreviewUrl},...Ne===void 0?{}:{localPreviewMetadata:Ne}});}let ge=a.recheckSendPermissionError?.(M);if(ge!==void 0)return {ok:!1,error:ge};let me=await n.sendMediaAlbum({...o,items:ee,...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 me.ok?(Y(),ke(me.messageId,M)):{ok:!1,error:mr(me.reason,M,o)}})}function $t(p,b,M){let F=Vn(p,M);if(!(F.contentType===b||b==="file"&&F.contentType==="filesAlbum"&&F.body.filesAlbum?.items.length===1)||F.status!=="failed"||!(F.failure?.displayCode==="media.uploadInterrupted"||F.failure?.displayCode==="media.cancelled"||F.failure?.displayCode==="media.uploadTimeout"&&F.failure.retryable===false)||n.isOutboxOwned(p))throw cn(Z({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:M,retryable:false,conversation:o}));return F}async function Jt(p,b,M,F,ee,ge){return $t(b,M,p),Se(p,async()=>{let me=await pn(F,ee);if(M==="video"&&me.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ne=new AbortController,Ke=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${p}:${++i}`,kind:"video",file:F,signal:Ne.signal});if(Y(),Ke===void 0||!An(Ke))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);me.localPreviewMetadata=Ke;}if(M==="video"&&(n.prepareMediaPreview!==void 0||me.localPreviewMetadata!==void 0)&&!Dn(me.localPreviewMetadata))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let ye=a.recheckSendPermissionError?.(p);if(ye!==void 0)return {ok:!1,error:ye};$t(b,M,p);let he=await ge(b,{...me,...ee.caption===void 0||ee.caption===""?{}:{caption:ee.caption}});return he.ok?(Y(),ke(he.messageId,p)):{ok:!1,error:mr(he.reason,p,o)}})}let G={ref:o,getSnapshot:$e,subscribe(p){return Y(),h.add(p),()=>h.delete(p)},resolveMessage:async p=>{Y();let b=y.window.list().find(M=>M.id===p)??await n.domainState.resolveConversationMessage(o,p);return b===void 0?null:je(b)},history:{loadEntryUnread:p=>Te(p),loadLatest:async()=>V(),loadOlder:async()=>(Y(),x+=1,A("older",()=>y.window.loadOlder({limit:u}))),loadNewer:async()=>{Y(),x+=1,await A("newer",()=>y.window.loadNewer({limit:u})),Y(),y.window.info().hasNewer||(j(),rn());},loadAround:async p=>{Y();let b=++x;if(w===void 0&&o.conversationType==="channel"&&C.has(y.window)&&n.domainState.getPinnedMessage(o)?.messageId===p&&y.window.list().some(Ne=>Ne.id===p&&Ht(Ne)))return;let M=y,F=()=>!I&&x===b&&y===M,ee=()=>{if(Y(),!F())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},ge=await Ye(p,ee);if(ee(),ge===void 0||ge.anchor.conversationType!==o.conversationType||ge.anchor.conversationId!==o.conversationId)throw Rm(o,p);let me=n.domainState.createMessageWindow(g),ye=me.window,he=false;try{await A(`around:${p}:${b}`,async()=>(ee(),Pn(ye,ge,ee,!0)),{window:ye,isCurrent:F}),ee(),y=me,ge.remoteSeed!==void 0&&C.add(ye),he=!0,M.dispose(),rn();}finally{he||me.dispose();}},clearLocal:async()=>(Y(),mo())},messages:{sendText:async(p,b={})=>{Y();let M=r$1(o,p,b);if("code"in M)return {ok:false,error:M};let F=n.domainState.getDraft(o)?.updatedAt;return Se("messages.sendText",async()=>{let ee=await n.sendText(M);return Y(),await Wt(F,"messages.sendText"),ke(ee.id,"messages.sendText")},async ee=>{let ge=a.appendTextPermissionFailure?.(M);return ge===void 0?{ok:false,error:ee}:(await Wt(F,"messages.sendText"),{ok:true,message:Kt(ge)})})},sendContact:async(p,b={})=>{Y();let M=p.targetId.trim(),F=p.displayName.trim();if(M===""||F==="")return {ok:false,error:Z({code:M===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:o})};let ee={...o,contact:{...p,targetId:M,displayName:F},encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return Se("messages.sendContact",async()=>{let ge=await n.sendContact(ee);return ke(ge.id,"messages.sendContact")})},sendImage:async(p,b={})=>(Y(),p.size>zd?Pe("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?Pe("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):Bn(b.localPreviewMetadata)?Et("messages.sendImage","image",p,b,n.sendImage):Pe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,b={})=>(Y(),Rt(p,b)),sendVideo:async(p,b={})=>(Y(),p.size>fa?Pe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):An(b.localPreviewMetadata)?Et("messages.sendVideo","video",p,b,n.sendVideo):Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,b,M={})=>(Y(),b.size>fa?Pe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):An(M.localPreviewMetadata)?Jt("messages.replaceInterruptedVideo",p,"video",b,M,n.replaceVideo):Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(p,b)=>(Y(),Se("messages.sendVoice",async()=>{let M=await pn(p,b),F=a.recheckSendPermissionError?.("messages.sendVoice");if(F!==void 0)return {ok:!1,error:F};let ee=await n.sendVoice({...M,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return ee.ok?(Y(),ke(ee.messageId,"messages.sendVoice")):{ok:!1,error:mr(ee.reason,"messages.sendVoice",o)}})),sendFile:async(p,b={})=>{if(Y(),p.size>jd)return Pe("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&Array.from(b.caption).length>o$1)return Pe("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let M=b.fileName??("name"in p?p.name:void 0);return typeof M!="string"||M.trim()===""?Pe("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):Et("messages.sendFile",void 0,p,b,n.sendFile)},sendGif:async(p,b={})=>(Y(),p.size>wm?Pe("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await km(p)?Et("messages.sendGif",void 0,p,b,M=>n.sendGif(M)):Pe("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,b={})=>(Y(),st(p,"sticker")?Se("messages.sendSticker",async()=>{let M=await n.sendExpression({...o,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendSticker")}):Pe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,b={})=>(Y(),st(p,"gif")?Se("messages.sendGifAsset",async()=>{let M=await n.sendExpression({...o,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendGifAsset")}):Pe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,b={})=>(Y(),p!=="rock-paper-scissors"&&p!=="dice"?Pe("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):Se("messages.sendGame",async()=>{let M=await n.sendGame({...o,gameType:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendGame")})),sendMiniProgram:async(p,b={})=>(Y(),t$1(p)?Se("messages.sendMiniProgram",async()=>{let M=await n.sendMiniProgram({...o,miniProgram:p,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendMiniProgram")}):Pe("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,b={})=>(Y(),o.conversationType==="channel"||o.conversationType==="robot"?Pe("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(p)?Se("messages.sendTransfer",async()=>{let M=await n.sendTransfer({...o,transfer:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendTransfer")}):Pe("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,b={})=>(Y(),o.conversationType==="channel"||o.conversationType==="robot"?Pe("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):r(p)?Se("messages.sendGift",async()=>{let M=await n.sendGift({...o,gift:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return ke(M.id,"messages.sendGift")}):Pe("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(p,b)=>{Y(),Vn(p,"messages.toggleReaction");let M=await n.setReaction({conversation:o,parentMessageId:p,emoji:b,action:"toggle"});if(Y(),!M.ok)throw ct("messages.toggleReaction",Bd[M.reason]);return Object.freeze({messageId:p,eventId:M.event.id,emoji:M.event.emoji,action:M.event.action===0?"add":"remove"})},setReaction:async(p,b,M)=>{Y(),Vn(p,"messages.setReaction");let F=await n.setReaction({conversation:o,parentMessageId:p,emoji:b,action:M});if(Y(),!F.ok)throw ct("messages.setReaction",Bd[F.reason]);return Object.freeze({messageId:p,eventId:F.event.id,emoji:F.event.emoji,action:F.event.action===0?"add":"remove"})},replaceInterruptedFile:async(p,b,M={})=>{if(Y(),b.size>jd)return Pe("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(M.caption!==void 0&&M.caption!=="")return Pe("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let F=M.fileName??("name"in b?b.name:void 0);return typeof F!="string"||F.trim()===""?Pe("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Jt("messages.replaceInterruptedFile",p,"file",b,{...M,fileName:F},n.replaceFile)},editText:async(p,b,M={})=>{Y(),Vn(p,"messages.editText");let F=d(o,p,b,M);if("code"in F)throw cn(F);let ee;try{ee=await n.editMessage(F);}catch(ge){throw cn(yt(ge,"messages.editText",o))}if(Y(),!ee.ok)throw ct("messages.editText",Em[ee.reason]);return Kt(Vn(p,"messages.editText"))},recall:async p=>{Y(),Vn(p,"messages.recall");let b;try{b=await n.recallMessage({...o,messageId:p});}catch(M){throw cn(yt(M,"messages.recall",o))}if(Y(),!b.ok)throw ct("messages.recall",Am[b.reason])},deleteLocal:async p=>{Y();let b=n.domainState.getConversationMessage(o,p);if(n.isOutboxOwned(p))throw Vt("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===o.conversationType&&b.conversationId===o.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw Vt("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(o);let M=await n.domainState.deleteLocalMessage(o,p);return Y(),Object.freeze({scope:"local-only",messageId:p,deleted:M,remoteHistory:"remote-history-may-restore"})}catch(M){throw M instanceof Error&&M.name==="ImLocalMessageDeletionError"?M:Vt("IM_SDK_LOCAL_DELETE_FAILED",M)}},forward:async(p,b)=>{if(Y(),p.length===0||b.length===0)throw cn(Z({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:o}));return zn("messages.forward",p.map(M=>({id:M,...o})),b)},forwardMediaAlbumItem:async(p,b,M)=>{Y();let F="messages.forwardMediaAlbumItem";if(p.trim()===""||M.length===0)throw cn(Z({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:F,retryable:false,conversation:o}));if(!Number.isInteger(b)||b<0)throw cn(Z({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:F,retryable:false,conversation:o,details:{itemIndex:b}}));return zn(F,[{id:p,...o,itemIndex:b}],M)},fetchByIds:async p=>{Y();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw cn(Z({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:o}));let M=n.beginReceiving?.();try{let F=await Kd({messageIds:p,fetchBatch:b,isCurrent:()=>!I,projectMessage:je});return Object.freeze({messages:Object.freeze([...F.messages]),missingMessageIds:Object.freeze([...F.missingMessageIds]),unresolvedMessageIds:Object.freeze([...F.unresolvedMessageIds]),...F.failure===void 0?{}:{failure:Object.freeze(F.failure)}})}finally{M?.();}}},draft:{get:async()=>(Y(),n.drafts.get(o)),save:async p=>(Y(),n.drafts.save(o,p)),clear:async()=>{Y(),await n.drafts.clear(o);},subscribe(p){return Y(),f.add(p),()=>f.delete(p)}},markRead:async p=>{Y();let b=y.window.list();if(p!==void 0&&!b.some(F=>F.id===p))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${p}`);let M=a.resolveReadMessageId===void 0?p??b.at(-1)?.id:a.resolveReadMessageId(b,p);M!==void 0&&await n.markRead({...o,readCursor:M});},markConversationRead:async()=>{if(Y(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=se,b=await Ue();if(Y(),p!==se)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(o.conversationType==="channel"&&b===void 0&&y.window.list().length>0)throw new Error("\u5F53\u524D\u9891\u9053\u7F3A\u5C11\u53EF\u4FE1\u7684\u6700\u65B0\u5DF2\u8BFB\u6D88\u606F");if(b!==void 0&&n.domainState.getConversationMessage(o,b)===void 0){let M=q?.id===b?q:void 0;if(M===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");z??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let F=await z.window.openAt(o,{anchorSortKey:M.sortKey,limit:u,seedMessages:[M],seedHasNewer:false});if(Y(),F.stale||p!==se)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(o,b);},markVisibleMessages:async p=>{if(Y(),n.markVisibleMessages===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u80FD\u529B");let b=[...new Set(p)];if(b.some(M=>!y.window.list().some(F=>F.id===M)))throw new Error("\u53EF\u89C1\u56DE\u6267\u5305\u542B\u5F53\u524D\u8FDE\u7EED\u7A97\u53E3\u4E4B\u5916\u7684\u6D88\u606F");b.length>0&&await n.markVisibleMessages(o,b);},setMuted:async p=>(Y(),n.setMuted(o,p)),close(){I||(I=true,re.abort(),x+=1,On(),h.clear(),f.clear(),z?.dispose(),y.dispose());}};return ga.set(G,{getMessages:()=>(Y(),y.window.list()),resolveMessage:async p=>(Y(),y.window.list().find(b=>b.id===p)??n.domainState.resolveConversationMessage(o,p))}),G}var xm=5e3;async function qd(e,n,r={}){let d=false,a,c;function o(){let C=Date.now();if(a!==void 0&&C-a.checkedAt<xm)return Promise.resolve(a.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(f=>(a={value:f,checkedAt:Date.now()},f)).catch(f=>(d=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:f}}),a={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===h&&(c=void 0);});return c=h,h}async function u(C){if(!n.shouldCheckRelationship())return;let h=await o();if(h!=="friend"){if(h==="unknown"){d||(d=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:h}}}));return}return Z({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&o();let g=await lo(e,n,(C,h,f)=>f.mentions!==void 0&&f.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:h,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(C,h,f,R)=>R.mentions!==void 0&&R.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:h,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),y={...g,messages:{...g.messages,async markMediaConsumed(C){let h=n.domainState.getConversationMessage(e,C);if(h===void 0||h.senderId===n.getSelfId()||h.contentType!=="voice"&&h.contentType!=="video"){let f=Z({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,C);}}};return co(y,g),y}async function Wd(e,n,r={}){return lo(e,n,(d,a,c)=>{let o=Ar(c.mentions);return {...d,text:a,encrypted:true,...o===void 0?{}:{mention:o},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,a,c,o)=>{let u=Ar(o.mentions);return {...d,messageId:a,text:c,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&Jd(d,n.pageSize??30)},r)}async function $d(e,n,r={}){return lo(e,n,(d,a,c)=>c.mentions!==void 0&&c.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:a,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,a,c,o)=>o.mentions!==void 0&&o.mentions.length>0?Z({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:a,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Nm=new Set(["pending","uploading","sending"]);function Jd(e,n){return e.length<n}function Ht(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Lm(e,n,r){let d=r===void 0?e.length-1:e.findIndex(o=>o.id===r),a=e[d];if(a===void 0||Ht(a))return a?.id;let c=e.slice(0,d).findLast(o=>Ht(o));return c!==void 0?c.id:a.senderId===n&&Nm.has(a.status)?void 0:a.id}function Fm(e,n){let r=false;for(let d of e){let a=d.body.system;if(!(d.conversationType!=="channel"||a?.targetUserIds?.includes(n)!==true)){if(a.eventType==="channel_member_left"||a.eventType==="channel_member_removed"){r=true;continue}if(r&&(a.eventType==="channel_member_joined"||a.eventType==="channel_member_invited"))return true}}return false}async function Yd(e,n,r={}){let d=await lo(e,n,(c,o,u)=>{let g=Ar(u.mentions);return {...c,text:o,encrypted:true,...g===void 0?{}:{mention:g},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,o,u,g)=>{let y=Ar(g.mentions);return {...c,messageId:o,text:u,...y===void 0?{}:{mention:y}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&Jd(c,n.pageSize??30)||Fm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,o)=>Lm(c,n.getSelfId(),o)},r),a={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw Hd(e,Gd["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(g){let y=yt(g,"messages.deleteForEveryone",e);throw Object.assign(new Error(y.code,{cause:g}),y)}if(!u.ok)throw Hd(e,Gd[u.reason])}}};return co(a,d),a}var Um=40,Km=100,Bm=0;function at(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Gm(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Xd(e){let n=++Bm,r=new Map,d=new Map,a=new Map,c=new Map,o=new Map,u=0,g=true;function y(){if(!g)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(I){let D=I??Um;if(!Number.isSafeInteger(D)||D<1||D>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return D}function h(I){let D=`im-directory:${n}:${++u}`;return r.set(D,I),D}function f(I,D){let s=o.get(I);s===void 0&&(s=new Map,o.set(I,s));let i=D.map(m=>Object.freeze({...m}));for(let m of i)s.set(m.id,m);return Object.freeze(i)}async function R(I,D,s){if(y(),e.provider===void 0)throw new Error(`${at(I)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let i=await e.provider.list({kind:I,page:D,pageSize:s});if(y(),i.exhausted===(i.nextPage!==void 0))throw new Error(`${at(I)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let m=i.nextPage===void 0?void 0:h({kind:I,page:i.nextPage,pageSize:s}),E=f(I,i.items);return Object.freeze({items:E,...m===void 0?{}:{nextPageToken:m},exhausted:i.exhausted})}function w(I){return {listFirstPage:D=>R(I,1,C(D?.pageSize)),listNextPage:D=>{y();let s=r.get(D);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==I)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${at(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${at(I)}`));let i=d.get(D);if(i!==void 0)return i;let m=R(I,s.page,s.pageSize).then(E=>(r.delete(D),E)).finally(()=>{d.delete(D);});return d.set(D,m),m}}}function S(I){y();let D=a.get(I);if(D!==void 0)return Promise.resolve(D);let s=c.get(I);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${at(I)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let i=(async()=>{let m=[],E=new Map,_=new Set,U=1;for(;;){if(y(),_.has(U))throw new Error(`${at(I)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);_.add(U);let W=await e.provider.list({kind:I,page:U,pageSize:Km});if(y(),W.exhausted===(W.nextPage!==void 0))throw new Error(`${at(I)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let de of W.items)E.has(de.id)||m.push(de.id),E.set(de.id,de);if(W.nextPage===void 0)break;if(!Number.isSafeInteger(W.nextPage)||W.nextPage<1)throw new Error(`${at(I)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);U=W.nextPage;}let Q=f(I,m.map(W=>E.get(W)));return y(),a.set(I,Q),Q})().finally(()=>{c.delete(I);});return c.set(I,i),i}async function N(I){if(y(),I.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[D,s,i,m]=await Promise.all([S("individual"),S("group"),S("channel"),ha(I)]);y();function E(U,Q){let W=[];for(let de of Q){let Ie=de==="displayName"?U.displayName:de==="username"?U.username:U.id;if(Ie===void 0||Ie==="")continue;let v=m.match(Ie,{pinyin:de==="displayName"});v!==null&&W.push(Gm(de,v));}return W.length===0?null:Object.freeze({item:U,matches:Object.freeze(W)})}function _(U,Q){return Object.freeze(U.flatMap(W=>{let de=E(W,Q);return de===null?[]:[de]}))}return Object.freeze({keyword:m.keyword,contacts:_(D,["displayName","username","id"]),groups:_(s,["displayName"]),channels:_(i,["displayName"])})}return {contacts:w("individual"),groups:w("group"),channels:w("channel"),search:{search:N},peekItem:(I,D)=>(y(),o.get(I)?.get(D)),dispose:()=>{g=false,r.clear(),d.clear(),a.clear(),c.clear(),o.clear();}}}function Hm(e){if(e.conversationType==="supergroup")throw Z({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw Z({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function uo(e){return Hm(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function jm(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw Z({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 Qd(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(a){return r(),e.domainState.getDraft(uo(a))},async save(a,c){r();let o=uo(a);return e.domainState.saveDraft(o,jm(o,c))},async clear(a){r(),await e.domainState.clearDraft(uo(a));},subscribe(a,c){r();let o=uo(a),u=e.emitter.subscribe(y=>{y.type!=="draft:updated"&&y.type!=="draft:cleared"||y.conversation.conversationType!==o.conversationType||y.conversation.conversationId!==o.conversationId||c(y.type==="draft:updated"?y.draft:null);}),g=()=>{u(),n.delete(g);};return n.add(g),g}},dispose(){for(let a of [...n])a();}}}var zm=20,Zd=50,el=30,nl=4294967295;function Pt(e){let n=Z(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function In(e,n){return Pt({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function tl(e,n){if(n instanceof x$1)return Pt({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof y$1)return Pt({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return Pt({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof c||n instanceof z$1){let r=n instanceof z$1?n.status:void 0;return Pt({code:n instanceof z$1?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:r===void 0||r===0||r===408||r===429||r>=500,...r===void 0?{}:{details:Object.freeze({status:r})},cause:n})}return Pt({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function Xn(e,n,r){if(typeof e!="string"||e.trim()==="")throw In(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Vm(e,n){if(typeof e!="string"||e.trim()==="")throw new y$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function qm(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw In(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Wm(e,n,r){let d=Xn(e,n,r),a;try{a=new URL(d);}catch{throw In(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(a.protocol!=="https:"&&a.protocol!=="http:")throw In(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(a.username!==""||a.password!=="")throw In(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function rl(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>nl)throw In(r,`${n} \u5FC5\u987B\u662F 1-${nl} \u7684\u6574\u6570`);return Number(e)}function cl(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw In(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:Wm(e.url,"url",n),width:rl(e.width,"width",n),height:rl(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:Xn(e.packageId,"packageId",n),resourceId:Xn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw In(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:Xn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function $m(e,n){if(e===null||typeof e!="object")throw In(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:Xn(e.token,"token",n),resourceId:Xn(e.resourceId,"resourceId",n)}:cl(e,n)}function Jm(e,n){if(e!=="sticker"&&e!=="gif")throw In(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Ym(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw In(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function ol(e,n){if(!Array.isArray(e))throw In(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>Xn(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw In(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>el)throw In(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${el} \u4E2A id`);return r}function al(e,n){let r=e?.offset??0,d=e?.pageSize??zm;if(!Number.isSafeInteger(r)||r<0)throw In(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>Zd)throw In(n,`pageSize \u5FC5\u987B\u662F 1-${Zd} \u7684\u6574\u6570`);return {offset:r,limit:d}}function il(e){return Object.freeze({...e})}function Xm(e){return Object.freeze({...e})}function sl(e){let n=Object.freeze(e.items.map(r=>Object.freeze({...r})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function dl(e){function n(a){if(!e.isActive())throw Pt({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:a,retryable:false})}async function r(a,c){if(n(a),e.provider===void 0)throw tl(a,new x$1("core"));let o;try{o=await c(e.provider);}catch(u){throw n(a),tl(a,u)}return n(a),o}let d={packs:Object.freeze({list:async a=>{let c="expressions.packs.list",o=a?.version===void 0?void 0:qm(a.version,"version",c),u=await r(c,y=>y.listStickerPacks(o)),g=Object.freeze(u.items.map(y=>Object.freeze({...y})));return Object.freeze({version:u.version,items:g})},listItems:async a=>{let c="expressions.packs.listItems",o=Xn(a,"packageId",c),u=await r(c,g=>g.listStickerItems(o));return Object.freeze(u.map(il))}}),favorites:Object.freeze({list:async a=>{let c="expressions.favorites.list",o=await r(c,u=>u.listFavorites(Jm(a,c)));return Object.freeze(o.map(il))},add:async a=>{let c="expressions.favorites.add",o=cl(a,c);await r(c,u=>u.addFavorite(o));},delete:async a=>{let c="expressions.favorites.delete",o=ol(a,c);await r(c,u=>u.deleteFavorites(o));}}),recent:Object.freeze({list:async a=>{let c="expressions.recent.list",o=await r(c,u=>u.listRecent(Ym(a,c)));return Object.freeze(o.map(Xm))},report:async a=>{let c="expressions.recent.report",o=$m(a,c);await r(c,u=>u.reportRecent(o));},delete:async a=>{let c="expressions.recent.delete",o=ol(a,c);await r(c,u=>u.deleteRecent(o));}}),reactions:Object.freeze({listTop:async a=>{let c="expressions.reactions.listTop",o=a?.limit;if(o!==void 0&&(!Number.isSafeInteger(o)||o<1||o>50))throw In(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let g=await u.listReactionTop(o);if(!Array.isArray(g))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(g.map(y=>Vm(y,"reaction emoji")))})},report:async a=>{let c="expressions.reactions.report",o=Xn(a,"emoji",c);await r(c,u=>u.reportReaction(o));}}),giphy:Object.freeze({trending:async a=>{let c="expressions.giphy.trending",o=await r(c,u=>u.listGiphyTrending(al(a,c)));return sl(o)},search:async(a,c)=>{let o="expressions.giphy.search",u=Xn(a,"query",o),g=await r(o,y=>y.searchGiphy({query:u,...al(c,o)}));return sl(g)}})};return {api:Object.freeze(d)}}function At(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?Z({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):Z({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function ll(e){return {createRoom(n){At("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){At("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){At("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){At("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){At("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){At("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){At("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Qm=0;function ul(e){return Object.freeze({id:e.id,displayName:e.displayName,...e.username===void 0?{}:{username:e.username},...e.avatarUrl===void 0?{}:{avatarUrl:e.avatarUrl},...e.bound===void 0?{}:{bound:e.bound}})}function Zm(e){if(e.kind==="catalog")return Object.freeze({kind:"catalog"});let n=e.conversationId.trim();if(n==="")throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 conversationId \u4E0D\u80FD\u4E3A\u7A7A");return Object.freeze({kind:"conversation",conversationType:e.conversationType,conversationId:n,...e.filter===void 0?{}:{filter:e.filter}})}function ef(e){let n={page:e.page,pageSize:e.pageSize,...e.keyword===""?{}:{keyword:e.keyword}};return e.scope.kind==="catalog"?n:{...n,groupId:e.scope.conversationId,groupType:e.scope.conversationType==="group"?1:2,...e.scope.filter==="bound"?{boundOnly:true}:{}}}function pl(e){let n=e.robotId.trim(),r=e.conversationId.trim();if(n==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(r==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.conversationType!=="group"&&e.conversationType!=="channel")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA\u53EA\u652F\u6301\u7FA4\u7EC4\u548C\u793E\u7FA4");return Object.freeze({robotId:n,conversationType:e.conversationType,conversationId:r})}function nf(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function ml(e){let n=++Qm,r=new Map,d=new Map,a=new Map,c=0,o=true;function u(){if(!o)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function g(S){let N=S??20;if(!Number.isSafeInteger(N)||N<1||N>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return N}function y(S){let N=`im-robots:${n}:${++c}`;return r.set(N,S),N}function C(S){return Object.freeze(S.map(N=>{let I=ul(N);return a.set(I.id,I),I}))}function h(S,N){let I=a.get(S);I!==void 0&&a.set(S,ul({id:I.id,displayName:I.displayName,...I.username===void 0?{}:{username:I.username},...I.avatarUrl===void 0?{}:{avatarUrl:I.avatarUrl},bound:N}));}async function f(S,N){u();let I=N?e.bind:e.unbind;if(I===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await I(nf(S)),u(),h(S.robotId,N);}async function R(S){if(u(),e.search===void 0)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let N=await e.search(ef(S));u();let I=C(N.items),D=N.exhausted?void 0:y({...S,page:S.page+1});return Object.freeze({items:I,...D===void 0?{}:{nextPageToken:D},exhausted:N.exhausted})}return {api:{listFirstPage:S=>{try{let N=Zm(S?.scope??{kind:"catalog"});return R({page:1,pageSize:g(S?.pageSize),keyword:S?.keyword?.trim()??"",scope:N})}catch(N){return Promise.reject(N)}},listNextPage:S=>{u();let N=r.get(S);if(N===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let I=d.get(S);if(I!==void 0)return I;let D=R(N).then(s=>(r.delete(S),s)).finally(()=>{d.delete(S);});return d.set(S,D),D},bindToConversation:S=>{try{return f(pl(S),!0)}catch(N){return Promise.reject(N)}},unbindFromConversation:S=>{try{return f(pl(S),!1)}catch(N){return Promise.reject(N)}}},peek:S=>{let N=S.trim();return N===""?void 0:a.get(N)},dispose:()=>{o=false,r.clear(),d.clear(),a.clear();}}}var tf=30,rf=300*1e3,of=64,af=900*1e3,sf=2048,cf=0;function df(e,n){let r=e.contentType==="text"||e.contentType==="mediaAlbum"?n:e.contentType==="filesAlbum"?e.body.filesAlbum?.caption:void 0;if(r===void 0||r==="")return Object.freeze([Object.freeze({kind:"plain",text:n})]);let d=e.mention,a=[Object.freeze({kind:"rich-text",text:r,...d===void 0?{}:{mention:Object.freeze({atAll:d.atAll,atUserIds:[...d.atUserIds],...d.atUsersName===void 0?{}:{atUsersName:Object.freeze({...d.atUsersName})}})}})];return r.length<n.length&&a.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(a)}function Qn(e){let n=Z({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 fl(e){let n=e.now??(()=>Date.now()),r=e.pageSize??tf,d=e.tokenTtlMs??rf,a=e.maxTokens??of,c=e.anchorTtlMs??af,o=e.maxAnchors??sf;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(a)||a<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(o)||o<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++cf,g=new Map,y=new Map,C=0,h=true;function f(v){if(!h)throw Qn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:v,retryable:false});if(e.isAvailable?.()===false)throw Qn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:v,retryable:false})}function R(v,L){let P=v.trim();if(P==="")throw Qn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:L,retryable:false});return P}function w(v){let L=`im-search:${u}:${++C}`;for(g.set(L,{...v,expiresAt:n()+d});g.size>a;){let P=g.keys().next().value;if(typeof P!="string")break;g.delete(P);}return L}function S(v,L){return JSON.stringify([v.conversationType,v.conversationId,L])}function N(v){for(let[L,P]of y)P.expiresAt<=v&&y.delete(L);}function I(v,L){let P=Object.freeze({conversationType:v.conversationType,conversationId:v.conversationId}),K=S(P,v.id);for(y.delete(K),y.set(K,{anchor:Object.freeze({id:v.id,conversationType:v.conversationType,conversationId:v.conversationId,sortKey:v.sortKey}),expiresAt:L+c});y.size>o;){let x=y.keys().next().value;if(typeof x!="string")break;y.delete(x);}}function D(v,L){let P=L==="conversation"?"search.conversations.next":"search.messages.next";f(P);let K=g.get(v);if(K===void 0||K.expiresAt<=n())throw g.delete(v),Qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:P,retryable:false});if(K.kind!==L)throw Qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:P,retryable:false});return K}function s(v){let L=v.draft?.text.trim();return L===void 0||L===""?v.lastMessagePreview:L}function i(v){let L=Object.freeze({conversationType:v.type,conversationId:v.id});return Object.freeze({ref:L,title:v.title,preview:s(v)})}function m(v,L){let P=Object.freeze(v.slice(L,L+r)),K=L+P.length,x=K>=v.length,J=x?void 0:w({kind:"conversation",items:v,offset:K});return Object.freeze({items:P,...J===void 0?{}:{nextPageToken:J},exhausted:x})}async function E(v,L,P){f(P);let K=R(L,P).toLowerCase(),x=Object.freeze(e.domainState.getConversationList().filter(J=>(J.type==="direct"||J.type==="group"||J.type==="channel"||J.type==="robot")&&(v===void 0||J.type===v)&&`${J.title}
|
|
2
|
+
${J.id}`.toLowerCase().includes(K)).map(i));return m(x,0)}function _(v,L,P){let K=v.conversationId.trim();if(v.conversationType!==L||K==="")throw Qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:P,retryable:false});return Object.freeze({conversationType:L,conversationId:K})}function U(v,L){let P=v.conversationType,K=v.conversationId.trim();if(P!=="direct"&&P!=="group"&&P!=="channel"&&P!=="robot"||K==="")throw Qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:P==="supergroup"?"unsupported":"validation",operation:L,retryable:false});return Object.freeze({conversationType:P,conversationId:K})}async function Q(v){f("search.messages");let L;try{L=await e.domainState.searchMessages(v.ref,{...v.keyword===void 0?{}:{keyword:v.keyword},...v.contentTypes===void 0?{}:{contentTypes:v.contentTypes},limit:r,...v.beforeSortKey===void 0?{}:{beforeSortKey:v.beforeSortKey}});}catch(se){throw Qn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:se})}let P=new Set,K=[],x=n();N(x);for(let{message:se}of L.results){if(se.conversationType!==v.ref.conversationType||se.conversationId!==v.ref.conversationId||se.sortKey.trim()===""||v.contentTypes!==void 0&&!v.contentTypes.includes(se.contentType))throw Qn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(P.has(se.id))continue;P.add(se.id),I(se,x);let k$1=fa$2(se);K.push(Object.freeze({ref:v.ref,messageId:se.id,senderId:se.senderId,createdAt:k(se),contentType:se.contentType,preview:k$1,previewParts:df(se,k$1)}));}let J=L.nextBeforeSortKey?.trim();if(!L.exhausted&&(J===void 0||J==="")||L.exhausted&&J!==void 0)throw Qn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let be=J===void 0?void 0:w({kind:"message",ref:v.ref,...v.keyword===void 0?{}:{keyword:v.keyword},...v.contentTypes===void 0?{}:{contentTypes:v.contentTypes},beforeSortKey:J});return Object.freeze({items:Object.freeze(K),...be===void 0?{}:{nextPageToken:be},exhausted:L.exhausted})}async function W(v,L,P,K){f(K);let x=_(v,L,K);return Q({ref:x,keyword:R(P,K)})}async function de(v,L,P,K){f(P);let x=U(v,P),J=K?.trim();return Q({ref:x,...J===void 0||J===""?{}:{keyword:J},contentTypes:Object.freeze([L])})}return {api:{conversations:{all:v=>E(void 0,v,"search.conversations.all"),direct:v=>E("direct",v,"search.conversations.direct"),groups:v=>E("group",v,"search.conversations.groups"),channels:v=>E("channel",v,"search.conversations.channels"),async next(v){let L=D(v,"conversation");return m(L.items,L.offset)}},messages:{inDirect:(v,L)=>W(v,"direct",L,"search.messages.inDirect"),inGroup:(v,L)=>W(v,"group",L,"search.messages.inGroup"),inChannel:(v,L)=>W(v,"channel",L,"search.messages.inChannel"),inRobot:(v,L)=>W(v,"robot",L,"search.messages.inRobot"),texts:async(v,L)=>(f("search.messages.texts"),de(v,"text","search.messages.texts",R(L,"search.messages.texts"))),files:(v,L)=>de(v,"file","search.messages.files",L),images:v=>de(v,"image","search.messages.images"),videos:v=>de(v,"video","search.messages.videos"),voices:v=>de(v,"voice","search.messages.voices"),async next(v){let L=D(v,"message");return Q(L)}}},resolveHistoryAnchor(v,L){if(!h||e.isAvailable?.()===false)return;let P=S(v,L),K=y.get(P);if(K!==void 0){if(K.expiresAt<=n()){y.delete(P);return}return K.anchor}},dispose(){h&&(h=false,g.clear(),y.clear());}}}function gl(e){let n=new Map,r=new Set,d=new Map,a=new Set,c=false,o=e.schedule??(C=>{let h=setTimeout(C,120);return ()=>clearTimeout(h)});function u(C,h,f){try{e.report(C,h,f);}catch{}}async function g(C){let h={conversationType:"channel",conversationId:C};r.add(C);try{for(let f=0;f<2;f+=1){let R=n.get(C);if(c||!e.isActive()||R===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(C);return}if(e.domainState.hasPendingChannelRead(h)){a.add(C),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(C),e.domainState.getReadState(h)?.readCursor!==R)return;let S=e.domainState.getChannelReadRevision(h),N=Date.now(),I;try{I=await e.loadSummary({channelId:C,readCursor:R});}catch(D){!c&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-N,errorName:D instanceof Error?D.name:"Unknown",errorCode:typeof D=="object"&&D!==null&&"code"in D&&typeof D.code=="string"?D.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==S){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(C)||n.set(C,R),a.add(C);return}if(f===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===R){n.set(C,R);continue}return}if(I===void 0||I.readCursor!==R){u("channel-read-summary-discarded",h,{reason:I===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,I),n.get(C)===R&&n.delete(C),u("channel-read-summary-applied",h,{unreadCount:I.unreadCount,durationMs:Date.now()-N});return}}finally{r.delete(C),n.has(C)&&!a.has(C)&&y(C);}}function y(C){c||a.has(C)||r.has(C)||d.has(C)||d.set(C,o(()=>{d.delete(C),g(C);}));}return {settled(C){a.delete(C.channelId),n.has(C.channelId)&&y(C.channelId);},request(C){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||a.delete(C.channelId),n.set(C.channelId,C.readCursor),y(C.channelId));},dispose(){c=true;for(let C of d.values())C();d.clear(),n.clear(),a.clear();}}}function po(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let r={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},...n.resolvedKeyVersion===void 0?{}:{resolvedKeyVersion:n.resolvedKeyVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(r).length===0?{}:{safeProtocolMetadata:r}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function yl(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function a(c){if(c?.throwIfAborted(),r){let o=new Error("\u8D26\u53F7\u5DF2\u91CA\u653E\uFF0C\u540E\u53F0\u5DE5\u4F5C\u505C\u6B62\u7B49\u5F85");throw o.name="AbortError",o}}return {enterForeground(){if(r)return ()=>{};let c=Symbol("foreground-work");return e.add(c),()=>{e.delete(c)&&e.size===0&&d();}},async waitForBackground(c){for(a(c);e.size>0;)await new Promise(o=>{let u=()=>{n.delete(u),c?.removeEventListener("abort",u),o();};n.add(u),c?.addEventListener("abort",u,{once:true});}),a(c);},dispose(){r=true,e.clear(),d();}}}function Il(e,n){return {prepareLocalMediaPreview:async a=>{let c=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:c.width,height:c.height,...c.duration===void 0?{}:{duration:c.duration},...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}:{width:c.width,height:c.height}},prepareLocalVideoPoster:async a=>{let c=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:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function vl(e){let n=false,r=false,d,a;function c(){return !n||r||!e.isActive()?Promise.resolve():(a??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(o=>{!r&&e.isActive()&&e.onError(o);}).finally(()=>{a=void 0;}),a)}return {start(){n||r||(n=true,d=setInterval(()=>{c();},300*1e3),c());},run:c,async dispose(){r=true,d!==void 0&&clearInterval(d),d=void 0,await a;}}}function hl(e){let n,r,d=false,a=false,c=new AbortController;function o(){if(!n||!a||d)throw new ab$1("unavailable");return n}return {port:{get:async(...g)=>o().get(...g),list:async()=>o().list(),save:async g=>o().save(g),remove:async(...g)=>o().remove(...g),clear:async()=>o().clear(),drain:async()=>n?.drain(),fingerprint:async(...g)=>o().fingerprint(...g),acquireLease:async g=>o().acquireLease(g),close:async()=>n?.close()},prepare(g){return d?Promise.reject(new ab$1("unavailable")):(r??=(async()=>{n=bb$1({namespaceFactory:e,accountId:g}),await n.acquireLease(c.signal),await n.list(),c.signal.throwIfAborted(),a=true;})(),r)},async prune(){a&&!d&&await o().list();},async dispose(g){if(d=true,c.abort(),await r?.catch(()=>{}),!!n)try{g||await n.clear();}finally{await n.close();}}}}function Cl(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let a of [...r])a();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((a,c)=>{function o(){r.delete(u),d.removeEventListener("abort",g);}function u(){o(),a();}function g(){o(),c(d.reason);}r.add(u),d.addEventListener("abort",g,{once:true});})}}}function bl(e){function n(u){let g=0n;for(let y=0;y<10;y++){let C=u+y,h=e[C];if(h===void 0)return {ok:false,kind:"truncated-varint"};if(g|=BigInt(h&127)<<BigInt(y*7),(h&128)===0)return {ok:true,nextOffset:C+1,value:g}}return {ok:false,kind:"invalid-varint"}}let r=[],d,a=0;function c(u,g,y){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:g,protobufFailureOffset:y,protobufBytesRemaining:Math.max(0,e.length-y)}}function o(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;a<e.length;){let u=a,g=n(u);if(!g.ok)return c(g.kind==="truncated-varint"?"truncated":"invalid",g.kind==="truncated-varint"?"truncated-tag":g.kind,u);let y=Number(g.value>>3n),C=Number(g.value&0x07n);if(!Number.isSafeInteger(y)||y<=0)return c("invalid","invalid-field-number",u);if(a=g.nextOffset,C===0){let h=a,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,h);a=f.nextOffset;}else if(C===1){if(e.length-a<8)return c("truncated","truncated-fixed64",a);a+=8;}else if(C===2){let h=a,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,h);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",h);a=f.nextOffset;let R=Number(f.value);if(R>e.length-a)return c("truncated","truncated-length-delimited",a);a+=R;}else if(C===5){if(e.length-a<4)return c("truncated","truncated-fixed32",a);a+=4;}else return c("invalid","invalid-wire-type",u);o(y);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function ya(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let d=Symbol("receiving");return n.add(d),n.size===1&&e(true),()=>{n.delete(d)&&n.size===0&&e(false);}},dispose(){r=true;let d=n.size>0;n.clear(),d&&e(false);}}}function Ml(e){return async(n,r)=>{r.throwIfAborted();let d=await e.authProvider.getLoginContext();if(r.throwIfAborted(),d===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");let a=[],c=[],o=C=>{c.push({...C,source:"history"});},u=C=>{a.push(C);};if(n.conversationType==="group"){let C={...e.groupDecrypt(),onDecryptRecovery:o},h=Date.now(),f=await Ha({http:e.http,userId:d.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:h,direct:1,limit:30,decryptDeps:C,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let R=Pr({conversationId:n.conversationId,direction:"older",baseTime:h,batchSize:f.batchSize,boundaryTime:f.oldestEntryTime,limit:30});return {messages:f.messages,reactions:a,recoveries:c,...R}}let g={...e.channelDecrypt(),onDecryptRecovery:o},y=await za({http:e.http,userId:d.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:g,prepareKey:C=>e.prepareChannelKeys([C]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:y.messages,reactions:a,recoveries:c,exhausted:!y.hasOlder,...y.nextCursor===void 0?{}:{nextCursor:y.nextCursor}}}}var lf=5*6e4,uf=1440*6e4,Er=2*1024*1024,Sl=20,jt=class extends Error{constructor(r){super(r);this.reason=r;}reason};function it(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function pf(e,n){let r=new TextEncoder,d=new WeakSet,a=0,c=0,o=performance.now();async function u(){++c%64===0&&performance.now()-o>=4&&(await n(),o=performance.now());}async function g(y){if(!(a>Er))if(await u(),typeof y=="string"){a+=8;for(let C=0;C<y.length&&a<=Er;C+=16384)a+=r.encode(y.slice(C,C+16384)).byteLength,await u();}else if(y!==null&&typeof y=="object"){if(d.has(y))return;if(d.add(y),a+=32,ArrayBuffer.isView(y)||y instanceof ArrayBuffer){a+=y.byteLength;return}for(let C in y)if(Object.hasOwn(y,C)&&(await g(C),await g(y[C]),a>Er))break}else a+=8;}return await g(e),a}function Pl(e){let n=e.now??Date.now,r=new Map,d=new Map,a=new Map,c=new Map,o,u=true,g=0,y=new WeakMap,C=new WeakSet,h=new WeakMap,f=0,R=Promise.resolve();function w(v,L,P){try{e.report(v,{...L},{remainingNetworkPages:Math.max(0,Sl-f),...P});}catch{}}function S(v,L=n()){return v===void 0?0:Math.max(0,L-v)}function N(v,L,P,K){let x=K?.diagnostics;w("recent-history-prefetch-result",v,{status:L,reason:P,queueDurationMs:S(x?.queuedAt,x?.startedAt),requestDurationMs:x?.requestDurationMs??S(x?.requestStartedAt),persistenceDurationMs:x?.persistenceDurationMs??S(x?.persistenceStartedAt)});}function I(v){let L=R.then(v,v);return R=L.catch(()=>{}),L}function D(v){if(!u||v.generation!==g||v.controller.signal.aborted||v.epoch!==(r.get(v.key)??0))return false;let L=e.fingerprint(v.ref);return L!==void 0&&(L===v.fingerprint||!s(v)&&[...v.consumers.values()].includes("foreground"))}function s(v){return v.cacheRevision===(d.get(v.key)??0)}function i(v){if(!D(v))throw it()}async function m(v,L=false){let P=Ia(v),K=r.get(P)??0,x={key:P,epoch:K,generation:g,cacheRevision:d.get(P)??0},J=g,be=e.fingerprint(v),se=q=>(w("recent-history-cache-miss",v,{reason:q,allowStale:L}),null);if(!u||be===void 0||e.cache===void 0)return se(u?be===void 0?"unavailable":"storage-unavailable":"disposed");if(await R,!u||J!==g||K!==(r.get(P)??0)||!s(x)||e.fingerprint(v)!==be)return se("invalidated");let k=await e.cache.get(v);return !u||J!==g||K!==(r.get(P)??0)||!s(x)||e.fingerprint(v)!==be?se("invalidated"):k===null?se("empty"):k.version!==2?se("version-mismatch"):Ia(k.conversation)!==P?se("identity-mismatch"):k.fingerprint!==be?se("fingerprint-mismatch"):k.fetchedAt>n()?se("future-timestamp"):n()-k.fetchedAt>(L?uf:lf)?se("expired"):(y.set(k,x),k)}async function E(v){i(v);try{let J=await m(v.ref);if(i(v),J!==null&&s(v))return v.diagnostics.source="cache",w("recent-history-cache-hit",v.ref),{page:J,durable:!0}}catch(J){if(i(v),v.diagnostics.failureReason="cache-read-failed",w("recent-history-cache-read-failed",v.ref,{reason:"cache-read-failed"}),![...v.consumers.values()].includes("foreground"))throw J}if(![...v.consumers.values()].includes("foreground")){if(f>=Sl)throw new jt("budget");f+=1;}let P=n();v.diagnostics.source="network",v.diagnostics.requestStartedAt=P;let K;try{K=await e.fetchPage(v.ref,v.controller.signal);}catch(J){throw v.diagnostics.failureReason="request-failed",J}finally{v.diagnostics.requestDurationMs=S(P);}i(v),await e.yieldToEventLoop(),i(v);let x={version:2,conversation:{...v.ref},fetchedAt:n(),fingerprint:v.fingerprint,messages:K.messages,reactions:K.reactions,exhausted:K.exhausted,...K.nextCursor===void 0?{}:{nextCursor:K.nextCursor},byteLength:0};if(y.set(x,{key:v.key,epoch:v.epoch,generation:v.generation,cacheRevision:v.cacheRevision}),K.recoveries!==void 0&&K.recoveries.length>0&&h.set(x,K.recoveries),h.has(x)||x.messages.some(J=>J.encryption.decryptFailed===true))return C.add(x),{page:x,durable:false,reason:"decrypt-failed"};if(x.byteLength=await pf(x,e.yieldToEventLoop),i(v),w("recent-history-page-loaded",v.ref,{durationMs:n()-P,messageCount:x.messages.length,byteLength:x.byteLength}),x.byteLength>Er)return {page:x,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:x,durable:false,reason:"storage-unavailable"};if(!s(v))return {page:x,durable:false,reason:"invalidated"};v.diagnostics.persistenceStartedAt=n();try{let J=await I(async()=>(i(v),s(v)?e.cache.put(x):!1));return i(v),s(v)?{page:x,durable:J,...J?{}:{reason:"page-too-large"}}:{page:x,durable:!1,reason:"invalidated"}}catch(J){return i(v),v.diagnostics.failureReason="cache-write-failed",w("recent-history-cache-write-failed",v.ref,{reason:"cache-write-failed"}),{page:x,durable:false,storageError:J}}finally{v.diagnostics.persistenceDurationMs=S(v.diagnostics.persistenceStartedAt);}}function _(v,L){v.started||(v.started=true,v.diagnostics.startedAt=n(),w("recent-history-prefetch-start",v.ref,{kind:L?"background":"foreground",queueDurationMs:S(v.diagnostics.queuedAt,v.diagnostics.startedAt)}),L&&(o=v),E(v).then(v.resolve,v.reject).finally(async()=>{a.get(v.key)===v&&a.delete(v.key),o===v&&(o=void 0),await e.yieldToEventLoop(),U();}).catch(P=>{if(!(P instanceof Error&&P.name==="AbortError"))throw P}));}function U(){if(!u||o!==void 0||c.size>0||!e.canRunBackground())return;let v=[...a.values()].find(L=>!L.started&&L.consumers.size>0);v!==void 0&&_(v,true);}function Q(v,L,P){if(!u||P?.aborted===true)return L==="background"&&N(v,"cancelled","cancelled"),Promise.reject(it());let K=Ia(v),x=e.fingerprint(v);if(x===void 0)return L==="background"&&N(v,"skipped","unavailable"),Promise.reject(new jt("unavailable"));let J=a.get(K);J!==void 0&&!D(J)&&(J.controller.abort(),J.reject(it()),a.delete(K),J=void 0);let be=J!==void 0;if(J===void 0){let z,re,ue=new Promise((Me,Y)=>{z=Me,re=Y;});J={ref:{...v},key:K,fingerprint:x,generation:g,epoch:r.get(K)??0,cacheRevision:d.get(K)??0,controller:new AbortController,consumers:new Map,started:false,promise:ue,resolve:z,reject:re,diagnostics:{queuedAt:n()}},a.set(K,J);}let se=J,k=Symbol(L);se.consumers.set(k,L),L==="background"&&w("recent-history-prefetch-queued",v,{reason:be?"shared-request":"new-request"});let q=new Promise((z,re)=>{let ue=false,Me=(Oe,xe)=>{ue||(ue=true,Oe?.durable&&!s(se)&&(Oe={...Oe,durable:false,reason:"invalidated"}),P?.removeEventListener("abort",Y),se.consumers.delete(k),se.consumers.size===0&&(se.controller.abort(),se.started||(a.get(se.key)===se&&a.delete(se.key),se.reject(it()))),L==="background"&&(xe instanceof jt?N(v,"skipped",xe.reason,se):xe instanceof Error&&xe.name==="AbortError"?N(v,"cancelled","cancelled",se):xe!==void 0||Oe?.storageError!==void 0?N(v,"failed",se.diagnostics.failureReason??"request-failed",se):Oe?.durable===true?N(v,"ready",se.diagnostics.source==="cache"?"cache-hit":"persisted",se):N(v,"skipped",Oe?.reason??"not-persisted",se)),xe!==void 0?re(xe):z(Oe));};function Y(){Me(void 0,it());}P?.addEventListener("abort",Y,{once:true}),se.promise.then(Oe=>Me(Oe),Oe=>Me(void 0,Oe));});return L==="foreground"?_(se,false):U(),q}function W(v){let L=Ia(v);c.set(L,(c.get(L)??0)+1),o!==void 0&&o.key!==L&&![...o.consumers.values()].includes("foreground")&&(o.controller.abort(),o.reject(it()));let P=false;return ()=>{if(P)return;P=true;let K=(c.get(L)??1)-1;K>0?c.set(L,K):c.delete(L),U();}}function de(v,L={}){if(!u||v.conversationType!=="group"&&v.conversationType!=="channel")return;let P={...v,conversationType:v.conversationType},K=Ia(v);d.set(K,(d.get(K)??0)+1),L.preserveForeground||r.set(K,(r.get(K)??0)+1);let x=a.get(K);(!L.preserveForeground||!x||![...x.consumers.values()].includes("foreground"))&&(x?.controller.abort(),x?.reject(it()),a.delete(K)),w("recent-history-cache-invalidated",P,{reason:L.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),I(async()=>e.cache?.delete(P)).catch(()=>w("recent-history-cache-delete-failed",P,{reason:"cache-delete-failed"}));}function Ie(v){let L=y.get(v);return u&&L!==void 0&&L.generation===g&&L.epoch===(r.get(L.key)??0)}return {readCached:m,isPageCurrent:Ie,enterForeground:W,invalidate:de,notifySchedulingChanged:U,takeRecoveries(v){if(!Ie(v))return [];let L=h.get(v)??[];return h.delete(v),L},async confirmConsumed(v){let L=e.fingerprint(v.conversation),P=y.get(v);if(!Ie(v)||P===void 0||!s(P)||C.has(v)||L===void 0||e.cache===void 0||L===v.fingerprint||v.byteLength>Er||v.messages.some(J=>J.encryption.decryptFailed===true))return;let K=Ia(v.conversation),x=r.get(K)??0;await I(async()=>{Ie(v)&&s(P)&&x===(r.get(K)??0)&&e.fingerprint(v.conversation)===L&&await e.cache.put({...v,fingerprint:L});}).catch(()=>w("recent-history-cache-write-failed",v.conversation,{reason:"cache-write-failed"}));},async latest(v,L){return (await Q(v,"foreground",L)).page},async prefetchRecent(v,L={}){let P=[];for(let[K,x]of v.entries()){if(K>0&&K%16===0&&await e.yieldToEventLoop(),L.signal?.aborted===true||!u){N(x,"cancelled","cancelled"),P.push({ref:x,status:"cancelled",reason:"cancelled"});continue}if(x.conversationType==="direct"||x.conversationType==="robot"){N(x,"skipped","unsupported"),P.push({ref:x,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){N(x,"skipped","storage-unavailable"),P.push({ref:x,status:"skipped",reason:"storage-unavailable"});continue}try{let J=await Q({...x,conversationType:x.conversationType},"background",L.signal);if(J.storageError!==void 0)throw J.storageError;P.push({ref:x,status:J.durable?"ready":"skipped",...J.reason===void 0?{}:{reason:J.reason}});}catch(J){J instanceof jt?P.push({ref:x,status:"skipped",reason:J.reason}):J instanceof Error&&J.name==="AbortError"?P.push({ref:x,status:"cancelled",reason:"cancelled"}):(w("recent-history-prefetch-failed",x,{reason:"prefetch-failed"}),P.push({ref:x,status:"failed",error:Z({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:x,cause:J})}));}}return P},dispose(){u=false;for(let v of a.values())v.controller.abort(),v.reject(it());return a.clear(),R.then(()=>{})},async clear(){if(u){g+=1;for(let v of [...a.values()])de(v.ref);await I(async()=>e.cache?.clear());}}}}function mf(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,a=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||d===void 0?"invalid-response":d!==void 0&&d!==200?"business":void 0;return a===void 0?void 0:Object.freeze({service:"core",kind:a,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function Al(e){let n=g=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:g,getClientType:()=>e.clientType,fetch:r});function r(g,y){return d(),globalThis.fetch(g,y)}function d(){if(!e.isActive())throw Z({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let g=e.coreClient,y=e.http??n(e.authProvider.getLoginContext);return {coreClient:g===void 0?void 0:async(C,h)=>{d();let f=await g(C,h);return d(),f},http:{async postProtobuf(C){d();let h=await y.postProtobuf(C);return d(),h}}}}async function a(g,y,C){if(!(!e.isActive()||C?.aborted||!y?.userId||!y.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||C?.aborted||h?.userId!==y.userId||h.token!==y.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(g))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function c(){let g=await e.authProvider.getLoginContext();return d(),g===null?null:{...g}}let o=e.coreClient;return {coreClient:o===void 0?void 0:async(g,y)=>{let C=await c(),h,f=await o(g,{...y,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:w=>{h=w;}});if(d(),h===void 0)throw Z({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let R=mf(h);return R!==void 0&&await a(R,C,y?.signal),f},http:{async postProtobuf(g){let y=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 h=e.http??v({getBaseUrl:()=>C,getAuth:async()=>y,getClientType:()=>e.clientType,fetch:r});try{d();let f=await h.postProtobuf(g);return d(),f}catch(f){throw await a(f instanceof xa?{service:"cm",kind:"http",httpStatus:f.status}:{service:"cm",kind:"network"},y,g.signal),f}}}}}var ff=2,zt=30,gf=50,yf=5,If=20;function El(e,n){let r=Number(e);if(!Number.isSafeInteger(r)||r<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return r}function vf(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 hf(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 Rl(e$1,n$2,r,d$1=0){let a$1=e$1.clientType??ff,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:a$1}}},o$1="",u$1=zo(e$1.debug,()=>({generation:d$1,...o$1===""?{}:{accountId:o$1}})),g=true,y=e$1.uploadRecovery?.enabled?hl(r):void 0,C$1=Cl(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:f$1}=Al({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:a$1,isActive:()=>g,onRequestError:e$1.onRequestError,onHandlerError:t=>u$1.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:t}}))}),R=e$1.transport??gb(),w$1=e$1.adapters?.storage,S$1=w$1?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:fb({namespaceFactory:r,mediaAssetCache:{strategies:td()}})),N=new Map,I=new Map,D$2=new Map,s$1=new Map,i$1=new Map,m$1=t=>`${Ia(t.conversation)}\0${t.messageId}`;function E(t,l){let T=Ia(t),ie=(i$1.get(T)??Promise.resolve()).then(l),ce=ie.then(()=>{},()=>{});return i$1.set(T,ce),ce.then(()=>{i$1.get(T)===ce&&i$1.delete(T);}),ie}function _(t,l){return E(t.conversation,async()=>{l()&&(await S$1?.deleteDecryptRecovery?.(t.conversation,t.messageId),l()&&(s$1.delete(m$1(t)),N.delete(m$1(t))));})}let U=t=>{let l=S$1?.saveDecryptRecovery;if(l===void 0)return;let T=m$1(t),B=(D$2.get(T)??0)+1;D$2.set(T,B),s$1.set(T,t);let ie=Ia(t.conversation),ce=I.get(ie)??0,te=()=>g&&ce===(I.get(ie)??0)&&B===D$2.get(T),$=E(t.conversation,async()=>{te()&&await l(t);});N.set(T,$),$.then(()=>{if(N.get(T)===$&&N.delete(T),te())return Tr(t)}).catch(ae=>n$2.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:ae}}));},Q=false,W=vf(S$1)?S$1:void 0,de=Nd({...S$1===void 0?{}:{storage:S$1},...h$1===void 0?{}:{coreClient:h$1}}),Ie,v,L=Qc({...S$1===void 0?{}:{storage:S$1},conversationBackgrounds:de.api,onDirectReadReceiptDisabled:t=>Ie?.(t)}),P=0;function K(t){return P+=1,`channel-${t}-${d$1}-${P}`}let x=ub(u$1),J=(t,l,T=o$1)=>{let B=l.fromId===T?l.toId:l.fromId;po(u$1,{conversation:{conversationType:"direct",conversationId:B},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},be=(t,l)=>{po(u$1,{conversation:{conversationType:"group",conversationId:l.groupId},source:t,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},se=(t,l)=>{po(u$1,{conversation:{conversationType:"channel",conversationId:l.channelId},source:t,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},k=t=>{u$1.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:t.channelId},...t.operationId===void 0?{}:{operationId:t.operationId},data:{messageId:t.messageId,encrypt:t.encrypt,contentLength:t.contentLength,...t.endpoint===void 0?{}:{endpoint:t.endpoint},...t.surface===void 0?{}:{surface:t.surface},...t.clientTypeHeader===void 0?{}:{clientTypeHeader:t.clientTypeHeader},...t.clientTypeBody===void 0?{}:{clientTypeBody:t.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:t.cause}}));};function q(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let z$1="empty",re=n$2.subscribe(t=>{if(g){if(t.type==="connection:changed"){u$1.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){u$1.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:Lc(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){u$1.record("warn","sdk","session","auth-invalid",()=>({data:t.issue}));return}if(t.type==="error"){let l=t.error.scope==="storage"?"storage":t.error.scope==="crypto"?"crypto":"session";u$1.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function ue(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let Me=new Set,Y="auto",Oe=false,xe=false,Ve=0,je,sn,$e=false,rn,Ye,Pn=()=>{},Kn=null,A$1=null,j,H,V=yl(),fe=new AbortController,Ee=new Set,we=0,qe=false,Ae=ya(t=>n$2.emit({type:"receiving:changed",receiving:t})),Te=ya(t=>n$2.emit({type:"syncing:changed",syncing:t})),Ue=false,Qe,On,Fn=new Map,jn=new Map,ke=0,Se=t=>Fn.get(t)??0,pn=t=>{Fn.set(t,Se(t)+1);};function Bn(t){H?.invalidate(t),t.conversationType==="channel"&&pn(t.conversationId),t.conversationType==="group"&&jn.set(t.conversationId,(jn.get(t.conversationId)??0)+1);}let An=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:a$1,...S$1===void 0?{}:{storage:S$1}})),Dn=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:a$1,getUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??"",...S$1===void 0?{}:{storage:S$1}})),Pe=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:a$1,isActive:()=>g,...S$1===void 0?{}:{storage:S$1}})),st=e$1.channelMentionMembers??(h$1===void 0?void 0:u({client:h$1,clientType:a$1})),cn=Od({...st===void 0?{}:{provider:st},...S$1===void 0?{}:{storage:S$1}}),Rr=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:a$1,getUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??""})),zn=Xd({...Rr===void 0?{}:{provider:Rr}}),Vn=ml({...h$1===void 0?{}:{search:t=>Ja$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),bind:t=>D$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}}),unbind:t=>E$1(h$1,{...t,...a$1===void 0?{}:{clientType:a$1}})}}),ct=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),Vt=dl({provider:ct,isActive:()=>g}),qt=e$1.sessionFavoriteProvider??Sa({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>o$1}),mo=$c({provider:qt,isActive:()=>g}),Wt=()=>{},Et=cd({namespaceFactory:r,...S$1===void 0?{}:{storage:S$1},emitter:n$2,getAccountId:()=>o$1,isActive:()=>g,clearMemoryCaches:()=>{An?.clearCache?.(),Dn?.clearCache?.(),Pe?.clearCache?.(),cn.clear(),Wt(),H?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),Rt=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:a$1})),$t=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:a$1})),Jt=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:a$1})),G=Oa({emitter:n$2,diagnostics:u$1,profile:An,channelProfile:Dn,storage:S$1,getSelfId:()=>o$1,loadOlderFromRemote:async t=>{let l=H?.enterForeground(t.conversation),T=V.enterForeground(),B=Ae.begin();try{return j===void 0?{messages:[],exhausted:!0}:await j(t)}finally{B(),l?.(),T();}},loadNewerFromRemote:async t=>{let l=H?.enterForeground(t.conversation),T=V.enterForeground(),B=Ae.begin();try{return On===void 0?{messages:[],exhausted:!0}:await On(t)}finally{B(),l?.(),T();}}}),p$1=n$2.subscribe(t=>{if(t.type==="message:removed"||t.type==="conversation-history:cleared"||t.type==="session:removed"){let l=Ia(t.conversation);I.set(l,(I.get(l)??0)+1);}if(S$1?.deleteDecryptRecovery!==void 0){if((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true){let l=Ia(t.conversation),T=I.get(l)??0,B=m$1({conversation:t.conversation,messageId:t.message.id}),ie=D$2.get(B)??0,ce=()=>g&&T===(I.get(l)??0)&&ie===(D$2.get(B)??0);(async()=>{let $=(await S$1.getDecryptRecoveries?.(t.conversation)??[]).find(ae=>ae.messageId===t.message.id);$===void 0||ue($)||!ce()||(await G.commitReceivedMessages([t.message],"offline",{backfillOnly:true}),await _($,ce));})().catch(te=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:te}}));}else if(t.type==="message:removed")s$1.delete(m$1({conversation:t.conversation,messageId:t.messageId})),E(t.conversation,()=>S$1.deleteDecryptRecovery(t.conversation,t.messageId)).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}}));else if(t.type==="conversation-history:cleared"){for(let[l,T]of s$1)Ia(T.conversation)===Ia(t.conversation)&&s$1.delete(l);E(t.conversation,async()=>S$1.deleteConversationDecryptRecoveries?.(t.conversation)).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}}));}}}),b=Md({directory:zn.contacts,getSelfId:()=>o$1,...An===void 0?{}:{profile:An},...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$2,terminateConversationSending:(t,l)=>Pn(t,l),resetDirectReadReceiptPreference:t=>L.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?v?.(t):l!=="unknown"&&Ie?.(t);}}),M=_d({...$t===void 0?{}:{contact:$t},...Jt===void 0?{}:{group:Jt},...Rt===void 0?{}:{channel:Rt},onContactAccepted:async(t,l)=>{b.updateRelationshipFromEvent(t,"friend"),await G.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),G.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>g&&z$1==="ready"}),F=Qd({domainState:G,emitter:n$2,isActive:()=>g}),ee=fl({domainState:G,isAvailable:()=>g&&z$1==="ready"}),ge=Sd(()=>G.getSessions()),me=e$1.crypto??i(),ye=e$1.media!==void 0?$a(e$1.media,u$1):void 0,he=Wa(),Ne=Va(he),{prepareLocalMediaPreview:Ke,prepareLocalVideoPoster:dn}=Il(he,()=>d$1),vn=h$1===void 0?void 0:e({client:h$1,crypto:me,clientType:a$1,onError:(t,l)=>x?.("crypto",{message:t,cause:l})}),wr=h$1===void 0?void 0:h({client:h$1,clientType:a$1,onError:(t,l)=>x?.("crypto",{scope:"send-key",message:t,cause:l})}),mn=h$1===void 0?void 0:f({client:h$1,crypto:me,clientType:a$1,onError:(t,l)=>x?.("crypto",{scope:"group-key",message:t,cause:l})}),_e=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>fa$1(h$1,{channelId:t,clientType:a$1}),onError:(t,l)=>x?.("crypto",{scope:"channel-key",message:t,cause:l})})),xn=async(t,l={})=>{if(_e===void 0)return;let T=_e.getCachedChannelKey(t)===null;try{await _e.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!T||!g))try{await _r({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(B){n$2.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:B}});}},hn=async t=>_e===void 0?null:_e.getChannelKey(t),kn=t=>{if(_e===void 0)return null;let l=_e.getCachedChannelKey(t);return l===null&&xn(t),l},Zn=()=>vn?.getCachedPrivateKey(o$1)?.privateKey??null,fo=()=>({crypto:me,resolveChannelKey:kn,resolveUserPrivateKey:Zn,onDecryptRecovery:U,onDecryptError:t=>{let l=_e!==void 0&&S$1?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(se("live",{...t,forceRefreshAttempted:l}),!l)return;let T=_e.getCachedChannelKey(t.channelId)??void 0;_e.getChannelKey(t.channelId,{staleKey:T}).catch(()=>{});}}),En=async(t,l={})=>{let T=[];_e!==void 0&&T.push(...[...new Set(t)].map(B=>xn(B,l))),vn!==void 0&&o$1!==""&&T.push(vn.getUserPrivateKey(o$1).catch(()=>null)),await Promise.all(T);},Cn=t=>({crypto:me,resolveChannelKey:l=>_e?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Zn,onDecryptError:l=>se(t,l),onDecryptRecovery:U});function dt(t){mn!==void 0&&t!==""&&mn.getGroupKeys(t);}let Ia$2=async t=>{if(mn===void 0)return null;let l=await mn.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},va$1=t=>{if(mn===void 0)return null;let l=mn.getCachedGroupKeys(t);return l!==null?l.privateKey:(dt(t),null)},wt=async t=>{mn!==void 0&&await Promise.all(t.map(l=>mn.getGroupKeys(l).catch(()=>null)));},xl=()=>({crypto:me,resolvePrivateKey:({groupId:t})=>va$1(t),preparePrivateKey:async({groupId:t})=>mn===void 0?null:(await mn.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>be("live",t),onDecryptRecovery:U}),Tt=t=>({crypto:me,resolvePrivateKey:({groupId:l})=>va$1(l),onDecryptError:l=>be(t,l),onDecryptRecovery:U}),Yt=new Map,go=new Map,_t=new Map,yo=new Set,Io=new Set;function Xt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Nl(t,l){let T=Ia(t),B=_t.get(T)??new Set;B.add(l),_t.set(T,B);}function ha(t){_t.delete(Ia(t));}function Ll(t,l){return t.length===l.length&&t.every((T,B)=>T===l[B])}function Ca$1(t){if(t.conversation.conversationType==="group")return mn?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Dt(t){return t.wireEncrypt===2?"channel-base64-pad-tea":t.conversation.conversationType==="group"?"group-rsa-tea":t.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Fl(t){return t.contentType===101?Number.isInteger(t.type)&&t.type>0:t.contentType===27?t.gameType===0n?t.gameValue>=1n&&t.gameValue<=3n:t.gameType===1n&&t.gameValue>=1n&&t.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(t.contentType)}async function Tr(t){let l=m$1(t);t=s$1.get(l)??t;let T=D$2.get(l)??0,B=Ia(t.conversation),ie=I.get(B)??0,ce=()=>g&&ie===(I.get(B)??0)&&T===(D$2.get(l)??0),te=Yt.get(l);if(te!==void 0){if(go.get(l)===T)return te;await te.catch(()=>{}),ce()&&s$1.get(l)===t&&await Tr(t);return}let $=async()=>G.getConversationMessage(t.conversation,t.messageId)??await S$1?.getMessage(t.conversation,t.messageId)??void 0,ae=(async()=>{let le=await $();if(!ce()||le===void 0)return;let X=ue(t);if(le.encryption.decryptFailed!==true&&!X){await G.commitReceivedMessages([le],"offline",{backfillOnly:true}),await _(t,ce);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:le.senderId,messageCreatedAt:le.createdAt,selfMessage:le.senderId===o$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let oe,ne,ve="key-resolve",wn=Dt(t);for(let Ln of [false,true]){let He=Ln?"force":"current",Je;try{ve="bcontent";let Ze=d.decode(t.sContent);if(t.wireEncrypt===1){if(Ze.secretKey.length===0||Ze.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");ve="key-resolve";let ln=Ln?{...typeof ne=="string"?{staleKey:ne}:{}}:void 0,Mn=t.conversation.conversationType==="group"?(await mn?.getGroupKeys(t.conversation.conversationId,ln))?.privateKey??null:(await vn?.getUserPrivateKey(o$1,ln))?.privateKey??null;Ln&&ne!==void 0&&(Je=typeof ne=="string"&&Mn!==null&&ne!==Mn),Je===!0&&ha(t.conversation),Ln||(ne=Mn);let qn=Ca$1(t);if(Mn===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:Dt(t),finalStage:ve,reason:"no-key",...qn===void 0?{}:{resolvedKeyVersion:qn},...Je===void 0?{}:{keyChanged:Je}}}));continue}ve="rsa";let Gn=me.rsaDecryptPkcs1({data:Ze.secretKey,privateKey:Mn});if(Gn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${Gn.length} < 16`);ve="tea";let on=me.decryptSymmetric({teaKey:Gn,cipherData:Ze.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:Dt(t),rsaCipherBytes:Ze.secretKey.length,cipherDataBytes:Ze.cipherData.length,cipherDataBlockRemainder:Ze.cipherData.length%8,resolvedTeaBytes:Gn.length,plainBytes:on.length,plainBlockRemainder:on.length%8,startsWithContentTypeField:on[0]===8,startsWithMobileCardType:on[0]===8&&on[1]===8,...bl(on)}})),ve="bmessage",oe=c$1.decode(on);}else if(t.conversation.conversationType==="channel"){if(Ze.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");ve="key-resolve";let ln=Ln?{...ne instanceof Uint8Array?{staleKey:ne}:{}}:void 0,Mn=_e?.getChannelKeyCandidates===void 0?await _e?.getChannelKey(t.conversation.conversationId,ln).then(on=>[{strategy:"canonical-base64-pad",key:on}])??[]:await _e.getChannelKeyCandidates(t.conversation.conversationId,ln),qn=_e?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);qn!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:He,...qn}}));let Gn=Mn.find(on=>on.strategy==="canonical-base64-pad")?.key??null;if(Ln&&ne instanceof Uint8Array&&Gn!==null&&(Je=!Ll(ne,Gn)),Je===!0&&ha(t.conversation),Ln||(ne=Gn?.slice()??null),Mn.length===0){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:Dt(t),finalStage:ve,reason:"no-key",...Je===void 0?{}:{keyChanged:Je}}}));continue}for(let on of Mn)try{ve="tea";let or=me.decryptSymmetric({teaKey:on.key,cipherData:Ze.cipherData});ve="bmessage";let Nt=c$1.decode(or);if(on.strategy==="legacy-ascii16"&&!Fl(Nt))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");oe=Nt,wn=on.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:on.strategy,finalStage:"recovered",reason:"recovered",...Je===void 0?{}:{keyChanged:Je}}}));break}catch(or){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:on.strategy,finalStage:ve,reason:"decrypt-failed",...Je===void 0?{}:{keyChanged:Je}},error:{message:"CHANNEL decrypt recovery candidate failed",data:or}}));}}if(oe!==void 0){u$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:wn,finalStage:"recovered",reason:"recovered",...Je===void 0?{}:{keyChanged:Je}}}));break}}catch(Ze){let ln=Ca$1(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:He,strategy:Dt(t),finalStage:ve,reason:"decrypt-failed",...ln===void 0?{}:{resolvedKeyVersion:ln},...Je===void 0?{}:{keyChanged:Je}},error:{message:"IM message decryption recovery failed",data:Ze}}));}}if(!ce()||oe===void 0){oe===void 0&&(Nl(t.conversation,t.messageId),u$1.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:Dt(t),attempts:2,finalStage:ve}})));return}let Ge=await $();if(!ce()||Ge===void 0||Ge.encryption.decryptFailed!==true&&!X)return;let bn=t.conversation.conversationType==="channel"&&(t.cmdId===12804||oe.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(Ge.serverTime??Ge.createdAt),notifyType:oe.type,operatorId:oe.oprUserId,targetUserIds:oe.mnpledUserId,content:oe.content,...typeof Ge.extensions?.historyCursor=="string"?{historyCursor:Ge.extensions.historyCursor}:{},...typeof Ge.extensions?.channelSequence=="string"?{sequence:BigInt(Ge.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:Ge.raw!==void 0}):{...O(Ge,oe,o$1),...X?{edited:true}:{}};await G.commitReceivedMessages([bn],"offline",{backfillOnly:true,refreshSessionSummary:true}),await _(t,ce);})().finally(()=>{Yt.get(l)===ae&&(Yt.delete(l),go.delete(l));});return Yt.set(l,ae),go.set(l,T),ae}async function _r(t,l={}){try{let T=Ia(t),B=await S$1?.getDecryptRecoveries?.(t)??[];if(!g)return;let ie=_t.get(T),ce=ie===void 0?B:B.filter(le=>!ie.has(le.messageId));if(await Promise.all(ce.map(Tr)),!g||l.recoverLegacyWithoutSidecar===!1)return;let te=_t.get(T),$=new Set(B.filter(le=>te===void 0||!te.has(le.messageId)).map(le=>le.messageId)),ae=G.getMessagesByConversation(t).filter(le=>le.encryption.decryptFailed===!0&&!$.has(le.id));if(ae.length===0||yo.has(T))return;if(yo.add(T),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:ae.length,withoutSidecar:ae.filter(le=>!B.some(X=>X.messageId===le.id)).length}})),t.conversationType==="channel"){let le=await c.getLoginContext();if(le===null||Qe===void 0)return;for(let X of ae.slice(0,If)){let oe=X.extensions?.historyCursor;if(typeof oe!="string"||oe.trim()==="")continue;let ne=await Qe(t.conversationId,oe,le.userId);if(!g)return;ne.length>0&&G.upsertMessages(ne,"offline");}}else t.conversationType==="group"?await Ul({conversationType:"group",conversationId:t.conversationId},ae):t.conversationType==="direct"&&await Ua$1();}catch(T){if(!g)return;n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:T}});}}async function Ul(t,l){if(j===void 0)return;let T=[...l].sort(($,ae)=>$.sortKey.localeCompare(ae.sortKey)),B=T[0],ie=T.at(-1);if(B===void 0||ie===void 0)return;let ce=B.serverTime??B.createdAt,te;for(let $=0;$<yf;$++){let ae=await j({conversation:t,oldestLoaded:ie,...te===void 0?{}:{cursor:te},intent:"older",limit:gf});if(!g||ae.exhausted||ae.nextCursor===void 0)return;let le=Number(ae.nextCursor);if(Number.isFinite(le)&&le<=ce)return;te=ae.nextCursor;}}let Rn=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function vo(t,l=true){let T=t.channelPermissions,B=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,T===void 0?void 0:[T.sendMessages,T.mentionAll,T.editProfile,T.manageMembers,T.manageAdmins,T.moderateMessages,T.manageMute,T.dismissChannel,T.transferOwnership],!l||B===void 0?void 0:[B.role,B.baseState,B.resolvedState,B.allMembersMuted,B.currentUserMuted,B.mutePeriod]])}let ho=new Map;function lt(t){let l=G.getConversationContext(t);if(!g||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&nn(l.channelState))return;let T=G.getMessagesByConversation(t).at(-1);return JSON.stringify([o$1,T===void 0?l.timestamp:void 0,vo(l),T?.id,T?.sortKey])}H=Pl({...S$1?.recentHistoryCache===void 0?{}:{cache:S$1.recentHistoryCache},fingerprint:lt,canRunBackground:Au,fetchPage:Ml({http:f$1,authProvider:c,clientType:a$1,groupDecrypt:()=>Tt("history"),channelDecrypt:()=>Cn("history"),prepareGroupKeys:wt,prepareChannelKeys:t=>En(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,T)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:T}))});let Kl=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(qe=false),H?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ia(t.conversation),T=ho.get(l),B={timestamp:t.session.timestamp,access:vo(t.session),capabilities:vo(t.session,false),state:t.session.type==="group"?t.session.groupState??"active":t.session.channelState,hasPermissions:t.session.channelPermissions!==void 0,hasSnapshot:t.session.channelAccessSnapshot!==void 0};if(ho.set(l,B),z$1==="ready"&&T!==void 0&&(T.access!==B.access||!Ue&&T.timestamp!==B.timestamp)){let ie=!T.hasSnapshot&&B.hasSnapshot&&(T.capabilities===B.capabilities||!T.hasPermissions&&T.state===B.state);H?.invalidate(t.conversation,{preserveForeground:T.access===B.access||ie});}return}if(t.type==="session:removed"){ho.delete(Ia(t.conversation)),z$1==="ready"&&H?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){z$1==="ready"&&H?.invalidate(t.conversation);return}z$1!=="ready"||Ue||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&H?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function ba(t,l=true){Ue=true;try{t.messages.length>0&&G.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let T of t.reactions)Rn(T);for(let T of H.takeRecoveries(t))U(T);}finally{Ue=false;}}j=async({conversation:t,oldestLoaded:l,cursor:T,intent:B,limit:ie,signal:ce})=>{ce?.throwIfAborted();let{conversationId:te}=t,$=G.getConversationContext(t);if($===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${te}\uFF09`);if($.type==="direct"||$.type==="robot")return {messages:[],exhausted:true};if(B==="establish-latest"&&ie===30&&($.type==="group"||$.type==="channel")){let ae={conversationType:$.type,conversationId:te};if(lt(ae)===void 0)return {messages:[],exhausted:true};let le=await H.readCached(ae,true).catch(oe=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:ae,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:oe}})),null));le!==null&&H.isPageCurrent(le)&&Date.now()-le.fetchedAt>5*6e4&&ba(le,false),ce?.throwIfAborted();let X=await H.latest(ae,ce).catch(oe=>{if(g&<(ae)===void 0)return null;throw oe});if(X===null)return {messages:[],exhausted:true};if(ce?.throwIfAborted(),!g||!H.isPageCurrent(X)||lt(ae)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(ba(X),await H.confirmConsumed(X),ce?.throwIfAborted(),!H.isPageCurrent(X))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:X.messages,exhausted:X.exhausted,...X.nextCursor===void 0?{}:{nextCursor:X.nextCursor},replaceWindow:true}}if($.type==="group"){if($.groupState!==void 0&&$.groupState!=="active")return {messages:[],exhausted:true};let ae=await c.getLoginContext();if(ae===null)return {messages:[],exhausted:true};let le=B==="establish-latest"?Date.now():T===void 0?l?.serverTime??l?.createdAt??Date.now():El(T,te),X=await Ha({signal:ce,http:f$1,userId:ae.userId,clientType:a$1,groupId:te,baseTime:le,direct:1,limit:ie,decryptDeps:Tt("history"),prepareKeys:wt,onReaction:Rn});ce?.throwIfAborted(),X.messages.length>0&&G.upsertMessages(X.messages,"offline",{backfillOnly:true,refreshSessionSummary:B==="establish-latest"});let oe=Pr({conversationId:te,direction:"older",baseTime:le,batchSize:X.batchSize,boundaryTime:X.oldestEntryTime,limit:ie});return {messages:X.messages,...oe,...B==="establish-latest"?{replaceWindow:true}:{}}}if($.type==="channel"){let ae=K("history");if($.channelState!==void 0&&nn($.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:ae,data:{state:$.channelState}})),{messages:[],exhausted:true};let le=ke,X=Se(te),oe=await c.getLoginContext();if(oe===null)return {messages:[],exhausted:true};if(B==="establish-latest"){let Ge=await za({signal:ce,http:f$1,userId:oe.userId,clientType:a$1,channelId:te,count:zt,operationId:ae,decryptDeps:Cn("history"),prepareKey:_e===void 0&&vn===void 0?void 0:Ln=>En([Ln]),onContentDecodeError:k,onReaction:Rn});ce?.throwIfAborted();let bn=G.getConversationContext(t);return !g||le!==ke||X!==Se(te)||bn?.type!=="channel"||bn.channelState!==void 0&&nn(bn.channelState)?{messages:[],exhausted:true}:(ce?.throwIfAborted(),Ge.messages.length>0&&G.upsertMessages(Ge.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:Ge.messages,exhausted:!Ge.hasOlder,...Ge.nextCursor===void 0?{}:{nextCursor:Ge.nextCursor},replaceWindow:true})}let ne=T??"";if(T===void 0&&l!==void 0){let Ge=l.extensions?.historyCursor;if(typeof Ge=="string"&&Ge.trim()!=="")ne=Ge;else if(!hf(l,oe.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${te}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:ae,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:zt,historyGeneration:le,historyEpoch:X,clientTypeHeader:a$1,clientTypeBody:a$1}}));let ve;try{ve=await Aa({signal:ce,http:f$1,userId:oe.userId,clientType:a$1,channelId:te,baseIndex:ne,count:zt,contain:0,operationId:ae,decryptDeps:Cn("history"),prepareKey:_e===void 0&&vn===void 0?void 0:Ge=>En([Ge]),onContentDecodeError:k,onReaction:Rn});}catch(Ge){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:ae,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:zt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Ge}})),Ge}ce?.throwIfAborted();let wn=G.getConversationContext(t);return !g||le!==ke||X!==Se(te)||wn?.type!=="channel"||wn.channelState!==void 0&&nn(wn.channelState)?{messages:[],exhausted:true}:(ce?.throwIfAborted(),ve.messages.length>0&&G.upsertMessages(ve.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:ae,data:{responseBatchSize:ve.batchSize,messageCount:ve.messages.length,exhausted:ve.exhausted,nextBaseIndexPresent:ve.nextBaseIndex!==void 0}})),{messages:ve.messages,exhausted:ve.exhausted,...ve.nextBaseIndex===void 0?{}:{nextCursor:ve.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${$.type}`)};let Co=t=>{t.length>0&&G.upsertMessages(t,"offline",{backfillOnly:true});},bo=async()=>{let t=await c.getLoginContext();if(t===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:t.userId}},Bl=async t=>{let{userId:l}=await bo(),T=await ua$1({http:f$1,userId:l,clientType:a$1,messageIds:t,decryptDeps:await Ro(l),onReaction:Rn});return Co(T.messages),{messages:T.messages,missingMessageIds:T.missingMessageIds}},Gl=async(t,l)=>{let{userId:T}=await bo(),B=await va({http:f$1,userId:T,clientType:a$1,groupId:t,messageIds:l,decryptDeps:Tt("history"),prepareKeys:wt,onReaction:Rn});return Co(B.messages),{messages:B.messages,missingMessageIds:B.missingMessageIds}},Hl=async(t,l)=>{let T={conversationType:"channel",conversationId:t},B=o$1,ie=ke,ce=Se(t),te=()=>{let ne=G.getConversationContext(T);if(!g||o$1!==B||ie!==ke||ce!==Se(t)||ne?.type!=="channel"||ne.channelState!==void 0&&nn(ne.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};te();let{userId:$}=await bo();if(te(),$!==B)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let ae=[],le=[],X=await wa({http:f$1,userId:$,clientType:a$1,channelId:t,messageIds:l,operationId:K("history"),decryptDeps:{...Cn("history"),onDecryptRecovery:ne=>le.push({...ne,source:"history"})},prepareKey:_e===void 0&&vn===void 0?void 0:async ne=>{await En([ne],{recoverExistingMessages:false}),te();},onContentDecodeError:k,onReaction:ne=>ae.push(ne)});te();for(let ne of X.messages)te(),Co([ne]);for(let ne of ae)te(),Rn(ne);for(let ne of le)te(),U(ne);return te(),{messages:X.messages.map(ne=>{let ve=G.getConversationMessage(T,ne.id);if(ve===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return ve}),missingMessageIds:X.missingMessageIds}},jl=rb([ob({includeOppositeEnd:true}),pb({resolveGroupKey:Ia$2}),nb({resolveChannelKey:hn}),qb()]),zl=_a([$a$1(),ab(),bb()]),Vl=oa$1([pa$1(),qa(),ra({resolveChannelKey:hn,resolveProfile:t=>Dn?.getProfile(t)??Promise.resolve(null)})]),fn=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},kt=()=>false,Dr=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Ma=()=>{},Qt=()=>{},Zt={...G,removeConversationForMembershipTermination:(t,l)=>{Ma(t,l),t.conversationType==="group"?mn?.clearGroupKeys(t.conversationId):_e?.clearChannelKey(t.conversationId),G.removeConversationForMembershipTermination(t,l),de.api.resetBackground(t).catch(T=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:T}}));}},Ot=Ra({domainState:G,sendFrame:t=>fn(t),getSelfId:()=>o$1,isAuthenticated:()=>kt(),reportReaction:t=>ct.reportReaction(t),isEmojiSupported:Hc,logger:x});Rn=t=>{Ot.ingest(t,"offline");};let ql=Sa$1({manager:Ot,getSelfId:()=>o$1,logger:x}),Wl=jb({domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>fn(t),getSelfId:()=>o$1,emitter:n$2,logger:x,keepRaw:true,decrypt:xl(),isActive:()=>g}),$l=eb({domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>fn(t),getSelfId:()=>o$1,emitter:n$2,logger:x,keepRaw:true,decrypt:fo()}),Jl=kb({isActive:()=>g,domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>fn(t),getSelfId:()=>o$1,emitter:n$2,logger:x,keepRaw:true}),Yl=db({domainState:G,sendFrame:t=>fn(t),getSelfId:()=>o$1,emitter:n$2,logger:x,keepRaw:true,decrypt:{crypto:me,resolveChannelKey:kn,resolveUserPrivateKey:Zn,onDecryptRecovery:U}}),Xl=cb({getSelfId:()=>o$1,sendFrame:t=>fn(t),emitter:n$2}),Ql=lb({emitter:n$2,getSelfId:()=>o$1}),Zl=hb({sendFrame:t=>fn(t),emitter:n$2,getSelfId:()=>o$1,domainState:{reconcileDirectContactEstablishedNotice:G.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){G.removeConversation(t);return}t.conversationType==="direct"&&Pn(t,"friend_relation_removed"),G.removeConversation(t);})},resetDirectReadReceiptPreference:t=>L.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:b.updateRelationshipFromEvent}),eu=mb({sendFrame:t=>fn(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:G.applyTransferStatusBySerialNumber}}),nu=gb$1({getSelfId:()=>o$1,sendFrame:t=>fn(t),emitter:n$2}),tu=fb$1({getSelfId:()=>o$1,domainState:G,sendFrame:t=>fn(t),emitter:n$2,onRelationshipChanged:b.updateRelationshipFromEvent}),Mo=n({sendFrame:t=>fn(t),emitter:n$2,getSelfId:()=>o$1,isAuthenticated:()=>kt(),domainState:G}),So=z({sendFrame:t=>fn(t),emitter:n$2,getSelfId:()=>o$1,isAuthenticated:()=>kt(),domainState:G}),Sa$2=[...Mo.handlers,...So.commandHandlers],ru=2e3,er,Po=false,Pa$1=new Set;async function Aa$1(){if(Po||!g||!kt())return;let t=await c.getLoginContext();if(t!==null){Po=true;try{let l=[];for(;;){let T=await Ia$1({http:f$1,userId:t.userId,clientType:a$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:T.items.length,cmdIds:T.items.map(B=>`0x${B.cmdId.toString(16)}`)}})),T.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let B of T.items){if(n$2.emit({type:"notification",cmdId:B.cmdId,name:"OFFLINE_SIGNAL"}),B.msgId!==""&&Pa$1.has(B.msgId))continue;B.msgId!==""&&Pa$1.add(B.msgId);let ie=Sa$2.find(ce=>ce.command===B.cmdId);ie!==void 0&&ie.handler(B.cmdId,B.body);}if(T.deliveredMsgIds.length===0)break;l=T.deliveredMsgIds;}}catch(l){n$2.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{Po=false;}}}function ou(){Aa$1(),er===void 0&&(er=setInterval(()=>{Aa$1();},ru));}function Ea$2(){er!==void 0&&clearInterval(er),er=void 0;}let au=ib({domainState:G,sendFrame:t=>fn(t),getSelfId:()=>o$1,emitter:n$2,logger:x,keepRaw:true}),iu=Pa({domainState:Zt,getSelfId:()=>o$1,prefetchGroupKey:dt,clearGroupKeys:t=>{mn?.clearGroupKeys(t);},clearConversationTermination:t=>Qt(t)}),su=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&iu.handleMessage(t.message);}),Ra$1=Ea({domainState:Zt,getSelfId:()=>o$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:_e!==void 0&&_e.getCachedChannelKey(t)!==null}})),_e!==void 0&&_e.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=_e!==void 0&&_e.getCachedChannelKey(t)!==null;_e?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>Qt(t),stopChannelHistory:t=>{let l=Se(t);pn(t),G.messageWindow.info().conversationId===t&&G.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:Se(t)}}));}}),cu=n$2.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(o$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:G.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Ra$1.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),du=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"]),lu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),uu=n$2.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,T=l.body.system?.eventType;l.conversationType==="channel"&&T!==void 0&&(du.has(T)&&Pe?.invalidateChannelMembers(l.conversationId).catch(B=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:B}});}),lu.has(T)&&cn.invalidate(l.conversationId).catch(B=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:B}});}));}),wa$1=Oc({...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$2}),Ta$1=vd({...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$2}),ut=hd({...Rt===void 0?{}:{joinApplications:Rt},http:f$1,clientType:a$1,buildOfflineDecrypt:()=>Cn("history"),onContentDecodeError:k,onReaction:Rn,..._e===void 0&&vn===void 0?{}:{prepareKey:t=>En([t])}});Qe=async(t,l,T)=>{let{context:B}=await ut.loadMessageContext(t,l,T);return B.messages};let pu=Cd({authProvider:c,emitter:n$2,domainState:G,loadMessageContext:ut.loadMessageContext,isActive:()=>g,getHistoryGeneration:()=>ke,getHistoryEpoch:Se}),Ao=gl({domainState:G,isActive:()=>g,loadSummary:async({channelId:t,readCursor:l})=>{let T=await c.getLoginContext();if(T===null||!g||T.userId!==o$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:f$1,userId:T.userId,clientType:a$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ie=>ie.channelId===t)},report:(t,l,T)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:T}))}),Eo=Ua({domainState:G,updateReadIndex:async({channelId:t,readCursor:l})=>{let T$1=await c.getLoginContext();if(T$1===null||!g||T$1.userId!==o$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:f$1,userId:T$1.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:x,onReadCommitted:Ao.request,onReadSettled:Ao.settled,syncRead:{getSelfId:()=>o$1,sendFrame:t=>fn(t)}}),mu=Ta({getSelfId:()=>o$1,applyRemoteRead:t=>Eo.applyRemoteRead(t),emitter:n$2,logger:x}),fu=Ya([Xa$1({domainState:G,markGroupReadAll:async t=>{let l=await c.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma$1({http:f$1,userId:l.userId,groupId:t});},emitter:n$2,logger:x,isAuthenticated:()=>kt(),syncRead:{getSelfId:()=>o$1,sendFrame:t=>fn(t)}}),Eo,Za({domainState:G})]),nr=wb({getSelfId:()=>o$1,sendFrame:t=>fn(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),gu=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&nr.setAuthenticated(false);}),Ce=sb({transport:R,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:G,logger:x,decrypt:{crypto:me,resolvePrivateKey:({msgType:t})=>t===1?vn?.getCachedPrivateKey(o$1)?.privateKey??null:null,onDecryptError:t=>J("live",t),onDecryptRecovery:U},encryptSend:wr===void 0&&_e===void 0?void 0:{crypto:me,resolvePublicKey:t=>wr?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Ia$2},media:ye!==void 0?{transfer:ye,recoveryPort:y?.port,retainFailedUploads:e$1.uploadRecovery?.retainFailedUploads,shouldPersistUpload:(t,l)=>y!==void 0&&Za$1(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>C$1.wait(t),preview:Ne,onTransferError:t=>{u$1.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},onAlbumContentSize:t=>{u$1.record(t.outcome==="rejected"?"error":"warn","core","media",t.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:t.conversation,data:{messageId:t.messageId,itemCount:t.itemCount,...t.contentBytes===void 0?{}:{contentBytes:t.contentBytes}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:t.cause}}}));},...W===void 0?{}:{assetCache:W,onAssetCacheError:t=>{u$1.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:jl,commandHandlers:[...nr.commandHandlers,...Zl,...Ql,...eu,...nu,...tu,...Sa$2,...ql,...Wl,...au,...$l,...Yl,...Xl,...mu,...Jl],readStrategies:fu,canSendDirectReadReceipt:t=>{if(!L.isDirectReadReceiptEnabled(t))return false;let l=b.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:zl,channelMessageDeletion:{resolveProfile:t=>Dn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>G.refreshConversationProfile(t,"channel")},editStrategies:Vl,storage:S$1,onAuthenticated:()=>{nr.setAuthenticated(true);for(let l of Me)l.resumeMedia();let t=Oe;Oe=true,(t||Y==="auto")&&xa().catch(()=>{}),ou();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);Ie=t=>Ce.suppressDirectReadReceipts(t),v=t=>Ce.resumeDirectReadReceipts(t),fn=Ce.sendFrame,kt=()=>Ce.state==="authenticated",Dr=Ce.onChatAck,Pn=Ce.terminateConversationSending,Ma=Ce.markOutboxConversationTerminated,Qt=Ce.clearOutboxConversationTerminated;let _a$1=id({operations:{getPending:Ce.getPendingOutbox,retry:Ce.retryOutboxMessage,cancel:Ce.cancelOutboxMessage},emitter:n$2,isActive:()=>g}),ze=Ed({connection:Ce,domainState:G,crypto:me,settleEmptyGroupRead:async t=>{let l=jn.get(t.conversationId)??0,T=G.getSession(t),B=T===void 0,ie=T?.unreadCount??0,ce=T?.mentionUnreadCount??0,te=ie,$=ce,ae=()=>{let X=G.getSession(t);if(!g||B||X===void 0||l!==(jn.get(t.conversationId)??0)||X.groupState!==void 0&&X.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return X},le=n$2.subscribe(X=>{if(!(!("conversation"in X)||X.conversation?.conversationType!=="group"||X.conversation.conversationId!==t.conversationId)&&((X.type==="session:removed"||X.type==="conversation-history:cleared"||X.type==="session:updated"&&X.session.groupState!==void 0&&X.session.groupState!=="active")&&(B=true),X.type==="read:updated"||X.type==="session:updated")){let oe=G.getReadState(t);if(oe===void 0)return;let ne=oe.mentionUnreadCount??0;te=Math.max(0,te-Math.max(0,ie-oe.unreadCount)),$=Math.max(0,$-Math.max(0,ce-ne)),ie=oe.unreadCount,ce=ne;}});try{ae();let X=await c.getLoginContext();if(ae(),X===null||X.userId!==o$1)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await ma$1({http:f$1,userId:X.userId,groupId:t.conversationId});let oe=ae(),ne=G.getReadState(t),ve=Math.max(0,(ne?.unreadCount??oe.unreadCount)-te),wn=Math.max(0,(ne?.mentionUnreadCount??oe.mentionUnreadCount??0)-$);G.setReadState({...ne??{...t,readCursor:oe.readCursor??"",unreadCount:oe.unreadCount},mentionUnreadCount:wn}),G.applyServerUnread(t,ve);}finally{le();}},...ye===void 0?{}:{mediaTransfer:ye},prepareDirectReadReceipt:async t=>{try{await b.ensureRelationship(t);}catch(l){n$2.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),kr=od({recoveryPort:y?.port,connection:Ce,domainState:G,emitter:n$2,isActive:()=>g,preparePreview:Ke,prepareVideoPoster:dn,onLocalPreviewError:({kind:t,byteLength:l,cause:T})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:d$1,data:{kind:t,byteLength:l},error:{message:T instanceof Error?T.message:String(T)}}));},...W===void 0?{}:{assetCache:W,onAssetCacheEvent:t=>{u$1.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...ye===void 0?{}:{loaders:{loadImage:ze.operations.loadImage,loadVideo:ze.operations.loadVideo,loadVoice:ze.operations.loadVoice,loadFile:ze.operations.loadFile}}}),Or=vl({isActive:()=>g&&z$1==="ready"&&o$1!=="",maintain:async()=>{kr.prune(),Ce.expireRetainedUploads();let l=(await Promise.allSettled([Q?W?.prune?.():void 0,y?.prune()])).find(T=>T.status==="rejected");if(l?.status==="rejected")throw l.reason},onError:t=>u$1.record("warn","sdk","media","media-cache-maintenance-failed",()=>({error:{message:"\u5A92\u4F53\u8FC7\u671F\u7F13\u5B58\u6E05\u7406\u5931\u8D25",data:t}}))});Wt=()=>{Ce.invalidateMediaAssetCacheWrites(),kr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(Ce.setConnectionAllowed(false),je=cb$1({onChange:(t,l)=>{if(!t)return $e=true,Ce.setConnectionAllowed(false),g?(Iu(),Fa$1({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):Ye?.then(()=>{})},onError:t=>{rn=t,n$2.emit({type:"error",error:{scope:"transport",message:"IM \u9875\u9762\u8FDE\u63A5\u534F\u8C03\u4E0D\u53EF\u7528\uFF0C\u8BF7\u4F7F\u7528\u652F\u6301 Web Locks \u7684\u5B89\u5168\u6D4F\u89C8\u5668\u73AF\u5883",cause:t}});}}));async function yu(t){if(!(je===void 0||!g)){if(!$e){sn??=je.start(r.forAccount(t).name("ephemeral","connection",`client-${a$1}`));let l=await sn;if(!g)return;if(g&&!$e&&l&&je.owned){Ce.setConnectionAllowed(true);return}}throw Ce.setConnectionAllowed(false),await Ce.connect(),rn!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:rn}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let xr=db$1({onOnline:()=>{C$1.setOnline(true),Ce.notifyOnline();},onOffline:()=>{C$1.setOnline(false),Ce.notifyOffline();},onVisible:()=>{Or.run(),Ce.notifyVisible();for(let t of Me)t.resumeMedia();},onPageHide:()=>{xe&&Ce.suspendForPageLifecycle();},onPageShow:()=>{if(Or.run(),xe){Ce.resumeFromPageLifecycle(),Ce.notifyVisible();for(let t of Me)t.resumeMedia();}}},e$1.network);function Iu(){g=false,fe.abort(),V.dispose(),Te.dispose(),Ae.dispose(),H?.dispose(),xe=false,Ve+=1,xr.stop();}let vu=n$2.subscribe(t=>{!g||t.type!=="auth:invalid"||(xe=false,Ve+=1,$e=je!==void 0,je?.terminate(),xr.stop());});async function Ro(t){let l=await vn?.getUserPrivateKey(t)??null;return {crypto:me,resolvePrivateKey:({msgType:T})=>T===1?l?.privateKey??null:null,onDecryptError:T=>J("offline",T,t),onDecryptRecovery:U}}function Da$2(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:T,limit:B})=>{let ie=await c.getLoginContext();if(ie===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let ce=await Ro(ie.userId),te=[];return {...await l({http:f$1,userId:ie.userId,clientType:a$1,decryptDeps:ce,deliveredMsgInfos:T,...B===void 0?{}:{limit:B},onReaction:ae=>te.push(ae)}),reactions:te}}}}let hu=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let T=await c.getLoginContext();if(T===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let B=[];return {...await Fa({http:f$1,userId:T.userId,clientType:a$1,decryptDeps:Tt("offline"),prepareKeys:wt,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:ce=>B.push(ce)}),reactions:B}}});async function ka(t){let l=[...new Map(t.map(ie=>[Ia(ie),ie])).values()],T=0;await(async()=>{for(;T<l.length;){if(!g)return;let ie=l[T++];if(!(G.getSession(ie)===void 0||lt(ie)===void 0))try{if(await V.waitForBackground(fe.signal),!g||G.getSession(ie)===void 0||lt(ie)===void 0)continue;H.invalidate(ie,{preserveForeground:!0}),await j({conversation:ie,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(ce){if(!g||G.getSession(ie)===void 0||lt(ie)===void 0)continue;n$2.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:ce}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:ie,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:ce}}));}}})();}async function Cu(){let t=await c.getLoginContext();if(t===null)return;let l=[],T=await Ga({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:Tt("offline"),prepareKeys:wt,onReaction:B=>l.push(B)});if(g){for(let B of T.unreads)G.applyServerUnread({conversationType:"group",conversationId:B.groupId},B.unreadCount),dt(B.groupId);await Oa$1(T.messages,l),await ka(T.unreads.map(B=>({conversationType:"group",conversationId:B.groupId}))),$$1(T);}}async function bu(){let t=K("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:a$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:a$1}}));try{await Mu(t);}catch(l){throw u$1.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Mu(t){if(Dn===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await c.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let T=await Dn.listProfiles({forceRefresh:true});if(!g)return;if(T.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let B=new Map(T.map(O=>[O.id,O]));for(let O of T){if(q(O.channelState)){_e?.clearChannelKey(O.id),Zt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:O.id},`channel_${O.channelState}`);continue}let pe=O.permissions.sendMessages?void 0:`channel_${O.channelState}`;G.setChannelRestriction(O.id,O.channelState,pe,{permissions:O.permissions,...O.accessSnapshot===void 0?{}:{snapshot:O.accessSnapshot}}),G.updateConversationProfile({conversationType:"channel",conversationId:O.id},{title:O.name,avatar:O.avatar}),O.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:O.id},O.muted);}let ie=new Map(T.map(O=>{let pe={conversationType:"channel",conversationId:O.id},Le=G.getReadState(pe),Be=G.getSession(pe);return [O.id,{revision:G.getChannelReadRevision(pe),pending:G.hasPendingChannelRead(pe),readCursor:Le?.readCursor??Be?.readCursor??"",unreadCount:Be?.unreadCount??Le?.unreadCount??0,mentionUnreadCount:Be?.mentionUnreadCount??Le?.mentionUnreadCount??0}]})),ce=T.map(O=>({channelId:O.id,readCursor:ie.get(O.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:ce.length,channelsWithReadCursor:ce.filter(O=>O.readCursor!=="").length,clientTypeHeader:a$1,clientTypeBody:a$1}}));let te=await xa$1({http:f$1,userId:l.userId,clientType:a$1,channels:ce,operationId:t,decryptDeps:Cn("offline"),prepareKeys:O=>En(O.filter(pe=>{let Le=B.get(pe)?.channelState;return Le===void 0||!nn(Le)})),onContentDecodeError:k,onReaction:Rn});if(!g)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:te.length,lastMessageCount:te.filter(O=>O.last!==void 0).length,decryptFailedLastCount:te.filter(O=>O.last?.encryption.decryptFailed===true).length,unknownContentLastCount:te.filter(O=>O.last?.contentType==="unknown"&&O.last.encryption.decryptFailed!==true).length}}));let $=new Set(te.filter(O=>{let pe=ie.get(O.channelId),Le={conversationType:"channel",conversationId:O.channelId},Be=G.getReadState(Le),Wn=G.getSession(Le);return pe===void 0||pe.pending||G.hasPendingChannelRead(Le)||G.getChannelReadRevision(Le)!==pe.revision||(Be?.readCursor??Wn?.readCursor??"")!==pe.readCursor||(Wn?.unreadCount??Be?.unreadCount??0)!==pe.unreadCount||(Wn?.mentionUnreadCount??Be?.mentionUnreadCount??0)!==pe.mentionUnreadCount}).map(O=>O.channelId)),ae=te.filter(O=>G.getConversationContext({conversationType:"channel",conversationId:O.channelId})!==void 0).map(O=>{let Le=B.get(O.channelId)?.channelState,Be=Le!==void 0&&nn(Le)?Le:nn(O.channelState)?O.channelState:Le??O.channelState,Wn=Be==="active"?void 0:Be===O.channelState?O.sendDisabledReason:`channel_${Be}`;return {...O,channelState:Be,sendDisabledReason:Wn}});for(let O of ae){let pe=B.get(O.channelId);G.setChannelRestriction(O.channelId,O.channelState,O.sendDisabledReason,pe===void 0?void 0:{permissions:pe.permissions,...pe.accessSnapshot===void 0?{}:{snapshot:pe.accessSnapshot}}),pe!==void 0&&(G.updateConversationProfile({conversationType:"channel",conversationId:O.channelId},{title:pe.name,avatar:pe.avatar}),pe.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:O.channelId},pe.muted)),$.has(O.channelId)||G.applyChannelReadSummary({conversationType:"channel",conversationId:O.channelId},O),nn(O.channelState)&&_e?.clearChannelKey(O.channelId);}let le=ke,X=new Map(ae.map(O=>[O.channelId,Se(O.channelId)])),oe=O=>{let pe=G.getConversationContext({conversationType:"channel",conversationId:O});return g&&le===ke&&X.get(O)===Se(O)&&pe!==void 0&&(pe.channelState===void 0||!nn(pe.channelState))},ne=O=>{if(!g||le!==ke)return [];let pe=O.filter(Le=>oe(Le.conversationId));return pe.length>0&&G.upsertMessages(pe,"offline",{applyChannelLifecycleEffects:true}),pe};ne(ae.flatMap(O=>O.last===void 0?[]:[O.last])),await ka(ae.filter(O=>O.last===void 0&&!nn(O.channelState)).map(O=>({conversationType:"channel",conversationId:O.channelId})));let ve=ae.filter(O=>!$.has(O.channelId)&&!nn(O.channelState)&&O.unreadCount>0&&O.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let O={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let pe of ae)$.has(pe.channelId)?O.staleRead+=1:nn(pe.channelState)?O.historyBlocked+=1:pe.unreadCount<=0?O.zeroUnread+=1:pe.readCursor===""&&(O.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:ae.length,eligibleChannelCount:ve.length,staleReadSkippedCount:O.staleRead,historyBlockedSkippedCount:O.historyBlocked,zeroUnreadSkippedCount:O.zeroUnread,emptyReadCursorSkippedCount:O.emptyReadCursor,direction:0,contain:0,count:zt}}});let wn=[],Ge=new Map(ve.map(O=>[O.channelId,O.readCursor])),bn=[];for(let O of ve){let pe={conversationType:"channel",conversationId:O.channelId},Le=S$1?.supportsChannelSyncCheckpoint!==true?void 0:Ka$1(await S$1.getMeta(Ja(pe)),pe);if(!oe(O.channelId))continue;let Be=Le?.startIndex===O.readCursor;bn.push({channelId:O.channelId,baseIndex:Be?Le.baseIndex:O.readCursor}),u$1.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:pe,data:{resumed:Be}}));}let Ln=[],He=[],Je;if(await ya$2({http:f$1,userId:l.userId,clientType:a$1,operationId:t,pulls:bn,messageCount:zt,signal:fe.signal,beforePage:()=>V.waitForBackground(fe.signal),isChannelCurrent:oe,yieldToEventLoop:b$1,decryptDeps:{...Cn("offline"),onDecryptRecovery:O=>He.push(O)},prepareKeys:O=>En(O,{recoverExistingMessages:false}),onContentDecodeError:k,onReaction:O=>Ln.push(O),onPage:async(O,pe)=>{let Le=Ln.splice(0),Be=He.splice(0),To=(async()=>{for(let pt of pe.pulls){let Ga={conversationType:"channel",conversationId:pt.channelId},mt=()=>oe(pt.channelId);if(!mt())continue;let Lr=Be.filter(Un=>Un.conversation.conversationId===pt.channelId),Ha=()=>{wn.push(...ne(O.filter(Un=>Un.conversationId===pt.channelId)));for(let Un of Le)mt()&&Un.conversation.conversationId===pt.channelId&&Rn(Un);};if(S$1?.supportsChannelSyncCheckpoint!==true){Ha();for(let Un of Lr)mt()&&U(Un);continue}if(!await G.commitChannelSyncPage([Ga],Ha,mt,async()=>{if(Lr.length>0&&S$1.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Un of Lr)await S$1.saveDecryptRecovery(Un);})||!mt())continue;let ja=pe.nextBaseIndexes[pt.channelId];ja!==void 0&&await G.saveChannelSyncCheckpoint({version:1,conversation:Ga,startIndex:Ge.get(pt.channelId),baseIndex:ja},mt);for(let Un of Lr)mt()&&Tr(Un).catch(Hu=>n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:Hu}}));}})();Ee.add(To);try{await To;}finally{Ee.delete(To);}}}).catch(O=>{Je={cause:O};}),!g)return;let Ze=ae.flatMap(O=>{let pe=O.last;if(pe===void 0||Xt(pe))return [];let Le=pe.extensions?.historyCursor;return [{summary:O,last:pe,historyCursor:typeof Le=="string"?Le.trim():""}]}),ln=(O,pe)=>`${O}:${pe}`,Mn=new Map,qn=new Set;for(let{summary:O,last:pe}of Ze){let Le=G.getConversationMessage({conversationType:"channel",conversationId:O.channelId},pe.id);if(Le===void 0||!Xt(Le))continue;let Be=ln(O.channelId,pe.id);Mn.set(Be,Le),qn.add(Be);}for(let O of wn)Xt(O)&&Mn.set(ln(O.conversationId,O.id),O);let Gn=Ze.filter(({summary:O,last:pe,historyCursor:Le})=>Le!==""&&!$.has(O.channelId)&&!nn(O.channelState)&&!Mn.has(ln(pe.conversationId,pe.id))&&!Io.has(ln(pe.conversationId,pe.id))),on=Ze.filter(({summary:O,last:pe})=>!$.has(O.channelId)&&!nn(O.channelState)&&!qn.has(ln(pe.conversationId,pe.id))&&Mn.has(ln(pe.conversationId,pe.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:Ze.length,decryptFailedLastCount:Ze.filter(({last:O})=>O.encryption.decryptFailed===true).length,unknownContentLastCount:Ze.filter(({last:O})=>O.contentType==="unknown"&&O.encryption.decryptFailed!==true).length,localRecoveredCount:qn.size,offlineRecoveredCount:on,contextRecoveryCount:Gn.length,staleReadSkippedCount:Ze.filter(O=>$.has(O.summary.channelId)).length,historyBlockedSkippedCount:Ze.filter(O=>nn(O.summary.channelState)).length,missingHistoryCursorCount:Ze.filter(O=>O.historyCursor==="").length}}));let or=async({summary:O,last:pe,historyCursor:Le})=>{try{if(await V.waitForBackground(fe.signal),!oe(O.channelId))return;let{message:Be}=await ut.loadMessageContext(O.channelId,Le,l.userId,fe.signal),Wn=G.getConversationContext({conversationType:"channel",conversationId:O.channelId});if(!g||Wn?.type!=="channel"||Wn.channelState!==void 0&&nn(Wn.channelState))return;if(Be.conversationType!=="channel"||Be.conversationId!==O.channelId||Be.id!==pe.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${O.channelId}, messageId=${pe.id}\uFF09`);if(!Xt(Be)){if(Be.contentType==="unknown"&&Be.encryption.decryptFailed!==!0){Io.add(ln(Be.conversationId,Be.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:O.channelId},data:{messageId:pe.id,reason:Be.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${O.channelId}, messageId=${pe.id}\uFF09`)}return Be}catch(Be){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:O.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Be},data:{messageId:pe.id}}));return}},Nt=[];for(let O of Gn){if(!g)break;Nt.push(await or(O));}for(let O of Nt)O!==void 0&&Mn.set(ln(O.conversationId,O.id),O);let Gu=Nt.filter(O=>{if(O===void 0)return false;let pe=G.getConversationMessage({conversationType:"channel",conversationId:O.conversationId},O.id);return pe===void 0||!Xt(pe)});if(ne(Gu),Je!==void 0)throw Je.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:T.length,terminalProfileCount:T.filter(O=>q(O.channelState)).length,sessionCount:te.length,acceptedSessionCount:ae.length,sessionLastCount:ae.filter(O=>O.last!==void 0).length,recoveredSessionLastCount:Ze.filter(({last:O})=>Mn.has(ln(O.conversationId,O.id))).length,offlineMessageCount:wn.length}}));}let tr=null,wo=false;function Su(){return tr!==null?(wo=true,tr):(tr=(async()=>{let l;do{wo=false,l=void 0;try{await bu();}catch(T){l=T;}}while(wo);if(l!==void 0)throw l})().finally(()=>{tr=null;}),tr)}async function Oa$1(t,l=[]){if(!g)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88");await G.commitReceivedMessages(t,"offline",void 0,{events:l??[],apply:B=>Ot.ingest(B,"offline")});let T=t.flatMap(B=>{let ie=N.get(m$1({conversation:{conversationType:B.conversationType,conversationId:B.conversationId},messageId:B.id}));return ie===void 0?[]:[ie]});if(await Promise.all(T),!g)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88")}let Pu=Bb({commitBatch:Oa$1,pullers:[Da$2("chat",Ba),Da$2("owner_chat",Ca),hu()],domainState:G,emitter:n$2,logger:x,yieldToEventLoop:b$1});function Au(){return g&&z$1==="ready"&&qe&&we===0&&Ce.state==="authenticated"}async function xa(){if(je!==void 0&&(!je.owned||$e))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=Ae.begin(),l=Te.begin(),T=Cu().catch(ie=>{throw n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:ie}}),ie}),B=Su().catch(ie=>{throw n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:ie}}),ie});we+=1;try{let ce=(await Promise.allSettled([Pu.sync({rejectOnFailure:!0}),T,B])).find(te=>te.status==="rejected");if(ce?.status==="rejected")throw ce.reason}finally{l(),t(),we-=1,qe=Ce.state==="authenticated",H?.notifySchedulingChanged();}}async function Eu(){if(z$1==="ready")return;z$1="preparing";let t=await c.getLoginContext();if(g){if(t!==null){if(await yu(t.userId),!g)return;o$1=t.userId;try{await y?.prepare(t.userId);}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u672C\u6B21\u4E0A\u4F20\u4EC5\u652F\u6301\u5F53\u524D\u9875\u9762\u5185\u6062\u590D"}});}if(!g)return;if(vn!==void 0&&vn.getUserPrivateKey(t.userId),S$1!==void 0)try{if(await S$1.open({namespace:t.userId}),Q=!0,!g)return;try{await L.hydrate();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!g||(await G.hydrate(()=>g),!g))return;for(let l of G.getSessions())l.title===""&&l.type!=="supergroup"&&G.refreshConversationProfile(l.id,l.type);if(await Ce.hydrateOutbox(()=>g),!g)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!g)return;if(mn!==void 0)for(let l of G.getSessions())l.type==="group"&&dt(l.id);}g&&(z$1="ready",o$1!==""&&Or.start());}}function Na(){if($e)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(z$1==="ready")return Promise.resolve();if(Kn!==null)return Kn;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),Kn=Eu().then(()=>u$1.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw u$1.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{Kn=null;}),Kn}function Ru(t){if($e)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!g||$e)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(xe=true,Ce.state==="authenticated")return Promise.resolve();if(A$1!==null)return A$1;Y=t?.initialSync??"auto",Oe=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:Y}}));let T=Ve;return A$1=(async()=>{await Na(),!(!g||!xe||T!==Ve)&&(xr.start(),await Ce.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(B=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:B}})),B}).finally(()=>{A$1=null;}),A$1}function La(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),xe=false,Ve+=1,Ea$2(),Ce.disconnect(t),xr.stop();}function Fa$1(t,l={}){if(Ye!==void 0)return Ye;let T,B;return Ye=new Promise((ie,ce)=>{T=ie,B=ce;}),wu(t,l).then(T,B),Ye}async function wu(t,l){let T=Date.now(),B;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),g=false,fe.abort(),V.dispose(),Te.dispose(),Ae.dispose(),Ao.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let ie=Or.dispose(),ce=H?.dispose();Kl(),gu(),nr.dispose(),Ea$2(),Mo.dispose(),So.dispose(),Ot.dispose(),_a$1.dispose(),kr.dispose(),he.dispose(),M.dispose(),b.dispose();let te=Ce.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let ve of Me)ve.close();Me.clear(),ke+=1,Ce.markOutboxForLogout(t?.pendingMessages??"fail"),wa$1.dispose(),Ta$1.dispose(),ut.dispose(),cn.dispose(),zn.dispose(),Vn.dispose(),de.dispose();let $=L.dispose();F.dispose();let ae=G.invalidateAndDrainDraftOperations();ee.dispose(),su(),cu(),uu(),Ra$1.dispose(),Eo.reset(),_e?.clearAll(),_t.clear(),yo.clear(),Io.clear(),La("im-logout"),(l.requireStorageClose||je?.owned===true)&&await Kn?.catch(()=>{});try{await te;}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u4EFB\u52A1\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u672C\u5730\u6570\u636E\u4E0E\u7F51\u7EDC\u72B6\u6001"}});}await ie;try{await y?.dispose(l.preserveUploadRecovery===!0);}catch(ve){B=ve,n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u6E05\u7406\u5931\u8D25\uFF0C\u8BF7\u6E05\u9664\u6B64\u7AD9\u70B9\u7684\u672C\u5730\u6570\u636E"}});}await ae,await $,await ce,await Promise.allSettled([...Ee]),await G.waitForChannelSyncPersistence(),await Promise.allSettled([...N.values(),...Yt.values()]),await Promise.all([...i$1.values()]),G.clearSession();let le=t?.localData==="purge"?o$1:"",X=le===""?void 0:B,oe,ne=true;if(S$1!==void 0)try{await S$1.close();}catch(ve){ne=false,le!==""&&(X=ve),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:le===""?"\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:ve}});}if(le!==""&&ne)try{w$1!==void 0?await w$1.purgeCurrentAccount({namespaceFactory:r,accountId:le}):await eb$1(le,{namespaceFactory:r}),X===void 0&&(oe=le);}catch(ve){X=ve,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ve}});}if(z$1="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-T,data:{purgedAccountId:oe,purgeFailed:X!==void 0}})),p$1(),re(),vu(),$e=true,(l.requireStorageClose||je!==void 0)&&!ne)throw new Error("Previous chat page could not close its account storage");return je?.stop(),{...oe===void 0?{}:{purgedAccountId:oe},...X===void 0?{}:{purgeError:X}}}function Tu(){return {sessionState:z$1,connectionState:Ce.state,...o$1!==""?{userId:o$1}:{},prepared:z$1==="ready",connectionDesired:xe,authenticated:Ce.state==="authenticated",receiving:Ae.receiving,syncing:Te.receiving}}function _u(t){return n$2.subscribe(t)}function Du(){return {connectionState:Ce.state,pendingOutbox:Ce.getPendingOutbox()}}function ku(){return G.getConversationList()}On=async({conversation:t,newestLoaded:l,cursor:T,limit:B,signal:ie})=>{ie?.throwIfAborted();let{conversationId:ce}=t,te=G.getConversationContext(t);if(te===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ce}\uFF09`);if(te.type==="direct"||te.type==="robot")return {messages:[],exhausted:true};if(te.type==="group"){if(te.groupState!==void 0&&te.groupState!=="active")return {messages:[],exhausted:true};let $=await c.getLoginContext();if($===null)return {messages:[],exhausted:true};let ae=T===void 0?l?.serverTime??l?.createdAt:El(T,ce);if(ae===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${ce}, messageId=${l?.id??""}\uFF09`);let le=await Ha({signal:ie,http:f$1,userId:$.userId,clientType:a$1,groupId:ce,baseTime:ae,direct:2,limit:B,decryptDeps:Tt("history"),prepareKeys:wt,onReaction:Rn});ie?.throwIfAborted(),le.messages.length>0&&G.upsertMessages(le.messages,"offline",{backfillOnly:true});let X=Pr({conversationId:ce,direction:"newer",baseTime:ae,batchSize:le.batchSize,boundaryTime:le.newestEntryTime,limit:B});return {messages:le.messages,...X}}if(te.type==="channel"){if(te.channelState!==void 0&&nn(te.channelState))return {messages:[],exhausted:true};let $=T??l?.extensions?.historyCursor;if(typeof $!="string"||$.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${ce}, messageId=${l?.id??""}\uFF09`);let ae=ke,le=Se(ce),X=await c.getLoginContext();if(X===null)return {messages:[],exhausted:true};let oe=T===void 0?(await ut.loadMessageContext(ce,$,X.userId,ie)).context:await ut.loadNewerPage(ce,$,X.userId,ie);ie?.throwIfAborted();let ne=G.getConversationContext(t);return !g||ae!==ke||le!==Se(ce)||ne?.type!=="channel"||ne.channelState!==void 0&&nn(ne.channelState)?{messages:[],exhausted:true}:(oe.messages.length>0&&G.upsertMessages(oe.messages,"offline",{backfillOnly:true}),{messages:oe.messages,exhausted:!oe.hasNewer,...!oe.hasNewer||oe.nextCursor===void 0?{}:{nextCursor:oe.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${te.type}`)};function Ou(t){let l=t.conversationId,T=o$1,B=ke,ie=Se(l),ce,te;return async({readCursor:$,cursor:ae,signal:le,isCurrent:X})=>{let oe=V.enterForeground();try{let ne=()=>{let He=G.getConversationContext(t);return g&&o$1===T&&X()&&B===ke&&ie===Se(l)&&He?.type==="channel"&&(He.channelState===void 0||!nn(He.channelState))};if(le.throwIfAborted(),!ne()||ae!==void 0&&(ce!==$||te===void 0))return;let ve=await c.getLoginContext();if(le.throwIfAborted(),ve===null||ve.userId!==T||!ne())return;let wn=[],Ge=[],bn=await S({http:f$1,userId:ve.userId,clientType:a$1,channelId:l,index:ae??$,containAnchor:ae===void 0,signal:le,decryptDeps:{...Cn("history"),onDecryptRecovery:He=>Ge.push({...He,source:"history"})},prepareKey:He=>En([He],{recoverExistingMessages:!1}),onContentDecodeError:k,onReaction:He=>wn.push(He)});if(le.throwIfAborted(),!ne())return;if(ae===void 0){let He=bn.messages.find(Je=>Je.extensions?.historyCursor===$);if(He===void 0)return;ce=$,te=He.sortKey;}if(te===void 0||(bn.messages.length>0&&G.upsertMessages(bn.messages,"offline",{backfillOnly:!0}),!ne()))return;for(let He of wn){if(!ne())return;Rn(He);}for(let He of Ge){if(!ne())return;U(He);}return ne()?{messages:bn.messages.map(He=>{let Je=G.getConversationMessage(t,He.id);if(Je===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Je}),readCursorSortKey:te,exhausted:!bn.hasNewer,...bn.nextCursor===void 0?{}:{nextCursor:bn.nextCursor}}:void 0}finally{oe();}}}async function Ua$1(){let t=await c.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await Ro(t.userId),T=await Da$1({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:Rn}),B=await Ea$1({http:f$1,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:Rn}),ie=[...T,...B];return G.upsertMessages(ie,"offline"),ie}async function xu(){await xa();}let Nu=2;function Nn(t){let l=Z({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Lu(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Fu(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let l=t;return {code:l.code,category:l.category,retryable:l.retryable}}return t instanceof n$1?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Ka(t){if(!g)throw Nn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Uu(t){let l=t?.conversationType,T=t?.conversationId;if(l==="supergroup")throw Nn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof T!="string"||T.trim()==="")throw Nn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:T.trim()})}function xt(t,l){return {id:t.conversationId,type:t.conversationType,title:l.title.trim()||t.conversationId,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:l.muted??false,...l.groupState===void 0?{}:{groupState:l.groupState},...l.channelState===void 0?{}:{channelState:l.channelState},...l.channelPermissions===void 0?{}:{channelPermissions:l.channelPermissions},...l.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:l.channelAccessSnapshot},...l.sendDisabledReason===void 0?{}:{sendDisabledReason:l.sendDisabledReason}}}async function Ku(t){let l=Uu(t);if(Ka(l),G.getSession(l)!==void 0)return l;let T=Ae.begin(),B=false,ie=n$2.subscribe(te=>{te.type==="session:removed"&&te.conversation.conversationType===l.conversationType&&te.conversation.conversationId===l.conversationId&&(B=true);}),ce=()=>{if(Ka(l),B)throw Nn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let X=zn.peekItem("individual",l.conversationId);if(X!==void 0)return G.prepareConversation(xt(l,{title:X.displayName||X.cardDisplayName,...X.avatarUrl===void 0?{}:{avatar:X.avatarUrl}})),l;let oe=await b.getRelationship(l.conversationId);if(ce(),oe!=="friend")throw Nn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:oe})});let ne=await b.getProfile(l.conversationId);if(ce(),ne===null||ne.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return G.prepareConversation(xt(l,{title:ne.remark??ne.nickname,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted}})),l}if(l.conversationType==="group"){let X=G.isMembershipTerminated(l),oe=zn.peekItem("group",l.conversationId);if(oe!==void 0&&!X)return G.prepareConversation(xt(l,{title:oe.displayName||oe.cardDisplayName,...oe.avatarUrl===void 0?{}:{avatar:oe.avatarUrl},groupState:"active"})),l;if(An===void 0)throw Nn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let ne=await An.getGroupProfile(l.conversationId,X?{forceRefresh:!0}:void 0);if(ce(),ne===null||ne.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(ne.isInGroup===!1||X&&ne.isInGroup!==!0||ne.status!==void 0&&ne.status!==Nu)throw Nn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...ne.status===void 0?{}:{status:ne.status},...ne.isInGroup===void 0?{}:{isInGroup:ne.isInGroup}})});return G.prepareConversation(xt(l,{title:ne.name,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted},groupState:"active"}),{membershipConfirmed:X}),X&&(ce(),Qt({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let X=Vn.peek(l.conversationId);return G.prepareConversation(xt(l,{title:X?.displayName??l.conversationId,...X?.avatarUrl===void 0?{}:{avatar:X.avatarUrl}})),l}if(Dn===void 0)throw Nn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let te=G.isMembershipTerminated(l),$=await Dn.getProfile(l.conversationId,te?{forceRefresh:!0}:void 0);if(ce(),$===null||$.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let ae=$.channelState==="active"||$.channelState==="muted",le=$.channelState==="muted"&&$.accessSnapshot?.allMembersMuted===!0&&$.role!=="owner"&&$.role!=="admin";if(!ae||le)throw Nn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:$.channelState,role:$.role,hiddenByAllMemberMute:le})});return G.prepareConversation(xt(l,{title:$.name,...$.avatar===void 0?{}:{avatar:$.avatar},...$.muted===void 0?{}:{muted:$.muted},channelState:$.channelState,channelPermissions:$.permissions,...$.accessSnapshot===void 0?{}:{channelAccessSnapshot:$.accessSnapshot},...$.permissions.sendMessages?{}:{sendDisabledReason:`channel_${$.channelState}`}}),{membershipConfirmed:te}),te&&(ce(),Qt({conversationType:"channel",conversationId:l.conversationId})),l}catch(te){if(Lu(te))throw te;let $=Fu(te);throw Nn({...$,conversation:l,cause:te})}finally{ie(),T();}}let rr={...Pd({...h$1===void 0?{}:{coreClient:h$1},authProvider:c,http:f$1,resolveInput:ge,domainState:G,operations:{list:ku,pullOffline:Ua$1,sync:xu,prefetchRecent:(t,l)=>H.prefetchRecent(t,l)},beforeDeleteConversation:Bn,terminateConversationSending:(t,l)=>Ce.terminateConversationSending(t,l),resetConversationBackground:t=>de.api.resetBackground(t),reportStorageError:(t,l)=>n$2.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>Ce.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await Ba$1(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...de.api,ensureOpenableConversation:Ku,getContext:t=>G.getConversationContext(t)};function Bu(t,l=true){let T=new AbortController,B={...t,resumeMedia(){!l||!g||T.signal.aborted||Ce.state!=="authenticated"||t.ref.conversationType==="robot"||Ce.resumePausedMediaUploads(t.ref,T.signal).catch(()=>{g&&!T.signal.aborted&&n$2.emit({type:"error",error:{scope:"unknown",message:"\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4F20\u6062\u590D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6"}});});},close(){T.abort(),t.close(),Me.delete(B);}};return co(B,t),Me.add(B),l&&B.resumeMedia(),B}function Nr(t,l,T=true){if(!g)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return l?.aborted&&(t.close(),l.throwIfAborted()),Bu(t,T)}async function Ba$1(t,l={},T){if(!g)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let B=H?.enterForeground(t),ie=V.enterForeground(),ce=Ae.begin();try{let te={beginReceiving:Ae.begin,domainState:G,invalidateHistory:Bn,emitter:n$2,drafts:F.api,sendText:ze.operations.sendText,sendContact:ze.operations.sendContact,sendImage:ze.operations.sendImage,sendVideo:ze.operations.sendVideo,sendVoice:ze.operations.sendVoice,sendFile:ze.operations.sendFile,sendGif:ze.operations.sendGif,sendMediaAlbum:ze.operations.sendMediaAlbum,sendExpression:ze.operations.sendExpression,sendGame:ze.operations.sendGame,sendMiniProgram:ze.operations.sendMiniProgram,sendTransfer:ze.operations.sendTransfer,sendGift:ze.operations.sendGift,replaceVideo:ze.operations.replaceInterruptedVideo,replaceFile:ze.operations.replaceInterruptedFile,forwardMessages:ze.operations.forwardMessages,recallMessage:ze.operations.recallMessage,editMessage:ze.operations.editMessage,setReaction:({conversation:$,parentMessageId:ae,emoji:le,action:X})=>{if($.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let oe={conversationType:$.conversationType,conversationId:$.conversationId};return X==="toggle"?Ot.toggle({conversation:oe,parentMessageId:ae,emoji:le}):Ot.set({conversation:oe,parentMessageId:ae,emoji:le,action:X==="add"?0:1})},markRead:ze.operations.markRead,markConversationRead:ze.operations.markConversationRead,markVisibleMessages:ze.operations.markVisibleMessages,markDirectMediaConsumed:ze.operations.markDirectMediaConsumed,prepareMediaPreview:Ke,getSelfId:()=>o$1,isOutboxOwned:$=>Ce.getPendingOutbox().some(ae=>ae.id===$),hasOutboxForConversation:$=>Ce.getPendingOutbox().some(ae=>ae.conversationType===$.conversationType&&ae.conversationId===$.conversationId),resolveSearchHistoryAnchor:ee.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let $={conversationType:"direct",conversationId:t.conversationId},ae=await qd($,{...te,getRelationship:b.getRelationship,shouldCheckRelationship:()=>Ce.state==="authenticated",appendContactRequiredTextFailure:X=>G.appendDirectContactRequiredTextFailure({conversationId:X.conversationId,senderId:o$1,text:X.text,...X.refMessageId===void 0?{}:{refMessageId:X.refMessageId}}),setMuted:(X,oe)=>rr.setMuted(X,oe),fetchMessagesByIdBatch:Bl},l),le=Nr(ae,l.signal,T!=="read");return _r($),le}case "group":{let $={conversationType:"group",conversationId:t.conversationId},ae=await Wd($,{...te,getSendPermissionError:X=>{let oe=G.getConversationContext($),ne=oe?.type==="group"?oe.groupState:"unknown";if(!(ne===void 0||ne==="active"))return Z({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:X,retryable:!1,conversation:$,details:Object.freeze({groupState:ne})})},setMuted:(X,oe)=>rr.setMuted(X,oe),fetchMessagesByIdBatch:X=>Gl($.conversationId,X)},l),le=Nr(ae,l.signal,T!=="read");return _r($),le}case "channel":{let $={conversationType:"channel",conversationId:t.conversationId},ae=await Yd($,{...te,loadEntryUnreadPage:Ou($),getSelfId:()=>o$1,deleteMessageForEveryone:Ce.deleteChannelMessageForEveryone,reconcilePage:pu.reconcilePage,getSendPermissionError:X=>{let oe=G.getConversationContext($),ne=oe?.type==="channel"&&oe.channelState!==void 0?oe.channelState:"unknown_restricted",ve=Da({channelState:ne,nowMs:Date.now(),...oe?.type!=="channel"||oe.channelAccessSnapshot===void 0?{}:{snapshot:oe.channelAccessSnapshot},...oe?.type!=="channel"||oe.channelPermissions===void 0?{}:{permissions:oe.channelPermissions}});if(!(ve.channelState==="active"&&ve.permissions.sendMessages))return Z({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:X,retryable:!1,conversation:$,details:Object.freeze({channelState:ve.channelState,...ve.muteReason===void 0?{}:{muteReason:ve.muteReason}})})},setMuted:(X,oe)=>rr.setMuted(X,oe),fetchMessagesByIdBatch:X=>Hl($.conversationId,X)},l),le=Nr(ae,l.signal,T!=="read");return _r($),le}case "robot":{let $={conversationType:"robot",conversationId:t.conversationId},ae=await $d($,{...te,setMuted:(le,X)=>rr.setMuted(le,X)},l);return Nr(ae,l.signal,T!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{ce(),B?.(),ie();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await ze.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Ba$1,localData:Et,directory:zn.search,robots:Vn.api,search:ee.api,applications:M.api,expressions:Vt.api,sessionFavorites:mo.api,outbox:_a$1.api,drafts:F.api,connection:Rd({operations:{prepare:Na,connect:Ru,disconnect:La,subscribe:_u,getSnapshot:Du,getLifecycle:Tu},getState:()=>Ce.state}),conversations:rr,settings:L.api,push:nr.api,contact:b,group:xc({directory:zn.groups,...An===void 0?{}:{profile:An},...h$1===void 0?{}:{coreClient:h$1},...ye===void 0?{}:{avatarTransfer:ye},domainState:{...Zt,prepareConversation:t=>G.prepareConversation(t)},emitter:n$2,pinned:wa$1.operations}),channel:bd({directory:zn.channels,...Dn===void 0?{}:{channelProfile:Dn},...Pe===void 0?{}:{channelMembers:Pe},...st===void 0?{}:{channelMentionMembers:st},mentionCandidates:cn.api,applications:ut.applications,pinned:Ta$1.operations,...h$1===void 0?{}:{coreClient:h$1},...ye===void 0?{}:{avatarTransfer:ye},crypto:me,domainState:{prepareConversation:t=>G.prepareConversation(t),setChannelRestriction:G.setChannelRestriction,removeConversationForMembershipTermination:Zt.removeConversationForMembershipTermination,updateConversationProfile:G.updateConversationProfile,refreshConversationProfile:G.refreshConversationProfile},emitter:n$2,..._e===void 0?{}:{cacheCreatedSecretKey:(t,l)=>_e.primeChannelKey(t,l)},getSelfUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??""}),media:kr.api,calls:Dd(Mo),groupCalls:ll(So),teardown:Fa$1}}function Cf(e){let n=bf(e);return _l(Dl(n),e.coreApi!==void 0)}function HI(e){return Dl(Mf(e))}function bf(e){return {...wl(e),...e.coreApi===void 0?{}:{coreClient:Tl(e.authProvider,e.coreApi)}}}function wl(e){let{authProvider:n,cache:r,clientType:d,connection:a,debug:c,endpointProvider:o,expressions:u,media:g,onRequestError:y,uploadRecovery:C}=e;return {authProvider:n,onRequestError:y,cache:r,clientType:d,connection:a,debug:c,endpointProvider:o,expressions:u,media:g,uploadRecovery:C}}function Mf(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:a,channelProfile:c,contactApplications:o,coreApi:u,coreClient:g,directory:y,expressionProvider:C,sessionFavoriteProvider:h,http:f,network:R,profile:w,groupApplications:S,transport:N}=e;return {...wl(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:a,channelProfile:c,contactApplications:o,directory:y,expressionProvider:C,sessionFavoriteProvider:h,...g!==void 0?{coreClient:g}:u===void 0?{}:{coreClient:Tl(e.authProvider,u)},http:f,network:R,profile:w,groupApplications:S,transport:N}}function Tl(e,n){let r=n.baseUrl.trim();if(r==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return B({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:r,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function _l(e,n){let r=ed({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),d={clearCache:()=>e.media.clearCache(),getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:(s,i)=>i===void 0?e.media.cancel(s):e.media.cancel(s,i),retry:(s,i)=>e.media.retry(s,i),pause:s=>e.media.pause(s),resume:s=>e.media.resume(s),getUploadRecovery:s=>e.media.getUploadRecovery(s),resumeUpload:(s,i)=>e.media.resumeUpload(s,i),download:s=>e.media.download(s),prioritizeDownload:s=>e.media.prioritizeDownload(s),probeCached:s=>e.media.probeCached(s),subscribeCacheChanges:s=>e.media.subscribeCacheChanges(s),getCached:s=>e.media.getCached(s),prepareLocalPreview:s=>e.media.prepareLocalPreview(s),prepareLocalVideoPoster:s=>e.media.prepareLocalVideoPoster(s)},a=s=>Promise.reject(Z({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function c(s,i,m){if(!n)return a(s);try{return await i()}catch(E){throw na(E,s,m)}}function o(s,i,m){if(!n)throw Z({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:m});try{return i()}catch(E){throw na(E,s,m)}}let u,g=s=>c("contacts.getRelationship",()=>e.contacts.getRelationship(s)),y=(s,i)=>c("groups.getProfile",async()=>{let m=await e.groups.getProfile(s,i);return m===null?null:md(s,m)},s),C=(s,i)=>c("channels.getProfile",async()=>{let m=await e.channels.getProfile(s,i);return m===null?null:fd(s,m)},s),h={listFirstPage:s=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>c("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,i)=>c("contacts.getProfile",async()=>{let m=await e.contacts.getProfile(s,i);return m===null?null:pd(s,m)}),getRelationship:async s=>{let i=s.trim(),m={conversationType:"direct",conversationId:i},E=u?.beginProjectionUpdate(m),_=await g(s);return E!==void 0&&u?.updateRelationshipProjection(i,_,E),_},setRemark:(s,i)=>c("contacts.setRemark",()=>e.contacts.setRemark(s,{...i.name===void 0?{}:{name:i.name},...i.emails===void 0?{}:{email:[...i.emails]},...i.phones===void 0?{}:{phones:i.phones.map(m=>({countryCode:m.countryCode,mobile:m.mobile}))}})),searchUser:s=>c("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,i)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,i)),blockUser:s=>c("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,i)=>c("contacts.reportUser",()=>e.contacts.reportUser(s,i),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},f={search:s=>c("directory.search",()=>e.directory.search(s))},R={listFirstPage:s=>c("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>c("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>c("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>a("groups.mentions.listAll"),refreshAll:()=>a("groups.mentions.refreshAll")},getProfile:async(s,i)=>{let m=u?.beginProjectionUpdate(s),E=await y(s,i);return m!==void 0&&u?.updateGroupProfileProjection(s,E,m),E},updateName:(s,i)=>c("groups.updateName",()=>e.groups.updateName(s,i),s),updateAvatar:(s,i)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(s,i),s),setMyNickname:(s,i)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(s,i),s),updateVerification:(s,i,m)=>c("groups.updateVerification",()=>e.groups.updateVerification(s,i,m),s),requestJoin:(s,i)=>c("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,i),s),joinByInviteCode:(s,i)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,i),s),inviteMembers:(s,i)=>c("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,i),s),removeMember:(s,i)=>c("groups.removeMember",()=>e.group.removeMember(s.conversationId,i),s),transferOwnership:(s,i)=>c("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,i),s),leave:(s,i)=>c("groups.leave",()=>e.group.leave(s.conversationId,i),s),peekPinnedMessage:s=>o("groups.peekPinnedMessage",()=>{let i=e.group.peekPinnedMessage(s.conversationId);return i===null?null:io(s,i)},s),getPinnedMessage:s=>c("groups.getPinnedMessage",async()=>{let i=await e.groups.getPinnedMessage(s);return i===null?null:io(s,i)},s),pinMessage:(s,i)=>c("groups.pinMessage",async()=>{let m=await e.groups.pinMessage(s,i);return io(s,m)},s),unpinMessage:s=>c("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},w={listFirstPage:s=>c("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>c("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>c("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,i)=>{let m=u?.beginProjectionUpdate(s),E=await C(s,i);return m!==void 0&&u?.updateChannelProfileProjection(s,E,m),E},updateName:(s,i)=>c("channels.updateName",()=>e.channel.updateName(s.conversationId,i),s),updateDescription:(s,i)=>c("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,i),s),updateAvatar:(s,i)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,i),s),updateVerification:(s,i,m)=>c("channels.updateVerification",()=>e.channels.updateVerification(s,i,m),s),requestJoin:(s,i)=>c("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,i),s),joinByInviteCode:(s,i)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,i),s),setAllMuted:(s,i)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,i),s),setMemberPrivateChatDisabled:(s,i)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,i),s),setMyNickname:(s,i)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,i),s),setMemberNickname:(s,i,m)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,i,m),s),inviteMembers:(s,i)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,i),s),removeMember:(s,i)=>c("channels.removeMember",()=>e.channel.removeMember(s.conversationId,i),s),addAdmin:(s,i)=>c("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,i),s),removeAdmin:(s,i)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,i),s),transferOwnership:(s,i)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,i),s),leave:(s,i)=>c("channels.leave",()=>e.channel.leave(s.conversationId,i),s),dismiss:s=>c("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>o("channels.peekPinnedMessage",()=>{let i=e.channel.peekPinnedMessage(s.conversationId);return i===null?null:so(s,i)},s),getPinnedMessage:s=>c("channels.getPinnedMessage",async()=>{let i=await e.channels.getPinnedMessage(s);return i===null?null:so(s,i)},s),pinMessage:(s,i)=>c("channels.pinMessage",async()=>{let m=await e.channels.pinMessage(s,i);return so(s,m)},s),unpinMessage:s=>c("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},S=Zc({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let i=e.conversations.getContext(s);return i===void 0?void 0:to({...i,draft:null})},subscribeConversations:s=>r.api.subscribe(i=>s(i.items)),subscribeContext:s=>e.connection.subscribe(i=>{i.type==="conversation-context:updated"&&i.conversation.conversationType!=="supergroup"&&s({conversationType:i.conversation.conversationType,conversationId:i.conversation.conversationId});}),getRelationship:g,getGroupProfile:y,getChannelProfile:C});u=S;let N=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{S.reset();try{await e.session.logout(s);}finally{S.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function I(s,i={}){let m=e.conversations,E=e.openConversation,_=await m.ensureOpenableConversation(s);return _.conversationType==="direct"?E({conversationType:"direct",conversationId:_.conversationId},i):_.conversationType==="group"?E({conversationType:"group",conversationId:_.conversationId},i):_.conversationType==="robot"?E({conversationType:"robot",conversationId:_.conversationId},i):E({conversationType:"channel",conversationId:_.conversationId},i)}let D={get session(){return N},get capabilities(){return S.api},get conversations(){return r.api},get directory(){return f},get robots(){return e.robots},get contacts(){return h},get groups(){return R},get channels(){return w},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 d},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:I,dispose:async()=>{S.dispose(),r.dispose(),await e.dispose();}};return ta(D,()=>Id(e)),D}function jI(e,n){return _l(e,n.coreApiAvailable)}function Dl(e){let n=b(e.cache?.prefix),r=e.adapters?.namespaceFactory??n;if(r.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=vb(),a=0,c=()=>Rl(e,d,r,a++),o=c(),u=false,g;async function y(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let i=o;await i.teardown(s),!u&&o===i&&(o=c());}async function C(){if(u)throw tt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=o,i=await s.localData.getInfo();if(u||o!==s)throw tt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let m;try{m=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(E){throw !u&&o===s&&(o=c()),tt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:E})}if(!u&&o===s&&(o=c()),m.purgedAccountId!==i.accountScope)throw tt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:i.accountScope,cause:m.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});d.emit({type:"local-data:cleared",accountScope:i.accountScope,category:"all"});}let h=dd({getRuntime:()=>o.localData,purgeCurrentAccount:C}),f={start:s=>o.connection.connect(s),stop:async s=>{o.connection.disconnect(s);},logout:y,getSnapshot:()=>o.connection.getLifecycle(),subscribe:s=>(s(o.connection.getLifecycle()),o.connection.subscribe(i=>{(i.type==="connection:changed"||i.type==="receiving:changed"||i.type==="syncing:changed")&&s(o.connection.getLifecycle());}))},R=sd({subscribeCore:s=>o.connection.subscribe(s),getLifecycleSnapshot:()=>o.connection.getLifecycle(),getConversation:s=>{let i=o.conversations.list().find(m=>m.type===s.conversationType&&m.id===s.conversationId);return i===void 0?void 0:to(i)},resolveContactApplicationAnswer:async s=>{let i=o,m=await i.contact.resolveApplicationAnswer(s.peerId,s.messageId);return o===i?m:null}}),w={listFirstPage:s=>o.contact.listFirstPage(s),listNextPage:s=>o.contact.listNextPage(s),getProfile:(s,i)=>o.contact.getProfile(s,i),getRelationship:s=>o.contact.getRelationship(s),setRemark:(s,i)=>o.contact.setRemark(s,i),searchUser:s=>o.contact.searchUser(s),requestFriendship:(s,i)=>o.contact.requestFriendship(s,i),blockUser:s=>o.contact.blockUser(s),reportUser:(s,i)=>o.contact.reportUser(s,i),deleteFriendship:s=>o.contact.deleteFriendship(s)},S={listFirstPage:s=>o.group.listFirstPage(s),listNextPage:s=>o.group.listNextPage(s),uploadAvatar:s=>o.group.uploadAvatar(s),create:s=>o.group.create(s),createFaceToFace:()=>o.group.createFaceToFace(),get mentions(){return o.group.mentions},getProfile:(s,i)=>o.group.getProfile(s.conversationId,i),updateName:(s,i)=>o.group.updateName(s.conversationId,i),updateAvatar:async(s,i)=>{await o.group.updateAvatar(s.conversationId,i);},setMyNickname:(s,i)=>o.group.setMyNickname(s.conversationId,i),updateVerification:(s,i,m)=>o.group.updateVerification(s.conversationId,i,m),requestJoin:(s,i)=>o.group.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>o.group.joinByInviteCode(s.conversationId,i),getPinnedMessage:s=>o.group.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>o.group.pinMessage({groupId:s.conversationId,messageId:i}),unpinMessage:s=>o.group.unpinMessage(s.conversationId)},N={listFirstPage:s=>o.channel.listFirstPage(s),listNextPage:s=>o.channel.listNextPage(s),uploadAvatar:s=>o.channel.uploadAvatar(s),create:s=>o.channel.create(s),get mentions(){return o.channel.mentions},getProfile:(s,i)=>o.channel.getProfile(s.conversationId,i),updateVerification:(s,i,m)=>o.channel.updateVerification(s.conversationId,i,m),requestJoin:(s,i)=>o.channel.requestJoin(s.conversationId,i),joinByInviteCode:(s,i)=>o.channel.joinByInviteCode(s.conversationId,i),setAllMuted:(s,i)=>o.channel.setAllMuted(s.conversationId,i),setMemberPrivateChatDisabled:(s,i)=>o.channel.setMemberPrivateChatDisabled(s.conversationId,i),setMyNickname:(s,i)=>o.channel.setMyNickname(s.conversationId,i),setMemberNickname:(s,i,m)=>o.channel.setMemberNickname(s.conversationId,i,m),dismiss:s=>o.channel.dismiss(s.conversationId),getPinnedMessage:s=>o.channel.getPinnedMessage(s.conversationId),pinMessage:(s,i)=>o.channel.pinMessage({channelId:s.conversationId,messageId:i}),unpinMessage:s=>o.channel.unpinMessage(s.conversationId)};function I(){return g!==void 0||(u=true,g=o.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),g}let D={get session(){return f},get connection(){return o.connection},get conversations(){return o.conversations},get directory(){return o.directory},get robots(){return o.robots},get contacts(){return w},get groups(){return S},get channels(){return N},get events(){return R},get contact(){return o.contact},get group(){return o.group},get channel(){return o.channel},get media(){return o.media},get calls(){return o.calls},get groupCalls(){return o.groupCalls},get settings(){return o.settings},get push(){return o.push},get outbox(){return o.outbox},get localData(){return h},get search(){return o.search},get applications(){return o.applications},get expressions(){return o.expressions},get sessionFavorites(){return o.sessionFavorites},get drafts(){return o.drafts},get openConversation(){return o.openConversation},logout:y,dispose:I};return ta(D,()=>o.advancedMessageDiagnostics),D}var Sf=new TextEncoder;function kl(e,n,r){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${r} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function Ol(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let r of Object.values(e))Ol(r,n);return Object.freeze(e)}function Pf(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:Ol(n),estimatedBytes:Sf.encode(r).byteLength}}catch{return}}function Af(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 Ef(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&&Af(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 Rf(e={}){let n=kl(e.maxRecords,200,"maxRecords"),r=kl(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,a=[],c=0,o=0,u=false;function g(h){let f=a.map(R=>R.record).filter(R=>h===void 0||Ef(R,h));return Object.freeze({records:Object.freeze(f),droppedCount:o,estimatedBytes:c,disposed:u})}function y(){let h=g();for(let f of d)try{f(h);}catch{}}function C(){a.length=0,c=0,o=0;}return {write(h){if(u)return;let f=Pf(h);if(f===void 0||f.estimatedBytes>r){o+=1,y();return}for(a.push(f),c+=f.estimatedBytes;a.length>n||c>r;){let R=a.shift();if(R===void 0)break;c-=R.estimatedBytes,o+=1;}y();},getSnapshot:g,subscribe(h){if(u)return ()=>{};d.add(h);let f=true;return ()=>{f&&(f=false,d.delete(h));}},clear(){u||(C(),y());},dispose(){u||(u=true,C(),d.clear());}}}function wf(e){let n=$a({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),r=new Map,d;function a(o){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(!(o.file instanceof Blob))return Promise.reject(new Xa("upload-source-invalid","Resource upload requires a File or Blob"));if(o.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let g=new AbortController,y=()=>g.abort();o.signal?.addEventListener("abort",y,{once:true});let C=true,h=()=>{if(g.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=o.filename??(typeof File<"u"&&o.file instanceof File?o.file.name:void 0),R=(async()=>{try{let w=await u.uploadResource({data:o.file,kind:o.kind,...f===void 0?{}:{filename:f},...o.file.type===""?{}:{mimeType:o.file.type},signal:g.signal,onProgress:S=>{C&&!g.signal.aborted&&o.onProgress?.(S);}});if(h(),w.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:w.url}}catch(w){throw w instanceof Xa&&w.code==="multipart-abort-failed"||h(),w}finally{C=false,o.signal?.removeEventListener("abort",y);}})();return r.set(g,R),R.then(()=>r.delete(g),()=>r.delete(g)),R}function c(){if(d!==void 0)return d;n=void 0;let o=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(o).then(()=>{}),d}return {upload:a,dispose:c}}export{ju as a,td as b,Fe as c,Yr as d,Zu as e,Qr as f,Fc as g,Uc as h,zo as i,Vo as j,Gc as k,Zr as l,Wo as m,no as n,Cf as o,HI as p,jI as q,Rf as r,wf as s};
|