k2-im 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +225 -96
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +4 -2
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +296 -152
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-2EB5ZELD.js +1 -0
- package/dist/chunk-54HSPG2Z.js +2 -0
- package/dist/chunk-5KHSKIN3.js +2 -0
- package/dist/{chunk-32UUIS7N.js → chunk-A5WA7S7J.js} +1 -1
- package/dist/{chunk-NWBEXP2C.js → chunk-I7RLO6MT.js} +1 -1
- package/dist/chunk-SRMSBFOP.js +7 -0
- package/dist/chunk-WISC6Q2S.js +2 -0
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +283 -153
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +76 -10
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-75GNCLQQ.js +0 -2
- package/dist/chunk-CLO7E7BU.js +0 -1
- package/dist/chunk-HUSCO5JM.js +0 -7
- package/dist/chunk-MSYNU72L.js +0 -2
- package/dist/chunk-QT3PJWLT.js +0 -2
package/dist/chunk-QT3PJWLT.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {B,$a,Xa,gb,fb,C,p,t,u,w,A,Sa,s,l,m,i,Wa,Va,e,h,f,a,fa,Ha as Ha$1,za,Aa,T,ma,Za as Za$1,cb as cb$1,db as db$1,b as b$1,ab as ab$1,bb as bb$1,v,_,$,U,Z,W,Y,V,da,Na as Na$1,sa,ea,Oa as Oa$1,ta,Fa,Ga,Ba,Ca,Ka,aa,c,Ma,ba,ca,Pa as Pa$1,La,X,Ia,Da as Da$1,Ea,n as n$1,o,ga as ga$1,wa as wa$1,S,va,ua,g,xa as xa$1,ya as ya$1,Qa as Qa$1,d as d$1,Ra as Ra$1,x as x$1,na as na$1,j as j$1,q,y as y$1,z as z$1,k as k$1,r,ka,ja,ia,ha as ha$1,pa as pa$1,oa as oa$1,la,R,N,M,L,K,J,I,Q as Q$1,P,ra,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja as Ja$1,eb as eb$1}from'./chunk-HUSCO5JM.js';import {b,sb,xa,ub,tb,Na,Ha,qb,nb,ob,mb,pb,Za,_a,$a as $a$1,ab,na,oa,pa,qa,Qa,Ra,ib,db,jb,cb,bb,kb,gb as gb$1,lb,fb as fb$1,eb,n,z,hb,Oa,Da,Ta,Sa as Sa$1,Xa as Xa$1,Wa as Wa$1,Ya,vb,rb,Ab,wa,j,Pa,x,y,A as A$1,B as B$1,Va as Va$1,Ca as Ca$1,Ba as Ba$1,ga,ea as ea$1,k,d,c as c$1,D,O,ya,h as h$1,w as w$1,Ja,Ia as Ia$1,ma as ma$1,Ka as Ka$1,o as o$1,v as v$1,t as t$1,p as p$1,C as C$1,Ua,ha,q as q$1,E,m as m$1}from'./chunk-75GNCLQQ.js';async function Pu(e){let n=b(e.fromPrefix),r=b(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let d={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(d.fromPrefix===d.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(d);}catch(o){try{await e.migrator.rollback(d,o);}catch(c){throw new AggregateError([o,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw o}}var Re=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 Fn(e,n,r){return n===39081?new Re({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new Re({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Un(e,n){return n instanceof Re?n:n instanceof c?new Re({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new Re({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Rr(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function Au(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function Mt(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function Eu(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(Mt(e.image))},...e.video===void 0?{}:{video:Object.freeze(Mt(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Mt(e.voice))},...e.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(Mt(n))))})},...e.file===void 0?{}:{file:Object.freeze(Mt(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(Mt(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function wr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Eu(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:Au(e.reactions)}})}function St(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:ea$1(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function Q(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function Jt(e,n,r){return Q({...{"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 Dn(e,n,r){return Q({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function Pt(e,n){let r=new Uint8Array(await n.arrayBuffer()),d=typeof File<"u"&&n instanceof File?n.name:void 0,c=(await e.uploadAvatar({data:r,...d===void 0?{}:{filename:d},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(c==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return c}var Ru="IM_SDK_GROUP_NOT_MEMBER",wu="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Tu="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",_u="IM_SDK_GROUP_MANAGEMENT_FAILED";function mc(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Du(e,n,r){if(mc(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?Ru:d===39029?wu:d===39033?Tu:e instanceof d$1?_u:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$1?"contract":e instanceof c?"network":d===39029?"permission":"state",i=Q({code:o,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"group",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function Zn(e,n,r){try{return await r()}catch(d){throw Du(d,e,n)??d}}var pc=39005,ku=39057,Ou=39061;function fc(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"group",conversationId:f});function c(f){r.set(f,(r.get(f)??0)+1);}function i(f){if(!d||n.has(f))return;let S=r.get(f)??0,N=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let A=await da({client:e.coreClient,groupId:f});if(!d||(r.get(f)??0)!==S)return;if(!A.ok){e.emitter.emit({type:"error",error:{scope:"http",code:A.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${A.message}`,cause:{conversationId:f}}});return}if(A.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(x(A.data.messageContent,{conversationId:f}),"reconcile");}catch(A){if(!d||(r.get(f)??0)!==S)return;let k=A instanceof h$1||A instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:k,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:A}});}})();n.set(f,N),N.finally(()=>{n.get(f)===N&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:i}),y$1=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated"||f.message.conversationType!=="group")return;let S=f.message.body.system?.pinnedMessageAction;(S?.type==="pin"||S?.type==="unpin")&&c(f.message.conversationId),u.handleMessage(f.message);});function g(f,S){if(S.trim()==="")throw new Re({operation:f,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let N=e.domainState.getConversationContext(o(S));if(N===void 0)throw new Re({operation:f,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(N.type!=="group")throw new Re({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function b(f,S){if(e.coreClient===void 0)throw new Re({operation:f,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,S),e.coreClient}return {operations:{pinMessage:async({groupId:f,messageId:S})=>{let N=b("pin",f),A=e.domainState.getConversationMessage(o(f),S);if(A===void 0)throw new Re({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(A.conversationType!=="group")throw new Re({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(A.conversationId!==f)throw new Re({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:k,pinnedMessage:v}=y(A),O=await sa({client:N,groupId:f,messageContent:k});if(!O.ok)throw Fn("pin",O.code,O.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new Re({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(k){throw Un("pin",k)}},unpinMessage:async f=>{let S=b("unpin",f);try{let N=await Na$1({client:S,groupId:f});if(!N.ok)throw Fn("unpin",N.code,N.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(N){throw Un("unpin",N)}},getPinnedMessage:async f=>{let S=b("get",f);try{let N=await da({client:S,groupId:f});if(!N.ok)throw Fn("get",N.code,N.message);if(c(f),N.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let A=x(N.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(A,"reconcile");let k=e.domainState.getPinnedMessage(o(f));if(k===void 0)throw new Re({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return k}catch(N){throw Un("get",N)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y$1());}}}function gc(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,o=new Map;function c$1(a){if(a.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(a.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function i(a){let p=[],E=new Set;for(let R of a){if(R.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");E.has(R.userId)||(E.add(R.userId),p.push(Object.freeze({userId:R.userId,displayName:R.nickName.trim()===""?R.userId:R.nickName})));}return Object.freeze(p)}async function u(a,p){c$1(a);let E=e.profile?.listGroupMembers;if(E===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let R=a.conversationId,B=r.get(R);if(!p&&B!==void 0)return B;let re=o.get(R);if(re!==void 0&&(!p||re.refresh))return re.promise;let W=(d.get(R)??0)+1;d.set(R,W);let ae=Promise.resolve().then(()=>E(R,p?{forceRefresh:true}:void 0)).then(ue=>{if(ue===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let I=i(ue);return d.get(R)===W&&r.set(R,I),I}).finally(()=>{o.get(R)?.promise===ae&&o.delete(R);});return o.set(R,{refresh:p,promise:ae}),ae}function y(a,p,E,R){let re=Q({code:a,category:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":a==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...E===void 0?{}:{details:E},...R===void 0?{}:{cause:R}});return Object.assign(new Error(p),re)}function g(a,p,E,R){let B=Q({code:a,category:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":a==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...E===void 0?{}:{details:E},...R===void 0?{}:{cause:R}});return Object.assign(new Error(p),B)}function b(a){if(a===null||typeof a!="object"||a===void 0)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=a.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).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 E=typeof a.status=="number"?a.status:Number(a.status);if(!Number.isSafeInteger(E)||E!==1&&E!==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 R=String(p),B=a.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:R}),activation:E===1?"pending":"active",...B===void 0||B===""?{}:{avatarUrl:B},qrPayload:Rr(R,B)})}function h(a){if(a===void 0)return;let p=typeof a=="number"?a:Number(a);return Number.isSafeInteger(p)?p:void 0}function f(a){if(typeof a=="boolean")return a;if(a===1||a==="1"||a==="true")return true;if(a===0||a==="0"||a==="false")return false}function S(a){if(a===null||typeof a!="object"||a===void 0)throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let p=a.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let E=String(p),R=a,B=R.name?.trim()??"";if(B==="")throw y("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let re=h(R.total_users),W=h(R.status),ae=h(R.verify_way),ue=h(R.update_version),I=f(R.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:E}),name:B,...R.head_img_url?.trim()===""||R.head_img_url===void 0?{}:{avatar:R.head_img_url},...R.user_id===void 0?{}:{ownerId:String(R.user_id)},...re===void 0?{}:{memberCount:re},...W===void 0?{}:{status:W},...I===void 0?{}:{isInGroup:I},...ae===void 0?{}:{verifyWay:ae},...ue===void 0?{}:{updateVersion:ue},...R.invite_code===void 0?{}:{inviteCode:R.invite_code}}}function N(a){let p=a.name.trim();if(p==="")throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw y("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let E=a.memberIds;if(!Array.isArray(E))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let R=E.map(re=>typeof re=="string"?re.trim():"");if(R.includes(""))throw y("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let B=[...new Set(R)];if(B.length>40)throw y("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:B}}function A(a,p){let E=a.trim();if(E==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return E}function k(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function v(a){if(!Array.isArray(a))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=a.map(E=>A(E,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function O(a,p,E){if(a!==1&&a!==2&&a!==4){let B=Q({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:E}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),B)}if(a!==4)return {verifyWay:a};let R=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(R)){let B=Q({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:E}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),B)}return {verifyWay:a,inviteCode:R}}function s(a){r.delete(a),d.set(a,(d.get(a)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});}return {...n,mentions:{listAll:a=>u(a,false),refreshAll:a=>u(a,true)},getProfile:(a,p)=>e.profile?.getGroupProfile(a,p)??Promise.resolve(null),listMembers:(a,p)=>e.profile?.listGroupMembers?.(a,p)??Promise.resolve(null),getMemberNames:(a,p)=>e.profile?.getGroupMemberNames?.(a,p)??Promise.resolve(null),peekMembers:a=>e.profile?.peekGroupMembers?.(a)??Promise.resolve(null),peekMemberNames:a=>e.profile?.peekGroupMemberNames?.(a)??Promise.resolve(null),peekProfile:a=>e.profile?.peekGroupProfile?.(a)??Promise.resolve(null),updateName:async(a,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let E=p.trim();if(a===""||E==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Pa$1({client:e.coreClient,groupId:a,name:E}),e.domainState.updateConversationProfile(a,{title:E}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateAvatar:async(a,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let E=await Pt(e.avatarTransfer,p);return await Pa$1({client:e.coreClient,groupId:a,avatarUrl:E}),e.domainState.updateConversationProfile(a,{avatar:E}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a}),E},uploadAvatar:async a=>{if(e.avatarTransfer===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return Pt(e.avatarTransfer,a)},create:async a=>{if(e.coreClient===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw y("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=N(a);try{let E=await ca({client:e.coreClient,name:p.name,memberIds:p.memberIds,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl}});if(!E.ok){let B=E.code===pc?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":E.code===ku?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":E.code===Ou?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw y(B,E.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:E.code,message:E.message}))}let R=S(E.data);return e.domainState.prepareConversation({id:R.ref.conversationId,type:"group",title:R.name,...R.avatar===void 0?{}:{avatar:R.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:R})}catch(E){throw E!==void 0&&typeof E=="object"&&E!==null&&"code"in E&&String(E.code).startsWith("IM_SDK_")?E:E instanceof c?y("IM_SDK_GROUP_CREATE_NETWORK_FAILED",E.message,void 0,E):y("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,E)}},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 a=await ba({client:e.coreClient});if(!a.ok){let p=a.code===pc?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw g(p,a.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:a.code}))}return Object.freeze({group:b(a.data)})}catch(a){throw mc(a)?a:a instanceof c?g("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",a.message,void 0,a):g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,a)}},setMyNickname:async(a,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ma({client:e.coreClient,groupId:a,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateVerification:async(a,p,E)=>{let R=k(),B=A(a,"\u7FA4 id"),re=O(p,E,B);await Zn("groups.updateVerification",B,()=>la({client:R,groupId:B,verifyWay:re.verifyWay,...re.inviteCode===void 0?{}:{inviteCode:re.inviteCode}})),s(B);},requestJoin:async(a,p)=>{let E=k(),R=A(a,"\u7FA4 id"),B=p?.remarks?.trim();return Zn("groups.requestJoin",R,()=>oa$1({client:E,groupId:R,...B===void 0?{}:{remarks:B}}))},joinByInviteCode:async(a,p)=>{let E=k(),R=A(a,"\u7FA4 id"),B=p.trim();if(!/^\d{6}$/.test(B))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Zn("groups.joinByInviteCode",R,()=>pa$1({client:E,groupId:R,inviteCode:B}))},inviteMembers:async(a,p)=>{let E=k(),R=A(a,"\u7FA4 id"),B=v(p);if(B.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Zn("groups.inviteMembers",R,()=>ha$1({client:E,groupId:R,userIds:B})),s(R);},removeMember:async(a,p)=>{let E=k(),R=A(a,"\u7FA4 id"),B=A(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Zn("groups.removeMember",R,()=>ia({client:E,groupId:R,userId:B})),s(R);},transferOwnership:async(a,p)=>{let E=k(),R=A(a,"\u7FA4 id"),B=A(p,"\u65B0\u7FA4\u4E3B id");await Zn("groups.transferOwnership",R,()=>ja({client:E,groupId:R,userId:B})),s(R);},leave:async(a,p)=>{let E=k();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let R=A(a,"\u7FA4 id"),B=p?.newOwnerId===void 0?void 0:A(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Zn("groups.leave",R,()=>ka({client:E,groupId:R,...B===void 0?{}:{newOwnerId:B}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:R},"group_left"),s(R);},...e.pinned}}var xu="image/jpeg,image/png,image/webp";async function Tr(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((o,c)=>n[c]===o)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let d=e.type.trim().toLowerCase();return r!==void 0&&(d===""||d==="application/octet-stream"||d===r)}function Ic(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 vc=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function hc(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function Ao(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,o=hc();return sb({enabled:r,level:d?.level??"trace",categories:d?.categories??vc,...r?{sink:d?.sink??o,fallbackSink:o}:{},getRuntimeContext:n})}var Cc=[{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 Eo=Object.freeze(Cc.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),bc=new Map(Eo.flatMap(e=>e.tokens.map(n=>[n,e])));function Mc(e){return bc.get(e)}function Sc(e){return bc.has(e)}function et(e){let n=Q(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Pc(e,n){return n instanceof Qa$1?et({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?et({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?et({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):et({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function Yt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function Ro(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let o=e[d]??0,c=e[d+1]??0,i=e[d+2]??0,u=o<<16|c<<8|i;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=d+1<e.length?n.charAt(u>>>6&63):"=",r+=d+2<e.length?n.charAt(u&63):"=";}return r}function _r(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":case "mediaAlbum":return e.contentType;default:return null}}function wo(e){let n=_r(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=Yt(e.body.image?.url),d=Ro(e.body.image?.thumbData);return r===""||d===""?null:{content:r,imageURL:r,thumbData:d,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=Yt(e.body.video?.url),d=Ro(e.body.video?.thumbData);return r===""||d===""?null:{content:r,videoURL:r,thumbData:d,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let r=Yt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=Yt(e.body.file?.url),d=(e.body.file?.fileName??"").trim();return r===""||d===""?null:{content:d,fileURL:r,fileName:d,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let r=e.body.mediaAlbum;if(r===void 0||r.items.length===0)return null;let d=r.items.map(o=>({mediaType:o.kind==="video"?2:1,url:Yt(o.url),width:o.width,height:o.height,...o.durationMs!==void 0&&o.durationMs>0?{duration:o.durationMs}:{},...o.thumbUrl!==void 0&&o.thumbUrl!==""?{thumbUrl:o.thumbUrl}:{},...o.thumbData!==void 0&&o.thumbData.length>0?{thumbData:Ro(o.thumbData)}:{},...o.md5!==void 0&&o.md5!==""?{md5:o.md5}:{},...o.size!==void 0&&o.size>0?{fileSize:o.size}:{},...o.hd!==void 0?{hd:o.hd}:{}}));return d.some(o=>o.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function Lu(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function Ac(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function Tc(e){function n(o){if(!e.isActive())throw et({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw Pc(o,new Qa$1);let i;try{i=await c(e.provider);}catch(u){throw n(o),Pc(o,u)}return n(o),i}return {api:{list:async()=>{let o=await r("sessionFavorites.list",c=>c.list());return Object.freeze(o.map(Ac))},addFromMessage:async o=>{let c="sessionFavorites.addFromMessage",i=_r(o.message),u=wo(o.message),y=o.selfId.trim(),g=o.message.id.trim();if(i===null||u===null||y===""||g==="")throw et({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:c,retryable:false});let b={messageId:g,conversation:o.conversation,senderId:o.message.senderId.trim(),createdAt:o.message.createdAt,kind:i,plainBody:u,peerId:Lu(o.message,y,o.conversation.conversationId)},h=await r(c,f=>f.add(b));return Ac(h)},delete:async o=>{let c="sessionFavorites.delete",i=[...new Set(o.map(u=>u.trim()).filter(u=>u!==""))];if(i.length===0)throw et({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:c,retryable:false});await r(c,u=>u.delete(i));}}}}var _c="settings:read-receipts:v1",Dc="settings:appearance:v1",kr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function An(e){return Q({...e,retryable:e.retryable??false})}function Do(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function ko(){return {fontScale:1}}function To(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function Fu(e){if(typeof e!="object"||e===null)return Do();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,o]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof o=="boolean"&&(r[d]=o);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function Uu(e){if(typeof e!="object"||e===null)return ko();let n=e.fontScale;return {fontScale:kc(n)?n:1}}function kc(e){return typeof e=="number"&&kr.includes(e)}function _o(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw An({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Dr(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw An({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Oc(e){let n=false,r=false,d=false,o,c,i=Do(),u=Promise.resolve(),y=false,g,b=ko(),h=Promise.resolve();function f(p){return An({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function S(p){if(n)throw f(p)}async function N(p,E){if(S(E),r)return;let R;try{R=Dr(e.storage,E);}catch(B){if(!p)return;throw B}try{let B=await R.getMeta(_c);S(E),i=Fu(B),r=!0,d=!1;}catch(B){throw n?f(E):(d=true,An({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:E,cause:B}))}}function A(p){return S(p),r?Promise.resolve():(o===void 0&&(o=N(true,p).finally(()=>{o=void 0;})),o)}async function k(p){if(S(p),!y)try{let E=await Dr(e.storage,p).getMeta(Dc);S(p),b=Uu(E),y=!0;}catch(E){throw n?f(p):typeof E=="object"&&E!==null&&"code"in E?E:An({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:E})}}function v(p){return S(p),y?Promise.resolve():(g===void 0&&(g=k(p).finally(()=>{g=void 0;})),g)}async function O(p,E,R){S(p);let B=u.then(async()=>{S(p),await A(p),S(p);let re=To(i),W=E(To(i));try{await Dr(e.storage,p).setMeta(_c,To(W));}catch(ae){throw n?f(p):typeof ae=="object"&&ae!==null&&"code"in ae?ae:An({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:ae})}S(p),i=W,R?.(re,W);});return u=B.catch(()=>{}),B}let s={async getGlobal(){let p="settings.readReceipts.getGlobal";return S(p),await A(p),S(p),i.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(An({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):O("settings.readReceipts.setGlobal",E=>({...E,globalEnabled:p}),(E,R)=>{E.globalEnabled&&!R.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let E="settings.readReceipts.getConversation";S(E);let R=_o(p,E);await A(E),S(E);let B=i.peerOverrides[R.conversationId]??true;return Object.freeze({enabled:B,effectiveEnabled:i.globalEnabled&&B})},setConversation(p,E){let R="settings.readReceipts.setConversation",B;try{B=_o(p,R);}catch(re){return Promise.reject(re)}return typeof E!="boolean"?Promise.reject(An({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:R,conversation:B})):O(R,re=>(re.peerOverrides[B.conversationId]=E,re),(re,W)=>{let ae=B.conversationId,ue=re.globalEnabled&&(re.peerOverrides[ae]??true),I=W.globalEnabled&&(W.peerOverrides[ae]??true);ue&&!I&&e.onDirectReadReceiptDisabled?.(ae);})},resetConversation(p){let E="settings.readReceipts.resetConversation",R;try{R=_o(p,E);}catch(B){return Promise.reject(B)}return O(E,B=>(delete B.peerOverrides[R.conversationId],B))}},a={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await v(p),S(p),b.fontScale},set(p){let E="settings.appearance.fontScale.set";if(!kc(p))return Promise.reject(An({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:E,details:{supportedValues:[...kr]}}));let R=h.then(async()=>{S(E),await v(E),S(E);let B={fontScale:p};try{await Dr(e.storage,E).setMeta(Dc,B);}catch(re){throw n?f(E):typeof re=="object"&&re!==null&&"code"in re?re:An({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:E,cause:re})}S(E),b=B;});return h=R.catch(()=>{}),R}})};return {api:Object.freeze({readReceipts:Object.freeze(s),appearance:Object.freeze(a),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){S("settings.readReceipts.hydrate"),!r&&(o===void 0&&(o=N(false,"settings.readReceipts.hydrate").finally(()=>{o=void 0;})),await o);},isDirectReadReceiptEnabled(p){return !n&&!d&&i.globalEnabled&&(i.peerOverrides[p]??true)},dispose(){if(c!==void 0)return c;n=true,i=Do(),b=ko();let p=o,E=u,R=g,B=h;return c=Promise.allSettled([...p===void 0?[]:[p],E,...R===void 0?[]:[R],B]).then(()=>{}),c}}}var Ve=Object.freeze({availability:"available",reason:"ok"});function dn(e){return Object.freeze({availability:"unavailable",reason:e})}function Ge(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Xt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qt(e){return `${e.conversationType}:${e.conversationId}`}function Ku(){return Object.freeze({sendMessages:false})}function Bu(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function Gu(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 Hu(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 ju(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let d=Number(r[1]),o=Number(r[2]),c=Number(r[3]),i=Number(r[4]);if(d>23||c>23||o>59||i>59)return;let u=new Date(n);u.setHours(d,o,0,0);let y=new Date(n);if(y.setHours(c,i,59,999),u.getTime()<=n&&n<=y.getTime())return y.getTime()+1;if(n<u.getTime())return u.getTime();let g=u;return g.setDate(g.getDate()+1),g.getTime()}function nt(e,n,r){let d=n.get(Qt(e));if(d!==void 0)for(let o of [...d])o(r);}function xc(e){let n=new Map,r=new Map,d=new Map,o=new Map,c=new Map,i=new Map,u,y,g=new Set,b=e.getSessionUserId(),h=0;function f(W){W.conversationType==="direct"?n.delete(W.conversationId):W.conversationType==="group"?r.delete(W.conversationId):W.conversationType==="channel"&&d.delete(W.conversationId);}function S(){n.clear(),r.clear(),d.clear(),i.clear(),g=new Set;}function N(){let W=e.getSessionUserId();return W!==b&&(b=W,S()),W}function A(W){N();let ae=++h;return i.set(Qt(W),ae),ae}function k(W,ae){return N(),i.get(Qt(W))===ae}function v(W,ae={}){N();let ue=ae.nowMs??Date.now(),I=e.getConversation(W);if(W.conversationType==="direct"){let fe=Xt({conversationType:"direct",conversationId:W.conversationId}),Ie=n.get(W.conversationId),ve=Ie?.relationship??"unknown",we=Bu(ve),Ne=we==="ok"?Ve:we==="relationship-unknown"?Ge(we):dn(we),ye=ve==="friend"?Ve:ve==="unknown"?Ge(we):dn(we);return Object.freeze({ref:fe,conversationType:"direct",evaluatedAt:ue,value:Object.freeze({relationship:ve,...Ie===void 0?{}:{relationshipCheckedAt:Ie.checkedAt},canSendMessages:Ne,canOpenProfile:Ve,canUseMessageActions:Ne,canManageRelationship:ye})})}if(W.conversationType==="robot"){let fe=Xt({conversationType:"robot",conversationId:W.conversationId});return Object.freeze({ref:fe,conversationType:"robot",evaluatedAt:ue,value:Object.freeze({canSendMessages:Ve,canOpenProfile:Ve,canUseMessageActions:Ve,canReadHistory:Ve})})}if(W.conversationType==="group"){let fe=Xt({conversationType:"group",conversationId:W.conversationId}),Ie=r.get(W.conversationId),ve=I?.ref.conversationType==="group"?I.groupState??"active":"unknown",we=Gu(ve),Ne=we==="ok",ye=e.getSessionUserId(),he=Ie?.ownerId,Ue=ye!==void 0&&he!==void 0&&ye===he,Ke=Ne?Ve:dn(we),on=Ne?Ie===void 0?Ge("not-ready"):Ue?Ve:dn("role-insufficient"):dn(we);return Object.freeze({ref:fe,conversationType:"group",evaluatedAt:ue,value:Object.freeze({membership:ve,...he===void 0?{}:{ownerId:he},isOwner:Ue,canSendMessages:Ke,canOpenProfile:Ke,canReadHistory:Ve,canUseMessageActions:Ke,canViewMembers:Ke,canEditProfile:on,canInviteMembers:Ke,canManageMembers:on,canPinMessages:on,canUnpinMessages:on,canTransferOwnership:on,canLeave:Ke,canUpdateVerification:on})})}let F=Xt({conversationType:"channel",conversationId:W.conversationId}),P=d.get(W.conversationId),G=I?.ref.conversationType==="channel"&&I.channelState!==void 0?I.channelState:P?.state;if(G===void 0)return Object.freeze({ref:F,conversationType:"channel",evaluatedAt:ue,value:Object.freeze({state:"unknown",role:P?.role??"unknown",permissions:Ku(),canSendMessages:Ge("unknown-restricted"),canOpenProfile:Ge("unknown-restricted"),canReadHistory:Ve,canUseMessageActions:Ge("unknown-restricted"),canMutateMessages:Ge("unknown-restricted"),canPinMessages:Ge("unknown-restricted"),canUnpinMessages:Ge("unknown-restricted"),canDeleteMessagesForEveryone:Ge("unknown-restricted"),canMentionAll:Ge("unknown-restricted"),canViewMembers:Ge("unknown-restricted"),canEditProfile:Ge("unknown-restricted"),canManageMembers:Ge("unknown-restricted"),canManageMute:Ge("unknown-restricted"),canDismiss:Ge("unknown-restricted"),canTransferOwnership:Ge("unknown-restricted"),canLeave:Ge("unknown-restricted"),canInviteMembers:Ge("unknown-restricted"),canSetMemberAdmin:Ge("unknown-restricted"),canRemoveMembers:Ge("unknown-restricted"),canSetMemberPrivateChat:Ge("unknown-restricted")})});let K=Ca$1({channelState:G,nowMs:ue,...I?.ref.conversationType==="channel"&&I.channelAccessSnapshot!==void 0?{snapshot:I.channelAccessSnapshot}:{},...I?.ref.conversationType==="channel"&&I.channelPermissions!==void 0?{permissions:I.channelPermissions}:P?.permissions===void 0?{}:{permissions:P.permissions}}),$=Hu(K.channelState,K.muteReason),T=K.channelState==="active"||K.channelState==="muted",L=K.channelState==="active"?K.permissions.sendMessages?Ve:dn("unknown-restricted"):dn($),M=fe=>T&&fe?Ve:dn(T?"role-insufficient":$),_=fe=>K.channelState==="active"&&fe?Ve:dn(K.channelState==="muted"?$:T?"role-insufficient":$),U=P?.memberPrivateChatDisabled===false||K.permissions.manageMembers===true,Y=T?P===void 0&&K.permissions.manageMembers!==true?Ge("not-ready"):M(U):dn($),X=K.channelState==="muted"?dn($):T?Ve:dn($),j=ju(I,ue);return Object.freeze({ref:F,conversationType:"channel",evaluatedAt:ue,...j===void 0?{}:{nextEvaluationAt:j},value:Object.freeze({state:K.channelState,role:P?.role??I?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...K.permissions}),...K.muteReason===void 0?{}:{muteReason:K.muteReason},canSendMessages:L,canOpenProfile:T?Ve:dn($),canReadHistory:Ve,canUseMessageActions:T?Ve:dn($),canMutateMessages:X,canPinMessages:_(K.permissions.moderateMessages===true),canUnpinMessages:_(K.permissions.moderateMessages===true),canDeleteMessagesForEveryone:_(K.permissions.moderateMessages===true),canMentionAll:M(K.permissions.mentionAll===true),canViewMembers:Y,canEditProfile:M(K.permissions.editProfile===true),canManageMembers:M(K.permissions.manageMembers===true),canManageMute:M(K.permissions.manageMute===true),canDismiss:M(K.permissions.dismissChannel===true),canTransferOwnership:M(K.permissions.transferOwnership===true),canLeave:T?Ve:dn($),canInviteMembers:M(K.permissions.manageMembers===true),canSetMemberAdmin:M(K.permissions.manageAdmins===true),canRemoveMembers:M(K.permissions.manageMembers===true),canSetMemberPrivateChat:M(K.permissions.manageMute===true)})})}async function O(W,ae={}){let ue=A(W);if(W.conversationType==="direct"){let I=await e.getRelationship(W.conversationId);k(W,ue)&&s(W.conversationId,I,ue);}else if(W.conversationType==="group"){let I={conversationType:"group",conversationId:W.conversationId},F=await e.getGroupProfile(I,{forceRefresh:true});k(W,ue)&&a(I,F,ue);}else if(W.conversationType==="channel"){let I={conversationType:"channel",conversationId:W.conversationId},F=await e.getChannelProfile(I,{forceRefresh:true});k(W,ue)&&p(I,F,ue);}return v(W,ae)}function s(W,ae,ue){let I={conversationType:"direct",conversationId:W};k(I,ue)&&(n.set(W,{relationship:ae,checkedAt:Date.now()}),nt(I,o,v(I)));}function a(W,ae,ue){k(W,ue)&&(r.set(W.conversationId,ae),nt(W,o,v(W)));}function p(W,ae,ue){k(W,ue)&&(d.set(W.conversationId,ae),nt(W,o,v(W)));}function E(W,ae,ue={}){N();let I=Qt(W),F=o.get(I)??new Set;return F.add(ae),o.set(I,F),c.set(I,Xt(W)),ae(v(W,ue)),y===void 0&&(y=e.subscribeContext?.(P=>{N(),nt(P,o,v(P));})),u===void 0&&(u=e.subscribeConversations(P=>{N();let G=Date.now(),K=new Set(P.map($=>Qt($.ref)));for(let $ of P){let T=v($.ref,{nowMs:G});nt($.ref,o,T);}for(let[$,T]of c){if(!g.has($)||K.has($))continue;f(T);let L=v(T,{nowMs:G});nt(T,o,L);}g=K;})),()=>{F.delete(ae),F.size===0&&o.delete(I),o.has(I)||c.delete(I),o.size===0&&(y?.(),y=void 0,u?.(),u=void 0,g=new Set);}}function R(){S();let W=Date.now();for(let ae of c.values())nt(ae,o,v(ae,{nowMs:W}));}function B(){y?.(),y=void 0,u?.(),u=void 0,o.clear(),c.clear(),S();}let re=Object.freeze({get:v,refresh:O,subscribe:E});return Object.freeze({...re,api:re,beginProjectionUpdate:A,updateRelationshipProjection:s,updateGroupProfileProjection:a,updateChannelProfileProjection:p,reset:R,dispose:B})}var zu=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Mn(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw Q({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof d!="string"||d.trim()==="")throw Q({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function Vu(e){return e===null?null:Object.freeze({ref:Mn(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 qu(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 Or(e){let n=qu(e.lastMessageSummary),r=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),d=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),o=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:Mn({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...r===void 0?{}:{lastMessageMention:r},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},...e.lastMessageReceipt===void 0?{}:{lastMessageReceipt:e.lastMessageReceipt},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&o!==void 0?{channelAccessSnapshot:o}:{},draft:Vu(e.draft)})}function Wu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function tt(e,n,r,d){return Wu(e)?e:Q({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...d===void 0?{}:{conversation:d},cause:e})}function Nc(e){let n=new Set,r,d,o;function c(){return Object.freeze(e.getCompatibilityApi().list().map(Or))}function i(){let h=e.getSessionState();return h==="preparing"?"loading":h==="ready"?"ready":"idle"}function u(){try{let h=c();return Object.freeze({state:d??i(),items:h,totalUnread:e.getCompatibilityApi().getTotalUnread(),...o===void 0?{}:{error:Object.freeze(o)}})}catch(h){let f=tt(h,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(f)})}}function y(){let h=u();for(let f of [...n])f(h);}function g(h){return n.add(h),h(u()),r===void 0&&(r=e.subscribeEvents(f=>{zu.has(f.type)&&y();})),()=>{n.delete(h),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:h=>e.getCompatibilityApi().getBackground(Mn(h,"conversations.getBackground")),setBackground:(h,f)=>e.getCompatibilityApi().setBackground(Mn(h,"conversations.setBackground"),f),resetBackground:h=>e.getCompatibilityApi().resetBackground(Mn(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,f)=>e.getCompatibilityApi().prefetchRecent(h.map(S=>Mn(S,"conversations.prefetchRecent")),f),async refresh(){d="loading",o=void 0,y();try{await e.getCompatibilityApi().sync(),d=void 0,y();}catch(h){throw d="error",o=tt(h,"conversations.refresh",true),y(),o}},getTotalUnread(h){return c(),e.getCompatibilityApi().getTotalUnread(h)},setPinned(h,f){let S=Mn(h,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(S,f);}catch(N){throw tt(N,"conversations.setPinned",false,S)}},async setMuted(h,f){let S=Mn(h,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(S,f);}catch(N){throw tt(N,"conversations.setMuted",true,S)}},async markRead(h){let f=Mn(h,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(f);}catch(S){throw tt(S,"conversations.markRead",true,f)}},markUnread(h){let f=Mn(h,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(f);}catch(S){throw tt(S,"conversations.markUnread",false,f)}},deleteLocal(h){let f=Mn(h,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(f);}catch(S){throw tt(S,"conversations.deleteLocal",false,f)}}},dispose(){r?.(),r=void 0,n.clear();}}}var $u=128,Ju=8,Yu=64*1024*1024,Xu=3,xr=1024*1024;function Qu(e){let n=0,r=false,d=[];function o(){if(!r)for(;n<e&&d.length>0;){let c=d.shift();if(c.signal.removeEventListener("abort",c.onAbort),c.signal.aborted){c.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let i=false;c.resolve(()=>{i||(i=true,n=Math.max(0,n-1),o());});}}return {acquire(c){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((i,u)=>{let y={resolve:i,reject:u,signal:c,onAbort:()=>{let g=d.indexOf(y);g>=0&&d.splice(g,1),u(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",y.onAbort,{once:true}),d.push(y),o();})},dispose(){r=true;for(let c of d.splice(0))c.signal.removeEventListener("abort",c.onAbort),c.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function Fc(){return xa([{kind:"image",softMaxBytes:512*xr,maxEntries:512,maxEntryBytes:30*xr},{kind:"video",softMaxBytes:1792*xr,maxEntries:64,maxEntryBytes:200*xr}])}function xo(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Zu(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Nr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function No(e,n,r,d){let o=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?o:`${o}:${d}`}function Lo(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw De({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let d=Nr({conversationType:n,conversationId:r});return Uc({id:No(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:xo(e.percent),...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:ep(e.failure,d)}})}function De(e){let n=Q(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Lc(e){return e.recalled===void 0&&e.deletedForEveryone===void 0&&(e.status==="failed"||e.status==="uploading")&&e.failure?.displayCode!=="media.cancelled"&&!(e.failure?.displayCode==="media.uploadTimeout"&&e.failure.retryable===false)}function ep(e,n){if(e===void 0)return;let r=e.displayCode,o=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(Q({...o??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function Uc(e){return Object.freeze({...e,ref:Nr(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function Oo(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw De({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw De({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Nr({conversationType:r,conversationId:d})}function Kc(e){let n=true,r=0,d=0,o=new Map,c=new Set,i=new Map,u=new Map,y=new Map,g=Qu(Xu),b=e.maxCachedBlobs??Ju,h=e.maxCachedBlobBytes??Yu,f=0;function S(){if(!n||!e.isActive())throw De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function N(){return Object.freeze([...o.values()])}function A(){let T=N();for(let L of [...c])try{L(T);}catch(M){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:M}});}}function k(T){let L=y.get(T);L!==void 0&&(f-=L.size,y.delete(T));}function v(T){o.delete(T),i.delete(T),k(T);}function O(){for(;o.size>$u;){let T=[...o.values()].find(L=>L.state==="completed"||L.state==="failed"||L.state==="canceled");if(T===void 0)return;v(T.id);}}function s(T){o.set(T.id,Uc(T)),O();}function a(T){if(!n||!e.isActive())return;s(T);let L=o.get(T.id);if(A(),!n||!e.isActive()||L===void 0||o.get(T.id)!==L)return;let M={id:L.id,messageId:L.messageId,ref:L.ref,direction:"download",state:L.state,percent:L.percent};e.emitter.emit({type:"media-task:updated",conversation:L.ref,task:M});}function p(T,L){if(k(T),!(L.size>h))for(y.set(T,L),f+=L.size;y.size>b||f>h;){let M=y.keys().next().value;if(M===void 0)break;k(M);}}function E(T,L=true){let M=Oo(T),_=e.domainState.getConversationMessage(M,T.messageId);if(_===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:M});let U,Y,X,j;if(_.contentType==="image")U=_.body.image,Y=e.loaders?.loadImage,j="image";else if(_.contentType==="video")U=_.body.video,Y=e.loaders?.loadVideo,j="video";else if(_.contentType==="voice")U=_.body.voice,Y=e.loaders?.loadVoice;else if(_.contentType==="file")U=_.body.file,Y=e.loaders?.loadFile,X=_.body.file?.mimeType;else if(_.contentType==="filesAlbum"){let fe=T.itemIndex;if(U=fe===void 0?void 0:_.body.filesAlbum?.items[fe],U===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:M});Y=e.loaders?.loadFile;}else if(_.contentType==="mediaAlbum"){let fe=_.body.mediaAlbum?.items,Ie=T.itemIndex,ve=Ie===void 0||fe===void 0?void 0:fe[Ie];if(ve===void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:M});U=ve,Y=ve.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,j=ve.kind;}if(_.contentType!=="mediaAlbum"&&_.contentType!=="filesAlbum"&&T.itemIndex!==void 0)throw De({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:M});if(U===void 0)throw De({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:M});if(L&&Y===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:M});if(U.url.trim()===""||U.url.startsWith("blob:"))throw De({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:M});return {ref:M,messageId:_.id,...T.itemIndex===void 0?{}:{itemIndex:T.itemIndex},...X===void 0?{}:{mimeType:X},...j===void 0?{}:{cacheKind:j,resourceVersion:ya(U.url)},...Y===void 0?{}:{load:Y},input:{url:U.url,...U.size===void 0?{}:{expectedBytes:U.size},...U.teaKey===void 0?{}:{teaKey:U.teaKey},...U.fileEncryptType===void 0?{}:{fileEncryptType:U.fileEncryptType}}}}function R(T){return De({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:T})}function B(){return De({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function re(T,L,M=r){if(S(),M!==r)return null;let _=No("download",T.ref,T.messageId,T.itemIndex),U=y.get(_);if(U!==void 0)return y.delete(_),y.set(_,U),U;if(e.assetCache===void 0||T.cacheKind===void 0||T.resourceVersion===void 0)return null;let Y;try{Y=await e.assetCache.get({kind:T.cacheKind,messageId:T.messageId,resourceVersion:T.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Y===null?"miss":"hit",kind:T.cacheKind,messageId:T.messageId,...Y===null?{}:{byteLength:Y.blob.size}});}catch(Ie){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:T.cacheKind,messageId:T.messageId,cause:Ie}),L)throw De({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:T.ref});return null}if(Y===null||(S(),M!==r))return null;let X=Y.blob,j=Y.mimeType??T.mimeType??"",fe=X.type===j?X:X.slice(0,X.size,j);return p(_,fe),fe}function W(T,L=false){let M=r,_=No("download",T.ref,T.messageId,T.itemIndex),U=u.get(_);if(U!==void 0&&!U.controller.signal.aborted)return U.promise;if(!L){let Ie=y.get(_);if(Ie!==void 0)return y.delete(_),y.set(_,Ie),Promise.resolve(Ie)}k(_);let Y=Nr(T.ref);i.set(_,Object.freeze({conversation:Y,messageId:T.messageId,...T.itemIndex===void 0?{}:{itemIndex:T.itemIndex}}));let X={id:_,messageId:T.messageId,ref:Y,direction:"download",...T.itemIndex===void 0?{}:{itemIndex:T.itemIndex}},j=new AbortController,fe=Promise.resolve().then(async()=>{let Ie;try{if(!n||!e.isActive())throw B();if(j.signal.aborted)throw R(Y);if(Ie=await g.acquire(j.signal),!n||!e.isActive())throw B();if(j.signal.aborted)throw R(Y);if(a({...X,state:"running",percent:0}),!n||!e.isActive())throw B();if(j.signal.aborted)throw R(Y);if(!L&&e.assetCache!==void 0&&T.cacheKind!==void 0&&T.resourceVersion!==void 0){let he=await re(T,!1,M);if(he!==null){if(j.signal.aborted)throw R(Y);return a({...X,state:"completed",percent:100}),he}}let ve=T.load;if(ve===void 0)throw De({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:Y});let we=await ve({...T.input,signal:j.signal,onTransferProgress:he=>{let Ue=o.get(_);!n||!e.isActive()||j.signal.aborted||u.get(_)?.controller!==j||Ue?.state!=="running"||a({...Ue,state:"running",percent:Math.max(Ue.percent,Math.min(99,xo(he.percent))),bytesTransferred:he.bytesTransferred,bytesTotal:he.bytesTotal,phase:he.bytesTotal>0&&he.bytesTransferred>=he.bytesTotal?"finalizing":"transferring"});},onProgress:he=>{let Ue=o.get(_);if(!n||!e.isActive()||j.signal.aborted||u.get(_)?.controller!==j||Ue?.state!=="running")return;let Ke=Math.min(99,xo(he));Ke<=Ue.percent||a({...Ue,state:"running",percent:Ke});}});if(!n||!e.isActive())throw B();if(j.signal.aborted)throw R(Y);let Ne=we instanceof Blob?void 0:we,ye=Ne===void 0?we:new Blob([Ne],T.mimeType===void 0?void 0:{type:T.mimeType});if(T.mimeType!==void 0&&ye.type!==T.mimeType&&(ye=ye.slice(0,ye.size,T.mimeType)),M===r&&p(_,ye),M===r&&e.assetCache!==void 0&&T.cacheKind!==void 0&&T.resourceVersion!==void 0){let he=ye.size;e.assetCache.put({kind:T.cacheKind,messageId:T.messageId,resourceVersion:T.resourceVersion,blob:ye,...T.mimeType===void 0?{}:{mimeType:T.mimeType}}).then(Ue=>{e.onAssetCacheEvent?.({operation:"put",outcome:Ue,kind:T.cacheKind,messageId:T.messageId,byteLength:he});}).catch(Ue=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:T.cacheKind,messageId:T.messageId,byteLength:he,cause:Ue});});}if(a({...X,state:"completed",percent:100}),!n||!e.isActive())throw B();return ye}catch(ve){if(!n||!e.isActive())throw B();if(j.signal.aborted||typeof ve=="object"&&ve!==null&&"code"in ve&&ve.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let Ne=R(Y);throw u.get(_)?.controller===j&&o.get(_)?.state!=="canceled"&&a({...X,state:"canceled",percent:o.get(_)?.percent??0,error:Ne}),Ne}let we=De({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:Y});throw a({...X,state:"failed",percent:o.get(_)?.percent??0,error:we}),we}finally{Ie?.(),u.get(_)?.controller===j&&u.delete(_);}});return u.set(_,{controller:j,promise:fe}),a({...X,state:"queued",percent:0}),fe}function ae(T){try{return S(),W(E(T))}catch(L){return Promise.reject(L)}}async function ue(T){let L=E(T,false);return L.cacheKind===void 0?null:await re(L,true)}async function I(T){if(S(),e.preparePreview===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let L;try{L=await e.preparePreview({operationId:`media.prepareLocalPreview:${++d}`,kind:T.kind,file:T.file,...T.signal===void 0?{}:{signal:T.signal}});}catch(_){if(T.signal?.aborted===true||_ instanceof Error&&_.name==="AbortError")throw _;return e.onLocalPreviewError?.({kind:T.kind,byteLength:T.file.size,cause:_}),null}return S(),!Number.isFinite(L.width)||!Number.isFinite(L.height)||L.width<=0||L.height<=0?(e.onLocalPreviewError?.({kind:T.kind,byteLength:T.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${L.width}\xD7${L.height}`)}),null):T.kind==="video"?{width:L.width,height:L.height,...L.duration===void 0?{}:{duration:L.duration},...L.posterData===void 0?{}:{posterData:L.posterData}}:{width:L.width,height:L.height}}async function F(T){if(S(),T.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw De({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let L;try{L=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++d}`,kind:"video",file:T.file,...T.signal===void 0?{}:{signal:T.signal}});}catch(M){if(T.signal?.throwIfAborted(),M instanceof Error&&M.name==="AbortError")throw M;return S(),e.onLocalPreviewError?.({kind:"video",byteLength:T.file.size,cause:M}),null}return T.signal?.throwIfAborted(),S(),!Number.isFinite(L.width)||!Number.isFinite(L.height)||L.width<=0||L.height<=0||!L.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:T.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([L.posterData],{type:"image/jpeg"})}function P(T,L){S();let M=o.get(T);if(M===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:L,retryable:false});return M}function G(T,L){return De({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:L,retryable:false,conversation:T.ref,details:Object.freeze({state:T.state,direction:T.direction})})}let K=e.emitter.subscribe(T=>{!n||T.type!=="media-task:updated"||T.task.direction!=="upload"||Zu(T.conversation,T.task.ref)&&(s(Lo(T.task)),A());});return {api:{getSnapshot(){return S(),N()},subscribe(T){return S(),c.add(T),()=>c.delete(T)},async cancel(T){let L=P(T,"media.cancel");if(L.state!=="queued"&&L.state!=="running"&&!(L.direction==="upload"&&L.state==="paused"))throw G(L,"media.cancel");if(L.direction==="upload"){if(!e.connection.cancelMediaUpload(L.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:L.ref});return}let M=u.get(T);if(M===void 0)throw G(L,"media.cancel");M.controller.abort();let _=R(L.ref);a({...L,state:"canceled",error:_});},async pause(T){let L=P(T,"media.pause");if(L.direction!=="upload"||L.state!=="queued"&&L.state!=="running")throw G(L,"media.pause");if(!await e.connection.pauseMediaUpload?.(L.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:L.ref});S();},async resume(T){let L=P(T,"media.resume");if(L.direction!=="upload"||L.state!=="paused")throw G(L,"media.resume");if(!e.connection.resumeMediaUpload?.(L.messageId))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:L.ref})},async retry(T,L){let M=P(T,"media.retry");if(M.state!=="failed"&&M.state!=="canceled")throw G(M,"media.retry");if(M.direction==="upload"){if((M.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||M.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&L?.restartUpload!==true)throw De({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:M.ref});if(!(L===void 0?e.connection.retryMediaUpload(M.messageId):e.connection.retryMediaUpload(M.messageId,L)))throw De({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:M.ref});return}if(L?.restartUpload!==void 0)throw G(M,"media.retry");if(u.has(T)&&!u.get(T).controller.signal.aborted)throw De({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:M.ref});let _=i.get(T);if(_===void 0)throw De({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await W(E(_),true);},async getUploadRecovery(T){S();let L=Oo(T);if(T.itemIndex!==void 0)return {available:false,reason:"unsupported"};let M=T.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let _=e.domainState.getConversationMessage(L,M);if(_===void 0)return {available:false,reason:"not-found"};if(!Lc(_))return {available:false,reason:"invalid-state"};try{let U=await e.recoveryPort.get(L,M);S();let Y=e.domainState.getConversationMessage(L,M);return Y===void 0?{available:!1,reason:"not-found"}:Lc(Y)?U===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:U.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(U){return S(),{available:false,reason:typeof U=="object"&&U!==null&&"reason"in U?String(U.reason):"storage"}}},async resumeUpload(T,L){S();let M=Oo(T);if(T.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw De({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:M});try{let _=await e.connection.recoverMediaUpload(M,T.messageId,L.file);if(S(),!_.ok&&_.reason==="paused")throw De({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:M});if(!_.ok&&_.reason==="cancelled")throw De({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:M});if(!_.ok)throw De({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:M})}catch(_){if(S(),typeof _=="object"&&_!==null&&"code"in _&&typeof _.code=="string"&&_.code.startsWith("IM_SDK_"))throw _;let U=_ instanceof Error&&_.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw De({code:U,category:"state",operation:"media.resumeUpload",retryable:false,conversation:M})}},download:ae,getCached:ue,prepareLocalPreview:I,prepareLocalVideoPoster:F},clearCache(){r+=1,y.clear(),f=0;},dispose(){if(n){n=false,r+=1,K();for(let T of u.values())T.controller.abort();g.dispose(),u.clear(),c.clear(),o.clear(),i.clear(),y.clear(),f=0;}}}}var np={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"}},tp={"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 Bc(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function rp(e,n){let r=np[e.reason];return Object.freeze(Q({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Fo(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:rp(e.failure,n)}})}function op(e){let n=Bc(e);return Fo({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 ap(e,n,r){let d=Q({code:tp[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(d.code),d,{name:"ImOutboxOperationError"})}function Gc(e){let n=true,r=new Set;function d(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function o(){return d(),Object.freeze(e.operations.getPending().map(op))}async function c(u,y){d();let g=e.operations.getPending().find(h=>h.id===y),b=u==="outbox.retry"?e.operations.retry(y):e.operations.cancel(y);if(!b.accepted)throw ap(u,b.reason,g===void 0?void 0:Bc(g))}return {api:{getSnapshot:o,subscribe(u){d();let y=e.emitter.subscribe(b=>{b.type==="outbox:updated"&&n&&u(o());}),g=()=>{y(),r.delete(g);};return r.add(g),g},retry:u=>c("outbox.retry",u),cancel:u=>c("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function ip(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Lr(e){return Object.freeze({type:"error",error:Object.freeze(Q(e))})}function en(e){throw Q(e)}function Pe(e,n,r){return (typeof e!="string"||e.trim()==="")&&en({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 Fe(e,n){let r=e,d=r?.conversationType,o=r?.conversationId;return d==="supergroup"&&en({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof o=="string"?o:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof o!="string"||o.trim()==="")&&en({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:o})}function sp(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Zt(e,n){let r=Fe(e,n);return r.conversationType!=="direct"&&en({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 At(e,n){let r=Fe(e,n);return r.conversationType!=="group"&&en({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 rt(e,n,r){sp(e,n)||en({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function cp(e){return Object.freeze({...e})}function dp(e,n){return rt(Fe(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 lp(e){let n=Pe(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=Fe(e.conversation,"application:updated");r.conversationType!=="group"&&en({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:d})}if(e.domain==="channel"){let r=Fe(e.conversation,"application:updated");r.conversationType!=="channel"&&en({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:d})}return en({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function up(e){return Object.freeze({ref:lp(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function pp(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 mp(e){return Object.freeze(Q({...{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 fp(e,n){if(ip(e)){let{cause:r,...d}=e;return Lr(d)}return Lr({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function gp(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:cp(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=Fe(e.conversation,e.type);return rt(Fe({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&en({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(St(e.message)),source:e.source})}case "message:removed":{let r=Fe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Pe(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=Fe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=Fe(e.conversation,e.type),d=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:Pe(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=Fe(e.conversation,e.type);rt(Fe(e.task.ref,e.type),r,e.type);let d=Lo(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=Fe(e.conversation,e.type);rt(Fe({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&en({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),rt(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=Fe(e.conversation,e.type);return e.conversationId!==r.conversationId&&en({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=Fe(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&en({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&rt(Fe({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),r,e.type);let d=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:d,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=Pe(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=Fe(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&en({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=Fe(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&en({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:Pe(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?en({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Pe(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=Fe(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&en({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=Fe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:dp(e.draft,r)})}case "draft:cleared":{let r=Fe(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=Fe(e.conversation,e.type);return rt(Fe(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:Fo(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Pe(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:up(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 "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>Fe(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...pp(e.issue)});case "error":return Object.freeze({type:e.type,error:mp(e.error)});case "call:incoming":{let r=Zt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),peerId:Pe(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Zt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),peerId:Pe(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Zt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),peerId:Pe(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Zt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),peerId:Pe(e.peerId,"peerId",r)})}case "call:failed":{let r=Zt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),peerId:Pe(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),inviterId:Pe(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Pe(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),userId:Pe(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),userId:Pe(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Pe(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),userId:Pe(e.userId,"userId",r)})}case "group-call:busy":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),userId:Pe(e.userId,"userId",r),hintUserId:Pe(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=At(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Pe(e.callId,"callId",r),groupId:Pe(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return fp(r,e)}}function yp(e){let{type:n,...r}=e;return Object.freeze(r)}function Ip(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=Fe(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function Hc(e){let n=new WeakMap;function r(o,c){let i=n.get(o);if(i!==void 0)return i;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:o.notification.messageId}));return n.set(o,u),u}function d(o){let c=true,i=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){o(Lr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let b=Pe(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,b).then(h=>{if(!c||h===null)return;let f=Object.freeze({type:"contact-application:answered",peerId:b,result:h});o(f);}).catch(()=>{c&&o(Lr({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let y=gp(u,e);y!==null&&o(y);let g=Ip(u);g!==null&&o(Object.freeze({type:"group:activated",...g}));});return ()=>{c=false,i();}}return {subscribe:o=>d(o),on:(o,c)=>d(i=>{i.type===o&&c(yp(i));})}}function Kn(e){let n=Q({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 jc(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw Kn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return d}return {async getInfo(){let r=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:r})},async clearRebuildableCaches(){let r=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw Kn({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:r});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(d){throw Kn({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:d})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function zc(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function er(e,n,r,d){return Q({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...d===void 0?{}:{conversation:d},details:Object.freeze({expectedId:n,actualId:r})})}function Vc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function qc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function Wc(e,n){if(n.id!==e)throw er("contacts.getProfile",e,n.id);let r=n.remark?.trim(),d=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?d||e:n.remark,nickname:d,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(o=>Object.freeze({countryCode:o.countryCode,mobile:o.mobile})))}})}function $c(e,n){if(n.id!==e.conversationId)throw er("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:Vc(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 vp(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 Jc(e,n){if(n.id!==e.conversationId)throw er("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:qc(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:vp(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 Yc(e){return e.state==="ready"?Object.freeze({state:"ready",message:wr(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 Fr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw er("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:Vc(e),messageId:n.messageId,preview:Yc(n.preview)})}function Ur(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw er("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:qc(e),messageId:n.messageId,preview:Yc(n.preview)})}function hp(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Cp(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 bp(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Uo(e,n,r){return hp(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&bp(e)?Q({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Cp(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):Q({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 Xc=new WeakMap;function Ko(e,n){Xc.set(e,n);}function Qc(e){let n=Xc.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 Mp="IM_SDK_CHANNEL_NOT_MEMBER",Sp="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Pp="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Ap="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Ep(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Rp(e,n,r){if(Ep(e))return e;let d=e instanceof d$1?e.businessCode:void 0,o=e instanceof na$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?Mp:d===40527?Sp:d===40547?Pp:e instanceof d$1?Ap:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let c$1=e instanceof na$1?"contract":e instanceof c?"network":d===40527?"permission":"state",i=Q({code:o,category:c$1,operation:n,retryable:e instanceof c,conversation:{conversationType:"channel",conversationId:r},...d===void 0?{}:{details:Object.freeze({businessCode:d})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),i)}async function $e(e,n,r){try{return await r()}catch(d){throw Rp(d,e,n)??d}}var wp={pinMessage:()=>Promise.reject(new Re({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new Re({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new Re({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new Re({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function Zc(e){let n=new Map,r=new Map,d=true,o=f=>({conversationType:"channel",conversationId:f}),c=f=>{r.set(f,(r.get(f)??0)+1);};function i(f){if(!d||n.has(f))return;let S=r.get(f)??0,N=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:f}}});return}try{let A=await ea({client:e.coreClient,channelId:f});if(!d||(r.get(f)??0)!==S)return;if(!A.ok){e.emitter.emit({type:"error",error:{scope:"http",code:A.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${A.message}`,cause:{conversationId:f}}});return}if(A.data===null){e.domainState.clearPinnedMessage(o(f),"reconcile");return}e.domainState.setPinnedMessage(A$1(A.data.messageContent,{conversationId:f}),"reconcile");}catch(A){if(!d||(r.get(f)??0)!==S)return;let k=A instanceof h$1||A instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:k,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:A}});}})();n.set(f,N),N.finally(()=>{n.get(f)===N&&n.delete(f);});}let u=Pa({domainState:e.domainState,emitter:e.emitter,requestReconcile:i}),y=e.emitter.subscribe(f=>{if(f.type!=="message:received"&&f.type!=="message:updated")return;let S=f.message;if(S.conversationType!=="channel")return;let N=S.body.system?.pinnedMessageAction;N!==void 0&&f.source!=="live"&&f.channelLifecycleEffects!==true||((N?.type==="pin"||N?.type==="unpin")&&c(S.conversationId),u.handleMessage(S));});function g(f,S){if(S.trim()==="")throw new Re({operation:f,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let N=e.domainState.getConversationContext(o(S));if(N===void 0)throw new Re({operation:f,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(N.type!=="channel")throw new Re({operation:f,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function b(f,S){if(e.coreClient===void 0)throw new Re({operation:f,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return g(f,S),e.coreClient}return {operations:{pinMessage:async({channelId:f,messageId:S})=>{let N=b("pin",f),A=e.domainState.getConversationMessage(o(f),S);if(A===void 0)throw new Re({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(A.conversationType!=="channel")throw new Re({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(A.conversationId!==f)throw new Re({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:k,pinnedMessage:v}=B$1(A),O=await ta({client:N,channelId:f,messageContent:k});if(!O.ok)throw Fn("pin",O.code,O.message);c(f),e.domainState.setPinnedMessage(v,"http:pin");let s=e.domainState.getPinnedMessage(o(f));if(s===void 0)throw new Re({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return s}catch(k){throw Un("pin",k)}},unpinMessage:async f=>{let S=b("unpin",f);try{let N=await Oa$1({client:S,channelId:f});if(!N.ok)throw Fn("unpin",N.code,N.message);c(f),e.domainState.clearPinnedMessage(o(f),"http:unpin");}catch(N){throw Un("unpin",N)}},getPinnedMessage:async f=>{let S=b("get",f);try{let N=await ea({client:S,channelId:f});if(!N.ok)throw Fn("get",N.code,N.message);if(c(f),N.data===null)return e.domainState.clearPinnedMessage(o(f),"reconcile"),null;let A=A$1(N.data.messageContent,{conversationId:f});e.domainState.setPinnedMessage(A,"reconcile");let k=e.domainState.getPinnedMessage(o(f));if(k===void 0)throw new Re({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return k}catch(N){throw Un("get",N)}},peekPinnedMessage:f=>(g("get",f),e.domainState.getPinnedMessage(o(f))??null)},dispose:()=>{d&&(d=false,y());}}}async function Bn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Tp={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:Bn,prefetchFirstPage:Bn,refreshFirstPage:Bn,listFirstPage:Bn,listNextPage:Bn,searchFirstPage:Bn,refreshSearchFirstPage:Bn,searchNextPage:Bn},_p=new Set(["unknown_restricted","left","removed","dismissed"]);function He(e){return _p.has(e)}function ed(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function d(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function o(){if(d(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function c(b){let h=b.trim();if(h==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return h}async function i(b){let f=await o().listJoinApplications({limit:b?.limit??20,...b?.cursor===void 0?{}:{cursor:b.cursor}});return d(),f}async function u(b,h){d();let f=c(b),S=o();await(h==="accept"?S.acceptJoinApplication(f):S.ignoreJoinApplication(f)),d();}async function y(b,h,f,S$1,N){r(),N?.throwIfAborted();let A=await S({signal:N,http:e.http,userId:f,clientType:e.clientType,channelId:b,index:h,containAnchor:S$1,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),N?.throwIfAborted(),A}async function g(b,h,f,S){let N=await y(b,h,f,true,S),A=N.messages.find(k=>k.extensions?.historyCursor===h);if(A===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${b}, index=${h}\uFF09`);return {context:N,message:A}}return {applications:{listJoinApplications:i,acceptJoinApplication:b=>u(b,"accept"),ignoreJoinApplication:b=>u(b,"ignore")},loadMessageContext:g,loadNewerPage:(b,h,f,S)=>y(b,h,f,false,S),dispose:()=>{n=false;}}}function nd(e){async function n(o,c,i){let u=new Map(c.filter(C$1).sort((g,b)=>g.sortKey.localeCompare(b.sortKey)).map(g=>[g.id,g]));if(u.size===0)return;let y=await e.authProvider.getLoginContext();if(y===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let g=u.values().next().value;u.delete(g.id);let b=g.extensions?.historyCursor;if(typeof b!="string"||b.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}, messageId=${g.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let h=e.getHistoryGeneration(),f=e.getHistoryEpoch(o);try{let{context:S,message:N}=await e.loadMessageContext(o,b,y.userId);if(!e.isActive()||h!==e.getHistoryGeneration()||f!==e.getHistoryEpoch(o))return;if(N.id!==g.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${b}, expected=${g.id}, actual=${N.id}\uFF09`);if(N.contentType!=="system"||C$1(N))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${b}, messageId=${g.id}\uFF09`);let A=S.messages.filter(k=>k.id===g.id||u.has(k.id));if(A.some(k=>k.contentType!=="system"||C$1(k)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${b}\uFF09`);e.domainState.upsertMessages(A,"offline",{backfillOnly:!0}),i.applyIncoming(A.flatMap(k=>{let v=e.domainState.getMessage(k.id);return v===void 0?[]:[v]}));for(let k of A)u.delete(k.id);}catch(S){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=${o}, messageId=${g.id}\uFF09`,cause:S}});}}}function r(o,c){return o?.conversationType===c.conversationType&&o.conversationId===c.conversationId}async function d(o,c=e.domainState.messageWindow){if(o.stale||!o.messages.some(C$1))return o;let i=c.info().conversation;if(i===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${o.conversationId}\uFF09`);let u=e.domainState.getConversationContext(i);if(u?.type!=="channel"||u.channelState!==void 0&&He(u.channelState))return o;let y=c.getRevision();if(await n(i.conversationId,o.messages,c),c.getRevision()!==y||!r(c.info().conversation,i))return {...o,stale:true};let g=new Map(c.list().map(b=>[b.id,b]));return {...o,messages:o.messages.map(b=>g.get(b.id)??b)}}return {reconcilePage:d}}function td(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(v,O,s,a){let E=Q({code:v,category:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":v==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:v==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...s===void 0?{}:{details:s},...a===void 0?{}:{cause:a}});return Object.assign(new Error(O),E)}function d(v){let O=v.name.trim();if(O==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(O.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let s=v.memberIds;if(!Array.isArray(s))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let a=s.map(E=>typeof E=="string"?E.trim():"");if(a.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let p=[...new Set(a)];if(p.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:O,memberIds:p}}function o(){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 v=e.crypto.randomTeaKey();if(!(v instanceof Uint8Array)||v.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let O="";for(let s of v)O+=String.fromCharCode(s);return globalThis.btoa(O)}function c$1(v,O){let s=v.trim();if(s==="")throw new Error(`${O}\u4E0D\u80FD\u4E3A\u7A7A`);return s}function i(v){let O=v.trim();if(O==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...O].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return O}function u(v){let O=v.trim();if(O==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...O].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return O}async function y(v){let O=(await e.getSelfUserId?.()??"").trim();return O!==""&&O===v.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 b(v,O,s){if(v!==1&&v!==2&&v!==4){let p=Q({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(v!==4)return {verifyType:v};let a=O?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(a)){let p=Q({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:s}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:v,inviteCode:a}}function h(v){if(!Array.isArray(v))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(v.map(O=>c$1(O,"\u793E\u7FA4\u6210\u5458 id")))]}function f(v){e.emitter?.emit({type:"channel-profile:updated",channelId:v,conversation:{conversationType:"channel",conversationId:v}});}function S(v){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(v).catch(O=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:v,error:O}}});});}function N$1(v){if(v===void 0)return;let O=typeof v=="number"?v:Number(v);return Number.isSafeInteger(O)?O:void 0}function A(v){if(typeof v=="boolean")return v;if(v===1||v==="1"||v==="true")return true;if(v===0||v==="0"||v==="false")return false}function k(v){if(v===null||typeof v!="object"||v===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let O=v.id??v.radio_id;if(typeof O!="string"&&typeof O!="number"||String(O).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let s=v.name?.trim()??"";if(s==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let a=String(O),p=N$1(v.total_users),E=N$1(v.status),R=N$1(v.verify_way),B=N$1(v.update_version),re=A(v.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:a}),name:s,...v.head_img_url?.trim()===""||v.head_img_url===void 0?{}:{avatar:v.head_img_url},...v.user_id===void 0?{}:{ownerId:String(v.user_id)},...p===void 0?{}:{memberCount:p},...E===void 0?{}:{status:E},...re===void 0?{}:{isInChannel:re},...R===void 0?{}:{verifyWay:R},...B===void 0?{}:{updateVersion:B},...v.invite_code===void 0?{}:{inviteCode:v.invite_code}}}return {...n,mentions:e.mentionCandidates??Tp,uploadAvatar:async v=>{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 Pt(e.avatarTransfer,v)},create:async v=>{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 O=d(v),s=o();try{let a=await aa({client:e.coreClient,name:O.name,memberIds:O.memberIds,secretKey:s,...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl}});if(!a.ok){let R=a.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(R,a.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:a.code,message:a.message}))}let p=k(a.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,s);let E=p.status===3?"dismissed":p.status===void 0||p.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:p.ref.conversationId,type:"channel",title:p.name,...p.avatar===void 0?{}:{avatar:p.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:E,channelPermissions:Ba$1("owner",E)}),Object.freeze({channel:p})}catch(a){throw a!==void 0&&typeof a=="object"&&a!==null&&"code"in a&&String(a.code).startsWith("IM_SDK_")?a:a instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",a.message,void 0,a):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,a)}},listProfiles:v=>e.channelProfile?.listProfiles(v)??Promise.resolve([]),getProfile:(v,O)=>e.channelProfile?.getProfile(v,O)??Promise.resolve(null),listMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),prefetchMembers:v=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(v),getCachedMembers:v=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(v),refreshMembers:v=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(v),searchMembers:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),searchMentionMembers:v=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:v.channelId,query:v.query,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),listAdmins:v=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:v.channelId,limit:v.limit??18,...v.cursor===void 0?{}:{cursor:v.cursor}}),getMembersByIds:(v,O,s)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(v,O,s),updateName:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=c$1(O,"\u793E\u7FA4\u540D\u79F0");await $e("channels.updateName",a,()=>F({client:s,channelId:a,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{title:p}),f(a);},updateDescription:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=u(O);await $e("channels.updateDescription",a,()=>F({client:s,channelId:a,description:p})),f(a);},updateAvatar:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let p=await $e("channels.updateAvatar",a,()=>Pt(e.avatarTransfer,O));return await $e("channels.updateAvatar",a,()=>F({client:s,channelId:a,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{avatar:p}),f(a),p},setMyNickname:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=i(O);await $e("channels.setMyNickname",a,()=>G({client:s,channelId:a,nickname:p})),f(a);},setMemberNickname:async(v,O,s)=>{let a=g(),p=c$1(v,"\u793E\u7FA4 id"),E=c$1(O,"\u793E\u7FA4\u6210\u5458 id");if(await y(E))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let R=i(s);await $e("channels.setMemberNickname",p,()=>H({client:a,channelId:p,userId:E,nickname:R})),f(p);},updateVerification:async(v,O,s)=>{let a=g(),p=c$1(v,"\u793E\u7FA4 id"),E=b(O,s,p);await $e("channels.updateVerification",p,()=>O$1({client:a,channelId:p,verifyType:E.verifyType,...E.inviteCode===void 0?{}:{inviteCode:E.inviteCode}})),f(p);},requestJoin:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=O?.remarks?.trim();return $e("channels.requestJoin",a,()=>qa$1({client:s,channelId:a,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=O.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return $e("channels.joinByInviteCode",a,()=>ra({client:s,channelId:a,inviteCode:p}))},setAllMuted:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id");await $e("channels.setAllMuted",a,()=>P({client:s,channelId:a,muted:O})),e.domainState?.refreshConversationProfile?.(a,"channel"),f(a);},setMemberPrivateChatDisabled:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id");await $e("channels.setMemberPrivateChatDisabled",a,()=>Q$1({client:s,channelId:a,disabled:O})),e.domainState?.refreshConversationProfile?.(a,"channel"),f(a);},inviteMembers:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=h(O);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await $e("channels.inviteMembers",a,()=>I({client:s,channelId:a,userIds:p})),f(a);},removeMember:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=c$1(O,"\u5F85\u79FB\u9664\u6210\u5458 id");await $e("channels.removeMember",a,()=>J({client:s,channelId:a,userId:p})),f(a);},addAdmin:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=c$1(O,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await $e("channels.addAdmin",a,()=>K({client:s,channelId:a,userId:p})),S(a),f(a);},removeAdmin:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=c$1(O,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await $e("channels.removeAdmin",a,()=>L({client:s,channelId:a,userId:p})),S(a),f(a);},transferOwnership:async(v,O)=>{let s=g(),a=c$1(v,"\u793E\u7FA4 id"),p=c$1(O,"\u65B0\u793E\u7FA4\u4E3B id");await $e("channels.transferOwnership",a,()=>M({client:s,channelId:a,userId:p})),S(a),e.domainState?.refreshConversationProfile?.(a,"channel"),f(a);},leave:async(v,O)=>{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 a=c$1(v,"\u793E\u7FA4 id"),p=O?.newOwnerId===void 0?void 0:c$1(O.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await $e("channels.leave",a,()=>N({client:s,channelId:a,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_left"),f(a);},dismiss:async v=>{let O=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=c$1(v,"\u793E\u7FA4 id");await $e("channels.dismiss",s,()=>R({client:O,channelId:s})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:s},"channel_dismissed"),f(s);},...e.applications,...e.pinned??wp}}function Dp(e){let r=Q({...{"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 kp(e){let n=e.responseCode===X,o=Q({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(o.code),o)}function Op(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function rd(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,o=new Map,c=new Map,i=0,u=false,y=5e3;function g$1(s,a,p){if(u)return "unknown";if(p!==void 0&&r.get(s)!==p)return d.get(s)??"unknown";let E=d.get(s);return d.set(s,a),o.set(s,Date.now()),E!==a&&e.onRelationshipChanged?.(s,a),a}function b(s,a){if(u)return;let p=f(s,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(p,++i),g$1(p,a);}function h(s){if(e.coreClient===void 0)throw new Error(`${s}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function f(s,a){let p=s.trim();if(p==="")throw new Error(`${a}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function S(s,a){e.profile!==void 0&&e.profile.getUserProfile(s,{forceRefresh:true}).catch(p=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${a}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:p}});});}async function N(s,a){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===""||a.name===void 0&&a.email===void 0&&a.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await La({client:e.coreClient,userId:s,...a.name===void 0?{}:{name:a.name},...a.email===void 0?{}:{email:a.email},...a.phones===void 0?{}:{phones:a.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}}),e.domainState.refreshConversationProfile(s,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:s});}function A(s){switch(s){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function k(s,a){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=s.trim();if(p==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let E=c.get(p);if(a&&E!==void 0)return E;let R=++i;r.set(p,R);let B=g(e.coreClient,{userId:p}).then(re=>g$1(p,A(re?.friend_status),R)).finally(()=>{c.get(p)===B&&c.delete(p);});return c.set(p,B),B}function v(s){return k(s,true)}async function O(s,a){let p=f(s,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),E;try{E=await k(p,!1);}catch(R){return u||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:p,error:R}}}),null}if(u)return null;if(E==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:p}}}),null;if(E!=="friend")return "rejected";b(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,a,Date.now());}catch(R){return u||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:p,error:R}}}),null}return u?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),S(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(s,a)=>e.profile?.getUserProfile(s,a)??Promise.resolve(null),peekProfile:s=>e.profile?.peekUserProfile?.(s)??Promise.resolve(null),setRemark:N,searchUser:s=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Y(e.coreClient,{query:s}).catch(a=>{throw a instanceof V?kp(a):a}).then(a=>{if(a===null)return null;let p=A(a.friendStatus);return b(a.userId,p),Object.freeze({userId:a.userId,displayName:a.nickname||a.miCallId||a.username||a.userId,nickname:a.nickname,relationship:p,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl},...a.username===void 0?{}:{username:a.username},...a.miCallId===void 0?{}:{miCallId:a.miCallId},...a.signature===void 0?{}:{signature:a.signature}})}),getRelationship:v,requestFriendship:async(s,a)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=f(s,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),E;try{E=await Z(e.coreClient,{userId:p,message:a.message,...a.remark===void 0?{}:{remark:a.remark}});}catch(B){throw B instanceof W?Dp(B):B}let R=Op(E.status);return b(p,R==="sent"?"pending":"friend"),R==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),S(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:R,...E.message===void 0?{}:{message:E.message}})},blockUser:async s=>{let a=f(s,"\u52A0\u5165\u9ED1\u540D\u5355");await U(h("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:a,blocked:true}),b(a,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:a}),e.emitter.emit({type:"profile:updated",profileType:"user",id:a}),S(a,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(s,a)=>{let p=f(s,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),E=a.trim();if(E==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let R=e.getSelfId?.().trim()??"";if(R==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await $(h("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:R,targetUserId:p,problem:E});},deleteFriendship:async s=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=s.trim();if(a==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await _(e.coreClient,{userId:a}),b(a,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:a});try{await e.resetDirectReadReceiptPreference?.(a);}catch(p){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:p}});}S(a,"\u5220\u9664\u597D\u53CB");},peekRelationship:s=>d.get(s.trim()),ensureRelationship(s){let a=f(s,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),p=o.get(a);return p!==void 0&&Date.now()-p<y?Promise.resolve(d.get(a)??"unknown"):v(a)},updateRelationshipFromEvent:b,resolveApplicationAnswer:O,dispose:()=>{u=true,i+=1,r.clear(),d.clear(),o.clear(),c.clear();}}}function od(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let d=e().filter(c=>c.id===n);if(d.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(d.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let o=d[0];if(o.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:o.type,conversationId:o.id}}}function ad(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let d=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=e.domainState.getConversationContext(d);if(o===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:o.type,targetId:o.id,muted:r}),e.domainState.setMuted(d,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),d=e.domainState.getSession(r);if(d===void 0)return;if(d.unreadCount===0&&d.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(d.unreadCount===0&&(d.type!=="channel"||(d.mentionUnreadCount??0)===0))return;if(d.type!=="robot"&&e.settleConversationRead!==void 0){await e.settleConversationRead(r);return}let o=e.domainState.getMessagesByConversation(r),c=o.at(-1)?.id??d.readCursor??"";if(d.type==="direct"||d.type==="robot"){c!==""&&e.domainState.advanceRead(r,c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="group"){let i=await e.authProvider.getLoginContext();if(i===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:e.http,userId:i.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let i=Va$1(o);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${d.type}`)},markConversationUnread:n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(r);},deleteConversation:n=>{let r=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.beforeDeleteConversation?.(r),e.terminateConversationSending?.(r,"conversation_deleted"),e.domainState.removeConversation(r),e.resetConversationBackground?.(r).catch(d=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",d));}}}var Go=1,xp=3;function Ho(e){return typeof Blob<"u"&&e instanceof Blob}async function id(e){return Ho(e)?new Uint8Array(await e.arrayBuffer()):e}function sd(e){async function n(P){return e.connection.sendText(P)}async function r(P){return e.connection.sendContact(P)}async function d(P){return e.connection.forwardMessages(P)}async function o(P){return e.connection.recallMessage(P)}async function c(P){return e.connection.editMessage(P)}async function i(P){return e.connection.sendImage(P)}async function u(P){return e.connection.sendVideo(P)}async function y(P){return e.connection.sendVoice(P)}async function g(P){return e.connection.sendFile(P)}async function b(P){return e.connection.sendMediaAlbum(P)}async function h(P){return e.connection.sendGif(P)}async function f(P){return e.connection.sendExpression(P)}async function S(P){return e.connection.sendGame(P)}async function N(P){return e.connection.sendMiniProgram(P)}async function A(P){return e.connection.sendTransfer(P)}async function k(P){return e.connection.sendGift(P)}async function v(P,G){return e.connection.replaceInterruptedVideo(P,G)}async function O(P,G){return e.connection.replaceInterruptedFile(P,G)}function s(P){e.connection.cancelMedia(P);}function a(P,G){return {url:P.url,...P.expectedBytes===void 0?{}:{expectedBytes:P.expectedBytes},...P.onProgress===void 0&&P.onTransferProgress===void 0?{}:{onProgress:K=>{P.onTransferProgress?.(K),P.onProgress?.(K.percent);}},...P.signal!==void 0?{signal:P.signal}:{},...G?{preferBlob:true}:{}}}async function p(P){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let G=await e.mediaTransfer.download(a(P,false)),K=await id(G);return P.teaKey!==void 0&&P.teaKey.length>0&&P.fileEncryptType!==Go?e.crypto.decryptSymmetric({teaKey:P.teaKey,cipherData:K}):K}async function E(P){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let G=await e.mediaTransfer.download(a(P,true));if(P.teaKey===void 0||P.teaKey.length===0||P.fileEncryptType===Go)return G;let K=P.teaKey;return Ho(G)?e.crypto.decryptSymmetricChunked({teaKey:K,cipherData:G,...P.signal===void 0?{}:{signal:P.signal}}):e.crypto.decryptSymmetric({teaKey:K,cipherData:G})}async function R(P){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");if(P.fileEncryptType===xp)return E(P);let G=await e.mediaTransfer.download(a(P,true));if(P.teaKey===void 0||P.teaKey.length===0||P.fileEncryptType===Go)return G;let $=P.teaKey;if(!Ho(G))return e.crypto.decryptFileSimple({teaKey:$,cipherData:G});if(G.size<=32){let M=e.crypto.decryptFileSimple({teaKey:$,cipherData:await id(G)});return new Blob([M],{type:G.type})}let T=new Uint8Array(await G.slice(0,32).arrayBuffer()),L=e.crypto.decryptFileSimple({teaKey:$,cipherData:T});return new Blob([L,G.slice(32)],{type:G.type})}function B(P){e.connection.retryMessage(P);}function re(P,G){let K={conversationType:"channel",conversationId:P},$=e.domainState.getLoadedMessagesByConversation(K),L=e.domainState.getConversationMessage(K,G)??$.find(_=>Ua(_)===G),M=Ua(L);if(L===void 0||typeof M!="string"||M.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${P}, input=${G}\uFF09`);return L.id}async function W(P){let G=P.conversationType??e.domainState.getSession(P.conversationId)?.type;if(G==="channel"){let K=re(P.conversationId,P.readCursor);await e.connection.markRead(P.conversationId,K,"channel");return}await e.connection.markRead(P.conversationId,P.readCursor,P.conversationType),G==="direct"&&await e.prepareDirectReadReceipt?.(P.conversationId);}function ae(P){if(P.conversationType!=="direct"&&P.conversationType!=="group"&&P.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${P.conversationType}`)}async function ue(P,G){ae(P);let K={...P};if(G===void 0){let L=e.domainState.getSession(K);if((L?.unreadCount??0)>0||(L?.mentionUnreadCount??0)>0){if(K.conversationType!=="group")throw new Error(`${K.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=${K.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:K.conversationId});}e.domainState.clearConversationManualUnread?.(K);return}let $=e.connection.settleConversationRead;if($===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let T=K.conversationType==="channel"?re(K.conversationId,G):G;await $(K,T),e.domainState.clearConversationManualUnread?.(K);}async function I(P,G){if(ae(P),P.conversationType!=="direct"||G.length===0)return;let K=e.connection.reportVisibleMessages;if(K===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");K(P,G),await e.prepareDirectReadReceipt?.(P.conversationId);}async function F(P,G){e.connection.reportDirectMediaConsumed?.(P,G),await e.prepareDirectReadReceipt?.(P);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:o,editMessage:c,sendImage:i,sendVideo:u,sendVoice:y,sendFile:g,sendGif:h,sendMediaAlbum:b,sendExpression:f,sendGame:S,sendMiniProgram:N,sendTransfer:A,sendGift:k,replaceInterruptedVideo:v,replaceInterruptedFile:O,cancelMediaUpload:s,loadImage:p,loadVideo:E,loadVoice:p,loadFile:R,retry:B,markRead:W,markConversationRead:ue,markVisibleMessages:I,markDirectMediaConsumed:F}}}function cd(e){return {...e.operations,get state(){return e.getState()}}}var Np=50,Lp=1e3,rn={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 je(e){let n=Q({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 Fp(e,n){switch(e){case rn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case rn.CONTACT_PERMISSION_DENIED:case rn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case rn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case rn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case rn.ALREADY_GROUP_MEMBER:case rn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case rn.GROUP_MEMBER_LIMIT_REACHED:case rn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case rn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case rn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case rn.OPERATION_FAILED:case rn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case rn.GROUP_APPLICATION_UNAVAILABLE_40521:case rn.GROUP_APPLICATION_UNAVAILABLE_40612:case rn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function Up(e){if(e instanceof j$1||e instanceof q)return e.code}function Kp(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 dd(e,n,r){let d=Up(r),o=Fp(d,e),c=Kp(r);return je({code:o,category:c.category,operation:n,retryable:c.retryable,cause:r})}function ld(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function ln(e,n){if(typeof e!="string"&&typeof e!="number")throw je({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 je({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function jo(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw je({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 ot(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 Bp(e,n,r="pending"){return Object.freeze({ref:ot(e),...n===void 0?{}:{createdAt:n},state:r})}function Gp(e){let n=jo(e.createdAt),r=Gn(e.applicantAvatar,"contact.applicantAvatar"),d=Gn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:ot({domain:"contact",applicationId:ln(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:ln(e.applicantId,"contact.applicantId"),name:ln(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:zo(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Hp(e){if(e.kind!=="request"&&e.kind!=="invite")throw je({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=jo(e.createdAt),r=Gn(e.actor.avatarUrl,"group.actor.avatarUrl"),d=Gn(e.actor.displayId,"group.actor.displayId"),o=Gn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:ot({domain:"group",applicationId:ln(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:ln(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:ln(e.actor.id,"group.actor.id"),name:ln(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:ln(e.target.id,"group.target.id"),name:ln(e.target.name,"group.target.name"),...o===void 0?{}:{avatarUrl:o}}),message:zo(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Gn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw je({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 zo(e,n){if(typeof e!="string"&&typeof e!="number")throw je({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 jp(e){let n=jo(e.createdAt),r=Gn(e.applicantAvatar,"channel.applicantAvatar"),d=Gn(e.applicantDisplayId,"channel.applicantDisplayId"),o=Gn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:ot({domain:"channel",applicationId:ln(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:ln(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:ln(e.applicantId,"channel.applicantId"),name:ln(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:ln(e.channelId,"channel.channelId"),name:ln(e.channelName,"channel.channelName"),...o===void 0?{}:{avatarUrl:o}}),message:zo(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function nr(e){return `${e.domain}:${e.applicationId}`}function ud(e){let n=false,r=0,d=0,o=new Map,c=new Map,i=new Map;function u(S,N){if(n||!e.isActive()||N!==void 0&&r!==N)throw je({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:S,retryable:false})}function y(S){if(u(S),e.contact===void 0||e.group===void 0||e.channel===void 0)throw je({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function g(S,N){let A=[],k=new Set,v;for(let O=0;O<Lp;O+=1){let s=await N({limit:Np,...v===void 0?{}:{cursor:v}});if(!Array.isArray(s.items)||typeof s.exhausted!="boolean")throw je({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:S,retryable:false});if(A.push(...s.items),s.exhausted)return A;let a=typeof s.nextCursor=="string"?s.nextCursor.trim():"";if(a===""||k.has(a))throw je({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:S,retryable:false});k.add(a),v=a;}throw je({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:S,retryable:false})}async function b(){let S="applications.listPending",N=y(S),A=r,k=++d;try{let[v,O,s]=await Promise.all([g(S,R=>N.contact.listPendingApplications(R)),g(S,R=>N.group.listPendingApplications(R)),g(S,R=>N.channel.listJoinApplications(R))]);u(S,A);let a=[...v.map(Gp),...O.map(Hp),...s.map(jp)],p=new Map;for(let R of a){let B=nr(R.ref);if(c.has(B))continue;let re=p.get(B);if(re!==void 0&&JSON.stringify(re.ref)!==JSON.stringify(R.ref))throw je({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:S,retryable:!1});(re===void 0||(R.createdAt??0)>(re.createdAt??0))&&p.set(B,R);}let E=[...p.values()].sort((R,B)=>{let re=(B.createdAt??0)-(R.createdAt??0);return re!==0?re:nr(R.ref).localeCompare(nr(B.ref))});if(k===d){o.clear();for(let R of E)o.set(nr(R.ref),R);}return Object.freeze(E)}catch(v){throw ld(v)?v:(u(S,A),dd("IM_SDK_APPLICATION_LIST_FAILED",S,v))}}function h(S,N){if(u(N),S===null||typeof S!="object")throw je({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false});let A=typeof S?.applicationId=="string"?S.applicationId.trim():"";if(A==="")throw je({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false});if(S.domain==="contact")return ot({domain:"contact",applicationId:A});let k=typeof S.conversation?.conversationId=="string"?S.conversation.conversationId.trim():"";if(S.domain==="group"&&S.conversation?.conversationType==="group"&&k!=="")return ot({domain:"group",applicationId:A,conversation:{conversationType:"group",conversationId:k}});if(S.domain==="channel"&&S.conversation?.conversationType==="channel"&&k!=="")return ot({domain:"channel",applicationId:A,conversation:{conversationType:"channel",conversationId:k}});throw je({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:N,retryable:false})}function f(S,N){let A=N==="accepted"?"applications.accept":"applications.ignore",k=h(S,A),v=nr(k),O=c.get(v);if(O===N)return Promise.resolve();if(O!==void 0)return Promise.reject(je({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:A,retryable:false}));let s=i.get(v);if(s!==void 0)return s.state===N?s.promise:Promise.reject(je({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:A,retryable:true}));let a=r,p=Promise.resolve().then(async()=>{try{let R;if(k.domain==="contact"){if(e.contact===void 0)throw je({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:A,retryable:!1});R=N==="accepted"?e.contact.acceptApplication(k.applicationId):e.contact.ignoreApplication(k.applicationId);}else if(k.domain==="group"){if(e.group===void 0)throw je({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:A,retryable:!1});R=N==="accepted"?e.group.acceptApplication(k.applicationId):e.group.ignoreApplication(k.applicationId);}else {if(e.channel===void 0)throw je({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:A,retryable:!1});R=N==="accepted"?e.channel.acceptJoinApplication(k.applicationId):e.channel.ignoreJoinApplication(k.applicationId);}if(await R,u(A,a),N==="accepted"&&k.domain==="contact"){let re=o.get(v);re?.kind==="contact-request"&&await e.onContactAccepted?.(re.applicant.id,k.applicationId);}c.set(v,N);let B=Bp(k,o.get(v)?.createdAt,N);o.delete(v),e.emitter.emit({type:"application:updated",application:B});}catch(R){throw ld(R)?R:(u(A,a),dd("IM_SDK_APPLICATION_ACTION_FAILED",A,R))}}),E=()=>{i.get(v)?.promise===p&&i.delete(v);};return i.set(v,{state:N,promise:p}),p.then(E,E),p}return {api:{listPending:b,accept:async S=>f(S,"accepted"),ignore:async S=>f(S,"ignored")},dispose(){n||(n=true,r+=1,o.clear(),c.clear(),i.clear());}}}function at(e,n,r){try{r();}catch(d){let o=d instanceof Error?d.message:String(d);throw o.includes("\u672A\u9274\u6743")?Q({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u53EA\u5B9E\u73B0")||o.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?Q({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?Q({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):o.includes("\u6CA1\u6709\u5339\u914D")||o.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?Q({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):Q({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function pd(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return at("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){at("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){at("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){at("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){at("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){at("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){at("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Vo=18,zp=12,Vp=300*1e3,qp=64,md=Object.freeze([]),Wp=0;function $p(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function fd(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??Vp,d=e.maxCacheEntries??qp;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(d)||d<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let o=++Wp,c=new Map,i=new Map,u=new Map,y=new Map,g=new Map,b=new Map,h=new Map,f=new Set,S=0,N=true,A=M=>y.get(M)??0;function k(){if(!N)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function v(M){if(M.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let _=M.conversationId.trim();if(_==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return _}function O(M){let _=c.get(M);c.delete(M),_?.page.nextPageToken!==void 0&&u.delete(_.page.nextPageToken);}function s(M,_){let U=c.get(M);return U===void 0?null:U.generation!==_||U.expiresAt<=n()?(O(M),null):(c.delete(M),c.set(M,U),U.page)}function a(M,_){for(O(M),c.set(M,_);c.size>d;){let U=c.keys().next().value;if(typeof U!="string")break;O(U);}}function p(M){let _=[],U=new Map;for(let Y of M){let X=Y.userId.trim();if(X==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");U.has(X)||_.push(X);let j=Y.displayName.trim()||X,fe=Y.avatar?.trim();U.set(X,Object.freeze({userId:X,displayName:j,...fe===void 0||fe===""?{}:{avatar:fe}}));}return Object.freeze(_.map(Y=>U.get(Y)))}async function E(M,_){let U=await ga(_);return Object.freeze(M.filter(Y=>U.match(Y.displayName)!==null||U.match(Y.userId,{pinyin:false})!==null))}async function R(M,_){let U=await G(M);return U===null?md:E(U.page.items,_)}function B(M,_){let U=[...M.items],Y=new Set(U.map(X=>X.userId));for(let X of _)Y.has(X.userId)||(Y.add(X.userId),U.push(X));return Object.freeze({...M,items:Object.freeze(U)})}function re(M,_){let U=M.map(X=>X.userId),Y=new Map(M.map(X=>[X.userId,X]));for(let X of _)Y.has(X.userId)||U.push(X.userId),Y.set(X.userId,X);return U.map(X=>Y.get(X))}function W(M,_,U){let Y=`im-channel-mention:${o}:${++S}`;for(u.set(Y,{...M,generation:_,expiresAt:U});u.size>d;){let X=u.keys().next().value;if(typeof X!="string")break;u.delete(X);}return Y}function ae(M){let _=M.nextCursor?.trim();if(M.exhausted&&_!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!M.exhausted&&(_===void 0||_===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return _}function ue(M,_,U,Y){let X=ae(M),j=X===void 0?void 0:W({..._,cursor:X},U,Y);return Object.freeze({items:p(M.items),...j===void 0?{}:{nextPageToken:j},exhausted:M.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 F(M,_){let U=g.get(M);for(U?.page.nextPageToken!==void 0&&u.delete(U.page.nextPageToken),g.delete(M),g.set(M,_);g.size>d;){let Y=g.keys().next().value;if(Y===void 0)break;let X=g.get(Y);X?.page.nextPageToken!==void 0&&u.delete(X.page.nextPageToken),g.delete(Y);}}function P(M,_){let U=n()+r,Y={channelId:M.channelId,kind:"list"},X=M.nextCursor===void 0?void 0:W({...Y,cursor:M.nextCursor},_,U);return {generation:_,updatedAt:M.updatedAt,page:Object.freeze({items:p(M.items),...X===void 0?{}:{nextPageToken:X},exhausted:M.exhausted})}}function G(M){k();let _=g.get(M);if(_!==void 0)return Promise.resolve(_);if(f.has(M)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let U=h.get(M);if(U!==void 0)return U;let Y=A(M),X=e.storage.getChannelMentionCandidateSnapshot(M).then(j=>{if(k(),j===null||j.channelId!==M||A(M)!==Y||f.has(M))return null;let fe=P(j,Y);return F(M,fe),fe}).finally(()=>{h.get(M)===X&&h.delete(M);});return h.set(M,X),X}function K(M){k();let _=b.get(M);if(_!==void 0)return _;let U=A(M),Y=I(),X=(async()=>{let j,fe=false,Ie=[];for(let ye=0;ye<zp&&!fe;ye+=1){let he=await Y.listMentionMembers({channelId:M,limit:Vo,...j===void 0?{}:{cursor:j}});if(k(),A(M)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");j=ae(he),fe=he.exhausted,Ie=re(Ie,he.items);}let ve=n(),we={channelId:M,items:Ie,...j===void 0?{}:{nextCursor:j},exhausted:fe,updatedAt:ve};if(A(M)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(we),k(),A(M)!==U)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ne=P(we,U);return F(M,Ne),Ne.page})().finally(()=>{b.get(M)===X&&b.delete(M);});return b.set(M,X),X}function $(M,_=false){k();let U=A(M.channelId),Y=$p(M);if(!_){let ve=s(Y,U);if(ve!==null)return Promise.resolve(ve)}let X=i.get(Y);if(X!==void 0&&X.generation===U)return X.promise;let j=I(),fe=M.kind==="list"?j.listMentionMembers({channelId:M.channelId,limit:Vo,...M.cursor===void 0?{}:{cursor:M.cursor}}):j.searchMentionMembers({channelId:M.channelId,query:M.keyword,limit:Vo,...M.cursor===void 0?{}:{cursor:M.cursor}}),Ie=Promise.resolve(fe).then(async ve=>{k();let we=M.kind==="search"&&M.cursor===void 0?await R(M.channelId,M.keyword):md;if(k(),A(M.channelId)!==U)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ne=n()+r,ye=ue(ve,M,U,Ne),he=we.length===0?ye:B(ye,we);return A(M.channelId)===U&&a(Y,{channelId:M.channelId,generation:U,expiresAt:Ne,page:he}),he}).finally(()=>{i.get(Y)?.promise===Ie&&i.delete(Y);});return i.set(Y,{generation:U,promise:Ie}),Ie}function T(M,_){k();let U=u.get(M);if(U===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(U.kind!==_)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${_} \u5206\u9875`);if(U.expiresAt<=n())throw u.delete(M),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(A(U.channelId)!==U.generation)throw u.delete(M),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return U}return {api:{peekFirstPage(M){if(!N)return null;let _=v(M),U=g.get(_);return U===void 0||U.generation!==A(_)?null:(F(_,U),U.page)},peekSearchCandidates(M,_){if(!N)return Object.freeze([]);let U=v(M),Y=_.trim().toLocaleLowerCase();if(Y==="")return Object.freeze([]);let X=g.get(U);return X===void 0||X.generation!==A(U)?Object.freeze([]):(F(U,X),Object.freeze(X.page.items.filter(j=>j.displayName.toLocaleLowerCase().includes(Y)||j.userId.toLocaleLowerCase().includes(Y))))},async getCachedPage(M,_){let U=v(M),Y=await G(U);if(Y===null)return null;let X=_?.trim()??"";if(X==="")return Y.page;let j=await E(Y.page.items,X);return k(),Y.generation!==A(U)?null:Object.freeze({items:j,exhausted:true})},async prefetchFirstPage(M){let _=v(M),U=await G(_);U!==null&&U.updatedAt+r>n()||await K(_);},async refreshFirstPage(M){return K(v(M))},async listFirstPage(M){let _=v(M),U=g.get(_);if(U!==void 0&&U.generation===A(_))return F(_,U),U.page;let Y=await G(_);return Y!==null?Y.page:K(_)},async listNextPage(M){return $(T(M,"list"))},async searchFirstPage(M,_){let U=v(M),Y=_.trim();return Y===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:U,kind:"search",keyword:Y})},async refreshSearchFirstPage(M,_){let U=v(M),Y=_.trim();return Y===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:U,kind:"search",keyword:Y},true)},async searchNextPage(M){return $(T(M,"search"))}},async invalidate(M){if(!N)return;let _=M.trim();if(_==="")return;y.set(_,A(_)+1),f.add(_);let U=g.get(_);U?.page.nextPageToken!==void 0&&u.delete(U.page.nextPageToken),g.delete(_),b.delete(_),h.delete(_);for(let[Y,X]of c)X.channelId===_&&O(Y);for(let[Y,X]of u)X.channelId===_&&u.delete(Y);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(_),f.delete(_));},clear(){if(!N)return;let M=new Set;for(let _ of c.values())M.add(_.channelId);for(let _ of u.values())M.add(_.channelId);for(let _ of M)y.set(_,A(_)+1);c.clear(),u.clear(),i.clear(),g.clear(),b.clear(),h.clear(),f.clear();},dispose(){N&&(N=false,c.clear(),u.clear(),i.clear(),g.clear(),b.clear(),h.clear(),f.clear());}}}var Jp=20*1024*1024;function En(e){return Q({...e,retryable:e.retryable??false})}function qo(e,n){if(e?.conversationType==="supergroup")throw En({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 En({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function Yp(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 En({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Xp(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw En({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function gd(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw En({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Xp(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw En({code:e.blob instanceof Blob&&e.blob.size>r?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let d=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:d}}function Wo(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 Qp(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function yd(e){let n=e.maxCustomImageBytes??Jp,r=false,d=0,o,c;async function i(y,g){try{return await g(Yp(e.storage,y))}catch(b){throw typeof b=="object"&&b!==null&&"code"in b?b:En({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:y,cause:b})}}return {api:{async getBackground(y){let g="conversations.getBackground",b=qo(y,g);return i(g,async h=>{let f=await h.getConversationBackground(b);if(f!==null)return Object.freeze({source:"conversation",selection:Wo(f)});let S=await h.getDefaultConversationBackground();return Object.freeze(S===null?{source:"builtin",selection:null}:{source:"default",selection:Wo(S)})})},async setBackground(y,g){let b="conversations.setBackground",h=qo(y,b),f=await gd(g,b,n);await i(b,S=>S.saveConversationBackground(h,f));},async resetBackground(y){let g="conversations.resetBackground",b=qo(y,g);await i(g,h=>h.deleteConversationBackground(b));},async getDefaultBackground(){return i("conversations.getDefaultBackground",async g=>{let b=await g.getDefaultConversationBackground();return Object.freeze(b===null?{source:"builtin",selection:null}:{source:"default",selection:Wo(b)})})},async setDefaultBackground(y){let g="conversations.setDefaultBackground",b=await gd(y,g,n);await i(g,h=>h.saveDefaultConversationBackground(b));},async resetDefaultBackground(){await i("conversations.resetDefaultBackground",g=>g.deleteDefaultConversationBackground());},listBackgroundPresets(y){let g="conversations.listBackgroundPresets";if(r)return Promise.reject(En({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g}));if(!y?.forceRefresh&&o!==void 0)return Promise.resolve(o);if(!y?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(En({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:g}));let b=++d,h=ga$1(e.coreClient).then(f=>{let S=Object.freeze(f.map(Qp));return !r&&b===d&&(o=S),S}).catch(f=>{throw En({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:g,retryable:true,cause:f})}).finally(()=>{b===d&&(c=void 0);});return c=h,h}},dispose(){r=true,d+=1,o=void 0,c=void 0;}}}var $o=2;async function Zp(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,o,c;for(let y=0;y<=$o;y+=1){e.signal?.throwIfAborted();let g=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),g===void 0)break;if(o!==void 0&&o!==g.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");o=g.readCursorSortKey,c=g;for(let f of g.messages){if(f.conversationId!==e.conversation.conversationId||f.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(f.id,f);}let b=[...n.values()].sort(m$1),h=Et(b,e.selfId,o,e.isEntryUnread).unreadMessages;if(Kr(h)&&g.exhausted)return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(h.some(f=>f.contentType!=="system")||g.exhausted||g.nextCursor===void 0||g.nextCursor===d||r.has(g.nextCursor))break;r.add(g.nextCursor),d=g.nextCursor;}let i=[...n.values()].sort(m$1),u=Et(i,e.selfId,o,e.isEntryUnread).unreadMessages[0];return u!==void 0&&c!==void 0?(await e.openAt(u.sortKey,{messages:i,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),Jo(u.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function Kr(e){return e.length>0&&e.every(n=>n.contentType==="system")}function em(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Et(e,n,r,d){let o=[];for(let c of e)!em(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??ma$1(c,n))&&o.push(c);return {unreadMessages:o}}function Jo(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Yo(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return Zp(e);if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let o=Et(e.list(),e.selfId,e.readCursorSortKey,e.isEntryUnread);for(let i=0;(o.unreadMessages.length<e.unreadCount||Kr(o.unreadMessages))&&e.hasNewer()&&i<$o;i+=1)await e.loadNewer(),o=Et(e.list(),e.selfId,e.readCursorSortKey,e.isEntryUnread);if(o.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});if(!e.hasNewer()&&Kr(o.unreadMessages))return await e.openLatest(),Object.freeze({state:"none"});let c=o.unreadMessages[0];return c===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(c.sortKey),Jo(c.id,e.unreadCount))}await e.openLatest();let n=Et(e.list(),e.selfId,void 0,e.isEntryUnread);for(let o=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&o<$o;o+=1)await e.loadOlder(),n=Et(e.list(),e.selfId,void 0,e.isEntryUnread);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let r=n.unreadMessages.slice(-e.unreadCount);if(Kr(r))return await e.openLatest(),Object.freeze({state:"none"});let d=r[0];return d===void 0?(await e.openLatest(),Object.freeze({state:"unavailable"})):(await e.openAt(d.sortKey),Jo(d.id,e.unreadCount))}function tr(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},o=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}o.has(c.userId)||(o.add(c.userId),r.push(c.userId),c.displayName.trim()!==""&&(d[c.userId]=c.displayName));}return {atAll:n,atUserIds:r,...Object.keys(d).length===0?{}:{atUsersName:d}}}function nm(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function tm(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Id(e){let n=[...new Set(e.messageIds.map(i=>i.trim()).filter(i=>i!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],o=[],c;for(let i of tm(n)){if(!e.isCurrent()){o.push(...i);continue}try{let u=await e.fetchBatch(i);if(!e.isCurrent()){o.push(...i);continue}let y=new Set(u.messages.map(b=>b.id)),g=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),d.push(...u.missingMessageIds);for(let b of i)!y.has(b)&&!g.has(b)&&o.push(b);}catch(u){o.push(...i),c=nm(u);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:o,...c===void 0?{}:{failure:c}}}var Qo=new WeakMap;function Br(e,n){let r=Qo.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Qo.set(e,r);}var rm={"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}},om={"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}},vd={"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}},hd={"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 Cd(e,n,r){let d=Q({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function am(e,n){let r=Q({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 im=3*1024*1024,Xo=200*1024*1024,bd=2*1024*1024*1024,Md=30*1024*1024,Sd=4294967295,sm=6,cm=16*1024;async function dm(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let r=new Uint8Array(await e.slice(0,6).arrayBuffer());if(r.length!==6)return false;let d=String.fromCharCode(...r);return d==="GIF87a"||d==="GIF89a"}var lm={"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 Gr(e,n,r,d,o={},c={}){c.signal?.throwIfAborted();let i=Object.freeze({...e}),u=n.pageSize??30,y={retention:{maxMessages:u*sm},...o.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(m,C)=>o.shouldEstablishRemoteLatestOnOpen?.(C)===true}},g=n.domainState.createMessageWindow({...y}),b=new Set,h=new Set,f=new Map,S,N,A=false,k=false,v=false,O=true,s=0,a=Object.freeze({state:"none"}),p=c.captureEntryUnread===true&&i.conversationType!=="robot",E=p?n.domainState.getSession(i):void 0,R=Math.max(0,E?.manuallyUnread===true?0:E?.unreadCount??0),B=p?n.domainState.getReadState(i):void 0,re=n.getSelfId(),W=new Map,ae=new Set,ue,I,F=B?.readCursorSortKey,P=p?Object.freeze(R>0?{state:"pending",count:R}:{state:"none"}):void 0,G=0,K,$,T=0,L=false,M,_;if(p)for(let m of n.domainState.getLoadedMessagesByConversation(i))W.set(m.id,ma$1(m,re)),B?.readCursor===(i.conversationType==="channel"?m.extensions?.historyCursor:m.id)&&(F=m.sortKey);let U=new AbortController,Y=new WeakMap,X;function j(){if(k)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function fe(){let m=g.window.info();return {messages:g.window.list(),context:n.domainState.getConversationContext(i),draft:n.domainState.getDraft(i),loading:f.size>0,stale:A,hasOlder:m.hasMore,hasNewer:m.hasNewer,error:N,entryUnread:a,entryUnreadNavigation:P}}function Ie(m,C){return m.length===C.length&&m.every((w,H)=>w===C[H])}function ve(m,C){return Ie(m.messages,C.messages)&&(m.context?.title??"")===(C.context?.title??"")&&(m.context?.avatar??"")===(C.context?.avatar??"")&&m.draft===C.draft&&m.loading===C.loading&&m.stale===C.stale&&m.hasOlder===C.hasOlder&&m.hasNewer===C.hasNewer&&m.error===C.error&&m.entryUnread===C.entryUnread&&m.entryUnreadNavigation===C.entryUnreadNavigation}function we(m){let C=Y.get(m);if(C!==void 0)return C;let w=wr(m);return Y.set(m,w),w}function Ne(m){let C=m.context;return {ref:i,...C===void 0?{}:{display:Object.freeze({title:C.title,...C.avatar===void 0?{}:{avatar:C.avatar}})},messages:Object.freeze(m.messages.map(we)),entryUnread:m.entryUnread,...m.entryUnreadNavigation===void 0?{}:{entryUnreadNavigation:m.entryUnreadNavigation},draft:m.draft,loading:m.loading,stale:m.stale,hasOlder:m.hasOlder,hasNewer:m.hasNewer,...m.error===void 0?{}:{error:m.error}}}function ye(){return j(),Ne(fe())}function he(){zn();let m=fe();if(X!==void 0&&ve(X,m))return;X=m;let C=Ne(m);for(let w of b)try{w(C);}catch(H){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}async function Ue(m){let C=g.window.list().find(be=>be.id===m)??n.domainState.getConversationMessage(i,m);if(C!==void 0)return {anchor:C};let w=n.domainState.getPinnedMessage(i),H=w?.messageId===m&&w.preview.state==="ready"?w.preview.message:void 0;if(H!==void 0)return {anchor:H,fallbackSeed:H};let ne=n.resolveSearchHistoryAnchor?.(i,m);if(ne!==void 0)return {anchor:ne};let pe=await n.domainState.resolveConversationMessage(i,m);return pe===void 0?void 0:{anchor:pe}}function Ke(m,C,w){j();let H=g,ne=w?.window??H.window,pe=w?.isCurrent??(()=>!k&&g===H),be=()=>{if(j(),!pe())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(S!==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 me=f.get(m);if(me!==void 0)return me;let te=n.beginReceiving?.();N=void 0;let Me=Promise.resolve().then(()=>(be(),C())).then(Se=>(be(),o.reconcilePage===void 0?Se:o.reconcilePage(Se,ne))).then(Se=>{be(),A=Se.stale===true;}).catch(Se=>{let ze=Se instanceof Ka$1?Se.cause:Se;throw pe()&&(N=Dn(ze,`history.${m}`,i)),O?Se:ze}).finally(()=>{te?.(),f.delete(m),k||he();});return f.set(m,Me),he(),Me}function on(){g.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u));}async function ct(){L=false,v?v=false:await Ke("latest",()=>g.window.open(i,{limit:u})),on(),o.shouldEstablishRemoteLatestOnOpen?.(g.window.list())===true&&(await Ke("latest:remote",()=>g.window.loadOlder({limit:u})),on()),L=!A,kn(g.window.list());}function hn(){if(j(),$?.version===G)return $.promise;let m=++G,C=dt(m).finally(()=>{$?.version===m&&($=void 0);});return $={version:m,promise:C},C}async function dt(m){let C=g,w=n.domainState.createMessageWindow(y),H=()=>!k&&G===m&&g===C,ne=()=>{if(!H())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},pe={window:w.window,isCurrent:H},be=(te,Me)=>Ke(te,async()=>{let Se=await Me();if(Se.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Se},pe),me=false;try{await be(`latest:${m}`,()=>w.window.open(i,{limit:u})),ne(),w.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u)),o.shouldEstablishRemoteLatestOnOpen?.(w.window.list())===!0&&(await be(`latest:remote:${m}`,()=>w.window.loadOlder({limit:u})),ne(),w.window.applyIncoming(n.domainState.getMessagesByConversation(i).slice(-u))),g=w,me=!0,C.dispose(),L=!0,A=!1,kn(w.window.list()),he();}finally{me||w.dispose();}}function kn(m){let C=o.resolveReadMessageId?.(m);M=o.resolveReadMessageId===void 0?m.at(-1):m.find(w=>w.id===C);}function lt(m){return ae.has(m.id)||ue===void 0||m.sortKey>ue||F!==void 0&&m.sortKey<=F?false:W.get(m.id)??ma$1(m,re)}function or(){if(!p||R<=0)return;let C=g.window.list().filter(w=>!ae.has(w.id));ue=C.at(-1)?.sortKey;for(let w of C)W.has(w.id)||W.set(w.id,ma$1(w,re));if(c.initialPosition==="first-unread"&&a.state==="located"){I=a.firstMessageId,P=Object.freeze({state:"located",count:R,firstMessageId:a.firstMessageId});return}zn();}function zn(){if(!p||R<=0||I!==void 0||ue===void 0||P?.state==="none")return;let m=g.window.list();if(!m.some(ne=>ne.sortKey===ue))return;let C=m.filter(ne=>lt(ne)&&ha(ne)&&ne.recalled===void 0&&ne.deletedForEveryone===void 0);if(C.length<R)return;let w=C.slice(-R);if(w.every(ne=>ne.contentType==="system")){P=Object.freeze({state:"none"});return}let H=w[0];I=H.id,a=Object.freeze({state:"located",firstMessageId:H.id,count:R}),P=Object.freeze({state:"located",firstMessageId:H.id,count:R});}function un(){if(j(),K!==void 0)return K;if(P===void 0||P.state==="none")return Promise.resolve(false);let m=++G,C=n.domainState.createMessageWindow(y),w=()=>!k&&!U.signal.aborted&&G===m,H=()=>{if(!w())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},ne=async te=>{H();let Me=await te();if(o.reconcilePage!==void 0&&(Me=await o.reconcilePage(Me,C.window)),H(),Me.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");C.window.applyIncoming(C.window.list().map(Se=>n.domainState.getConversationMessage(i,Se.id)??Se));},pe=false,be=n.beginReceiving?.(),me=(async()=>{try{let te=I,Me=te===void 0?void 0:await Ue(te);if(H(),te!==void 0&&Me===void 0)return P=Object.freeze({state:"unavailable",count:R}),!1;let Se=Me===void 0?await Yo({conversation:i,pageSize:u,unreadCount:R,...F===void 0?{}:{readCursorSortKey:F},signal:U.signal,selfId:re,isEntryUnread:lt,...i.conversationType!=="channel"||!B?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Ln=>{let tn=await n.loadEntryUnreadPage({readCursor:B.readCursor,...Ln===void 0?{}:{cursor:Ln},signal:U.signal,isCurrent:w});return H(),tn}},list:()=>C.window.list(),hasOlder:()=>C.window.info().hasMore,hasNewer:()=>C.window.info().hasNewer,openLatest:async()=>{await ne(()=>C.window.open(i,{limit:u})),o.shouldEstablishRemoteLatestOnOpen?.(C.window.list())===!0&&await ne(()=>C.window.loadOlder({limit:u}));},openAt:(Ln,tn)=>ne(()=>C.window.openAt(i,{anchorSortKey:Ln,limit:u,...tn===void 0?{}:{seedMessages:tn.messages.map(bn=>n.domainState.getConversationMessage(i,bn.id)??bn),seedHasNewer:tn.hasNewer,seedRemotePagination:tn.nextCursor===void 0?{}:{newerCursor:tn.nextCursor}}})),loadOlder:()=>ne(()=>C.window.loadOlder({limit:u})),loadNewer:()=>ne(()=>C.window.loadNewer({limit:u}))}):await(async()=>(await ne(()=>C.window.openAt(i,{anchorSortKey:Me.anchor.sortKey,limit:u})),{state:"located",firstMessageId:Me.anchor.id,count:R}))();if(H(),Se.state!=="located")return P=Object.freeze(Se.state==="none"?{state:"none"}:{state:"unavailable",count:R}),!1;let ze=C.window.list().find(Ln=>Ln.id===Se.firstMessageId);if(ze===void 0||!ha(ze)||ze.recalled!==void 0||ze.deletedForEveryone!==void 0)return P=Object.freeze({state:"unavailable",count:R}),!1;let kt=g;return g=C,pe=!0,kt.dispose(),I=Se.firstMessageId,a=Se,P=Object.freeze({state:"located",count:R,firstMessageId:Se.firstMessageId}),N=void 0,!0}catch(te){let Me=te instanceof Ka$1?te.cause:te;if(w()){let Se=Dn(Me,"history.loadEntryUnread",i);P=Object.freeze({state:"failed",count:R,error:Se});}throw Me}finally{pe||C.dispose(),be?.(),K=void 0,k||he();}})();return K=me,me}async function an(){if(L){let w=new Map,H=n.domainState.getLoadedMessagesByConversation(i);for(let pe of [M,...H])pe!==void 0&&w.set(pe.id,n.domainState.getConversationMessage(i,pe.id)??pe);let ne=[...w.values()].sort((pe,be)=>pe.sortKey.localeCompare(be.sortKey));return kn(ne),M?.id}let m=T,C=n.domainState.createMessageWindow(y);try{let w=await C.window.open(i,{limit:u});if(j(),w.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(o.shouldEstablishRemoteLatestOnOpen?.(C.window.list())===!0){let ne=await C.window.loadOlder({limit:u});if(j(),ne.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(m!==T)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");kn(C.window.list()),L=!0;let H=C.window.list();return o.resolveReadMessageId===void 0?H.at(-1)?.id:o.resolveReadMessageId(H)}finally{C.dispose();}}async function ar(){let m=n.domainState.getSession(i),C=Math.max(0,m?.manuallyUnread===true?0:m?.unreadCount??0),w=n.domainState.getReadState(i),H=w?.readCursor,pe=(H===void 0||H===""?void 0:i.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(i).find(be=>be.extensions?.historyCursor===H):n.domainState.getConversationMessage(i,H))?.sortKey??w?.readCursorSortKey;a=await Yo({conversation:i,pageSize:u,unreadCount:C,...pe===void 0?{}:{readCursorSortKey:pe},signal:U.signal,...i.conversationType!=="channel"||H===void 0||H===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async be=>{let me=g.window.getRevision(),te=()=>!k&&!U.signal.aborted&&g.window.getRevision()===me,Me=await n.loadEntryUnreadPage({readCursor:H,...be===void 0?{}:{cursor:be},signal:U.signal,isCurrent:te});if(U.signal.throwIfAborted(),!te())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Me}},selfId:n.getSelfId(),list:()=>g.window.list(),hasOlder:()=>g.window.info().hasMore,hasNewer:()=>g.window.info().hasNewer,openLatest:ct,openAt:(be,me)=>{v=false;let te=me?.messages.map(ze=>n.domainState.getConversationMessage(i,ze.id)??ze),Me=me?.messages.find(ze=>ze.sortKey===be)?.id,Se=Me===void 0?be:te?.find(ze=>ze.id===Me)?.sortKey??be;return Ke(`entry-unread:${be}`,()=>g.window.openAt(i,{anchorSortKey:Se,limit:u,...me===void 0?{}:{seedMessages:te,seedHasNewer:me.hasNewer,seedRemotePagination:me.nextCursor===void 0?{}:{newerCursor:me.nextCursor}}}))},loadOlder:()=>Ke("entry-unread:older",()=>g.window.loadOlder({limit:u})),loadNewer:()=>Ke("entry-unread:newer",()=>g.window.loadNewer({limit:u}))});}let Tt=n.emitter.subscribe(m=>{if(!(k||!("conversation"in m)||m.conversation===void 0)&&!(m.conversation.conversationType!==i.conversationType||m.conversation.conversationId!==i.conversationId)){if((m.type==="conversation-history:cleared"||m.type==="session:removed")&&(U.abort(),G+=1,a=Object.freeze({state:"none"}),p&&(P=Object.freeze({state:"none"})),T+=1,_?.dispose(),_=void 0,L=false,M=void 0),m.type==="message:received"&&m.source==="live"&&(p&&ae.add(m.message.id),L&&(M===void 0||m.message.sortKey>M.sortKey)&&(o.resolveReadMessageId===void 0||o.resolveReadMessageId([m.message])===m.message.id)&&(M=m.message)),m.type==="draft:updated"||m.type==="draft:cleared"){let C=m.type==="draft:updated"?m.draft:null;for(let w of h)try{w(C);}catch(H){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:H}});}}he();}});function Cn(){return c.initialPosition==="first-unread"?ar():ct()}let fn=()=>{U.abort(c.signal?.reason),g.dispose();};c.signal?.addEventListener("abort",fn,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await Ke("initial:local",()=>g.window.open(i,{limit:u})),c.signal?.throwIfAborted(),on(),v=!0;try{await Cn();}catch(m){if(c.signal?.throwIfAborted(),m instanceof Ka$1)throw m;N=Dn(m,"history.initial",i),c.initialPosition==="first-unread"&&(a=Object.freeze({state:"unavailable"}));}finally{v=!1;}}else await Cn();c.signal?.throwIfAborted();}catch(m){throw k=true,U.abort(),Tt(),b.clear(),g.dispose(),m instanceof Ka$1?m.cause:m}finally{c.signal?.removeEventListener("abort",fn);}O=false,or();function Je(m,C){let w=n.domainState.getMessage(m);return w!==void 0&&w.conversationType===i.conversationType&&w.conversationId===i.conversationId?{ok:true,message:St(w)}:{ok:false,error:Q({code:w===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:i})}}async function Ye(m,C,w){let H=await o.getSendPermissionError?.(m);if(j(),H!==void 0){if(w===void 0)return {ok:false,error:H};let ne=await w(H);return j(),ne}try{let ne=await C();return j(),ne}catch(ne){if(k)throw ne;return {ok:false,error:Dn(ne,m,i)}}}async function On(m,C={}){let w="name"in m?m.name:void 0,H=C.fileName??(typeof w=="string"&&w!==""?w:void 0);return {...i,data:m,...m.type===""?{}:{mimeType:m.type},...H===void 0?{}:{filename:H},...i.conversationType==="robot"?{encrypted:false}:{},...C.localPreviewUrl===void 0?{}:{localPreviewUrl:C.localPreviewUrl},...C.localPreviewMetadata===void 0?{}:{localPreviewMetadata:C.localPreviewMetadata},...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}}}function xn(m){return m===void 0||Number.isFinite(m.width)&&m.width>0&&Number.isFinite(m.height)&&m.height>0}function pn(m){return xn(m)&&(m?.duration===void 0||Number.isFinite(m.duration)&&m.duration>0)&&(m?.posterData===void 0||m.posterData instanceof Uint8Array&&m.posterData.length>0&&m.posterData.length<=cm)}function Vn(m){return m!==void 0&&"duration"in m&&m.duration!==void 0&&Number.isFinite(m.duration)&&m.duration>0}function Ce(m,C,w){return {ok:false,error:Q({code:m,category:C,operation:w,retryable:false,conversation:i})}}function ir(m,C){if(m===null||typeof m!="object"||m.kind!==C||!Number.isSafeInteger(m.width)||m.width<=0||m.width>Sd||!Number.isSafeInteger(m.height)||m.height<=0||m.height>Sd)return false;let w;try{w=new URL(m.url);}catch{return false}if(w.protocol!=="http:"&&w.protocol!=="https:"||w.username!==""||w.password!=="")return false;let H=m.resourceId;if(H!==void 0&&(typeof H!="string"||H.trim()===""))return false;if(C==="gif")return !Object.prototype.hasOwnProperty.call(m,"packageId");let ne=m.packageId;return typeof H=="string"&&H.trim()!==""&&typeof ne=="string"&&ne.trim()!==""}function sn(m){return Object.assign(new Error(m.code),m,{name:"ImMessageActionError"})}function zr(m,C,w){if(m==="direct"||m==="group"||m==="channel"||m==="robot")return Object.freeze({conversationType:m,conversationId:C});throw sn(Q({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:w,retryable:false,conversation:i,details:{targetConversationType:m,targetConversationId:C}}))}async function _t(m,C,w){let H;try{H=await n.forwardMessages({messages:C,targets:w.map(ne=>({...ne}))});}catch(ne){throw sn(Dn(ne,m,i))}return j(),Object.freeze({sent:Object.freeze(H.results.flatMap(ne=>ne.ok?[{conversation:zr(ne.targetConversationType,ne.targetConversationId,m),messageId:ne.newMessageId}]:[])),failed:Object.freeze(H.results.flatMap(ne=>ne.ok?[]:[{sourceMessageId:ne.sourceMessageId,conversation:Object.freeze({conversationType:ne.targetConversationType,conversationId:ne.targetConversationId}),error:Q({...lm[ne.reason],operation:m,conversation:{conversationType:ne.targetConversationType,conversationId:ne.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...H.skippedSourceIds])})}function Nn(m,C){let w=n.domainState.getConversationMessage(i,m);if(w===void 0){let H=n.domainState.getMessage(m);throw sn(Q({code:H===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:i}))}if(w.conversationType!==i.conversationType||w.conversationId!==i.conversationId)throw sn(Q({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:C,retryable:false,conversation:i}));return w}function Tn(m,C){return sn(Q({...C,operation:m,conversation:i}))}function ut(m,C){let w=Q({code:m,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:i,...C===void 0?{}:{cause:C}});return Object.assign(new Error(m),w,{name:"ImLocalMessageDeletionError"})}function pt(m,C){let w=Q({code:m,category:"state",operation:"history.clearLocal",retryable:false,conversation:i,...C===void 0?{}:{cause:C}});return Object.assign(new Error(m),w,{name:"ImLocalConversationHistoryClearError"})}function z(){if(k)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(S!==void 0)return S;n.invalidateHistory?.(i);let m=[...f.values()],C=Promise.all(m).then(async()=>{j();let w=[...n.domainState.getMessagesByConversation(i),...g.window.list()];if(n.hasOutboxForConversation(i)||w.some(H=>n.isOutboxOwned(H.id)))throw pt("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(w.some(H=>H.status==="pending"||H.status==="uploading"||H.status==="sending"))throw pt("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(i),j(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(w=>{throw w instanceof Error&&w.name==="ImLocalConversationHistoryClearError"?w:pt("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",w)}).finally(()=>{S===C&&(S=void 0);});return S=C,C}async function gn(m,C){if(m!==void 0)try{await n.domainState.clearDraftIfUnchanged(i,m);}catch(w){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${C}\uFF09`,cause:w}});}}async function qn(m,C,w,H,ne){return Ye(m,async()=>{if(C==="image"){let te=await Tr(w);if(j(),!te)return Ce("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",m)}let pe=await On(w,H);if(j(),C!==void 0&&pe.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let te=new AbortController,Me=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${m}:${++s}`,kind:C,file:w,signal:te.signal});if(j(),Me===void 0||(C==="image"?!xn(Me):!pn(Me)))return Ce(C==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);pe.localPreviewMetadata=Me;}if(C==="video"&&(n.prepareMediaPreview!==void 0||pe.localPreviewMetadata!==void 0)&&!Vn(pe.localPreviewMetadata))return Ce("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);let be=o.recheckSendPermissionError?.(m);if(be!==void 0)return {ok:!1,error:be};let me=await ne({...pe,...H.filesAlbum===void 0?{}:{filesAlbum:H.filesAlbum},...H.caption===void 0||H.caption===""?{}:{caption:H.caption}});return me.ok?(j(),Je(me.messageId,m)):{ok:!1,error:Jt(me.reason,m,i)}})}async function Dt(m,C){let w="messages.sendMediaAlbum";if(m.length===0)return Ce("IM_SDK_MEDIA_ALBUM_EMPTY","validation",w);if(m.length>q$1)return Ce("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",w);if(C.caption!==void 0&&C.caption.length>p$1)return Ce("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",w);for(let H of m){if(H.file.type==="image/gif")return Ce("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",w);if(H.kind==="image"){if(H.file.size>Md)return Ce("IM_SDK_IMAGE_TOO_LARGE","validation",w);if(!xn(H.localPreviewMetadata))return Ce("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",w)}else {if(H.file.size>Xo)return Ce("IM_SDK_VIDEO_TOO_LARGE","validation",w);if(!pn(H.localPreviewMetadata))return Ce("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",w)}}return Ye(w,async()=>{for(let me of m){if(me.kind!=="image")continue;let te=await Tr(me.file);if(j(),!te)return Ce("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",w)}let H=await Promise.all(m.map(async me=>{if(me.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return me.localPreviewMetadata;let te=new AbortController;return n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${w}:${++s}`,kind:me.kind,file:me.file,signal:te.signal})}));j();let ne=[];for(let[me,te]of m.entries()){let Me=H[me];if(te.kind==="image"&&!xn(Me))return Ce("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",w);if(te.kind==="video"){if(!pn(Me))return Ce("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",w);if(n.prepareMediaPreview!==void 0&&!Vn(Me))return Ce("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",w)}let Se="name"in te.file?te.file.name:void 0;ne.push({kind:te.kind,data:te.file,...te.file.type===""?{}:{mimeType:te.file.type},...typeof Se=="string"&&Se!==""?{filename:Se}:{},...te.localPreviewUrl===void 0?{}:{localPreviewUrl:te.localPreviewUrl},...Me===void 0?{}:{localPreviewMetadata:Me}});}let pe=o.recheckSendPermissionError?.(w);if(pe!==void 0)return {ok:!1,error:pe};let be=await n.sendMediaAlbum({...i,items:ne,...C.caption===void 0||C.caption.trim()===""?{}:{caption:C.caption},...C.hd===void 0?{}:{hd:C.hd},...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return be.ok?(j(),Je(be.messageId,w)):{ok:!1,error:Jt(be.reason,w,i)}})}function mt(m,C,w){let H=Nn(m,w);if(!(H.contentType===C||C==="file"&&H.contentType==="filesAlbum"&&H.body.filesAlbum?.items.length===1)||H.status!=="failed"||!(H.failure?.displayCode==="media.uploadInterrupted"||H.failure?.displayCode==="media.cancelled"||H.failure?.displayCode==="media.uploadTimeout"&&H.failure.retryable===false)||n.isOutboxOwned(m))throw sn(Q({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:w,retryable:false,conversation:i}));return H}async function sr(m,C,w,H,ne,pe){return mt(C,w,m),Ye(m,async()=>{let be=await On(H,ne);if(w==="video"&&be.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Me=new AbortController,Se=await n.prepareMediaPreview({operationId:`${i.conversationType}:${i.conversationId}:${m}:${++s}`,kind:"video",file:H,signal:Me.signal});if(j(),Se===void 0||!pn(Se))return Ce("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);be.localPreviewMetadata=Se;}if(w==="video"&&(n.prepareMediaPreview!==void 0||be.localPreviewMetadata!==void 0)&&!Vn(be.localPreviewMetadata))return Ce("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);let me=o.recheckSendPermissionError?.(m);if(me!==void 0)return {ok:!1,error:me};mt(C,w,m);let te=await pe(C,{...be,...ne.caption===void 0||ne.caption===""?{}:{caption:ne.caption}});return te.ok?(j(),Je(te.messageId,m)):{ok:!1,error:Jt(te.reason,m,i)}})}let qe={ref:i,getSnapshot:ye,subscribe(m){return j(),b.add(m),()=>b.delete(m)},resolveMessage:async m=>{j();let C=g.window.list().find(w=>w.id===m)??await n.domainState.resolveConversationMessage(i,m);return C===void 0?null:we(C)},history:{loadEntryUnread:()=>un(),loadLatest:async()=>hn(),loadOlder:async()=>(j(),G+=1,Ke("older",()=>g.window.loadOlder({limit:u}))),loadNewer:async()=>{j(),G+=1,await Ke("newer",()=>g.window.loadNewer({limit:u})),j(),g.window.info().hasNewer||(on(),he());},loadAround:async m=>{j();let C=++G,w=g,H=()=>!k&&G===C&&g===w,ne=()=>{if(j(),!H())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},pe=await Ue(m);if(ne(),pe===void 0||pe.anchor.conversationType!==i.conversationType||pe.anchor.conversationId!==i.conversationId)throw am(i,m);let{anchor:be}=pe,me=n.domainState.createMessageWindow(y),te=me.window,Me=false;try{await Ke(`around:${m}:${C}`,async()=>{ne();let Se=await te.openAt(i,{anchorSortKey:be.sortKey,limit:u});return ne(),te.list().some(ze=>ze.id===m)||pe.fallbackSeed===void 0?Se:te.openAt(i,{anchorSortKey:be.sortKey,limit:u,seedMessages:[pe.fallbackSeed],seedHasNewer:!0})},{window:te,isCurrent:H}),ne(),g=me,Me=!0,w.dispose(),he();}finally{Me||me.dispose();}},clearLocal:async()=>(j(),z())},messages:{sendText:async(m,C={})=>{j();let w=r(i,m,C);if("code"in w)return {ok:false,error:w};let H=n.domainState.getDraft(i)?.updatedAt;return Ye("messages.sendText",async()=>{let ne=await n.sendText(w);return j(),await gn(H,"messages.sendText"),Je(ne.id,"messages.sendText")},async ne=>{let pe=o.appendTextPermissionFailure?.(w);return pe===void 0?{ok:false,error:ne}:(await gn(H,"messages.sendText"),{ok:true,message:St(pe)})})},sendContact:async(m,C={})=>{j();let w=m.targetId.trim(),H=m.displayName.trim();if(w===""||H==="")return {ok:false,error:Q({code:w===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:i})};let ne={...i,contact:{...m,targetId:w,displayName:H},encrypted:i.conversationType!=="direct"&&i.conversationType!=="robot",...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}};return Ye("messages.sendContact",async()=>{let pe=await n.sendContact(ne);return Je(pe.id,"messages.sendContact")})},sendImage:async(m,C={})=>(j(),m.size>Md?Ce("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):C.caption!==void 0&&C.caption!==""?Ce("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):xn(C.localPreviewMetadata)?qn("messages.sendImage","image",m,C,n.sendImage):Ce("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(m,C={})=>(j(),Dt(m,C)),sendVideo:async(m,C={})=>(j(),m.size>Xo?Ce("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):pn(C.localPreviewMetadata)?qn("messages.sendVideo","video",m,C,n.sendVideo):Ce("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(m,C,w={})=>(j(),C.size>Xo?Ce("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):pn(w.localPreviewMetadata)?sr("messages.replaceInterruptedVideo",m,"video",C,w,n.replaceVideo):Ce("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(m,C)=>(j(),Ye("messages.sendVoice",async()=>{let w=await On(m,C),H=o.recheckSendPermissionError?.("messages.sendVoice");if(H!==void 0)return {ok:!1,error:H};let ne=await n.sendVoice({...w,durationMs:C.durationMs,...C.waveform===void 0?{}:{waveform:[...C.waveform]}});return ne.ok?(j(),Je(ne.messageId,"messages.sendVoice")):{ok:!1,error:Jt(ne.reason,"messages.sendVoice",i)}})),sendFile:async(m,C={})=>{if(j(),m.size>bd)return Ce("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(C.caption!==void 0&&C.caption.length>p$1)return Ce("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let w=C.fileName??("name"in m?m.name:void 0);return typeof w!="string"||w.trim()===""?Ce("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):qn("messages.sendFile",void 0,m,C,n.sendFile)},sendGif:async(m,C={})=>(j(),m.size>im?Ce("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await dm(m)?qn("messages.sendGif",void 0,m,C,w=>n.sendGif(w)):Ce("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(m,C={})=>(j(),ir(m,"sticker")?Ye("messages.sendSticker",async()=>{let w=await n.sendExpression({...i,asset:m,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendSticker")}):Ce("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(m,C={})=>(j(),ir(m,"gif")?Ye("messages.sendGifAsset",async()=>{let w=await n.sendExpression({...i,asset:m,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendGifAsset")}):Ce("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(m,C={})=>(j(),m!=="rock-paper-scissors"&&m!=="dice"?Ce("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):Ye("messages.sendGame",async()=>{let w=await n.sendGame({...i,gameType:m,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendGame")})),sendMiniProgram:async(m,C={})=>(j(),t$1(m)?Ye("messages.sendMiniProgram",async()=>{let w=await n.sendMiniProgram({...i,miniProgram:m,encrypted:i.conversationType!=="direct"&&i.conversationType!=="robot",...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendMiniProgram")}):Ce("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(m,C={})=>(j(),i.conversationType==="channel"||i.conversationType==="robot"?Ce("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(m)?Ye("messages.sendTransfer",async()=>{let w=await n.sendTransfer({...i,transfer:m,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendTransfer")}):Ce("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(m,C={})=>(j(),i.conversationType==="channel"||i.conversationType==="robot"?Ce("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):o$1(m)?Ye("messages.sendGift",async()=>{let w=await n.sendGift({...i,gift:m,...C.replyToMessageId===void 0?{}:{refMessageId:C.replyToMessageId}});return Je(w.id,"messages.sendGift")}):Ce("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(m,C)=>{j(),Nn(m,"messages.toggleReaction");let w=await n.setReaction({conversation:i,parentMessageId:m,emoji:C,action:"toggle"});if(j(),!w.ok)throw Tn("messages.toggleReaction",vd[w.reason]);return Object.freeze({messageId:m,eventId:w.event.id,emoji:w.event.emoji,action:w.event.action===0?"add":"remove"})},setReaction:async(m,C,w)=>{j(),Nn(m,"messages.setReaction");let H=await n.setReaction({conversation:i,parentMessageId:m,emoji:C,action:w});if(j(),!H.ok)throw Tn("messages.setReaction",vd[H.reason]);return Object.freeze({messageId:m,eventId:H.event.id,emoji:H.event.emoji,action:H.event.action===0?"add":"remove"})},replaceInterruptedFile:async(m,C,w={})=>{if(j(),C.size>bd)return Ce("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(w.caption!==void 0&&w.caption!=="")return Ce("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let H=w.fileName??("name"in C?C.name:void 0);return typeof H!="string"||H.trim()===""?Ce("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):sr("messages.replaceInterruptedFile",m,"file",C,{...w,fileName:H},n.replaceFile)},editText:async(m,C,w={})=>{j(),Nn(m,"messages.editText");let H=d(i,m,C,w);if("code"in H)throw sn(H);let ne;try{ne=await n.editMessage(H);}catch(pe){throw sn(Dn(pe,"messages.editText",i))}if(j(),!ne.ok)throw Tn("messages.editText",om[ne.reason]);return St(Nn(m,"messages.editText"))},recall:async m=>{j(),Nn(m,"messages.recall");let C;try{C=await n.recallMessage({...i,messageId:m});}catch(w){throw sn(Dn(w,"messages.recall",i))}if(j(),!C.ok)throw Tn("messages.recall",rm[C.reason])},deleteLocal:async m=>{j();let C=n.domainState.getConversationMessage(i,m);if(n.isOutboxOwned(m))throw ut("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(C!==void 0&&C.conversationType===i.conversationType&&C.conversationId===i.conversationId&&(C.status==="pending"||C.status==="uploading"||C.status==="sending"))throw ut("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(i);let w=await n.domainState.deleteLocalMessage(i,m);return j(),Object.freeze({scope:"local-only",messageId:m,deleted:w,remoteHistory:"remote-history-may-restore"})}catch(w){throw w instanceof Error&&w.name==="ImLocalMessageDeletionError"?w:ut("IM_SDK_LOCAL_DELETE_FAILED",w)}},forward:async(m,C)=>{if(j(),m.length===0||C.length===0)throw sn(Q({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:i}));return _t("messages.forward",m.map(w=>({id:w,...i})),C)},forwardMediaAlbumItem:async(m,C,w)=>{j();let H="messages.forwardMediaAlbumItem";if(m.trim()===""||w.length===0)throw sn(Q({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:H,retryable:false,conversation:i}));if(!Number.isInteger(C)||C<0)throw sn(Q({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:H,retryable:false,conversation:i,details:{itemIndex:C}}));return _t(H,[{id:m,...i,itemIndex:C}],w)},fetchByIds:async m=>{j();let C=n.fetchMessagesByIdBatch;if(C===void 0)throw sn(Q({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:i}));let w=n.beginReceiving?.();try{let H=await Id({messageIds:m,fetchBatch:C,isCurrent:()=>!k,projectMessage:we});return Object.freeze({messages:Object.freeze([...H.messages]),missingMessageIds:Object.freeze([...H.missingMessageIds]),unresolvedMessageIds:Object.freeze([...H.unresolvedMessageIds]),...H.failure===void 0?{}:{failure:Object.freeze(H.failure)}})}finally{w?.();}}},draft:{get:async()=>(j(),n.drafts.get(i)),save:async m=>(j(),n.drafts.save(i,m)),clear:async()=>{j(),await n.drafts.clear(i);},subscribe(m){return j(),h.add(m),()=>h.delete(m)}},markRead:async m=>{j();let C=g.window.list();if(m!==void 0&&!C.some(H=>H.id===m))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${m}`);let w=o.resolveReadMessageId===void 0?m??C.at(-1)?.id:o.resolveReadMessageId(C,m);w!==void 0&&await n.markRead({...i,readCursor:w});},markConversationRead:async()=>{if(j(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let m=T,C=await an();if(j(),m!==T)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(i.conversationType==="channel"&&C===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(C!==void 0&&n.domainState.getConversationMessage(i,C)===void 0){let w=M?.id===C?M:void 0;if(w===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");_??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let H=await _.window.openAt(i,{anchorSortKey:w.sortKey,limit:u,seedMessages:[w],seedHasNewer:false});if(j(),H.stale||m!==T)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(i,C);},markVisibleMessages:async m=>{if(j(),n.markVisibleMessages===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u80FD\u529B");let C=[...new Set(m)];if(C.some(w=>!g.window.list().some(H=>H.id===w)))throw new Error("\u53EF\u89C1\u56DE\u6267\u5305\u542B\u5F53\u524D\u8FDE\u7EED\u7A97\u53E3\u4E4B\u5916\u7684\u6D88\u606F");C.length>0&&await n.markVisibleMessages(i,C);},setMuted:async m=>(j(),n.setMuted(i,m)),close(){k||(k=true,U.abort(),G+=1,Tt(),b.clear(),h.clear(),_?.dispose(),g.dispose());}};return Qo.set(qe,{getMessages:()=>(j(),g.window.list()),resolveMessage:async m=>(j(),g.window.list().find(C=>C.id===m)??n.domainState.resolveConversationMessage(i,m))}),qe}var um=5e3;async function Ad(e,n,r={}){let d=false,o,c;function i(){let b=Date.now();if(o!==void 0&&b-o.checkedAt<um)return Promise.resolve(o.value);if(c!==void 0)return c;let h=n.getRelationship(e.conversationId).then(f=>(o={value:f,checkedAt:Date.now()},f)).catch(f=>(d=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:f}}),o={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===h&&(c=void 0);});return c=h,h}async function u(b){if(!n.shouldCheckRelationship())return;let h=await i();if(h!=="friend"){if(h==="unknown"){d||(d=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:h}}}));return}return Q({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:b,retryable:false,conversation:e,details:Object.freeze({relationship:h})})}}n.shouldCheckRelationship()&&i();let y=await Gr(e,n,(b,h,f)=>f.mentions!==void 0&&f.mentions.length>0?Q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:b}):{...b,text:h,...f.replyToMessageId===void 0?{}:{refMessageId:f.replyToMessageId}},(b,h,f,S)=>S.mentions!==void 0&&S.mentions.length>0?Q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:b}):{...b,messageId:h,text:f},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),g={...y,messages:{...y.messages,async markMediaConsumed(b){let h=n.domainState.getConversationMessage(e,b);if(h===void 0||h.senderId===n.getSelfId()||h.contentType!=="voice"&&h.contentType!=="video"){let f=Q({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(f.code),f)}await n.markDirectMediaConsumed(e.conversationId,b);}}};return Br(g,y),g}async function Ed(e,n,r={}){return Gr(e,n,(d,o,c)=>{let i=tr(c.mentions);return {...d,text:o,encrypted:true,...i===void 0?{}:{mention:i},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,o,c,i)=>{let u=tr(i.mentions);return {...d,messageId:o,text:c,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&wd(d,n.pageSize??30)},r)}async function Rd(e,n,r={}){return Gr(e,n,(d,o,c)=>c.mentions!==void 0&&c.mentions.length>0?Q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:o,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,o,c,i)=>i.mentions!==void 0&&i.mentions.length>0?Q({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:o,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var pm=new Set(["pending","uploading","sending"]);function wd(e,n){return e.length<n}function Pd(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function mm(e,n,r){let d=r===void 0?e.length-1:e.findIndex(i=>i.id===r),o=e[d];if(o===void 0||Pd(o))return o?.id;let c=e.slice(0,d).findLast(i=>Pd(i));return c!==void 0?c.id:o.senderId===n&&pm.has(o.status)?void 0:o.id}function fm(e,n){let r=false;for(let d of e){let o=d.body.system;if(!(d.conversationType!=="channel"||o?.targetUserIds?.includes(n)!==true)){if(o.eventType==="channel_member_left"||o.eventType==="channel_member_removed"){r=true;continue}if(r&&(o.eventType==="channel_member_joined"||o.eventType==="channel_member_invited"))return true}}return false}async function Td(e,n,r={}){let d=await Gr(e,n,(c,i,u)=>{let y=tr(u.mentions);return {...c,text:i,encrypted:true,...y===void 0?{}:{mention:y},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,i,u,y)=>{let g=tr(y.mentions);return {...c,messageId:i,text:u,...g===void 0?{}:{mention:g}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&wd(c,n.pageSize??30)||fm(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,i)=>mm(c,n.getSelfId(),i)},r),o={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw Cd(e,hd["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(y){let g=Dn(y,"messages.deleteForEveryone",e);throw Object.assign(new Error(g.code,{cause:y}),g)}if(!u.ok)throw Cd(e,hd[u.reason])}}};return Br(o,d),o}var gm=40,ym=100,Im=0;function Hn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function vm(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function _d(e){let n=++Im,r=new Map,d=new Map,o=new Map,c=new Map,i=new Map,u=0,y=true;function g(){if(!y)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function b(v){let O=v??gm;if(!Number.isSafeInteger(O)||O<1||O>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return O}function h(v){let O=`im-directory:${n}:${++u}`;return r.set(O,v),O}function f(v,O){let s=i.get(v);s===void 0&&(s=new Map,i.set(v,s));let a=O.map(p=>Object.freeze({...p}));for(let p of a)s.set(p.id,p);return Object.freeze(a)}async function S(v,O,s){if(g(),e.provider===void 0)throw new Error(`${Hn(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let a=await e.provider.list({kind:v,page:O,pageSize:s});if(g(),a.exhausted===(a.nextPage!==void 0))throw new Error(`${Hn(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=a.nextPage===void 0?void 0:h({kind:v,page:a.nextPage,pageSize:s}),E=f(v,a.items);return Object.freeze({items:E,...p===void 0?{}:{nextPageToken:p},exhausted:a.exhausted})}function N(v){return {listFirstPage:O=>S(v,1,b(O?.pageSize)),listNextPage:O=>{g();let s=r.get(O);if(s===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(s.kind!==v)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${Hn(s.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${Hn(v)}`));let a=d.get(O);if(a!==void 0)return a;let p=S(v,s.page,s.pageSize).then(E=>(r.delete(O),E)).finally(()=>{d.delete(O);});return d.set(O,p),p}}}function A(v){g();let O=o.get(v);if(O!==void 0)return Promise.resolve(O);let s=c.get(v);if(s!==void 0)return s;if(e.provider===void 0)return Promise.reject(new Error(`${Hn(v)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let a=(async()=>{let p=[],E=new Map,R=new Set,B=1;for(;;){if(g(),R.has(B))throw new Error(`${Hn(v)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);R.add(B);let W=await e.provider.list({kind:v,page:B,pageSize:ym});if(g(),W.exhausted===(W.nextPage!==void 0))throw new Error(`${Hn(v)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let ae of W.items)E.has(ae.id)||p.push(ae.id),E.set(ae.id,ae);if(W.nextPage===void 0)break;if(!Number.isSafeInteger(W.nextPage)||W.nextPage<1)throw new Error(`${Hn(v)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);B=W.nextPage;}let re=f(v,p.map(W=>E.get(W)));return g(),o.set(v,re),re})().finally(()=>{c.delete(v);});return c.set(v,a),a}async function k(v){if(g(),v.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[O,s,a,p]=await Promise.all([A("individual"),A("group"),A("channel"),ga(v)]);g();function E(B,re){let W=[];for(let ae of re){let ue=ae==="displayName"?B.displayName:ae==="username"?B.username:B.id;if(ue===void 0||ue==="")continue;let I=p.match(ue,{pinyin:ae==="displayName"});I!==null&&W.push(vm(ae,I));}return W.length===0?null:Object.freeze({item:B,matches:Object.freeze(W)})}function R(B,re){return Object.freeze(B.flatMap(W=>{let ae=E(W,re);return ae===null?[]:[ae]}))}return Object.freeze({keyword:p.keyword,contacts:R(O,["displayName","username","id"]),groups:R(s,["displayName"]),channels:R(a,["displayName"])})}return {contacts:N("individual"),groups:N("group"),channels:N("channel"),search:{search:k},peekItem:(v,O)=>(g(),i.get(v)?.get(O)),dispose:()=>{y=false,r.clear(),d.clear(),o.clear(),c.clear(),i.clear();}}}function hm(e){if(e.conversationType==="supergroup")throw Q({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw Q({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Hr(e){return hm(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Cm(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw Q({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 Dd(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(o){return r(),e.domainState.getDraft(Hr(o))},async save(o,c){r();let i=Hr(o);return e.domainState.saveDraft(i,Cm(i,c))},async clear(o){r(),await e.domainState.clearDraft(Hr(o));},subscribe(o,c){r();let i=Hr(o),u=e.emitter.subscribe(g=>{g.type!=="draft:updated"&&g.type!=="draft:cleared"||g.conversation.conversationType!==i.conversationType||g.conversation.conversationId!==i.conversationId||c(g.type==="draft:updated"?g.draft:null);}),y=()=>{u(),n.delete(y);};return n.add(y),y}},dispose(){for(let o of [...n])o();}}}var bm=20,kd=50,Od=30,xd=4294967295;function it(e){let n=Q(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function nn(e,n){return it({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Nd(e,n){if(n instanceof x$1)return it({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 it({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return it({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 it({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 it({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function Rn(e,n,r){if(typeof e!="string"||e.trim()==="")throw nn(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Mm(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 Sm(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw nn(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Pm(e,n,r){let d=Rn(e,n,r),o;try{o=new URL(d);}catch{throw nn(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(o.protocol!=="https:"&&o.protocol!=="http:")throw nn(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(o.username!==""||o.password!=="")throw nn(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function Ld(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>xd)throw nn(r,`${n} \u5FC5\u987B\u662F 1-${xd} \u7684\u6574\u6570`);return Number(e)}function Gd(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw nn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:Pm(e.url,"url",n),width:Ld(e.width,"width",n),height:Ld(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:Rn(e.packageId,"packageId",n),resourceId:Rn(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw nn(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:Rn(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function Am(e,n){if(e===null||typeof e!="object")throw nn(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:Rn(e.token,"token",n),resourceId:Rn(e.resourceId,"resourceId",n)}:Gd(e,n)}function Em(e,n){if(e!=="sticker"&&e!=="gif")throw nn(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Rm(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw nn(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Fd(e,n){if(!Array.isArray(e))throw nn(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>Rn(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw nn(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>Od)throw nn(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Od} \u4E2A id`);return r}function Ud(e,n){let r=e?.offset??0,d=e?.pageSize??bm;if(!Number.isSafeInteger(r)||r<0)throw nn(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>kd)throw nn(n,`pageSize \u5FC5\u987B\u662F 1-${kd} \u7684\u6574\u6570`);return {offset:r,limit:d}}function Kd(e){return Object.freeze({...e})}function wm(e){return Object.freeze({...e})}function Bd(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 Hd(e){function n(o){if(!e.isActive())throw it({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function r(o,c){if(n(o),e.provider===void 0)throw Nd(o,new x$1("core"));let i;try{i=await c(e.provider);}catch(u){throw n(o),Nd(o,u)}return n(o),i}let d={packs:Object.freeze({list:async o=>{let c="expressions.packs.list",i=o?.version===void 0?void 0:Sm(o.version,"version",c),u=await r(c,g=>g.listStickerPacks(i)),y=Object.freeze(u.items.map(g=>Object.freeze({...g})));return Object.freeze({version:u.version,items:y})},listItems:async o=>{let c="expressions.packs.listItems",i=Rn(o,"packageId",c),u=await r(c,y=>y.listStickerItems(i));return Object.freeze(u.map(Kd))}}),favorites:Object.freeze({list:async o=>{let c="expressions.favorites.list",i=await r(c,u=>u.listFavorites(Em(o,c)));return Object.freeze(i.map(Kd))},add:async o=>{let c="expressions.favorites.add",i=Gd(o,c);await r(c,u=>u.addFavorite(i));},delete:async o=>{let c="expressions.favorites.delete",i=Fd(o,c);await r(c,u=>u.deleteFavorites(i));}}),recent:Object.freeze({list:async o=>{let c="expressions.recent.list",i=await r(c,u=>u.listRecent(Rm(o,c)));return Object.freeze(i.map(wm))},report:async o=>{let c="expressions.recent.report",i=Am(o,c);await r(c,u=>u.reportRecent(i));},delete:async o=>{let c="expressions.recent.delete",i=Fd(o,c);await r(c,u=>u.deleteRecent(i));}}),reactions:Object.freeze({listTop:async o=>{let c="expressions.reactions.listTop",i=o?.limit;if(i!==void 0&&(!Number.isSafeInteger(i)||i<1||i>50))throw nn(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let y=await u.listReactionTop(i);if(!Array.isArray(y))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(y.map(g=>Mm(g,"reaction emoji")))})},report:async o=>{let c="expressions.reactions.report",i=Rn(o,"emoji",c);await r(c,u=>u.reportReaction(i));}}),giphy:Object.freeze({trending:async o=>{let c="expressions.giphy.trending",i=await r(c,u=>u.listGiphyTrending(Ud(o,c)));return Bd(i)},search:async(o,c)=>{let i="expressions.giphy.search",u=Rn(o,"query",i),y=await r(i,g=>g.searchGiphy({query:u,...Ud(c,i)}));return Bd(y)}})};return {api:Object.freeze(d)}}function st(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?Q({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):Q({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function jd(e){return {createRoom(n){st("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){st("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){st("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){st("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){st("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){st("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){st("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Tm=0;function zd(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 _m(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 Dm(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 Vd(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 km(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function qd(e){let n=++Tm,r=new Map,d=new Map,o=new Map,c=0,i=true;function u(){if(!i)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function y(A){let k=A??20;if(!Number.isSafeInteger(k)||k<1||k>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return k}function g(A){let k=`im-robots:${n}:${++c}`;return r.set(k,A),k}function b(A){return Object.freeze(A.map(k=>{let v=zd(k);return o.set(v.id,v),v}))}function h(A,k){let v=o.get(A);v!==void 0&&o.set(A,zd({id:v.id,displayName:v.displayName,...v.username===void 0?{}:{username:v.username},...v.avatarUrl===void 0?{}:{avatarUrl:v.avatarUrl},bound:k}));}async function f(A,k){u();let v=k?e.bind:e.unbind;if(v===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await v(km(A)),u(),h(A.robotId,k);}async function S(A){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 k=await e.search(Dm(A));u();let v=b(k.items),O=k.exhausted?void 0:g({...A,page:A.page+1});return Object.freeze({items:v,...O===void 0?{}:{nextPageToken:O},exhausted:k.exhausted})}return {api:{listFirstPage:A=>{try{let k=_m(A?.scope??{kind:"catalog"});return S({page:1,pageSize:y(A?.pageSize),keyword:A?.keyword?.trim()??"",scope:k})}catch(k){return Promise.reject(k)}},listNextPage:A=>{u();let k=r.get(A);if(k===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let v=d.get(A);if(v!==void 0)return v;let O=S(k).then(s=>(r.delete(A),s)).finally(()=>{d.delete(A);});return d.set(A,O),O},bindToConversation:A=>{try{return f(Vd(A),!0)}catch(k){return Promise.reject(k)}},unbindFromConversation:A=>{try{return f(Vd(A),!1)}catch(k){return Promise.reject(k)}}},peek:A=>{let k=A.trim();return k===""?void 0:o.get(k)},dispose:()=>{i=false,r.clear(),d.clear(),o.clear();}}}var Om=30,xm=300*1e3,Nm=64,Lm=900*1e3,Fm=2048,Um=0;function wn(e){let n=Q({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 Wd(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Om,d=e.tokenTtlMs??xm,o=e.maxTokens??Nm,c=e.anchorTtlMs??Lm,i=e.maxAnchors??Fm;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(o)||o<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(i)||i<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++Um,y=new Map,g=new Map,b=0,h=true;function f(I){if(!h)throw wn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:I,retryable:false});if(e.isAvailable?.()===false)throw wn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:I,retryable:false})}function S(I,F){let P=I.trim();if(P==="")throw wn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:F,retryable:false});return P}function N(I){let F=`im-search:${u}:${++b}`;for(y.set(F,{...I,expiresAt:n()+d});y.size>o;){let P=y.keys().next().value;if(typeof P!="string")break;y.delete(P);}return F}function A(I,F){return JSON.stringify([I.conversationType,I.conversationId,F])}function k$1(I){for(let[F,P]of g)P.expiresAt<=I&&g.delete(F);}function v(I,F){let P=Object.freeze({conversationType:I.conversationType,conversationId:I.conversationId}),G=A(P,I.id);for(g.delete(G),g.set(G,{anchor:Object.freeze({id:I.id,conversationType:I.conversationType,conversationId:I.conversationId,sortKey:I.sortKey}),expiresAt:F+c});g.size>i;){let K=g.keys().next().value;if(typeof K!="string")break;g.delete(K);}}function O(I,F){let P=F==="conversation"?"search.conversations.next":"search.messages.next";f(P);let G=y.get(I);if(G===void 0||G.expiresAt<=n())throw y.delete(I),wn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:P,retryable:false});if(G.kind!==F)throw wn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:P,retryable:false});return G}function s(I){let F=I.draft?.text.trim();return F===void 0||F===""?I.lastMessagePreview:F}function a(I){let F=Object.freeze({conversationType:I.type,conversationId:I.id});return Object.freeze({ref:F,title:I.title,preview:s(I)})}function p(I,F){let P=Object.freeze(I.slice(F,F+r)),G=F+P.length,K=G>=I.length,$=K?void 0:N({kind:"conversation",items:I,offset:G});return Object.freeze({items:P,...$===void 0?{}:{nextPageToken:$},exhausted:K})}async function E(I,F,P){f(P);let G=S(F,P).toLowerCase(),K=Object.freeze(e.domainState.getConversationList().filter($=>($.type==="direct"||$.type==="group"||$.type==="channel"||$.type==="robot")&&(I===void 0||$.type===I)&&`${$.title}
|
|
2
|
-
${$.id}`.toLowerCase().includes(G)).map(a));return p(K,0)}function R(I,F,P){let G=I.conversationId.trim();if(I.conversationType!==F||G==="")throw wn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:P,retryable:false});return Object.freeze({conversationType:F,conversationId:G})}function B(I,F){let P=I.conversationType,G=I.conversationId.trim();if(P!=="direct"&&P!=="group"&&P!=="channel"&&P!=="robot"||G==="")throw wn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:P==="supergroup"?"unsupported":"validation",operation:F,retryable:false});return Object.freeze({conversationType:P,conversationId:G})}async function re(I){f("search.messages");let F;try{F=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(L){throw wn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:L})}let P=new Set,G=[],K=n();k$1(K);for(let{message:L}of F.results){if(L.conversationType!==I.ref.conversationType||L.conversationId!==I.ref.conversationId||L.sortKey.trim()===""||I.contentTypes!==void 0&&!I.contentTypes.includes(L.contentType))throw wn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});P.has(L.id)||(P.add(L.id),v(L,K),G.push(Object.freeze({ref:I.ref,messageId:L.id,senderId:L.senderId,createdAt:k(L),contentType:L.contentType,preview:ea$1(L)})));}let $=F.nextBeforeSortKey?.trim();if(!F.exhausted&&($===void 0||$==="")||F.exhausted&&$!==void 0)throw wn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let T=$===void 0?void 0:N({kind:"message",ref:I.ref,...I.keyword===void 0?{}:{keyword:I.keyword},...I.contentTypes===void 0?{}:{contentTypes:I.contentTypes},beforeSortKey:$});return Object.freeze({items:Object.freeze(G),...T===void 0?{}:{nextPageToken:T},exhausted:F.exhausted})}async function W(I,F,P,G){f(G);let K=R(I,F,G);return re({ref:K,keyword:S(P,G)})}async function ae(I,F,P,G){f(P);let K=B(I,P),$=G?.trim();return re({ref:K,...$===void 0||$===""?{}:{keyword:$},contentTypes:Object.freeze([F])})}return {api:{conversations:{all:I=>E(void 0,I,"search.conversations.all"),direct:I=>E("direct",I,"search.conversations.direct"),groups:I=>E("group",I,"search.conversations.groups"),channels:I=>E("channel",I,"search.conversations.channels"),async next(I){let F=O(I,"conversation");return p(F.items,F.offset)}},messages:{inDirect:(I,F)=>W(I,"direct",F,"search.messages.inDirect"),inGroup:(I,F)=>W(I,"group",F,"search.messages.inGroup"),inChannel:(I,F)=>W(I,"channel",F,"search.messages.inChannel"),inRobot:(I,F)=>W(I,"robot",F,"search.messages.inRobot"),texts:async(I,F)=>(f("search.messages.texts"),ae(I,"text","search.messages.texts",S(F,"search.messages.texts"))),files:(I,F)=>ae(I,"file","search.messages.files",F),images:I=>ae(I,"image","search.messages.images"),videos:I=>ae(I,"video","search.messages.videos"),voices:I=>ae(I,"voice","search.messages.voices"),async next(I){let F=O(I,"message");return re(F)}}},resolveHistoryAnchor(I,F){if(!h||e.isAvailable?.()===false)return;let P=A(I,F),G=g.get(P);if(G!==void 0){if(G.expiresAt<=n()){g.delete(P);return}return G.anchor}},dispose(){h&&(h=false,y.clear(),g.clear());}}}function $d(e){let n=new Map,r=new Set,d=new Map,o=new Set,c=false,i=e.schedule??(b=>{let h=setTimeout(b,120);return ()=>clearTimeout(h)});function u(b,h,f){try{e.report(b,h,f);}catch{}}async function y(b){let h={conversationType:"channel",conversationId:b};r.add(b);try{for(let f=0;f<2;f+=1){let S=n.get(b);if(c||!e.isActive()||S===void 0||e.domainState.getConversationContext(h)===void 0){n.delete(b);return}if(e.domainState.hasPendingChannelRead(h)){o.add(b),u("channel-read-summary-deferred",h,{reason:"read-pending"});return}if(n.delete(b),e.domainState.getReadState(h)?.readCursor!==S)return;let A=e.domainState.getChannelReadRevision(h),k=Date.now(),v;try{v=await e.loadSummary({channelId:b,readCursor:S});}catch(O){!c&&e.isActive()&&u("channel-read-summary-failed",h,{reason:"request-failed",durationMs:Date.now()-k,errorName:O instanceof Error?O.name:"Unknown",errorCode:typeof O=="object"&&O!==null&&"code"in O&&typeof O.code=="string"?O.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(h)===void 0)return;if(e.domainState.hasPendingChannelRead(h)||e.domainState.getChannelReadRevision(h)!==A){if(u("channel-read-summary-discarded",h,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(h)){n.has(b)||n.set(b,S),o.add(b);return}if(f===0&&!n.has(b)&&!e.domainState.hasPendingChannelRead(h)&&e.domainState.getReadState(h)?.readCursor===S){n.set(b,S);continue}return}if(v===void 0||v.readCursor!==S){u("channel-read-summary-discarded",h,{reason:v===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(h,v),n.get(b)===S&&n.delete(b),u("channel-read-summary-applied",h,{unreadCount:v.unreadCount,durationMs:Date.now()-k});return}}finally{r.delete(b),n.has(b)&&!o.has(b)&&g(b);}}function g(b){c||o.has(b)||r.has(b)||d.has(b)||d.set(b,i(()=>{d.delete(b),y(b);}));}return {settled(b){o.delete(b.channelId),n.has(b.channelId)&&g(b.channelId);},request(b){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:b.channelId})||o.delete(b.channelId),n.set(b.channelId,b.readCursor),g(b.channelId));},dispose(){c=true;for(let b of d.values())b();d.clear(),n.clear(),o.clear();}}}function jr(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 Jd(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function o(c){if(c?.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 c=Symbol("foreground-work");return e.add(c),()=>{e.delete(c)&&e.size===0&&d();}},async waitForBackground(c){for(o(c);e.size>0;)await new Promise(i=>{let u=()=>{n.delete(u),c?.removeEventListener("abort",u),i();};n.add(u),c?.addEventListener("abort",u,{once:true});}),o(c);},dispose(){r=true,e.clear(),d();}}}function Yd(e,n){return {prepareLocalMediaPreview:async o=>{let c=await e.prepare({operationId:o.operationId,generation:n(),kind:o.kind,file:o.file,includePoster:o.kind==="video",...o.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},o.signal);return o.kind==="video"?{width:c.width,height:c.height,...c.duration===void 0?{}:{duration:c.duration},...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}:{width:c.width,height:c.height}},prepareLocalVideoPoster:async o=>{let c=await e.prepare({operationId:o.operationId,generation:n(),kind:"video",file:o.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},o.signal);return {width:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function Xd(e){let n,r,d=false,o=false,c=new AbortController;function i(){if(!n||!o||d)throw new ab$1("unavailable");return n}return {port:{get:async(...y)=>i().get(...y),list:async()=>i().list(),save:async y=>i().save(y),remove:async(...y)=>i().remove(...y),clear:async()=>i().clear(),drain:async()=>n?.drain(),fingerprint:async(...y)=>i().fingerprint(...y),acquireLease:async y=>i().acquireLease(y),close:async()=>n?.close()},prepare(y){return d?Promise.reject(new ab$1("unavailable")):(r??=(async()=>{n=bb$1({namespaceFactory:e,accountId:y}),await n.acquireLease(c.signal),await n.list(),c.signal.throwIfAborted(),o=true;})(),r)},async dispose(y){if(d=true,c.abort(),await r?.catch(()=>{}),!!n)try{y||await n.clear();}finally{await n.close();}}}}function Qd(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let o of [...r])o();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((o,c)=>{function i(){r.delete(u),d.removeEventListener("abort",y);}function u(){i(),o();}function y(){i(),c(d.reason);}r.add(u),d.addEventListener("abort",y,{once:true});})}}}function Zd(e){function n(u){let y=0n;for(let g=0;g<10;g++){let b=u+g,h=e[b];if(h===void 0)return {ok:false,kind:"truncated-varint"};if(y|=BigInt(h&127)<<BigInt(g*7),(h&128)===0)return {ok:true,nextOffset:b+1,value:y}}return {ok:false,kind:"invalid-varint"}}let r=[],d,o=0;function c(u,y,g){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:y,protobufFailureOffset:g,protobufBytesRemaining:Math.max(0,e.length-g)}}function i(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;o<e.length;){let u=o,y=n(u);if(!y.ok)return c(y.kind==="truncated-varint"?"truncated":"invalid",y.kind==="truncated-varint"?"truncated-tag":y.kind,u);let g=Number(y.value>>3n),b=Number(y.value&0x07n);if(!Number.isSafeInteger(g)||g<=0)return c("invalid","invalid-field-number",u);if(o=y.nextOffset,b===0){let h=o,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind,h);o=f.nextOffset;}else if(b===1){if(e.length-o<8)return c("truncated","truncated-fixed64",o);o+=8;}else if(b===2){let h=o,f=n(h);if(!f.ok)return c(f.kind==="truncated-varint"?"truncated":"invalid",f.kind==="truncated-varint"?"truncated-length":f.kind,h);if(f.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",h);o=f.nextOffset;let S=Number(f.value);if(S>e.length-o)return c("truncated","truncated-length-delimited",o);o+=S;}else if(b===5){if(e.length-o<4)return c("truncated","truncated-fixed32",o);o+=4;}else return c("invalid","invalid-wire-type",u);i(g);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function el(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let d=Symbol("receiving");return n.add(d),n.size===1&&e(true),()=>{n.delete(d)&&n.size===0&&e(false);}},dispose(){r=true;let d=n.size>0;n.clear(),d&&e(false);}}}function nl(e){return async(n,r)=>{r.throwIfAborted();let d=await e.authProvider.getLoginContext();if(r.throwIfAborted(),d===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");let o=[],c=[],i=b=>{c.push({...b,source:"history"});},u=b=>{o.push(b);};if(n.conversationType==="group"){let b={...e.groupDecrypt(),onDecryptRecovery:i},h=Date.now(),f=await Ha$1({http:e.http,userId:d.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:h,direct:1,limit:30,decryptDeps:b,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let S=f.batchSize<30||f.oldestEntryTime===void 0||f.oldestEntryTime>=h;return {messages:f.messages,reactions:o,recoveries:c,exhausted:S,...S?{}:{nextCursor:String(f.oldestEntryTime)}}}let y={...e.channelDecrypt(),onDecryptRecovery:i},g=await za({http:e.http,userId:d.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:y,prepareKey:b=>e.prepareChannelKeys([b]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:g.messages,reactions:o,recoveries:c,exhausted:!g.hasOlder,...g.nextCursor===void 0?{}:{nextCursor:g.nextCursor}}}}var Km=5*6e4,Bm=1440*6e4,rr=2*1024*1024,tl=20,Rt=class extends Error{constructor(r){super(r);this.reason=r;}reason};function jn(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function Gm(e,n){let r=new TextEncoder,d=new WeakSet,o=0,c=0,i=performance.now();async function u(){++c%64===0&&performance.now()-i>=4&&(await n(),i=performance.now());}async function y(g){if(!(o>rr))if(await u(),typeof g=="string"){o+=8;for(let b=0;b<g.length&&o<=rr;b+=16384)o+=r.encode(g.slice(b,b+16384)).byteLength,await u();}else if(g!==null&&typeof g=="object"){if(d.has(g))return;if(d.add(g),o+=32,ArrayBuffer.isView(g)||g instanceof ArrayBuffer){o+=g.byteLength;return}for(let b in g)if(Object.hasOwn(g,b)&&(await y(b),await y(g[b]),o>rr))break}else o+=8;}return await y(e),o}function rl(e){let n=e.now??Date.now,r=new Map,d=new Map,o=new Map,c=new Map,i,u=true,y=0,g=new WeakMap,b=new WeakSet,h=new WeakMap,f=0,S=Promise.resolve();function N(I,F,P){try{e.report(I,{...F},{remainingNetworkPages:Math.max(0,tl-f),...P});}catch{}}function A(I,F=n()){return I===void 0?0:Math.max(0,F-I)}function k(I,F,P,G){let K=G?.diagnostics;N("recent-history-prefetch-result",I,{status:F,reason:P,queueDurationMs:A(K?.queuedAt,K?.startedAt),requestDurationMs:K?.requestDurationMs??A(K?.requestStartedAt),persistenceDurationMs:K?.persistenceDurationMs??A(K?.persistenceStartedAt)});}function v(I){let F=S.then(I,I);return S=F.catch(()=>{}),F}function O(I){if(!u||I.generation!==y||I.controller.signal.aborted||I.epoch!==(r.get(I.key)??0))return false;let F=e.fingerprint(I.ref);return F!==void 0&&(F===I.fingerprint||!s(I)&&[...I.consumers.values()].includes("foreground"))}function s(I){return I.cacheRevision===(d.get(I.key)??0)}function a(I){if(!O(I))throw jn()}async function p(I,F=false){let P=Ha(I),G=r.get(P)??0,K={key:P,epoch:G,generation:y,cacheRevision:d.get(P)??0},$=y,T=e.fingerprint(I),L=_=>(N("recent-history-cache-miss",I,{reason:_,allowStale:F}),null);if(!u||T===void 0||e.cache===void 0)return L(u?T===void 0?"unavailable":"storage-unavailable":"disposed");if(await S,!u||$!==y||G!==(r.get(P)??0)||!s(K)||e.fingerprint(I)!==T)return L("invalidated");let M=await e.cache.get(I);return !u||$!==y||G!==(r.get(P)??0)||!s(K)||e.fingerprint(I)!==T?L("invalidated"):M===null?L("empty"):M.version!==2?L("version-mismatch"):Ha(M.conversation)!==P?L("identity-mismatch"):M.fingerprint!==T?L("fingerprint-mismatch"):M.fetchedAt>n()?L("future-timestamp"):n()-M.fetchedAt>(F?Bm:Km)?L("expired"):(g.set(M,K),M)}async function E(I){a(I);try{let $=await p(I.ref);if(a(I),$!==null&&s(I))return I.diagnostics.source="cache",N("recent-history-cache-hit",I.ref),{page:$,durable:!0}}catch($){if(a(I),I.diagnostics.failureReason="cache-read-failed",N("recent-history-cache-read-failed",I.ref,{reason:"cache-read-failed"}),![...I.consumers.values()].includes("foreground"))throw $}if(![...I.consumers.values()].includes("foreground")){if(f>=tl)throw new Rt("budget");f+=1;}let P=n();I.diagnostics.source="network",I.diagnostics.requestStartedAt=P;let G;try{G=await e.fetchPage(I.ref,I.controller.signal);}catch($){throw I.diagnostics.failureReason="request-failed",$}finally{I.diagnostics.requestDurationMs=A(P);}a(I),await e.yieldToEventLoop(),a(I);let K={version:2,conversation:{...I.ref},fetchedAt:n(),fingerprint:I.fingerprint,messages:G.messages,reactions:G.reactions,exhausted:G.exhausted,...G.nextCursor===void 0?{}:{nextCursor:G.nextCursor},byteLength:0};if(g.set(K,{key:I.key,epoch:I.epoch,generation:I.generation,cacheRevision:I.cacheRevision}),G.recoveries!==void 0&&G.recoveries.length>0&&h.set(K,G.recoveries),h.has(K)||K.messages.some($=>$.encryption.decryptFailed===true))return b.add(K),{page:K,durable:false,reason:"decrypt-failed"};if(K.byteLength=await Gm(K,e.yieldToEventLoop),a(I),N("recent-history-page-loaded",I.ref,{durationMs:n()-P,messageCount:K.messages.length,byteLength:K.byteLength}),K.byteLength>rr)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 $=await v(async()=>(a(I),s(I)?e.cache.put(K):!1));return a(I),s(I)?{page:K,durable:$,...$?{}:{reason:"page-too-large"}}:{page:K,durable:!1,reason:"invalidated"}}catch($){return a(I),I.diagnostics.failureReason="cache-write-failed",N("recent-history-cache-write-failed",I.ref,{reason:"cache-write-failed"}),{page:K,durable:false,storageError:$}}finally{I.diagnostics.persistenceDurationMs=A(I.diagnostics.persistenceStartedAt);}}function R(I,F){I.started||(I.started=true,I.diagnostics.startedAt=n(),N("recent-history-prefetch-start",I.ref,{kind:F?"background":"foreground",queueDurationMs:A(I.diagnostics.queuedAt,I.diagnostics.startedAt)}),F&&(i=I),E(I).then(I.resolve,I.reject).finally(async()=>{o.get(I.key)===I&&o.delete(I.key),i===I&&(i=void 0),await e.yieldToEventLoop(),B();}).catch(P=>{if(!(P instanceof Error&&P.name==="AbortError"))throw P}));}function B(){if(!u||i!==void 0||c.size>0||!e.canRunBackground())return;let I=[...o.values()].find(F=>!F.started&&F.consumers.size>0);I!==void 0&&R(I,true);}function re(I,F,P){if(!u||P?.aborted===true)return F==="background"&&k(I,"cancelled","cancelled"),Promise.reject(jn());let G=Ha(I),K=e.fingerprint(I);if(K===void 0)return F==="background"&&k(I,"skipped","unavailable"),Promise.reject(new Rt("unavailable"));let $=o.get(G);$!==void 0&&!O($)&&($.controller.abort(),$.reject(jn()),o.delete(G),$=void 0);let T=$!==void 0;if($===void 0){let U,Y,X=new Promise((j,fe)=>{U=j,Y=fe;});$={ref:{...I},key:G,fingerprint:K,generation:y,epoch:r.get(G)??0,cacheRevision:d.get(G)??0,controller:new AbortController,consumers:new Map,started:false,promise:X,resolve:U,reject:Y,diagnostics:{queuedAt:n()}},o.set(G,$);}let L=$,M=Symbol(F);L.consumers.set(M,F),F==="background"&&N("recent-history-prefetch-queued",I,{reason:T?"shared-request":"new-request"});let _=new Promise((U,Y)=>{let X=false,j=(Ie,ve)=>{X||(X=true,Ie?.durable&&!s(L)&&(Ie={...Ie,durable:false,reason:"invalidated"}),P?.removeEventListener("abort",fe),L.consumers.delete(M),L.consumers.size===0&&(L.controller.abort(),L.started||(o.get(L.key)===L&&o.delete(L.key),L.reject(jn()))),F==="background"&&(ve instanceof Rt?k(I,"skipped",ve.reason,L):ve instanceof Error&&ve.name==="AbortError"?k(I,"cancelled","cancelled",L):ve!==void 0||Ie?.storageError!==void 0?k(I,"failed",L.diagnostics.failureReason??"request-failed",L):Ie?.durable===true?k(I,"ready",L.diagnostics.source==="cache"?"cache-hit":"persisted",L):k(I,"skipped",Ie?.reason??"not-persisted",L)),ve!==void 0?Y(ve):U(Ie));};function fe(){j(void 0,jn());}P?.addEventListener("abort",fe,{once:true}),L.promise.then(Ie=>j(Ie),Ie=>j(void 0,Ie));});return F==="foreground"?R(L,false):B(),_}function W(I){let F=Ha(I);c.set(F,(c.get(F)??0)+1),i!==void 0&&i.key!==F&&![...i.consumers.values()].includes("foreground")&&(i.controller.abort(),i.reject(jn()));let P=false;return ()=>{if(P)return;P=true;let G=(c.get(F)??1)-1;G>0?c.set(F,G):c.delete(F),B();}}function ae(I,F={}){if(!u||I.conversationType!=="group"&&I.conversationType!=="channel")return;let P={...I,conversationType:I.conversationType},G=Ha(I);d.set(G,(d.get(G)??0)+1),F.preserveForeground||r.set(G,(r.get(G)??0)+1);let K=o.get(G);(!F.preserveForeground||!K||![...K.consumers.values()].includes("foreground"))&&(K?.controller.abort(),K?.reject(jn()),o.delete(G)),N("recent-history-cache-invalidated",P,{reason:F.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),v(async()=>e.cache?.delete(P)).catch(()=>N("recent-history-cache-delete-failed",P,{reason:"cache-delete-failed"}));}function ue(I){let F=g.get(I);return u&&F!==void 0&&F.generation===y&&F.epoch===(r.get(F.key)??0)}return {readCached:p,isPageCurrent:ue,enterForeground:W,invalidate:ae,notifySchedulingChanged:B,takeRecoveries(I){if(!ue(I))return [];let F=h.get(I)??[];return h.delete(I),F},async confirmConsumed(I){let F=e.fingerprint(I.conversation),P=g.get(I);if(!ue(I)||P===void 0||!s(P)||b.has(I)||F===void 0||e.cache===void 0||F===I.fingerprint||I.byteLength>rr||I.messages.some($=>$.encryption.decryptFailed===true))return;let G=Ha(I.conversation),K=r.get(G)??0;await v(async()=>{ue(I)&&s(P)&&K===(r.get(G)??0)&&e.fingerprint(I.conversation)===F&&await e.cache.put({...I,fingerprint:F});}).catch(()=>N("recent-history-cache-write-failed",I.conversation,{reason:"cache-write-failed"}));},async latest(I,F){return (await re(I,"foreground",F)).page},async prefetchRecent(I,F={}){let P=[];for(let[G,K]of I.entries()){if(G>0&&G%16===0&&await e.yieldToEventLoop(),F.signal?.aborted===true||!u){k(K,"cancelled","cancelled"),P.push({ref:K,status:"cancelled",reason:"cancelled"});continue}if(K.conversationType==="direct"||K.conversationType==="robot"){k(K,"skipped","unsupported"),P.push({ref:K,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){k(K,"skipped","storage-unavailable"),P.push({ref:K,status:"skipped",reason:"storage-unavailable"});continue}try{let $=await re({...K,conversationType:K.conversationType},"background",F.signal);if($.storageError!==void 0)throw $.storageError;P.push({ref:K,status:$.durable?"ready":"skipped",...$.reason===void 0?{}:{reason:$.reason}});}catch($){$ instanceof Rt?P.push({ref:K,status:"skipped",reason:$.reason}):$ instanceof Error&&$.name==="AbortError"?P.push({ref:K,status:"cancelled",reason:"cancelled"}):(N("recent-history-prefetch-failed",K,{reason:"prefetch-failed"}),P.push({ref:K,status:"failed",error:Q({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:K,cause:$})}));}}return P},dispose(){u=false;for(let I of o.values())I.controller.abort(),I.reject(jn());return o.clear(),S.then(()=>{})},async clear(){if(u){y+=1;for(let I of [...o.values()])ae(I.ref);await v(async()=>e.cache?.clear());}}}}function Hm(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,o=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||d===void 0?"invalid-response":d!==void 0&&d!==200?"business":void 0;return o===void 0?void 0:Object.freeze({service:"core",kind:o,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function ol(e){let n=y=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:y,getClientType:()=>e.clientType,fetch:r});function r(y,g){return d(),globalThis.fetch(y,g)}function d(){if(!e.isActive())throw Q({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let y=e.coreClient,g=e.http??n(e.authProvider.getLoginContext);return {coreClient:y===void 0?void 0:async(b,h)=>{d();let f=await y(b,h);return d(),f},http:{async postProtobuf(b){d();let h=await g.postProtobuf(b);return d(),h}}}}async function o(y,g,b){if(!(!e.isActive()||b?.aborted||!g?.userId||!g.token))try{let h=await e.authProvider.getLoginContext();if(!e.isActive()||b?.aborted||h?.userId!==g.userId||h.token!==g.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(y))).catch(e.onHandlerError);}catch(h){e.onHandlerError(h);}}async function c(){let y=await e.authProvider.getLoginContext();return d(),y===null?null:{...y}}let i=e.coreClient;return {coreClient:i===void 0?void 0:async(y,g)=>{let b=await c(),h,f=await i(y,{...g,token:b?.token??"",skipBusinessResponseHandler:true,onResponse:N=>{h=N;}});if(d(),h===void 0)throw Q({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let S=Hm(h);return S!==void 0&&await o(S,b,g?.signal),f},http:{async postProtobuf(y){let g=await c(),b=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(b==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let h=e.http??v({getBaseUrl:()=>b,getAuth:async()=>g,getClientType:()=>e.clientType,fetch:r});try{d();let f=await h.postProtobuf(y);return d(),f}catch(f){throw await o(f instanceof wa?{service:"cm",kind:"http",httpStatus:f.status}:{service:"cm",kind:"network"},g,y.signal),f}}}}}var jm=2,wt=30,zm=50,Vm=5,qm=20;function al(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 Wm(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 $m(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 il(e$1,n$2,r,d$1=0){let o$1=e$1.clientType??jm,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:o$1}}},i$1="",u$1=Ao(e$1.debug,()=>({generation:d$1,...i$1===""?{}:{accountId:i$1}})),y=true,g=e$1.uploadRecovery?.enabled?Xd(r):void 0,b=Qd(globalThis.navigator?.onLine!==false),{coreClient:h$1,http:f$1}=ol({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:o$1,isActive:()=>y,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}}))}),S$1=e$1.transport??gb(),N=e$1.adapters?.storage,A$1=N?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:fb({namespaceFactory:r,mediaAssetCache:{strategies:Fc()}})),k=t=>{let l=A$1?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>Wr(t)).catch(D=>n$2.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:D}}));},v=Wm(A$1)?A$1:void 0,O$1=yd({...A$1===void 0?{}:{storage:A$1},...h$1===void 0?{}:{coreClient:h$1}}),s$1,a$1,p$1=Oc({...A$1===void 0?{}:{storage:A$1},conversationBackgrounds:O$1.api,onDirectReadReceiptDisabled:t=>s$1?.(t)}),E=0;function R(t){return E+=1,`channel-${t}-${d$1}-${E}`}let B=tb(u$1),re=(t,l,D=i$1)=>{let V=l.fromId===D?l.toId:l.fromId;jr(u$1,{conversation:{conversationType:"direct",conversationId:V},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}});},W=(t,l)=>{jr(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}});},ae=(t,l)=>{jr(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}});},ue=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 I(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let F="empty",P=n$2.subscribe(t=>{if(y){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:Ic(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 G(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let K=n$2.subscribe(t=>{A$1?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let D=(await A$1.getDecryptRecoveries?.(t.conversation)??[]).find(V=>V.messageId===t.message.id);D!==void 0&&G(D)||await A$1.deleteDecryptRecovery(t.conversation,t.message.id);})().catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:l}})):t.type==="message:removed"?A$1.deleteDecryptRecovery(t.conversation,t.messageId).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}})):t.type==="conversation-history:cleared"&&A$1.deleteConversationDecryptRecoveries?.(t.conversation).catch(l=>n$2.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}})));}),$=new Set,T$1="auto",L=false,M=false,_=0,U,Y,X=false,j,fe,Ie=()=>{},ve=null,we=null,Ne,ye,he=Jd(),Ue=new AbortController,Ke=new Set,on=0,ct=false,hn=el(t=>n$2.emit({type:"receiving:changed",receiving:t})),dt=false,kn,lt,or=new Map,zn=new Map,un=0,an=t=>or.get(t)??0,ar=t=>{or.set(t,an(t)+1);};function Tt(t){ye?.invalidate(t),t.conversationType==="channel"&&ar(t.conversationId),t.conversationType==="group"&&zn.set(t.conversationId,(zn.get(t.conversationId)??0)+1);}let Cn=e$1.profile??(h$1===void 0?void 0:C({client:h$1,clientType:o$1,...A$1===void 0?{}:{storage:A$1}})),fn=e$1.channelProfile??(h$1===void 0?void 0:p({client:h$1,clientType:o$1,getUserId:async()=>i$1!==""?i$1:(await c.getLoginContext())?.userId??"",...A$1===void 0?{}:{storage:A$1}})),Je=e$1.channelMembers??(h$1===void 0?void 0:t({client:h$1,clientType:o$1,isActive:()=>y,...A$1===void 0?{}:{storage:A$1}})),Ye=e$1.channelMentionMembers??(h$1===void 0?void 0:u({client:h$1,clientType:o$1})),On=fd({...Ye===void 0?{}:{provider:Ye},...A$1===void 0?{}:{storage:A$1}}),xn=e$1.directory??(h$1===void 0?void 0:w({client:h$1,clientType:o$1,getUserId:async()=>i$1!==""?i$1:(await c.getLoginContext())?.userId??""})),pn=_d({...xn===void 0?{}:{provider:xn}}),Vn=qd({...h$1===void 0?{}:{search:t=>Ja$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}}),bind:t=>D$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}}),unbind:t=>E$1(h$1,{...t,...o$1===void 0?{}:{clientType:o$1}})}}),Ce=e$1.expressionProvider??A({...h$1===void 0?{}:{coreClient:h$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),ir=Hd({provider:Ce,isActive:()=>y}),sn=e$1.sessionFavoriteProvider??Sa({...h$1===void 0?{}:{coreClient:h$1},getUserId:()=>i$1}),zr=Tc({provider:sn,isActive:()=>y}),_t=()=>{},Nn=jc({namespaceFactory:r,...A$1===void 0?{}:{storage:A$1},emitter:n$2,getAccountId:()=>i$1,isActive:()=>y,clearMemoryCaches:()=>{Cn?.clearCache?.(),fn?.clearCache?.(),Je?.clearCache?.(),On.clear(),_t(),ye?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),Tn=e$1.channelJoinApplications??(h$1===void 0?void 0:s({client:h$1,clientType:o$1})),ut=e$1.contactApplications??(h$1===void 0?void 0:l({client:h$1,clientType:o$1})),pt=e$1.groupApplications??(h$1===void 0?void 0:m({client:h$1,clientType:o$1})),z$1=Na({emitter:n$2,diagnostics:u$1,profile:Cn,channelProfile:fn,storage:A$1,getSelfId:()=>i$1,loadOlderFromRemote:async t=>{let l=ye?.enterForeground(t.conversation),D=he.enterForeground(),V=hn.begin();try{return Ne===void 0?{messages:[],exhausted:!0}:await Ne(t)}finally{V(),l?.(),D();}},loadNewerFromRemote:async t=>{let l=ye?.enterForeground(t.conversation),D=he.enterForeground(),V=hn.begin();try{return lt===void 0?{messages:[],exhausted:!0}:await lt(t)}finally{V(),l?.(),D();}}}),gn=rd({directory:pn.contacts,getSelfId:()=>i$1,...Cn===void 0?{}:{profile:Cn},...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2,terminateConversationSending:(t,l)=>Ie(t,l),resetDirectReadReceiptPreference:t=>p$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?a$1?.(t):l!=="unknown"&&s$1?.(t);}}),qn=ud({...ut===void 0?{}:{contact:ut},...pt===void 0?{}:{group:pt},...Tn===void 0?{}:{channel:Tn},onContactAccepted:async(t,l)=>{gn.updateRelationshipFromEvent(t,"friend"),await z$1.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),z$1.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>y&&F==="ready"}),Dt=Dd({domainState:z$1,emitter:n$2,isActive:()=>y}),mt=Wd({domainState:z$1,isAvailable:()=>y&&F==="ready"}),sr=od(()=>z$1.getSessions()),qe=e$1.crypto??i(),m$1=e$1.media!==void 0?$a(e$1.media,u$1):void 0,C$1=Wa(),w$1=Va(C$1),{prepareLocalMediaPreview:H,prepareLocalVideoPoster:ne}=Yd(C$1,()=>d$1),pe=h$1===void 0?void 0:e({client:h$1,crypto:qe,clientType:o$1,onError:(t,l)=>B?.("crypto",{message:t,cause:l})}),be=h$1===void 0?void 0:h({client:h$1,clientType:o$1,onError:(t,l)=>B?.("crypto",{scope:"send-key",message:t,cause:l})}),me=h$1===void 0?void 0:f({client:h$1,crypto:qe,clientType:o$1,onError:(t,l)=>B?.("crypto",{scope:"group-key",message:t,cause:l})}),te=e$1.channelKeyService??(h$1===void 0?void 0:a({loadSecretKey:t=>fa(h$1,{channelId:t,clientType:o$1}),onError:(t,l)=>B?.("crypto",{scope:"channel-key",message:t,cause:l})})),Me=async(t,l={})=>{if(te===void 0)return;let D=te.getCachedChannelKey(t)===null;try{await te.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!D||!y))try{await lr({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(V){n$2.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:V}});}},Se=async t=>te===void 0?null:te.getChannelKey(t),ze=t=>{if(te===void 0)return null;let l=te.getCachedChannelKey(t);return l===null&&Me(t),l},kt=()=>pe?.getCachedPrivateKey(i$1)?.privateKey??null,Ln=()=>({crypto:qe,resolveChannelKey:ze,resolveUserPrivateKey:kt,onDecryptRecovery:k,onDecryptError:t=>{let l=te!==void 0&&A$1?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(ae("live",{...t,forceRefreshAttempted:l}),!l)return;let D=te.getCachedChannelKey(t.channelId)??void 0;te.getChannelKey(t.channelId,{staleKey:D}).catch(()=>{});}}),tn=async(t,l={})=>{let D=[];te!==void 0&&D.push(...[...new Set(t)].map(V=>Me(V,l))),pe!==void 0&&i$1!==""&&D.push(pe.getUserPrivateKey(i$1).catch(()=>null)),await Promise.all(D);},bn=t=>({crypto:qe,resolveChannelKey:l=>te?.getCachedChannelKey(l)??null,resolveUserPrivateKey:kt,onDecryptError:l=>ae(t,l),onDecryptRecovery:k});function cr(t){me!==void 0&&t!==""&&me.getGroupKeys(t);}let Zo=async t=>{if(me===void 0)return null;let l=await me.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},ea=t=>{if(me===void 0)return null;let l=me.getCachedGroupKeys(t);return l!==null?l.privateKey:(cr(t),null)},ft=async t=>{me!==void 0&&await Promise.all(t.map(l=>me.getGroupKeys(l).catch(()=>null)));},ml=()=>({crypto:qe,resolvePrivateKey:({groupId:t})=>ea(t),preparePrivateKey:async({groupId:t})=>me===void 0?null:(await me.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>W("live",t),onDecryptRecovery:k}),gt=t=>({crypto:qe,resolvePrivateKey:({groupId:l})=>ea(l),onDecryptError:l=>W(t,l),onDecryptRecovery:k}),dr=new Map,yt=new Map,Vr=new Set,qr=new Set;function Ot(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function fl(t,l){let D=Ha(t),V=yt.get(D)??new Set;V.add(l),yt.set(D,V);}function na$1(t){yt.delete(Ha(t));}function gl(t,l){return t.length===l.length&&t.every((D,V)=>D===l[V])}function ta(t){if(t.conversation.conversationType==="group")return me?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function It(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 yl(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 Wr(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,D$1=dr.get(l);if(D$1!==void 0)return D$1;let V=(async()=>{let ce=z$1.getConversationMessage(t.conversation,t.messageId),le=G(t);if(ce===void 0||ce.encryption.decryptFailed!==true&&!le){await A$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);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 oe,q,Z="key-resolve",de=It(t);for(let se of [false,true]){let Ae=se?"force":"current",ke;try{Z="bcontent";let _e=d.decode(t.sContent);if(t.wireEncrypt===1){if(_e.secretKey.length===0||_e.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");Z="key-resolve";let Be=se?{...typeof q=="string"?{staleKey:q}:{}}:void 0,cn=t.conversation.conversationType==="group"?(await me?.getGroupKeys(t.conversation.conversationId,Be))?.privateKey??null:(await pe?.getUserPrivateKey(i$1,Be))?.privateKey??null;se&&q!==void 0&&(ke=typeof q=="string"&&cn!==null&&q!==cn),ke===!0&&na$1(t.conversation),se||(q=cn);let Oe=ta(t);if(cn===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ae,strategy:It(t),finalStage:Z,reason:"no-key",...Oe===void 0?{}:{resolvedKeyVersion:Oe},...ke===void 0?{}:{keyChanged:ke}}}));continue}Z="rsa";let Qe=qe.rsaDecryptPkcs1({data:_e.secretKey,privateKey:cn});if(Qe.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${Qe.length} < 16`);Z="tea";let xe=qe.decryptSymmetric({teaKey:Qe,cipherData:_e.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:It(t),rsaCipherBytes:_e.secretKey.length,cipherDataBytes:_e.cipherData.length,cipherDataBlockRemainder:_e.cipherData.length%8,resolvedTeaBytes:Qe.length,plainBytes:xe.length,plainBlockRemainder:xe.length%8,startsWithContentTypeField:xe[0]===8,startsWithMobileCardType:xe[0]===8&&xe[1]===8,...Zd(xe)}})),Z="bmessage",oe=c$1.decode(xe);}else if(t.conversation.conversationType==="channel"){if(_e.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");Z="key-resolve";let Be=se?{...q instanceof Uint8Array?{staleKey:q}:{}}:void 0,cn=te?.getChannelKeyCandidates===void 0?await te?.getChannelKey(t.conversation.conversationId,Be).then(xe=>[{strategy:"canonical-base64-pad",key:xe}])??[]:await te.getChannelKeyCandidates(t.conversation.conversationId,Be),Oe=te?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);Oe!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Ae,...Oe}}));let Qe=cn.find(xe=>xe.strategy==="canonical-base64-pad")?.key??null;if(se&&q instanceof Uint8Array&&Qe!==null&&(ke=!gl(q,Qe)),ke===!0&&na$1(t.conversation),se||(q=Qe?.slice()??null),cn.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:Ae,strategy:It(t),finalStage:Z,reason:"no-key",...ke===void 0?{}:{keyChanged:ke}}}));continue}for(let xe of cn)try{Z="tea";let In=qe.decryptSymmetric({teaKey:xe.key,cipherData:_e.cipherData});Z="bmessage";let _n=c$1.decode(In);if(xe.strategy==="legacy-ascii16"&&!yl(_n))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");oe=_n,de=xe.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:xe.strategy,finalStage:"recovered",reason:"recovered",...ke===void 0?{}:{keyChanged:ke}}}));break}catch(In){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:xe.strategy,finalStage:Z,reason:"decrypt-failed",...ke===void 0?{}:{keyChanged:ke}},error:{message:"CHANNEL decrypt recovery candidate failed",data:In}}));}}if(oe!==void 0){u$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ae,strategy:de,finalStage:"recovered",reason:"recovered",...ke===void 0?{}:{keyChanged:ke}}}));break}}catch(_e){let Be=ta(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Ae,strategy:It(t),finalStage:Z,reason:"decrypt-failed",...Be===void 0?{}:{resolvedKeyVersion:Be},...ke===void 0?{}:{keyChanged:ke}},error:{message:"IM message decryption recovery failed",data:_e}}));}}if(!y||oe===void 0){oe===void 0&&(fl(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:It(t),attempts:2,finalStage:Z}})));return}let J=z$1.getConversationMessage(t.conversation,t.messageId);if(J===void 0||J.encryption.decryptFailed!==true&&!le)return;let ee=t.conversation.conversationType==="channel"&&(t.cmdId===12804||oe.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(J.serverTime??J.createdAt),notifyType:oe.type,operatorId:oe.oprUserId,targetUserIds:oe.mnpledUserId,content:oe.content,...typeof J.extensions?.historyCursor=="string"?{historyCursor:J.extensions.historyCursor}:{},...typeof J.extensions?.channelSequence=="string"?{sequence:BigInt(J.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:J.raw!==void 0}):{...O(J,oe,i$1),...le?{edited:true}:{}};z$1.upsertMessages([ee],"offline"),await A$1?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{dr.get(l)===V&&dr.delete(l);});return dr.set(l,V),V}async function lr(t,l={}){try{let D=Ha(t),V=await A$1?.getDecryptRecoveries?.(t)??[];if(!y)return;let ce=yt.get(D),le=ce===void 0?V:V.filter(de=>!ce.has(de.messageId));if(await Promise.all(le.map(Wr)),!y||l.recoverLegacyWithoutSidecar===!1)return;let oe=yt.get(D),q=new Set(V.filter(de=>oe===void 0||!oe.has(de.messageId)).map(de=>de.messageId)),Z=z$1.getMessagesByConversation(t).filter(de=>de.encryption.decryptFailed===!0&&!q.has(de.id));if(Z.length===0||Vr.has(D))return;if(Vr.add(D),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:Z.length,withoutSidecar:Z.filter(de=>!V.some(J=>J.messageId===de.id)).length}})),t.conversationType==="channel"){let de=await c.getLoginContext();if(de===null||kn===void 0)return;for(let J of Z.slice(0,qm)){let ee=J.extensions?.historyCursor;if(typeof ee!="string"||ee.trim()==="")continue;let se=await kn(t.conversationId,ee,de.userId);if(!y)return;se.length>0&&z$1.upsertMessages(se,"offline");}}else t.conversationType==="group"?await Il({conversationType:"group",conversationId:t.conversationId},Z):t.conversationType==="direct"&&await ha();}catch(D){if(!y)return;n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:D}});}}async function Il(t,l){if(Ne===void 0)return;let D=[...l].sort((q,Z)=>q.sortKey.localeCompare(Z.sortKey)),V=D[0],ce=D.at(-1);if(V===void 0||ce===void 0)return;let le=V.serverTime??V.createdAt,oe;for(let q=0;q<Vm;q++){let Z=await Ne({conversation:t,oldestLoaded:ce,...oe===void 0?{}:{cursor:oe},intent:"older",limit:zm});if(!y||Z.exhausted||Z.nextCursor===void 0)return;let de=Number(Z.nextCursor);if(Number.isFinite(de)&&de<=le)return;oe=Z.nextCursor;}}let We=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function $r(t,l=true){let D=t.channelPermissions,V=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,D===void 0?void 0:[D.sendMessages,D.mentionAll,D.editProfile,D.manageMembers,D.manageAdmins,D.moderateMessages,D.manageMute,D.dismissChannel,D.transferOwnership],!l||V===void 0?void 0:[V.role,V.baseState,V.resolvedState,V.allMembersMuted,V.currentUserMuted,V.mutePeriod]])}let Jr=new Map;function Wn(t){let l=z$1.getConversationContext(t);if(!y||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&He(l.channelState))return;let D=z$1.getMessagesByConversation(t).at(-1);return JSON.stringify([i$1,D===void 0?l.timestamp:void 0,$r(l),D?.id,D?.sortKey])}ye=rl({...A$1?.recentHistoryCache===void 0?{}:{cache:A$1.recentHistoryCache},fingerprint:Wn,canRunBackground:ou,fetchPage:nl({http:f$1,authProvider:c,clientType:o$1,groupDecrypt:()=>gt("history"),channelDecrypt:()=>bn("history"),prepareGroupKeys:ft,prepareChannelKeys:t=>tn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,D)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:D}))});let vl=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(ct=false),ye?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ha(t.conversation),D=Jr.get(l),V={timestamp:t.session.timestamp,access:$r(t.session),capabilities:$r(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(Jr.set(l,V),F==="ready"&&D!==void 0&&(D.access!==V.access||!dt&&D.timestamp!==V.timestamp)){let ce=!D.hasSnapshot&&V.hasSnapshot&&(D.capabilities===V.capabilities||!D.hasPermissions&&D.state===V.state);ye?.invalidate(t.conversation,{preserveForeground:D.access===V.access||ce});}return}if(t.type==="session:removed"){Jr.delete(Ha(t.conversation)),F==="ready"&&ye?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){F==="ready"&&ye?.invalidate(t.conversation);return}F!=="ready"||dt||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&ye?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function ra(t,l=true){dt=true;try{t.messages.length>0&&z$1.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let D of t.reactions)We(D);for(let D of ye.takeRecoveries(t))k(D);}finally{dt=false;}}Ne=async({conversation:t,oldestLoaded:l,cursor:D,intent:V,limit:ce,signal:le})=>{le?.throwIfAborted();let{conversationId:oe}=t,q=z$1.getConversationContext(t);if(q===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${oe}\uFF09`);if(q.type==="direct"||q.type==="robot")return {messages:[],exhausted:true};if(V==="establish-latest"&&ce===30&&(q.type==="group"||q.type==="channel")){let Z={conversationType:q.type,conversationId:oe};if(Wn(Z)===void 0)return {messages:[],exhausted:true};let de=await ye.readCached(Z,true).catch(ee=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:Z,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:ee}})),null));de!==null&&ye.isPageCurrent(de)&&Date.now()-de.fetchedAt>5*6e4&&ra(de,false),le?.throwIfAborted();let J=await ye.latest(Z,le).catch(ee=>{if(y&&Wn(Z)===void 0)return null;throw ee});if(J===null)return {messages:[],exhausted:true};if(le?.throwIfAborted(),!y||!ye.isPageCurrent(J)||Wn(Z)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(ra(J),await ye.confirmConsumed(J),le?.throwIfAborted(),!ye.isPageCurrent(J))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:J.messages,exhausted:J.exhausted,...J.nextCursor===void 0?{}:{nextCursor:J.nextCursor},replaceWindow:true}}if(q.type==="group"){if(q.groupState!==void 0&&q.groupState!=="active")return {messages:[],exhausted:true};let Z=await c.getLoginContext();if(Z===null)return {messages:[],exhausted:true};let de=V==="establish-latest"?Date.now():D===void 0?l?.serverTime??l?.createdAt??Date.now():al(D,oe),J=await Ha$1({signal:le,http:f$1,userId:Z.userId,clientType:o$1,groupId:oe,baseTime:de,direct:1,limit:ce,decryptDeps:gt("history"),prepareKeys:ft,onReaction:We});le?.throwIfAborted(),J.messages.length>0&&z$1.upsertMessages(J.messages,"offline",{backfillOnly:true,refreshSessionSummary:V==="establish-latest"});let ee=J.oldestEntryTime,se=J.batchSize<ce||ee===void 0||ee>=de;return {messages:J.messages,exhausted:se,...se?{}:{nextCursor:String(ee)},...V==="establish-latest"?{replaceWindow:true}:{}}}if(q.type==="channel"){let Z=R("history");if(q.channelState!==void 0&&He(q.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:Z,data:{state:q.channelState}})),{messages:[],exhausted:true};let de=un,J=an(oe),ee=await c.getLoginContext();if(ee===null)return {messages:[],exhausted:true};if(V==="establish-latest"){let _e=await za({signal:le,http:f$1,userId:ee.userId,clientType:o$1,channelId:oe,count:wt,operationId:Z,decryptDeps:bn("history"),prepareKey:te===void 0&&pe===void 0?void 0:cn=>tn([cn]),onContentDecodeError:ue,onReaction:We});le?.throwIfAborted();let Be=z$1.getConversationContext(t);return !y||de!==un||J!==an(oe)||Be?.type!=="channel"||Be.channelState!==void 0&&He(Be.channelState)?{messages:[],exhausted:true}:(le?.throwIfAborted(),_e.messages.length>0&&z$1.upsertMessages(_e.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:_e.messages,exhausted:!_e.hasOlder,..._e.nextCursor===void 0?{}:{nextCursor:_e.nextCursor},replaceWindow:true})}let se=D??"";if(D===void 0&&l!==void 0){let _e=l.extensions?.historyCursor;if(typeof _e=="string"&&_e.trim()!=="")se=_e;else if(!$m(l,ee.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${oe}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:Z,data:{baseIndexPresent:se!=="",direction:1,contain:0,count:wt,historyGeneration:de,historyEpoch:J,clientTypeHeader:o$1,clientTypeBody:o$1}}));let Ae;try{Ae=await Aa({signal:le,http:f$1,userId:ee.userId,clientType:o$1,channelId:oe,baseIndex:se,count:wt,contain:0,operationId:Z,decryptDeps:bn("history"),prepareKey:te===void 0&&pe===void 0?void 0:_e=>tn([_e]),onContentDecodeError:ue,onReaction:We});}catch(_e){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:Z,data:{baseIndexPresent:se!=="",direction:1,contain:0,count:wt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:_e}})),_e}le?.throwIfAborted();let ke=z$1.getConversationContext(t);return !y||de!==un||J!==an(oe)||ke?.type!=="channel"||ke.channelState!==void 0&&He(ke.channelState)?{messages:[],exhausted:true}:(le?.throwIfAborted(),Ae.messages.length>0&&z$1.upsertMessages(Ae.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:Z,data:{responseBatchSize:Ae.batchSize,messageCount:Ae.messages.length,exhausted:Ae.exhausted,nextBaseIndexPresent:Ae.nextBaseIndex!==void 0}})),{messages:Ae.messages,exhausted:Ae.exhausted,...Ae.nextBaseIndex===void 0?{}:{nextCursor:Ae.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${q.type}`)};let Yr=t=>{t.length>0&&z$1.upsertMessages(t,"offline",{backfillOnly:true});},Xr=async()=>{let t=await c.getLoginContext();if(t===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:t.userId}},hl=async t=>{let{userId:l}=await Xr(),D=await ua({http:f$1,userId:l,clientType:o$1,messageIds:t,decryptDeps:await oo(l),onReaction:We});return Yr(D.messages),{messages:D.messages,missingMessageIds:D.missingMessageIds}},Cl=async(t,l)=>{let{userId:D}=await Xr(),V=await va({http:f$1,userId:D,clientType:o$1,groupId:t,messageIds:l,decryptDeps:gt("history"),prepareKeys:ft,onReaction:We});return Yr(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},bl=async(t,l)=>{let{userId:D}=await Xr(),V=await wa$1({http:f$1,userId:D,clientType:o$1,channelId:t,messageIds:l,operationId:R("history"),decryptDeps:bn("history"),prepareKey:te===void 0&&pe===void 0?void 0:ce=>tn([ce]),onContentDecodeError:ue,onReaction:We});return Yr(V.messages),{messages:V.messages,missingMessageIds:V.missingMessageIds}},Ml=qb([nb({includeOppositeEnd:true}),ob({resolveGroupKey:Zo}),mb({resolveChannelKey:Se}),pb()]),Sl=Za([_a(),$a$1(),ab()]),Pl=na([oa(),pa(),qa({resolveChannelKey:Se,resolveProfile:t=>fn?.getProfile(t)??Promise.resolve(null)})]),Xe=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},vt=()=>false,ur=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},oa$1=()=>{},xt=()=>{},Nt={...z$1,removeConversationForMembershipTermination:(t,l)=>{oa$1(t,l),t.conversationType==="group"?me?.clearGroupKeys(t.conversationId):te?.clearChannelKey(t.conversationId),z$1.removeConversationForMembershipTermination(t,l),O$1.api.resetBackground(t).catch(D=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:D}}));}},Lt=Qa({domainState:z$1,sendFrame:t=>Xe(t),getSelfId:()=>i$1,isAuthenticated:()=>vt(),reportReaction:t=>Ce.reportReaction(t),isEmojiSupported:Sc,logger:B});We=t=>{Lt.ingest(t,"offline");};let Al=Ra({manager:Lt,getSelfId:()=>i$1,logger:B}),El=ib({domainState:z$1,outbox:{onChatAck:t=>ur(t)},sendFrame:t=>Xe(t),getSelfId:()=>i$1,emitter:n$2,logger:B,keepRaw:true,decrypt:ml(),isActive:()=>y}),Rl=db({domainState:z$1,outbox:{onChatAck:t=>ur(t)},sendFrame:t=>Xe(t),getSelfId:()=>i$1,emitter:n$2,logger:B,keepRaw:true,decrypt:Ln()}),wl=jb({domainState:z$1,outbox:{onChatAck:t=>ur(t)},sendFrame:t=>Xe(t),getSelfId:()=>i$1,emitter:n$2,logger:B,keepRaw:true}),Tl=cb({domainState:z$1,sendFrame:t=>Xe(t),getSelfId:()=>i$1,emitter:n$2,logger:B,keepRaw:true,decrypt:{crypto:qe,resolveChannelKey:ze,resolveUserPrivateKey:kt,onDecryptRecovery:k}}),_l=bb({getSelfId:()=>i$1,sendFrame:t=>Xe(t),emitter:n$2}),Dl=kb({emitter:n$2,getSelfId:()=>i$1}),kl=gb$1({sendFrame:t=>Xe(t),emitter:n$2,getSelfId:()=>i$1,domainState:{reconcileDirectContactEstablishedNotice:z$1.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){z$1.removeConversation(t);return}t.conversationType==="direct"&&Ie(t,"friend_relation_removed"),z$1.removeConversation(t);})},resetDirectReadReceiptPreference:t=>p$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:gn.updateRelationshipFromEvent}),Ol=lb({sendFrame:t=>Xe(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:z$1.applyTransferStatusBySerialNumber}}),xl=fb$1({getSelfId:()=>i$1,sendFrame:t=>Xe(t),emitter:n$2}),Nl=eb({getSelfId:()=>i$1,domainState:z$1,sendFrame:t=>Xe(t),emitter:n$2,onRelationshipChanged:gn.updateRelationshipFromEvent}),Qr=n({sendFrame:t=>Xe(t),emitter:n$2,getSelfId:()=>i$1,isAuthenticated:()=>vt(),domainState:z$1}),Zr=z({sendFrame:t=>Xe(t),emitter:n$2,getSelfId:()=>i$1,isAuthenticated:()=>vt(),domainState:z$1}),aa=[...Qr.handlers,...Zr.commandHandlers],Ll=2e3,Ft,eo=false,ia=new Set;async function sa(){if(eo||!y||!vt())return;let t=await c.getLoginContext();if(t!==null){eo=true;try{let l=[];for(;;){let D=await Ia({http:f$1,userId:t.userId,clientType:o$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:D.items.length,cmdIds:D.items.map(V=>`0x${V.cmdId.toString(16)}`)}})),D.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let V of D.items){if(n$2.emit({type:"notification",cmdId:V.cmdId,name:"OFFLINE_SIGNAL"}),V.msgId!==""&&ia.has(V.msgId))continue;V.msgId!==""&&ia.add(V.msgId);let ce=aa.find(le=>le.command===V.cmdId);ce!==void 0&&ce.handler(V.cmdId,V.body);}if(D.deliveredMsgIds.length===0)break;l=D.deliveredMsgIds;}}catch(l){n$2.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:l}});}finally{eo=false;}}}function Fl(){sa(),Ft===void 0&&(Ft=setInterval(()=>{sa();},Ll));}function ca(){Ft!==void 0&&clearInterval(Ft),Ft=void 0;}let Ul=hb({domainState:z$1,sendFrame:t=>Xe(t),getSelfId:()=>i$1,emitter:n$2,logger:B,keepRaw:true}),Kl=Oa({domainState:Nt,getSelfId:()=>i$1,prefetchGroupKey:cr,clearGroupKeys:t=>{me?.clearGroupKeys(t);},clearConversationTermination:t=>xt(t)}),Bl=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&Kl.handleMessage(t.message);}),da=Da({domainState:Nt,getSelfId:()=>i$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:te!==void 0&&te.getCachedChannelKey(t)!==null}})),te!==void 0&&te.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=te!==void 0&&te.getCachedChannelKey(t)!==null;te?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>xt(t),stopChannelHistory:t=>{let l=an(t);ar(t),z$1.messageWindow.info().conversationId===t&&z$1.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:an(t)}}));}}),Gl=n$2.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(i$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:z$1.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),da.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),Hl=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"]),jl=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),zl=n$2.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,D=l.body.system?.eventType;l.conversationType==="channel"&&D!==void 0&&(Hl.has(D)&&Je?.invalidateChannelMembers(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}),jl.has(D)&&On.invalidate(l.conversationId).catch(V=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:V}});}));}),la=fc({...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2}),ua$1=Zc({...h$1===void 0?{}:{coreClient:h$1},domainState:z$1,emitter:n$2}),$n=ed({...Tn===void 0?{}:{joinApplications:Tn},http:f$1,clientType:o$1,buildOfflineDecrypt:()=>bn("history"),onContentDecodeError:ue,onReaction:We,...te===void 0&&pe===void 0?{}:{prepareKey:t=>tn([t])}});kn=async(t,l,D)=>{let{context:V}=await $n.loadMessageContext(t,l,D);return V.messages};let Vl=nd({authProvider:c,emitter:n$2,domainState:z$1,loadMessageContext:$n.loadMessageContext,isActive:()=>y,getHistoryGeneration:()=>un,getHistoryEpoch:an}),no=$d({domainState:z$1,isActive:()=>y,loadSummary:async({channelId:t,readCursor:l})=>{let D=await c.getLoginContext();if(D===null||!y||D.userId!==i$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:f$1,userId:D.userId,clientType:o$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ce=>ce.channelId===t)},report:(t,l,D)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:D}))}),to=Ta({domainState:z$1,updateReadIndex:async({channelId:t,readCursor:l})=>{let D=await c.getLoginContext();if(D===null||!y||D.userId!==i$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:f$1,userId:D.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:B,onReadCommitted:no.request,onReadSettled:no.settled,syncRead:{getSelfId:()=>i$1,sendFrame:t=>Xe(t)}}),ql=Sa$1({getSelfId:()=>i$1,applyRemoteRead:t=>to.applyRemoteRead(t),emitter:n$2,logger:B}),Wl=Xa$1([Wa$1({domainState:z$1,markGroupReadAll:async t=>{let l=await c.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:f$1,userId:l.userId,groupId:t});},emitter:n$2,logger:B,isAuthenticated:()=>vt(),syncRead:{getSelfId:()=>i$1,sendFrame:t=>Xe(t)}}),to,Ya({domainState:z$1})]),Ut=vb({getSelfId:()=>i$1,sendFrame:t=>Xe(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),$l=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&Ut.setAuthenticated(false);}),ge=rb({transport:S$1,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:z$1,logger:B,decrypt:{crypto:qe,resolvePrivateKey:({msgType:t})=>t===1?pe?.getCachedPrivateKey(i$1)?.privateKey??null:null,onDecryptError:t=>re("live",t),onDecryptRecovery:k},encryptSend:be===void 0&&te===void 0?void 0:{crypto:qe,resolvePublicKey:t=>be?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Zo},media:m$1!==void 0?{transfer:m$1,recoveryPort:g?.port,shouldPersistUpload:(t,l)=>g!==void 0&&Za$1(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>b.wait(t),preview:w$1,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}}}));},...v===void 0?{}:{assetCache:v,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:Ml,commandHandlers:[...Ut.commandHandlers,...kl,...Dl,...Ol,...xl,...Nl,...aa,...Al,...El,...Ul,...Rl,...Tl,..._l,...ql,...wl],readStrategies:Wl,canSendDirectReadReceipt:t=>{if(!p$1.isDirectReadReceiptEnabled(t))return false;let l=gn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:Sl,channelMessageDeletion:{resolveProfile:t=>fn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>z$1.refreshConversationProfile(t,"channel")},editStrategies:Pl,storage:A$1,onAuthenticated:()=>{Ut.setAuthenticated(true);for(let l of $)l.resumeMedia();let t=L;L=true,(t||T$1==="auto")&&ga().catch(()=>{}),Fl();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);s$1=t=>ge.suppressDirectReadReceipts(t),a$1=t=>ge.resumeDirectReadReceipts(t),Xe=ge.sendFrame,vt=()=>ge.state==="authenticated",ur=ge.onChatAck,Ie=ge.terminateConversationSending,oa$1=ge.markOutboxConversationTerminated,xt=ge.clearOutboxConversationTerminated;let pa$1=Gc({operations:{getPending:ge.getPendingOutbox,retry:ge.retryOutboxMessage,cancel:ge.cancelOutboxMessage},emitter:n$2,isActive:()=>y}),Le=sd({connection:ge,domainState:z$1,crypto:qe,settleEmptyGroupRead:async t=>{let l=zn.get(t.conversationId)??0,D=z$1.getSession(t),V=D===void 0,ce=D?.unreadCount??0,le=D?.mentionUnreadCount??0,oe=ce,q=le,Z=()=>{let J=z$1.getSession(t);if(!y||V||J===void 0||l!==(zn.get(t.conversationId)??0)||J.groupState!==void 0&&J.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return J},de=n$2.subscribe(J=>{if(!(!("conversation"in J)||J.conversation?.conversationType!=="group"||J.conversation.conversationId!==t.conversationId)&&((J.type==="session:removed"||J.type==="conversation-history:cleared"||J.type==="session:updated"&&J.session.groupState!==void 0&&J.session.groupState!=="active")&&(V=true),J.type==="read:updated"||J.type==="session:updated")){let ee=z$1.getReadState(t);if(ee===void 0)return;let se=ee.mentionUnreadCount??0;oe=Math.max(0,oe-Math.max(0,ce-ee.unreadCount)),q=Math.max(0,q-Math.max(0,le-se)),ce=ee.unreadCount,le=se;}});try{Z();let J=await c.getLoginContext();if(Z(),J===null||J.userId!==i$1)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await ma({http:f$1,userId:J.userId,groupId:t.conversationId});let ee=Z(),se=z$1.getReadState(t),Ae=Math.max(0,(se?.unreadCount??ee.unreadCount)-oe),ke=Math.max(0,(se?.mentionUnreadCount??ee.mentionUnreadCount??0)-q);z$1.setReadState({...se??{...t,readCursor:ee.readCursor??"",unreadCount:ee.unreadCount},mentionUnreadCount:ke}),z$1.applyServerUnread(t,Ae);}finally{de();}},...m$1===void 0?{}:{mediaTransfer:m$1},prepareDirectReadReceipt:async t=>{try{await gn.ensureRelationship(t);}catch(l){n$2.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),ro=Kc({recoveryPort:g?.port,connection:ge,domainState:z$1,emitter:n$2,isActive:()=>y,preparePreview:H,prepareVideoPoster:ne,onLocalPreviewError:({kind:t,byteLength:l,cause:D})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:d$1,data:{kind:t,byteLength:l},error:{message:D instanceof Error?D.message:String(D)}}));},...v===void 0?{}:{assetCache:v,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}}}));}},...m$1===void 0?{}:{loaders:{loadImage:Le.operations.loadImage,loadVideo:Le.operations.loadVideo,loadVoice:Le.operations.loadVoice,loadFile:Le.operations.loadFile}}});_t=()=>{ge.invalidateMediaAssetCacheWrites(),ro.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(ge.setConnectionAllowed(false),U=cb$1({onChange:(t,l)=>{if(!t)return X=true,ge.setConnectionAllowed(false),y?(Yl(),va$1({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):fe?.then(()=>{})},onError:t=>{j=t,n$2.emit({type:"error",error:{scope:"transport",message:"IM \u9875\u9762\u8FDE\u63A5\u534F\u8C03\u4E0D\u53EF\u7528\uFF0C\u8BF7\u4F7F\u7528\u652F\u6301 Web Locks \u7684\u5B89\u5168\u6D4F\u89C8\u5668\u73AF\u5883",cause:t}});}}));async function Jl(t){if(!(U===void 0||!y)){if(!X){Y??=U.start(r.forAccount(t).name("ephemeral","connection",`client-${o$1}`));let l=await Y;if(!y)return;if(y&&!X&&l&&U.owned){ge.setConnectionAllowed(true);return}}throw ge.setConnectionAllowed(false),await ge.connect(),j!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:j}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let pr=db$1({onOnline:()=>{b.setOnline(true),ge.notifyOnline();},onOffline:()=>{b.setOnline(false),ge.notifyOffline();},onVisible:()=>{ge.notifyVisible();for(let t of $)t.resumeMedia();},onPageHide:()=>{M&&ge.suspendForPageLifecycle();},onPageShow:()=>{if(M){ge.resumeFromPageLifecycle(),ge.notifyVisible();for(let t of $)t.resumeMedia();}}},e$1.network);function Yl(){y=false,Ue.abort(),he.dispose(),hn.dispose(),ye?.dispose(),M=false,_+=1,pr.stop();}let Xl=n$2.subscribe(t=>{!y||t.type!=="auth:invalid"||(M=false,_+=1,X=U!==void 0,U?.terminate(),pr.stop());});async function oo(t){let l=await pe?.getUserPrivateKey(t)??null;return {crypto:qe,resolvePrivateKey:({msgType:D})=>D===1?l?.privateKey??null:null,onDecryptError:D=>re("offline",D,t),onDecryptRecovery:k}}function ma$1(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:D,limit:V})=>{let ce=await c.getLoginContext();if(ce===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let le=await oo(ce.userId);return l({http:f$1,userId:ce.userId,clientType:o$1,decryptDeps:le,deliveredMsgInfos:D,...V===void 0?{}:{limit:V},onReaction:We})}}}let Ql=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let D=await c.getLoginContext();if(D===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Fa({http:f$1,userId:D.userId,clientType:o$1,decryptDeps:gt("offline"),prepareKeys:ft,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:We})}});async function fa$1(t){let l=[...new Map(t.map(ce=>[Ha(ce),ce])).values()],D=0;await(async()=>{for(;D<l.length;){if(!y)return;let ce=l[D++];if(!(z$1.getSession(ce)===void 0||Wn(ce)===void 0))try{if(await he.waitForBackground(Ue.signal),!y||z$1.getSession(ce)===void 0||Wn(ce)===void 0)continue;ye.invalidate(ce,{preserveForeground:!0}),await Ne({conversation:ce,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(le){if(!y||z$1.getSession(ce)===void 0||Wn(ce)===void 0)continue;n$2.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:le}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:ce,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:le}}));}}})();}async function Zl(){let t=await c.getLoginContext();if(t===null)return;let l=await Ga({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:gt("offline"),prepareKeys:ft,onReaction:We});if(y){for(let D of l.unreads)z$1.applyServerUnread({conversationType:"group",conversationId:D.groupId},D.unreadCount),cr(D.groupId);l.messages.length>0&&z$1.upsertMessages(l.messages,"offline"),await fa$1(l.unreads.map(D=>({conversationType:"group",conversationId:D.groupId})));}}async function eu(){let t=R("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:o$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:o$1}}));try{await nu(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 nu(t){if(fn===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await c.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let D=await fn.listProfiles({forceRefresh:true});if(!y)return;if(D.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let V=new Map(D.map(x=>[x.id,x]));for(let x of D){if(I(x.channelState)){te?.clearChannelKey(x.id),Nt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:x.id},`channel_${x.channelState}`);continue}let ie=x.permissions.sendMessages?void 0:`channel_${x.channelState}`;z$1.setChannelRestriction(x.id,x.channelState,ie,{permissions:x.permissions,...x.accessSnapshot===void 0?{}:{snapshot:x.accessSnapshot}}),z$1.updateConversationProfile({conversationType:"channel",conversationId:x.id},{title:x.name,avatar:x.avatar}),x.muted!==void 0&&z$1.setMuted({conversationType:"channel",conversationId:x.id},x.muted);}let ce=new Map(D.map(x=>{let ie={conversationType:"channel",conversationId:x.id},Ee=z$1.getReadState(ie),Te=z$1.getSession(ie);return [x.id,{revision:z$1.getChannelReadRevision(ie),pending:z$1.hasPendingChannelRead(ie),readCursor:Ee?.readCursor??Te?.readCursor??"",unreadCount:Te?.unreadCount??Ee?.unreadCount??0,mentionUnreadCount:Te?.mentionUnreadCount??Ee?.mentionUnreadCount??0}]})),le=D.map(x=>({channelId:x.id,readCursor:ce.get(x.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:le.length,channelsWithReadCursor:le.filter(x=>x.readCursor!=="").length,clientTypeHeader:o$1,clientTypeBody:o$1}}));let oe=await xa$1({http:f$1,userId:l.userId,clientType:o$1,channels:le,operationId:t,decryptDeps:bn("offline"),prepareKeys:x=>tn(x.filter(ie=>{let Ee=V.get(ie)?.channelState;return Ee===void 0||!He(Ee)})),onContentDecodeError:ue,onReaction:We});if(!y)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:oe.length,lastMessageCount:oe.filter(x=>x.last!==void 0).length,decryptFailedLastCount:oe.filter(x=>x.last?.encryption.decryptFailed===true).length,unknownContentLastCount:oe.filter(x=>x.last?.contentType==="unknown"&&x.last.encryption.decryptFailed!==true).length}}));let q=new Set(oe.filter(x=>{let ie=ce.get(x.channelId),Ee={conversationType:"channel",conversationId:x.channelId},Te=z$1.getReadState(Ee),Sn=z$1.getSession(Ee);return ie===void 0||ie.pending||z$1.hasPendingChannelRead(Ee)||z$1.getChannelReadRevision(Ee)!==ie.revision||(Te?.readCursor??Sn?.readCursor??"")!==ie.readCursor||(Sn?.unreadCount??Te?.unreadCount??0)!==ie.unreadCount||(Sn?.mentionUnreadCount??Te?.mentionUnreadCount??0)!==ie.mentionUnreadCount}).map(x=>x.channelId)),Z=oe.filter(x=>z$1.getConversationContext({conversationType:"channel",conversationId:x.channelId})!==void 0).map(x=>{let Ee=V.get(x.channelId)?.channelState,Te=Ee!==void 0&&He(Ee)?Ee:He(x.channelState)?x.channelState:Ee??x.channelState,Sn=Te==="active"?void 0:Te===x.channelState?x.sendDisabledReason:`channel_${Te}`;return {...x,channelState:Te,sendDisabledReason:Sn}});for(let x of Z){let ie=V.get(x.channelId);z$1.setChannelRestriction(x.channelId,x.channelState,x.sendDisabledReason,ie===void 0?void 0:{permissions:ie.permissions,...ie.accessSnapshot===void 0?{}:{snapshot:ie.accessSnapshot}}),ie!==void 0&&(z$1.updateConversationProfile({conversationType:"channel",conversationId:x.channelId},{title:ie.name,avatar:ie.avatar}),ie.muted!==void 0&&z$1.setMuted({conversationType:"channel",conversationId:x.channelId},ie.muted)),q.has(x.channelId)||z$1.applyChannelReadSummary({conversationType:"channel",conversationId:x.channelId},x),He(x.channelState)&&te?.clearChannelKey(x.channelId);}let de=un,J=new Map(Z.map(x=>[x.channelId,an(x.channelId)])),ee=x=>{let ie=z$1.getConversationContext({conversationType:"channel",conversationId:x});return y&&de===un&&J.get(x)===an(x)&&ie!==void 0&&(ie.channelState===void 0||!He(ie.channelState))},se=x=>{if(!y||de!==un)return [];let ie=x.filter(Ee=>ee(Ee.conversationId));return ie.length>0&&z$1.upsertMessages(ie,"offline",{applyChannelLifecycleEffects:true}),ie};se(Z.flatMap(x=>x.last===void 0?[]:[x.last])),await fa$1(Z.filter(x=>x.last===void 0&&!He(x.channelState)).map(x=>({conversationType:"channel",conversationId:x.channelId})));let Ae=Z.filter(x=>!q.has(x.channelId)&&!He(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 ie of Z)q.has(ie.channelId)?x.staleRead+=1:He(ie.channelState)?x.historyBlocked+=1:ie.unreadCount<=0?x.zeroUnread+=1:ie.readCursor===""&&(x.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:Z.length,eligibleChannelCount:Ae.length,staleReadSkippedCount:x.staleRead,historyBlockedSkippedCount:x.historyBlocked,zeroUnreadSkippedCount:x.zeroUnread,emptyReadCursorSkippedCount:x.emptyReadCursor,direction:0,contain:0,count:wt}}});let ke=[],_e=new Map(Ae.map(x=>[x.channelId,x.readCursor])),Be=[];for(let x of Ae){let ie={conversationType:"channel",conversationId:x.channelId},Ee=A$1?.supportsChannelSyncCheckpoint!==true?void 0:Ja(await A$1.getMeta(Ia$1(ie)),ie);if(!ee(x.channelId))continue;let Te=Ee?.startIndex===x.readCursor;Be.push({channelId:x.channelId,baseIndex:Te?Ee.baseIndex:x.readCursor}),u$1.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:ie,data:{resumed:Te}}));}let cn=[],Oe=[],Qe;if(await ya$1({http:f$1,userId:l.userId,clientType:o$1,operationId:t,pulls:Be,messageCount:wt,signal:Ue.signal,beforePage:()=>he.waitForBackground(Ue.signal),isChannelCurrent:ee,yieldToEventLoop:b$1,decryptDeps:{...bn("offline"),onDecryptRecovery:x=>Oe.push(x)},prepareKeys:x=>tn(x,{recoverExistingMessages:false}),onContentDecodeError:ue,onReaction:x=>cn.push(x),onPage:async(x,ie)=>{let Ee=cn.splice(0),Te=Oe.splice(0),co=(async()=>{for(let Jn of ie.pulls){let Sa={conversationType:"channel",conversationId:Jn.channelId},Yn=()=>ee(Jn.channelId);if(!Yn())continue;let fr=Te.filter(vn=>vn.conversation.conversationId===Jn.channelId),Pa=()=>{ke.push(...se(x.filter(vn=>vn.conversationId===Jn.channelId)));for(let vn of Ee)Yn()&&vn.conversation.conversationId===Jn.channelId&&We(vn);};if(A$1?.supportsChannelSyncCheckpoint!==true){Pa();for(let vn of fr)Yn()&&k(vn);continue}if(!await z$1.commitChannelSyncPage([Sa],Pa,Yn,async()=>{if(fr.length>0&&A$1.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let vn of fr)await A$1.saveDecryptRecovery(vn);})||!Yn())continue;let Aa=ie.nextBaseIndexes[Jn.channelId];Aa!==void 0&&await z$1.saveChannelSyncCheckpoint({version:1,conversation:Sa,startIndex:_e.get(Jn.channelId),baseIndex:Aa},Yn);for(let vn of fr)Yn()&&Wr(vn).catch(Su=>n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:Su}}));}})();Ke.add(co);try{await co;}finally{Ke.delete(co);}}}).catch(x=>{Qe={cause:x};}),!y)return;let xe=Z.flatMap(x=>{let ie=x.last;if(ie===void 0||Ot(ie))return [];let Ee=ie.extensions?.historyCursor;return [{summary:x,last:ie,historyCursor:typeof Ee=="string"?Ee.trim():""}]}),In=(x,ie)=>`${x}:${ie}`,_n=new Map,io=new Set;for(let{summary:x,last:ie}of xe){let Ee=z$1.getConversationMessage({conversationType:"channel",conversationId:x.channelId},ie.id);if(Ee===void 0||!Ot(Ee))continue;let Te=In(x.channelId,ie.id);_n.set(Te,Ee),io.add(Te);}for(let x of ke)Ot(x)&&_n.set(In(x.conversationId,x.id),x);let Ma=xe.filter(({summary:x,last:ie,historyCursor:Ee})=>Ee!==""&&!q.has(x.channelId)&&!He(x.channelState)&&!_n.has(In(ie.conversationId,ie.id))&&!qr.has(In(ie.conversationId,ie.id))),Cu=xe.filter(({summary:x,last:ie})=>!q.has(x.channelId)&&!He(x.channelState)&&!io.has(In(ie.conversationId,ie.id))&&_n.has(In(ie.conversationId,ie.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:xe.length,decryptFailedLastCount:xe.filter(({last:x})=>x.encryption.decryptFailed===true).length,unknownContentLastCount:xe.filter(({last:x})=>x.contentType==="unknown"&&x.encryption.decryptFailed!==true).length,localRecoveredCount:io.size,offlineRecoveredCount:Cu,contextRecoveryCount:Ma.length,staleReadSkippedCount:xe.filter(x=>q.has(x.summary.channelId)).length,historyBlockedSkippedCount:xe.filter(x=>He(x.summary.channelState)).length,missingHistoryCursorCount:xe.filter(x=>x.historyCursor==="").length}}));let bu=async({summary:x,last:ie,historyCursor:Ee})=>{try{if(await he.waitForBackground(Ue.signal),!ee(x.channelId))return;let{message:Te}=await $n.loadMessageContext(x.channelId,Ee,l.userId,Ue.signal),Sn=z$1.getConversationContext({conversationType:"channel",conversationId:x.channelId});if(!y||Sn?.type!=="channel"||Sn.channelState!==void 0&&He(Sn.channelState))return;if(Te.conversationType!=="channel"||Te.conversationId!==x.channelId||Te.id!==ie.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${x.channelId}, messageId=${ie.id}\uFF09`);if(!Ot(Te)){if(Te.contentType==="unknown"&&Te.encryption.decryptFailed!==!0){qr.add(In(Te.conversationId,Te.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:x.channelId},data:{messageId:ie.id,reason:Te.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=${ie.id}\uFF09`)}return Te}catch(Te){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:Te},data:{messageId:ie.id}}));return}},so=[];for(let x of Ma){if(!y)break;so.push(await bu(x));}for(let x of so)x!==void 0&&_n.set(In(x.conversationId,x.id),x);let Mu=so.filter(x=>{if(x===void 0)return false;let ie=z$1.getConversationMessage({conversationType:"channel",conversationId:x.conversationId},x.id);return ie===void 0||!Ot(ie)});if(se(Mu),Qe!==void 0)throw Qe.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:D.length,terminalProfileCount:D.filter(x=>I(x.channelState)).length,sessionCount:oe.length,acceptedSessionCount:Z.length,sessionLastCount:Z.filter(x=>x.last!==void 0).length,recoveredSessionLastCount:xe.filter(({last:x})=>_n.has(In(x.conversationId,x.id))).length,offlineMessageCount:ke.length}}));}let Kt=null,ao=false;function tu(){return Kt!==null?(ao=true,Kt):(Kt=(async()=>{let l;do{ao=false,l=void 0;try{await eu();}catch(D){l=D;}}while(ao);if(l!==void 0)throw l})().finally(()=>{Kt=null;}),Kt)}let ru=Ab({pullers:[ma$1("chat",Ba),ma$1("owner_chat",Ca),Ql()],domainState:z$1,emitter:n$2,logger:B,yieldToEventLoop:b$1});function ou(){return y&&F==="ready"&&ct&&on===0&&ge.state==="authenticated"}async function ga(){if(U!==void 0&&(!U.owned||X))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=hn.begin(),l=Zl().catch(V=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:V}})),D=tu().catch(V=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:V}}));on+=1;try{let ce=(await Promise.allSettled([ru.sync(),l,D])).find(le=>le.status==="rejected");if(ce?.status==="rejected")throw ce.reason}finally{t(),on-=1,ct=ge.state==="authenticated",ye?.notifySchedulingChanged();}}async function au(){if(F==="ready")return;F="preparing";let t=await c.getLoginContext();if(y){if(t!==null){if(await Jl(t.userId),!y)return;i$1=t.userId;try{await g?.prepare(t.userId);}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u672C\u6B21\u4E0A\u4F20\u4EC5\u652F\u6301\u5F53\u524D\u9875\u9762\u5185\u6062\u590D"}});}if(!y)return;if(pe!==void 0&&pe.getUserPrivateKey(t.userId),A$1!==void 0)try{if(await A$1.open({namespace:t.userId}),!y)return;try{await p$1.hydrate();}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!y||(await z$1.hydrate(()=>y),!y))return;for(let l of z$1.getSessions())l.title===""&&l.type!=="supergroup"&&z$1.refreshConversationProfile(l.id,l.type);if(await ge.hydrateOutbox(()=>y),!y)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!y)return;if(me!==void 0)for(let l of z$1.getSessions())l.type==="group"&&cr(l.id);}y&&(F="ready");}}function ya(){if(X)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(F==="ready")return Promise.resolve();if(ve!==null)return ve;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),ve=au().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(()=>{ve=null;}),ve}function iu(t){if(X)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!y||X)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(M=true,ge.state==="authenticated")return Promise.resolve();if(we!==null)return we;T$1=t?.initialSync??"auto",L=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:T$1}}));let D=_;return we=(async()=>{await ya(),!(!y||!M||D!==_)&&(pr.start(),await ge.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(V=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:V}})),V}).finally(()=>{we=null;}),we}function Ia$2(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),M=false,_+=1,ca(),ge.disconnect(t),pr.stop();}function va$1(t,l={}){if(fe!==void 0)return fe;let D,V;return fe=new Promise((ce,le)=>{D=ce,V=le;}),su(t,l).then(D,V),fe}async function su(t,l){let D=Date.now(),V;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),y=false,Ue.abort(),he.dispose(),hn.dispose(),no.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let ce=ye?.dispose();vl(),$l(),Ut.dispose(),ca(),Qr.dispose(),Zr.dispose(),Lt.dispose(),pa$1.dispose(),ro.dispose(),C$1.dispose(),qn.dispose(),gn.dispose();let le=ge.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let ee of $)ee.close();$.clear(),un+=1,ge.markOutboxForLogout(t?.pendingMessages??"fail"),la.dispose(),ua$1.dispose(),$n.dispose(),On.dispose(),pn.dispose(),Vn.dispose(),O$1.dispose();let oe=p$1.dispose();Dt.dispose(),mt.dispose(),Bl(),Gl(),zl(),da.dispose(),to.reset(),te?.clearAll(),yt.clear(),Vr.clear(),qr.clear(),Ia$2("im-logout"),(l.requireStorageClose||U?.owned===true)&&await ve?.catch(()=>{});try{await le;}catch{n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u4EFB\u52A1\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u672C\u5730\u6570\u636E\u4E0E\u7F51\u7EDC\u72B6\u6001"}});}try{await g?.dispose(l.preserveUploadRecovery===!0);}catch(ee){V=ee,n$2.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u6E05\u7406\u5931\u8D25\uFF0C\u8BF7\u6E05\u9664\u6B64\u7AD9\u70B9\u7684\u672C\u5730\u6570\u636E"}});}await z$1.invalidateAndDrainDraftOperations(),await oe,await ce,await Promise.allSettled([...Ke]),await z$1.waitForChannelSyncPersistence(),z$1.clearSession();let q=t?.localData==="purge"?i$1:"",Z=q===""?void 0:V,de,J=true;if(A$1!==void 0)try{await A$1.close();}catch(ee){J=false,q!==""&&(Z=ee),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:q===""?"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25":"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93",cause:ee}});}if(q!==""&&J)try{N!==void 0?await N.purgeCurrentAccount({namespaceFactory:r,accountId:q}):await eb$1(q,{namespaceFactory:r}),Z===void 0&&(de=q);}catch(ee){Z=ee,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:ee}});}if(F="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-D,data:{purgedAccountId:de,purgeFailed:Z!==void 0}})),K(),P(),Xl(),X=true,(l.requireStorageClose||U!==void 0)&&!J)throw new Error("Previous chat page could not close its account storage");return U?.stop(),{...de===void 0?{}:{purgedAccountId:de},...Z===void 0?{}:{purgeError:Z}}}function cu(){return {sessionState:F,connectionState:ge.state,...i$1!==""?{userId:i$1}:{},prepared:F==="ready",connectionDesired:M,authenticated:ge.state==="authenticated",receiving:hn.receiving}}function du(t){return n$2.subscribe(t)}function lu(){return {connectionState:ge.state,pendingOutbox:ge.getPendingOutbox()}}function uu(){return z$1.getConversationList()}lt=async({conversation:t,newestLoaded:l,cursor:D,limit:V,signal:ce})=>{ce?.throwIfAborted();let{conversationId:le}=t,oe=z$1.getConversationContext(t);if(oe===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${le}\uFF09`);if(oe.type==="direct"||oe.type==="robot")return {messages:[],exhausted:true};if(oe.type==="group"){if(oe.groupState!==void 0&&oe.groupState!=="active")return {messages:[],exhausted:true};let q=await c.getLoginContext();if(q===null)return {messages:[],exhausted:true};let Z=D===void 0?l?.serverTime??l?.createdAt:al(D,le);if(Z===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${le}, messageId=${l?.id??""}\uFF09`);let de=await Ha$1({signal:ce,http:f$1,userId:q.userId,clientType:o$1,groupId:le,baseTime:Z,direct:2,limit:V,decryptDeps:gt("history"),prepareKeys:ft,onReaction:We});ce?.throwIfAborted(),de.messages.length>0&&z$1.upsertMessages(de.messages,"offline",{backfillOnly:true});let J=de.newestEntryTime,ee=de.batchSize<V||J===void 0||J<=Z;return {messages:de.messages,exhausted:ee,...ee?{}:{nextCursor:String(J)}}}if(oe.type==="channel"){if(oe.channelState!==void 0&&He(oe.channelState))return {messages:[],exhausted:true};let q=D??l?.extensions?.historyCursor;if(typeof q!="string"||q.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${le}, messageId=${l?.id??""}\uFF09`);let Z=un,de=an(le),J=await c.getLoginContext();if(J===null)return {messages:[],exhausted:true};let ee=D===void 0?(await $n.loadMessageContext(le,q,J.userId,ce)).context:await $n.loadNewerPage(le,q,J.userId,ce);ce?.throwIfAborted();let se=z$1.getConversationContext(t);return !y||Z!==un||de!==an(le)||se?.type!=="channel"||se.channelState!==void 0&&He(se.channelState)?{messages:[],exhausted:true}:(ee.messages.length>0&&z$1.upsertMessages(ee.messages,"offline",{backfillOnly:true}),{messages:ee.messages,exhausted:!ee.hasNewer,...!ee.hasNewer||ee.nextCursor===void 0?{}:{nextCursor:ee.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${oe.type}`)};function pu(t){let l=t.conversationId,D=i$1,V=un,ce=an(l),le,oe;return async({readCursor:q,cursor:Z,signal:de,isCurrent:J})=>{let ee=he.enterForeground();try{let se=()=>{let Oe=z$1.getConversationContext(t);return y&&i$1===D&&J()&&V===un&&ce===an(l)&&Oe?.type==="channel"&&(Oe.channelState===void 0||!He(Oe.channelState))};if(de.throwIfAborted(),!se()||Z!==void 0&&(le!==q||oe===void 0))return;let Ae=await c.getLoginContext();if(de.throwIfAborted(),Ae===null||Ae.userId!==D||!se())return;let ke=[],_e=[],Be=await S({http:f$1,userId:Ae.userId,clientType:o$1,channelId:l,index:Z??q,containAnchor:Z===void 0,signal:de,decryptDeps:{...bn("history"),onDecryptRecovery:Oe=>_e.push({...Oe,source:"history"})},prepareKey:Oe=>tn([Oe],{recoverExistingMessages:!1}),onContentDecodeError:ue,onReaction:Oe=>ke.push(Oe)});if(de.throwIfAborted(),!se())return;if(Z===void 0){let Oe=Be.messages.find(Qe=>Qe.extensions?.historyCursor===q);if(Oe===void 0)return;le=q,oe=Oe.sortKey;}if(oe===void 0||(Be.messages.length>0&&z$1.upsertMessages(Be.messages,"offline",{backfillOnly:!0}),!se()))return;for(let Oe of ke){if(!se())return;We(Oe);}for(let Oe of _e){if(!se())return;k(Oe);}return se()?{messages:Be.messages.map(Oe=>{let Qe=z$1.getConversationMessage(t,Oe.id);if(Qe===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Qe}),readCursorSortKey:oe,exhausted:!Be.hasNewer,...Be.nextCursor===void 0?{}:{nextCursor:Be.nextCursor}}:void 0}finally{ee();}}}async function ha(){let t=await c.getLoginContext();if(t===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let l=await oo(t.userId),D=await Da$1({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:l,onReaction:We}),V=await Ea({http:f$1,userId:t.userId,clientType:o$1,decryptDeps:l,onReaction:We}),ce=[...D,...V];return z$1.upsertMessages(ce,"offline"),ce}async function mu(){await ga();}let fu=2;function yn(t){let l=Q({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function gu(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function yu(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let l=t;return {code:l.code,category:l.category,retryable:l.retryable}}return t instanceof n$1?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof o||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Ca$2(t){if(!y)throw yn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Iu(t){let l=t?.conversationType,D=t?.conversationId;if(l==="supergroup")throw yn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof D!="string"||D.trim()==="")throw yn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:D.trim()})}function ht(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 vu(t){let l=Iu(t);if(Ca$2(l),z$1.getSession(l)!==void 0)return l;let D=hn.begin(),V=false,ce=n$2.subscribe(oe=>{oe.type==="session:removed"&&oe.conversation.conversationType===l.conversationType&&oe.conversation.conversationId===l.conversationId&&(V=true);}),le=()=>{if(Ca$2(l),V)throw yn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let J=pn.peekItem("individual",l.conversationId);if(J!==void 0)return z$1.prepareConversation(ht(l,{title:J.displayName||J.cardDisplayName,...J.avatarUrl===void 0?{}:{avatar:J.avatarUrl}})),l;let ee=await gn.getRelationship(l.conversationId);if(le(),ee!=="friend")throw yn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:ee})});let se=await gn.getProfile(l.conversationId);if(le(),se===null||se.id!==l.conversationId)throw yn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return z$1.prepareConversation(ht(l,{title:se.remark??se.nickname,...se.avatar===void 0?{}:{avatar:se.avatar},...se.muted===void 0?{}:{muted:se.muted}})),l}if(l.conversationType==="group"){let J=z$1.isMembershipTerminated(l),ee=pn.peekItem("group",l.conversationId);if(ee!==void 0&&!J)return z$1.prepareConversation(ht(l,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl},groupState:"active"})),l;if(Cn===void 0)throw yn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let se=await Cn.getGroupProfile(l.conversationId,J?{forceRefresh:!0}:void 0);if(le(),se===null||se.id!==l.conversationId)throw yn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(se.isInGroup===!1||J&&se.isInGroup!==!0||se.status!==void 0&&se.status!==fu)throw yn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...se.status===void 0?{}:{status:se.status},...se.isInGroup===void 0?{}:{isInGroup:se.isInGroup}})});return z$1.prepareConversation(ht(l,{title:se.name,...se.avatar===void 0?{}:{avatar:se.avatar},...se.muted===void 0?{}:{muted:se.muted},groupState:"active"}),{membershipConfirmed:J}),J&&(le(),xt({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let J=Vn.peek(l.conversationId);return z$1.prepareConversation(ht(l,{title:J?.displayName??l.conversationId,...J?.avatarUrl===void 0?{}:{avatar:J.avatarUrl}})),l}if(fn===void 0)throw yn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let oe=z$1.isMembershipTerminated(l),q=await fn.getProfile(l.conversationId,oe?{forceRefresh:!0}:void 0);if(le(),q===null||q.id!==l.conversationId)throw yn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let Z=q.channelState==="active"||q.channelState==="muted",de=q.channelState==="muted"&&q.accessSnapshot?.allMembersMuted===!0&&q.role!=="owner"&&q.role!=="admin";if(!Z||de)throw yn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:q.channelState,role:q.role,hiddenByAllMemberMute:de})});return z$1.prepareConversation(ht(l,{title:q.name,...q.avatar===void 0?{}:{avatar:q.avatar},...q.muted===void 0?{}:{muted:q.muted},channelState:q.channelState,channelPermissions:q.permissions,...q.accessSnapshot===void 0?{}:{channelAccessSnapshot:q.accessSnapshot},...q.permissions.sendMessages?{}:{sendDisabledReason:`channel_${q.channelState}`}}),{membershipConfirmed:oe}),oe&&(le(),xt({conversationType:"channel",conversationId:l.conversationId})),l}catch(oe){if(gu(oe))throw oe;let q=yu(oe);throw yn({...q,conversation:l,cause:oe})}finally{ce(),D();}}let Bt={...ad({...h$1===void 0?{}:{coreClient:h$1},authProvider:c,http:f$1,resolveInput:sr,domainState:z$1,operations:{list:uu,pullOffline:ha,sync:mu,prefetchRecent:(t,l)=>ye.prefetchRecent(t,l)},beforeDeleteConversation:Tt,terminateConversationSending:(t,l)=>ge.terminateConversationSending(t,l),resetConversationBackground:t=>O$1.api.resetBackground(t),reportStorageError:(t,l)=>n$2.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>ge.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await ba(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...O$1.api,ensureOpenableConversation:vu,getContext:t=>z$1.getConversationContext(t)};function hu(t,l=true){let D=new AbortController,V={...t,resumeMedia(){!l||!y||D.signal.aborted||ge.state!=="authenticated"||t.ref.conversationType==="robot"||ge.resumePausedMediaUploads(t.ref,D.signal).catch(()=>{y&&!D.signal.aborted&&n$2.emit({type:"error",error:{scope:"unknown",message:"\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4F20\u6062\u590D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6"}});});},close(){D.abort(),t.close(),$.delete(V);}};return Br(V,t),$.add(V),l&&V.resumeMedia(),V}function mr(t,l,D=true){if(!y)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()),hu(t,D)}async function ba(t,l={},D){if(!y)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let V=ye?.enterForeground(t),ce=he.enterForeground(),le=hn.begin();try{let oe={beginReceiving:hn.begin,domainState:z$1,invalidateHistory:Tt,emitter:n$2,drafts:Dt.api,sendText:Le.operations.sendText,sendContact:Le.operations.sendContact,sendImage:Le.operations.sendImage,sendVideo:Le.operations.sendVideo,sendVoice:Le.operations.sendVoice,sendFile:Le.operations.sendFile,sendGif:Le.operations.sendGif,sendMediaAlbum:Le.operations.sendMediaAlbum,sendExpression:Le.operations.sendExpression,sendGame:Le.operations.sendGame,sendMiniProgram:Le.operations.sendMiniProgram,sendTransfer:Le.operations.sendTransfer,sendGift:Le.operations.sendGift,replaceVideo:Le.operations.replaceInterruptedVideo,replaceFile:Le.operations.replaceInterruptedFile,forwardMessages:Le.operations.forwardMessages,recallMessage:Le.operations.recallMessage,editMessage:Le.operations.editMessage,setReaction:({conversation:q,parentMessageId:Z,emoji:de,action:J})=>{if(q.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let ee={conversationType:q.conversationType,conversationId:q.conversationId};return J==="toggle"?Lt.toggle({conversation:ee,parentMessageId:Z,emoji:de}):Lt.set({conversation:ee,parentMessageId:Z,emoji:de,action:J==="add"?0:1})},markRead:Le.operations.markRead,markConversationRead:Le.operations.markConversationRead,markVisibleMessages:Le.operations.markVisibleMessages,markDirectMediaConsumed:Le.operations.markDirectMediaConsumed,prepareMediaPreview:H,getSelfId:()=>i$1,isOutboxOwned:q=>ge.getPendingOutbox().some(Z=>Z.id===q),hasOutboxForConversation:q=>ge.getPendingOutbox().some(Z=>Z.conversationType===q.conversationType&&Z.conversationId===q.conversationId),resolveSearchHistoryAnchor:mt.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let q={conversationType:"direct",conversationId:t.conversationId},Z=await Ad(q,{...oe,getRelationship:gn.getRelationship,shouldCheckRelationship:()=>ge.state==="authenticated",appendContactRequiredTextFailure:J=>z$1.appendDirectContactRequiredTextFailure({conversationId:J.conversationId,senderId:i$1,text:J.text,...J.refMessageId===void 0?{}:{refMessageId:J.refMessageId}}),setMuted:(J,ee)=>Bt.setMuted(J,ee),fetchMessagesByIdBatch:hl},l),de=mr(Z,l.signal,D!=="read");return lr(q),de}case "group":{let q={conversationType:"group",conversationId:t.conversationId},Z=await Ed(q,{...oe,getSendPermissionError:J=>{let ee=z$1.getConversationContext(q),se=ee?.type==="group"?ee.groupState:"unknown";if(!(se===void 0||se==="active"))return Q({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:J,retryable:!1,conversation:q,details:Object.freeze({groupState:se})})},setMuted:(J,ee)=>Bt.setMuted(J,ee),fetchMessagesByIdBatch:J=>Cl(q.conversationId,J)},l),de=mr(Z,l.signal,D!=="read");return lr(q),de}case "channel":{let q={conversationType:"channel",conversationId:t.conversationId},Z=await Td(q,{...oe,loadEntryUnreadPage:pu(q),getSelfId:()=>i$1,deleteMessageForEveryone:ge.deleteChannelMessageForEveryone,reconcilePage:Vl.reconcilePage,getSendPermissionError:J=>{let ee=z$1.getConversationContext(q),se=ee?.type==="channel"&&ee.channelState!==void 0?ee.channelState:"unknown_restricted",Ae=Ca$1({channelState:se,nowMs:Date.now(),...ee?.type!=="channel"||ee.channelAccessSnapshot===void 0?{}:{snapshot:ee.channelAccessSnapshot},...ee?.type!=="channel"||ee.channelPermissions===void 0?{}:{permissions:ee.channelPermissions}});if(!(Ae.channelState==="active"&&Ae.permissions.sendMessages))return Q({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:J,retryable:!1,conversation:q,details:Object.freeze({channelState:Ae.channelState,...Ae.muteReason===void 0?{}:{muteReason:Ae.muteReason}})})},setMuted:(J,ee)=>Bt.setMuted(J,ee),fetchMessagesByIdBatch:J=>bl(q.conversationId,J)},l),de=mr(Z,l.signal,D!=="read");return lr(q),de}case "robot":{let q={conversationType:"robot",conversationId:t.conversationId},Z=await Rd(q,{...oe,setMuted:(de,J)=>Bt.setMuted(de,J)},l);return mr(Z,l.signal,D!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{le(),V?.(),ce();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Le.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:ba,localData:Nn,directory:pn.search,robots:Vn.api,search:mt.api,applications:qn.api,expressions:ir.api,sessionFavorites:zr.api,outbox:pa$1.api,drafts:Dt.api,connection:cd({operations:{prepare:ya,connect:iu,disconnect:Ia$2,subscribe:du,getSnapshot:lu,getLifecycle:cu},getState:()=>ge.state}),conversations:Bt,settings:p$1.api,push:Ut.api,contact:gn,group:gc({directory:pn.groups,...Cn===void 0?{}:{profile:Cn},...h$1===void 0?{}:{coreClient:h$1},...m$1===void 0?{}:{avatarTransfer:m$1},domainState:{...Nt,prepareConversation:t=>z$1.prepareConversation(t)},emitter:n$2,pinned:la.operations}),channel:td({directory:pn.channels,...fn===void 0?{}:{channelProfile:fn},...Je===void 0?{}:{channelMembers:Je},...Ye===void 0?{}:{channelMentionMembers:Ye},mentionCandidates:On.api,applications:$n.applications,pinned:ua$1.operations,...h$1===void 0?{}:{coreClient:h$1},...m$1===void 0?{}:{avatarTransfer:m$1},crypto:qe,domainState:{prepareConversation:t=>z$1.prepareConversation(t),setChannelRestriction:z$1.setChannelRestriction,removeConversationForMembershipTermination:Nt.removeConversationForMembershipTermination,updateConversationProfile:z$1.updateConversationProfile,refreshConversationProfile:z$1.refreshConversationProfile},emitter:n$2,...te===void 0?{}:{cacheCreatedSecretKey:(t,l)=>te.primeChannelKey(t,l)},getSelfUserId:async()=>i$1!==""?i$1:(await c.getLoginContext())?.userId??""}),media:ro.api,calls:pd(Qr),groupCalls:jd(Zr),teardown:va$1}}function Jm(e){let n=Ym(e);return dl(ll(n),e.coreApi!==void 0)}function pI(e){return ll(Xm(e))}function Ym(e){return {...sl(e),...e.coreApi===void 0?{}:{coreClient:cl(e.authProvider,e.coreApi)}}}function sl(e){let{authProvider:n,cache:r,clientType:d,connection:o,debug:c,endpointProvider:i,expressions:u,media:y,onRequestError:g,uploadRecovery:b}=e;return {authProvider:n,onRequestError:g,cache:r,clientType:d,connection:o,debug:c,endpointProvider:i,expressions:u,media:y,uploadRecovery:b}}function Xm(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:o,channelProfile:c,contactApplications:i,coreApi:u,coreClient:y,directory:g,expressionProvider:b,sessionFavoriteProvider:h,http:f,network:S,profile:N,groupApplications:A,transport:k}=e;return {...sl(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:o,channelProfile:c,contactApplications:i,directory:g,expressionProvider:b,sessionFavoriteProvider:h,...y!==void 0?{coreClient:y}:u===void 0?{}:{coreClient:cl(e.authProvider,u)},http:f,network:S,profile:N,groupApplications:A,transport:k}}function cl(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 dl(e,n){let r=Nc({getCompatibilityApi:()=>e.conversations,subscribeEvents:s=>e.connection.subscribe(s),getSessionState:()=>e.session.getSnapshot().sessionState}),d={getSnapshot:()=>e.media.getSnapshot(),subscribe:s=>e.media.subscribe(s),cancel:s=>e.media.cancel(s),retry:(s,a)=>e.media.retry(s,a),pause:s=>e.media.pause(s),resume:s=>e.media.resume(s),getUploadRecovery:s=>e.media.getUploadRecovery(s),resumeUpload:(s,a)=>e.media.resumeUpload(s,a),download:s=>e.media.download(s),getCached:s=>e.media.getCached(s),prepareLocalPreview:s=>e.media.prepareLocalPreview(s),prepareLocalVideoPoster:s=>e.media.prepareLocalVideoPoster(s)},o=s=>Promise.reject(Q({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false}));async function c(s,a,p){if(!n)return o(s);try{return await a()}catch(E){throw Uo(E,s,p)}}function i(s,a,p){if(!n)throw Q({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:s,retryable:false,conversation:p});try{return a()}catch(E){throw Uo(E,s,p)}}let u,y=s=>c("contacts.getRelationship",()=>e.contacts.getRelationship(s)),g=(s,a)=>c("groups.getProfile",async()=>{let p=await e.groups.getProfile(s,a);return p===null?null:$c(s,p)},s),b=(s,a)=>c("channels.getProfile",async()=>{let p=await e.channels.getProfile(s,a);return p===null?null:Jc(s,p)},s),h={listFirstPage:s=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(s)),listNextPage:s=>c("contacts.listNextPage",()=>e.contacts.listNextPage(s)),getProfile:(s,a)=>c("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(s,a);return p===null?null:Wc(s,p)}),getRelationship:async s=>{let a=s.trim(),p={conversationType:"direct",conversationId:a},E=u?.beginProjectionUpdate(p),R=await y(s);return E!==void 0&&u?.updateRelationshipProjection(a,R,E),R},setRemark:(s,a)=>c("contacts.setRemark",()=>e.contacts.setRemark(s,{...a.name===void 0?{}:{name:a.name},...a.emails===void 0?{}:{email:[...a.emails]},...a.phones===void 0?{}:{phones:a.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}})),searchUser:s=>c("contacts.searchUser",()=>e.contacts.searchUser(s)),requestFriendship:(s,a)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(s,a)),blockUser:s=>c("contacts.blockUser",()=>e.contacts.blockUser(s),{conversationType:"direct",conversationId:s}),reportUser:(s,a)=>c("contacts.reportUser",()=>e.contacts.reportUser(s,a),{conversationType:"direct",conversationId:s}),deleteFriendship:s=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(s),{conversationType:"direct",conversationId:s})},f={search:s=>c("directory.search",()=>e.directory.search(s))},S={listFirstPage:s=>c("groups.listFirstPage",()=>e.groups.listFirstPage(s)),listNextPage:s=>c("groups.listNextPage",()=>e.groups.listNextPage(s)),uploadAvatar:s=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(s)),create:s=>c("groups.create",()=>e.groups.create(s)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>o("groups.mentions.listAll"),refreshAll:()=>o("groups.mentions.refreshAll")},getProfile:async(s,a)=>{let p=u?.beginProjectionUpdate(s),E=await g(s,a);return p!==void 0&&u?.updateGroupProfileProjection(s,E,p),E},updateName:(s,a)=>c("groups.updateName",()=>e.groups.updateName(s,a),s),updateAvatar:(s,a)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(s,a),s),setMyNickname:(s,a)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(s,a),s),updateVerification:(s,a,p)=>c("groups.updateVerification",()=>e.groups.updateVerification(s,a,p),s),requestJoin:(s,a)=>c("groups.requestJoin",()=>e.group.requestJoin(s.conversationId,a),s),joinByInviteCode:(s,a)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(s.conversationId,a),s),inviteMembers:(s,a)=>c("groups.inviteMembers",()=>e.group.inviteMembers(s.conversationId,a),s),removeMember:(s,a)=>c("groups.removeMember",()=>e.group.removeMember(s.conversationId,a),s),transferOwnership:(s,a)=>c("groups.transferOwnership",()=>e.group.transferOwnership(s.conversationId,a),s),leave:(s,a)=>c("groups.leave",()=>e.group.leave(s.conversationId,a),s),peekPinnedMessage:s=>i("groups.peekPinnedMessage",()=>{let a=e.group.peekPinnedMessage(s.conversationId);return a===null?null:Fr(s,a)},s),getPinnedMessage:s=>c("groups.getPinnedMessage",async()=>{let a=await e.groups.getPinnedMessage(s);return a===null?null:Fr(s,a)},s),pinMessage:(s,a)=>c("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(s,a);return Fr(s,p)},s),unpinMessage:s=>c("groups.unpinMessage",()=>e.groups.unpinMessage(s),s)},N={listFirstPage:s=>c("channels.listFirstPage",()=>e.channels.listFirstPage(s)),listNextPage:s=>c("channels.listNextPage",()=>e.channels.listNextPage(s)),uploadAvatar:s=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(s)),create:s=>c("channels.create",()=>e.channels.create(s)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>o("channels.mentions.getCachedPage"),prefetchFirstPage:()=>o("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>o("channels.mentions.refreshFirstPage"),listFirstPage:()=>o("channels.mentions.listFirstPage"),listNextPage:()=>o("channels.mentions.listNextPage"),searchFirstPage:()=>o("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>o("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>o("channels.mentions.searchNextPage")},getProfile:async(s,a)=>{let p=u?.beginProjectionUpdate(s),E=await b(s,a);return p!==void 0&&u?.updateChannelProfileProjection(s,E,p),E},updateName:(s,a)=>c("channels.updateName",()=>e.channel.updateName(s.conversationId,a),s),updateDescription:(s,a)=>c("channels.updateDescription",()=>e.channel.updateDescription(s.conversationId,a),s),updateAvatar:(s,a)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(s.conversationId,a),s),updateVerification:(s,a,p)=>c("channels.updateVerification",()=>e.channels.updateVerification(s,a,p),s),requestJoin:(s,a)=>c("channels.requestJoin",()=>e.channel.requestJoin(s.conversationId,a),s),joinByInviteCode:(s,a)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(s.conversationId,a),s),setAllMuted:(s,a)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(s.conversationId,a),s),setMemberPrivateChatDisabled:(s,a)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(s.conversationId,a),s),setMyNickname:(s,a)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(s.conversationId,a),s),setMemberNickname:(s,a,p)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(s.conversationId,a,p),s),inviteMembers:(s,a)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(s.conversationId,a),s),removeMember:(s,a)=>c("channels.removeMember",()=>e.channel.removeMember(s.conversationId,a),s),addAdmin:(s,a)=>c("channels.addAdmin",()=>e.channel.addAdmin(s.conversationId,a),s),removeAdmin:(s,a)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(s.conversationId,a),s),transferOwnership:(s,a)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(s.conversationId,a),s),leave:(s,a)=>c("channels.leave",()=>e.channel.leave(s.conversationId,a),s),dismiss:s=>c("channels.dismiss",()=>e.channel.dismiss(s.conversationId),s),peekPinnedMessage:s=>i("channels.peekPinnedMessage",()=>{let a=e.channel.peekPinnedMessage(s.conversationId);return a===null?null:Ur(s,a)},s),getPinnedMessage:s=>c("channels.getPinnedMessage",async()=>{let a=await e.channels.getPinnedMessage(s);return a===null?null:Ur(s,a)},s),pinMessage:(s,a)=>c("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(s,a);return Ur(s,p)},s),unpinMessage:s=>c("channels.unpinMessage",()=>e.channels.unpinMessage(s),s)},A=xc({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:s=>{let a=e.conversations.getContext(s);return a===void 0?void 0:Or({...a,draft:null})},subscribeConversations:s=>r.api.subscribe(a=>s(a.items)),subscribeContext:s=>e.connection.subscribe(a=>{a.type==="conversation-context:updated"&&a.conversation.conversationType!=="supergroup"&&s({conversationType:a.conversation.conversationType,conversationId:a.conversation.conversationId});}),getRelationship:y,getGroupProfile:g,getChannelProfile:b});u=A;let k=Object.freeze({start:s=>e.session.start(s),stop:s=>e.session.stop(s),logout:async s=>{A.reset();try{await e.session.logout(s);}finally{A.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:s=>e.session.subscribe(s)});async function v(s,a={}){let p=e.conversations,E=e.openConversation,R=await p.ensureOpenableConversation(s);return R.conversationType==="direct"?E({conversationType:"direct",conversationId:R.conversationId},a):R.conversationType==="group"?E({conversationType:"group",conversationId:R.conversationId},a):R.conversationType==="robot"?E({conversationType:"robot",conversationId:R.conversationId},a):E({conversationType:"channel",conversationId:R.conversationId},a)}let O={get session(){return k},get capabilities(){return A.api},get conversations(){return r.api},get directory(){return f},get robots(){return e.robots},get contacts(){return h},get groups(){return S},get channels(){return N},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return d},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:v,dispose:async()=>{A.dispose(),r.dispose(),await e.dispose();}};return Ko(O,()=>Qc(e)),O}function mI(e,n){return dl(e,n.coreApiAvailable)}function ll(e){let n=b(e.cache?.prefix),r=e.adapters?.namespaceFactory??n;if(r.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=ub(),o=0,c=()=>il(e,d,r,o++),i=c(),u=false,y;async function g(s){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let a=i;await a.teardown(s),!u&&i===a&&(i=c());}async function b$1(){if(u)throw Kn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let s=i,a=await s.localData.getInfo();if(u||i!==s)throw Kn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let p;try{p=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(E){throw !u&&i===s&&(i=c()),Kn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:E})}if(!u&&i===s&&(i=c()),p.purgedAccountId!==a.accountScope)throw Kn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:p.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});d.emit({type:"local-data:cleared",accountScope:a.accountScope,category:"all"});}let h=zc({getRuntime:()=>i.localData,purgeCurrentAccount:b$1}),f={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(a=>{(a.type==="connection:changed"||a.type==="receiving:changed")&&s(i.connection.getLifecycle());}))},S=Hc({subscribeCore:s=>i.connection.subscribe(s),getLifecycleSnapshot:()=>i.connection.getLifecycle(),getConversation:s=>{let a=i.conversations.list().find(p=>p.type===s.conversationType&&p.id===s.conversationId);return a===void 0?void 0:Or(a)},resolveContactApplicationAnswer:async s=>{let a=i,p=await a.contact.resolveApplicationAnswer(s.peerId,s.messageId);return i===a?p:null}}),N={listFirstPage:s=>i.contact.listFirstPage(s),listNextPage:s=>i.contact.listNextPage(s),getProfile:(s,a)=>i.contact.getProfile(s,a),getRelationship:s=>i.contact.getRelationship(s),setRemark:(s,a)=>i.contact.setRemark(s,a),searchUser:s=>i.contact.searchUser(s),requestFriendship:(s,a)=>i.contact.requestFriendship(s,a),blockUser:s=>i.contact.blockUser(s),reportUser:(s,a)=>i.contact.reportUser(s,a),deleteFriendship:s=>i.contact.deleteFriendship(s)},A={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,a)=>i.group.getProfile(s.conversationId,a),updateName:(s,a)=>i.group.updateName(s.conversationId,a),updateAvatar:async(s,a)=>{await i.group.updateAvatar(s.conversationId,a);},setMyNickname:(s,a)=>i.group.setMyNickname(s.conversationId,a),updateVerification:(s,a,p)=>i.group.updateVerification(s.conversationId,a,p),requestJoin:(s,a)=>i.group.requestJoin(s.conversationId,a),joinByInviteCode:(s,a)=>i.group.joinByInviteCode(s.conversationId,a),getPinnedMessage:s=>i.group.getPinnedMessage(s.conversationId),pinMessage:(s,a)=>i.group.pinMessage({groupId:s.conversationId,messageId:a}),unpinMessage:s=>i.group.unpinMessage(s.conversationId)},k={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,a)=>i.channel.getProfile(s.conversationId,a),updateVerification:(s,a,p)=>i.channel.updateVerification(s.conversationId,a,p),requestJoin:(s,a)=>i.channel.requestJoin(s.conversationId,a),joinByInviteCode:(s,a)=>i.channel.joinByInviteCode(s.conversationId,a),setAllMuted:(s,a)=>i.channel.setAllMuted(s.conversationId,a),setMemberPrivateChatDisabled:(s,a)=>i.channel.setMemberPrivateChatDisabled(s.conversationId,a),setMyNickname:(s,a)=>i.channel.setMyNickname(s.conversationId,a),setMemberNickname:(s,a,p)=>i.channel.setMemberNickname(s.conversationId,a,p),dismiss:s=>i.channel.dismiss(s.conversationId),getPinnedMessage:s=>i.channel.getPinnedMessage(s.conversationId),pinMessage:(s,a)=>i.channel.pinMessage({channelId:s.conversationId,messageId:a}),unpinMessage:s=>i.channel.unpinMessage(s.conversationId)};function v(){return y!==void 0||(u=true,y=i.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),y}let O={get session(){return f},get connection(){return i.connection},get conversations(){return i.conversations},get directory(){return i.directory},get robots(){return i.robots},get contacts(){return N},get groups(){return A},get channels(){return k},get events(){return S},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:v};return Ko(O,()=>i.advancedMessageDiagnostics),O}var Qm=new TextEncoder;function ul(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 pl(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))pl(r,n);return Object.freeze(e)}function Zm(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:pl(n),estimatedBytes:Qm.encode(r).byteLength}}catch{return}}function ef(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&&ef(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 tf(e={}){let n=ul(e.maxRecords,200,"maxRecords"),r=ul(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,o=[],c=0,i=0,u=false;function y(h){let f=o.map(S=>S.record).filter(S=>h===void 0||nf(S,h));return Object.freeze({records:Object.freeze(f),droppedCount:i,estimatedBytes:c,disposed:u})}function g(){let h=y();for(let f of d)try{f(h);}catch{}}function b(){o.length=0,c=0,i=0;}return {write(h){if(u)return;let f=Zm(h);if(f===void 0||f.estimatedBytes>r){i+=1,g();return}for(o.push(f),c+=f.estimatedBytes;o.length>n||c>r;){let S=o.shift();if(S===void 0)break;c-=S.estimatedBytes,i+=1;}g();},getSnapshot:y,subscribe(h){if(u)return ()=>{};d.add(h);let f=true;return ()=>{f&&(f=false,d.delete(h));}},clear(){u||(b(),g());},dispose(){u||(u=true,b(),d.clear());}}}function rf(e){let n=$a({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),r=new Map,d;function o(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 Xa("upload-source-invalid","Resource upload requires a File or Blob"));if(i.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let y=new AbortController,g=()=>y.abort();i.signal?.addEventListener("abort",g,{once:true});let b=true,h=()=>{if(y.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},f=i.filename??(typeof File<"u"&&i.file instanceof File?i.file.name:void 0),S=(async()=>{try{let N=await u.uploadResource({data:i.file,kind:i.kind,...f===void 0?{}:{filename:f},...i.file.type===""?{}:{mimeType:i.file.type},signal:y.signal,onProgress:A=>{b&&!y.signal.aborted&&i.onProgress?.(A);}});if(h(),N.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:N.url}}catch(N){throw N instanceof Xa&&N.code==="multipart-abort-failed"||h(),N}finally{b=false,i.signal?.removeEventListener("abort",g);}})();return r.set(y,S),S.then(()=>r.delete(y),()=>r.delete(y)),S}function c(){if(d!==void 0)return d;n=void 0;let i=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(i).then(()=>{}),d}return {upload:o,dispose:c}}export{Pu as a,Fc as b,Re as c,Rr as d,xu as e,Tr as f,vc as g,hc as h,Ao as i,Eo as j,Mc as k,_r as l,wo as m,kr as n,Jm as o,pI as p,mI as q,tf as r,rf as s};
|