k2-im 0.1.46 → 0.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- import {B,ab,Ya,hb,gb,C,p,t,u,w,A,Ta,s,l,m,i,Xa,Wa,e,h,f,a,ga,Ia,Aa,Ba,T,na,_a as _a$1,db as db$1,eb as eb$1,b as b$1,bb as bb$1,cb as cb$1,v,$,aa as aa$1,V,U,_,X,Z,W,Oa,ta as ta$1,Pa,ua as ua$1,Ga,Ha,Ca,Da,La as La$1,ba,c,Na,ca as ca$1,da as da$1,Qa,Ma,g,Y,ea as ea$1,fa as fa$1,Ja as Ja$1,Ea as Ea$1,Fa as Fa$1,n,o as o$1,ha,S,ya as ya$1,za,wa as wa$1,xa as xa$1,Ra as Ra$1,va as va$1,d as d$1,Sa as Sa$1,x,oa as oa$2,j as j$1,q,y as y$1,z as z$1,k as k$1,r,la as la$1,ka,ja,ia as ia$1,qa,pa as pa$2,ma as ma$2,R,N,M,L as L$1,K as K$1,J as J$1,I as I$1,Q,P,sa as sa$1,ra as ra$1,O,H,G,F,E as E$1,D as D$1,Ka as Ka$1,fb as fb$1}from'./chunk-R3MSZLO6.js';import {b,wb,Fa,yb,xb,Ra,I,ub,rb,sb,qb,tb,bb,cb,db,eb,va,wa,xa,ya,Ua,Va,mb,hb as hb$1,nb,gb as gb$1,fb,ob,kb,pb,jb,ib,o,A as A$1,lb,Sa,La,Xa as Xa$1,Wa as Wa$1,$a,_a,ab as ab$1,zb,vb,Eb,Ea,j,Ta as Ta$1,z,C as C$1,ga as ga$1,Za,Ka,Ja,oa as oa$1,ma as ma$1,l as l$1,d,c as c$1,E,V as V$1,y,B as B$1,Ga as Ga$1,Na as Na$1,Ma as Ma$1,J,ua as ua$2,Oa as Oa$1,K,L,k,t as t$1,s as s$1,x as x$1,v as v$1,p as p$1,D,Ya as Ya$1,i as i$1,pa as pa$1,q as q$1,n as n$1}from'./chunk-7PCBQBZL.js';async function Qu(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let c={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(c.fromPrefix===c.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(c);}catch(a){try{await e.migrator.rollback(c,a);}catch(d){throw new AggregateError([a,d],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw a}}var ke=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 ke({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new ke({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 ke?n:n instanceof c?new ke({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new ke({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function $r(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 Kt(e){let{teaKey:n,fileEncryptType:r,...c}=e;return c}function ep(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(Kt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Kt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Kt(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(Kt(n))))})},...e.file===void 0?{}:{file:Object.freeze(Kt(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.liveRoom===void 0?{}:{liveRoom:Object.freeze({...e.liveRoom})},...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(Kt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Jr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:ep(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 Bt(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:ma$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function te(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function mr(e,n,r){return te({...{"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 te({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Gt(e,n){let r=new Uint8Array(await n.arrayBuffer()),c=typeof File<"u"&&n instanceof File?n.name:void 0,d=(await e.uploadAvatar({data:r,...c===void 0?{}:{filename:c},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(d==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return d}async function Yr(e,n){let r=await n(e.conversationId,[e.messageId]),c=r.messages.filter(i=>i.id===e.messageId),a=c[0],d=r.missingMessageIds.includes(e.messageId);if(c.length>1||a!==void 0&&(d||a.conversationType!==e.conversationType||a.conversationId!==e.conversationId))throw new ke({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u8FD4\u56DE\u51B2\u7A81\u6216\u9519\u8BEF\u4F1A\u8BDD\u7684\u6D88\u606F"});if(a===void 0){if(d)return null;throw new ke({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u672A\u8FD4\u56DE\u6D88\u606F\u6216\u660E\u786E\u7F3A\u5931\u7ED3\u679C"})}return a.recalled!==void 0||a.deletedForEveryone!==void 0?null:{...e,preview:{state:"ready",message:a}}}var np="IM_SDK_GROUP_NOT_MEMBER",tp="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",rp="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",op="IM_SDK_GROUP_MANAGEMENT_FAILED";function Gc(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ap(e,n,r){if(Gc(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,a=e instanceof oa$2?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":c$1===39011?np:c$1===39029?tp:c$1===39033?rp:e instanceof d$1?op:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof oa$2?"contract":e instanceof c?"network":c$1===39029?"permission":"state",i=te({code:a,category:d,operation:n,retryable:e instanceof c,conversation:{conversationType:"group",conversationId:r},...c$1===void 0?{}:{details:Object.freeze({businessCode:c$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function It(e,n,r){try{return await r()}catch(c){throw ap(c,e,n)??c}}var Bc=39005,ip=39057,sp=39061;function Hc(e){let n=new Map,r=new Map,c=true,a=v=>({conversationType:"group",conversationId:v});function d(v){r.set(v,(r.get(v)??0)+1);}function i(v,D=true){let R=D?h("get",v):e.coreClient;if(R===void 0)return Promise.reject(new ke({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!c)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let N=r.get(v)??0,y$1=n.get(v);if(y$1?.version===N)return y$1.task;let _=()=>c&&(r.get(v)??0)===N&&e.domainState.getConversationContext(a(v))?.type==="group",s=()=>e.domainState.getPinnedMessage(a(v))??null,o=(async()=>{let S=await ea$1({client:R,groupId:v});if(!_())return s();if(!S.ok)throw et("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(a(v),"reconcile"),null;let T=y(S.data.messageContent,{conversationId:v}),L=await Yr(T,e.fetchMessagesById);return _()?L===null?(e.domainState.clearPinnedMessage(a(v),"reconcile"),e.onSourceUnavailable?.(T),null):(e.domainState.setPinnedMessage(L,"reconcile"),s()):s()})();n.set(v,{version:N,task:o});let m=()=>{n.get(v)?.task===o&&n.delete(v);};return o.then(m,m),o}function u(v){if(!c)return;let D=r.get(v)??0;n.get(v)?.version!==D&&i(v,false).catch(R=>{!c||(r.get(v)??0)!==D||e.emitter.emit({type:"error",error:{scope:"http",message:"GROUP \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:R}});});}let f=Ta$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),g=e.emitter.subscribe(v=>{if(v.type==="session:removed"&&v.conversation.conversationType==="group"){d(v.conversation.conversationId);return}if(v.type!=="message:received"&&v.type!=="message:updated"||v.message.conversationType!=="group")return;let D=v.message.body.system?.pinnedMessageAction;(D?.type==="pin"||D?.type==="unpin")&&d(v.message.conversationId),f.handleMessage(v.message);});function C(v,D){if(D.trim()==="")throw new ke({operation:v,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let R=e.domainState.getConversationContext(a(D));if(R===void 0)throw new ke({operation:v,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(R.type!=="group")throw new ke({operation:v,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function h(v,D){if(e.coreClient===void 0)throw new ke({operation:v,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(v,D),e.coreClient}return {operations:{pinMessage:async({groupId:v,messageId:D})=>{let R=h("pin",v),N=e.domainState.getConversationMessage(a(v),D);if(N===void 0)throw new ke({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(N.conversationType!=="group")throw new ke({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(N.conversationId!==v)throw new ke({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:y,pinnedMessage:_}=z(N),s=await ta$1({client:R,groupId:v,messageContent:y});if(!s.ok)throw et("pin",s.code,s.message);d(v),e.domainState.setPinnedMessage(_,"http:pin");let o=e.domainState.getPinnedMessage(a(v));if(o===void 0)throw new ke({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return o}catch(y){throw nt("pin",y)}},unpinMessage:async v=>{let D=h("unpin",v);try{let R=await Oa({client:D,groupId:v});if(!R.ok)throw et("unpin",R.code,R.message);d(v),e.domainState.clearPinnedMessage(a(v),"http:unpin");}catch(R){throw nt("unpin",R)}},getPinnedMessage:async v=>{try{return await i(v)}catch(D){throw nt("get",D)}},peekPinnedMessage:v=>(C("get",v),e.domainState.getPinnedMessage(a(v))??null)},dispose:()=>{c&&(c=false,g());}}}function jc(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,c$1=new Map,a=new Map;function d(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function i(o){let m=[],S=new Set;for(let T of o){if(T.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");S.has(T.userId)||(S.add(T.userId),m.push(Object.freeze({userId:T.userId,displayName:T.nickName.trim()===""?T.userId:T.nickName})));}return Object.freeze(m)}async function u(o,m){d(o);let S=e.profile?.listGroupMembers;if(S===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 T=o.conversationId,L=r.get(T);if(!m&&L!==void 0)return L;let ee=a.get(T);if(ee!==void 0&&(!m||ee.refresh))return ee.promise;let J=(c$1.get(T)??0)+1;c$1.set(T,J);let de=Promise.resolve().then(()=>S(T,m?{forceRefresh:true}:void 0)).then(ge=>{if(ge===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let I=i(ge);return c$1.get(T)===J&&r.set(T,I),I}).finally(()=>{a.get(T)?.promise===de&&a.delete(T);});return a.set(T,{refresh:m,promise:de}),de}function f(o,m,S,T){let ee=te({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...S===void 0?{}:{details:S},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),ee)}function g(o,m,S,T){let L=te({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...S===void 0?{}:{details:S},...T===void 0?{}:{cause:T}});return Object.assign(new Error(m),L)}function C(o){if(o===null||typeof o!="object"||o===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let m=o.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let S=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(S)||S!==1&&S!==2)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let T=String(m),L=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:T}),activation:S===1?"pending":"active",...L===void 0||L===""?{}:{avatarUrl:L},qrPayload:$r(T,L)})}function h(o){if(o===void 0)return;let m=typeof o=="number"?o:Number(o);return Number.isSafeInteger(m)?m:void 0}function P(o){if(typeof o=="boolean")return o;if(o===1||o==="1"||o==="true")return true;if(o===0||o==="0"||o==="false")return false}function v(o){if(o===null||typeof o!="object"||o===void 0)throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let m=o.group_id;if(typeof m!="string"&&typeof m!="number"||String(m).trim()==="")throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let S=String(m),T=o,L=T.name?.trim()??"";if(L==="")throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let ee=h(T.total_users),J=h(T.status),de=h(T.verify_way),ge=h(T.update_version),I=P(T.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:S}),name:L,...T.head_img_url?.trim()===""||T.head_img_url===void 0?{}:{avatar:T.head_img_url},...T.user_id===void 0?{}:{ownerId:String(T.user_id)},...ee===void 0?{}:{memberCount:ee},...J===void 0?{}:{status:J},...I===void 0?{}:{isInGroup:I},...de===void 0?{}:{verifyWay:de},...ge===void 0?{}:{updateVersion:ge},...T.invite_code===void 0?{}:{inviteCode:T.invite_code}}}function D(o){let m=o.name.trim();if(m==="")throw f("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(m.length>40)throw f("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let S=o.memberIds;if(!Array.isArray(S))throw f("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let T=S.map(ee=>typeof ee=="string"?ee.trim():"");if(T.includes(""))throw f("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let L=[...new Set(T)];if(L.length>40)throw f("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:m,memberIds:L}}function R(o,m){let S=o.trim();if(S==="")throw new Error(`${m}\u4E0D\u80FD\u4E3A\u7A7A`);return S}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 y(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let m=o.map(S=>R(S,"\u7FA4\u6210\u5458 id"));return [...new Set(m)]}function _(o,m,S){if(o!==1&&o!==2&&o!==4){let L=te({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:S}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),L)}if(o!==4)return {verifyWay:o};let T=m?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(T)){let L=te({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:S}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),L)}return {verifyWay:o,inviteCode:T}}function s(o){r.delete(o),c$1.set(o,(c$1.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>u(o,false),refreshAll:o=>u(o,true)},getProfile:(o,m)=>e.profile?.getGroupProfile(o,m)??Promise.resolve(null),listMembers:(o,m)=>e.profile?.listGroupMembers?.(o,m)??Promise.resolve(null),getMemberNames:(o,m)=>e.profile?.getGroupMemberNames?.(o,m)??Promise.resolve(null),peekMembers:o=>e.profile?.peekGroupMembers?.(o)??Promise.resolve(null),peekMemberNames:o=>e.profile?.peekGroupMemberNames?.(o)??Promise.resolve(null),peekProfile:o=>e.profile?.peekGroupProfile?.(o)??Promise.resolve(null),updateName:async(o,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 S=m.trim();if(o===""||S==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Qa({client:e.coreClient,groupId:o,name:S}),e.domainState.updateConversationProfile(o,{title:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,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(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let S=await Gt(e.avatarTransfer,m);return await Qa({client:e.coreClient,groupId:o,avatarUrl:S}),e.domainState.updateConversationProfile(o,{avatar:S}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),S},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw f("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 Gt(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw f("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw f("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let m=D(o);try{let S=await da$1({client:e.coreClient,name:m.name,memberIds:m.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!S.ok){let L=S.code===Bc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":S.code===ip?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":S.code===sp?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw f(L,S.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:S.code,message:S.message}))}let T=v(S.data);return e.domainState.prepareConversation({id:T.ref.conversationId,type:"group",title:T.name,...T.avatar===void 0?{}:{avatar:T.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:T})}catch(S){throw S!==void 0&&typeof S=="object"&&S!==null&&"code"in S&&String(S.code).startsWith("IM_SDK_")?S:S instanceof c?f("IM_SDK_GROUP_CREATE_NETWORK_FAILED",S.message,void 0,S):f("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,S)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await ca$1({client:e.coreClient});if(!o.ok){let m=o.code===Bc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(m,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:C(o.data)})}catch(o){throw Gc(o)?o:o instanceof c?g("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,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(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Na({client:e.coreClient,groupId:o,nickname:m}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,m,S)=>{let T=N(),L=R(o,"\u7FA4 id"),ee=_(m,S,L);await It("groups.updateVerification",L,()=>ma$2({client:T,groupId:L,verifyWay:ee.verifyWay,...ee.inviteCode===void 0?{}:{inviteCode:ee.inviteCode}})),s(L);},requestJoin:async(o,m)=>{let S=N(),T=R(o,"\u7FA4 id"),L=m?.remarks?.trim();return It("groups.requestJoin",T,()=>pa$2({client:S,groupId:T,...L===void 0?{}:{remarks:L}}))},joinByInviteCode:async(o,m)=>{let S=N(),T=R(o,"\u7FA4 id"),L=m.trim();if(!/^\d{6}$/.test(L))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return It("groups.joinByInviteCode",T,()=>qa({client:S,groupId:T,inviteCode:L}))},inviteMembers:async(o,m)=>{let S=N(),T=R(o,"\u7FA4 id"),L=y(m);if(L.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await It("groups.inviteMembers",T,()=>ia$1({client:S,groupId:T,userIds:L})),s(T);},removeMember:async(o,m)=>{let S=N(),T=R(o,"\u7FA4 id"),L=R(m,"\u5F85\u79FB\u9664\u6210\u5458 id");await It("groups.removeMember",T,()=>ja({client:S,groupId:T,userId:L})),s(T);},transferOwnership:async(o,m)=>{let S=N(),T=R(o,"\u7FA4 id"),L=R(m,"\u65B0\u7FA4\u4E3B id");await It("groups.transferOwnership",T,()=>ka({client:S,groupId:T,userId:L})),s(T);},leave:async(o,m)=>{let S=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 T=R(o,"\u7FA4 id"),L=m?.newOwnerId===void 0?void 0:R(m.newOwnerId,"\u65B0\u7FA4\u4E3B id");await It("groups.leave",T,()=>la$1({client:S,groupId:T,...L===void 0?{}:{newOwnerId:L}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:T},"group_left"),s(T);},...e.pinned}}var cp="image/jpeg,image/png,image/webp";async function Xr(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,d)=>n[d]===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 c=e.type.trim().toLowerCase();return r!==void 0&&(c===""||c==="application/octet-stream"||c===r)}function Vc(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 qc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Wc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Ho(e,n){let r=e===true||typeof e=="object"&&e.enabled,c=typeof e=="object"?e:void 0,a=Wc();return wb({enabled:r,level:c?.level??"trace",categories:c?.categories??qc,...r?{sink:c?.sink??a,fallbackSink:a}:{},getRuntimeContext:n})}var $c=[{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 jo=Object.freeze($c.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Jc=new Map(jo.flatMap(e=>e.tokens.map(n=>[n,e])));function Yc(e){return Jc.get(e)}function Xc(e){return Jc.has(e)}function vt(e){let n=te(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Qc(e,n){return n instanceof Ra$1?vt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Sa$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 zo(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let c=0;c<e.length;c+=3){let a=e[c]??0,d=e[c+1]??0,i=e[c+2]??0,u=a<<16|d<<8|i;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=c+1<e.length?n.charAt(u>>>6&63):"=",r+=c+2<e.length?n.charAt(u&63):"=";}return r}function Qr(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 Vo(e){let n=Qr(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),c=zo(e.body.image?.thumbData);return r===""||c===""?null:{content:r,imageURL:r,thumbData:c,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=fr(e.body.video?.url),c=zo(e.body.video?.thumbData);return r===""||c===""?null:{content:r,videoURL:r,thumbData:c,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),c=(e.body.file?.fileName??"").trim();return r===""||c===""?null:{content:c,fileURL:r,fileName:c,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 c=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:zo(a.thumbData)}:{},...a.md5!==void 0&&a.md5!==""?{md5:a.md5}:{},...a.size!==void 0&&a.size>0?{fileSize:a.size}:{},...a.hd!==void 0?{hd:a.hd}:{}}));return c.some(a=>a.url==="")?null:{contentType:"28",items:c,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function lp(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 rd(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,d){if(n(a),e.provider===void 0)throw Qc(a,new Ra$1);let i;try{i=await d(e.provider);}catch(u){throw n(a),Qc(a,u)}return n(a),i}return {api:{list:async()=>{let a=await r("sessionFavorites.list",d=>d.list());return Object.freeze(a.map(Zc))},addFromMessage:async a=>{let d="sessionFavorites.addFromMessage",i=Qr(a.message),u=Vo(a.message),f=a.selfId.trim(),g=a.message.id.trim();if(i===null||u===null||f===""||g==="")throw vt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:d,retryable:false});let C={messageId:g,conversation:a.conversation,senderId:a.message.senderId.trim(),createdAt:a.message.createdAt,kind:i,plainBody:u,peerId:lp(a.message,f,a.conversation.conversationId)},h=await r(d,P=>P.add(C));return Zc(h)},delete:async a=>{let d="sessionFavorites.delete",i=[...new Set(a.map(u=>u.trim()).filter(u=>u!==""))];if(i.length===0)throw vt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:d,retryable:false});await r(d,u=>u.delete(i));}}}}var od="settings:read-receipts:v1",ad="settings:appearance:v1",eo=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function Jn(e){return te({...e,retryable:e.retryable??false})}function $o(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Jo(){return {fontScale:1}}function qo(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function up(e){if(typeof e!="object"||e===null)return $o();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[c,a]of Object.entries(n.peerOverrides))c.trim()!==""&&typeof a=="boolean"&&(r[c]=a);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function pp(e){if(typeof e!="object"||e===null)return Jo();let n=e.fontScale;return {fontScale:id(n)?n:1}}function id(e){return typeof e=="number"&&eo.includes(e)}function Wo(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 Zr(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 sd(e){let n=false,r=false,c=false,a,d,i=$o(),u=Promise.resolve(),f=false,g,C=Jo(),h=Promise.resolve();function P(m){return Jn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m})}function v(m){if(n)throw P(m)}async function D(m,S){if(v(S),r)return;let T;try{T=Zr(e.storage,S);}catch(L){if(!m)return;throw L}try{let L=await T.getMeta(od);v(S),i=up(L),r=!0,c=!1;}catch(L){throw n?P(S):(c=true,Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:L}))}}function R(m){return v(m),r?Promise.resolve():(a===void 0&&(a=D(true,m).finally(()=>{a=void 0;})),a)}async function N(m){if(v(m),!f)try{let S=await Zr(e.storage,m).getMeta(ad);v(m),C=pp(S),f=!0;}catch(S){throw n?P(m):typeof S=="object"&&S!==null&&"code"in S?S:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:S})}}function y(m){return v(m),f?Promise.resolve():(g===void 0&&(g=N(m).finally(()=>{g=void 0;})),g)}async function _(m,S,T){v(m);let L=u.then(async()=>{v(m),await R(m),v(m);let ee=qo(i),J=S(qo(i));try{await Zr(e.storage,m).setMeta(od,qo(J));}catch(de){throw n?P(m):typeof de=="object"&&de!==null&&"code"in de?de:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:m,cause:de})}v(m),i=J,T?.(ee,J);});return u=L.catch(()=>{}),L}let s={async getGlobal(){let m="settings.readReceipts.getGlobal";return v(m),await R(m),v(m),i.globalEnabled},setGlobal(m){return typeof m!="boolean"?Promise.reject(Jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):_("settings.readReceipts.setGlobal",S=>({...S,globalEnabled:m}),(S,T)=>{S.globalEnabled&&!T.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(m){let S="settings.readReceipts.getConversation";v(S);let T=Wo(m,S);await R(S),v(S);let L=i.peerOverrides[T.conversationId]??true;return Object.freeze({enabled:L,effectiveEnabled:i.globalEnabled&&L})},setConversation(m,S){let T="settings.readReceipts.setConversation",L;try{L=Wo(m,T);}catch(ee){return Promise.reject(ee)}return typeof S!="boolean"?Promise.reject(Jn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:T,conversation:L})):_(T,ee=>(ee.peerOverrides[L.conversationId]=S,ee),(ee,J)=>{let de=L.conversationId,ge=ee.globalEnabled&&(ee.peerOverrides[de]??true),I=J.globalEnabled&&(J.peerOverrides[de]??true);ge&&!I&&e.onDirectReadReceiptDisabled?.(de);})},resetConversation(m){let S="settings.readReceipts.resetConversation",T;try{T=Wo(m,S);}catch(L){return Promise.reject(L)}return _(S,L=>(delete L.peerOverrides[T.conversationId],L))}},o={fontScale:Object.freeze({async get(){let m="settings.appearance.fontScale.get";return await y(m),v(m),C.fontScale},set(m){let S="settings.appearance.fontScale.set";if(!id(m))return Promise.reject(Jn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:S,details:{supportedValues:[...eo]}}));let T=h.then(async()=>{v(S),await y(S),v(S);let L={fontScale:m};try{await Zr(e.storage,S).setMeta(ad,L);}catch(ee){throw n?P(S):typeof ee=="object"&&ee!==null&&"code"in ee?ee:Jn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:S,cause:ee})}v(S),C=L;});return h=T.catch(()=>{}),T}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){v("settings.readReceipts.hydrate"),!r&&(a===void 0&&(a=D(false,"settings.readReceipts.hydrate").finally(()=>{a=void 0;})),await a);},isDirectReadReceiptEnabled(m){return !n&&!c&&i.globalEnabled&&(i.peerOverrides[m]??true)},dispose(){if(d!==void 0)return d;n=true,i=$o(),C=Jo();let m=a,S=u,T=g,L=h;return d=Promise.allSettled([...m===void 0?[]:[m],S,...T===void 0?[]:[T],L]).then(()=>{}),d}}}var sn=Object.freeze({availability:"available",reason:"ok"});function Tn(e){return Object.freeze({availability:"unavailable",reason:e})}function Ze(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 mp(){return Object.freeze({sendMessages:false})}function fp(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function gp(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 yp(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 Ip(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 c=Number(r[1]),a=Number(r[2]),d=Number(r[3]),i=Number(r[4]);if(c>23||d>23||a>59||i>59)return;let u=new Date(n);u.setHours(c,a,0,0);let f=new Date(n);if(f.setHours(d,i,59,999),u.getTime()<=n&&n<=f.getTime())return f.getTime()+1;if(n<u.getTime())return u.getTime();let g=u;return g.setDate(g.getDate()+1),g.getTime()}function ht(e,n,r){let c=n.get(yr(e));if(c!==void 0)for(let a of [...c])a(r);}function cd(e){let n=new Map,r=new Map,c=new Map,a=new Map,d=new Map,i=new Map,u,f,g=new Set,C=e.getSessionUserId(),h=0;function P(J){J.conversationType==="direct"?n.delete(J.conversationId):J.conversationType==="group"?r.delete(J.conversationId):J.conversationType==="channel"&&c.delete(J.conversationId);}function v(){n.clear(),r.clear(),c.clear(),i.clear(),g=new Set;}function D(){let J=e.getSessionUserId();return J!==C&&(C=J,v()),J}function R(J){D();let de=++h;return i.set(yr(J),de),de}function N(J,de){return D(),i.get(yr(J))===de}function y(J,de={}){D();let ge=de.nowMs??Date.now(),I=e.getConversation(J);if(J.conversationType==="direct"){let Q=gr({conversationType:"direct",conversationId:J.conversationId}),xe=n.get(J.conversationId),Ne=xe?.relationship??"unknown",Ve=fp(Ne),je=Ve==="ok"?sn:Ve==="relationship-unknown"?Ze(Ve):Tn(Ve),cn=Ne==="friend"?sn:Ne==="unknown"?Ze(Ve):Tn(Ve);return Object.freeze({ref:Q,conversationType:"direct",evaluatedAt:ge,value:Object.freeze({relationship:Ne,...xe===void 0?{}:{relationshipCheckedAt:xe.checkedAt},canSendMessages:je,canOpenProfile:sn,canUseMessageActions:je,canManageRelationship:cn})})}if(J.conversationType==="robot"){let Q=gr({conversationType:"robot",conversationId:J.conversationId});return Object.freeze({ref:Q,conversationType:"robot",evaluatedAt:ge,value:Object.freeze({canSendMessages:sn,canOpenProfile:sn,canUseMessageActions:sn,canReadHistory:sn})})}if(J.conversationType==="group"){let Q=gr({conversationType:"group",conversationId:J.conversationId}),xe=r.get(J.conversationId),Ne=I?.ref.conversationType==="group"?I.groupState??"active":"unknown",Ve=gp(Ne),je=Ve==="ok",cn=e.getSessionUserId(),$e=xe?.ownerId,on=cn!==void 0&&$e!==void 0&&cn===$e,Qe=je?sn:Tn(Ve),Rn=je?xe===void 0?Ze("not-ready"):on?sn:Tn("role-insufficient"):Tn(Ve);return Object.freeze({ref:Q,conversationType:"group",evaluatedAt:ge,value:Object.freeze({membership:Ne,...$e===void 0?{}:{ownerId:$e},isOwner:on,canSendMessages:Qe,canOpenProfile:Qe,canReadHistory:sn,canUseMessageActions:Qe,canViewMembers:Qe,canEditProfile:Rn,canInviteMembers:Qe,canManageMembers:Rn,canPinMessages:Rn,canUnpinMessages:Rn,canTransferOwnership:Rn,canLeave:Qe,canUpdateVerification:Rn})})}let U=gr({conversationType:"channel",conversationId:J.conversationId}),X=c.get(J.conversationId),A=I?.ref.conversationType==="channel"&&I.channelState!==void 0?I.channelState:X?.state;if(A===void 0)return Object.freeze({ref:U,conversationType:"channel",evaluatedAt:ge,value:Object.freeze({state:"unknown",role:X?.role??"unknown",permissions:mp(),canSendMessages:Ze("unknown-restricted"),canOpenProfile:Ze("unknown-restricted"),canReadHistory:sn,canUseMessageActions:Ze("unknown-restricted"),canMutateMessages:Ze("unknown-restricted"),canPinMessages:Ze("unknown-restricted"),canUnpinMessages:Ze("unknown-restricted"),canDeleteMessagesForEveryone:Ze("unknown-restricted"),canMentionAll:Ze("unknown-restricted"),canViewMembers:Ze("unknown-restricted"),canEditProfile:Ze("unknown-restricted"),canManageMembers:Ze("unknown-restricted"),canManageMute:Ze("unknown-restricted"),canDismiss:Ze("unknown-restricted"),canTransferOwnership:Ze("unknown-restricted"),canLeave:Ze("unknown-restricted"),canInviteMembers:Ze("unknown-restricted"),canSetMemberAdmin:Ze("unknown-restricted"),canRemoveMembers:Ze("unknown-restricted"),canSetMemberPrivateChat:Ze("unknown-restricted")})});let k=Ka({channelState:A,nowMs:ge,...I?.ref.conversationType==="channel"&&I.channelAccessSnapshot!==void 0?{snapshot:I.channelAccessSnapshot}:{},...I?.ref.conversationType==="channel"&&I.channelPermissions!==void 0?{permissions:I.channelPermissions}:X?.permissions===void 0?{}:{permissions:X.permissions}}),B=yp(k.channelState,k.muteReason),he=k.channelState==="active"||k.channelState==="muted",le=k.channelState==="active"?k.permissions.sendMessages?sn:Tn("unknown-restricted"):Tn(B),O=Q=>he&&Q?sn:Tn(he?"role-insufficient":B),q=Q=>k.channelState==="active"&&Q?sn:Tn(k.channelState==="muted"?B:he?"role-insufficient":B),j=X?.memberPrivateChatDisabled===false||k.permissions.manageMembers===true,ie=he?X===void 0&&k.permissions.manageMembers!==true?Ze("not-ready"):O(j):Tn(B),ue=k.channelState==="muted"?Tn(B):he?sn:Tn(B),Me=Ip(I,ge);return Object.freeze({ref:U,conversationType:"channel",evaluatedAt:ge,...Me===void 0?{}:{nextEvaluationAt:Me},value:Object.freeze({state:k.channelState,role:X?.role??I?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...k.permissions}),...k.muteReason===void 0?{}:{muteReason:k.muteReason},canSendMessages:le,canOpenProfile:he?sn:Tn(B),canReadHistory:sn,canUseMessageActions:he?sn:Tn(B),canMutateMessages:ue,canPinMessages:q(k.permissions.moderateMessages===true),canUnpinMessages:q(k.permissions.moderateMessages===true),canDeleteMessagesForEveryone:q(k.permissions.moderateMessages===true),canMentionAll:O(k.permissions.mentionAll===true),canViewMembers:ie,canEditProfile:O(k.permissions.editProfile===true),canManageMembers:O(k.permissions.manageMembers===true),canManageMute:O(k.permissions.manageMute===true),canDismiss:O(k.permissions.dismissChannel===true),canTransferOwnership:O(k.permissions.transferOwnership===true),canLeave:he?sn:Tn(B),canInviteMembers:O(k.permissions.manageMembers===true),canSetMemberAdmin:O(k.permissions.manageAdmins===true),canRemoveMembers:O(k.permissions.manageMembers===true),canSetMemberPrivateChat:O(k.permissions.manageMute===true)})})}async function _(J,de={}){let ge=R(J);if(J.conversationType==="direct"){let I=await e.getRelationship(J.conversationId);N(J,ge)&&s(J.conversationId,I,ge);}else if(J.conversationType==="group"){let I={conversationType:"group",conversationId:J.conversationId},U=await e.getGroupProfile(I,{forceRefresh:true});N(J,ge)&&o(I,U,ge);}else if(J.conversationType==="channel"){let I={conversationType:"channel",conversationId:J.conversationId},U=await e.getChannelProfile(I,{forceRefresh:true});N(J,ge)&&m(I,U,ge);}return y(J,de)}function s(J,de,ge){let I={conversationType:"direct",conversationId:J};N(I,ge)&&(n.set(J,{relationship:de,checkedAt:Date.now()}),ht(I,a,y(I)));}function o(J,de,ge){N(J,ge)&&(r.set(J.conversationId,de),ht(J,a,y(J)));}function m(J,de,ge){N(J,ge)&&(c.set(J.conversationId,de),ht(J,a,y(J)));}function S(J,de,ge={}){D();let I=yr(J),U=a.get(I)??new Set;return U.add(de),a.set(I,U),d.set(I,gr(J)),de(y(J,ge)),f===void 0&&(f=e.subscribeContext?.(X=>{D(),ht(X,a,y(X));})),u===void 0&&(u=e.subscribeConversations(X=>{D();let A=Date.now(),k=new Set(X.map(B=>yr(B.ref)));for(let B of X){let he=y(B.ref,{nowMs:A});ht(B.ref,a,he);}for(let[B,he]of d){if(!g.has(B)||k.has(B))continue;P(he);let le=y(he,{nowMs:A});ht(he,a,le);}g=k;})),()=>{U.delete(de),U.size===0&&a.delete(I),a.has(I)||d.delete(I),a.size===0&&(f?.(),f=void 0,u?.(),u=void 0,g=new Set);}}function T(){v();let J=Date.now();for(let de of d.values())ht(de,a,y(de,{nowMs:J}));}function L(){f?.(),f=void 0,u?.(),u=void 0,a.clear(),d.clear(),v();}let ee=Object.freeze({get:y,refresh:_,subscribe:S});return Object.freeze({...ee,api:ee,beginProjectionUpdate:R,updateRelationshipProjection:s,updateGroupProfileProjection:o,updateChannelProfileProjection:m,reset:T,dispose:L})}var vp=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Hn(e,n){let r=e?.conversationType,c=e?.conversationId;if(r==="supergroup")throw te({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof c!="string"||c.trim()==="")throw te({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:c})}function hp(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 Cp(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 no(e){let n=Cp(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})}}),c=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),a=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref: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"&&c!==void 0?{channelPermissions:c}:{},...e.type==="channel"&&a!==void 0?{channelAccessSnapshot:a}:{},draft:hp(e.draft)})}function bp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ct(e,n,r,c){return bp(e)?e:te({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...c===void 0?{}:{conversation:c},cause:e})}function dd(e){let n=new Set,r,c,a;function d(){return Object.freeze(e.getCompatibilityApi().list().map(no))}function i(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=d();return Object.freeze({state:c??i(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...a===void 0?{}:{error:Object.freeze(a)}})}catch(h){let P=Ct(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(P)})}}function f(){let h=u();for(let P of [...n])P(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(P=>{vp.has(P.type)&&f();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:d,getBackground:h=>e.getCompatibilityApi().getBackground(Hn(h,"conversations.getBackground")),setBackground:(h,P)=>e.getCompatibilityApi().setBackground(Hn(h,"conversations.setBackground"),P),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:g,prefetchRecent:(h,P)=>e.getCompatibilityApi().prefetchRecent(h.map(v=>Hn(v,"conversations.prefetchRecent")),P),async refresh(){c="loading",a=void 0,f();try{await e.getCompatibilityApi().sync(),c=void 0,f();}catch(h){throw c="error",a=Ct(h,"conversations.refresh",true),f(),a}},getTotalUnread(h){return d(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,P){let v=Hn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(v,P);}catch(D){throw Ct(D,"conversations.setPinned",false,v)}},async setMuted(h,P){let v=Hn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(v,P);}catch(D){throw Ct(D,"conversations.setMuted",true,v)}},async markRead(h){let P=Hn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(P);}catch(v){throw Ct(v,"conversations.markRead",true,P)}},markUnread(h){let P=Hn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(P);}catch(v){throw Ct(v,"conversations.markUnread",false,P)}},deleteLocal(h){let P=Hn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(P);}catch(v){throw Ct(v,"conversations.deleteLocal",false,P)}}},dispose(){r?.(),r=void 0,n.clear();}}}var Mp=128,Sp=8,Pp=64*1024*1024,Rp=3,Ep=8,Ap=1440*60*1e3,vr=10080*60*1e3,wp=512*1024*1024,to=1024*1024;function Tp(e){let n=0,r=false,c=[];function a(){if(!r)for(;n<e&&c.length>0;){c.sort((u,f)=>f.getPriority()-u.getPriority());let d=c.shift();if(d.signal.removeEventListener("abort",d.onAbort),d.signal.aborted){d.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let i=false;d.resolve(()=>{i||(i=true,n=Math.max(0,n-1),a());});}}return {acquire(d,i){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,f)=>{let g={resolve:u,reject:f,signal:d,getPriority:i,onAbort:()=>{let C=c.indexOf(g);C>=0&&c.splice(C,1),f(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};d.addEventListener("abort",g.onAbort,{once:true}),c.push(g),a();})},dispose(){r=true;for(let d of c.splice(0))d.signal.removeEventListener("abort",d.onAbort),d.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function ud(){return Fa([{kind:"image",softMaxBytes:512*to,maxEntries:512,maxEntryBytes:30*to,maxIdleMs:vr},{kind:"video",softMaxBytes:1792*to,maxEntries:64,maxEntryBytes:200*to,maxIdleMs:vr}])}function Yo(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function _p(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,c){let a=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return c===void 0?a:`${a}:${c}`}function Xo(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Oe({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let c=hr({conversationType:n,conversationId:r});return pd({id:Ir(e.direction,c,e.messageId),messageId:e.messageId,ref:c,direction:e.direction,state:e.state,percent:Yo(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:Dp(e.failure,c)}})}function Oe(e){let n=te(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function ld(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 Dp(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(te({...a??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function pd(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 ro(e){let n=e?.conversation,r=n?.conversationType,c=n?.conversationId;if(r==="supergroup")throw Oe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof c!="string"||c.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Oe({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return hr({conversationType:r,conversationId:c})}function md(e){let n=true,r=e.now??Date.now,c=0,a=0,d=new Map,i=new Set,u=new Map,f=new Map,g=new Map,C=new Map,h=new Map,P=new Set,v=false,D=new Map,R=new Set,N=e.maxDownloadCheckpointBytes??wp;function y(E){return Oe({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:E})}function _(E,z){D.delete(E),R.add(E);let H=d.get(E);if(H!==void 0){let W={...H,recoveryReason:z,...H.state==="failed"||H.state==="canceled"?{error:y(H.ref)}:{}};H.state==="running"?he(W):le(W);}}function s(E,z,H){D.delete(E),D.set(E,{url:z,state:H}),R.delete(E);let W=[...D.values()].reduce((ye,Ee)=>ye+Ee.state.bytesDownloaded,0);for(;D.size>Ep||W>N;){let ye=D.entries().next().value;if(ye===void 0)break;W-=ye[1].state.bytesDownloaded,_(ye[0],"download-checkpoint-limit");}}let o=Tp(Rp),m,S=e.maxCachedBlobs??Sp,T=e.maxCachedBlobBytes??Pp,L=0;function ee(){if(!n||!e.isActive())throw Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function J(){return Object.freeze([...d.values()])}function de(){let E=J();for(let z of [...i])try{z(E);}catch(H){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}function ge(){v||!n||!e.isActive()||(v=true,queueMicrotask(()=>{if(v=false,!(!n||!e.isActive()))for(let E of [...P])try{E();}catch(z){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:z}});}}));}function I(E){let z=g.get(E);z!==void 0&&(L-=z.size,g.delete(E),C.delete(E),h.delete(E),ge());}function U(){if(!n||!e.isActive())return;let E=r();for(let[z,H]of D)!f.has(z)&&H.idleSince!==void 0&&E-H.idleSince>=Ap&&_(z,"download-checkpoint-expired");for(let[z,H]of C)!f.has(z)&&E-H>=vr&&I(z);ge();}function X(E,z){let H=g.get(E);if(H!==void 0){if(h.get(E)!==z||r()-C.get(E)>=vr){I(E);return}return g.delete(E),g.set(E,H),C.set(E,r()),H}}function A(){c+=1,g.clear(),C.clear(),h.clear(),ge(),L=0;for(let E of [...D.keys()])_(E,"download-checkpoint-cleared");}function k(E){d.delete(E),u.delete(E),D.delete(E),R.delete(E),I(E);}function B(){for(;d.size>Mp;){let E=[...d.values()].find(z=>z.state==="completed"||z.state==="failed"||z.state==="canceled");if(E===void 0)return;k(E.id);}}function he(E){d.set(E.id,pd(E)),B();}function le(E){if(!n||!e.isActive())return;he(E);let z=d.get(E.id);if(de(),!n||!e.isActive()||z===void 0||d.get(E.id)!==z)return;let H={id:z.id,messageId:z.messageId,ref:z.ref,direction:"download",state:z.state,percent:z.percent};e.emitter.emit({type:"media-task:updated",conversation:z.ref,task:H});}function O(E,z,H){if(I(E),!(z.size>T))for(g.set(E,z),h.set(E,H),ge(),C.set(E,r()),L+=z.size;g.size>S||L>T;){let W=g.keys().next().value;if(W===void 0)break;I(W);}}function q(E,z=true){let H=ro(E),W=e.domainState.getConversationMessage(H,E.messageId);if(W===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:H});let ye,Ee,we,qe;if(W.contentType==="image")ye=W.body.image,Ee=e.loaders?.loadImage,qe="image";else if(W.contentType==="video")ye=W.body.video,Ee=e.loaders?.loadVideo,qe="video";else if(W.contentType==="voice")ye=W.body.voice,Ee=e.loaders?.loadVoice;else if(W.contentType==="file")ye=W.body.file,Ee=e.loaders?.loadFile,we=W.body.file?.mimeType;else if(W.contentType==="filesAlbum"){let Re=E.itemIndex;if(ye=Re===void 0?void 0:W.body.filesAlbum?.items[Re],ye===void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});Ee=e.loaders?.loadFile;}else if(W.contentType==="mediaAlbum"){let Re=W.body.mediaAlbum?.items,Te=E.itemIndex,Fe=Te===void 0||Re===void 0?void 0:Re[Te];if(Fe===void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});ye=Fe,Ee=Fe.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,qe=Fe.kind;}if(W.contentType!=="mediaAlbum"&&W.contentType!=="filesAlbum"&&E.itemIndex!==void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:H});if(ye===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:H});if(z&&Ee===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:H});if(ye.url.trim()===""||ye.url.startsWith("blob:"))throw Oe({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:H});return {ref:H,messageId:W.id,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},...we===void 0?{}:{mimeType:we},...qe===void 0?{}:{cacheKind:qe,resourceVersion:Ga$1(ye.url)},...Ee===void 0?{}:{load:Ee},input:{url:ye.url,...ye.size===void 0?{}:{expectedBytes:ye.size},...ye.teaKey===void 0?{}:{teaKey:ye.teaKey},...ye.fileEncryptType===void 0?{}:{fileEncryptType:ye.fileEncryptType}}}}function j(E){return Oe({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function ie(){return Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ue(E,z,H=c){if(ee(),H!==c)return null;let W=Ir("download",E.ref,E.messageId,E.itemIndex),ye=X(W,E.resourceVersion);if(ye!==void 0)return ye;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let Ee;try{Ee=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Ee===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...Ee===null?{}:{byteLength:Ee.blob.size}});}catch(Te){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:Te}),z)throw Oe({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(Ee===null||(ee(),H!==c))return null;let we=Ee.blob,qe=Ee.mimeType??E.mimeType??"",Re=we.type===qe?we:we.slice(0,we.size,qe);return O(W,Re,E.resourceVersion),Re}function Me(E,z){U();let H=D.get(E);if(H!==void 0&&H.url!==z.input.url&&_(E,"download-object-changed"),R.has(E)){let W=y(z.ref),ye=d.get(E);throw ye!==void 0&&(ye.state==="failed"||ye.state==="canceled")&&le({...ye,error:W}),W}return H?.state}function Q(E,z=false){let H=c,W=Ir("download",E.ref,E.messageId,E.itemIndex),ye=f.get(W);if(ye!==void 0&&!ye.controller.signal.aborted)return ye.promise;if(!z){let Fe=X(W,E.resourceVersion);if(Fe!==void 0)return le({id:W,ref:hr(E.ref),messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(Fe)}I(W);let Ee=(()=>{let Fe=Me(W,E);return Fe===void 0?{percent:0}:{percent:Math.min(99,Math.round(Fe.bytesDownloaded/Fe.bytesTotal*100)),bytesTransferred:Fe.bytesDownloaded,bytesTotal:Fe.bytesTotal}})(),we=hr(E.ref);u.set(W,Object.freeze({conversation:we,messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}}));let qe={id:W,messageId:E.messageId,ref:we,direction:"download",...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}},Re=new AbortController,Te=Promise.resolve().then(async()=>{let Fe;try{if(!n||!e.isActive())throw ie();if(Re.signal.aborted)throw j(we);if(Fe=await o.acquire(Re.signal,()=>m===W?1:0),!n||!e.isActive())throw ie();if(Re.signal.aborted)throw j(we);if(le({...qe,...Ee,state:"running"}),!n||!e.isActive())throw ie();if(Re.signal.aborted)throw j(we);if(!z&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Se=await ue(E,!1,H);if(Se!==null){if(Re.signal.aborted)throw j(we);return D.delete(W),R.delete(W),le({...d.get(W),...qe,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Se}}let en=E.load;if(en===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:we});let On=Me(W,E);if(Ee.bytesTransferred!==void 0&&(On===void 0||H!==c))throw _(W,"download-checkpoint-cleared"),y(we);let Un=await en({...E.input,getPriority:()=>m===W?1:0,...On===void 0?{}:{resume:On},onResumable:Se=>{!n||!e.isActive()||H!==c||f.get(W)?.controller!==Re||s(W,E.input.url,Se);},onResumeInvalidated:()=>{!n||!e.isActive()||H!==c||f.get(W)?.controller!==Re||_(W,"download-checkpoint-invalid");},signal:Re.signal,onTransferProgress:Se=>{let mn=d.get(W);!n||!e.isActive()||Re.signal.aborted||f.get(W)?.controller!==Re||mn?.state!=="running"||le({...mn,state:"running",percent:Math.min(99,Yo(Se.percent)),bytesTransferred:Se.bytesTransferred,bytesTotal:Se.bytesTotal,phase:Se.bytesTotal>0&&Se.bytesTransferred>=Se.bytesTotal?"finalizing":"transferring"});},onProgress:Se=>{let mn=d.get(W);if(!n||!e.isActive()||Re.signal.aborted||f.get(W)?.controller!==Re||mn?.state!=="running")return;let Bn=Math.min(99,Yo(Se));Bn<=mn.percent||le({...mn,state:"running",percent:Bn});}});if(!n||!e.isActive())throw ie();if(Re.signal.aborted)throw j(we);let jn=Un instanceof Blob?void 0:Un,_e=jn===void 0?Un:new Blob([jn],E.mimeType===void 0?void 0:{type:E.mimeType});if(E.mimeType!==void 0&&_e.type!==E.mimeType&&(_e=_e.slice(0,_e.size,E.mimeType)),H===c&&O(W,_e,E.resourceVersion),H===c&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Se=_e.size;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,blob:_e,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(mn=>{ge(),e.onAssetCacheEvent?.({operation:"put",outcome:mn,kind:E.cacheKind,messageId:E.messageId,byteLength:Se});}).catch(mn=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:Se,cause:mn});});}if(D.delete(W),R.delete(W),le({...d.get(W),...qe,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw ie();return _e}catch(en){if(!n||!e.isActive())throw ie();if(Re.signal.aborted||typeof en=="object"&&en!==null&&"code"in en&&en.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Un=j(we);throw f.get(W)?.controller===Re&&d.get(W)?.state!=="canceled"&&le({...d.get(W),...qe,state:"canceled",percent:d.get(W)?.percent??0,error:R.has(W)?y(we):Un}),Un}let On=R.has(W)?y(we):en instanceof Error&&en.name==="ImMediaTaskOperationError"?en:Oe({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:we});throw f.get(W)?.controller===Re&&le({...d.get(W),...qe,state:"failed",percent:d.get(W)?.percent??0,error:On}),On}finally{if(Fe?.(),f.get(W)?.controller===Re){f.delete(W);let en=D.get(W);en!==void 0&&(en.idleSince=r());}}});return f.set(W,{controller:Re,promise:Te}),le({...qe,...Ee,state:"queued"}),Te}function xe(E){ee();let z=ro(E);m=Ir("download",z,E.messageId,E.itemIndex);}function Ne(E){try{return ee(),Q(q(E))}catch(z){return Promise.reject(z)}}async function Ve(E){ee();let z=c,H=E.map(Te=>q(Te,false)),W=new Map,ye=r(),Ee=H.map(Te=>{let Fe=Ir("download",Te.ref,Te.messageId,Te.itemIndex);return g.has(Fe)&&h.get(Fe)===Te.resourceVersion&&ye-(C.get(Fe)??0)<vr});H.forEach((Te,Fe)=>{if(Ee[Fe]||Te.cacheKind===void 0||Te.resourceVersion===void 0)return;let en={kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion};W.set(JSON.stringify(en),en);});let we=[...W.values()],qe=we.map(()=>false);if(we.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw Oe({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 ee(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:we[0].kind,messageId:we[0].messageId,cause:Te}),Oe({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(ee(),z!==c)throw Oe({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Re=new Map(we.map((Te,Fe)=>[JSON.stringify(Te),qe[Fe]]));return Object.freeze(H.map((Te,Fe)=>Ee[Fe]||Re.get(JSON.stringify({kind:Te.cacheKind,messageId:Te.messageId,resourceVersion:Te.resourceVersion}))===true))}async function je(E){let z=q(E,false);return z.cacheKind===void 0?null:await ue(z,true)}async function cn(E){if(ee(),e.preparePreview===void 0)throw Oe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let z;try{z=await e.preparePreview({operationId:`media.prepareLocalPreview:${++a}`,kind:E.kind,file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(W){if(E.signal?.aborted===true||W instanceof Error&&W.name==="AbortError")throw W;return e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:W}),null}return ee(),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0?(e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${z.width}\xD7${z.height}`)}),null):E.kind==="video"?{width:z.width,height:z.height,...z.duration===void 0?{}:{duration:z.duration},...z.posterData===void 0?{}:{posterData:z.posterData}}:{width:z.width,height:z.height}}async function $e(E){if(ee(),E.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Oe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let z;try{z=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++a}`,kind:"video",file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(H){if(E.signal?.throwIfAborted(),H instanceof Error&&H.name==="AbortError")throw H;return ee(),e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:H}),null}return E.signal?.throwIfAborted(),ee(),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0||!z.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:E.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([z.posterData],{type:"image/jpeg"})}function on(E,z){ee();let H=d.get(E);if(H===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:z,retryable:false});return H}function Qe(E,z){return Oe({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:z,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let Rn=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||_p(E.conversation,E.task.ref)&&(he(Xo(E.task)),de());});return {api:{async clearCache(){ee(),e.connection.invalidateMediaAssetCacheWrites?.(),A();try{await e.assetCache?.clear();}catch(E){throw ee(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:E}}),Oe({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}ee(),ge();},getSnapshot(){return ee(),J()},subscribe(E){return ee(),i.add(E),()=>i.delete(E)},async cancel(E,z){let H=on(E,"media.cancel");if(H.state!=="queued"&&H.state!=="running"&&!(H.direction==="upload"&&H.state==="paused"))throw Qe(H,"media.cancel");if(H.direction==="upload"){if(!(z===void 0?e.connection.cancelMediaUpload(H.messageId):e.connection.cancelMediaUpload(H.messageId,z)))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:H.ref});return}let W=f.get(E);if(W===void 0)throw Qe(H,"media.cancel");W.controller.abort();let ye=R.has(E)?y(H.ref):j(H.ref);le({...H,state:"canceled",error:ye});},async pause(E){let z=on(E,"media.pause");if(z.direction!=="upload"||z.state!=="queued"&&z.state!=="running")throw Qe(z,"media.pause");if(!await e.connection.pauseMediaUpload?.(z.messageId))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:z.ref});ee();},async resume(E){let z=on(E,"media.resume");if(z.direction!=="upload"||z.state!=="paused")throw Qe(z,"media.resume");if(!e.connection.resumeMediaUpload?.(z.messageId))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:z.ref})},async retry(E,z){let H=on(E,"media.retry");if(H.state!=="failed"&&H.state!=="canceled")throw Qe(H,"media.retry");if(H.direction==="upload"){if(z?.restartDownload!==void 0)throw Qe(H,"media.retry");if((H.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||H.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&z?.restartUpload!==true)throw Oe({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:H.ref});if(!(z===void 0?e.connection.retryMediaUpload(H.messageId):e.connection.retryMediaUpload(H.messageId,z)))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:H.ref});return}if(z?.restartUpload!==void 0)throw Qe(H,"media.retry");if(f.has(E)&&!f.get(E).controller.signal.aborted)throw Oe({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:H.ref});let W=u.get(E);if(W===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});z?.restartDownload===true&&(D.delete(E),R.delete(E)),await Q(q(W),true);},async getUploadRecovery(E){ee();let z=ro(E);if(E.itemIndex!==void 0)return {available:false,reason:"unsupported"};let H=E.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let W=e.domainState.getConversationMessage(z,H);if(W===void 0)return {available:false,reason:"not-found"};if(!ld(W))return {available:false,reason:"invalid-state"};try{let ye=await e.recoveryPort.get(z,H);ee();let Ee=e.domainState.getConversationMessage(z,H);return Ee===void 0?{available:!1,reason:"not-found"}:ld(Ee)?ye===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:ye.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(ye){return ee(),{available:false,reason:typeof ye=="object"&&ye!==null&&"reason"in ye?String(ye.reason):"storage"}}},async resumeUpload(E,z){ee();let H=ro(E);if(E.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw Oe({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:H});try{let W=await e.connection.recoverMediaUpload(H,E.messageId,z.file);if(ee(),!W.ok&&W.reason==="paused")throw Oe({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:H});if(!W.ok&&W.reason==="cancelled")throw Oe({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:H});if(!W.ok)throw Oe({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:H})}catch(W){if(ee(),typeof W=="object"&&W!==null&&"code"in W&&typeof W.code=="string"&&W.code.startsWith("IM_SDK_"))throw W;let ye=W instanceof Error&&W.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw Oe({code:ye,category:"state",operation:"media.resumeUpload",retryable:false,conversation:H})}},download:Ne,prioritizeDownload:xe,probeCached:Ve,subscribeCacheChanges(E){return ee(),P.add(E),()=>P.delete(E)},getCached:je,prepareLocalPreview:cn,prepareLocalVideoPoster:$e},clearCache:A,prune:U,dispose(){if(n){n=false,c+=1,Rn();for(let E of f.values())E.controller.abort();o.dispose(),m=void 0,f.clear(),i.clear(),P.clear(),h.clear(),d.clear(),u.clear(),g.clear(),C.clear(),D.clear(),R.clear(),L=0;}}}}var kp={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"}},Op={"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 fd(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function xp(e,n){let r=kp[e.reason];return Object.freeze(te({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Qo(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:xp(e.failure,n)}})}function Np(e){let n=fd(e);return Qo({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 Lp(e,n,r){let c=te({code:Op[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(c.code),c,{name:"ImOutboxOperationError"})}function gd(e){let n=true,r=new Set;function c(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function a(){return c(),Object.freeze(e.operations.getPending().map(Np))}async function d(u,f){c();let g=e.operations.getPending().find(h=>h.id===f),C=u==="outbox.retry"?e.operations.retry(f):e.operations.cancel(f);if(!C.accepted)throw Lp(u,C.reason,g===void 0?void 0:fd(g))}return {api:{getSnapshot:a,subscribe(u){c();let f=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(a());}),g=()=>{f(),r.delete(g);};return r.add(g),g},retry:u=>d("outbox.retry",u),cancel:u=>d("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function Up(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function oo(e){return Object.freeze({type:"error",error:Object.freeze(te(e))})}function In(e){throw te(e)}function Ae(e,n,r){return (typeof e!="string"||e.trim()==="")&&In({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,c=r?.conversationType,a=r?.conversationId;return c==="supergroup"&&In({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:c,conversationId:typeof a=="string"?a:""},details:Object.freeze({eventType:n})}),(c!=="direct"&&c!=="group"&&c!=="channel"&&c!=="robot"||typeof a!="string"||a.trim()==="")&&In({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:c,conversationId:a})}function Fp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Cr(e,n){let r=We(e,n);return r.conversationType!=="direct"&&In({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 Ht(e,n){let r=We(e,n);return r.conversationType!=="group"&&In({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){Fp(e,n)||In({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function Kp(e){return Object.freeze({...e})}function Bp(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 Gp(e){let n=Ae(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"&&In({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let c=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:c})}if(e.domain==="channel"){let r=We(e.conversation,"application:updated");r.conversationType!=="channel"&&In({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let c=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:c})}return In({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Hp(e){return Object.freeze({ref:Gp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function jp(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 zp(e){return Object.freeze(te({...{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 Vp(e,n){if(Up(e)){let{cause:r,...c}=e;return oo(c)}return oo({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function qp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:Kp(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"&&In({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(Bt(e.message)),source:e.source})}case "message:removed":{let r=We(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Ae(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),c=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:Ae(e.messageId,"messageId",r),percent:c})}case "media-task:updated":{let r=We(e.conversation,e.type);bt(We(e.task.ref,e.type),r,e.type);let c=Xo(e.task);return Object.freeze({type:e.type,ref:r,task:c})}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 c=n.getConversation(r);return c===void 0&&In({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),bt(c.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:c})}case "session:removed":{let r=We(e.conversation,e.type);return e.conversationId!==r.conversationId&&In({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"&&In({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 c=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:c,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=Ae(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)&&In({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)&&In({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:Ae(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?In({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Ae(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)&&In({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:Bp(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:Qo(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Ae(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Hp(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,...jp(e.issue)});case "error":return Object.freeze({type:e.type,error:zp(e.error)});case "call:incoming":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(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:Ae(e.callId,"callId",r),peerId:Ae(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:Ae(e.callId,"callId",r),peerId:Ae(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:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r)})}case "call:failed":{let r=Cr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),peerId:Ae(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),inviterId:Ae(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>Ae(c,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(c=>Ae(c,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r)})}case "group-call:busy":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),userId:Ae(e.userId,"userId",r),hintUserId:Ae(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=Ht(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ae(e.callId,"callId",r),groupId:Ae(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Vp(r,e)}}function Wp(e){let{type:n,...r}=e;return Object.freeze(r)}function $p(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 yd(e){let n=new WeakMap;function r(a,d){let i=n.get(a);if(i!==void 0)return i;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:d,messageId:a.notification.messageId}));return n.set(a,u),u}function c(a){let d=true,i=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){a(oo({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Ae(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(h=>{if(!d||h===null)return;let P=Object.freeze({type:"contact-application:answered",peerId:C,result:h});a(P);}).catch(()=>{d&&a(oo({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let f=qp(u,e);f!==null&&a(f);let g=$p(u);g!==null&&a(Object.freeze({type:"group:activated",...g}));});return ()=>{d=false,i();}}return {subscribe:a=>c(a),on:(a,d)=>c(i=>{i.type===a&&d(Wp(i));})}}function tt(e){let n=te({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 Id(e){function n(r){let c=e.getAccountId().trim();if(!e.isActive()||c==="")throw tt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return c}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(c){throw tt({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:c})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function vd(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function br(e,n,r,c){return te({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...c===void 0?{}:{conversation:c},details:Object.freeze({expectedId:n,actualId:r})})}function hd(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function Cd(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function bd(e,n){if(n.id!==e)throw br("contacts.getProfile",e,n.id);let r=n.remark?.trim(),c=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?c||e:n.remark,nickname:c,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(a=>Object.freeze({countryCode:a.countryCode,mobile:a.mobile})))}})}function Md(e,n){if(n.id!==e.conversationId)throw br("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:hd(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 Jp(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 Sd(e,n){if(n.id!==e.conversationId)throw br("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Cd(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:Jp(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 Pd(e){return e.state==="ready"?Object.freeze({state:"ready",message:Jr(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 ao(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw br("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:hd(e),messageId:n.messageId,preview:Pd(n.preview)})}function io(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw br("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:Cd(e),messageId:n.messageId,preview:Pd(n.preview)})}function Yp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Xp(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 Qp(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Zo(e,n,r){return Yp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Qp(e)?te({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Xp(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):te({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 Rd=new WeakMap;function ea(e,n){Rd.set(e,n);}function Ed(e){let n=Rd.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",em="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",nm="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",tm="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function rm(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function om(e,n,r){if(rm(e))return e;let c$1=e instanceof d$1?e.businessCode:void 0,a=e instanceof oa$2?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":c$1===40542?Zp:c$1===40527?em:c$1===40547?nm:e instanceof d$1?tm:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(a===void 0)return;let d=e instanceof oa$2?"contract":e instanceof c?"network":c$1===40527?"permission":"state",i=te({code:a,category:d,operation:n,retryable:e instanceof c,conversation:{conversationType:"channel",conversationId:r},...c$1===void 0?{}:{details:Object.freeze({businessCode:c$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function pn(e,n,r){try{return await r()}catch(c){throw om(c,e,n)??c}}var am={pinMessage:()=>Promise.reject(new ke({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new ke({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new ke({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new ke({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Ad(e){let n=new Map,r=new Map,c=true,a=v=>({conversationType:"channel",conversationId:v}),d=v=>{r.set(v,(r.get(v)??0)+1);};function i(v,D=true){let R=D?h("get",v):e.coreClient;if(R===void 0)return Promise.reject(new ke({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!c)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let N=r.get(v)??0,y=n.get(v);if(y?.version===N)return y.task;let _=()=>c&&(r.get(v)??0)===N&&e.domainState.getConversationContext(a(v))?.type==="channel",s=()=>e.domainState.getPinnedMessage(a(v))??null,o=(async()=>{let S=await fa$1({client:R,channelId:v});if(!_())return s();if(!S.ok)throw et("get",S.code,S.message);if(S.data===null)return e.domainState.clearPinnedMessage(a(v),"reconcile"),null;let T=B$1(S.data.messageContent,{conversationId:v}),L=await Yr(T,e.fetchMessagesById);return _()?L===null?(e.domainState.clearPinnedMessage(a(v),"reconcile"),e.onSourceUnavailable?.(T),null):(e.domainState.setPinnedMessage(L,"reconcile"),s()):s()})();n.set(v,{version:N,task:o});let m=()=>{n.get(v)?.task===o&&n.delete(v);};return o.then(m,m),o}function u(v){if(!c)return;let D=r.get(v)??0;n.get(v)?.version!==D&&i(v,false).catch(R=>{!c||(r.get(v)??0)!==D||e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:R}});});}let f=Ta$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),g=e.emitter.subscribe(v=>{if(v.type==="session:removed"&&v.conversation.conversationType==="channel"){d(v.conversation.conversationId);return}if(v.type!=="message:received"&&v.type!=="message:updated")return;let D=v.message;if(D.conversationType!=="channel")return;let R=D.body.system?.pinnedMessageAction;R!==void 0&&v.source!=="live"&&v.channelLifecycleEffects!==true||((R?.type==="pin"||R?.type==="unpin")&&d(D.conversationId),f.handleMessage(D));});function C(v,D){if(D.trim()==="")throw new ke({operation:v,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let R=e.domainState.getConversationContext(a(D));if(R===void 0)throw new ke({operation:v,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(R.type!=="channel")throw new ke({operation:v,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function h(v,D){if(e.coreClient===void 0)throw new ke({operation:v,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(v,D),e.coreClient}return {operations:{pinMessage:async({channelId:v,messageId:D})=>{let R=h("pin",v),N=e.domainState.getConversationMessage(a(v),D);if(N===void 0)throw new ke({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(N.conversationType!=="channel")throw new ke({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(N.conversationId!==v)throw new ke({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:y,pinnedMessage:_}=C$1(N),s=await ua$1({client:R,channelId:v,messageContent:y});if(!s.ok)throw et("pin",s.code,s.message);d(v),e.domainState.setPinnedMessage(_,"http:pin");let o=e.domainState.getPinnedMessage(a(v));if(o===void 0)throw new ke({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return o}catch(y){throw nt("pin",y)}},unpinMessage:async v=>{let D=h("unpin",v);try{let R=await Pa({client:D,channelId:v});if(!R.ok)throw et("unpin",R.code,R.message);d(v),e.domainState.clearPinnedMessage(a(v),"http:unpin");}catch(R){throw nt("unpin",R)}},getPinnedMessage:async v=>{try{return await i(v)}catch(D){throw nt("get",D)}},peekPinnedMessage:v=>(C("get",v),e.domainState.getPinnedMessage(a(v))??null)},dispose:()=>{c&&(c=false,g());}}}async function rt(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var im={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:rt,prefetchFirstPage:rt,refreshFirstPage:rt,listFirstPage:rt,listNextPage:rt,searchFirstPage:rt,refreshSearchFirstPage:rt,searchNextPage:rt},sm=new Set(["unknown_restricted","left","removed","dismissed"]);function tn(e){return sm.has(e)}function wd(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function c(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function a(){if(c(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function d(C){let h=C.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function i(C){let P=await a().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return c(),P}async function u(C,h){c();let P=d(C),v=a();await(h==="accept"?v.acceptJoinApplication(P):v.ignoreJoinApplication(P)),c();}async function f(C,h,P,v,D){r(),D?.throwIfAborted();let R=await S({signal:D,http:e.http,userId:P,clientType:e.clientType,channelId:C,index:h,containAnchor:v,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),D?.throwIfAborted(),R}async function g(C,h,P,v){let D=await f(C,h,P,true,v),R=D.messages.find(N=>N.extensions?.historyCursor===h);if(R===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${h}\uFF09`);return {context:D,message:R}}return {applications:{listJoinApplications:i,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:g,loadNewerPage:(C,h,P,v)=>f(C,h,P,false,v),dispose:()=>{n=false;}}}function Td(e){async function n(a,d,i){let u=new Map(d.filter(D).sort((g,C)=>g.sortKey.localeCompare(C.sortKey)).map(g=>[g.id,g]));if(u.size===0)return;let f=await e.authProvider.getLoginContext();if(f===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 g=u.values().next().value;u.delete(g.id);let C=g.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=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),P=e.getHistoryEpoch(a);try{let{context:v,message:D$1}=await e.loadMessageContext(a,C,f.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||P!==e.getHistoryEpoch(a))return;if(D$1.id!==g.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${C}, expected=${g.id}, actual=${D$1.id}\uFF09`);if(D$1.contentType!=="system"||D(D$1))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${C}, messageId=${g.id}\uFF09`);let R=v.messages.filter(N=>N.id===g.id||u.has(N.id));if(R.some(N=>N.contentType!=="system"||D(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(R,"offline",{backfillOnly:!0}),i.applyIncoming(R.flatMap(N=>{let y=e.domainState.getConversationMessage(N,N.id);return y===void 0?[]:[y]}));for(let N of R)u.delete(N.id);}catch(v){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=${g.id}\uFF09`,cause:v}});}}}function r(a,d){return a?.conversationType===d.conversationType&&a.conversationId===d.conversationId}async function c(a,d=e.domainState.messageWindow){if(a.stale||!a.messages.some(D))return a;let i=d.info().conversation;if(i===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${a.conversationId}\uFF09`);let u=e.domainState.getConversationContext(i);if(u?.type!=="channel"||u.channelState!==void 0&&tn(u.channelState))return a;let f=d.getRevision();if(await n(i.conversationId,a.messages,d),d.getRevision()!==f||!r(d.info().conversation,i))return {...a,stale:true};let g=new Map(d.list().map(C=>[C.id,C]));return {...a,messages:a.messages.map(C=>g.get(C.id)??C)}}return {reconcilePage:c}}function _d(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(y,_,s,o){let S=te({code:y,category:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":y==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...o===void 0?{}:{cause:o}});return Object.assign(new Error(_),S)}function c$1(y){let _=y.name.trim();if(_==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(_.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=y.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=s.map(S=>typeof S=="string"?S.trim():"");if(o.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let m=[...new Set(o)];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:_,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 y=e.crypto.randomTeaKey();if(!(y instanceof Uint8Array)||y.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let _="";for(let s of y)_+=String.fromCharCode(s);return globalThis.btoa(_)}function d(y,_){let s=y.trim();if(s==="")throw new Error(`${_}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function i(y){let _=y.trim();if(_==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return _}function u(y){let _=y.trim();if(_==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([..._].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return _}async function f(y){let _=(await e.getSelfUserId?.()??"").trim();return _!==""&&_===y.trim()}function g(){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(y,_,s){if(y!==1&&y!==2&&y!==4){let m=te({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(y!==4)return {verifyType:y};let o=_?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let m=te({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:y,inviteCode:o}}function h(y){if(!Array.isArray(y))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(y.map(_=>d(_,"\u793E\u7FA4\u6210\u5458 id")))]}function P$1(y){e.emitter?.emit({type:"channel-profile:updated",channelId:y,conversation:{conversationType:"channel",conversationId:y}});}function v(y){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(y).catch(_=>{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:y,error:_}}});});}function D(y){if(y===void 0)return;let _=typeof y=="number"?y:Number(y);return Number.isSafeInteger(_)?_:void 0}function R$1(y){if(typeof y=="boolean")return y;if(y===1||y==="1"||y==="true")return true;if(y===0||y==="0"||y==="false")return false}function N$1(y){if(y===null||typeof y!="object"||y===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let _=y.id??y.radio_id;if(typeof _!="string"&&typeof _!="number"||String(_).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=y.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(_),m=D(y.total_users),S=D(y.status),T=D(y.verify_way),L=D(y.update_version),ee=R$1(y.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:s,...y.head_img_url?.trim()===""||y.head_img_url===void 0?{}:{avatar:y.head_img_url},...y.user_id===void 0?{}:{ownerId:String(y.user_id)},...m===void 0?{}:{memberCount:m},...S===void 0?{}:{status:S},...ee===void 0?{}:{isInChannel:ee},...T===void 0?{}:{verifyWay:T},...L===void 0?{}:{updateVersion:L},...y.invite_code===void 0?{}:{inviteCode:y.invite_code}}}return {...n,mentions:e.mentionCandidates??im,uploadAvatar:async y=>{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 Gt(e.avatarTransfer,y)},create:async y=>{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 _=c$1(y),s=a();try{let o=await ba({client:e.coreClient,name:_.name,memberIds:_.memberIds,secretKey:s,...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl}});if(!o.ok){let T=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(T,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let m=N$1(o.data);e.cacheCreatedSecretKey?.(m.ref.conversationId,s);let S=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:S,channelPermissions:Ja("owner",S)}),Object.freeze({channel:m})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",o.message,void 0,o):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,o)}},listProfiles:y=>e.channelProfile?.listProfiles(y)??Promise.resolve([]),getProfile:(y,_)=>e.channelProfile?.getProfile(y,_)??Promise.resolve(null),listMembers:y=>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:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),prefetchMembers:y=>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(y),getCachedMembers:y=>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(y),refreshMembers:y=>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(y),searchMembers:y=>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:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listMentionMembers:y=>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:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),searchMentionMembers:y=>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:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listAdmins:y=>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:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),getMembersByIds:(y,_,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(y,_,s),updateName:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=d(_,"\u793E\u7FA4\u540D\u79F0");await pn("channels.updateName",o,()=>F({client:s,channelId:o,name:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:m}),P$1(o);},updateDescription:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=u(_);await pn("channels.updateDescription",o,()=>F({client:s,channelId:o,description:m})),P$1(o);},updateAvatar:async(y,_)=>{let s=g(),o=d(y,"\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 pn("channels.updateAvatar",o,()=>Gt(e.avatarTransfer,_));return await pn("channels.updateAvatar",o,()=>F({client:s,channelId:o,avatarUrl:m})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:m}),P$1(o),m},setMyNickname:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=i(_);await pn("channels.setMyNickname",o,()=>G({client:s,channelId:o,nickname:m})),P$1(o);},setMemberNickname:async(y,_,s)=>{let o=g(),m=d(y,"\u793E\u7FA4 id"),S=d(_,"\u793E\u7FA4\u6210\u5458 id");if(await f(S))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let T=i(s);await pn("channels.setMemberNickname",m,()=>H({client:o,channelId:m,userId:S,nickname:T})),P$1(m);},updateVerification:async(y,_,s)=>{let o=g(),m=d(y,"\u793E\u7FA4 id"),S=C(_,s,m);await pn("channels.updateVerification",m,()=>O({client:o,channelId:m,verifyType:S.verifyType,...S.inviteCode===void 0?{}:{inviteCode:S.inviteCode}})),P$1(m);},requestJoin:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=_?.remarks?.trim();return pn("channels.requestJoin",o,()=>ra$1({client:s,channelId:o,...m===void 0?{}:{remarks:m}}))},joinByInviteCode:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=_.trim();if(!/^\d{6}$/.test(m))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return pn("channels.joinByInviteCode",o,()=>sa$1({client:s,channelId:o,inviteCode:m}))},setAllMuted:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id");await pn("channels.setAllMuted",o,()=>P({client:s,channelId:o,muted:_})),e.domainState?.refreshConversationProfile?.(o,"channel"),P$1(o);},setMemberPrivateChatDisabled:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id");await pn("channels.setMemberPrivateChatDisabled",o,()=>Q({client:s,channelId:o,disabled:_})),e.domainState?.refreshConversationProfile?.(o,"channel"),P$1(o);},inviteMembers:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=h(_);if(m.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await pn("channels.inviteMembers",o,()=>I$1({client:s,channelId:o,userIds:m})),P$1(o);},removeMember:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=d(_,"\u5F85\u79FB\u9664\u6210\u5458 id");await pn("channels.removeMember",o,()=>J$1({client:s,channelId:o,userId:m})),P$1(o);},addAdmin:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=d(_,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await pn("channels.addAdmin",o,()=>K$1({client:s,channelId:o,userId:m})),v(o),P$1(o);},removeAdmin:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=d(_,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await pn("channels.removeAdmin",o,()=>L$1({client:s,channelId:o,userId:m})),v(o),P$1(o);},transferOwnership:async(y,_)=>{let s=g(),o=d(y,"\u793E\u7FA4 id"),m=d(_,"\u65B0\u793E\u7FA4\u4E3B id");await pn("channels.transferOwnership",o,()=>M({client:s,channelId:o,userId:m})),v(o),e.domainState?.refreshConversationProfile?.(o,"channel"),P$1(o);},leave:async(y,_)=>{let s=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let o=d(y,"\u793E\u7FA4 id"),m=_?.newOwnerId===void 0?void 0:d(_.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await pn("channels.leave",o,()=>N({client:s,channelId:o,...m===void 0?{}:{newOwnerId:m}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),P$1(o);},dismiss:async y=>{let _=g();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let s=d(y,"\u793E\u7FA4 id");await pn("channels.dismiss",s,()=>R({client:_,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),P$1(s);},...e.applications,...e.pinned??am}}function cm(e){let r=te({...{"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 dm(e){let n=e.responseCode===Y,a=te({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 lm(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Dd(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,c=new Map,a=new Map,d=new Map,i=0,u=false,f=5e3;function g$1(s,o,m){if(u)return "unknown";if(m!==void 0&&r.get(s)!==m)return c.get(s)??"unknown";let S=c.get(s);return c.set(s,o),a.set(s,Date.now()),S!==o&&e.onRelationshipChanged?.(s,o),o}function C(s,o){if(u)return;let m=P(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(m,++i),g$1(m,o);}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 P(s,o){let m=s.trim();if(m==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return m}function v(s,o){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(m=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:m}});});}async function D(s,o){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(s===""||o.name===void 0&&o.email===void 0&&o.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ma({client:e.coreClient,userId:s,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(m=>({countryCode:m.countryCode,mobile:m.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function R(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,o){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let m=s.trim();if(m==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let S=d.get(m);if(o&&S!==void 0)return S;let T=++i;r.set(m,T);let L=g(e.coreClient,{userId:m}).then(ee=>g$1(m,R(ee?.friend_status),T)).finally(()=>{d.get(m)===L&&d.delete(m);});return d.set(m,L),L}function y(s){return N(s,true)}async function _$1(s,o){let m=P(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),S;try{S=await N(m,!1);}catch(T){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:T}}}),null}if(u)return null;if(S==="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(S!=="friend")return "rejected";C(m,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(m,o,Date.now());}catch(T){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:T}}}),null}return u?null:(e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),v(m,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,o)=>e.profile?.getUserProfile(s,o)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:D,searchUser:s=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Z(e.coreClient,{query:s}).catch(o=>{throw o instanceof W?dm(o):o}).then(o=>{if(o===null)return null;let m=R(o.friendStatus);return C(o.userId,m),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:m,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl},...o.username===void 0?{}:{username:o.username},...o.miCallId===void 0?{}:{miCallId:o.miCallId},...o.signature===void 0?{}:{signature:o.signature}})}),getRelationship:y,requestFriendship:async(s,o)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let m=P(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),S;try{S=await _(e.coreClient,{userId:m,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(L){throw L instanceof X?cm(L):L}let T=lm(S.status);return C(m,T==="sent"?"pending":"friend"),T==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(m,j(),Date.now()),e.domainState.refreshConversationProfile(m,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:m}),v(m,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:T,...S.message===void 0?{}:{message:S.message}})},blockUser:async s=>{let o=P(s,"\u52A0\u5165\u9ED1\u540D\u5355");await V(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),C(o,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:o}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),v(o,"\u52A0\u5165\u9ED1\u540D\u5355");},listBlocked:async()=>{let s=await U(h("\u8BFB\u53D6\u9ED1\u540D\u5355"));return Object.freeze(s.map(o=>Object.freeze({userId:o.userId,displayName:o.displayName,nickname:o.nickname,...o.remark===void 0?{}:{remark:o.remark},...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}})))},unblockUser:async s=>{let o=P(s,"\u79FB\u51FA\u9ED1\u540D\u5355");await V(h("\u79FB\u51FA\u9ED1\u540D\u5355"),{userId:o,blocked:false}),C(o,"unknown"),N(o,false).catch(m=>{e.emitter.emit({type:"error",error:{scope:"http",message:"\u79FB\u51FA\u9ED1\u540D\u5355\u540E\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u5931\u8D25",cause:m}});}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),v(o,"\u79FB\u51FA\u9ED1\u540D\u5355");},reportUser:async(s,o)=>{let m=P(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),S=o.trim();if(S==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let T=e.getSelfId?.().trim()??"";if(T==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await aa$1(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:T,targetUserId:m,problem:S});},deleteFriendship:async s=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=s.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await $(e.coreClient,{userId:o}),C(o,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:o});try{await e.resetDirectReadReceiptPreference?.(o);}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}});}v(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>c.get(s.trim()),ensureRelationship(s){let o=P(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),m=a.get(o);return m!==void 0&&Date.now()-m<f?Promise.resolve(c.get(o)??"unknown"):y(o)},updateRelationshipFromEvent:C,resolveApplicationAnswer:_$1,dispose:()=>{u=true,i+=1,r.clear(),c.clear(),a.clear(),d.clear();}}}function kd(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let c=e().filter(d=>d.id===n);if(c.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(c.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let a=c[0];if(a.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:a.type,conversationId:a.id}}}function Od(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 c=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=e.domainState.getConversationContext(c);if(a===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${c.conversationType}, conversationId=${c.conversationId}\uFF09`);await La$1({client:e.coreClient,conversationType:a.type,targetId:a.id,muted:r}),e.domainState.setMuted(c,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),c=e.domainState.getSession(r);if(c===void 0)return;if(c.unreadCount===0&&c.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(c.unreadCount===0&&(c.type!=="channel"||(c.mentionUnreadCount??0)===0))return;if(c.type!=="robot"&&e.settleConversationRead!==void 0){await e.settleConversationRead(r);return}let a=e.domainState.getMessagesByConversation(r),d=a.at(-1)?.id??c.readCursor??"";if(c.type==="direct"||c.type==="robot"){d!==""&&e.domainState.advanceRead(r,d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="group"){let i=await e.authProvider.getLoginContext();if(i===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await na({http:e.http,userId:i.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,d===""?void 0:d),e.domainState.clearConversationManualUnread(r);return}if(c.type==="channel"){let i=Za(a);if(i===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,i),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${c.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(c=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",c));}}}var ta=1,um=3;function ra(e){return typeof Blob<"u"&&e instanceof Blob}async function xd(e){return ra(e)?new Uint8Array(await e.arrayBuffer()):e}function Nd(e){async function n(A){return e.connection.sendText(A)}async function r(A){return e.connection.sendContact(A)}async function c(A){return e.connection.forwardMessages(A)}async function a(A){return e.connection.recallMessage(A)}async function d(A){return e.connection.editMessage(A)}async function i(A){return e.connection.sendImage(A)}async function u(A){return e.connection.sendVideo(A)}async function f(A){return e.connection.sendVoice(A)}async function g(A){return e.connection.sendFile(A)}async function C(A){return e.connection.sendMediaAlbum(A)}async function h(A){return e.connection.sendGif(A)}async function P(A){return e.connection.sendExpression(A)}async function v(A){return e.connection.sendGame(A)}async function D(A){return e.connection.sendMiniProgram(A)}async function R(A){return e.connection.sendTransfer(A)}async function N(A){return e.connection.sendGift(A)}async function y(A){return e.connection.sendLiveRoom(A)}async function _(A,k){return e.connection.replaceInterruptedVideo(A,k)}async function s(A,k){return e.connection.replaceInterruptedFile(A,k)}function o(A){e.connection.cancelMedia(A);}function m(A,k){return {url:A.url,...A.getPriority===void 0?{}:{getPriority:A.getPriority},...A.expectedBytes===void 0?{}:{expectedBytes:A.expectedBytes},...A.onProgress===void 0&&A.onTransferProgress===void 0?{}:{onProgress:B=>{A.onTransferProgress?.(B),A.onProgress?.(B.percent);}},...A.signal!==void 0?{signal:A.signal}:{},...A.resume===void 0?{}:{resume:A.resume},...A.onResumable===void 0?{}:{onResumable:A.onResumable},...A.onResumeInvalidated===void 0?{}:{onResumeInvalidated:A.onResumeInvalidated},...k?{preferBlob:true}:{}}}async function S(A){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let k=await e.mediaTransfer.download(m(A,false)),B=await xd(k);return A.teaKey!==void 0&&A.teaKey.length>0&&A.fileEncryptType!==ta?e.crypto.decryptSymmetric({teaKey:A.teaKey,cipherData:B}):B}async function T(A){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let k=await e.mediaTransfer.download(m(A,true));if(A.teaKey===void 0||A.teaKey.length===0||A.fileEncryptType===ta)return k;let B=A.teaKey;return ra(k)?e.crypto.decryptSymmetricChunked({teaKey:B,cipherData:k,...A.signal===void 0?{}:{signal:A.signal}}):e.crypto.decryptSymmetric({teaKey:B,cipherData:k})}async function L(A){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(A.fileEncryptType===um)return T(A);let k=await e.mediaTransfer.download(m(A,true));if(A.teaKey===void 0||A.teaKey.length===0||A.fileEncryptType===ta)return k;let he=A.teaKey;if(!ra(k))return e.crypto.decryptFileSimple({teaKey:he,cipherData:k});if(k.size<=32){let q=e.crypto.decryptFileSimple({teaKey:he,cipherData:await xd(k)});return new Blob([q],{type:k.type})}let le=new Uint8Array(await k.slice(0,32).arrayBuffer()),O=e.crypto.decryptFileSimple({teaKey:he,cipherData:le});return new Blob([O,k.slice(32)],{type:k.type})}function ee(A){e.connection.retryMessage(A);}function J(A,k){let B={conversationType:"channel",conversationId:A},he=e.domainState.getLoadedMessagesByConversation(B),O=e.domainState.getConversationMessage(B,k)??he.find(j=>Ya$1(j)===k),q=Ya$1(O);if(O===void 0||typeof q!="string"||q.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${A}, input=${k}\uFF09`);return O.id}async function de(A){let k=A.conversationType??e.domainState.getSession(A.conversationId)?.type;if(k==="channel"){let B=J(A.conversationId,A.readCursor);await e.connection.markRead(A.conversationId,B,"channel");return}await e.connection.markRead(A.conversationId,A.readCursor,A.conversationType),k==="direct"&&await e.prepareDirectReadReceipt?.(A.conversationId);}function ge(A){if(A.conversationType!=="direct"&&A.conversationType!=="group"&&A.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${A.conversationType}`)}async function I(A,k){ge(A);let B={...A};if(k===void 0){let O=e.domainState.getSession(B);if((O?.unreadCount??0)>0||(O?.mentionUnreadCount??0)>0){if(B.conversationType!=="group")throw new Error(`${B.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=${B.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:B.conversationId});}e.domainState.clearConversationManualUnread?.(B);return}let he=e.connection.settleConversationRead;if(he===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let le=B.conversationType==="channel"?J(B.conversationId,k):k;await he(B,le),e.domainState.clearConversationManualUnread?.(B);}async function U(A,k){if(ge(A),A.conversationType!=="direct"||k.length===0)return;let B=e.connection.reportVisibleMessages;if(B===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");B(A,k),await e.prepareDirectReadReceipt?.(A.conversationId);}async function X(A,k){e.connection.reportDirectMediaConsumed?.(A,k),await e.prepareDirectReadReceipt?.(A);}return {operations:{sendText:n,sendContact:r,forwardMessages:c,recallMessage:a,editMessage:d,sendImage:i,sendVideo:u,sendVoice:f,sendFile:g,sendGif:h,sendMediaAlbum:C,sendExpression:P,sendGame:v,sendMiniProgram:D,sendTransfer:R,sendGift:N,sendLiveRoom:y,replaceInterruptedVideo:_,replaceInterruptedFile:s,cancelMediaUpload:o,loadImage:S,loadVideo:T,loadVoice:S,loadFile:L,retry:ee,markRead:de,markConversationRead:I,markVisibleMessages:U,markDirectMediaConsumed:X}}}function Ld(e){return {...e.operations,get state(){return e.getState()}}}var pm=50,mm=1e3,Pn={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 rn(e){let n=te({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 fm(e,n){switch(e){case Pn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Pn.CONTACT_PERMISSION_DENIED:case Pn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Pn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Pn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Pn.ALREADY_GROUP_MEMBER:case Pn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Pn.GROUP_MEMBER_LIMIT_REACHED:case Pn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Pn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Pn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Pn.OPERATION_FAILED:case Pn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Pn.GROUP_APPLICATION_UNAVAILABLE_40521:case Pn.GROUP_APPLICATION_UNAVAILABLE_40612:case Pn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function gm(e){if(e instanceof j$1||e instanceof q)return e.code}function ym(e){return e instanceof k$1||e instanceof r?{category:"contract",retryable:false}:e instanceof c?{category:"network",retryable:true}:{category:"state",retryable:false}}function Ud(e,n,r){let c=gm(r),a=fm(c,e),d=ym(r);return rn({code:a,category:d.category,operation:n,retryable:d.retryable,cause:r})}function Fd(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 rn({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 rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function oa(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw rn({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 Im(e,n,r="pending"){return Object.freeze({ref:Mt(e),...n===void 0?{}:{createdAt:n},state:r})}function vm(e){let n=oa(e.createdAt),r=ot(e.applicantAvatar,"contact.applicantAvatar"),c=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},...c===void 0?{}:{displayId:c}}),message:aa(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function hm(e){if(e.kind!=="request"&&e.kind!=="invite")throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=oa(e.createdAt),r=ot(e.actor.avatarUrl,"group.actor.avatarUrl"),c=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},...c===void 0?{}:{displayId:c}}),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:aa(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 rn({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 aa(e,n){if(typeof e!="string"&&typeof e!="number")throw rn({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 Cm(e){let n=oa(e.createdAt),r=ot(e.applicantAvatar,"channel.applicantAvatar"),c=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},...c===void 0?{}:{displayId:c}}),target:Object.freeze({id:_n(e.channelId,"channel.channelId"),name:_n(e.channelName,"channel.channelName"),...a===void 0?{}:{avatarUrl:a}}),message:aa(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Mr(e){return `${e.domain}:${e.applicationId}`}function Kd(e){let n=false,r=0,c=0,a=new Map,d=new Map,i=new Map;function u(v,D){if(n||!e.isActive()||D!==void 0&&r!==D)throw rn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:v,retryable:false})}function f(v){if(u(v),e.contact===void 0||e.group===void 0||e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:v,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(v,D){let R=[],N=new Set,y;for(let _=0;_<mm;_+=1){let s=await D({limit:pm,...y===void 0?{}:{cursor:y}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:v,retryable:false});if(R.push(...s.items),s.exhausted)return R;let o=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(o===""||N.has(o))throw rn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:v,retryable:false});N.add(o),y=o;}throw rn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:v,retryable:false})}async function C(){let v="applications.listPending",D=f(v),R=r,N=++c;try{let[y,_,s]=await Promise.all([g(v,T=>D.contact.listPendingApplications(T)),g(v,T=>D.group.listPendingApplications(T)),g(v,T=>D.channel.listJoinApplications(T))]);u(v,R);let o=[...y.map(vm),..._.map(hm),...s.map(Cm)],m=new Map;for(let T of o){let L=Mr(T.ref);if(d.has(L))continue;let ee=m.get(L);if(ee!==void 0&&JSON.stringify(ee.ref)!==JSON.stringify(T.ref))throw rn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:v,retryable:!1});(ee===void 0||(T.createdAt??0)>(ee.createdAt??0))&&m.set(L,T);}let S=[...m.values()].sort((T,L)=>{let ee=(L.createdAt??0)-(T.createdAt??0);return ee!==0?ee:Mr(T.ref).localeCompare(Mr(L.ref))});if(N===c){a.clear();for(let T of S)a.set(Mr(T.ref),T);}return Object.freeze(S)}catch(y){throw Fd(y)?y:(u(v,R),Ud("IM_SDK_APPLICATION_LIST_FAILED",v,y))}}function h(v,D){if(u(D),v===null||typeof v!="object")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});let R=typeof v?.applicationId=="string"?v.applicationId.trim():"";if(R==="")throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false});if(v.domain==="contact")return Mt({domain:"contact",applicationId:R});let N=typeof v.conversation?.conversationId=="string"?v.conversation.conversationId.trim():"";if(v.domain==="group"&&v.conversation?.conversationType==="group"&&N!=="")return Mt({domain:"group",applicationId:R,conversation:{conversationType:"group",conversationId:N}});if(v.domain==="channel"&&v.conversation?.conversationType==="channel"&&N!=="")return Mt({domain:"channel",applicationId:R,conversation:{conversationType:"channel",conversationId:N}});throw rn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:D,retryable:false})}function P(v,D){let R=D==="accepted"?"applications.accept":"applications.ignore",N=h(v,R),y=Mr(N),_=d.get(y);if(_===D)return Promise.resolve();if(_!==void 0)return Promise.reject(rn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:R,retryable:false}));let s=i.get(y);if(s!==void 0)return s.state===D?s.promise:Promise.reject(rn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:R,retryable:true}));let o=r,m=Promise.resolve().then(async()=>{try{let T;if(N.domain==="contact"){if(e.contact===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});T=D==="accepted"?e.contact.acceptApplication(N.applicationId):e.contact.ignoreApplication(N.applicationId);}else if(N.domain==="group"){if(e.group===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});T=D==="accepted"?e.group.acceptApplication(N.applicationId):e.group.ignoreApplication(N.applicationId);}else {if(e.channel===void 0)throw rn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});T=D==="accepted"?e.channel.acceptJoinApplication(N.applicationId):e.channel.ignoreJoinApplication(N.applicationId);}if(await T,u(R,o),D==="accepted"&&N.domain==="contact"){let ee=a.get(y);ee?.kind==="contact-request"&&await e.onContactAccepted?.(ee.applicant.id,N.applicationId);}d.set(y,D);let L=Im(N,a.get(y)?.createdAt,D);a.delete(y),e.emitter.emit({type:"application:updated",application:L});}catch(T){throw Fd(T)?T:(u(R,o),Ud("IM_SDK_APPLICATION_ACTION_FAILED",R,T))}}),S=()=>{i.get(y)?.promise===m&&i.delete(y);};return i.set(y,{state:D,promise:m}),m.then(S,S),m}return {api:{listPending:C,accept:async v=>P(v,"accepted"),ignore:async v=>P(v,"ignored")},dispose(){n||(n=true,r+=1,a.clear(),d.clear(),i.clear());}}}function St(e,n,r){try{r();}catch(c){let a=c instanceof Error?c.message:String(c);throw a.includes("\u672A\u9274\u6743")?te({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u53EA\u5B9E\u73B0")||a.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?te({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?te({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):a.includes("\u6CA1\u6709\u5339\u914D")||a.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?te({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c}):te({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:c})}}function Bd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},c;return St("calls.invite",r,()=>{c=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),c},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 ia=18,bm=12,Mm=300*1e3,Sm=64,Gd=Object.freeze([]),Pm=0;function Rm(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Hd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Mm,c=e.maxCacheEntries??Sm;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(c)||c<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let a=++Pm,d=new Map,i=new Map,u=new Map,f=new Map,g=new Map,C=new Map,h=new Map,P=new Set,v=0,D=true,R=O=>f.get(O)??0;function N(){if(!D)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function y(O){if(O.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let q=O.conversationId.trim();if(q==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return q}function _(O){let q=d.get(O);d.delete(O),q?.page.nextPageToken!==void 0&&u.delete(q.page.nextPageToken);}function s(O,q){let j=d.get(O);return j===void 0?null:j.generation!==q||j.expiresAt<=n()?(_(O),null):(d.delete(O),d.set(O,j),j.page)}function o(O,q){for(_(O),d.set(O,q);d.size>c;){let j=d.keys().next().value;if(typeof j!="string")break;_(j);}}function m(O){let q=[],j=new Map;for(let ie of O){let ue=ie.userId.trim();if(ue==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");j.has(ue)||q.push(ue);let Me=ie.displayName.trim()||ue,Q=ie.avatar?.trim();j.set(ue,Object.freeze({userId:ue,displayName:Me,...Q===void 0||Q===""?{}:{avatar:Q}}));}return Object.freeze(q.map(ie=>j.get(ie)))}async function S(O,q){let j=await oa$1(q);return Object.freeze(O.filter(ie=>j.match(ie.displayName)!==null||j.match(ie.userId,{pinyin:false})!==null))}async function T(O,q){let j=await A(O);return j===null?Gd:S(j.page.items,q)}function L(O,q){let j=[...O.items],ie=new Set(j.map(ue=>ue.userId));for(let ue of q)ie.has(ue.userId)||(ie.add(ue.userId),j.push(ue));return Object.freeze({...O,items:Object.freeze(j)})}function ee(O,q){let j=O.map(ue=>ue.userId),ie=new Map(O.map(ue=>[ue.userId,ue]));for(let ue of q)ie.has(ue.userId)||j.push(ue.userId),ie.set(ue.userId,ue);return j.map(ue=>ie.get(ue))}function J(O,q,j){let ie=`im-channel-mention:${a}:${++v}`;for(u.set(ie,{...O,generation:q,expiresAt:j});u.size>c;){let ue=u.keys().next().value;if(typeof ue!="string")break;u.delete(ue);}return ie}function de(O){let q=O.nextCursor?.trim();if(O.exhausted&&q!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!O.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 ge(O,q,j,ie){let ue=de(O),Me=ue===void 0?void 0:J({...q,cursor:ue},j,ie);return Object.freeze({items:m(O.items),...Me===void 0?{}:{nextPageToken:Me},exhausted:O.exhausted})}function I(){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 U(O,q){let j=g.get(O);for(j?.page.nextPageToken!==void 0&&u.delete(j.page.nextPageToken),g.delete(O),g.set(O,q);g.size>c;){let ie=g.keys().next().value;if(ie===void 0)break;let ue=g.get(ie);ue?.page.nextPageToken!==void 0&&u.delete(ue.page.nextPageToken),g.delete(ie);}}function X(O,q){let j=n()+r,ie={channelId:O.channelId,kind:"list"},ue=O.nextCursor===void 0?void 0:J({...ie,cursor:O.nextCursor},q,j);return {generation:q,updatedAt:O.updatedAt,page:Object.freeze({items:m(O.items),...ue===void 0?{}:{nextPageToken:ue},exhausted:O.exhausted})}}function A(O){N();let q=g.get(O);if(q!==void 0)return Promise.resolve(q);if(P.has(O)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let j=h.get(O);if(j!==void 0)return j;let ie=R(O),ue=e.storage.getChannelMentionCandidateSnapshot(O).then(Me=>{if(N(),Me===null||Me.channelId!==O||R(O)!==ie||P.has(O))return null;let Q=X(Me,ie);return U(O,Q),Q}).finally(()=>{h.get(O)===ue&&h.delete(O);});return h.set(O,ue),ue}function k(O){N();let q=C.get(O);if(q!==void 0)return q;let j=R(O),ie=I(),ue=(async()=>{let Me,Q=false,xe=[];for(let cn=0;cn<bm&&!Q;cn+=1){let $e=await ie.listMentionMembers({channelId:O,limit:ia,...Me===void 0?{}:{cursor:Me}});if(N(),R(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");Me=de($e),Q=$e.exhausted,xe=ee(xe,$e.items);}let Ne=n(),Ve={channelId:O,items:xe,...Me===void 0?{}:{nextCursor:Me},exhausted:Q,updatedAt:Ne};if(R(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Ve),N(),R(O)!==j)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=X(Ve,j);return U(O,je),je.page})().finally(()=>{C.get(O)===ue&&C.delete(O);});return C.set(O,ue),ue}function B(O,q=false){N();let j=R(O.channelId),ie=Rm(O);if(!q){let Ne=s(ie,j);if(Ne!==null)return Promise.resolve(Ne)}let ue=i.get(ie);if(ue!==void 0&&ue.generation===j)return ue.promise;let Me=I(),Q=O.kind==="list"?Me.listMentionMembers({channelId:O.channelId,limit:ia,...O.cursor===void 0?{}:{cursor:O.cursor}}):Me.searchMentionMembers({channelId:O.channelId,query:O.keyword,limit:ia,...O.cursor===void 0?{}:{cursor:O.cursor}}),xe=Promise.resolve(Q).then(async Ne=>{N();let Ve=O.kind==="search"&&O.cursor===void 0?await T(O.channelId,O.keyword):Gd;if(N(),R(O.channelId)!==j)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let je=n()+r,cn=ge(Ne,O,j,je),$e=Ve.length===0?cn:L(cn,Ve);return R(O.channelId)===j&&o(ie,{channelId:O.channelId,generation:j,expiresAt:je,page:$e}),$e}).finally(()=>{i.get(ie)?.promise===xe&&i.delete(ie);});return i.set(ie,{generation:j,promise:xe}),xe}function he(O,q){N();let j=u.get(O);if(j===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(j.kind!==q)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${q} \u5206\u9875`);if(j.expiresAt<=n())throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(R(j.channelId)!==j.generation)throw u.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return j}return {api:{peekFirstPage(O){if(!D)return null;let q=y(O),j=g.get(q);return j===void 0||j.generation!==R(q)?null:(U(q,j),j.page)},peekSearchCandidates(O,q){if(!D)return Object.freeze([]);let j=y(O),ie=q.trim().toLocaleLowerCase();if(ie==="")return Object.freeze([]);let ue=g.get(j);return ue===void 0||ue.generation!==R(j)?Object.freeze([]):(U(j,ue),Object.freeze(ue.page.items.filter(Me=>Me.displayName.toLocaleLowerCase().includes(ie)||Me.userId.toLocaleLowerCase().includes(ie))))},async getCachedPage(O,q){let j=y(O),ie=await A(j);if(ie===null)return null;let ue=q?.trim()??"";if(ue==="")return ie.page;let Me=await S(ie.page.items,ue);return N(),ie.generation!==R(j)?null:Object.freeze({items:Me,exhausted:true})},async prefetchFirstPage(O){let q=y(O),j=await A(q);j!==null&&j.updatedAt+r>n()||await k(q);},async refreshFirstPage(O){return k(y(O))},async listFirstPage(O){let q=y(O),j=g.get(q);if(j!==void 0&&j.generation===R(q))return U(q,j),j.page;let ie=await A(q);return ie!==null?ie.page:k(q)},async listNextPage(O){return B(he(O,"list"))},async searchFirstPage(O,q){let j=y(O),ie=q.trim();return ie===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):B({channelId:j,kind:"search",keyword:ie})},async refreshSearchFirstPage(O,q){let j=y(O),ie=q.trim();return ie===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):B({channelId:j,kind:"search",keyword:ie},true)},async searchNextPage(O){return B(he(O,"search"))}},async invalidate(O){if(!D)return;let q=O.trim();if(q==="")return;f.set(q,R(q)+1),P.add(q);let j=g.get(q);j?.page.nextPageToken!==void 0&&u.delete(j.page.nextPageToken),g.delete(q),C.delete(q),h.delete(q);for(let[ie,ue]of d)ue.channelId===q&&_(ie);for(let[ie,ue]of u)ue.channelId===q&&u.delete(ie);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(q),P.delete(q));},clear(){if(!D)return;let O=new Set;for(let q of d.values())O.add(q.channelId);for(let q of u.values())O.add(q.channelId);for(let q of O)f.set(q,R(q)+1);d.clear(),u.clear(),i.clear(),g.clear(),C.clear(),h.clear(),P.clear();},dispose(){D&&(D=false,d.clear(),u.clear(),i.clear(),g.clear(),C.clear(),h.clear(),P.clear());}}}var Em=20*1024*1024;function Yn(e){return te({...e,retryable:e.retryable??false})}function sa(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 Am(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 wm(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 jd(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:wm(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 c=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:c}}function ca(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 Tm(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function zd(e){let n=e.maxCustomImageBytes??Em,r=false,c=0,a,d;async function i(f,g){try{return await g(Am(e.storage,f))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:f,cause:C})}}return {api:{async getBackground(f){let g="conversations.getBackground",C=sa(f,g);return i(g,async h=>{let P=await h.getConversationBackground(C);if(P!==null)return Object.freeze({source:"conversation",selection:ca(P)});let v=await h.getDefaultConversationBackground();return Object.freeze(v===null?{source:"builtin",selection:null}:{source:"default",selection:ca(v)})})},async setBackground(f,g){let C="conversations.setBackground",h=sa(f,C),P=await jd(g,C,n);await i(C,v=>v.saveConversationBackground(h,P));},async resetBackground(f){let g="conversations.resetBackground",C=sa(f,g);await i(g,h=>h.deleteConversationBackground(C));},async getDefaultBackground(){return i("conversations.getDefaultBackground",async g=>{let C=await g.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:ca(C)})})},async setDefaultBackground(f){let g="conversations.setDefaultBackground",C=await jd(f,g,n);await i(g,h=>h.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await i("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(f){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(Yn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!f?.forceRefresh&&a!==void 0)return Promise.resolve(a);if(!f?.forceRefresh&&d!==void 0)return d;if(e.coreClient===void 0)return Promise.reject(Yn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:g}));let C=++c,h=ha(e.coreClient).then(P=>{let v=Object.freeze(P.map(Tm));return !r&&C===c&&(a=v),v}).catch(P=>{throw Yn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:P})}).finally(()=>{C===c&&(d=void 0);});return d=h,h}},dispose(){r=true,c+=1,a=void 0,d=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 Vd=2;async function _m(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,c,a,d,i=g=>qd(e.entryUpperSortKey===void 0?g:g.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,a,e.isEntryUnread).unreadMessages;for(let g=0;g<=(e.maxExtraPages??Vd);g+=1){e.signal?.throwIfAborted();let C=await e.loadReadCursorPage(c);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,d=C;for(let D of C.messages){if(D.conversationId!==e.conversation.conversationId||D.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(D.id,D);}let h=[...n.values()].sort(n$1),P=i(h),v=e.entryUpperSortKey!==void 0&&C.messages.some(D=>D.sortKey>=e.entryUpperSortKey);if(da(P)&&(C.exhausted||v))return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(v||P.some(D=>D.contentType!=="system")||C.exhausted||C.nextCursor===void 0||C.nextCursor===c||r.has(C.nextCursor))break;r.add(C.nextCursor),c=C.nextCursor;}let u=[...n.values()].sort(n$1),f=i(u)[0];return f!==void 0&&d!==void 0?(await e.openAt(f.sortKey,{messages:u,hasNewer:!d.exhausted,...d.nextCursor===void 0?{}:{nextCursor:d.nextCursor}}),e.signal?.throwIfAborted(),Wd(f.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function da(e){return e.length>0&&e.every(n=>n.contentType==="system")}function Dm(e){return pa$1(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function qd(e,n,r,c){let a=[];for(let d of e)!Dm(d)||r!==void 0&&d.sortKey<=r||(c?.(d)??ua$2(d,n))&&a.push(d);return {unreadMessages:a}}function Wd(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function la(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return _m(e);let n=new Map,r=()=>{let h=e.list();for(let P of h)n.delete(P.id);for(let P of qd(h,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)n.set(P.id,{id:P.id,sortKey:P.sortKey,contentType:P.contentType});return [...n.values()].sort(n$1)},c=e.readCursorSortKey!==void 0;c?await e.openAt(e.readCursorSortKey):await e.openLatest(),e.signal?.throwIfAborted();let a=r(),d=e.maxExtraPages??Vd,i=e.paginationKey??(()=>JSON.stringify(e.list().map(h=>[h.id,h.sortKey]))),u=new Set,f=()=>a.length<e.unreadCount||c&&da(a);for(let h=0;f()&&(c?e.hasNewer():e.hasOlder())&&h<d&&(e.signal?.throwIfAborted(),u.add(i()),await(c?e.loadNewer():e.loadOlder()),e.signal?.throwIfAborted(),a=r(),!(e.maxExtraPages!==void 0&&u.has(i())));h+=1);if(a.length<e.unreadCount)return c?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let g=c?a:a.slice(-e.unreadCount);if((!c||!e.hasNewer())&&da(g))return await e.openLatest(),Object.freeze({state:"none"});let C=g[0];return C===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(C.sortKey),e.signal?.throwIfAborted(),Wd(C.id,e.unreadCount))}function Rr(e){if(e===void 0||e.length===0)return;let n=false,r=[],c={},a=new Set;for(let d of e){if(d.userId==="0"){n=true;continue}a.has(d.userId)||(a.add(d.userId),r.push(d.userId),d.displayName.trim()!==""&&(c[d.userId]=d.displayName));}return {atAll:n,atUserIds:r,...Object.keys(c).length===0?{}:{atUsersName:c}}}function km(e){return i$1(e)?[...new Set([e.toLowerCase(),e.toUpperCase(),e])]:[e]}function $d(e){let n=new Map;for(let r of e){let c=r.trim(),a=L([c])[0];if(a===void 0)continue;let d=k(a),i=n.get(d)??{sourceIds:new Map,queryIds:new Set};i.sourceIds.has(a)||i.sourceIds.set(a,c);for(let u of km(a))i.queryIds.add(u);if(i.queryIds.size>K)throw new RangeError("\u540C\u4E00\u6D88\u606F\u7684\u67E5\u8BE2\u5F62\u5F0F\u8D85\u8FC7\u5355\u6B21\u8BF7\u6C42\u4E0A\u9650");n.set(d,i);}return [...n].map(([r,c])=>({id:r,sourceIds:[...c.sourceIds.values()],queryIds:[...c.queryIds]}))}function Jd(e){let n=[],r=[],c=0;for(let a of e)c+a.queryIds.length>K&&(n.push(r),r=[],c=0),r.push(a),c+=a.queryIds.length;return r.length>0&&n.push(r),n}async function so(e,n){let r=new Map,c=new Set;for(let a of Jd($d(e))){let d=a.flatMap(u=>u.queryIds),i=await n(d);if(i.messages.some(u=>i.missingMessageIds.includes(u.id)))throw new Error("\u6309 ID \u67E5\u8BE2\u540C\u65F6\u8FD4\u56DE\u539F\u6D88\u606F\u4E0E\u8BE5\u6D88\u606F\u5168\u90E8\u5F62\u5F0F\u7F3A\u5931");for(let u of i.messages){let f=`${I(u)}:${u.id}`,g=r.get(f);r.set(f,g===void 0?u:J(g,u));}for(let u of i.missingMessageIds)c.add(u);}return {messages:[...r.values()],missingMessageIds:[...c]}}function Om(e){return e instanceof Ea?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}async function Yd(e){let n=$d(e.messageIds);if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],c=[],a=[],d;for(let i of Jd(n)){let u=i.map(f=>f.id);if(!e.isCurrent()){a.push(...u);continue}try{let f=await e.fetchBatch(i.flatMap(h=>h.sourceIds));if(!e.isCurrent()){a.push(...u);continue}let g=new Set(f.messages.map(h=>h.id)),C=new Set(f.missingMessageIds);r.push(...f.messages.map(e.projectMessage)),c.push(...f.missingMessageIds);for(let h of u)!g.has(h)&&!C.has(h)&&a.push(h);}catch(f){a.push(...u),d=Om(f);}}return {messages:r,missingMessageIds:c,unresolvedMessageIds:a,...d===void 0?{}:{failure:d}}}function ua(e,n,r){return e instanceof Sr?te({code:e.code,category:e.category,retryable:e.retryable,operation:n,conversation:r,cause:e}):yt(e,n,r)}var ma=new WeakMap;function lo(e,n){let r=ma.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");ma.set(e,r);}var xm={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"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}},Nm={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"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}},Xd={"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}},Qd={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"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 Zd(e,n,r){let c=te({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(c.code,void 0),c)}function co(e,n,r,c){if((n.conversationType==="group"||n.conversationType==="channel")&&e.getPinnedMessage(n)?.messageId===r){let a=te({code:"IM_SDK_MESSAGE_PINNED",category:"state",operation:c,retryable:false,conversation:n,details:{messageId:r}});throw Object.assign(new Error(a.code),a)}}function Lm(e,n){let r=te({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 Um=3*1024*1024,pa=200*1024*1024,el=2*1024*1024*1024,nl=30*1024*1024,tl=4294967295,Fm=6,Km=4,Bm=16*1024;async function Gm(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 c=String.fromCharCode(...r);return c==="GIF87a"||c==="GIF89a"}var Hm={"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 uo(e,n,r,c,a={},d={}){d.signal?.throwIfAborted();let i=Object.freeze({...e}),u=n.pageSize??30,f={historySource:i.conversationType==="group"||i.conversationType==="channel"?"remote":"local",retention:{maxMessages:u*Fm},...a.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(p,b)=>a.shouldEstablishRemoteLatestOnOpen?.(b)===true}},g=n.domainState.createMessageWindow({...f}),C=new WeakSet,h=new Set,P=new Set,v=new Map,D,R,N=false,y=false,_=false,s=true,o=0,m=Object.freeze({state:"none"}),S=d.captureEntryUnread===true&&i.conversationType!=="robot",T=S?n.domainState.getSession(i):void 0,L=Math.max(0,T?.manuallyUnread===true?0:T?.unreadCount??0),ee=S?n.domainState.getReadState(i):void 0,J=n.getSelfId(),de=new Map,ge=new Set,I,U,X=ee?.readCursorSortKey,A=S?Object.freeze(L>0?{state:"pending",count:L}:{state:"none"}):void 0,k=0,B,he,le=0,O=false,q,j;if(S)for(let p of n.domainState.getLoadedMessagesByConversation(i))de.set(p.id,ua$2(p,J)),ee?.readCursor===(i.conversationType==="channel"?p.extensions?.historyCursor:p.id)&&(X=p.sortKey);let ie=new AbortController,ue=new WeakMap,Me;function Q(){if(y)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function xe(){let p=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(i),draft:n.domainState.getDraft(i),loading:v.size>0,stale:N,hasOlder:p.hasMore,hasNewer:p.hasNewer,error:R,entryUnread:m,entryUnreadNavigation:A}}function Ne(p,b){return p.length===b.length&&p.every((M,F)=>M===b[F])}function Ve(p,b){return Ne(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=Jr(p);return ue.set(p,M),M}function cn(p){let b=p.context;return {ref:i,...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 Q(),cn(xe())}function on(){Re();let p=xe();if(Me!==void 0&&Ve(Me,p))return;Me=p;let b=cn(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 Qe(p,b){if(b(),D!==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(i),F=i.conversationType==="channel"&&M?.messageId===p,oe=g.window.list().find(Le=>Le.id===p)??n.domainState.getConversationMessage(i,p);if(oe!==void 0&&(!F||jt(oe)))return {anchor:oe,...F?{remoteSeed:oe}:{}};let Ie=F?await n.domainState.resolveConversationMessage(i,p):void 0;if(Ie!==void 0&&jt(Ie))return {anchor:Ie,remoteSeed:Ie};let fe=M?.messageId===p&&M.preview.state==="ready"?M.preview.message:void 0;if(fe!==void 0){if(i.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(),D!==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 Le=await n.fetchMessagesByIdBatch([p]),Ke=Le.messages.find(ln=>ln.id===p&&ln.conversationType===i.conversationType&&ln.conversationId===i.conversationId);if(Ke===void 0){if(Le.missingMessageIds.includes(p))return;throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u672A\u53D6\u5F97\u5B8C\u6574\u6D88\u606F\u7ED3\u679C")}if(!jt(Ke))throw new Error("CHANNEL \u7F6E\u9876\u5B9A\u4F4D\u6D88\u606F\u7F3A\u5C11\u5386\u53F2\u6E38\u6807");return {anchor:Ke,remoteSeed:Ke}}return {anchor:fe,fallbackSeed:fe}}let ve=n.resolveSearchHistoryAnchor?.(i,p);if(ve!==void 0)return {anchor:ve};let Ce=F?Ie:await n.domainState.resolveConversationMessage(i,p);return Ce===void 0?void 0:{anchor:Ce}}async function Rn(p,b,M,F=false){M();let{anchor:oe}=b;if(b.remoteSeed!==void 0)return Kn(p,b.remoteSeed,M,F);let Ie=await p.openAt(i,{anchorSortKey:oe.sortKey,limit:u});M();let fe=p.list().find(ve=>ve.id===oe.id);return p.info().remotePagination===true&&fe!==void 0?Kn(p,fe,M,F):p.list().some(ve=>ve.id===oe.id)||b.fallbackSeed===void 0?Ie:Kn(p,b.fallbackSeed,M,F)}async function Kn(p,b,M,F){let oe=await p.openAt(i,{anchorSortKey:b.sortKey,limit:u,seedMessages:[b],seedHasNewer:true,seedRemotePagination:{}});if(M(),!F)return oe;for(let Ie of ["older","newer"])for(let fe=0;fe<Km;fe+=1){M();let ve=p.info();if(!(Ie==="older"?ve.hasMore:ve.hasNewer))break;let Ce=Ie==="older"?await p.loadOlder({limit:u}):await p.loadNewer({limit:u});if(M(),Ce.stale)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");if(Ce.messages.length>0)break}return {...oe,messages:p.list()}}function E(p,b,M){Q();let F=g,oe=M?.window??F.window,Ie=M?.isCurrent??(()=>!y&&g===F),fe=()=>{if(Q(),!Ie())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(D!==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 ve=v.get(p);if(ve!==void 0)return ve;let Ce=n.beginReceiving?.();R=void 0;let Le=Promise.resolve().then(()=>(fe(),b())).then(Ke=>(fe(),a.reconcilePage===void 0?Ke:a.reconcilePage(Ke,oe))).then(Ke=>{fe(),N=Ke.stale===true;}).catch(Ke=>{let ln=Ke instanceof Oa$1?Ke.cause:Ke;throw Ie()&&(R=ua(ln,`history.${p}`,i)),s?Ke:ln}).finally(()=>{Ce?.(),v.delete(p),y||on();});return v.set(p,Le),on(),Le}function z(){g.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u));}async function H(){O=false,_?_=false:await E("latest",()=>g.window.open(i,{limit:u})),z(),a.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await E("latest:remote",()=>g.window.loadOlder({limit:u,establishLatestOnly:true})),z()),O=!N,Ee(g.window.list());}function W(){if(Q(),he?.version===k)return he.promise;let p=++k,b=ye(p).finally(()=>{he?.version===p&&(he=void 0);});return he={version:p,promise:b},b}async function ye(p){let b=g,M=n.domainState.createMessageWindow(f),F=()=>!y&&k===p&&g===b,oe=()=>{if(!F())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Ie={window:M.window,isCurrent:F},fe=(Ce,Le)=>E(Ce,async()=>{let Ke=await Le();if(Ke.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Ke},Ie),ve=false;try{await fe(`latest:${p}`,()=>M.window.open(i,{limit:u})),oe(),M.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u)),a.shouldEstablishRemoteLatestOnOpen?.(M.window.list())===!0&&(await fe(`latest:remote:${p}`,()=>M.window.loadOlder({limit:u,establishLatestOnly:!0})),oe(),M.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u))),g=M,ve=!0,b.dispose(),O=!0,N=!1,Ee(M.window.list()),on();}finally{ve||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 ge.has(p.id)||I===void 0||p.sortKey>I||X!==void 0&&p.sortKey<=X?false:de.get(p.id)??ua$2(p,J)}function qe(){if(!S||L<=0)return;let b=g.window.list().filter(M=>!ge.has(M.id));I=b.at(-1)?.sortKey;for(let M of b)de.has(M.id)||de.set(M.id,ua$2(M,J));if(d.initialPosition==="first-unread"&&m.state==="located"){U=m.firstMessageId,A=Object.freeze({state:"located",count:L,firstMessageId:m.firstMessageId});return}Re();}function Re(){if(!S||L<=0||U!==void 0||I===void 0||A?.state==="none")return;let p=g.window.list();if(!p.some(oe=>oe.sortKey===I))return;let b=p.filter(oe=>we(oe)&&pa$1(oe)&&oe.recalled===void 0&&oe.deletedForEveryone===void 0);if(b.length<L)return;let M=b.slice(-L);if(M.every(oe=>oe.contentType==="system")){A=Object.freeze({state:"none"});return}let F=M[0];U=F.id,m=Object.freeze({state:"located",firstMessageId:F.id,count:L}),A=Object.freeze({state:"located",firstMessageId:F.id,count:L});}function Te(p={}){if(Q(),p.signal?.aborted)return Promise.reject(p.signal.reason);if(B!==void 0){if(!B.controller.signal.aborted&&B.version===k&&B.callerSignal===p.signal)return B.promise;B.controller.abort();}if(A===void 0||A.state==="none")return Promise.resolve(false);let b=++k,M=n.domainState.createMessageWindow(f),F=new AbortController,oe=()=>!y&&!F.signal.aborted&&k===b,Ie=()=>{if(!oe())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},fe=async xn=>{Ie();let Cn=await xn();if(Ie(),a.reconcilePage!==void 0&&(Cn=await a.reconcilePage(Cn,M.window)),Ie(),Cn.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(i,kn.id)??kn));},ve=false,Ce,Le=new Promise((xn,Cn)=>{Ce=Cn;}),Ke=()=>{ve||M.dispose(),Ce(F.signal.reason);},ln=()=>F.abort(p.signal?.reason),hn=()=>F.abort(ie.signal.reason);F.signal.addEventListener("abort",Ke,{once:true}),p.signal?.addEventListener("abort",ln,{once:true}),ie.signal.addEventListener("abort",hn,{once:true}),ie.signal.aborted&&hn();let wr=n.beginReceiving?.(),fn=(async()=>{try{let xn=U,Cn=xn===void 0?void 0:await Qe(xn,Ie);if(Ie(),xn!==void 0&&Cn===void 0)return A=Object.freeze({state:"unavailable",count:L}),!1;let kn=Cn===void 0?await la({conversation:i,pageSize:u,maxExtraPages:Number.POSITIVE_INFINITY,...I===void 0?{}:{entryUpperSortKey:I},unreadCount:L,...X===void 0?{}:{readCursorSortKey:X},signal:F.signal,selfId:J,isEntryUnread:we,...i.conversationType!=="channel"||!ee?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async An=>{let bn=await n.loadEntryUnreadPage({readCursor:ee.readCursor,...An===void 0?{}:{cursor:An},signal:F.signal,isCurrent:oe});return Ie(),bn}},paginationKey:()=>M.window.getPaginationKey(),list:()=>M.window.list(),hasOlder:()=>M.window.info().hasMore,hasNewer:()=>M.window.info().hasNewer,openLatest:async()=>{await fe(()=>M.window.open(i,{limit:u})),a.shouldEstablishRemoteLatestOnOpen?.(M.window.list())===!0&&await fe(()=>M.window.loadOlder({limit:u,establishLatestOnly:!0}));},openAt:(An,bn)=>fe(()=>M.window.openAt(i,{anchorSortKey:An,limit:u,...bn===void 0?{}:{seedMessages:bn.messages.map(dt=>n.domainState.getConversationMessage(i,dt.id)??dt),seedHasNewer:bn.hasNewer,seedRemotePagination:bn.nextCursor===void 0?{}:{newerCursor:bn.nextCursor}}})),loadOlder:()=>fe(()=>M.window.loadOlder({limit:u})),loadNewer:()=>fe(()=>M.window.loadNewer({limit:u}))}):await(async()=>(await fe(()=>Rn(M.window,Cn,Ie)),{state:"located",firstMessageId:Cn.anchor.id,count:L}))();if(Ie(),kn.state!=="located")return A=Object.freeze(kn.state==="none"?{state:"none"}:{state:"unavailable",count:L}),!1;let Zn=M.window.list().find(An=>An.id===kn.firstMessageId);if(Zn===void 0||!pa$1(Zn)||Zn.recalled!==void 0||Zn.deletedForEveryone!==void 0)return A=Object.freeze({state:"unavailable",count:L}),!1;let go=g;return g=M,ve=!0,go.dispose(),U=kn.firstMessageId,m=kn,A=Object.freeze({state:"located",count:L,firstMessageId:kn.firstMessageId}),R=void 0,!0}catch(xn){let Cn=xn instanceof Oa$1?xn.cause:xn;if(oe()){let kn=ua(Cn,"history.loadEntryUnread",i);A=Object.freeze({state:"failed",count:L,error:kn});}throw Cn}})(),De=Promise.race([fn,Le]).finally(()=>{F.signal.removeEventListener("abort",Ke),p.signal?.removeEventListener("abort",ln),ie.signal.removeEventListener("abort",hn),ve||M.dispose(),wr?.(),B?.controller===F&&(B=void 0),y||on();});return B={version:b,callerSignal:p.signal,controller:F,promise:De},De}async function Fe(){if(O){let M=new Map,F=n.domainState.getLoadedMessagesByConversation(i);for(let Ie of [q,...F])Ie!==void 0&&M.set(Ie.id,n.domainState.getConversationMessage(i,Ie.id)??Ie);let oe=[...M.values()].sort((Ie,fe)=>Ie.sortKey.localeCompare(fe.sortKey));return Ee(oe),q?.id}let p=le,b=n.domainState.createMessageWindow(f);try{let M=await b.window.open(i,{limit:u});if(Q(),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 oe=await b.window.loadOlder({limit:u,establishLatestOnly:!0});if(Q(),oe.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(p!==le)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");Ee(b.window.list()),O=!0;let F=b.window.list();return a.resolveReadMessageId===void 0?F.at(-1)?.id:a.resolveReadMessageId(F)}finally{b.dispose();}}async function en(){let p=n.domainState.getSession(i),b=Math.max(0,p?.manuallyUnread===true?0:p?.unreadCount??0),M=n.domainState.getReadState(i),F=M?.readCursor,Ie=(F===void 0||F===""?void 0:i.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(i).find(fe=>fe.extensions?.historyCursor===F):n.domainState.getConversationMessage(i,F))?.sortKey??M?.readCursorSortKey;m=await la({conversation:i,pageSize:u,unreadCount:b,...Ie===void 0?{}:{readCursorSortKey:Ie},signal:ie.signal,...i.conversationType!=="channel"||F===void 0||F===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async fe=>{let ve=g.window.getRevision(),Ce=()=>!y&&!ie.signal.aborted&&g.window.getRevision()===ve,Le=await n.loadEntryUnreadPage({readCursor:F,...fe===void 0?{}:{cursor:fe},signal:ie.signal,isCurrent:Ce});if(ie.signal.throwIfAborted(),!Ce())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Le}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:H,openAt:(fe,ve)=>{if(ve===void 0&&i.conversationType==="channel"&&F!==void 0&&F!==""&&n.loadEntryUnreadPage!==void 0)return Promise.resolve();_=false;let Ce=ve?.messages.map(ln=>n.domainState.getConversationMessage(i,ln.id)??ln),Le=ve?.messages.find(ln=>ln.sortKey===fe)?.id,Ke=Le===void 0?fe:Ce?.find(ln=>ln.id===Le)?.sortKey??fe;return E(`entry-unread:${fe}`,()=>g.window.openAt(i,{anchorSortKey:Ke,limit:u,...ve===void 0?{}:{seedMessages:Ce,seedHasNewer:ve.hasNewer,seedRemotePagination:ve.nextCursor===void 0?{}:{newerCursor:ve.nextCursor}}}))},loadOlder:()=>E("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>E("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let On=n.emitter.subscribe(p=>{if(!(y||!("conversation"in p)||p.conversation===void 0)&&!(p.conversation.conversationType!==i.conversationType||p.conversation.conversationId!==i.conversationId)){if((p.type==="conversation-history:cleared"||p.type==="session:removed")&&(ie.abort(),k+=1,m=Object.freeze({state:"none"}),S&&(A=Object.freeze({state:"none"})),le+=1,j?.dispose(),j=void 0,O=false,q=void 0),p.type==="message:received"&&p.source==="live"&&(S&&ge.add(p.message.id),O&&(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 P)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}});}}on();}});function Un(){return d.initialPosition==="first-unread"?en():H()}let jn=()=>{ie.abort(d.signal?.reason),g.dispose();};d.signal?.addEventListener("abort",jn,{once:true});try{if(d.signal?.throwIfAborted(),d.initialLoad==="local-first"){await E("initial:local",()=>g.window.open(i,{limit:u})),d.signal?.throwIfAborted(),z(),_=!0;try{await Un();}catch(p){if(d.signal?.throwIfAborted(),p instanceof Oa$1)throw p;R=ua(p,"history.initial",i),d.initialPosition==="first-unread"&&(m=Object.freeze({state:"unavailable"}));}finally{_=!1;}}else await Un();d.signal?.throwIfAborted();}catch(p){throw y=true,ie.abort(),On(),h.clear(),g.dispose(),p instanceof Oa$1?p.cause:p}finally{d.signal?.removeEventListener("abort",jn);}s=false,qe();function _e(p,b){let M=n.domainState.getConversationMessage(i,p);return M!==void 0&&M.conversationType===i.conversationType&&M.conversationId===i.conversationId?{ok:true,message:Bt(M)}:{ok:false,error:te({code:M===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i})}}async function Se(p,b,M){let F=await a.getSendPermissionError?.(p);if(Q(),F!==void 0){if(M===void 0)return {ok:false,error:F};let oe=await M(F);return Q(),oe}try{let oe=await b();return Q(),oe}catch(oe){if(y)throw oe;return {ok:false,error:yt(oe,p,i)}}}async function mn(p,b={}){let M="name"in p?p.name:void 0,F=b.fileName??(typeof M=="string"&&M!==""?M:void 0);return {...i,data:p,...p.type===""?{}:{mimeType:p.type},...F===void 0?{}:{filename:F},...i.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 En(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<=Bm)}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:te({code:p,category:b,operation:M,retryable:false,conversation:i})}}function st(p,b){if(p===null||typeof p!="object"||p.kind!==b||!Number.isSafeInteger(p.width)||p.width<=0||p.width>tl||!Number.isSafeInteger(p.height)||p.height<=0||p.height>tl)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 oe=p.packageId;return typeof F=="string"&&F.trim()!==""&&typeof oe=="string"&&oe.trim()!==""}function dn(p){return Object.assign(new Error(p.code),p,{name:"ImMessageActionError"})}function Ar(p,b,M){if(p==="direct"||p==="group"||p==="channel"||p==="robot")return Object.freeze({conversationType:p,conversationId:b});throw dn(te({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:M,retryable:false,conversation:i,details:{targetConversationType:p,targetConversationId:b}}))}async function zn(p,b,M){let F;try{F=await n.forwardMessages({messages:b,targets:M.map(oe=>({...oe}))});}catch(oe){throw dn(yt(oe,p,i))}return Q(),Object.freeze({sent:Object.freeze(F.results.flatMap(oe=>oe.ok?[{conversation:Ar(oe.targetConversationType,oe.targetConversationId,p),messageId:oe.newMessageId}]:[])),failed:Object.freeze(F.results.flatMap(oe=>oe.ok?[]:[{sourceMessageId:oe.sourceMessageId,conversation:Object.freeze({conversationType:oe.targetConversationType,conversationId:oe.targetConversationId}),error:te({...Hm[oe.reason],operation:p,conversation:{conversationType:oe.targetConversationType,conversationId:oe.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...F.skippedSourceIds])})}function Vn(p,b){let M=n.domainState.getConversationMessage(i,p);if(M===void 0){let F=n.domainState.getMessagesById(p)[0];throw dn(te({code:F===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i}))}if(M.conversationType!==i.conversationType||M.conversationId!==i.conversationId)throw dn(te({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:i}));return M}function ct(p,b){return dn(te({...b,operation:p,conversation:i}))}function Et(p,b){let M=te({code:p,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:i,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),M,{name:"ImLocalMessageDeletionError"})}function qt(p,b){let M=te({code:p,category:"state",operation:"history.clearLocal",retryable:false,conversation:i,...b===void 0?{}:{cause:b}});return Object.assign(new Error(p),M,{name:"ImLocalConversationHistoryClearError"})}function fo(){if(y)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(D!==void 0)return D;n.invalidateHistory?.(i);let p=[...v.values()],b=Promise.all(p).then(async()=>{Q();let M=[...n.domainState.getMessagesByConversation(i),...g.window.list()];if(n.hasOutboxForConversation(i)||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(i),Q(),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(()=>{D===b&&(D=void 0);});return D=b,b}async function Wt(p,b){if(p!==void 0)try{await n.domainState.clearDraftIfUnchanged(i,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 At(p,b,M,F,oe){return Se(p,async()=>{if(b==="image"){let Ce=await Xr(M);if(Q(),!Ce)return Pe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",p)}let Ie=await mn(M,F);if(Q(),b!==void 0&&Ie.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ce=new AbortController,Le=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${p}:${++o}`,kind:b,file:M,signal:Ce.signal});if(Q(),Le===void 0||(b==="image"?!Bn(Le):!En(Le)))return Pe(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);Ie.localPreviewMetadata=Le;}if(b==="video"&&(n.prepareMediaPreview!==void 0||Ie.localPreviewMetadata!==void 0)&&!Dn(Ie.localPreviewMetadata))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let fe=a.recheckSendPermissionError?.(p);if(fe!==void 0)return {ok:!1,error:fe};let ve=await oe({...Ie,...F.filesAlbum===void 0?{}:{filesAlbum:F.filesAlbum},...F.caption===void 0||F.caption===""?{}:{caption:F.caption}});return ve.ok?(Q(),_e(ve.messageId,p)):{ok:!1,error:mr(ve.reason,p,i)}})}async function wt(p,b){let M="messages.sendMediaAlbum";if(p.length===0)return Pe("IM_SDK_MEDIA_ALBUM_EMPTY","validation",M);if(p.length>q$1)return Pe("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",M);if(b.caption!==void 0&&Array.from(b.caption).length>p$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>nl)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>pa)return Pe("IM_SDK_VIDEO_TOO_LARGE","validation",M);if(!En(F.localPreviewMetadata))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",M)}}return Se(M,async()=>{for(let ve of p){if(ve.kind!=="image")continue;let Ce=await Xr(ve.file);if(Q(),!Ce)return Pe("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",M)}let F=await Promise.all(p.map(async ve=>{if(ve.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return ve.localPreviewMetadata;let Ce=new AbortController;return n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${M}:${++o}`,kind:ve.kind,file:ve.file,signal:Ce.signal})}));Q();let oe=[];for(let[ve,Ce]of p.entries()){let Le=F[ve];if(Ce.kind==="image"&&!Bn(Le))return Pe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",M);if(Ce.kind==="video"){if(!En(Le))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",M);if(n.prepareMediaPreview!==void 0&&!Dn(Le))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",M)}let Ke="name"in Ce.file?Ce.file.name:void 0;oe.push({kind:Ce.kind,data:Ce.file,...Ce.file.type===""?{}:{mimeType:Ce.file.type},...typeof Ke=="string"&&Ke!==""?{filename:Ke}:{},...Ce.localPreviewUrl===void 0?{}:{localPreviewUrl:Ce.localPreviewUrl},...Le===void 0?{}:{localPreviewMetadata:Le}});}let Ie=a.recheckSendPermissionError?.(M);if(Ie!==void 0)return {ok:!1,error:Ie};let fe=await n.sendMediaAlbum({...i,items:oe,...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 fe.ok?(Q(),_e(fe.messageId,M)):{ok:!1,error:mr(fe.reason,M,i)}})}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 dn(te({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:M,retryable:false,conversation:i}));return F}async function Jt(p,b,M,F,oe,Ie){return $t(b,M,p),Se(p,async()=>{let fe=await mn(F,oe);if(M==="video"&&fe.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Le=new AbortController,Ke=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${p}:${++o}`,kind:"video",file:F,signal:Le.signal});if(Q(),Ke===void 0||!En(Ke))return Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",p);fe.localPreviewMetadata=Ke;}if(M==="video"&&(n.prepareMediaPreview!==void 0||fe.localPreviewMetadata!==void 0)&&!Dn(fe.localPreviewMetadata))return Pe("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",p);let ve=a.recheckSendPermissionError?.(p);if(ve!==void 0)return {ok:!1,error:ve};$t(b,M,p);let Ce=await Ie(b,{...fe,...oe.caption===void 0||oe.caption===""?{}:{caption:oe.caption}});return Ce.ok?(Q(),_e(Ce.messageId,p)):{ok:!1,error:mr(Ce.reason,p,i)}})}let G={ref:i,getSnapshot:$e,subscribe(p){return Q(),h.add(p),()=>h.delete(p)},resolveMessage:async p=>{Q();let b=g.window.list().find(M=>M.id===p)??await n.domainState.resolveConversationMessage(i,p);return b===void 0?null:je(b)},history:{loadEntryUnread:p=>Te(p),loadLatest:async()=>W(),loadOlder:async()=>(Q(),k+=1,E("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{Q(),k+=1,await E("newer",()=>g.window.loadNewer({limit:u})),Q(),g.window.info().hasNewer||(z(),on());},loadAround:async p=>{Q();let b=++k;if(D===void 0&&i.conversationType==="channel"&&C.has(g.window)&&n.domainState.getPinnedMessage(i)?.messageId===p&&g.window.list().some(Le=>Le.id===p&&jt(Le)))return;let M=g,F=()=>!y&&k===b&&g===M,oe=()=>{if(Q(),!F())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Ie=await Qe(p,oe);if(oe(),Ie===void 0||Ie.anchor.conversationType!==i.conversationType||Ie.anchor.conversationId!==i.conversationId)throw Lm(i,p);let fe=n.domainState.createMessageWindow(f),ve=fe.window,Ce=false;try{await E(`around:${p}:${b}`,async()=>(oe(),Rn(ve,Ie,oe,!0)),{window:ve,isCurrent:F}),oe(),g=fe,Ie.remoteSeed!==void 0&&C.add(ve),Ce=!0,M.dispose(),on();}finally{Ce||fe.dispose();}},clearLocal:async()=>(Q(),fo())},messages:{sendText:async(p,b={})=>{Q();let M=r(i,p,b);if("code"in M)return {ok:false,error:M};let F=n.domainState.getDraft(i)?.updatedAt;return Se("messages.sendText",async()=>{let oe=await n.sendText(M);return Q(),await Wt(F,"messages.sendText"),_e(oe.id,"messages.sendText")},async oe=>{let Ie=a.appendTextPermissionFailure?.(M);return Ie===void 0?{ok:false,error:oe}:(await Wt(F,"messages.sendText"),{ok:true,message:Bt(Ie)})})},sendContact:async(p,b={})=>{Q();let M=p.targetId.trim(),F=p.displayName.trim();if(M===""||F==="")return {ok:false,error:te({code:M===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:i})};let oe={...i,contact:{...p,targetId:M,displayName:F},encrypted:i.conversationType!=="direct"&&i.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return Se("messages.sendContact",async()=>{let Ie=await n.sendContact(oe);return _e(Ie.id,"messages.sendContact")})},sendImage:async(p,b={})=>(Q(),p.size>nl?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)?At("messages.sendImage","image",p,b,n.sendImage):Pe("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(p,b={})=>(Q(),wt(p,b)),sendVideo:async(p,b={})=>(Q(),p.size>pa?Pe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):En(b.localPreviewMetadata)?At("messages.sendVideo","video",p,b,n.sendVideo):Pe("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(p,b,M={})=>(Q(),b.size>pa?Pe("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):En(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)=>(Q(),Se("messages.sendVoice",async()=>{let M=await mn(p,b),F=a.recheckSendPermissionError?.("messages.sendVoice");if(F!==void 0)return {ok:!1,error:F};let oe=await n.sendVoice({...M,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return oe.ok?(Q(),_e(oe.messageId,"messages.sendVoice")):{ok:!1,error:mr(oe.reason,"messages.sendVoice",i)}})),sendFile:async(p,b={})=>{if(Q(),p.size>el)return Pe("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&Array.from(b.caption).length>p$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"):At("messages.sendFile",void 0,p,b,n.sendFile)},sendGif:async(p,b={})=>(Q(),p.size>Um?Pe("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Gm(p)?At("messages.sendGif",void 0,p,b,M=>n.sendGif(M)):Pe("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(p,b={})=>(Q(),st(p,"sticker")?Se("messages.sendSticker",async()=>{let M=await n.sendExpression({...i,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendSticker")}):Pe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(p,b={})=>(Q(),st(p,"gif")?Se("messages.sendGifAsset",async()=>{let M=await n.sendExpression({...i,asset:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendGifAsset")}):Pe("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(p,b={})=>(Q(),p!=="rock-paper-scissors"&&p!=="dice"?Pe("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):Se("messages.sendGame",async()=>{let M=await n.sendGame({...i,gameType:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendGame")})),sendMiniProgram:async(p,b={})=>(Q(),v$1(p)?Se("messages.sendMiniProgram",async()=>{let M=await n.sendMiniProgram({...i,miniProgram:p,encrypted:i.conversationType!=="direct"&&i.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendMiniProgram")}):Pe("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(p,b={})=>(Q(),i.conversationType==="channel"||i.conversationType==="robot"?Pe("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):x$1(p)?Se("messages.sendTransfer",async()=>{let M=await n.sendTransfer({...i,transfer:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendTransfer")}):Pe("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(p,b={})=>(Q(),i.conversationType==="channel"||i.conversationType==="robot"?Pe("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):s$1(p)?Se("messages.sendGift",async()=>{let M=await n.sendGift({...i,gift:p,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendGift")}):Pe("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),sendLiveRoom:async(p,b={})=>(Q(),t$1(p)?Se("messages.sendLiveRoom",async()=>{let M=await n.sendLiveRoom({...i,liveRoom:p,encrypted:i.conversationType!=="direct"&&i.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return _e(M.id,"messages.sendLiveRoom")}):Pe("IM_SDK_LIVE_ROOM_BODY_INVALID","validation","messages.sendLiveRoom")),toggleReaction:async(p,b)=>{Q(),Vn(p,"messages.toggleReaction");let M=await n.setReaction({conversation:i,parentMessageId:p,emoji:b,action:"toggle"});if(Q(),!M.ok)throw ct("messages.toggleReaction",Xd[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)=>{Q(),Vn(p,"messages.setReaction");let F=await n.setReaction({conversation:i,parentMessageId:p,emoji:b,action:M});if(Q(),!F.ok)throw ct("messages.setReaction",Xd[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(Q(),b.size>el)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={})=>{Q(),Vn(p,"messages.editText"),co(n.domainState,i,p,"messages.editText");let F=c(i,p,b,M);if("code"in F)throw dn(F);let oe;try{oe=await n.editMessage(F);}catch(Ie){throw dn(yt(Ie,"messages.editText",i))}if(Q(),!oe.ok)throw ct("messages.editText",Nm[oe.reason]);return Bt(Vn(p,"messages.editText"))},recall:async p=>{Q(),Vn(p,"messages.recall"),co(n.domainState,i,p,"messages.recall");let b;try{b=await n.recallMessage({...i,messageId:p});}catch(M){throw dn(yt(M,"messages.recall",i))}if(Q(),!b.ok)throw ct("messages.recall",xm[b.reason])},deleteLocal:async p=>{Q(),co(n.domainState,i,p,"messages.deleteLocal");let b=n.domainState.getConversationMessage(i,p);if(n.isOutboxOwned(p))throw Et("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===i.conversationType&&b.conversationId===i.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw Et("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(i);let M=await n.domainState.deleteLocalMessage(i,p);return Q(),Object.freeze({scope:"local-only",messageId:p,deleted:M,remoteHistory:"remote-history-may-restore"})}catch(M){throw M instanceof Error&&"code"in M&&M.code==="IM_MESSAGE_PINNED"?Et("IM_SDK_MESSAGE_PINNED",M):M instanceof Error&&M.name==="ImLocalMessageDeletionError"?M:Et("IM_SDK_LOCAL_DELETE_FAILED",M)}},forward:async(p,b)=>{if(Q(),p.length===0||b.length===0)throw dn(te({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:i}));return zn("messages.forward",p.map(M=>({id:M,...i})),b)},forwardMediaAlbumItem:async(p,b,M)=>{Q();let F="messages.forwardMediaAlbumItem";if(p.trim()===""||M.length===0)throw dn(te({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:F,retryable:false,conversation:i}));if(!Number.isInteger(b)||b<0)throw dn(te({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:F,retryable:false,conversation:i,details:{itemIndex:b}}));return zn(F,[{id:p,...i,itemIndex:b}],M)},fetchByIds:async p=>{Q();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw dn(te({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:i}));let M=n.beginReceiving?.();try{let F=await Yd({messageIds:p,fetchBatch:b,isCurrent:()=>!y,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()=>(Q(),n.drafts.get(i)),save:async p=>(Q(),n.drafts.save(i,p)),clear:async()=>{Q(),await n.drafts.clear(i);},subscribe(p){return Q(),P.add(p),()=>P.delete(p)}},markRead:async p=>{Q();let b=g.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({...i,readCursor:M});},markConversationRead:async()=>{if(Q(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let p=le,b=await Fe();if(Q(),p!==le)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(i.conversationType==="channel"&&b===void 0&&g.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(i,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");j??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let F=await j.window.openAt(i,{anchorSortKey:M.sortKey,limit:u,seedMessages:[M],seedHasNewer:false});if(Q(),F.stale||p!==le)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(i,b);},markVisibleMessages:async p=>{if(Q(),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=>!g.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(i,b);},setMuted:async p=>(Q(),n.setMuted(i,p)),close(){y||(y=true,ie.abort(),k+=1,On(),h.clear(),P.clear(),j?.dispose(),g.dispose());}};return ma.set(G,{getMessages:()=>(Q(),g.window.list()),resolveMessage:async p=>(Q(),g.window.list().find(b=>b.id===p)??n.domainState.resolveConversationMessage(i,p))}),G}var jm=5e3;async function rl(e,n,r={}){let c=false,a,d;function i(){let C=Date.now();if(a!==void 0&&C-a.checkedAt<jm)return Promise.resolve(a.value);if(d!==void 0)return d;let h=n.getRelationship(e.conversationId).then(P=>(a={value:P,checkedAt:Date.now()},P)).catch(P=>(c=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:P}}),a={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{d===h&&(d=void 0);});return d=h,h}async function u(C){if(!n.shouldCheckRelationship())return;let h=await i();if(h!=="friend"){if(h==="unknown"){c||(c=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:h}}}));return}return te({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&i();let f=await uo(e,n,(C,h,P)=>P.mentions!==void 0&&P.mentions.length>0?te({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:h,...P.replyToMessageId===void 0?{}:{refMessageId:P.replyToMessageId}},(C,h,P,v)=>v.mentions!==void 0&&v.mentions.length>0?te({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:h,text:P},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...f,messages:{...f.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 P=te({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(P.code),P)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return lo(g,f),g}async function ol(e,n,r={}){return uo(e,n,(c,a,d)=>{let i=Rr(d.mentions);return {...c,text:a,encrypted:true,...i===void 0?{}:{mention:i},...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}}},(c,a,d,i)=>{let u=Rr(i.mentions);return {...c,messageId:a,text:d,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&il(c,n.pageSize??30)},r)}async function al(e,n,r={}){return uo(e,n,(c,a,d)=>d.mentions!==void 0&&d.mentions.length>0?te({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:c}):{...c,text:a,encrypted:false,...d.replyToMessageId===void 0?{}:{refMessageId:d.replyToMessageId}},(c,a,d,i)=>i.mentions!==void 0&&i.mentions.length>0?te({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:c}):{...c,messageId:a,text:d},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var zm=new Set(["pending","uploading","sending"]);function il(e,n){return e.length<n}function jt(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Vm(e,n,r){let c=r===void 0?e.length-1:e.findIndex(i=>i.id===r),a=e[c];if(a===void 0||jt(a))return a?.id;let d=e.slice(0,c).findLast(i=>jt(i));return d!==void 0?d.id:a.senderId===n&&zm.has(a.status)?void 0:a.id}function qm(e,n){let r=false;for(let c of e){let a=c.body.system;if(!(c.conversationType!=="channel"||a?.targetUserIds?.includes(n)!==true)){if(a.eventType==="channel_member_left"||a.eventType==="channel_member_removed"){r=true;continue}if(r&&(a.eventType==="channel_member_joined"||a.eventType==="channel_member_invited"))return true}}return false}async function sl(e,n,r={}){let c=await uo(e,n,(d,i,u)=>{let f=Rr(u.mentions);return {...d,text:i,encrypted:true,...f===void 0?{}:{mention:f},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(d,i,u,f)=>{let g=Rr(f.mentions);return {...d,messageId:i,text:u,...g===void 0?{}:{mention:g}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&il(d,n.pageSize??30)||qm(d,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(d,i)=>Vm(d,n.getSelfId(),i)},r),a={...c,messages:{...c.messages,deleteForEveryone:async d=>{if(n.domainState.getConversationMessage(e,d)===void 0)throw Zd(e,Qd["not-found"]);co(n.domainState,e,d,"messages.deleteForEveryone");let u;try{u=await n.deleteMessageForEveryone({...e,messageId:d});}catch(f){let g=yt(f,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:f}),g)}if(!u.ok)throw Zd(e,Qd[u.reason])}}};return lo(a,c),a}var Wm=40,$m=100,Jm=0;function at(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Ym(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function cl(e){let n=++Jm,r=new Map,c=new Map,a=new Map,d=new Map,i=new Map,u=0,f=true;function g(){if(!f)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(y){let _=y??Wm;if(!Number.isSafeInteger(_)||_<1||_>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return _}function h(y){let _=`im-directory:${n}:${++u}`;return r.set(_,y),_}function P(y,_){let s=i.get(y);s===void 0&&(s=new Map,i.set(y,s));let o=_.map(m=>Object.freeze({...m}));for(let m of o)s.set(m.id,m);return Object.freeze(o)}async function v(y,_,s){if(g(),e.provider===void 0)throw new Error(`${at(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:y,page:_,pageSize:s});if(g(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${at(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let m=o.nextPage===void 0?void 0:h({kind:y,page:o.nextPage,pageSize:s}),S=P(y,o.items);return Object.freeze({items:S,...m===void 0?{}:{nextPageToken:m},exhausted:o.exhausted})}function D(y){return {listFirstPage:_=>v(y,1,C(_?.pageSize)),listNextPage:_=>{g();let s=r.get(_);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==y)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${at(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${at(y)}`));let o=c.get(_);if(o!==void 0)return o;let m=v(y,s.page,s.pageSize).then(S=>(r.delete(_),S)).finally(()=>{c.delete(_);});return c.set(_,m),m}}}function R(y){g();let _=a.get(y);if(_!==void 0)return Promise.resolve(_);let s=d.get(y);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${at(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let m=[],S=new Map,T=new Set,L=1;for(;;){if(g(),T.has(L))throw new Error(`${at(y)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);T.add(L);let J=await e.provider.list({kind:y,page:L,pageSize:$m});if(g(),J.exhausted===(J.nextPage!==void 0))throw new Error(`${at(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let de of J.items)S.has(de.id)||m.push(de.id),S.set(de.id,de);if(J.nextPage===void 0)break;if(!Number.isSafeInteger(J.nextPage)||J.nextPage<1)throw new Error(`${at(y)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);L=J.nextPage;}let ee=P(y,m.map(J=>S.get(J)));return g(),a.set(y,ee),ee})().finally(()=>{d.delete(y);});return d.set(y,o),o}async function N(y){if(g(),y.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[_,s,o,m]=await Promise.all([R("individual"),R("group"),R("channel"),oa$1(y)]);g();function S(L,ee){let J=[];for(let de of ee){let ge=de==="displayName"?L.displayName:de==="username"?L.username:L.id;if(ge===void 0||ge==="")continue;let I=m.match(ge,{pinyin:de==="displayName"});I!==null&&J.push(Ym(de,I));}return J.length===0?null:Object.freeze({item:L,matches:Object.freeze(J)})}function T(L,ee){return Object.freeze(L.flatMap(J=>{let de=S(J,ee);return de===null?[]:[de]}))}return Object.freeze({keyword:m.keyword,contacts:T(_,["displayName","username","id"]),groups:T(s,["displayName"]),channels:T(o,["displayName"])})}return {contacts:D("individual"),groups:D("group"),channels:D("channel"),search:{search:N},peekItem:(y,_)=>(g(),i.get(y)?.get(_)),dispose:()=>{f=false,r.clear(),c.clear(),a.clear(),d.clear(),i.clear();}}}function Xm(e){if(e.conversationType==="supergroup")throw te({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw te({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function po(e){return Xm(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qm(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw te({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 dl(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(po(a))},async save(a,d){r();let i=po(a);return e.domainState.saveDraft(i,Qm(i,d))},async clear(a){r(),await e.domainState.clearDraft(po(a));},subscribe(a,d){r();let i=po(a),u=e.emitter.subscribe(g=>{g.type!=="draft:updated"&&g.type!=="draft:cleared"||g.conversation.conversationType!==i.conversationType||g.conversation.conversationId!==i.conversationId||d(g.type==="draft:updated"?g.draft:null);}),f=()=>{u(),n.delete(f);};return n.add(f),f}},dispose(){for(let a of [...n])a();}}}var Zm=20,ll=50,ul=30,pl=4294967295;function Pt(e){let n=te(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function vn(e,n){return Pt({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function ml(e,n){if(n instanceof x)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 vn(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function ef(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 nf(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw vn(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function tf(e,n,r){let c=Xn(e,n,r),a;try{a=new URL(c);}catch{throw vn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(a.protocol!=="https:"&&a.protocol!=="http:")throw vn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(a.username!==""||a.password!=="")throw vn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return c}function fl(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>pl)throw vn(r,`${n} \u5FC5\u987B\u662F 1-${pl} \u7684\u6574\u6570`);return Number(e)}function hl(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw vn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:tf(e.url,"url",n),width:fl(e.width,"width",n),height:fl(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 vn(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let c=e.resourceId===void 0?void 0:Xn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...c===void 0?{}:{resourceId:c}}}function rf(e,n){if(e===null||typeof e!="object")throw vn(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)}:hl(e,n)}function of(e,n){if(e!=="sticker"&&e!=="gif")throw vn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function af(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw vn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function gl(e,n){if(!Array.isArray(e))throw vn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(c=>Xn(c,"recordId",n)))];if(r.some(c=>c.includes("|")))throw vn(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>ul)throw vn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${ul} \u4E2A id`);return r}function yl(e,n){let r=e?.offset??0,c=e?.pageSize??Zm;if(!Number.isSafeInteger(r)||r<0)throw vn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(c)||c<1||c>ll)throw vn(n,`pageSize \u5FC5\u987B\u662F 1-${ll} \u7684\u6574\u6570`);return {offset:r,limit:c}}function Il(e){return Object.freeze({...e})}function sf(e){return Object.freeze({...e})}function vl(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 Cl(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,d){if(n(a),e.provider===void 0)throw ml(a,new x("core"));let i;try{i=await d(e.provider);}catch(u){throw n(a),ml(a,u)}return n(a),i}let c={packs:Object.freeze({list:async a=>{let d="expressions.packs.list",i=a?.version===void 0?void 0:nf(a.version,"version",d),u=await r(d,g=>g.listStickerPacks(i)),f=Object.freeze(u.items.map(g=>Object.freeze({...g})));return Object.freeze({version:u.version,items:f})},listItems:async a=>{let d="expressions.packs.listItems",i=Xn(a,"packageId",d),u=await r(d,f=>f.listStickerItems(i));return Object.freeze(u.map(Il))}}),favorites:Object.freeze({list:async a=>{let d="expressions.favorites.list",i=await r(d,u=>u.listFavorites(of(a,d)));return Object.freeze(i.map(Il))},add:async a=>{let d="expressions.favorites.add",i=hl(a,d);await r(d,u=>u.addFavorite(i));},delete:async a=>{let d="expressions.favorites.delete",i=gl(a,d);await r(d,u=>u.deleteFavorites(i));}}),recent:Object.freeze({list:async a=>{let d="expressions.recent.list",i=await r(d,u=>u.listRecent(af(a,d)));return Object.freeze(i.map(sf))},report:async a=>{let d="expressions.recent.report",i=rf(a,d);await r(d,u=>u.reportRecent(i));},delete:async a=>{let d="expressions.recent.delete",i=gl(a,d);await r(d,u=>u.deleteRecent(i));}}),reactions:Object.freeze({listTop:async a=>{let d="expressions.reactions.listTop",i=a?.limit;if(i!==void 0&&(!Number.isSafeInteger(i)||i<1||i>50))throw vn(d,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(d,async u=>{let f=await u.listReactionTop(i);if(!Array.isArray(f))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(f.map(g=>ef(g,"reaction emoji")))})},report:async a=>{let d="expressions.reactions.report",i=Xn(a,"emoji",d);await r(d,u=>u.reportReaction(i));}}),giphy:Object.freeze({trending:async a=>{let d="expressions.giphy.trending",i=await r(d,u=>u.listGiphyTrending(yl(a,d)));return vl(i)},search:async(a,d)=>{let i="expressions.giphy.search",u=Xn(a,"query",i),f=await r(i,g=>g.searchGiphy({query:u,...yl(d,i)}));return vl(f)}})};return {api:Object.freeze(c)}}function Rt(e,n,r){try{r();}catch(c){throw (c instanceof Error?c.message:String(c)).includes("\u672A\u9274\u6743")?te({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c}):te({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:c})}}function bl(e){return {createRoom(n){Rt("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Rt("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Rt("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Rt("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Rt("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Rt("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Rt("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var cf=0;function Ml(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 df(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 lf(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 Sl(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 uf(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function Pl(e){let n=++cf,r=new Map,c=new Map,a=new Map,d=0,i=true;function u(){if(!i)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function f(R){let N=R??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 g(R){let N=`im-robots:${n}:${++d}`;return r.set(N,R),N}function C(R){return Object.freeze(R.map(N=>{let y=Ml(N);return a.set(y.id,y),y}))}function h(R,N){let y=a.get(R);y!==void 0&&a.set(R,Ml({id:y.id,displayName:y.displayName,...y.username===void 0?{}:{username:y.username},...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl},bound:N}));}async function P(R,N){u();let y=N?e.bind:e.unbind;if(y===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await y(uf(R)),u(),h(R.robotId,N);}async function v(R){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(lf(R));u();let y=C(N.items),_=N.exhausted?void 0:g({...R,page:R.page+1});return Object.freeze({items:y,..._===void 0?{}:{nextPageToken:_},exhausted:N.exhausted})}return {api:{listFirstPage:R=>{try{let N=df(R?.scope??{kind:"catalog"});return v({page:1,pageSize:f(R?.pageSize),keyword:R?.keyword?.trim()??"",scope:N})}catch(N){return Promise.reject(N)}},listNextPage:R=>{u();let N=r.get(R);if(N===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let y=c.get(R);if(y!==void 0)return y;let _=v(N).then(s=>(r.delete(R),s)).finally(()=>{c.delete(R);});return c.set(R,_),_},bindToConversation:R=>{try{return P(Sl(R),!0)}catch(N){return Promise.reject(N)}},unbindFromConversation:R=>{try{return P(Sl(R),!1)}catch(N){return Promise.reject(N)}}},peek:R=>{let N=R.trim();return N===""?void 0:a.get(N)},dispose:()=>{i=false,r.clear(),c.clear(),a.clear();}}}var pf=30,mf=300*1e3,ff=64,gf=900*1e3,yf=2048,If=0;function vf(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 c=e.mention,a=[Object.freeze({kind:"rich-text",text:r,...c===void 0?{}:{mention:Object.freeze({atAll:c.atAll,atUserIds:[...c.atUserIds],...c.atUsersName===void 0?{}:{atUsersName:Object.freeze({...c.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=te({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 Rl(e){let n=e.now??(()=>Date.now()),r=e.pageSize??pf,c=e.tokenTtlMs??mf,a=e.maxTokens??ff,d=e.anchorTtlMs??gf,i=e.maxAnchors??yf;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(a)||a<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++If,f=new Map,g=new Map,C=0,h=true;function P(I){if(!h)throw Qn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:I,retryable:false});if(e.isAvailable?.()===false)throw Qn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:I,retryable:false})}function v(I,U){let X=I.trim();if(X==="")throw Qn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:U,retryable:false});return X}function D(I){let U=`im-search:${u}:${++C}`;for(f.set(U,{...I,expiresAt:n()+c});f.size>a;){let X=f.keys().next().value;if(typeof X!="string")break;f.delete(X);}return U}function R(I,U){return JSON.stringify([I.conversationType,I.conversationId,U])}function N(I){for(let[U,X]of g)X.expiresAt<=I&&g.delete(U);}function y(I,U){let X=Object.freeze({conversationType:I.conversationType,conversationId:I.conversationId}),A=R(X,I.id);for(g.delete(A),g.set(A,{anchor:Object.freeze({id:I.id,conversationType:I.conversationType,conversationId:I.conversationId,sortKey:I.sortKey}),expiresAt:U+d});g.size>i;){let k=g.keys().next().value;if(typeof k!="string")break;g.delete(k);}}function _(I,U){let X=U==="conversation"?"search.conversations.next":"search.messages.next";P(X);let A=f.get(I);if(A===void 0||A.expiresAt<=n())throw f.delete(I),Qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:X,retryable:false});if(A.kind!==U)throw Qn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:X,retryable:false});return A}function s(I){let U=I.draft?.text.trim();return U===void 0||U===""?I.lastMessagePreview:U}function o(I){let U=Object.freeze({conversationType:I.type,conversationId:I.id});return Object.freeze({ref:U,title:I.title,preview:s(I)})}function m(I,U){let X=Object.freeze(I.slice(U,U+r)),A=U+X.length,k=A>=I.length,B=k?void 0:D({kind:"conversation",items:I,offset:A});return Object.freeze({items:X,...B===void 0?{}:{nextPageToken:B},exhausted:k})}async function S(I,U,X){P(X);let A=v(U,X).toLowerCase(),k=Object.freeze(e.domainState.getConversationList().filter(B=>(B.type==="direct"||B.type==="group"||B.type==="channel"||B.type==="robot")&&(I===void 0||B.type===I)&&`${B.title}
2
- ${B.id}`.toLowerCase().includes(A)).map(o));return m(k,0)}function T(I,U,X){let A=I.conversationId.trim();if(I.conversationType!==U||A==="")throw Qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:X,retryable:false});return Object.freeze({conversationType:U,conversationId:A})}function L(I,U){let X=I.conversationType,A=I.conversationId.trim();if(X!=="direct"&&X!=="group"&&X!=="channel"&&X!=="robot"||A==="")throw Qn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:X==="supergroup"?"unsupported":"validation",operation:U,retryable:false});return Object.freeze({conversationType:X,conversationId:A})}async function ee(I){P("search.messages");let U;try{U=await e.domainState.searchMessages(I.ref,{...I.keyword===void 0?{}:{keyword:I.keyword},...I.contentTypes===void 0?{}:{contentTypes:I.contentTypes},limit:r,...I.beforeSortKey===void 0?{}:{beforeSortKey:I.beforeSortKey}});}catch(le){throw Qn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:le})}let X=new Set,A=[],k=n();N(k);for(let{message:le}of U.results){if(le.conversationType!==I.ref.conversationType||le.conversationId!==I.ref.conversationId||le.sortKey.trim()===""||I.contentTypes!==void 0&&!I.contentTypes.includes(le.contentType))throw Qn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(X.has(le.id))continue;X.add(le.id),y(le,k);let O=ma$1(le);A.push(Object.freeze({ref:I.ref,messageId:le.id,senderId:le.senderId,createdAt:l$1(le),contentType:le.contentType,preview:O,previewParts:vf(le,O)}));}let B=U.nextBeforeSortKey?.trim();if(!U.exhausted&&(B===void 0||B==="")||U.exhausted&&B!==void 0)throw Qn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let he=B===void 0?void 0:D({kind:"message",ref:I.ref,...I.keyword===void 0?{}:{keyword:I.keyword},...I.contentTypes===void 0?{}:{contentTypes:I.contentTypes},beforeSortKey:B});return Object.freeze({items:Object.freeze(A),...he===void 0?{}:{nextPageToken:he},exhausted:U.exhausted})}async function J(I,U,X,A){P(A);let k=T(I,U,A);return ee({ref:k,keyword:v(X,A)})}async function de(I,U,X,A){P(X);let k=L(I,X),B=A?.trim();return ee({ref:k,...B===void 0||B===""?{}:{keyword:B},contentTypes:Object.freeze([U])})}return {api:{conversations:{all:I=>S(void 0,I,"search.conversations.all"),direct:I=>S("direct",I,"search.conversations.direct"),groups:I=>S("group",I,"search.conversations.groups"),channels:I=>S("channel",I,"search.conversations.channels"),async next(I){let U=_(I,"conversation");return m(U.items,U.offset)}},messages:{inDirect:(I,U)=>J(I,"direct",U,"search.messages.inDirect"),inGroup:(I,U)=>J(I,"group",U,"search.messages.inGroup"),inChannel:(I,U)=>J(I,"channel",U,"search.messages.inChannel"),inRobot:(I,U)=>J(I,"robot",U,"search.messages.inRobot"),texts:async(I,U)=>(P("search.messages.texts"),de(I,"text","search.messages.texts",v(U,"search.messages.texts"))),files:(I,U)=>de(I,"file","search.messages.files",U),images:I=>de(I,"image","search.messages.images"),videos:I=>de(I,"video","search.messages.videos"),voices:I=>de(I,"voice","search.messages.voices"),async next(I){let U=_(I,"message");return ee(U)}}},resolveHistoryAnchor(I,U){if(!h||e.isAvailable?.()===false)return;let X=R(I,U),A=g.get(X);if(A!==void 0){if(A.expiresAt<=n()){g.delete(X);return}return A.anchor}},dispose(){h&&(h=false,f.clear(),g.clear());}}}function El(e){let n=new Map,r=new Set,c=new Map,a=new Set,d=false,i=e.schedule??(C=>{let h=setTimeout(C,120);return ()=>clearTimeout(h)});function u(C,h,P){try{e.report(C,h,P);}catch{}}async function f(C){let h={conversationType:"channel",conversationId:C};r.add(C);try{for(let P=0;P<2;P+=1){let v=n.get(C);if(d||!e.isActive()||v===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!==v)return;let R=e.domainState.getChannelReadRevision(h),N=Date.now(),y;try{y=await e.loadSummary({channelId:C,readCursor:v});}catch(_){!d&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-N,errorName:_ instanceof Error?_.name:"Unknown",errorCode:typeof _=="object"&&_!==null&&"code"in _&&typeof _.code=="string"?_.code:void 0});return}if(d||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==R){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(C)||n.set(C,v),a.add(C);return}if(P===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===v){n.set(C,v);continue}return}if(y===void 0||y.readCursor!==v){u("channel-read-summary-discarded",h,{reason:y===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,y),n.get(C)===v&&n.delete(C),u("channel-read-summary-applied",h,{unreadCount:y.unreadCount,durationMs:Date.now()-N});return}}finally{r.delete(C),n.has(C)&&!a.has(C)&&g(C);}}function g(C){d||a.has(C)||r.has(C)||c.has(C)||c.set(C,i(()=>{c.delete(C),f(C);}));}return {settled(C){a.delete(C.channelId),n.has(C.channelId)&&g(C.channelId);},request(C){d||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||a.delete(C.channelId),n.set(C.channelId,C.readCursor),g(C.channelId));},dispose(){d=true;for(let C of c.values())C();c.clear(),n.clear(),a.clear();}}}function mo(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 Al(){let e=new Set,n=new Set,r=false;function c(){for(let d of [...n])d();}function a(d){if(d?.throwIfAborted(),r){let i=new Error("\u8D26\u53F7\u5DF2\u91CA\u653E\uFF0C\u540E\u53F0\u5DE5\u4F5C\u505C\u6B62\u7B49\u5F85");throw i.name="AbortError",i}}return {enterForeground(){if(r)return ()=>{};let d=Symbol("foreground-work");return e.add(d),()=>{e.delete(d)&&e.size===0&&c();}},async waitForBackground(d){for(a(d);e.size>0;)await new Promise(i=>{let u=()=>{n.delete(u),d?.removeEventListener("abort",u),i();};n.add(u),d?.addEventListener("abort",u,{once:true});}),a(d);},dispose(){r=true,e.clear(),c();}}}function wl(e,n){return {prepareLocalMediaPreview:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:a.kind,file:a.file,includePoster:a.kind==="video",...a.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},a.signal);return a.kind==="video"?{width:d.width,height:d.height,...d.duration===void 0?{}:{duration:d.duration},...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}:{width:d.width,height:d.height}},prepareLocalVideoPoster:async a=>{let d=await e.prepare({operationId:a.operationId,generation:n(),kind:"video",file:a.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},a.signal);return {width:d.width,height:d.height,...d.posterData===void 0?{}:{posterData:new Uint8Array(d.posterData)}}}}}function Tl(e){let n=false,r=false,c,a;function d(){return !n||r||!e.isActive()?Promise.resolve():(a??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(i=>{!r&&e.isActive()&&e.onError(i);}).finally(()=>{a=void 0;}),a)}return {start(){n||r||(n=true,c=setInterval(()=>{d();},300*1e3),d());},run:d,async dispose(){r=true,c!==void 0&&clearInterval(c),c=void 0,await a;}}}function _l(e){let n,r,c=false,a=false,d=new AbortController;function i(){if(!n||!a||c)throw new bb$1("unavailable");return n}return {port:{get:async(...f)=>i().get(...f),list:async()=>i().list(),save:async f=>i().save(f),remove:async(...f)=>i().remove(...f),clear:async()=>i().clear(),drain:async()=>n?.drain(),fingerprint:async(...f)=>i().fingerprint(...f),acquireLease:async f=>i().acquireLease(f),close:async()=>n?.close()},prepare(f){return c?Promise.reject(new bb$1("unavailable")):(r??=(async()=>{n=cb$1({namespaceFactory:e,accountId:f}),await n.acquireLease(d.signal),await n.list(),d.signal.throwIfAborted(),a=true;})(),r)},async prune(){a&&!c&&await i().list();},async dispose(f){if(c=true,d.abort(),await r?.catch(()=>{}),!!n)try{f||await n.clear();}finally{await n.close();}}}}function Dl(e){let n=e,r=new Set;return {setOnline(c){if(n=c,n)for(let a of [...r])a();},wait(c){return c.throwIfAborted(),n?Promise.resolve():new Promise((a,d)=>{function i(){r.delete(u),c.removeEventListener("abort",f);}function u(){i(),a();}function f(){i(),d(c.reason);}r.add(u),c.addEventListener("abort",f,{once:true});})}}}function kl(e){function n(u){let f=0n;for(let g=0;g<10;g++){let C=u+g,h=e[C];if(h===void 0)return {ok:false,kind:"truncated-varint"};if(f|=BigInt(h&127)<<BigInt(g*7),(h&128)===0)return {ok:true,nextOffset:C+1,value:f}}return {ok:false,kind:"invalid-varint"}}let r=[],c,a=0;function d(u,f,g){return {protobufWireStatus:u,protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c},protobufFailureKind:f,protobufFailureOffset:g,protobufBytesRemaining:Math.max(0,e.length-g)}}function i(u){r.length<32&&!r.includes(u)&&r.push(u),c=u;}for(;a<e.length;){let u=a,f=n(u);if(!f.ok)return d(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-tag":f.kind,u);let g=Number(f.value>>3n),C=Number(f.value&0x07n);if(!Number.isSafeInteger(g)||g<=0)return d("invalid","invalid-field-number",u);if(a=f.nextOffset,C===0){let h=a,P=n(h);if(!P.ok)return d(P.kind==="truncated-varint"?"truncated":"invalid",P.kind,h);a=P.nextOffset;}else if(C===1){if(e.length-a<8)return d("truncated","truncated-fixed64",a);a+=8;}else if(C===2){let h=a,P=n(h);if(!P.ok)return d(P.kind==="truncated-varint"?"truncated":"invalid",P.kind==="truncated-varint"?"truncated-length":P.kind,h);if(P.value>BigInt(Number.MAX_SAFE_INTEGER))return d("invalid","invalid-varint",h);a=P.nextOffset;let v=Number(P.value);if(v>e.length-a)return d("truncated","truncated-length-delimited",a);a+=v;}else if(C===5){if(e.length-a<4)return d("truncated","truncated-fixed32",a);a+=4;}else return d("invalid","invalid-wire-type",u);i(g);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...c===void 0?{}:{protobufLastCompleteFieldNumber:c}}}function fa(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let c=Symbol("receiving");return n.add(c),n.size===1&&e(true),()=>{n.delete(c)&&n.size===0&&e(false);}},dispose(){r=true;let c=n.size>0;n.clear(),c&&e(false);}}}function Ol(e){return async(n,r)=>{r.throwIfAborted();let c=await e.authProvider.getLoginContext();if(r.throwIfAborted(),c===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");let a=[],d=[],i=C=>{d.push({...C,source:"history"});},u=C=>{a.push(C);};if(n.conversationType==="group"){let C={...e.groupDecrypt(),onDecryptRecovery:i},h=Date.now(),P=await Ia({http:e.http,userId:c.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 v=Pr({conversationId:n.conversationId,direction:"older",baseTime:h,batchSize:P.batchSize,boundaryTime:P.oldestEntryTime,limit:30});return {messages:P.messages,reactions:a,recoveries:d,...v}}let f={...e.channelDecrypt(),onDecryptRecovery:i},g=await Aa({http:e.http,userId:c.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:f,prepareKey:C=>e.prepareChannelKeys([C]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:g.messages,reactions:a,recoveries:d,exhausted:!g.hasOlder,...g.nextCursor===void 0?{}:{nextCursor:g.nextCursor}}}}var hf=5*6e4,Cf=1440*6e4,Er=2*1024*1024,xl=20,zt=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 bf(e,n){let r=new TextEncoder,c=new WeakSet,a=0,d=0,i=performance.now();async function u(){++d%64===0&&performance.now()-i>=4&&(await n(),i=performance.now());}async function f(g){if(!(a>Er))if(await u(),typeof g=="string"){a+=8;for(let C=0;C<g.length&&a<=Er;C+=16384)a+=r.encode(g.slice(C,C+16384)).byteLength,await u();}else if(g!==null&&typeof g=="object"){if(c.has(g))return;if(c.add(g),a+=32,ArrayBuffer.isView(g)||g instanceof ArrayBuffer){a+=g.byteLength;return}for(let C in g)if(Object.hasOwn(g,C)&&(await f(C),await f(g[C]),a>Er))break}else a+=8;}return await f(e),a}function Nl(e){let n=e.now??Date.now,r=new Map,c=new Map,a=new Map,d=new Map,i,u=true,f=0,g=new WeakMap,C=new WeakSet,h=new WeakMap,P=0,v=Promise.resolve();function D(I,U,X){try{e.report(I,{...U},{remainingNetworkPages:Math.max(0,xl-P),...X});}catch{}}function R(I,U=n()){return I===void 0?0:Math.max(0,U-I)}function N(I,U,X,A){let k=A?.diagnostics;D("recent-history-prefetch-result",I,{status:U,reason:X,queueDurationMs:R(k?.queuedAt,k?.startedAt),requestDurationMs:k?.requestDurationMs??R(k?.requestStartedAt),persistenceDurationMs:k?.persistenceDurationMs??R(k?.persistenceStartedAt)});}function y(I){let U=v.then(I,I);return v=U.catch(()=>{}),U}function _(I){if(!u||I.generation!==f||I.controller.signal.aborted||I.epoch!==(r.get(I.key)??0))return false;let U=e.fingerprint(I.ref);return U!==void 0&&(U===I.fingerprint||!s(I)&&[...I.consumers.values()].includes("foreground"))}function s(I){return I.cacheRevision===(c.get(I.key)??0)}function o(I){if(!_(I))throw it()}async function m(I$1,U=false){let X=I(I$1),A=r.get(X)??0,k={key:X,epoch:A,generation:f,cacheRevision:c.get(X)??0},B=f,he=e.fingerprint(I$1),le=q=>(D("recent-history-cache-miss",I$1,{reason:q,allowStale:U}),null);if(!u||he===void 0||e.cache===void 0)return le(u?he===void 0?"unavailable":"storage-unavailable":"disposed");if(await v,!u||B!==f||A!==(r.get(X)??0)||!s(k)||e.fingerprint(I$1)!==he)return le("invalidated");let O=await e.cache.get(I$1);return !u||B!==f||A!==(r.get(X)??0)||!s(k)||e.fingerprint(I$1)!==he?le("invalidated"):O===null?le("empty"):O.version!==2?le("version-mismatch"):I(O.conversation)!==X?le("identity-mismatch"):O.fingerprint!==he?le("fingerprint-mismatch"):O.fetchedAt>n()?le("future-timestamp"):n()-O.fetchedAt>(U?Cf:hf)?le("expired"):(g.set(O,k),O)}async function S(I){o(I);try{let B=await m(I.ref);if(o(I),B!==null&&s(I))return I.diagnostics.source="cache",D("recent-history-cache-hit",I.ref),{page:B,durable:!0}}catch(B){if(o(I),I.diagnostics.failureReason="cache-read-failed",D("recent-history-cache-read-failed",I.ref,{reason:"cache-read-failed"}),![...I.consumers.values()].includes("foreground"))throw B}if(![...I.consumers.values()].includes("foreground")){if(P>=xl)throw new zt("budget");P+=1;}let X=n();I.diagnostics.source="network",I.diagnostics.requestStartedAt=X;let A;try{A=await e.fetchPage(I.ref,I.controller.signal);}catch(B){throw I.diagnostics.failureReason="request-failed",B}finally{I.diagnostics.requestDurationMs=R(X);}o(I),await e.yieldToEventLoop(),o(I);let k={version:2,conversation:{...I.ref},fetchedAt:n(),fingerprint:I.fingerprint,messages:A.messages,reactions:A.reactions,exhausted:A.exhausted,...A.nextCursor===void 0?{}:{nextCursor:A.nextCursor},byteLength:0};if(g.set(k,{key:I.key,epoch:I.epoch,generation:I.generation,cacheRevision:I.cacheRevision}),A.recoveries!==void 0&&A.recoveries.length>0&&h.set(k,A.recoveries),h.has(k)||k.messages.some(B=>B.encryption.decryptFailed===true))return C.add(k),{page:k,durable:false,reason:"decrypt-failed"};if(k.byteLength=await bf(k,e.yieldToEventLoop),o(I),D("recent-history-page-loaded",I.ref,{durationMs:n()-X,messageCount:k.messages.length,byteLength:k.byteLength}),k.byteLength>Er)return {page:k,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:k,durable:false,reason:"storage-unavailable"};if(!s(I))return {page:k,durable:false,reason:"invalidated"};I.diagnostics.persistenceStartedAt=n();try{let B=await y(async()=>(o(I),s(I)?e.cache.put(k):!1));return o(I),s(I)?{page:k,durable:B,...B?{}:{reason:"page-too-large"}}:{page:k,durable:!1,reason:"invalidated"}}catch(B){return o(I),I.diagnostics.failureReason="cache-write-failed",D("recent-history-cache-write-failed",I.ref,{reason:"cache-write-failed"}),{page:k,durable:false,storageError:B}}finally{I.diagnostics.persistenceDurationMs=R(I.diagnostics.persistenceStartedAt);}}function T(I,U){I.started||(I.started=true,I.diagnostics.startedAt=n(),D("recent-history-prefetch-start",I.ref,{kind:U?"background":"foreground",queueDurationMs:R(I.diagnostics.queuedAt,I.diagnostics.startedAt)}),U&&(i=I),S(I).then(I.resolve,I.reject).finally(async()=>{a.get(I.key)===I&&a.delete(I.key),i===I&&(i=void 0),await e.yieldToEventLoop(),L();}).catch(X=>{if(!(X instanceof Error&&X.name==="AbortError"))throw X}));}function L(){if(!u||i!==void 0||d.size>0||!e.canRunBackground())return;let I=[...a.values()].find(U=>!U.started&&U.consumers.size>0);I!==void 0&&T(I,true);}function ee(I$1,U,X){if(!u||X?.aborted===true)return U==="background"&&N(I$1,"cancelled","cancelled"),Promise.reject(it());let A=I(I$1),k=e.fingerprint(I$1);if(k===void 0)return U==="background"&&N(I$1,"skipped","unavailable"),Promise.reject(new zt("unavailable"));let B=a.get(A);B!==void 0&&!_(B)&&(B.controller.abort(),B.reject(it()),a.delete(A),B=void 0);let he=B!==void 0;if(B===void 0){let j,ie,ue=new Promise((Me,Q)=>{j=Me,ie=Q;});B={ref:{...I$1},key:A,fingerprint:k,generation:f,epoch:r.get(A)??0,cacheRevision:c.get(A)??0,controller:new AbortController,consumers:new Map,started:false,promise:ue,resolve:j,reject:ie,diagnostics:{queuedAt:n()}},a.set(A,B);}let le=B,O=Symbol(U);le.consumers.set(O,U),U==="background"&&D("recent-history-prefetch-queued",I$1,{reason:he?"shared-request":"new-request"});let q=new Promise((j,ie)=>{let ue=false,Me=(xe,Ne)=>{ue||(ue=true,xe?.durable&&!s(le)&&(xe={...xe,durable:false,reason:"invalidated"}),X?.removeEventListener("abort",Q),le.consumers.delete(O),le.consumers.size===0&&(le.controller.abort(),le.started||(a.get(le.key)===le&&a.delete(le.key),le.reject(it()))),U==="background"&&(Ne instanceof zt?N(I$1,"skipped",Ne.reason,le):Ne instanceof Error&&Ne.name==="AbortError"?N(I$1,"cancelled","cancelled",le):Ne!==void 0||xe?.storageError!==void 0?N(I$1,"failed",le.diagnostics.failureReason??"request-failed",le):xe?.durable===true?N(I$1,"ready",le.diagnostics.source==="cache"?"cache-hit":"persisted",le):N(I$1,"skipped",xe?.reason??"not-persisted",le)),Ne!==void 0?ie(Ne):j(xe));};function Q(){Me(void 0,it());}X?.addEventListener("abort",Q,{once:true}),le.promise.then(xe=>Me(xe),xe=>Me(void 0,xe));});return U==="foreground"?T(le,false):L(),q}function J(I$1){let U=I(I$1);d.set(U,(d.get(U)??0)+1),i!==void 0&&i.key!==U&&![...i.consumers.values()].includes("foreground")&&(i.controller.abort(),i.reject(it()));let X=false;return ()=>{if(X)return;X=true;let A=(d.get(U)??1)-1;A>0?d.set(U,A):d.delete(U),L();}}function de(I$1,U={}){if(!u||I$1.conversationType!=="group"&&I$1.conversationType!=="channel")return;let X={...I$1,conversationType:I$1.conversationType},A=I(I$1);c.set(A,(c.get(A)??0)+1),U.preserveForeground||r.set(A,(r.get(A)??0)+1);let k=a.get(A);(!U.preserveForeground||!k||![...k.consumers.values()].includes("foreground"))&&(k?.controller.abort(),k?.reject(it()),a.delete(A)),D("recent-history-cache-invalidated",X,{reason:U.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),y(async()=>e.cache?.delete(X)).catch(()=>D("recent-history-cache-delete-failed",X,{reason:"cache-delete-failed"}));}function ge(I){let U=g.get(I);return u&&U!==void 0&&U.generation===f&&U.epoch===(r.get(U.key)??0)}return {readCached:m,isPageCurrent:ge,enterForeground:J,invalidate:de,notifySchedulingChanged:L,takeRecoveries(I){if(!ge(I))return [];let U=h.get(I)??[];return h.delete(I),U},async confirmConsumed(I$1){let U=e.fingerprint(I$1.conversation),X=g.get(I$1);if(!ge(I$1)||X===void 0||!s(X)||C.has(I$1)||U===void 0||e.cache===void 0||U===I$1.fingerprint||I$1.byteLength>Er||I$1.messages.some(B=>B.encryption.decryptFailed===true))return;let A=I(I$1.conversation),k=r.get(A)??0;await y(async()=>{ge(I$1)&&s(X)&&k===(r.get(A)??0)&&e.fingerprint(I$1.conversation)===U&&await e.cache.put({...I$1,fingerprint:U});}).catch(()=>D("recent-history-cache-write-failed",I$1.conversation,{reason:"cache-write-failed"}));},async latest(I,U){return (await ee(I,"foreground",U)).page},async prefetchRecent(I,U={}){let X=[];for(let[A,k]of I.entries()){if(A>0&&A%16===0&&await e.yieldToEventLoop(),U.signal?.aborted===true||!u){N(k,"cancelled","cancelled"),X.push({ref:k,status:"cancelled",reason:"cancelled"});continue}if(k.conversationType==="direct"||k.conversationType==="robot"){N(k,"skipped","unsupported"),X.push({ref:k,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){N(k,"skipped","storage-unavailable"),X.push({ref:k,status:"skipped",reason:"storage-unavailable"});continue}try{let B=await ee({...k,conversationType:k.conversationType},"background",U.signal);if(B.storageError!==void 0)throw B.storageError;X.push({ref:k,status:B.durable?"ready":"skipped",...B.reason===void 0?{}:{reason:B.reason}});}catch(B){B instanceof zt?X.push({ref:k,status:"skipped",reason:B.reason}):B instanceof Error&&B.name==="AbortError"?X.push({ref:k,status:"cancelled",reason:"cancelled"}):(D("recent-history-prefetch-failed",k,{reason:"prefetch-failed"}),X.push({ref:k,status:"failed",error:te({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:k,cause:B})}));}}return X},dispose(){u=false;for(let I of a.values())I.controller.abort(),I.reject(it());return a.clear(),v.then(()=>{})},async clear(){if(u){f+=1;for(let I of [...a.values()])de(I.ref);await y(async()=>e.cache?.clear());}}}}function Mf(e){let{transportStatus:n,httpStatus:r,businessCode:c}=e,a=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||c===void 0?"invalid-response":c!==void 0&&c!==200?"business":void 0;return a===void 0?void 0:Object.freeze({service:"core",kind:a,...r===void 0?{}:{httpStatus:r},...c===void 0?{}:{businessCode:c}})}function Ll(e){let n=f=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:f,getClientType:()=>e.clientType,fetch:r});function r(f,g){return c(),globalThis.fetch(f,g)}function c(){if(!e.isActive())throw te({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let f=e.coreClient,g=e.http??n(e.authProvider.getLoginContext);return {coreClient:f===void 0?void 0:async(C,h)=>{c();let P=await f(C,h);return c(),P},http:{async postProtobuf(C){c();let h=await g.postProtobuf(C);return c(),h}}}}async function a(f,g,C){if(!(!e.isActive()||C?.aborted||!g?.userId||!g.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||C?.aborted||h?.userId!==g.userId||h.token!==g.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(f))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function d(){let f=await e.authProvider.getLoginContext();return c(),f===null?null:{...f}}let i=e.coreClient;return {coreClient:i===void 0?void 0:async(f,g)=>{let C=await d(),h,P=await i(f,{...g,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:D=>{h=D;}});if(c(),h===void 0)throw te({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let v=Mf(h);return v!==void 0&&await a(v,C,g?.signal),P},http:{async postProtobuf(f){let g=await d(),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()=>g,getClientType:()=>e.clientType,fetch:r});try{c();let P=await h.postProtobuf(f);return c(),P}catch(P){throw await a(P instanceof Ea?{service:"cm",kind:"http",httpStatus:P.status}:{service:"cm",kind:"network"},g,f.signal),P}}}}}var Sf=2,Vt=30,Pf=50,Rf=5,Ef=20;function Ul(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 Af(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 wf(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 Fl(e$1,n$1,r,c=0){let a$1=e$1.clientType??Sf,d$1={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:a$1}}},i$1="",u$1=Ho(e$1.debug,()=>({generation:c,...i$1===""?{}:{accountId:i$1}})),f$1=true,g=e$1.uploadRecovery?.enabled?_l(r):void 0,C$1=Dl(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:P}=Ll({coreClient:e$1.coreClient,http:e$1.http,authProvider:d$1,endpointProvider:e$1.endpointProvider,clientType:a$1,isActive:()=>f$1,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}}))}),v=e$1.transport??hb(),D=e$1.adapters?.storage,R=D?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:gb({namespaceFactory:r,mediaAssetCache:{strategies:ud()}})),N=new Map,y=new Map,_=new Map,s$1=new Map,o$2=new Map,m$1=t=>`${I(t.conversation)}\0${t.messageId}`;function S$1(t,l){let w=I(t),ne=(o$2.get(w)??Promise.resolve()).then(l),se=ne.then(()=>{},()=>{});return o$2.set(w,se),se.then(()=>{o$2.get(w)===se&&o$2.delete(w);}),ne}function T$1(t,l){return S$1(t.conversation,async()=>{l()&&(await R?.deleteDecryptRecovery?.(t.conversation,t.messageId),l()&&(s$1.delete(m$1(t)),N.delete(m$1(t))));})}let L=t=>{let l=R?.saveDecryptRecovery;if(l===void 0)return;let w=m$1(t),K=(_.get(w)??0)+1;_.set(w,K),s$1.set(w,t);let ne=I(t.conversation),se=y.get(ne)??0,re=()=>f$1&&se===(y.get(ne)??0)&&K===_.get(w),V=S$1(t.conversation,async()=>{re()&&await l(t);});N.set(w,V),V.then(()=>{if(N.get(w)===V&&N.delete(w),re())return Tr(t)}).catch(ae=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:ae}}));},ee=false,J=Af(R)?R:void 0,de=zd({...R===void 0?{}:{storage:R},...h$1===void 0?{}:{coreClient:h$1}}),ge,I$1,U=sd({...R===void 0?{}:{storage:R},conversationBackgrounds:de.api,onDirectReadReceiptDisabled:t=>ge?.(t)}),X=0;function A$2(t){return X+=1,`channel-${t}-${c}-${X}`}let k=xb(u$1),B=(t,l,w=i$1)=>{let K=l.fromId===w?l.toId:l.fromId;mo(u$1,{conversation:{conversationType:"direct",conversationId:K},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}});},he=(t,l)=>{mo(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}});},le=(t,l)=>{mo(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}});},O=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 j="empty",ie=n$1.subscribe(t=>{if(f$1){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:Vc(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,Q="auto",xe=false,Ne=false,Ve=0,je,cn,$e=false,on,Qe,Rn=()=>{},Kn=null,E$2=null,z,H,W=Al(),ye=new AbortController,Ee=new Set,we=0,qe=false,Re=fa(t=>n$1.emit({type:"receiving:changed",receiving:t})),Te=fa(t=>n$1.emit({type:"syncing:changed",syncing:t})),Fe=false,en,On,Un=new Map,jn=new Map,_e=0,Se=t=>Un.get(t)??0,mn=t=>{Un.set(t,Se(t)+1);};function Bn(t){H?.invalidate(t),t.conversationType==="channel"&&mn(t.conversationId),t.conversationType==="group"&&jn.set(t.conversationId,(jn.get(t.conversationId)??0)+1);}let En=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:a$1,...R===void 0?{}:{storage:R}})),Dn=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:a$1,getUserId:async()=>i$1!==""?i$1:(await d$1.getLoginContext())?.userId??"",...R===void 0?{}:{storage:R}})),Pe=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:a$1,isActive:()=>f$1,...R===void 0?{}:{storage:R}})),st=e$1.channelMentionMembers??(h$1===void 0?void 0:u({client:h$1,clientType:a$1})),dn=Hd({...st===void 0?{}:{provider:st},...R===void 0?{}:{storage:R}}),Ar=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:a$1,getUserId:async()=>i$1!==""?i$1:(await d$1.getLoginContext())?.userId??""})),zn=cl({...Ar===void 0?{}:{provider:Ar}}),Vn=Pl({...h$1===void 0?{}:{search:t=>Ka$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}}),Et=Cl({provider:ct,isActive:()=>f$1}),qt=e$1.sessionFavoriteProvider??Ta({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>i$1}),fo=rd({provider:qt,isActive:()=>f$1}),Wt=()=>{},At=Id({namespaceFactory:r,...R===void 0?{}:{storage:R},emitter:n$1,getAccountId:()=>i$1,isActive:()=>f$1,clearMemoryCaches:()=>{En?.clearCache?.(),Dn?.clearCache?.(),Pe?.clearCache?.(),dn.clear(),Wt(),H?.clear().catch(t=>n$1.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),wt=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=Ra({emitter:n$1,diagnostics:u$1,profile:En,channelProfile:Dn,storage:R,getSelfId:()=>i$1,loadOlderFromRemote:async t=>{let l=H?.enterForeground(t.conversation),w=W.enterForeground(),K=Re.begin();try{return z===void 0?{messages:[],exhausted:!0}:await z(t)}finally{K(),l?.(),w();}},loadNewerFromRemote:async t=>{let l=H?.enterForeground(t.conversation),w=W.enterForeground(),K=Re.begin();try{return On===void 0?{messages:[],exhausted:!0}:await On(t)}finally{K(),l?.(),w();}}}),p$1=n$1.subscribe(t=>{if(t.type==="message:removed"||t.type==="conversation-history:cleared"||t.type==="session:removed"){let l=I(t.conversation);y.set(l,(y.get(l)??0)+1);}if(R?.deleteDecryptRecovery!==void 0){if((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true){let l=I(t.conversation),w=y.get(l)??0,K=m$1({conversation:t.conversation,messageId:t.message.id}),ne=_.get(K)??0,se=()=>f$1&&w===(y.get(l)??0)&&ne===(_.get(K)??0);(async()=>{let V=(await R.getDecryptRecoveries?.(t.conversation)??[]).find(ae=>ae.messageId===t.message.id);V===void 0||ue(V)||!se()||(await G.commitReceivedMessages([t.message],"offline",{backfillOnly:true}),await T$1(V,se));})().catch(re=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:re}}));}else if(t.type==="message:removed")s$1.delete(m$1({conversation:t.conversation,messageId:t.messageId})),S$1(t.conversation,()=>R.deleteDecryptRecovery(t.conversation,t.messageId)).catch(l=>n$1.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,w]of s$1)I(w.conversation)===I(t.conversation)&&s$1.delete(l);S$1(t.conversation,async()=>R.deleteConversationDecryptRecoveries?.(t.conversation)).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}}));}}}),b=Dd({directory:zn.contacts,getSelfId:()=>i$1,...En===void 0?{}:{profile:En},...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1,terminateConversationSending:(t,l)=>Rn(t,l),resetDirectReadReceiptPreference:t=>U.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?I$1?.(t):l!=="unknown"&&ge?.(t);}}),M=Kd({...$t===void 0?{}:{contact:$t},...Jt===void 0?{}:{group:Jt},...wt===void 0?{}:{channel:wt},onContactAccepted:async(t,l)=>{b.updateRelationshipFromEvent(t,"friend"),await G.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),G.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>f$1&&j==="ready"}),F=dl({domainState:G,emitter:n$1,isActive:()=>f$1}),oe=Rl({domainState:G,isAvailable:()=>f$1&&j==="ready"}),Ie=kd(()=>G.getSessions()),fe=e$1.crypto??i(),ve=e$1.media!==void 0?ab(e$1.media,u$1):void 0,Ce=Xa(),Le=Wa(Ce),{prepareLocalMediaPreview:Ke,prepareLocalVideoPoster:ln}=wl(Ce,()=>c),hn=h$1===void 0?void 0:e({client:h$1,crypto:fe,clientType:a$1,onError:(t,l)=>k?.("crypto",{message:t,cause:l})}),wr=h$1===void 0?void 0:h({client:h$1,clientType:a$1,onError:(t,l)=>k?.("crypto",{scope:"send-key",message:t,cause:l})}),fn=h$1===void 0?void 0:f({client:h$1,crypto:fe,clientType:a$1,onError:(t,l)=>k?.("crypto",{scope:"group-key",message:t,cause:l})}),De=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>ga(h$1,{channelId:t,clientType:a$1}),onError:(t,l)=>k?.("crypto",{scope:"channel-key",message:t,cause:l})})),xn=async(t,l={})=>{if(De===void 0)return;let w=De.getCachedChannelKey(t)===null;try{await De.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!w||!f$1))try{await _r({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(K){n$1.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:K}});}},Cn=async t=>De===void 0?null:De.getChannelKey(t),kn=t=>{if(De===void 0)return null;let l=De.getCachedChannelKey(t);return l===null&&xn(t),l},Zn=()=>hn?.getCachedPrivateKey(i$1)?.privateKey??null,go=()=>({crypto:fe,resolveChannelKey:kn,resolveUserPrivateKey:Zn,onDecryptRecovery:L,onDecryptError:t=>{let l=De!==void 0&&R?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(le("live",{...t,forceRefreshAttempted:l}),!l)return;let w=De.getCachedChannelKey(t.channelId)??void 0;De.getChannelKey(t.channelId,{staleKey:w}).catch(()=>{});}}),An=async(t,l={})=>{let w=[];De!==void 0&&w.push(...[...new Set(t)].map(K=>xn(K,l))),hn!==void 0&&i$1!==""&&w.push(hn.getUserPrivateKey(i$1).catch(()=>null)),await Promise.all(w);},bn=t=>({crypto:fe,resolveChannelKey:l=>De?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Zn,onDecryptError:l=>le(t,l),onDecryptRecovery:L});function dt(t){fn!==void 0&&t!==""&&fn.getGroupKeys(t);}let ga$2=async t=>{if(fn===void 0)return null;let l=await fn.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},ya$2=t=>{if(fn===void 0)return null;let l=fn.getCachedGroupKeys(t);return l!==null?l.privateKey:(dt(t),null)},Tt=async t=>{fn!==void 0&&await Promise.all(t.map(l=>fn.getGroupKeys(l).catch(()=>null)));},Vl=()=>({crypto:fe,resolvePrivateKey:({groupId:t})=>ya$2(t),preparePrivateKey:async({groupId:t})=>fn===void 0?null:(await fn.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>he("live",t),onDecryptRecovery:L}),_t=t=>({crypto:fe,resolvePrivateKey:({groupId:l})=>ya$2(l),onDecryptError:l=>he(t,l),onDecryptRecovery:L}),Yt=new Map,yo=new Map,Dt=new Map,Io=new Set,vo=new Set;function Xt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function ql(t,l){let w=I(t),K=Dt.get(w)??new Set;K.add(l),Dt.set(w,K);}function Ia$1(t){Dt.delete(I(t));}function Wl(t,l){return t.length===l.length&&t.every((w,K)=>w===l[K])}function va$2(t){if(t.conversation.conversationType==="group")return fn?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function kt(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 $l(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 w=_.get(l)??0,K=I(t.conversation),ne=y.get(K)??0,se=()=>f$1&&ne===(y.get(K)??0)&&w===(_.get(l)??0),re=Yt.get(l);if(re!==void 0){if(yo.get(l)===w)return re;await re.catch(()=>{}),se()&&s$1.get(l)===t&&await Tr(t);return}let V=async()=>G.getConversationMessage(t.conversation,t.messageId)??await R?.getMessage(t.conversation,t.messageId)??void 0,ae=(async()=>{let ce=await V();if(!se()||ce===void 0)return;let Y=ue(t);if(ce.encryption.decryptFailed!==true&&!Y){await G.commitReceivedMessages([ce],"offline",{backfillOnly:true}),await T$1(t,se);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ce.senderId,messageCreatedAt:ce.createdAt,selfMessage:ce.senderId===i$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 Z,$,me="key-resolve",Je=kt(t);for(let Ln of [false,true]){let He=Ln?"force":"current",Ye;try{me="bcontent";let nn=d.decode(t.sContent);if(t.wireEncrypt===1){if(nn.secretKey.length===0||nn.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");me="key-resolve";let un=Ln?{...typeof $=="string"?{staleKey:$}:{}}:void 0,Sn=t.conversation.conversationType==="group"?(await fn?.getGroupKeys(t.conversation.conversationId,un))?.privateKey??null:(await hn?.getUserPrivateKey(i$1,un))?.privateKey??null;Ln&&$!==void 0&&(Ye=typeof $=="string"&&Sn!==null&&$!==Sn),Ye===!0&&Ia$1(t.conversation),Ln||($=Sn);let qn=va$2(t);if(Sn===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:kt(t),finalStage:me,reason:"no-key",...qn===void 0?{}:{resolvedKeyVersion:qn},...Ye===void 0?{}:{keyChanged:Ye}}}));continue}me="rsa";let Gn=fe.rsaDecryptPkcs1({data:nn.secretKey,privateKey:Sn});if(Gn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${Gn.length} < 16`);me="tea";let an=fe.decryptSymmetric({teaKey:Gn,cipherData:nn.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:kt(t),rsaCipherBytes:nn.secretKey.length,cipherDataBytes:nn.cipherData.length,cipherDataBlockRemainder:nn.cipherData.length%8,resolvedTeaBytes:Gn.length,plainBytes:an.length,plainBlockRemainder:an.length%8,startsWithContentTypeField:an[0]===8,startsWithMobileCardType:an[0]===8&&an[1]===8,...kl(an)}})),me="bmessage",Z=c$1.decode(an);}else if(t.conversation.conversationType==="channel"){if(nn.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");me="key-resolve";let un=Ln?{...$ instanceof Uint8Array?{staleKey:$}:{}}:void 0,Sn=De?.getChannelKeyCandidates===void 0?await De?.getChannelKey(t.conversation.conversationId,un).then(an=>[{strategy:"canonical-base64-pad",key:an}])??[]:await De.getChannelKeyCandidates(t.conversation.conversationId,un),qn=De?.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=Sn.find(an=>an.strategy==="canonical-base64-pad")?.key??null;if(Ln&&$ instanceof Uint8Array&&Gn!==null&&(Ye=!Wl($,Gn)),Ye===!0&&Ia$1(t.conversation),Ln||($=Gn?.slice()??null),Sn.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:kt(t),finalStage:me,reason:"no-key",...Ye===void 0?{}:{keyChanged:Ye}}}));continue}for(let an of Sn)try{me="tea";let or=fe.decryptSymmetric({teaKey:an.key,cipherData:nn.cipherData});me="bmessage";let Lt=c$1.decode(or);if(an.strategy==="legacy-ascii16"&&!$l(Lt))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");Z=Lt,Je=an.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:He,strategy:an.strategy,finalStage:"recovered",reason:"recovered",...Ye===void 0?{}:{keyChanged:Ye}}}));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:an.strategy,finalStage:me,reason:"decrypt-failed",...Ye===void 0?{}:{keyChanged:Ye}},error:{message:"CHANNEL decrypt recovery candidate failed",data:or}}));}}if(Z!==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:Je,finalStage:"recovered",reason:"recovered",...Ye===void 0?{}:{keyChanged:Ye}}}));break}}catch(nn){let un=va$2(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:kt(t),finalStage:me,reason:"decrypt-failed",...un===void 0?{}:{resolvedKeyVersion:un},...Ye===void 0?{}:{keyChanged:Ye}},error:{message:"IM message decryption recovery failed",data:nn}}));}}if(!se()||Z===void 0){Z===void 0&&(ql(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:kt(t),attempts:2,finalStage:me}})));return}let Ge=await V();if(!se()||Ge===void 0||Ge.encryption.decryptFailed!==true&&!Y)return;let Mn=t.conversation.conversationType==="channel"&&(t.cmdId===12804||Z.contentType===101)?E({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(Ge.serverTime??Ge.createdAt),notifyType:Z.type,operatorId:Z.oprUserId,targetUserIds:Z.mnpledUserId,content:Z.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}):{...V$1(Ge,Z,i$1),...Y?{edited:true}:{}};await G.commitReceivedMessages([Mn],"offline",{backfillOnly:true,refreshSessionSummary:true}),await T$1(t,se);})().finally(()=>{Yt.get(l)===ae&&(Yt.delete(l),yo.delete(l));});return Yt.set(l,ae),yo.set(l,w),ae}async function _r(t,l={}){try{let w=I(t),K=await R?.getDecryptRecoveries?.(t)??[];if(!f$1)return;let ne=Dt.get(w),se=ne===void 0?K:K.filter(ce=>!ne.has(ce.messageId));if(await Promise.all(se.map(Tr)),!f$1||l.recoverLegacyWithoutSidecar===!1)return;let re=Dt.get(w),V=new Set(K.filter(ce=>re===void 0||!re.has(ce.messageId)).map(ce=>ce.messageId)),ae=G.getMessagesByConversation(t).filter(ce=>ce.encryption.decryptFailed===!0&&!V.has(ce.id));if(ae.length===0||Io.has(w))return;if(Io.add(w),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:ae.length,withoutSidecar:ae.filter(ce=>!K.some(Y=>Y.messageId===ce.id)).length}})),t.conversationType==="channel"){let ce=await d$1.getLoginContext();if(ce===null||en===void 0)return;for(let Y of ae.slice(0,Ef)){let Z=Y.extensions?.historyCursor;if(typeof Z!="string"||Z.trim()==="")continue;let $=await en(t.conversationId,Z,ce.userId);if(!f$1)return;$.length>0&&G.upsertMessages($,"offline");}}else t.conversationType==="group"?await Jl({conversationType:"group",conversationId:t.conversationId},ae):t.conversationType==="direct"&&await Fa();}catch(w){if(!f$1)return;n$1.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:w}});}}async function Jl(t,l){if(z===void 0)return;let w=[...l].sort((V,ae)=>V.sortKey.localeCompare(ae.sortKey)),K=w[0],ne=w.at(-1);if(K===void 0||ne===void 0)return;let se=K.serverTime??K.createdAt,re;for(let V=0;V<Rf;V++){let ae=await z({conversation:t,oldestLoaded:ne,...re===void 0?{}:{cursor:re},intent:"older",limit:Pf});if(!f$1||ae.exhausted||ae.nextCursor===void 0)return;let ce=Number(ae.nextCursor);if(Number.isFinite(ce)&&ce<=se)return;re=ae.nextCursor;}}let wn=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function ho(t,l=true){let w=t.channelPermissions,K=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,w===void 0?void 0:[w.sendMessages,w.mentionAll,w.editProfile,w.manageMembers,w.manageAdmins,w.moderateMessages,w.manageMute,w.dismissChannel,w.transferOwnership],!l||K===void 0?void 0:[K.role,K.baseState,K.resolvedState,K.allMembersMuted,K.currentUserMuted,K.mutePeriod]])}let Co=new Map;function lt(t){let l=G.getConversationContext(t);if(!f$1||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&tn(l.channelState))return;let w=G.getMessagesByConversation(t).at(-1);return JSON.stringify([i$1,w===void 0?l.timestamp:void 0,ho(l),w?.id,w?.sortKey])}H=Nl({...R?.recentHistoryCache===void 0?{}:{cache:R.recentHistoryCache},fingerprint:lt,canRunBackground:xu,fetchPage:Ol({http:P,authProvider:d$1,clientType:a$1,groupDecrypt:()=>_t("history"),channelDecrypt:()=>bn("history"),prepareGroupKeys:Tt,prepareChannelKeys:t=>An(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,w)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:w}))});let Yl=n$1.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=I(t.conversation),w=Co.get(l),K={timestamp:t.session.timestamp,access:ho(t.session),capabilities:ho(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(Co.set(l,K),j==="ready"&&w!==void 0&&(w.access!==K.access||!Fe&&w.timestamp!==K.timestamp)){let ne=!w.hasSnapshot&&K.hasSnapshot&&(w.capabilities===K.capabilities||!w.hasPermissions&&w.state===K.state);H?.invalidate(t.conversation,{preserveForeground:w.access===K.access||ne});}return}if(t.type==="session:removed"){Co.delete(I(t.conversation)),j==="ready"&&H?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){j==="ready"&&H?.invalidate(t.conversation);return}j!=="ready"||Fe||!("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 ha(t,l=true){Fe=true;try{t.messages.length>0&&G.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let w of t.reactions)wn(w);for(let w of H.takeRecoveries(t))L(w);}finally{Fe=false;}}z=async({conversation:t,oldestLoaded:l,cursor:w,intent:K,limit:ne,signal:se})=>{se?.throwIfAborted();let{conversationId:re}=t,V=G.getConversationContext(t);if(V===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${re}\uFF09`);if(V.type==="direct"||V.type==="robot")return {messages:[],exhausted:true};if(K==="establish-latest"&&ne===30&&(V.type==="group"||V.type==="channel")){let ae={conversationType:V.type,conversationId:re};if(lt(ae)===void 0)return {messages:[],exhausted:true};let ce=await H.readCached(ae,true).catch(Z=>(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:Z}})),null));ce!==null&&H.isPageCurrent(ce)&&Date.now()-ce.fetchedAt>5*6e4&&ha(ce,false),se?.throwIfAborted();let Y=await H.latest(ae,se).catch(Z=>{if(f$1&&lt(ae)===void 0)return null;throw Z});if(Y===null)return {messages:[],exhausted:true};if(se?.throwIfAborted(),!f$1||!H.isPageCurrent(Y)||lt(ae)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(ha(Y),await H.confirmConsumed(Y),se?.throwIfAborted(),!H.isPageCurrent(Y))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:Y.messages,exhausted:Y.exhausted,...Y.nextCursor===void 0?{}:{nextCursor:Y.nextCursor},replaceWindow:true}}if(V.type==="group"){if(V.groupState!==void 0&&V.groupState!=="active")return {messages:[],exhausted:true};let ae=await d$1.getLoginContext();if(ae===null)return {messages:[],exhausted:true};let ce=K==="establish-latest"?Date.now():w===void 0?l?.serverTime??l?.createdAt??Date.now():Ul(w,re),Y=await Ia({signal:se,http:P,userId:ae.userId,clientType:a$1,groupId:re,baseTime:ce,direct:1,limit:ne,decryptDeps:_t("history"),prepareKeys:Tt,onReaction:wn});se?.throwIfAborted(),Y.messages.length>0&&G.upsertMessages(Y.messages,"offline",{backfillOnly:true,refreshSessionSummary:K==="establish-latest"});let Z=Pr({conversationId:re,direction:"older",baseTime:ce,batchSize:Y.batchSize,boundaryTime:Y.oldestEntryTime,limit:ne});return {messages:Y.messages,...Z,...K==="establish-latest"?{replaceWindow:true}:{}}}if(V.type==="channel"){let ae=A$2("history");if(V.channelState!==void 0&&tn(V.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:ae,data:{state:V.channelState}})),{messages:[],exhausted:true};let ce=_e,Y=Se(re),Z=await d$1.getLoginContext();if(Z===null)return {messages:[],exhausted:true};if(K==="establish-latest"){let Ge=await Aa({signal:se,http:P,userId:Z.userId,clientType:a$1,channelId:re,count:Vt,operationId:ae,decryptDeps:bn("history"),prepareKey:De===void 0&&hn===void 0?void 0:Ln=>An([Ln]),onContentDecodeError:O,onReaction:wn});se?.throwIfAborted();let Mn=G.getConversationContext(t);return !f$1||ce!==_e||Y!==Se(re)||Mn?.type!=="channel"||Mn.channelState!==void 0&&tn(Mn.channelState)?{messages:[],exhausted:true}:(se?.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 $=w??"";if(w===void 0&&l!==void 0){let Ge=l.extensions?.historyCursor;if(typeof Ge=="string"&&Ge.trim()!=="")$=Ge;else if(!wf(l,Z.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${re}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:ae,data:{baseIndexPresent:$!=="",direction:1,contain:0,count:Vt,historyGeneration:ce,historyEpoch:Y,clientTypeHeader:a$1,clientTypeBody:a$1}}));let me;try{me=await Ba({signal:se,http:P,userId:Z.userId,clientType:a$1,channelId:re,baseIndex:$,count:Vt,contain:0,operationId:ae,decryptDeps:bn("history"),prepareKey:De===void 0&&hn===void 0?void 0:Ge=>An([Ge]),onContentDecodeError:O,onReaction:wn});}catch(Ge){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:ae,data:{baseIndexPresent:$!=="",direction:1,contain:0,count:Vt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Ge}})),Ge}se?.throwIfAborted();let Je=G.getConversationContext(t);return !f$1||ce!==_e||Y!==Se(re)||Je?.type!=="channel"||Je.channelState!==void 0&&tn(Je.channelState)?{messages:[],exhausted:true}:(se?.throwIfAborted(),me.messages.length>0&&G.upsertMessages(me.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:ae,data:{responseBatchSize:me.batchSize,messageCount:me.messages.length,exhausted:me.exhausted,nextBaseIndexPresent:me.nextBaseIndex!==void 0}})),{messages:me.messages,exhausted:me.exhausted,...me.nextBaseIndex===void 0?{}:{nextCursor:me.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${V.type}`)};let bo=t=>{t.length>0&&G.upsertMessages(t,"offline",{backfillOnly:true});},Mo=async()=>{let t=await d$1.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}},Xl=async(t,l)=>{let w=i$1,K=()=>{if(!f$1||i$1!==w)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError")};K();let{userId:ne}=await Mo();if(K(),ne!==w)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let se=await wo(ne),re=[],V=[],ae=await so(l,async Z=>{K();let $=await va$1({http:P,userId:ne,clientType:a$1,messageIds:Z,decryptDeps:{...se,onDecryptRecovery:me=>V.push(me)},onReaction:me=>re.push(me)});if(K(),$.code!==200)throw Object.assign(new Error("DIRECT \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:$.code});return $});K();let ce=ae.messages.filter(Z=>Z.conversationType===t.conversationType&&Z.conversationId===t.conversationId);for(let Z of ce)K(),bo([Z]),K();for(let Z of re)K(),Z.conversation.conversationType===t.conversationType&&Z.conversation.conversationId===t.conversationId&&wn(Z),K();for(let Z of V)K(),Z.conversation.conversationType===t.conversationType&&Z.conversation.conversationId===t.conversationId&&L(Z),K();return {messages:ce.map(Z=>{let $=G.getConversationMessage(t,Z.id);if($===void 0)throw new Error("DIRECT \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return $}),missingMessageIds:ae.missingMessageIds}},Ca$1=async(t,l)=>{let w={conversationType:"group",conversationId:t},K=i$1,ne=()=>{if(!f$1||i$1!==K)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError")};ne();let{userId:se}=await Mo();if(ne(),se!==K)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let re=[],V=[],ae=_t("history"),ce=await so(l,async $=>{ne();let me=await wa$1({http:P,userId:se,clientType:a$1,groupId:t,messageIds:$,decryptDeps:{...ae,onDecryptRecovery:Je=>V.push(Je)},prepareKeys:Tt,onReaction:Je=>re.push(Je)});if(ne(),me.code!==200)throw Object.assign(new Error("GROUP \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:me.code});return me});ne();let Y=ce.messages.filter($=>$.conversationType===w.conversationType&&$.conversationId===w.conversationId);for(let $ of Y)ne(),bo([$]),ne();for(let $ of re)ne(),$.conversation.conversationType===w.conversationType&&$.conversation.conversationId===w.conversationId&&wn($),ne();for(let $ of V)ne(),$.conversation.conversationType===w.conversationType&&$.conversation.conversationId===w.conversationId&&L($),ne();return {messages:Y.map($=>{let me=G.getConversationMessage(w,$.id);if(me===void 0)throw new Error("GROUP \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return me}),missingMessageIds:ce.missingMessageIds}},ba=async(t,l)=>{let w={conversationType:"channel",conversationId:t},K=i$1,ne=_e,se=Se(t),re=()=>{let $=G.getConversationContext(w);if(!f$1||i$1!==K||ne!==_e||se!==Se(t)||$?.type!=="channel"||$.channelState!==void 0&&tn($.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};re();let{userId:V}=await Mo();if(re(),V!==K)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let ae=[],ce=[],Y=await so(l,async $=>{re();let me=await xa$1({http:P,userId:V,clientType:a$1,channelId:t,messageIds:$,operationId:A$2("history"),decryptDeps:{...bn("history"),onDecryptRecovery:Je=>ce.push({...Je,source:"history"})},prepareKey:De===void 0&&hn===void 0?void 0:async Je=>{await An([Je],{recoverExistingMessages:false}),re();},onContentDecodeError:O,onReaction:Je=>ae.push(Je)});if(re(),me.code!==0)throw Object.assign(new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:me.code});return me});re();for(let $ of Y.messages)re(),bo([$]);for(let $ of ae)re(),wn($);for(let $ of ce)re(),L($);return re(),{messages:Y.messages.map($=>{let me=G.getConversationMessage(w,$.id);if(me===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return me}),missingMessageIds:Y.missingMessageIds}},Ql=ub([rb({includeOppositeEnd:true}),sb({resolveGroupKey:ga$2}),qb({resolveChannelKey:Cn}),tb()]),Zl=bb([cb(),db(),eb()]),eu=va([wa(),xa(),ya({resolveChannelKey:Cn,resolveProfile:t=>Dn?.getProfile(t)??Promise.resolve(null)})]),gn=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Ot=()=>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"?fn?.clearGroupKeys(t.conversationId):De?.clearChannelKey(t.conversationId),G.removeConversationForMembershipTermination(t,l),de.api.resetBackground(t).catch(w=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:w}}));}},xt=Ua({domainState:G,sendFrame:t=>gn(t),getSelfId:()=>i$1,isAuthenticated:()=>Ot(),reportReaction:t=>ct.reportReaction(t),isEmojiSupported:Xc,logger:k});wn=t=>{xt.ingest(t,"offline");};let nu=Va({manager:xt,getSelfId:()=>i$1,logger:k}),tu=mb({domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>gn(t),getSelfId:()=>i$1,emitter:n$1,logger:k,keepRaw:true,decrypt:Vl(),isActive:()=>f$1}),ru=hb$1({domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>gn(t),getSelfId:()=>i$1,emitter:n$1,logger:k,keepRaw:true,decrypt:go()}),ou=nb({isActive:()=>f$1,domainState:G,outbox:{onChatAck:t=>Dr(t)},sendFrame:t=>gn(t),getSelfId:()=>i$1,emitter:n$1,logger:k,keepRaw:true}),au=gb$1({domainState:G,sendFrame:t=>gn(t),getSelfId:()=>i$1,emitter:n$1,logger:k,keepRaw:true,decrypt:{crypto:fe,resolveChannelKey:kn,resolveUserPrivateKey:Zn,onDecryptRecovery:L}}),iu=fb({getSelfId:()=>i$1,sendFrame:t=>gn(t),emitter:n$1}),su=ob({emitter:n$1,getSelfId:()=>i$1}),cu=kb({sendFrame:t=>gn(t),emitter:n$1,getSelfId:()=>i$1,domainState:{reconcileDirectContactEstablishedNotice:G.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){G.removeConversation(t);return}t.conversationType==="direct"&&Rn(t,"friend_relation_removed"),G.removeConversation(t);})},resetDirectReadReceiptPreference:t=>U.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:b.updateRelationshipFromEvent}),du=pb({sendFrame:t=>gn(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:G.applyTransferStatusBySerialNumber}}),lu=jb({getSelfId:()=>i$1,sendFrame:t=>gn(t),emitter:n$1}),uu=ib({getSelfId:()=>i$1,domainState:G,sendFrame:t=>gn(t),emitter:n$1,onRelationshipChanged:b.updateRelationshipFromEvent}),So=o({sendFrame:t=>gn(t),emitter:n$1,getSelfId:()=>i$1,isAuthenticated:()=>Ot(),domainState:G}),Po=A$1({sendFrame:t=>gn(t),emitter:n$1,getSelfId:()=>i$1,isAuthenticated:()=>Ot(),domainState:G}),Sa$1=[...So.handlers,...Po.commandHandlers],pu=2e3,er,Ro=false,Pa=new Set;async function Ra$1(){if(Ro||!f$1||!Ot())return;let t=await d$1.getLoginContext();if(t!==null){Ro=true;try{let l=[];for(;;){let w=await Ja$1({http:P,userId:t.userId,clientType:a$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:w.items.length,cmdIds:w.items.map(K=>`0x${K.cmdId.toString(16)}`)}})),w.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let K of w.items){if(n$1.emit({type:"notification",cmdId:K.cmdId,name:"OFFLINE_SIGNAL"}),K.msgId!==""&&Pa.has(K.msgId))continue;K.msgId!==""&&Pa.add(K.msgId);let ne=Sa$1.find(se=>se.command===K.cmdId);ne!==void 0&&ne.handler(K.cmdId,K.body);}if(w.deliveredMsgIds.length===0)break;l=w.deliveredMsgIds;}}catch(l){n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{Ro=false;}}}function mu(){Ra$1(),er===void 0&&(er=setInterval(()=>{Ra$1();},pu));}function Ea(){er!==void 0&&clearInterval(er),er=void 0;}let fu=lb({domainState:G,sendFrame:t=>gn(t),getSelfId:()=>i$1,emitter:n$1,logger:k,keepRaw:true}),gu=Sa({domainState:Zt,getSelfId:()=>i$1,prefetchGroupKey:dt,clearGroupKeys:t=>{fn?.clearGroupKeys(t);},clearConversationTermination:t=>Qt(t)}),yu=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&gu.handleMessage(t.message);}),Aa$1=La({domainState:Zt,getSelfId:()=>i$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:De!==void 0&&De.getCachedChannelKey(t)!==null}})),De!==void 0&&De.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=De!==void 0&&De.getCachedChannelKey(t)!==null;De?.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);mn(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)}}));}}),Iu=n$1.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(i$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:G.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Aa$1.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),vu=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"]),hu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Cu=n$1.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,w=l.body.system?.eventType;l.conversationType==="channel"&&w!==void 0&&(vu.has(w)&&Pe?.invalidateChannelMembers(l.conversationId).catch(K=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:K}});}),hu.has(w)&&dn.invalidate(l.conversationId).catch(K=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:K}});}));}),wa$2=Hc({fetchMessagesById:Ca$1,onSourceUnavailable:t=>u$1.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"group",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1}),Ta$1=Ad({fetchMessagesById:ba,onSourceUnavailable:t=>u$1.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"channel",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...h$1===void 0?{}:{coreClient:h$1},domainState:G,emitter:n$1}),ut=wd({...wt===void 0?{}:{joinApplications:wt},http:P,clientType:a$1,buildOfflineDecrypt:()=>bn("history"),onContentDecodeError:O,onReaction:wn,...De===void 0&&hn===void 0?{}:{prepareKey:t=>An([t])}});en=async(t,l,w)=>{let{context:K}=await ut.loadMessageContext(t,l,w);return K.messages};let bu=Td({authProvider:d$1,emitter:n$1,domainState:G,loadMessageContext:ut.loadMessageContext,isActive:()=>f$1,getHistoryGeneration:()=>_e,getHistoryEpoch:Se}),Eo=El({domainState:G,isActive:()=>f$1,loadSummary:async({channelId:t,readCursor:l})=>{let w=await d$1.getLoginContext();if(w===null||!f$1||w.userId!==i$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await ya$1({http:P,userId:w.userId,clientType:a$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ne=>ne.channelId===t)},report:(t,l,w)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:w}))}),Ao=Xa$1({domainState:G,updateReadIndex:async({channelId:t,readCursor:l})=>{let w=await d$1.getLoginContext();if(w===null||!f$1||w.userId!==i$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:P,userId:w.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$1,logger:k,onReadCommitted:Eo.request,onReadSettled:Eo.settled,syncRead:{getSelfId:()=>i$1,sendFrame:t=>gn(t)}}),Mu=Wa$1({getSelfId:()=>i$1,applyRemoteRead:t=>Ao.applyRemoteRead(t),emitter:n$1,logger:k}),Su=$a([_a({domainState:G,markGroupReadAll:async t=>{let l=await d$1.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await na({http:P,userId:l.userId,groupId:t});},emitter:n$1,logger:k,isAuthenticated:()=>Ot(),syncRead:{getSelfId:()=>i$1,sendFrame:t=>gn(t)}}),Ao,ab$1({domainState:G})]),nr=zb({getSelfId:()=>i$1,sendFrame:t=>gn(t),onListenerError:()=>n$1.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),Pu=n$1.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&nr.setAuthenticated(false);}),be=vb({transport:v,authProvider:d$1,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:G,logger:k,decrypt:{crypto:fe,resolvePrivateKey:({msgType:t})=>t===1?hn?.getCachedPrivateKey(i$1)?.privateKey??null:null,onDecryptError:t=>B("live",t),onDecryptRecovery:L},encryptSend:wr===void 0&&De===void 0?void 0:{crypto:fe,resolvePublicKey:t=>wr?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:ga$2},media:ve!==void 0?{transfer:ve,recoveryPort:g?.port,retainFailedUploads:e$1.uploadRecovery?.retainFailedUploads,shouldPersistUpload:(t,l)=>g!==void 0&&_a$1(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>C$1.wait(t),preview:Le,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}}}));},...J===void 0?{}:{assetCache:J,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:Ql,commandHandlers:[...nr.commandHandlers,...cu,...su,...du,...lu,...uu,...Sa$1,...nu,...tu,...fu,...ru,...au,...iu,...Mu,...ou],readStrategies:Su,canSendDirectReadReceipt:t=>{if(!U.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:eu,storage:R,onAuthenticated:()=>{nr.setAuthenticated(true);for(let l of Me)l.resumeMedia();let t=xe;xe=true,(t||Q==="auto")&&xa$2().catch(()=>{}),mu();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);ge=t=>be.suppressDirectReadReceipts(t),I$1=t=>be.resumeDirectReadReceipts(t),gn=be.sendFrame,Ot=()=>be.state==="authenticated",Dr=be.onChatAck,Rn=be.terminateConversationSending,Ma=be.markOutboxConversationTerminated,Qt=be.clearOutboxConversationTerminated;let _a$2=gd({operations:{getPending:be.getPendingOutbox,retry:be.retryOutboxMessage,cancel:be.cancelOutboxMessage},emitter:n$1,isActive:()=>f$1}),ze=Nd({connection:be,domainState:G,crypto:fe,settleEmptyGroupRead:async t=>{let l=jn.get(t.conversationId)??0,w=G.getSession(t),K=w===void 0,ne=w?.unreadCount??0,se=w?.mentionUnreadCount??0,re=ne,V=se,ae=()=>{let Y=G.getSession(t);if(!f$1||K||Y===void 0||l!==(jn.get(t.conversationId)??0)||Y.groupState!==void 0&&Y.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return Y},ce=n$1.subscribe(Y=>{if(!(!("conversation"in Y)||Y.conversation?.conversationType!=="group"||Y.conversation.conversationId!==t.conversationId)&&((Y.type==="session:removed"||Y.type==="conversation-history:cleared"||Y.type==="session:updated"&&Y.session.groupState!==void 0&&Y.session.groupState!=="active")&&(K=true),Y.type==="read:updated"||Y.type==="session:updated")){let Z=G.getReadState(t);if(Z===void 0)return;let $=Z.mentionUnreadCount??0;re=Math.max(0,re-Math.max(0,ne-Z.unreadCount)),V=Math.max(0,V-Math.max(0,se-$)),ne=Z.unreadCount,se=$;}});try{ae();let Y=await d$1.getLoginContext();if(ae(),Y===null||Y.userId!==i$1)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await na({http:P,userId:Y.userId,groupId:t.conversationId});let Z=ae(),$=G.getReadState(t),me=Math.max(0,($?.unreadCount??Z.unreadCount)-re),Je=Math.max(0,($?.mentionUnreadCount??Z.mentionUnreadCount??0)-V);G.setReadState({...$??{...t,readCursor:Z.readCursor??"",unreadCount:Z.unreadCount},mentionUnreadCount:Je}),G.applyServerUnread(t,me);}finally{ce();}},...ve===void 0?{}:{mediaTransfer:ve},prepareDirectReadReceipt:async t=>{try{await b.ensureRelationship(t);}catch(l){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),kr=md({recoveryPort:g?.port,connection:be,domainState:G,emitter:n$1,isActive:()=>f$1,preparePreview:Ke,prepareVideoPoster:ln,onLocalPreviewError:({kind:t,byteLength:l,cause:w})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:c,data:{kind:t,byteLength:l},error:{message:w instanceof Error?w.message:String(w)}}));},...J===void 0?{}:{assetCache:J,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}}}));}},...ve===void 0?{}:{loaders:{loadImage:ze.operations.loadImage,loadVideo:ze.operations.loadVideo,loadVoice:ze.operations.loadVoice,loadFile:ze.operations.loadFile}}}),Or=Tl({isActive:()=>f$1&&j==="ready"&&i$1!=="",maintain:async()=>{kr.prune(),be.expireRetainedUploads();let l=(await Promise.allSettled([ee?J?.prune?.():void 0,g?.prune()])).find(w=>w.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=()=>{be.invalidateMediaAssetCacheWrites(),kr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(be.setConnectionAllowed(false),je=db$1({onChange:(t,l)=>{if(!t)return $e=true,be.setConnectionAllowed(false),f$1?(Eu(),Ua$1({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):Qe?.then(()=>{})},onError:t=>{on=t,n$1.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 Ru(t){if(!(je===void 0||!f$1)){if(!$e){cn??=je.start(r.forAccount(t).name("ephemeral","connection",`client-${a$1}`));let l=await cn;if(!f$1)return;if(f$1&&!$e&&l&&je.owned){be.setConnectionAllowed(true);return}}throw be.setConnectionAllowed(false),await be.connect(),on!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:on}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let xr=eb$1({onOnline:()=>{C$1.setOnline(true),be.notifyOnline();},onOffline:()=>{C$1.setOnline(false),be.notifyOffline();},onVisible:()=>{Or.run(),be.notifyVisible();for(let t of Me)t.resumeMedia();},onPageHide:()=>{Ne&&be.suspendForPageLifecycle();},onPageShow:()=>{if(Or.run(),Ne){be.resumeFromPageLifecycle(),be.notifyVisible();for(let t of Me)t.resumeMedia();}}},e$1.network);function Eu(){f$1=false,ye.abort(),W.dispose(),Te.dispose(),Re.dispose(),H?.dispose(),Ne=false,Ve+=1,xr.stop();}let Au=n$1.subscribe(t=>{!f$1||t.type!=="auth:invalid"||(Ne=false,Ve+=1,$e=je!==void 0,je?.terminate(),xr.stop());});async function wo(t){let l=await hn?.getUserPrivateKey(t)??null;return {crypto:fe,resolvePrivateKey:({msgType:w})=>w===1?l?.privateKey??null:null,onDecryptError:w=>B("offline",w,t),onDecryptRecovery:L}}function Da$1(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:w,limit:K})=>{let ne=await d$1.getLoginContext();if(ne===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let se=await wo(ne.userId),re=[];return {...await l({http:P,userId:ne.userId,clientType:a$1,decryptDeps:se,deliveredMsgInfos:w,...K===void 0?{}:{limit:K},onReaction:ae=>re.push(ae)}),reactions:re}}}}let wu=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let w=await d$1.getLoginContext();if(w===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let K=[];return {...await Ga({http:P,userId:w.userId,clientType:a$1,decryptDeps:_t("offline"),prepareKeys:Tt,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:se=>K.push(se)}),reactions:K}}});async function ka(t){let l=[...new Map(t.map(ne=>[I(ne),ne])).values()],w=0;await(async()=>{for(;w<l.length;){if(!f$1)return;let ne=l[w++];if(!(G.getSession(ne)===void 0||lt(ne)===void 0))try{if(await W.waitForBackground(ye.signal),!f$1||G.getSession(ne)===void 0||lt(ne)===void 0)continue;H.invalidate(ne,{preserveForeground:!0}),await z({conversation:ne,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(se){if(!f$1||G.getSession(ne)===void 0||lt(ne)===void 0)continue;n$1.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:se}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:ne,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:se}}));}}})();}async function Tu(){let t=await d$1.getLoginContext();if(t===null)return;let l=[],w=await Ha({http:P,userId:t.userId,clientType:a$1,decryptDeps:_t("offline"),prepareKeys:Tt,onReaction:K=>l.push(K)});if(f$1){for(let K of w.unreads)G.applyServerUnread({conversationType:"group",conversationId:K.groupId},K.unreadCount),dt(K.groupId);await Oa(w.messages,l),await ka(w.unreads.map(K=>({conversationType:"group",conversationId:K.groupId}))),ga$1(w);}}async function _u(){let t=A$2("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:a$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:a$1}}));try{await Du(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 Du(t){if(Dn===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await d$1.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let w=await Dn.listProfiles({forceRefresh:true});if(!f$1)return;if(w.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let K=new Map(w.map(x=>[x.id,x]));for(let x of w){if(q(x.channelState)){De?.clearChannelKey(x.id),Zt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:x.id},`channel_${x.channelState}`);continue}let pe=x.permissions.sendMessages?void 0:`channel_${x.channelState}`;G.setChannelRestriction(x.id,x.channelState,pe,{permissions:x.permissions,...x.accessSnapshot===void 0?{}:{snapshot:x.accessSnapshot}}),G.updateConversationProfile({conversationType:"channel",conversationId:x.id},{title:x.name,avatar:x.avatar}),x.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:x.id},x.muted);}let ne=new Map(w.map(x=>{let pe={conversationType:"channel",conversationId:x.id},Ue=G.getReadState(pe),Be=G.getSession(pe);return [x.id,{revision:G.getChannelReadRevision(pe),pending:G.hasPendingChannelRead(pe),readCursor:Ue?.readCursor??Be?.readCursor??"",unreadCount:Be?.unreadCount??Ue?.unreadCount??0,mentionUnreadCount:Be?.mentionUnreadCount??Ue?.mentionUnreadCount??0}]})),se=w.map(x=>({channelId:x.id,readCursor:ne.get(x.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:se.length,channelsWithReadCursor:se.filter(x=>x.readCursor!=="").length,clientTypeHeader:a$1,clientTypeBody:a$1}}));let re=await ya$1({http:P,userId:l.userId,clientType:a$1,channels:se,operationId:t,decryptDeps:bn("offline"),prepareKeys:x=>An(x.filter(pe=>{let Ue=K.get(pe)?.channelState;return Ue===void 0||!tn(Ue)})),onContentDecodeError:O,onReaction:wn});if(!f$1)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:re.length,lastMessageCount:re.filter(x=>x.last!==void 0).length,decryptFailedLastCount:re.filter(x=>x.last?.encryption.decryptFailed===true).length,unknownContentLastCount:re.filter(x=>x.last?.contentType==="unknown"&&x.last.encryption.decryptFailed!==true).length}}));let V=new Set(re.filter(x=>{let pe=ne.get(x.channelId),Ue={conversationType:"channel",conversationId:x.channelId},Be=G.getReadState(Ue),Wn=G.getSession(Ue);return pe===void 0||pe.pending||G.hasPendingChannelRead(Ue)||G.getChannelReadRevision(Ue)!==pe.revision||(Be?.readCursor??Wn?.readCursor??"")!==pe.readCursor||(Wn?.unreadCount??Be?.unreadCount??0)!==pe.unreadCount||(Wn?.mentionUnreadCount??Be?.mentionUnreadCount??0)!==pe.mentionUnreadCount}).map(x=>x.channelId)),ae=re.filter(x=>G.getConversationContext({conversationType:"channel",conversationId:x.channelId})!==void 0).map(x=>{let Ue=K.get(x.channelId)?.channelState,Be=Ue!==void 0&&tn(Ue)?Ue:tn(x.channelState)?x.channelState:Ue??x.channelState,Wn=Be==="active"?void 0:Be===x.channelState?x.sendDisabledReason:`channel_${Be}`;return {...x,channelState:Be,sendDisabledReason:Wn}});for(let x of ae){let pe=K.get(x.channelId);G.setChannelRestriction(x.channelId,x.channelState,x.sendDisabledReason,pe===void 0?void 0:{permissions:pe.permissions,...pe.accessSnapshot===void 0?{}:{snapshot:pe.accessSnapshot}}),pe!==void 0&&(G.updateConversationProfile({conversationType:"channel",conversationId:x.channelId},{title:pe.name,avatar:pe.avatar}),pe.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:x.channelId},pe.muted)),V.has(x.channelId)||G.applyChannelReadSummary({conversationType:"channel",conversationId:x.channelId},x),tn(x.channelState)&&De?.clearChannelKey(x.channelId);}let ce=_e,Y=new Map(ae.map(x=>[x.channelId,Se(x.channelId)])),Z=x=>{let pe=G.getConversationContext({conversationType:"channel",conversationId:x});return f$1&&ce===_e&&Y.get(x)===Se(x)&&pe!==void 0&&(pe.channelState===void 0||!tn(pe.channelState))},$=x=>{if(!f$1||ce!==_e)return [];let pe=x.filter(Ue=>Z(Ue.conversationId));return pe.length>0&&G.upsertMessages(pe,"offline",{applyChannelLifecycleEffects:true}),pe};$(ae.flatMap(x=>x.last===void 0?[]:[x.last])),await ka(ae.filter(x=>x.last===void 0&&!tn(x.channelState)).map(x=>({conversationType:"channel",conversationId:x.channelId})));let me=ae.filter(x=>!V.has(x.channelId)&&!tn(x.channelState)&&x.unreadCount>0&&x.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let x={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let pe of ae)V.has(pe.channelId)?x.staleRead+=1:tn(pe.channelState)?x.historyBlocked+=1:pe.unreadCount<=0?x.zeroUnread+=1:pe.readCursor===""&&(x.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:ae.length,eligibleChannelCount:me.length,staleReadSkippedCount:x.staleRead,historyBlockedSkippedCount:x.historyBlocked,zeroUnreadSkippedCount:x.zeroUnread,emptyReadCursorSkippedCount:x.emptyReadCursor,direction:0,contain:0,count:Vt}}});let Je=[],Ge=new Map(me.map(x=>[x.channelId,x.readCursor])),Mn=[];for(let x of me){let pe={conversationType:"channel",conversationId:x.channelId},Ue=R?.supportsChannelSyncCheckpoint!==true?void 0:Na$1(await R.getMeta(Ma$1(pe)),pe);if(!Z(x.channelId))continue;let Be=Ue?.startIndex===x.readCursor;Mn.push({channelId:x.channelId,baseIndex:Be?Ue.baseIndex:x.readCursor}),u$1.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:pe,data:{resumed:Be}}));}let Ln=[],He=[],Ye;if(await za({http:P,userId:l.userId,clientType:a$1,operationId:t,pulls:Mn,messageCount:Vt,signal:ye.signal,beforePage:()=>W.waitForBackground(ye.signal),isChannelCurrent:Z,yieldToEventLoop:b$1,decryptDeps:{...bn("offline"),onDecryptRecovery:x=>He.push(x)},prepareKeys:x=>An(x,{recoverExistingMessages:false}),onContentDecodeError:O,onReaction:x=>Ln.push(x),onPage:async(x,pe)=>{let Ue=Ln.splice(0),Be=He.splice(0),_o=(async()=>{for(let pt of pe.pulls){let Ga={conversationType:"channel",conversationId:pt.channelId},mt=()=>Z(pt.channelId);if(!mt())continue;let Lr=Be.filter(Fn=>Fn.conversation.conversationId===pt.channelId),Ha=()=>{Je.push(...$(x.filter(Fn=>Fn.conversationId===pt.channelId)));for(let Fn of Ue)mt()&&Fn.conversation.conversationId===pt.channelId&&wn(Fn);};if(R?.supportsChannelSyncCheckpoint!==true){Ha();for(let Fn of Lr)mt()&&L(Fn);continue}if(!await G.commitChannelSyncPage([Ga],Ha,mt,async()=>{if(Lr.length>0&&R.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Fn of Lr)await R.saveDecryptRecovery(Fn);})||!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 Fn of Lr)mt()&&Tr(Fn).catch(Xu=>n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:Xu}}));}})();Ee.add(_o);try{await _o;}finally{Ee.delete(_o);}}}).catch(x=>{Ye={cause:x};}),!f$1)return;let nn=ae.flatMap(x=>{let pe=x.last;if(pe===void 0||Xt(pe))return [];let Ue=pe.extensions?.historyCursor;return [{summary:x,last:pe,historyCursor:typeof Ue=="string"?Ue.trim():""}]}),un=(x,pe)=>`${x}:${pe}`,Sn=new Map,qn=new Set;for(let{summary:x,last:pe}of nn){let Ue=G.getConversationMessage({conversationType:"channel",conversationId:x.channelId},pe.id);if(Ue===void 0||!Xt(Ue))continue;let Be=un(x.channelId,pe.id);Sn.set(Be,Ue),qn.add(Be);}for(let x of Je)Xt(x)&&Sn.set(un(x.conversationId,x.id),x);let Gn=nn.filter(({summary:x,last:pe,historyCursor:Ue})=>Ue!==""&&!V.has(x.channelId)&&!tn(x.channelState)&&!Sn.has(un(pe.conversationId,pe.id))&&!vo.has(un(pe.conversationId,pe.id))),an=nn.filter(({summary:x,last:pe})=>!V.has(x.channelId)&&!tn(x.channelState)&&!qn.has(un(pe.conversationId,pe.id))&&Sn.has(un(pe.conversationId,pe.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:nn.length,decryptFailedLastCount:nn.filter(({last:x})=>x.encryption.decryptFailed===true).length,unknownContentLastCount:nn.filter(({last:x})=>x.contentType==="unknown"&&x.encryption.decryptFailed!==true).length,localRecoveredCount:qn.size,offlineRecoveredCount:an,contextRecoveryCount:Gn.length,staleReadSkippedCount:nn.filter(x=>V.has(x.summary.channelId)).length,historyBlockedSkippedCount:nn.filter(x=>tn(x.summary.channelState)).length,missingHistoryCursorCount:nn.filter(x=>x.historyCursor==="").length}}));let or=async({summary:x,last:pe,historyCursor:Ue})=>{try{if(await W.waitForBackground(ye.signal),!Z(x.channelId))return;let{message:Be}=await ut.loadMessageContext(x.channelId,Ue,l.userId,ye.signal),Wn=G.getConversationContext({conversationType:"channel",conversationId:x.channelId});if(!f$1||Wn?.type!=="channel"||Wn.channelState!==void 0&&tn(Wn.channelState))return;if(Be.conversationType!=="channel"||Be.conversationId!==x.channelId||Be.id!==pe.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${x.channelId}, messageId=${pe.id}\uFF09`);if(!Xt(Be)){if(Be.contentType==="unknown"&&Be.encryption.decryptFailed!==!0){vo.add(un(Be.conversationId,Be.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.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=${x.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:x.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Be},data:{messageId:pe.id}}));return}},Lt=[];for(let x of Gn){if(!f$1)break;Lt.push(await or(x));}for(let x of Lt)x!==void 0&&Sn.set(un(x.conversationId,x.id),x);let Yu=Lt.filter(x=>{if(x===void 0)return false;let pe=G.getConversationMessage({conversationType:"channel",conversationId:x.conversationId},x.id);return pe===void 0||!Xt(pe)});if($(Yu),Ye!==void 0)throw Ye.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:w.length,terminalProfileCount:w.filter(x=>q(x.channelState)).length,sessionCount:re.length,acceptedSessionCount:ae.length,sessionLastCount:ae.filter(x=>x.last!==void 0).length,recoveredSessionLastCount:nn.filter(({last:x})=>Sn.has(un(x.conversationId,x.id))).length,offlineMessageCount:Je.length}}));}let tr=null,To=false;function ku(){return tr!==null?(To=true,tr):(tr=(async()=>{let l;do{To=false,l=void 0;try{await _u();}catch(w){l=w;}}while(To);if(l!==void 0)throw l})().finally(()=>{tr=null;}),tr)}async function Oa(t,l=[]){if(!f$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88");await G.commitReceivedMessages(t,"offline",void 0,{events:l??[],apply:K=>xt.ingest(K,"offline")});let w=t.flatMap(K=>{let ne=N.get(m$1({conversation:{conversationType:K.conversationType,conversationId:K.conversationId},messageId:K.id}));return ne===void 0?[]:[ne]});if(await Promise.all(w),!f$1)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88")}let Ou=Eb({commitBatch:Oa,pullers:[Da$1("chat",Ca),Da$1("owner_chat",Da),wu()],domainState:G,emitter:n$1,logger:k,yieldToEventLoop:b$1});function xu(){return f$1&&j==="ready"&&qe&&we===0&&be.state==="authenticated"}async function xa$2(){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=Re.begin(),l=Te.begin(),w=Tu().catch(ne=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:ne}}),ne}),K=ku().catch(ne=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:ne}}),ne});we+=1;try{let se=(await Promise.allSettled([Ou.sync({rejectOnFailure:!0}),w,K])).find(re=>re.status==="rejected");if(se?.status==="rejected")throw se.reason}finally{l(),t(),we-=1,qe=be.state==="authenticated",H?.notifySchedulingChanged();}}async function Nu(){if(j==="ready")return;j="preparing";let t=await d$1.getLoginContext();if(f$1){if(t!==null){if(await Ru(t.userId),!f$1)return;i$1=t.userId;try{await g?.prepare(t.userId);}catch{n$1.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(!f$1)return;if(hn!==void 0&&hn.getUserPrivateKey(t.userId),R!==void 0)try{if(await R.open({namespace:t.userId}),ee=!0,!f$1)return;try{await U.hydrate();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!f$1||(await G.hydrate(()=>f$1),!f$1))return;for(let l of G.getSessions())l.title===""&&l.type!=="supergroup"&&G.refreshConversationProfile(l.id,l.type);if(await be.hydrateOutbox(()=>f$1),!f$1)return}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!f$1)return;if(fn!==void 0)for(let l of G.getSessions())l.type==="group"&&dt(l.id);}f$1&&(j="ready",i$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(j==="ready")return Promise.resolve();if(Kn!==null)return Kn;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),Kn=Nu().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 Lu(t){if($e)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!f$1||$e)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(Ne=true,be.state==="authenticated")return Promise.resolve();if(E$2!==null)return E$2;Q=t?.initialSync??"auto",xe=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:Q}}));let w=Ve;return E$2=(async()=>{await Na(),!(!f$1||!Ne||w!==Ve)&&(xr.start(),await be.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(K=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:K}})),K}).finally(()=>{E$2=null;}),E$2}function La$1(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),Ne=false,Ve+=1,Ea(),be.disconnect(t),xr.stop();}function Ua$1(t,l={}){if(Qe!==void 0)return Qe;let w,K;return Qe=new Promise((ne,se)=>{w=ne,K=se;}),Uu(t,l).then(w,K),Qe}async function Uu(t,l){let w=Date.now(),K;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),f$1=false,ye.abort(),W.dispose(),Te.dispose(),Re.dispose(),Eo.dispose(),l.notifyReplacement&&n$1.emit({type:"session:replaced"});let ne=Or.dispose(),se=H?.dispose();Yl(),Pu(),nr.dispose(),Ea(),So.dispose(),Po.dispose(),xt.dispose(),_a$2.dispose(),kr.dispose(),Ce.dispose(),M.dispose(),b.dispose();let re=be.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let me of Me)me.close();Me.clear(),_e+=1,be.markOutboxForLogout(t?.pendingMessages??"fail"),wa$2.dispose(),Ta$1.dispose(),ut.dispose(),dn.dispose(),zn.dispose(),Vn.dispose(),de.dispose();let V=U.dispose();F.dispose();let ae=G.invalidateAndDrainDraftOperations();oe.dispose(),yu(),Iu(),Cu(),Aa$1.dispose(),Ao.reset(),De?.clearAll(),Dt.clear(),Io.clear(),vo.clear(),La$1("im-logout"),(l.requireStorageClose||je?.owned===true)&&await Kn?.catch(()=>{});try{await re;}catch{n$1.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 ne;try{await g?.dispose(l.preserveUploadRecovery===!0);}catch(me){K=me,n$1.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 V,await se,await Promise.allSettled([...Ee]),await G.waitForChannelSyncPersistence(),await Promise.allSettled([...N.values(),...Yt.values()]),await Promise.all([...o$2.values()]),G.clearSession();let ce=t?.localData==="purge"?i$1:"",Y=ce===""?void 0:K,Z,$=true;if(R!==void 0)try{await R.close();}catch(me){$=false,ce!==""&&(Y=me),l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:ce===""?"\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:me}});}if(ce!==""&&$)try{D!==void 0?await D.purgeCurrentAccount({namespaceFactory:r,accountId:ce}):await fb$1(ce,{namespaceFactory:r}),Y===void 0&&(Z=ce);}catch(me){Y=me,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:me}});}if(j="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-w,data:{purgedAccountId:Z,purgeFailed:Y!==void 0}})),p$1(),ie(),Au(),$e=true,(l.requireStorageClose||je!==void 0)&&!$)throw new Error("Previous chat page could not close its account storage");return je?.stop(),{...Z===void 0?{}:{purgedAccountId:Z},...Y===void 0?{}:{purgeError:Y}}}function Fu(){return {sessionState:j,connectionState:be.state,...i$1!==""?{userId:i$1}:{},prepared:j==="ready",connectionDesired:Ne,authenticated:be.state==="authenticated",receiving:Re.receiving,syncing:Te.receiving}}function Ku(t){return n$1.subscribe(t)}function Bu(){return {connectionState:be.state,pendingOutbox:be.getPendingOutbox()}}function Gu(){return G.getConversationList()}On=async({conversation:t,newestLoaded:l,cursor:w,limit:K,signal:ne})=>{ne?.throwIfAborted();let{conversationId:se}=t,re=G.getConversationContext(t);if(re===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${se}\uFF09`);if(re.type==="direct"||re.type==="robot")return {messages:[],exhausted:true};if(re.type==="group"){if(re.groupState!==void 0&&re.groupState!=="active")return {messages:[],exhausted:true};let V=await d$1.getLoginContext();if(V===null)return {messages:[],exhausted:true};let ae=w===void 0?l?.serverTime??l?.createdAt:Ul(w,se);if(ae===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${se}, messageId=${l?.id??""}\uFF09`);let ce=await Ia({signal:ne,http:P,userId:V.userId,clientType:a$1,groupId:se,baseTime:ae,direct:2,limit:K,decryptDeps:_t("history"),prepareKeys:Tt,onReaction:wn});ne?.throwIfAborted(),ce.messages.length>0&&G.upsertMessages(ce.messages,"offline",{backfillOnly:true});let Y=Pr({conversationId:se,direction:"newer",baseTime:ae,batchSize:ce.batchSize,boundaryTime:ce.newestEntryTime,limit:K});return {messages:ce.messages,...Y}}if(re.type==="channel"){if(re.channelState!==void 0&&tn(re.channelState))return {messages:[],exhausted:true};let V=w??l?.extensions?.historyCursor;if(typeof V!="string"||V.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${se}, messageId=${l?.id??""}\uFF09`);let ae=_e,ce=Se(se),Y=await d$1.getLoginContext();if(Y===null)return {messages:[],exhausted:true};let Z=w===void 0?(await ut.loadMessageContext(se,V,Y.userId,ne)).context:await ut.loadNewerPage(se,V,Y.userId,ne);ne?.throwIfAborted();let $=G.getConversationContext(t);return !f$1||ae!==_e||ce!==Se(se)||$?.type!=="channel"||$.channelState!==void 0&&tn($.channelState)?{messages:[],exhausted:true}:(Z.messages.length>0&&G.upsertMessages(Z.messages,"offline",{backfillOnly:true}),{messages:Z.messages,exhausted:!Z.hasNewer,...!Z.hasNewer||Z.nextCursor===void 0?{}:{nextCursor:Z.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${re.type}`)};function Hu(t){let l=t.conversationId,w=i$1,K=_e,ne=Se(l),se,re;return async({readCursor:V,cursor:ae,signal:ce,isCurrent:Y})=>{let Z=W.enterForeground();try{let $=()=>{let He=G.getConversationContext(t);return f$1&&i$1===w&&Y()&&K===_e&&ne===Se(l)&&He?.type==="channel"&&(He.channelState===void 0||!tn(He.channelState))};if(ce.throwIfAborted(),!$()||ae!==void 0&&(se!==V||re===void 0))return;let me=await d$1.getLoginContext();if(ce.throwIfAborted(),me===null||me.userId!==w||!$())return;let Je=[],Ge=[],Mn=await S({http:P,userId:me.userId,clientType:a$1,channelId:l,index:ae??V,containAnchor:ae===void 0,signal:ce,decryptDeps:{...bn("history"),onDecryptRecovery:He=>Ge.push({...He,source:"history"})},prepareKey:He=>An([He],{recoverExistingMessages:!1}),onContentDecodeError:O,onReaction:He=>Je.push(He)});if(ce.throwIfAborted(),!$())return;if(ae===void 0){let He=Mn.messages.find(Ye=>Ye.extensions?.historyCursor===V);if(He===void 0)return;se=V,re=He.sortKey;}if(re===void 0||(Mn.messages.length>0&&G.upsertMessages(Mn.messages,"offline",{backfillOnly:!0}),!$()))return;for(let He of Je){if(!$())return;wn(He);}for(let He of Ge){if(!$())return;L(He);}return $()?{messages:Mn.messages.map(He=>{let Ye=G.getConversationMessage(t,He.id);if(Ye===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Ye}),readCursorSortKey:re,exhausted:!Mn.hasNewer,...Mn.nextCursor===void 0?{}:{nextCursor:Mn.nextCursor}}:void 0}finally{Z();}}}async function Fa(){let t=await d$1.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await wo(t.userId),w=await Ea$1({http:P,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:wn}),K=await Fa$1({http:P,userId:t.userId,clientType:a$1,decryptDeps:l,onReaction:wn}),ne=[...w,...K];return G.upsertMessages(ne,"offline"),ne}async function ju(){await xa$2();}let zu=2;function Nn(t){let l=te({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Vu(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function qu(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?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o$1||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$2(t){if(!f$1)throw Nn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Wu(t){let l=t?.conversationType,w=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 w!="string"||w.trim()==="")throw Nn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:w.trim()})}function Nt(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 $u(t){let l=Wu(t);if(Ka$2(l),G.getSession(l)!==void 0)return l;let w=Re.begin(),K=false,ne=n$1.subscribe(re=>{re.type==="session:removed"&&re.conversation.conversationType===l.conversationType&&re.conversation.conversationId===l.conversationId&&(K=true);}),se=()=>{if(Ka$2(l),K)throw Nn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let Y=zn.peekItem("individual",l.conversationId);if(Y!==void 0)return G.prepareConversation(Nt(l,{title:Y.displayName||Y.cardDisplayName,...Y.avatarUrl===void 0?{}:{avatar:Y.avatarUrl}})),l;let Z=await b.getRelationship(l.conversationId);if(se(),Z!=="friend")throw Nn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:Z})});let $=await b.getProfile(l.conversationId);if(se(),$===null||$.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return G.prepareConversation(Nt(l,{title:$.remark??$.nickname,...$.avatar===void 0?{}:{avatar:$.avatar},...$.muted===void 0?{}:{muted:$.muted}})),l}if(l.conversationType==="group"){let Y=G.isMembershipTerminated(l),Z=zn.peekItem("group",l.conversationId);if(Z!==void 0&&!Y)return G.prepareConversation(Nt(l,{title:Z.displayName||Z.cardDisplayName,...Z.avatarUrl===void 0?{}:{avatar:Z.avatarUrl},groupState:"active"})),l;if(En===void 0)throw Nn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let $=await En.getGroupProfile(l.conversationId,Y?{forceRefresh:!0}:void 0);if(se(),$===null||$.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if($.isInGroup===!1||Y&&$.isInGroup!==!0||$.status!==void 0&&$.status!==zu)throw Nn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...$.status===void 0?{}:{status:$.status},...$.isInGroup===void 0?{}:{isInGroup:$.isInGroup}})});return G.prepareConversation(Nt(l,{title:$.name,...$.avatar===void 0?{}:{avatar:$.avatar},...$.muted===void 0?{}:{muted:$.muted},groupState:"active"}),{membershipConfirmed:Y}),Y&&(se(),Qt({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let Y=Vn.peek(l.conversationId);return G.prepareConversation(Nt(l,{title:Y?.displayName??l.conversationId,...Y?.avatarUrl===void 0?{}:{avatar:Y.avatarUrl}})),l}if(Dn===void 0)throw Nn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let re=G.isMembershipTerminated(l),V=await Dn.getProfile(l.conversationId,re?{forceRefresh:!0}:void 0);if(se(),V===null||V.id!==l.conversationId)throw Nn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let ae=V.channelState==="active"||V.channelState==="muted",ce=V.channelState==="muted"&&V.accessSnapshot?.allMembersMuted===!0&&V.role!=="owner"&&V.role!=="admin";if(!ae||ce)throw Nn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:V.channelState,role:V.role,hiddenByAllMemberMute:ce})});return G.prepareConversation(Nt(l,{title:V.name,...V.avatar===void 0?{}:{avatar:V.avatar},...V.muted===void 0?{}:{muted:V.muted},channelState:V.channelState,channelPermissions:V.permissions,...V.accessSnapshot===void 0?{}:{channelAccessSnapshot:V.accessSnapshot},...V.permissions.sendMessages?{}:{sendDisabledReason:`channel_${V.channelState}`}}),{membershipConfirmed:re}),re&&(se(),Qt({conversationType:"channel",conversationId:l.conversationId})),l}catch(re){if(Vu(re))throw re;let V=qu(re);throw Nn({...V,conversation:l,cause:re})}finally{ne(),w();}}let rr={...Od({...h$1===void 0?{}:{coreClient:h$1},authProvider:d$1,http:P,resolveInput:Ie,domainState:G,operations:{list:Gu,pullOffline:Fa,sync:ju,prefetchRecent:(t,l)=>H.prefetchRecent(t,l)},beforeDeleteConversation:Bn,terminateConversationSending:(t,l)=>be.terminateConversationSending(t,l),resetConversationBackground:t=>de.api.resetBackground(t),reportStorageError:(t,l)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>be.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:$u,getContext:t=>G.getConversationContext(t)};function Ju(t,l=true){let w=new AbortController,K={...t,resumeMedia(){!l||!f$1||w.signal.aborted||be.state!=="authenticated"||t.ref.conversationType==="robot"||be.resumePausedMediaUploads(t.ref,w.signal).catch(()=>{f$1&&!w.signal.aborted&&n$1.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(){w.abort(),t.close(),Me.delete(K);}};return lo(K,t),Me.add(K),l&&K.resumeMedia(),K}function Nr(t,l,w=true){if(!f$1)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()),Ju(t,w)}async function Ba$1(t,l={},w){if(!f$1)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let K=H?.enterForeground(t),ne=W.enterForeground(),se=Re.begin();try{let re={beginReceiving:Re.begin,domainState:G,invalidateHistory:Bn,emitter:n$1,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,sendLiveRoom:ze.operations.sendLiveRoom,replaceVideo:ze.operations.replaceInterruptedVideo,replaceFile:ze.operations.replaceInterruptedFile,forwardMessages:ze.operations.forwardMessages,recallMessage:ze.operations.recallMessage,editMessage:ze.operations.editMessage,setReaction:({conversation:V,parentMessageId:ae,emoji:ce,action:Y})=>{if(V.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let Z={conversationType:V.conversationType,conversationId:V.conversationId};return Y==="toggle"?xt.toggle({conversation:Z,parentMessageId:ae,emoji:ce}):xt.set({conversation:Z,parentMessageId:ae,emoji:ce,action:Y==="add"?0:1})},markRead:ze.operations.markRead,markConversationRead:ze.operations.markConversationRead,markVisibleMessages:ze.operations.markVisibleMessages,markDirectMediaConsumed:ze.operations.markDirectMediaConsumed,prepareMediaPreview:Ke,getSelfId:()=>i$1,isOutboxOwned:V=>be.getPendingOutbox().some(ae=>ae.id===V),hasOutboxForConversation:V=>be.getPendingOutbox().some(ae=>ae.conversationType===V.conversationType&&ae.conversationId===V.conversationId),resolveSearchHistoryAnchor:oe.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let V={conversationType:"direct",conversationId:t.conversationId},ae=await rl(V,{...re,getRelationship:b.getRelationship,shouldCheckRelationship:()=>be.state==="authenticated",appendContactRequiredTextFailure:Y=>G.appendDirectContactRequiredTextFailure({conversationId:Y.conversationId,senderId:i$1,text:Y.text,...Y.refMessageId===void 0?{}:{refMessageId:Y.refMessageId}}),setMuted:(Y,Z)=>rr.setMuted(Y,Z),fetchMessagesByIdBatch:Y=>Xl(V,Y)},l),ce=Nr(ae,l.signal,w!=="read");return _r(V),ce}case "group":{let V={conversationType:"group",conversationId:t.conversationId},ae=await ol(V,{...re,getSendPermissionError:Y=>{let Z=G.getConversationContext(V),$=Z?.type==="group"?Z.groupState:"unknown";if(!($===void 0||$==="active"))return te({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:Y,retryable:!1,conversation:V,details:Object.freeze({groupState:$})})},setMuted:(Y,Z)=>rr.setMuted(Y,Z),fetchMessagesByIdBatch:Y=>Ca$1(V.conversationId,Y)},l),ce=Nr(ae,l.signal,w!=="read");return _r(V),ce}case "channel":{let V={conversationType:"channel",conversationId:t.conversationId},ae=await sl(V,{...re,loadEntryUnreadPage:Hu(V),getSelfId:()=>i$1,deleteMessageForEveryone:be.deleteChannelMessageForEveryone,reconcilePage:bu.reconcilePage,getSendPermissionError:Y=>{let Z=G.getConversationContext(V),$=Z?.type==="channel"&&Z.channelState!==void 0?Z.channelState:"unknown_restricted",me=Ka({channelState:$,nowMs:Date.now(),...Z?.type!=="channel"||Z.channelAccessSnapshot===void 0?{}:{snapshot:Z.channelAccessSnapshot},...Z?.type!=="channel"||Z.channelPermissions===void 0?{}:{permissions:Z.channelPermissions}});if(!(me.channelState==="active"&&me.permissions.sendMessages))return te({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:Y,retryable:!1,conversation:V,details:Object.freeze({channelState:me.channelState,...me.muteReason===void 0?{}:{muteReason:me.muteReason}})})},setMuted:(Y,Z)=>rr.setMuted(Y,Z),fetchMessagesByIdBatch:Y=>ba(V.conversationId,Y)},l),ce=Nr(ae,l.signal,w!=="read");return _r(V),ce}case "robot":{let V={conversationType:"robot",conversationId:t.conversationId},ae=await al(V,{...re,setMuted:(ce,Y)=>rr.setMuted(ce,Y)},l);return Nr(ae,l.signal,w!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{se(),K?.(),ne();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await ze.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Ba$1,localData:At,directory:zn.search,robots:Vn.api,search:oe.api,applications:M.api,expressions:Et.api,sessionFavorites:fo.api,outbox:_a$2.api,drafts:F.api,connection:Ld({operations:{prepare:Na,connect:Lu,disconnect:La$1,subscribe:Ku,getSnapshot:Bu,getLifecycle:Fu},getState:()=>be.state}),conversations:rr,settings:U.api,push:nr.api,contact:b,group:jc({directory:zn.groups,...En===void 0?{}:{profile:En},...h$1===void 0?{}:{coreClient:h$1},...ve===void 0?{}:{avatarTransfer:ve},domainState:{...Zt,prepareConversation:t=>G.prepareConversation(t)},emitter:n$1,pinned:wa$2.operations}),channel:_d({directory:zn.channels,...Dn===void 0?{}:{channelProfile:Dn},...Pe===void 0?{}:{channelMembers:Pe},...st===void 0?{}:{channelMentionMembers:st},mentionCandidates:dn.api,applications:ut.applications,pinned:Ta$1.operations,...h$1===void 0?{}:{coreClient:h$1},...ve===void 0?{}:{avatarTransfer:ve},crypto:fe,domainState:{prepareConversation:t=>G.prepareConversation(t),setChannelRestriction:G.setChannelRestriction,removeConversationForMembershipTermination:Zt.removeConversationForMembershipTermination,updateConversationProfile:G.updateConversationProfile,refreshConversationProfile:G.refreshConversationProfile},emitter:n$1,...De===void 0?{}:{cacheCreatedSecretKey:(t,l)=>De.primeChannelKey(t,l)},getSelfUserId:async()=>i$1!==""?i$1:(await d$1.getLoginContext())?.userId??""}),media:kr.api,calls:Bd(So),groupCalls:bl(Po),teardown:Ua$1}}function Tf(e){let n=_f(e);return Gl(Hl(n),e.coreApi!==void 0)}function ev(e){return Hl(Df(e))}function _f(e){return {...Kl(e),...e.coreApi===void 0?{}:{coreClient:Bl(e.authProvider,e.coreApi)}}}function Kl(e){let{authProvider:n,cache:r,clientType:c,connection:a,debug:d,endpointProvider:i,expressions:u,media:f,onRequestError:g,uploadRecovery:C}=e;return {authProvider:n,onRequestError:g,cache:r,clientType:c,connection:a,debug:d,endpointProvider:i,expressions:u,media:f,uploadRecovery:C}}function Df(e){let{adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:i,coreApi:u,coreClient:f,directory:g,expressionProvider:C,sessionFavoriteProvider:h,http:P,network:v,profile:D,groupApplications:R,transport:N}=e;return {...Kl(e),adapters:n,channelJoinApplications:r,channelMembers:c,channelMentionMembers:a,channelProfile:d,contactApplications:i,directory:g,expressionProvider:C,sessionFavoriteProvider:h,...f!==void 0?{coreClient:f}:u===void 0?{}:{coreClient:Bl(e.authProvider,u)},http:P,network:v,profile:D,groupApplications:R,transport:N}}function Bl(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 Gl(e,n){let r=dd({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),c={clearCache:()=>e.media.clearCache(),getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:(s,o)=>o===void 0?e.media.cancel(s):e.media.cancel(s,o),retry:(s,o)=>e.media.retry(s,o),pause:s=>e.media.pause(s),resume:s=>e.media.resume(s),getUploadRecovery:s=>e.media.getUploadRecovery(s),resumeUpload:(s,o)=>e.media.resumeUpload(s,o),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(te({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function d(s,o,m){if(!n)return a(s);try{return await o()}catch(S){throw Zo(S,s,m)}}function i(s,o,m){if(!n)throw te({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:m});try{return o()}catch(S){throw Zo(S,s,m)}}let u,f=s=>d("contacts.getRelationship",()=>e.contacts.getRelationship(s)),g=(s,o)=>d("groups.getProfile",async()=>{let m=await e.groups.getProfile(s,o);return m===null?null:Md(s,m)},s),C=(s,o)=>d("channels.getProfile",async()=>{let m=await e.channels.getProfile(s,o);return m===null?null:Sd(s,m)},s),h={listFirstPage:s=>d("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>d("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,o)=>d("contacts.getProfile",async()=>{let m=await e.contacts.getProfile(s,o);return m===null?null:bd(s,m)}),getRelationship:async s=>{let o=s.trim(),m={conversationType:"direct",conversationId:o},S=u?.beginProjectionUpdate(m),T=await f(s);return S!==void 0&&u?.updateRelationshipProjection(o,T,S),T},setRemark:(s,o)=>d("contacts.setRemark",()=>e.contacts.setRemark(s,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(m=>({countryCode:m.countryCode,mobile:m.mobile}))}})),searchUser:s=>d("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,o)=>d("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,o)),blockUser:s=>d("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),listBlocked:()=>d("contacts.listBlocked",()=>e.contacts.listBlocked()),unblockUser:s=>d("contacts.unblockUser",()=>e.contacts.unblockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,o)=>d("contacts.reportUser",()=>e.contacts.reportUser(s,o),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>d("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},P={search:s=>d("directory.search",()=>e.directory.search(s))},v={listFirstPage:s=>d("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>d("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>d("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>d("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>d("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>a("groups.mentions.listAll"),refreshAll:()=>a("groups.mentions.refreshAll")},getProfile:async(s,o)=>{let m=u?.beginProjectionUpdate(s),S=await g(s,o);return m!==void 0&&u?.updateGroupProfileProjection(s,S,m),S},updateName:(s,o)=>d("groups.updateName",()=>e.groups.updateName(s,o),s),updateAvatar:(s,o)=>d("groups.updateAvatar",()=>e.groups.updateAvatar(s,o),s),setMyNickname:(s,o)=>d("groups.setMyNickname",()=>e.groups.setMyNickname(s,o),s),updateVerification:(s,o,m)=>d("groups.updateVerification",()=>e.groups.updateVerification(s,o,m),s),requestJoin:(s,o)=>d("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,o),s),inviteMembers:(s,o)=>d("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("groups.removeMember",()=>e.group.removeMember(s.conversationId,o),s),transferOwnership:(s,o)=>d("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("groups.leave",()=>e.group.leave(s.conversationId,o),s),peekPinnedMessage:s=>i("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(s.conversationId);return o===null?null:ao(s,o)},s),getPinnedMessage:s=>d("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(s);return o===null?null:ao(s,o)},s),pinMessage:(s,o)=>d("groups.pinMessage",async()=>{let m=await e.groups.pinMessage(s,o);return ao(s,m)},s),unpinMessage:s=>d("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},D={listFirstPage:s=>d("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>d("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>d("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>d("channels.create",()=>e.channels.create(s)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>a("channels.mentions.getCachedPage"),prefetchFirstPage:()=>a("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>a("channels.mentions.refreshFirstPage"),listFirstPage:()=>a("channels.mentions.listFirstPage"),listNextPage:()=>a("channels.mentions.listNextPage"),searchFirstPage:()=>a("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>a("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>a("channels.mentions.searchNextPage")},getProfile:async(s,o)=>{let m=u?.beginProjectionUpdate(s),S=await C(s,o);return m!==void 0&&u?.updateChannelProfileProjection(s,S,m),S},updateName:(s,o)=>d("channels.updateName",()=>e.channel.updateName(s.conversationId,o),s),updateDescription:(s,o)=>d("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,o),s),updateAvatar:(s,o)=>d("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,o),s),updateVerification:(s,o,m)=>d("channels.updateVerification",()=>e.channels.updateVerification(s,o,m),s),requestJoin:(s,o)=>d("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,o),s),joinByInviteCode:(s,o)=>d("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,o),s),setAllMuted:(s,o)=>d("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,o),s),setMemberPrivateChatDisabled:(s,o)=>d("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,o),s),setMyNickname:(s,o)=>d("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,o),s),setMemberNickname:(s,o,m)=>d("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,o,m),s),inviteMembers:(s,o)=>d("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,o),s),removeMember:(s,o)=>d("channels.removeMember",()=>e.channel.removeMember(s.conversationId,o),s),addAdmin:(s,o)=>d("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,o),s),removeAdmin:(s,o)=>d("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,o),s),transferOwnership:(s,o)=>d("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,o),s),leave:(s,o)=>d("channels.leave",()=>e.channel.leave(s.conversationId,o),s),dismiss:s=>d("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>i("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(s.conversationId);return o===null?null:io(s,o)},s),getPinnedMessage:s=>d("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(s);return o===null?null:io(s,o)},s),pinMessage:(s,o)=>d("channels.pinMessage",async()=>{let m=await e.channels.pinMessage(s,o);return io(s,m)},s),unpinMessage:s=>d("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},R=cd({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let o=e.conversations.getContext(s);return o===void 0?void 0:no({...o,draft:null})},subscribeConversations:s=>r.api.subscribe(o=>s(o.items)),subscribeContext:s=>e.connection.subscribe(o=>{o.type==="conversation-context:updated"&&o.conversation.conversationType!=="supergroup"&&s({conversationType:o.conversation.conversationType,conversationId:o.conversation.conversationId});}),getRelationship:f,getGroupProfile:g,getChannelProfile:C});u=R;let N=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{R.reset();try{await e.session.logout(s);}finally{R.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function y(s,o={}){let m=e.conversations,S=e.openConversation,T=await m.ensureOpenableConversation(s);return T.conversationType==="direct"?S({conversationType:"direct",conversationId:T.conversationId},o):T.conversationType==="group"?S({conversationType:"group",conversationId:T.conversationId},o):T.conversationType==="robot"?S({conversationType:"robot",conversationId:T.conversationId},o):S({conversationType:"channel",conversationId:T.conversationId},o)}let _={get session(){return N},get capabilities(){return R.api},get conversations(){return r.api},get directory(){return P},get robots(){return e.robots},get contacts(){return h},get groups(){return v},get channels(){return D},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return c},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:y,dispose:async()=>{R.dispose(),r.dispose(),await e.dispose();}};return ea(_,()=>Ed(e)),_}function nv(e,n){return Gl(e,n.coreApiAvailable)}function Hl(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 c=yb(),a=0,d=()=>Fl(e,c,r,a++),i=d(),u=false,f;async function g(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let o=i;await o.teardown(s),!u&&i===o&&(i=d());}async function C(){if(u)throw tt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=i,o=await s.localData.getInfo();if(u||i!==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(S){throw !u&&i===s&&(i=d()),tt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:o.accountScope,cause:S})}if(!u&&i===s&&(i=d()),m.purgedAccountId!==o.accountScope)throw tt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:o.accountScope,cause:m.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});c.emit({type:"local-data:cleared",accountScope:o.accountScope,category:"all"});}let h=vd({getRuntime:()=>i.localData,purgeCurrentAccount:C}),P={start:s=>i.connection.connect(s),stop:async s=>{i.connection.disconnect(s);},logout:g,getSnapshot:()=>i.connection.getLifecycle(),subscribe:s=>(s(i.connection.getLifecycle()),i.connection.subscribe(o=>{(o.type==="connection:changed"||o.type==="receiving:changed"||o.type==="syncing:changed")&&s(i.connection.getLifecycle());}))},v=yd({subscribeCore:s=>i.connection.subscribe(s),getLifecycleSnapshot:()=>i.connection.getLifecycle(),getConversation:s=>{let o=i.conversations.list().find(m=>m.type===s.conversationType&&m.id===s.conversationId);return o===void 0?void 0:no(o)},resolveContactApplicationAnswer:async s=>{let o=i,m=await o.contact.resolveApplicationAnswer(s.peerId,s.messageId);return i===o?m:null}}),D={listFirstPage:s=>i.contact.listFirstPage(s),listNextPage:s=>i.contact.listNextPage(s),getProfile:(s,o)=>i.contact.getProfile(s,o),getRelationship:s=>i.contact.getRelationship(s),setRemark:(s,o)=>i.contact.setRemark(s,o),searchUser:s=>i.contact.searchUser(s),requestFriendship:(s,o)=>i.contact.requestFriendship(s,o),blockUser:s=>i.contact.blockUser(s),listBlocked:()=>i.contact.listBlocked(),unblockUser:s=>i.contact.unblockUser(s),reportUser:(s,o)=>i.contact.reportUser(s,o),deleteFriendship:s=>i.contact.deleteFriendship(s)},R={listFirstPage:s=>i.group.listFirstPage(s),listNextPage:s=>i.group.listNextPage(s),uploadAvatar:s=>i.group.uploadAvatar(s),create:s=>i.group.create(s),createFaceToFace:()=>i.group.createFaceToFace(),get mentions(){return i.group.mentions},getProfile:(s,o)=>i.group.getProfile(s.conversationId,o),updateName:(s,o)=>i.group.updateName(s.conversationId,o),updateAvatar:async(s,o)=>{await i.group.updateAvatar(s.conversationId,o);},setMyNickname:(s,o)=>i.group.setMyNickname(s.conversationId,o),updateVerification:(s,o,m)=>i.group.updateVerification(s.conversationId,o,m),requestJoin:(s,o)=>i.group.requestJoin(s.conversationId,o),joinByInviteCode:(s,o)=>i.group.joinByInviteCode(s.conversationId,o),getPinnedMessage:s=>i.group.getPinnedMessage(s.conversationId),pinMessage:(s,o)=>i.group.pinMessage({groupId:s.conversationId,messageId:o}),unpinMessage:s=>i.group.unpinMessage(s.conversationId)},N={listFirstPage:s=>i.channel.listFirstPage(s),listNextPage:s=>i.channel.listNextPage(s),uploadAvatar:s=>i.channel.uploadAvatar(s),create:s=>i.channel.create(s),get mentions(){return i.channel.mentions},getProfile:(s,o)=>i.channel.getProfile(s.conversationId,o),updateVerification:(s,o,m)=>i.channel.updateVerification(s.conversationId,o,m),requestJoin:(s,o)=>i.channel.requestJoin(s.conversationId,o),joinByInviteCode:(s,o)=>i.channel.joinByInviteCode(s.conversationId,o),setAllMuted:(s,o)=>i.channel.setAllMuted(s.conversationId,o),setMemberPrivateChatDisabled:(s,o)=>i.channel.setMemberPrivateChatDisabled(s.conversationId,o),setMyNickname:(s,o)=>i.channel.setMyNickname(s.conversationId,o),setMemberNickname:(s,o,m)=>i.channel.setMemberNickname(s.conversationId,o,m),dismiss:s=>i.channel.dismiss(s.conversationId),getPinnedMessage:s=>i.channel.getPinnedMessage(s.conversationId),pinMessage:(s,o)=>i.channel.pinMessage({channelId:s.conversationId,messageId:o}),unpinMessage:s=>i.channel.unpinMessage(s.conversationId)};function y(){return f!==void 0||(u=true,f=i.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>c.clear())),f}let _={get session(){return P},get connection(){return i.connection},get conversations(){return i.conversations},get directory(){return i.directory},get robots(){return i.robots},get contacts(){return D},get groups(){return R},get channels(){return N},get events(){return v},get contact(){return i.contact},get group(){return i.group},get channel(){return i.channel},get media(){return i.media},get calls(){return i.calls},get groupCalls(){return i.groupCalls},get settings(){return i.settings},get push(){return i.push},get outbox(){return i.outbox},get localData(){return h},get search(){return i.search},get applications(){return i.applications},get expressions(){return i.expressions},get sessionFavorites(){return i.sessionFavorites},get drafts(){return i.drafts},get openConversation(){return i.openConversation},logout:g,dispose:y};return ea(_,()=>i.advancedMessageDiagnostics),_}var kf=new TextEncoder;function jl(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 zl(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))zl(r,n);return Object.freeze(e)}function Of(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:zl(n),estimatedBytes:kf.encode(r).byteLength}}catch{return}}function xf(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 Nf(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&&xf(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 Lf(e={}){let n=jl(e.maxRecords,200,"maxRecords"),r=jl(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),c=new Set,a=[],d=0,i=0,u=false;function f(h){let P=a.map(v=>v.record).filter(v=>h===void 0||Nf(v,h));return Object.freeze({records:Object.freeze(P),droppedCount:i,estimatedBytes:d,disposed:u})}function g(){let h=f();for(let P of c)try{P(h);}catch{}}function C(){a.length=0,d=0,i=0;}return {write(h){if(u)return;let P=Of(h);if(P===void 0||P.estimatedBytes>r){i+=1,g();return}for(a.push(P),d+=P.estimatedBytes;a.length>n||d>r;){let v=a.shift();if(v===void 0)break;d-=v.estimatedBytes,i+=1;}g();},getSnapshot:f,subscribe(h){if(u)return ()=>{};c.add(h);let P=true;return ()=>{P&&(P=false,c.delete(h));}},clear(){u||(C(),g());},dispose(){u||(u=true,C(),c.clear());}}}function Uf(e){let n=ab({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,c;function a(i){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(i.file instanceof Blob))return Promise.reject(new Ya("upload-source-invalid","Resource upload requires a File or Blob"));if(i.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let f=new AbortController,g=()=>f.abort();i.signal?.addEventListener("abort",g,{once:true});let C=true,h=()=>{if(f.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},P=i.filename??(typeof File<"u"&&i.file instanceof File?i.file.name:void 0),v=(async()=>{try{let D=await u.uploadResource({data:i.file,kind:i.kind,...P===void 0?{}:{filename:P},...i.file.type===""?{}:{mimeType:i.file.type},signal:f.signal,onProgress:R=>{C&&!f.signal.aborted&&i.onProgress?.(R);}});if(h(),D.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:D.url}}catch(D){throw D instanceof Ya&&D.code==="multipart-abort-failed"||h(),D}finally{C=false,i.signal?.removeEventListener("abort",g);}})();return r.set(f,v),v.then(()=>r.delete(f),()=>r.delete(f)),v}function d(){if(c!==void 0)return c;n=void 0;let i=[...r.values()];for(let u of r.keys())u.abort();return c=Promise.allSettled(i).then(()=>{}),c}return {upload:a,dispose:d}}export{Qu as a,ud as b,ke as c,$r as d,cp as e,Xr as f,qc as g,Wc as h,Ho as i,jo as j,Yc as k,Qr as l,Vo as m,eo as n,Tf as o,ev as p,nv as q,Lf as r,Uf as s};