k2-im 0.1.32 → 0.1.33
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.d.ts +24 -2
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +80 -10
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +24 -4
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +92 -12
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-2ODEJA5X.js +1 -0
- package/dist/chunk-3MMM3UU6.js +2 -0
- package/dist/chunk-7CJFY6CU.js +1 -0
- package/dist/chunk-DBWAR2FB.js +2 -0
- package/dist/chunk-F6DQBWJW.js +2 -0
- package/dist/chunk-OFXCH5DZ.js +7 -0
- package/dist/chunk-OSWUOGBS.js +1 -0
- package/dist/i18n.d.ts +36 -6
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +115 -18
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +57 -8
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-GAAHNTJM.js +0 -7
- package/dist/chunk-HSVVRLGM.js +0 -1
- package/dist/chunk-JA5TKCQ2.js +0 -2
- package/dist/chunk-MIFIQ45I.js +0 -2
- package/dist/chunk-OYH7COTJ.js +0 -1
- package/dist/chunk-QQ23QYWK.js +0 -2
- package/dist/chunk-SEHHXKP7.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {B,_a,Xa,db,cb,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,$a as $a$1,ab as ab$1,b as b$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 as Ma$1,ba,ca,Pa as Pa$1,La as La$1,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 as J$1,I,Q,P,ra,qa as qa$1,O as O$1,H,G,F,E as E$1,D as D$1,Ja,bb as bb$1}from'./chunk-OFXCH5DZ.js';import {b,qb,xa,sb,rb,La,Ha,ob,lb,mb,kb,nb,Xa as Xa$1,Ya,Za,_a as _a$1,na,oa,pa,qa,Oa,Pa,gb,bb,hb,ab,$a,ib,eb,jb,db as db$1,cb as cb$1,n,z,fb,Ma,Da,Ra,Qa,Va as Va$1,Ua,Wa as Wa$1,tb,pb,yb,wa,j,Na,x,y,A as A$1,B as B$1,Ta,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,Ia as Ia$1,o as o$1,v as v$1,t as t$1,p as p$1,C as C$1,Sa as Sa$1,q as q$1,E,m as m$1,ma as ma$1,ha}from'./chunk-F6DQBWJW.js';async function Hl(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(i){try{await e.migrator.rollback(d,i);}catch(c){throw new AggregateError([i,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw i}}var be=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 Sn(e,n,r){return n===39081?new be({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new be({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Pn(e,n){return n instanceof be?n:n instanceof c?new be({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new be({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function Xt(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function jl(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 et(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function zl(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(et(e.image))},...e.video===void 0?{}:{video:Object.freeze(et(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(et(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(et(n))))})},...e.file===void 0?{}:{file:Object.freeze(et(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(et(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Qt(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:zl(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:jl(e.reactions)}})}function nt(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 J(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function Ct(e,n,r){return J({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function An(e,n,r){return J({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function tt(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 Vl="IM_SDK_GROUP_NOT_MEMBER",ql="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Wl="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",$l="IM_SDK_GROUP_MANAGEMENT_FAILED";function ks(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Jl(e,n,r){if(ks(e))return e;let d=e instanceof d$1?e.businessCode:void 0,i=e instanceof na$1?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d===39011?Vl:d===39029?ql:d===39033?Wl:e instanceof d$1?$l:e instanceof c?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c$1=e instanceof na$1?"contract":e instanceof c?"network":d===39029?"permission":"state",s=J({code:i,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"),s)}async function Nn(e,n,r){try{return await r()}catch(d){throw Jl(d,e,n)??d}}var Ds=39005,Yl=39057,Xl=39061;function Os(e){let n=new Map,r=new Map,d=true,i=g=>({conversationType:"group",conversationId:g});function c(g){r.set(g,(r.get(g)??0)+1);}function s(g){if(!d||n.has(g))return;let b=r.get(g)??0,E=(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:g}}});return}try{let R=await da({client:e.coreClient,groupId:g});if(!d||(r.get(g)??0)!==b)return;if(!R.ok){e.emitter.emit({type:"error",error:{scope:"http",code:R.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${R.message}`,cause:{conversationId:g}}});return}if(R.data===null){e.domainState.clearPinnedMessage(i(g),"reconcile");return}e.domainState.setPinnedMessage(x(R.data.messageContent,{conversationId:g}),"reconcile");}catch(R){if(!d||(r.get(g)??0)!==b)return;let D=R instanceof h$1||R instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:D,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:R}});}})();n.set(g,E),E.finally(()=>{n.get(g)===E&&n.delete(g);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),I=e.emitter.subscribe(g=>{if(g.type!=="message:received"&&g.type!=="message:updated"||g.message.conversationType!=="group")return;let b=g.message.body.system?.pinnedMessageAction;(b?.type==="pin"||b?.type==="unpin")&&c(g.message.conversationId),u.handleMessage(g.message);});function m(g,b){if(b.trim()==="")throw new be({operation:g,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let E=e.domainState.getConversationContext(i(b));if(E===void 0)throw new be({operation:g,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(E.type!=="group")throw new be({operation:g,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function v(g,b){if(e.coreClient===void 0)throw new be({operation:g,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return m(g,b),e.coreClient}return {operations:{pinMessage:async({groupId:g,messageId:b})=>{let E=v("pin",g),R=e.domainState.getConversationMessage(i(g),b);if(R===void 0)throw new be({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(R.conversationType!=="group")throw new be({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(R.conversationId!==g)throw new be({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:D,pinnedMessage:h}=y(R),w=await sa({client:E,groupId:g,messageContent:D});if(!w.ok)throw Sn("pin",w.code,w.message);c(g),e.domainState.setPinnedMessage(h,"http:pin");let a=e.domainState.getPinnedMessage(i(g));if(a===void 0)throw new be({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(D){throw Pn("pin",D)}},unpinMessage:async g=>{let b=v("unpin",g);try{let E=await Na$1({client:b,groupId:g});if(!E.ok)throw Sn("unpin",E.code,E.message);c(g),e.domainState.clearPinnedMessage(i(g),"http:unpin");}catch(E){throw Pn("unpin",E)}},getPinnedMessage:async g=>{let b=v("get",g);try{let E=await da({client:b,groupId:g});if(!E.ok)throw Sn("get",E.code,E.message);if(c(g),E.data===null)return e.domainState.clearPinnedMessage(i(g),"reconcile"),null;let R=x(E.data.messageContent,{conversationId:g});e.domainState.setPinnedMessage(R,"reconcile");let D=e.domainState.getPinnedMessage(i(g));if(D===void 0)throw new be({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return D}catch(E){throw Pn("get",E)}},peekPinnedMessage:g=>(m("get",g),e.domainState.getPinnedMessage(i(g))??null)},dispose:()=>{d&&(d=false,I());}}}function xs(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,i=new Map;function c$1(o){if(o.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(o.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function s(o){let p=[],M=new Set;for(let C of o){if(C.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");M.has(C.userId)||(M.add(C.userId),p.push(Object.freeze({userId:C.userId,displayName:C.nickName.trim()===""?C.userId:C.nickName})));}return Object.freeze(p)}async function u(o,p){c$1(o);let M=e.profile?.listGroupMembers;if(M===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 C=o.conversationId,K=r.get(C);if(!p&&K!==void 0)return K;let re=i.get(C);if(re!==void 0&&(!p||re.refresh))return re.promise;let H=(d.get(C)??0)+1;d.set(C,H);let ie=Promise.resolve().then(()=>M(C,p?{forceRefresh:true}:void 0)).then(N=>{if(N===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let f=s(N);return d.get(C)===H&&r.set(C,f),f}).finally(()=>{i.get(C)?.promise===ie&&i.delete(C);});return i.set(C,{refresh:p,promise:ie}),ie}function I(o,p,M,C){let re=J({code:o,category:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":o==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:o==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...M===void 0?{}:{details:M},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),re)}function m(o,p,M,C){let K=J({code:o,category:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":o==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:o==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...M===void 0?{}:{details:M},...C===void 0?{}:{cause:C}});return Object.assign(new Error(p),K)}function v(o){if(o===null||typeof o!="object"||o===void 0)throw m("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw m("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let M=typeof o.status=="number"?o.status:Number(o.status);if(!Number.isSafeInteger(M)||M!==1&&M!==2)throw m("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let C=String(p),K=o.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:C}),activation:M===1?"pending":"active",...K===void 0||K===""?{}:{avatarUrl:K},qrPayload:Xt(C,K)})}function S(o){if(o===void 0)return;let p=typeof o=="number"?o:Number(o);return Number.isSafeInteger(p)?p:void 0}function g(o){if(typeof o=="boolean")return o;if(o===1||o==="1"||o==="true")return true;if(o===0||o==="0"||o==="false")return false}function b(o){if(o===null||typeof o!="object"||o===void 0)throw I("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let p=o.group_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw I("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let M=String(p),C=o,K=C.name?.trim()??"";if(K==="")throw I("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let re=S(C.total_users),H=S(C.status),ie=S(C.verify_way),N=S(C.update_version),f=g(C.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:M}),name:K,...C.head_img_url?.trim()===""||C.head_img_url===void 0?{}:{avatar:C.head_img_url},...C.user_id===void 0?{}:{ownerId:String(C.user_id)},...re===void 0?{}:{memberCount:re},...H===void 0?{}:{status:H},...f===void 0?{}:{isInGroup:f},...ie===void 0?{}:{verifyWay:ie},...N===void 0?{}:{updateVersion:N},...C.invite_code===void 0?{}:{inviteCode:C.invite_code}}}function E(o){let p=o.name.trim();if(p==="")throw I("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>40)throw I("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let M=o.memberIds;if(!Array.isArray(M))throw I("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let C=M.map(re=>typeof re=="string"?re.trim():"");if(C.includes(""))throw I("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let K=[...new Set(C)];if(K.length>40)throw I("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:K}}function R(o,p){let M=o.trim();if(M==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return M}function D(){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 h(o){if(!Array.isArray(o))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let p=o.map(M=>R(M,"\u7FA4\u6210\u5458 id"));return [...new Set(p)]}function w(o,p,M){if(o!==1&&o!==2&&o!==4){let K=J({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:M}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),K)}if(o!==4)return {verifyWay:o};let C=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(C)){let K=J({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:M}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),K)}return {verifyWay:o,inviteCode:C}}function a(o){r.delete(o),d.set(o,(d.get(o)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});}return {...n,mentions:{listAll:o=>u(o,false),refreshAll:o=>u(o,true)},getProfile:(o,p)=>e.profile?.getGroupProfile(o,p)??Promise.resolve(null),listMembers:(o,p)=>e.profile?.listGroupMembers?.(o,p)??Promise.resolve(null),getMemberNames:(o,p)=>e.profile?.getGroupMemberNames?.(o,p)??Promise.resolve(null),peekMembers:o=>e.profile?.peekGroupMembers?.(o)??Promise.resolve(null),peekMemberNames:o=>e.profile?.peekGroupMemberNames?.(o)??Promise.resolve(null),peekProfile:o=>e.profile?.peekGroupProfile?.(o)??Promise.resolve(null),updateName:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let M=p.trim();if(o===""||M==="")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:o,name:M}),e.domainState.updateConversationProfile(o,{title:M}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateAvatar:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let M=await tt(e.avatarTransfer,p);return await Pa$1({client:e.coreClient,groupId:o,avatarUrl:M}),e.domainState.updateConversationProfile(o,{avatar:M}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o}),M},uploadAvatar:async o=>{if(e.avatarTransfer===void 0)throw I("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 tt(e.avatarTransfer,o)},create:async o=>{if(e.coreClient===void 0)throw I("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw I("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=E(o);try{let M=await ca({client:e.coreClient,name:p.name,memberIds:p.memberIds,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl}});if(!M.ok){let K=M.code===Ds?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":M.code===Yl?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":M.code===Xl?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw I(K,M.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:M.code,message:M.message}))}let C=b(M.data);return e.domainState.prepareConversation({id:C.ref.conversationId,type:"group",title:C.name,...C.avatar===void 0?{}:{avatar:C.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:C})}catch(M){throw M!==void 0&&typeof M=="object"&&M!==null&&"code"in M&&String(M.code).startsWith("IM_SDK_")?M:M instanceof c?I("IM_SDK_GROUP_CREATE_NETWORK_FAILED",M.message,void 0,M):I("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,M)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw m("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let o=await ba({client:e.coreClient});if(!o.ok){let p=o.code===Ds?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw m(p,o.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:o.code}))}return Object.freeze({group:v(o.data)})}catch(o){throw ks(o)?o:o instanceof c?m("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",o.message,void 0,o):m("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,o)}},setMyNickname:async(o,p)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(o==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Ma$1({client:e.coreClient,groupId:o,nickname:p}),e.emitter.emit({type:"profile:updated",profileType:"group",id:o});},updateVerification:async(o,p,M)=>{let C=D(),K=R(o,"\u7FA4 id"),re=w(p,M,K);await Nn("groups.updateVerification",K,()=>la({client:C,groupId:K,verifyWay:re.verifyWay,...re.inviteCode===void 0?{}:{inviteCode:re.inviteCode}})),a(K);},requestJoin:async(o,p)=>{let M=D(),C=R(o,"\u7FA4 id"),K=p?.remarks?.trim();return Nn("groups.requestJoin",C,()=>oa$1({client:M,groupId:C,...K===void 0?{}:{remarks:K}}))},joinByInviteCode:async(o,p)=>{let M=D(),C=R(o,"\u7FA4 id"),K=p.trim();if(!/^\d{6}$/.test(K))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Nn("groups.joinByInviteCode",C,()=>pa$1({client:M,groupId:C,inviteCode:K}))},inviteMembers:async(o,p)=>{let M=D(),C=R(o,"\u7FA4 id"),K=h(p);if(K.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Nn("groups.inviteMembers",C,()=>ha$1({client:M,groupId:C,userIds:K})),a(C);},removeMember:async(o,p)=>{let M=D(),C=R(o,"\u7FA4 id"),K=R(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Nn("groups.removeMember",C,()=>ia({client:M,groupId:C,userId:K})),a(C);},transferOwnership:async(o,p)=>{let M=D(),C=R(o,"\u7FA4 id"),K=R(p,"\u65B0\u7FA4\u4E3B id");await Nn("groups.transferOwnership",C,()=>ja({client:M,groupId:C,userId:K})),a(C);},leave:async(o,p)=>{let M=D();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 C=R(o,"\u7FA4 id"),K=p?.newOwnerId===void 0?void 0:R(p.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Nn("groups.leave",C,()=>ka({client:M,groupId:C,...K===void 0?{}:{newOwnerId:K}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:C},"group_left"),a(C);},...e.pinned}}var Ql="image/jpeg,image/png,image/webp";async function Zt(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((i,c)=>n[c]===i)?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 Ls(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 Fs=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Us(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function qr(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,i=Us();return qb({enabled:r,level:d?.level??"trace",categories:d?.categories??Fs,...r?{sink:d?.sink??i,fallbackSink:i}:{},getRuntimeContext:n})}var Ks=[{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 Wr=Object.freeze(Ks.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Bs=new Map(Wr.flatMap(e=>e.tokens.map(n=>[n,e])));function Gs(e){return Bs.get(e)}function Hs(e){return Bs.has(e)}function Ln(e){let n=J(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function js(e,n){return n instanceof Qa$1?Ln({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Ra$1?Ln({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof d$1?Ln({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):Ln({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function bt(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function $r(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let i=e[d]??0,c=e[d+1]??0,s=e[d+2]??0,u=i<<16|c<<8|s;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 er(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 Jr(e){let n=er(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=bt(e.body.image?.url),d=$r(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=bt(e.body.video?.url),d=$r(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=bt(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=bt(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(i=>({mediaType:i.kind==="video"?2:1,url:bt(i.url),width:i.width,height:i.height,...i.durationMs!==void 0&&i.durationMs>0?{duration:i.durationMs}:{},...i.thumbUrl!==void 0&&i.thumbUrl!==""?{thumbUrl:i.thumbUrl}:{},...i.thumbData!==void 0&&i.thumbData.length>0?{thumbData:$r(i.thumbData)}:{},...i.md5!==void 0&&i.md5!==""?{md5:i.md5}:{},...i.size!==void 0&&i.size>0?{fileSize:i.size}:{},...i.hd!==void 0?{hd:i.hd}:{}}));return d.some(i=>i.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function eu(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function zs(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function $s(e){function n(i){if(!e.isActive())throw Ln({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,c){if(n(i),e.provider===void 0)throw js(i,new Qa$1);let s;try{s=await c(e.provider);}catch(u){throw n(i),js(i,u)}return n(i),s}return {api:{list:async()=>{let i=await r("sessionFavorites.list",c=>c.list());return Object.freeze(i.map(zs))},addFromMessage:async i=>{let c="sessionFavorites.addFromMessage",s=er(i.message),u=Jr(i.message),I=i.selfId.trim(),m=i.message.id.trim();if(s===null||u===null||I===""||m==="")throw Ln({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:c,retryable:false});let v={messageId:m,conversation:i.conversation,senderId:i.message.senderId.trim(),createdAt:i.message.createdAt,kind:s,plainBody:u,peerId:eu(i.message,I,i.conversation.conversationId)},S=await r(c,g=>g.add(v));return zs(S)},delete:async i=>{let c="sessionFavorites.delete",s=[...new Set(i.map(u=>u.trim()).filter(u=>u!==""))];if(s.length===0)throw Ln({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:c,retryable:false});await r(c,u=>u.delete(s));}}}}var Js="settings:read-receipts:v1",Ys="settings:appearance:v1",tr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function fn(e){return J({...e,retryable:e.retryable??false})}function Qr(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Zr(){return {fontScale:1}}function Yr(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function nu(e){if(typeof e!="object"||e===null)return Qr();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,i]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof i=="boolean"&&(r[d]=i);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function tu(e){if(typeof e!="object"||e===null)return Zr();let n=e.fontScale;return {fontScale:Xs(n)?n:1}}function Xs(e){return typeof e=="number"&&tr.includes(e)}function Xr(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw fn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function nr(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw fn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Qs(e){let n=false,r=false,d=false,i,c,s=Qr(),u=Promise.resolve(),I=false,m,v=Zr(),S=Promise.resolve();function g(p){return fn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:p})}function b(p){if(n)throw g(p)}async function E(p,M){if(b(M),r)return;let C;try{C=nr(e.storage,M);}catch(K){if(!p)return;throw K}try{let K=await C.getMeta(Js);b(M),s=nu(K),r=!0,d=!1;}catch(K){throw n?g(M):(d=true,fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:M,cause:K}))}}function R(p){return b(p),r?Promise.resolve():(i===void 0&&(i=E(true,p).finally(()=>{i=void 0;})),i)}async function D(p){if(b(p),!I)try{let M=await nr(e.storage,p).getMeta(Ys);b(p),v=tu(M),I=!0;}catch(M){throw n?g(p):typeof M=="object"&&M!==null&&"code"in M?M:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:M})}}function h(p){return b(p),I?Promise.resolve():(m===void 0&&(m=D(p).finally(()=>{m=void 0;})),m)}async function w(p,M,C){b(p);let K=u.then(async()=>{b(p),await R(p),b(p);let re=Yr(s),H=M(Yr(s));try{await nr(e.storage,p).setMeta(Js,Yr(H));}catch(ie){throw n?g(p):typeof ie=="object"&&ie!==null&&"code"in ie?ie:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:p,cause:ie})}b(p),s=H,C?.(re,H);});return u=K.catch(()=>{}),K}let a={async getGlobal(){let p="settings.readReceipts.getGlobal";return b(p),await R(p),b(p),s.globalEnabled},setGlobal(p){return typeof p!="boolean"?Promise.reject(fn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):w("settings.readReceipts.setGlobal",M=>({...M,globalEnabled:p}),(M,C)=>{M.globalEnabled&&!C.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(p){let M="settings.readReceipts.getConversation";b(M);let C=Xr(p,M);await R(M),b(M);let K=s.peerOverrides[C.conversationId]??true;return Object.freeze({enabled:K,effectiveEnabled:s.globalEnabled&&K})},setConversation(p,M){let C="settings.readReceipts.setConversation",K;try{K=Xr(p,C);}catch(re){return Promise.reject(re)}return typeof M!="boolean"?Promise.reject(fn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:C,conversation:K})):w(C,re=>(re.peerOverrides[K.conversationId]=M,re),(re,H)=>{let ie=K.conversationId,N=re.globalEnabled&&(re.peerOverrides[ie]??true),f=H.globalEnabled&&(H.peerOverrides[ie]??true);N&&!f&&e.onDirectReadReceiptDisabled?.(ie);})},resetConversation(p){let M="settings.readReceipts.resetConversation",C;try{C=Xr(p,M);}catch(K){return Promise.reject(K)}return w(M,K=>(delete K.peerOverrides[C.conversationId],K))}},o={fontScale:Object.freeze({async get(){let p="settings.appearance.fontScale.get";return await h(p),b(p),v.fontScale},set(p){let M="settings.appearance.fontScale.set";if(!Xs(p))return Promise.reject(fn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:M,details:{supportedValues:[...tr]}}));let C=S.then(async()=>{b(M),await h(M),b(M);let K={fontScale:p};try{await nr(e.storage,M).setMeta(Ys,K);}catch(re){throw n?g(M):typeof re=="object"&&re!==null&&"code"in re?re:fn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:M,cause:re})}b(M),v=K;});return S=C.catch(()=>{}),C}})};return {api:Object.freeze({readReceipts:Object.freeze(a),appearance:Object.freeze(o),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){b("settings.readReceipts.hydrate"),!r&&(i===void 0&&(i=E(false,"settings.readReceipts.hydrate").finally(()=>{i=void 0;})),await i);},isDirectReadReceiptEnabled(p){return !n&&!d&&s.globalEnabled&&(s.peerOverrides[p]??true)},dispose(){if(c!==void 0)return c;n=true,s=Qr(),v=Zr();let p=i,M=u,C=m,K=S;return c=Promise.allSettled([...p===void 0?[]:[p],M,...C===void 0?[]:[C],K]).then(()=>{}),c}}}var Ke=Object.freeze({availability:"available",reason:"ok"});function Ze(e){return Object.freeze({availability:"unavailable",reason:e})}function Ne(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Mt(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function St(e){return `${e.conversationType}:${e.conversationId}`}function ru(){return Object.freeze({sendMessages:false})}function ou(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function iu(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 au(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 su(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]),i=Number(r[2]),c=Number(r[3]),s=Number(r[4]);if(d>23||c>23||i>59||s>59)return;let u=new Date(n);u.setHours(d,i,0,0);let I=new Date(n);if(I.setHours(c,s,59,999),u.getTime()<=n&&n<=I.getTime())return I.getTime()+1;if(n<u.getTime())return u.getTime();let m=u;return m.setDate(m.getDate()+1),m.getTime()}function Fn(e,n,r){let d=n.get(St(e));if(d!==void 0)for(let i of [...d])i(r);}function Zs(e){let n=new Map,r=new Map,d=new Map,i=new Map,c=new Map,s=new Map,u,I,m=new Set,v=e.getSessionUserId(),S=0;function g(H){H.conversationType==="direct"?n.delete(H.conversationId):H.conversationType==="group"?r.delete(H.conversationId):H.conversationType==="channel"&&d.delete(H.conversationId);}function b(){n.clear(),r.clear(),d.clear(),s.clear(),m=new Set;}function E(){let H=e.getSessionUserId();return H!==v&&(v=H,b()),H}function R(H){E();let ie=++S;return s.set(St(H),ie),ie}function D(H,ie){return E(),s.get(St(H))===ie}function h(H,ie={}){E();let N=ie.nowMs??Date.now(),f=e.getConversation(H);if(H.conversationType==="direct"){let pe=Mt({conversationType:"direct",conversationId:H.conversationId}),me=n.get(H.conversationId),fe=me?.relationship??"unknown",Z=ou(fe),xe=Z==="ok"?Ke:Z==="relationship-unknown"?Ne(Z):Ze(Z),he=fe==="friend"?Ke:fe==="unknown"?Ne(Z):Ze(Z);return Object.freeze({ref:pe,conversationType:"direct",evaluatedAt:N,value:Object.freeze({relationship:fe,...me===void 0?{}:{relationshipCheckedAt:me.checkedAt},canSendMessages:xe,canOpenProfile:Ke,canUseMessageActions:xe,canManageRelationship:he})})}if(H.conversationType==="robot"){let pe=Mt({conversationType:"robot",conversationId:H.conversationId});return Object.freeze({ref:pe,conversationType:"robot",evaluatedAt:N,value:Object.freeze({canSendMessages:Ke,canOpenProfile:Ke,canUseMessageActions:Ke,canReadHistory:Ke})})}if(H.conversationType==="group"){let pe=Mt({conversationType:"group",conversationId:H.conversationId}),me=r.get(H.conversationId),fe=f?.ref.conversationType==="group"?f.groupState??"active":"unknown",Z=iu(fe),xe=Z==="ok",he=e.getSessionUserId(),Se=me?.ownerId,je=he!==void 0&&Se!==void 0&&he===Se,Fe=xe?Ke:Ze(Z),Je=xe?me===void 0?Ne("not-ready"):je?Ke:Ze("role-insufficient"):Ze(Z);return Object.freeze({ref:pe,conversationType:"group",evaluatedAt:N,value:Object.freeze({membership:fe,...Se===void 0?{}:{ownerId:Se},isOwner:je,canSendMessages:Fe,canOpenProfile:Fe,canReadHistory:Ke,canUseMessageActions:Fe,canViewMembers:Fe,canEditProfile:Je,canInviteMembers:Fe,canManageMembers:Je,canPinMessages:Je,canUnpinMessages:Je,canTransferOwnership:Je,canLeave:Fe,canUpdateVerification:Je})})}let k=Mt({conversationType:"channel",conversationId:H.conversationId}),z=d.get(H.conversationId),q=f?.ref.conversationType==="channel"&&f.channelState!==void 0?f.channelState:z?.state;if(q===void 0)return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:N,value:Object.freeze({state:"unknown",role:z?.role??"unknown",permissions:ru(),canSendMessages:Ne("unknown-restricted"),canOpenProfile:Ne("unknown-restricted"),canReadHistory:Ke,canUseMessageActions:Ne("unknown-restricted"),canMutateMessages:Ne("unknown-restricted"),canPinMessages:Ne("unknown-restricted"),canUnpinMessages:Ne("unknown-restricted"),canDeleteMessagesForEveryone:Ne("unknown-restricted"),canMentionAll:Ne("unknown-restricted"),canViewMembers:Ne("unknown-restricted"),canEditProfile:Ne("unknown-restricted"),canManageMembers:Ne("unknown-restricted"),canManageMute:Ne("unknown-restricted"),canDismiss:Ne("unknown-restricted"),canTransferOwnership:Ne("unknown-restricted"),canLeave:Ne("unknown-restricted"),canInviteMembers:Ne("unknown-restricted"),canSetMemberAdmin:Ne("unknown-restricted"),canRemoveMembers:Ne("unknown-restricted"),canSetMemberPrivateChat:Ne("unknown-restricted")})});let B=Ca$1({channelState:q,nowMs:N,...f?.ref.conversationType==="channel"&&f.channelAccessSnapshot!==void 0?{snapshot:f.channelAccessSnapshot}:{},...f?.ref.conversationType==="channel"&&f.channelPermissions!==void 0?{permissions:f.channelPermissions}:z?.permissions===void 0?{}:{permissions:z.permissions}}),$=au(B.channelState,B.muteReason),_=B.channelState==="active"||B.channelState==="muted",U=B.channelState==="active"?B.permissions.sendMessages?Ke:Ze("unknown-restricted"):Ze($),P=pe=>_&&pe?Ke:Ze(_?"role-insufficient":$),x=pe=>B.channelState==="active"&&pe?Ke:Ze(B.channelState==="muted"?$:_?"role-insufficient":$),F=z?.memberPrivateChatDisabled===false||B.permissions.manageMembers===true,G=_?z===void 0&&B.permissions.manageMembers!==true?Ne("not-ready"):P(F):Ze($),Y=B.channelState==="muted"?Ze($):_?Ke:Ze($),se=su(f,N);return Object.freeze({ref:k,conversationType:"channel",evaluatedAt:N,...se===void 0?{}:{nextEvaluationAt:se},value:Object.freeze({state:B.channelState,role:z?.role??f?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...B.permissions}),...B.muteReason===void 0?{}:{muteReason:B.muteReason},canSendMessages:U,canOpenProfile:_?Ke:Ze($),canReadHistory:Ke,canUseMessageActions:_?Ke:Ze($),canMutateMessages:Y,canPinMessages:x(B.permissions.moderateMessages===true),canUnpinMessages:x(B.permissions.moderateMessages===true),canDeleteMessagesForEveryone:x(B.permissions.moderateMessages===true),canMentionAll:P(B.permissions.mentionAll===true),canViewMembers:G,canEditProfile:P(B.permissions.editProfile===true),canManageMembers:P(B.permissions.manageMembers===true),canManageMute:P(B.permissions.manageMute===true),canDismiss:P(B.permissions.dismissChannel===true),canTransferOwnership:P(B.permissions.transferOwnership===true),canLeave:_?Ke:Ze($),canInviteMembers:P(B.permissions.manageMembers===true),canSetMemberAdmin:P(B.permissions.manageAdmins===true),canRemoveMembers:P(B.permissions.manageMembers===true),canSetMemberPrivateChat:P(B.permissions.manageMute===true)})})}async function w(H,ie={}){let N=R(H);if(H.conversationType==="direct"){let f=await e.getRelationship(H.conversationId);D(H,N)&&a(H.conversationId,f,N);}else if(H.conversationType==="group"){let f={conversationType:"group",conversationId:H.conversationId},k=await e.getGroupProfile(f,{forceRefresh:true});D(H,N)&&o(f,k,N);}else if(H.conversationType==="channel"){let f={conversationType:"channel",conversationId:H.conversationId},k=await e.getChannelProfile(f,{forceRefresh:true});D(H,N)&&p(f,k,N);}return h(H,ie)}function a(H,ie,N){let f={conversationType:"direct",conversationId:H};D(f,N)&&(n.set(H,{relationship:ie,checkedAt:Date.now()}),Fn(f,i,h(f)));}function o(H,ie,N){D(H,N)&&(r.set(H.conversationId,ie),Fn(H,i,h(H)));}function p(H,ie,N){D(H,N)&&(d.set(H.conversationId,ie),Fn(H,i,h(H)));}function M(H,ie,N={}){E();let f=St(H),k=i.get(f)??new Set;return k.add(ie),i.set(f,k),c.set(f,Mt(H)),ie(h(H,N)),I===void 0&&(I=e.subscribeContext?.(z=>{E(),Fn(z,i,h(z));})),u===void 0&&(u=e.subscribeConversations(z=>{E();let q=Date.now(),B=new Set(z.map($=>St($.ref)));for(let $ of z){let _=h($.ref,{nowMs:q});Fn($.ref,i,_);}for(let[$,_]of c){if(!m.has($)||B.has($))continue;g(_);let U=h(_,{nowMs:q});Fn(_,i,U);}m=B;})),()=>{k.delete(ie),k.size===0&&i.delete(f),i.has(f)||c.delete(f),i.size===0&&(I?.(),I=void 0,u?.(),u=void 0,m=new Set);}}function C(){b();let H=Date.now();for(let ie of c.values())Fn(ie,i,h(ie,{nowMs:H}));}function K(){I?.(),I=void 0,u?.(),u=void 0,i.clear(),c.clear(),b();}let re=Object.freeze({get:h,refresh:w,subscribe:M});return Object.freeze({...re,api:re,beginProjectionUpdate:R,updateRelationshipProjection:a,updateGroupProfileProjection:o,updateChannelProfileProjection:p,reset:C,dispose:K})}var cu=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function ln(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw J({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 J({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function du(e){return e===null?null:Object.freeze({ref:ln(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 lu(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 rr(e){let n=lu(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}),i=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:ln({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},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&i!==void 0?{channelAccessSnapshot:i}:{},draft:du(e.draft)})}function uu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Un(e,n,r,d){return uu(e)?e:J({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 ec(e){let n=new Set,r,d,i;function c(){return Object.freeze(e.getCompatibilityApi().list().map(rr))}function s(){let S=e.getSessionState();return S==="preparing"?"loading":S==="ready"?"ready":"idle"}function u(){try{let S=c();return Object.freeze({state:d??s(),items:S,totalUnread:e.getCompatibilityApi().getTotalUnread(),...i===void 0?{}:{error:Object.freeze(i)}})}catch(S){let g=Un(S,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(g)})}}function I(){let S=u();for(let g of [...n])g(S);}function m(S){return n.add(S),S(u()),r===void 0&&(r=e.subscribeEvents(g=>{cu.has(g.type)&&I();})),()=>{n.delete(S),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:S=>e.getCompatibilityApi().getBackground(ln(S,"conversations.getBackground")),setBackground:(S,g)=>e.getCompatibilityApi().setBackground(ln(S,"conversations.setBackground"),g),resetBackground:S=>e.getCompatibilityApi().resetBackground(ln(S,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:S=>e.getCompatibilityApi().setDefaultBackground(S),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:S=>e.getCompatibilityApi().listBackgroundPresets(S),getSnapshot:u,subscribe:m,prefetchRecent:(S,g)=>e.getCompatibilityApi().prefetchRecent(S.map(b=>ln(b,"conversations.prefetchRecent")),g),async refresh(){d="loading",i=void 0,I();try{await e.getCompatibilityApi().sync(),d=void 0,I();}catch(S){throw d="error",i=Un(S,"conversations.refresh",true),I(),i}},getTotalUnread(S){return c(),e.getCompatibilityApi().getTotalUnread(S)},setPinned(S,g){let b=ln(S,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(b,g);}catch(E){throw Un(E,"conversations.setPinned",false,b)}},async setMuted(S,g){let b=ln(S,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(b,g);}catch(E){throw Un(E,"conversations.setMuted",true,b)}},async markRead(S){let g=ln(S,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(g);}catch(b){throw Un(b,"conversations.markRead",true,g)}},markUnread(S){let g=ln(S,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(g);}catch(b){throw Un(b,"conversations.markUnread",false,g)}},deleteLocal(S){let g=ln(S,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(g);}catch(b){throw Un(b,"conversations.deleteLocal",false,g)}}},dispose(){r?.(),r=void 0,n.clear();}}}var pu=128,mu=8,fu=64*1024*1024,gu=3,or=1024*1024;function Iu(e){let n=0,r=false,d=[];function i(){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 s=false;c.resolve(()=>{s||(s=true,n=Math.max(0,n-1),i());});}}return {acquire(c){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,u)=>{let I={resolve:s,reject:u,signal:c,onAbort:()=>{let m=d.indexOf(I);m>=0&&d.splice(m,1),u(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",I.onAbort,{once:true}),d.push(I),i();})},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 nc(){return xa([{kind:"image",softMaxBytes:512*or,maxEntries:512,maxEntryBytes:30*or},{kind:"video",softMaxBytes:1792*or,maxEntries:64,maxEntryBytes:200*or}])}function tc(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function yu(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ir(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function eo(e,n,r,d){let i=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?i:`${i}:${d}`}function no(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Oe({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let d=ir({conversationType:n,conversationId:r});return rc({id:eo(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:tc(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:hu(e.failure,d)}})}function Oe(e){let n=J(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function hu(e,n){if(e===void 0)return;let r=e.displayCode,i=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.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(J({...i??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function rc(e){return Object.freeze({...e,ref:ir(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function vu(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw Oe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Oe({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return ir({conversationType:r,conversationId:d})}function oc(e){let n=true,r=0,d=0,i=new Map,c=new Set,s=new Map,u=new Map,I=new Map,m=Iu(gu),v=e.maxCachedBlobs??mu,S=e.maxCachedBlobBytes??fu,g=0;function b(){if(!n||!e.isActive())throw Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function E(){return Object.freeze([...i.values()])}function R(){let _=E();for(let U of [...c])try{U(_);}catch(P){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:P}});}}function D(_){let U=I.get(_);U!==void 0&&(g-=U.size,I.delete(_));}function h(_){i.delete(_),s.delete(_),D(_);}function w(){for(;i.size>pu;){let _=[...i.values()].find(U=>U.state==="completed"||U.state==="failed"||U.state==="canceled");if(_===void 0)return;h(_.id);}}function a(_){i.set(_.id,rc(_)),w();}function o(_){if(!n||!e.isActive())return;a(_);let U=i.get(_.id);if(R(),!n||!e.isActive()||U===void 0||i.get(_.id)!==U)return;let P={id:U.id,messageId:U.messageId,ref:U.ref,direction:"download",state:U.state,percent:U.percent};e.emitter.emit({type:"media-task:updated",conversation:U.ref,task:P});}function p(_,U){if(D(_),!(U.size>S))for(I.set(_,U),g+=U.size;I.size>v||g>S;){let P=I.keys().next().value;if(P===void 0)break;D(P);}}function M(_,U=true){let P=vu(_),x=e.domainState.getConversationMessage(P,_.messageId);if(x===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:P});let F,G,Y,se;if(x.contentType==="image")F=x.body.image,G=e.loaders?.loadImage,se="image";else if(x.contentType==="video")F=x.body.video,G=e.loaders?.loadVideo,se="video";else if(x.contentType==="voice")F=x.body.voice,G=e.loaders?.loadVoice;else if(x.contentType==="file")F=x.body.file,G=e.loaders?.loadFile,Y=x.body.file?.mimeType;else if(x.contentType==="filesAlbum"){let pe=_.itemIndex;if(F=pe===void 0?void 0:x.body.filesAlbum?.items[pe],F===void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:P});G=e.loaders?.loadFile;}else if(x.contentType==="mediaAlbum"){let pe=x.body.mediaAlbum?.items,me=_.itemIndex,fe=me===void 0||pe===void 0?void 0:pe[me];if(fe===void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:P});F=fe,G=fe.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,se=fe.kind;}if(x.contentType!=="mediaAlbum"&&x.contentType!=="filesAlbum"&&_.itemIndex!==void 0)throw Oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:P});if(F===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:P});if(U&&G===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:P});if(F.url.trim()===""||F.url.startsWith("blob:"))throw Oe({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:P});return {ref:P,messageId:x.id,..._.itemIndex===void 0?{}:{itemIndex:_.itemIndex},...Y===void 0?{}:{mimeType:Y},...se===void 0?{}:{cacheKind:se,resourceVersion:ya(F.url)},...G===void 0?{}:{load:G},input:{url:F.url,...F.size===void 0?{}:{expectedBytes:F.size},...F.teaKey===void 0?{}:{teaKey:F.teaKey},...F.fileEncryptType===void 0?{}:{fileEncryptType:F.fileEncryptType}}}}function C(_){return Oe({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:_})}function K(){return Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function re(_,U,P=r){if(b(),P!==r)return null;let x=eo("download",_.ref,_.messageId,_.itemIndex),F=I.get(x);if(F!==void 0)return I.delete(x),I.set(x,F),F;if(e.assetCache===void 0||_.cacheKind===void 0||_.resourceVersion===void 0)return null;let G;try{G=await e.assetCache.get({kind:_.cacheKind,messageId:_.messageId,resourceVersion:_.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:G===null?"miss":"hit",kind:_.cacheKind,messageId:_.messageId,...G===null?{}:{byteLength:G.blob.size}});}catch(me){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:_.cacheKind,messageId:_.messageId,cause:me}),U)throw Oe({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:_.ref});return null}if(G===null||(b(),P!==r))return null;let Y=G.blob,se=G.mimeType??_.mimeType??"",pe=Y.type===se?Y:Y.slice(0,Y.size,se);return p(x,pe),pe}function H(_,U=false){let P=r,x=eo("download",_.ref,_.messageId,_.itemIndex),F=u.get(x);if(F!==void 0&&!F.controller.signal.aborted)return F.promise;if(!U){let me=I.get(x);if(me!==void 0)return I.delete(x),I.set(x,me),Promise.resolve(me)}D(x);let G=ir(_.ref);s.set(x,Object.freeze({conversation:G,messageId:_.messageId,..._.itemIndex===void 0?{}:{itemIndex:_.itemIndex}}));let Y={id:x,messageId:_.messageId,ref:G,direction:"download",..._.itemIndex===void 0?{}:{itemIndex:_.itemIndex}},se=new AbortController,pe=Promise.resolve().then(async()=>{let me;try{if(!n||!e.isActive())throw K();if(se.signal.aborted)throw C(G);if(me=await m.acquire(se.signal),!n||!e.isActive())throw K();if(se.signal.aborted)throw C(G);if(o({...Y,state:"running",percent:0}),!n||!e.isActive())throw K();if(se.signal.aborted)throw C(G);if(!U&&e.assetCache!==void 0&&_.cacheKind!==void 0&&_.resourceVersion!==void 0){let Se=await re(_,!1,P);if(Se!==null){if(se.signal.aborted)throw C(G);return o({...Y,state:"completed",percent:100}),Se}}let fe=_.load;if(fe===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:G});let Z=await fe({..._.input,signal:se.signal,onProgress:Se=>{let je=i.get(x);if(!n||!e.isActive()||se.signal.aborted||u.get(x)?.controller!==se||je?.state!=="running")return;let Fe=Math.min(99,tc(Se));Fe<=je.percent||o({...Y,state:"running",percent:Fe});}});if(!n||!e.isActive())throw K();if(se.signal.aborted)throw C(G);let xe=Z instanceof Blob?void 0:Z,he=xe===void 0?Z:new Blob([xe],_.mimeType===void 0?void 0:{type:_.mimeType});if(_.mimeType!==void 0&&he.type!==_.mimeType&&(he=he.slice(0,he.size,_.mimeType)),P===r&&p(x,he),P===r&&e.assetCache!==void 0&&_.cacheKind!==void 0&&_.resourceVersion!==void 0){let Se=he.size;e.assetCache.put({kind:_.cacheKind,messageId:_.messageId,resourceVersion:_.resourceVersion,blob:he,..._.mimeType===void 0?{}:{mimeType:_.mimeType}}).then(je=>{e.onAssetCacheEvent?.({operation:"put",outcome:je,kind:_.cacheKind,messageId:_.messageId,byteLength:Se});}).catch(je=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:_.cacheKind,messageId:_.messageId,byteLength:Se,cause:je});});}if(o({...Y,state:"completed",percent:100}),!n||!e.isActive())throw K();return he}catch(fe){if(!n||!e.isActive())throw K();if(se.signal.aborted||typeof fe=="object"&&fe!==null&&"code"in fe&&fe.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let xe=C(G);throw u.get(x)?.controller===se&&i.get(x)?.state!=="canceled"&&o({...Y,state:"canceled",percent:i.get(x)?.percent??0,error:xe}),xe}let Z=Oe({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:G});throw o({...Y,state:"failed",percent:i.get(x)?.percent??0,error:Z}),Z}finally{me?.(),u.get(x)?.controller===se&&u.delete(x);}});return u.set(x,{controller:se,promise:pe}),o({...Y,state:"queued",percent:0}),pe}function ie(_){try{return b(),H(M(_))}catch(U){return Promise.reject(U)}}async function N(_){let U=M(_,false);return U.cacheKind===void 0?null:await re(U,true)}async function f(_){if(b(),e.preparePreview===void 0)throw Oe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let U;try{U=await e.preparePreview({operationId:`media.prepareLocalPreview:${++d}`,kind:_.kind,file:_.file,..._.signal===void 0?{}:{signal:_.signal}});}catch(x){if(_.signal?.aborted===true||x instanceof Error&&x.name==="AbortError")throw x;return e.onLocalPreviewError?.({kind:_.kind,byteLength:_.file.size,cause:x}),null}return b(),!Number.isFinite(U.width)||!Number.isFinite(U.height)||U.width<=0||U.height<=0?(e.onLocalPreviewError?.({kind:_.kind,byteLength:_.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${U.width}\xD7${U.height}`)}),null):_.kind==="video"?{width:U.width,height:U.height,...U.duration===void 0?{}:{duration:U.duration},...U.posterData===void 0?{}:{posterData:U.posterData}}:{width:U.width,height:U.height}}async function k(_){if(b(),_.signal?.throwIfAborted(),e.prepareVideoPoster===void 0)throw Oe({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let U;try{U=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++d}`,kind:"video",file:_.file,..._.signal===void 0?{}:{signal:_.signal}});}catch(P){if(_.signal?.throwIfAborted(),P instanceof Error&&P.name==="AbortError")throw P;return b(),e.onLocalPreviewError?.({kind:"video",byteLength:_.file.size,cause:P}),null}return _.signal?.throwIfAborted(),b(),!Number.isFinite(U.width)||!Number.isFinite(U.height)||U.width<=0||U.height<=0||!U.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:_.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([U.posterData],{type:"image/jpeg"})}function z(_,U){b();let P=i.get(_);if(P===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:U,retryable:false});return P}function q(_,U){return Oe({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:U,retryable:false,conversation:_.ref,details:Object.freeze({state:_.state,direction:_.direction})})}let B=e.emitter.subscribe(_=>{!n||_.type!=="media-task:updated"||_.task.direction!=="upload"||yu(_.conversation,_.task.ref)&&(a(no(_.task)),R());});return {api:{getSnapshot(){return b(),E()},subscribe(_){return b(),c.add(_),()=>c.delete(_)},async cancel(_){let U=z(_,"media.cancel");if(U.state!=="queued"&&U.state!=="running")throw q(U,"media.cancel");if(U.direction==="upload"){if(!e.connection.cancelMediaUpload(U.messageId))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:U.ref});return}let P=u.get(_);if(P===void 0)throw q(U,"media.cancel");P.controller.abort();let x=C(U.ref);o({...U,state:"canceled",error:x});},async retry(_,U){let P=z(_,"media.retry");if(P.state!=="failed"&&P.state!=="canceled")throw q(P,"media.retry");if(P.direction==="upload"){if((P.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||P.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&U?.restartUpload!==true)throw Oe({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:P.ref});if(!(U===void 0?e.connection.retryMediaUpload(P.messageId):e.connection.retryMediaUpload(P.messageId,U)))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:P.ref});return}if(U?.restartUpload!==void 0)throw q(P,"media.retry");if(u.has(_)&&!u.get(_).controller.signal.aborted)throw Oe({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:P.ref});let x=s.get(_);if(x===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await H(M(x),true);},download:ie,getCached:N,prepareLocalPreview:f,prepareLocalVideoPoster:k},clearCache(){r+=1,I.clear(),g=0;},dispose(){if(n){n=false,r+=1,B();for(let _ of u.values())_.controller.abort();m.dispose(),u.clear(),c.clear(),i.clear(),s.clear(),I.clear(),g=0;}}}}var Cu={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"}},bu={"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 ic(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Mu(e,n){let r=Cu[e.reason];return Object.freeze(J({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function to(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Mu(e.failure,n)}})}function Su(e){let n=ic(e);return to({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 Pu(e,n,r){let d=J({code:bu[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 ac(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 i(){return d(),Object.freeze(e.operations.getPending().map(Su))}async function c(u,I){d();let m=e.operations.getPending().find(S=>S.id===I),v=u==="outbox.retry"?e.operations.retry(I):e.operations.cancel(I);if(!v.accepted)throw Pu(u,v.reason,m===void 0?void 0:ic(m))}return {api:{getSnapshot:i,subscribe(u){d();let I=e.emitter.subscribe(v=>{v.type==="outbox:updated"&&n&&u(i());}),m=()=>{I(),r.delete(m);};return r.add(m),m},retry:u=>c("outbox.retry",u),cancel:u=>c("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function Au(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function ar(e){return Object.freeze({type:"error",error:Object.freeze(J(e))})}function qe(e){throw J(e)}function ye(e,n,r){return (typeof e!="string"||e.trim()==="")&&qe({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 De(e,n){let r=e,d=r?.conversationType,i=r?.conversationId;return d==="supergroup"&&qe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof i=="string"?i:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof i!="string"||i.trim()==="")&&qe({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:i})}function Ru(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Pt(e,n){let r=De(e,n);return r.conversationType!=="direct"&&qe({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 rt(e,n){let r=De(e,n);return r.conversationType!=="group"&&qe({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 Kn(e,n,r){Ru(e,n)||qe({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function Eu(e){return Object.freeze({...e})}function wu(e,n){return Kn(De(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 Tu(e){let n=ye(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=De(e.conversation,"application:updated");r.conversationType!=="group"&&qe({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=De(e.conversation,"application:updated");r.conversationType!=="channel"&&qe({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 qe({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function _u(e){return Object.freeze({ref:Tu(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Du(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 ku(e){return Object.freeze(J({...{transport:{code:"IM_SDK_TRANSPORT_ERROR",category:"network",retryable:true},protocol:{code:"IM_SDK_PROTOCOL_ERROR",category:"protocol",retryable:false},login:{code:"IM_SDK_AUTH_ERROR",category:"auth",retryable:false},sync:{code:"IM_SDK_SYNC_ERROR",category:"network",retryable:true},crypto:{code:"IM_SDK_CRYPTO_ERROR",category:"state",retryable:false},http:{code:"IM_SDK_HTTP_ERROR",category:"network",retryable:true},storage:{code:"IM_SDK_STORAGE_ERROR",category:"state",retryable:true},unknown:{code:"IM_SDK_INTERNAL_ERROR",category:"state",retryable:false}}[e.scope],operation:`core.${e.scope}`}))}function Ou(e,n){if(Au(e)){let{cause:r,...d}=e;return ar(d)}return ar({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function xu(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:Eu(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=De(e.conversation,e.type);return Kn(De({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&qe({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(nt(e.message)),source:e.source})}case "message:removed":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:ye(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=De(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:ye(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=De(e.conversation,e.type);Kn(De(e.task.ref,e.type),r,e.type);let d=no(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=De(e.conversation,e.type);Kn(De({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&qe({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Kn(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=De(e.conversation,e.type);return e.conversationId!==r.conversationId&&qe({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=De(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&qe({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Kn(De({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=ye(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=De(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&qe({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=De(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&qe({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:ye(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?qe({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:ye(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=De(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&qe({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=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:wu(e.draft,r)})}case "draft:cleared":{let r=De(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=De(e.conversation,e.type);return Kn(De(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:to(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:ye(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:_u(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=>De(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Du(e.issue)});case "error":return Object.freeze({type:e.type,error:ku(e.error)});case "call:incoming":{let r=Pt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),peerId:ye(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Pt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),peerId:ye(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Pt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),peerId:ye(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Pt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),peerId:ye(e.peerId,"peerId",r)})}case "call:failed":{let r=Pt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),peerId:ye(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),inviterId:ye(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>ye(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),userId:ye(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),userId:ye(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>ye(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),userId:ye(e.userId,"userId",r)})}case "group-call:busy":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),userId:ye(e.userId,"userId",r),hintUserId:ye(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=rt(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:ye(e.callId,"callId",r),groupId:ye(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Ou(r,e)}}function Nu(e){let{type:n,...r}=e;return Object.freeze(r)}function Lu(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=De(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function sc(e){let n=new WeakMap;function r(i,c){let s=n.get(i);if(s!==void 0)return s;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:i.notification.messageId}));return n.set(i,u),u}function d(i){let c=true,s=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){i(ar({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let v=ye(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,v).then(S=>{if(!c||S===null)return;let g=Object.freeze({type:"contact-application:answered",peerId:v,result:S});i(g);}).catch(()=>{c&&i(ar({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let I=xu(u,e);I!==null&&i(I);let m=Lu(u);m!==null&&i(Object.freeze({type:"group:activated",...m}));});return ()=>{c=false,s();}}return {subscribe:i=>d(i),on:(i,c)=>d(s=>{s.type===i&&c(Nu(s));})}}function Bn(e){let n=J({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.accountScope===void 0?{}:{details:Object.freeze({accountScope:e.accountScope})},...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImLocalDataOperationError"})}function cc(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw Bn({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 Bn({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 Bn({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 dc(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function At(e,n,r,d){return J({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 lc(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function uc(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function pc(e,n){if(n.id!==e)throw At("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(i=>Object.freeze({countryCode:i.countryCode,mobile:i.mobile})))}})}function mc(e,n){if(n.id!==e.conversationId)throw At("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:lc(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 Fu(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 fc(e,n){if(n.id!==e.conversationId)throw At("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:uc(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:Fu(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 gc(e){return e.state==="ready"?Object.freeze({state:"ready",message:Qt(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 sr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw At("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:lc(e),messageId:n.messageId,preview:gc(n.preview)})}function cr(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw At("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:uc(e),messageId:n.messageId,preview:gc(n.preview)})}function Uu(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Ku(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 Bu(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function ro(e,n,r){return Uu(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&Bu(e)?J({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Ku(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):J({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 Ic=new WeakMap;function oo(e,n){Ic.set(e,n);}function yc(e){let n=Ic.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 Gu="IM_SDK_CHANNEL_NOT_MEMBER",Hu="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",ju="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",zu="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Vu(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function qu(e,n,r){if(Vu(e))return e;let d=e instanceof d$1?e.businessCode:void 0,i=e instanceof na$1?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d===40542?Gu:d===40527?Hu:d===40547?ju:e instanceof d$1?zu:e instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(i===void 0)return;let c$1=e instanceof na$1?"contract":e instanceof c?"network":d===40527?"permission":"state",s=J({code:i,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"),s)}async function He(e,n,r){try{return await r()}catch(d){throw qu(d,e,n)??d}}var Wu={pinMessage:()=>Promise.reject(new be({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new be({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new be({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new be({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function hc(e){let n=new Map,r=new Map,d=true,i=g=>({conversationType:"channel",conversationId:g}),c=g=>{r.set(g,(r.get(g)??0)+1);};function s(g){if(!d||n.has(g))return;let b=r.get(g)??0,E=(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:g}}});return}try{let R=await ea({client:e.coreClient,channelId:g});if(!d||(r.get(g)??0)!==b)return;if(!R.ok){e.emitter.emit({type:"error",error:{scope:"http",code:R.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${R.message}`,cause:{conversationId:g}}});return}if(R.data===null){e.domainState.clearPinnedMessage(i(g),"reconcile");return}e.domainState.setPinnedMessage(A$1(R.data.messageContent,{conversationId:g}),"reconcile");}catch(R){if(!d||(r.get(g)??0)!==b)return;let D=R instanceof h$1||R instanceof w$1?"protocol":"http";e.emitter.emit({type:"error",error:{scope:D,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:R}});}})();n.set(g,E),E.finally(()=>{n.get(g)===E&&n.delete(g);});}let u=Na({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),I=e.emitter.subscribe(g=>{if(g.type!=="message:received"&&g.type!=="message:updated")return;let b=g.message;if(b.conversationType!=="channel")return;let E=b.body.system?.pinnedMessageAction;E!==void 0&&g.source!=="live"&&g.channelLifecycleEffects!==true||((E?.type==="pin"||E?.type==="unpin")&&c(b.conversationId),u.handleMessage(b));});function m(g,b){if(b.trim()==="")throw new be({operation:g,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let E=e.domainState.getConversationContext(i(b));if(E===void 0)throw new be({operation:g,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(E.type!=="channel")throw new be({operation:g,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function v(g,b){if(e.coreClient===void 0)throw new be({operation:g,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return m(g,b),e.coreClient}return {operations:{pinMessage:async({channelId:g,messageId:b})=>{let E=v("pin",g),R=e.domainState.getConversationMessage(i(g),b);if(R===void 0)throw new be({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(R.conversationType!=="channel")throw new be({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(R.conversationId!==g)throw new be({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:D,pinnedMessage:h}=B$1(R),w=await ta({client:E,channelId:g,messageContent:D});if(!w.ok)throw Sn("pin",w.code,w.message);c(g),e.domainState.setPinnedMessage(h,"http:pin");let a=e.domainState.getPinnedMessage(i(g));if(a===void 0)throw new be({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(D){throw Pn("pin",D)}},unpinMessage:async g=>{let b=v("unpin",g);try{let E=await Oa$1({client:b,channelId:g});if(!E.ok)throw Sn("unpin",E.code,E.message);c(g),e.domainState.clearPinnedMessage(i(g),"http:unpin");}catch(E){throw Pn("unpin",E)}},getPinnedMessage:async g=>{let b=v("get",g);try{let E=await ea({client:b,channelId:g});if(!E.ok)throw Sn("get",E.code,E.message);if(c(g),E.data===null)return e.domainState.clearPinnedMessage(i(g),"reconcile"),null;let R=A$1(E.data.messageContent,{conversationId:g});e.domainState.setPinnedMessage(R,"reconcile");let D=e.domainState.getPinnedMessage(i(g));if(D===void 0)throw new be({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return D}catch(E){throw Pn("get",E)}},peekPinnedMessage:g=>(m("get",g),e.domainState.getPinnedMessage(i(g))??null)},dispose:()=>{d&&(d=false,I());}}}async function Rn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var $u={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:Rn,prefetchFirstPage:Rn,refreshFirstPage:Rn,listFirstPage:Rn,listNextPage:Rn,searchFirstPage:Rn,refreshSearchFirstPage:Rn,searchNextPage:Rn},Ju=new Set(["unknown_restricted","left","removed","dismissed"]);function Be(e){return Ju.has(e)}function vc(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 i(){if(d(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function c(v){let S=v.trim();if(S==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return S}async function s(v){let g=await i().listJoinApplications({limit:v?.limit??20,...v?.cursor===void 0?{}:{cursor:v.cursor}});return d(),g}async function u(v,S){d();let g=c(v),b=i();await(S==="accept"?b.acceptJoinApplication(g):b.ignoreJoinApplication(g)),d();}async function I(v,S$1,g,b,E){r(),E?.throwIfAborted();let R=await S({signal:E,http:e.http,userId:g,clientType:e.clientType,channelId:v,index:S$1,containAnchor:b,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),E?.throwIfAborted(),R}async function m(v,S,g,b){let E=await I(v,S,g,true,b),R=E.messages.find(D=>D.extensions?.historyCursor===S);if(R===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${v}, index=${S}\uFF09`);return {context:E,message:R}}return {applications:{listJoinApplications:s,acceptJoinApplication:v=>u(v,"accept"),ignoreJoinApplication:v=>u(v,"ignore")},loadMessageContext:m,loadNewerPage:(v,S,g,b)=>I(v,S,g,false,b),dispose:()=>{n=false;}}}function Cc(e){async function n(i,c,s){let u=new Map(c.filter(C$1).sort((m,v)=>m.sortKey.localeCompare(v.sortKey)).map(m=>[m.id,m]));if(u.size===0)return;let I=await e.authProvider.getLoginContext();if(I===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let m=u.values().next().value;u.delete(m.id);let v=m.extensions?.historyCursor;if(typeof v!="string"||v.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${m.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let S=e.getHistoryGeneration(),g=e.getHistoryEpoch(i);try{let{context:b,message:E}=await e.loadMessageContext(i,v,I.userId);if(!e.isActive()||S!==e.getHistoryGeneration()||g!==e.getHistoryEpoch(i))return;if(E.id!==m.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${v}, expected=${m.id}, actual=${E.id}\uFF09`);if(E.contentType!=="system"||C$1(E))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${v}, messageId=${m.id}\uFF09`);let R=b.messages.filter(D=>D.id===m.id||u.has(D.id));if(R.some(D=>D.contentType!=="system"||C$1(D)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${v}\uFF09`);e.domainState.upsertMessages(R,"offline",{backfillOnly:!0}),s.applyIncoming(R.flatMap(D=>{let h=e.domainState.getMessage(D.id);return h===void 0?[]:[h]}));for(let D of R)u.delete(D.id);}catch(b){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${i}, messageId=${m.id}\uFF09`,cause:b}});}}}function r(i,c){return i?.conversationType===c.conversationType&&i.conversationId===c.conversationId}async function d(i,c=e.domainState.messageWindow){if(i.stale||!i.messages.some(C$1))return i;let s=c.info().conversation;if(s===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${i.conversationId}\uFF09`);let u=e.domainState.getConversationContext(s);if(u?.type!=="channel"||u.channelState!==void 0&&Be(u.channelState))return i;let I=c.getRevision();if(await n(s.conversationId,i.messages,c),c.getRevision()!==I||!r(c.info().conversation,s))return {...i,stale:true};let m=new Map(c.list().map(v=>[v.id,v]));return {...i,messages:i.messages.map(v=>m.get(v.id)??v)}}return {reconcilePage:d}}function bc(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(h,w,a,o){let M=J({code:h,category:h==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":h==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:h==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...a===void 0?{}:{details:a},...o===void 0?{}:{cause:o}});return Object.assign(new Error(w),M)}function d(h){let w=h.name.trim();if(w==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(w.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let a=h.memberIds;if(!Array.isArray(a))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let o=a.map(M=>typeof M=="string"?M.trim():"");if(o.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let p=[...new Set(o)];if(p.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:w,memberIds:p}}function i(){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 h=e.crypto.randomTeaKey();if(!(h instanceof Uint8Array)||h.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let w="";for(let a of h)w+=String.fromCharCode(a);return globalThis.btoa(w)}function c$1(h,w){let a=h.trim();if(a==="")throw new Error(`${w}\u4E0D\u80FD\u4E3A\u7A7A`);return a}function s(h){let w=h.trim();if(w==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...w].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return w}function u(h){let w=h.trim();if(w==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...w].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return w}async function I$1(h){let w=(await e.getSelfUserId?.()??"").trim();return w!==""&&w===h.trim()}function m(){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 v(h,w,a){if(h!==1&&h!==2&&h!==4){let p=J({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),p)}if(h!==4)return {verifyType:h};let o=w?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(o)){let p=J({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:a}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),p)}return {verifyType:h,inviteCode:o}}function S(h){if(!Array.isArray(h))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(h.map(w=>c$1(w,"\u793E\u7FA4\u6210\u5458 id")))]}function g(h){e.emitter?.emit({type:"channel-profile:updated",channelId:h,conversation:{conversationType:"channel",conversationId:h}});}function b(h){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(h).catch(w=>{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:h,error:w}}});});}function E(h){if(h===void 0)return;let w=typeof h=="number"?h:Number(h);return Number.isSafeInteger(w)?w:void 0}function R$1(h){if(typeof h=="boolean")return h;if(h===1||h==="1"||h==="true")return true;if(h===0||h==="0"||h==="false")return false}function D(h){if(h===null||typeof h!="object"||h===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let w=h.id??h.radio_id;if(typeof w!="string"&&typeof w!="number"||String(w).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let a=h.name?.trim()??"";if(a==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let o=String(w),p=E(h.total_users),M=E(h.status),C=E(h.verify_way),K=E(h.update_version),re=R$1(h.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:o}),name:a,...h.head_img_url?.trim()===""||h.head_img_url===void 0?{}:{avatar:h.head_img_url},...h.user_id===void 0?{}:{ownerId:String(h.user_id)},...p===void 0?{}:{memberCount:p},...M===void 0?{}:{status:M},...re===void 0?{}:{isInChannel:re},...C===void 0?{}:{verifyWay:C},...K===void 0?{}:{updateVersion:K},...h.invite_code===void 0?{}:{inviteCode:h.invite_code}}}return {...n,mentions:e.mentionCandidates??$u,uploadAvatar:async h=>{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 tt(e.avatarTransfer,h)},create:async h=>{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 w=d(h),a=i();try{let o=await aa({client:e.coreClient,name:w.name,memberIds:w.memberIds,secretKey:a,...h.avatarUrl===void 0?{}:{avatarUrl:h.avatarUrl}});if(!o.ok){let C=o.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(C,o.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:o.code,message:o.message}))}let p=D(o.data);e.cacheCreatedSecretKey?.(p.ref.conversationId,a);let M=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:M,channelPermissions:Ba$1("owner",M)}),Object.freeze({channel:p})}catch(o){throw o!==void 0&&typeof o=="object"&&o!==null&&"code"in o&&String(o.code).startsWith("IM_SDK_")?o:o instanceof c?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",o.message,void 0,o):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,o)}},listProfiles:h=>e.channelProfile?.listProfiles(h)??Promise.resolve([]),getProfile:(h,w)=>e.channelProfile?.getProfile(h,w)??Promise.resolve(null),listMembers:h=>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:h.channelId,limit:h.limit??18,...h.cursor===void 0?{}:{cursor:h.cursor}}),prefetchMembers:h=>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(h),getCachedMembers:h=>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(h),refreshMembers:h=>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(h),searchMembers:h=>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:h.channelId,query:h.query,limit:h.limit??18,...h.cursor===void 0?{}:{cursor:h.cursor}}),listMentionMembers:h=>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:h.channelId,limit:h.limit??18,...h.cursor===void 0?{}:{cursor:h.cursor}}),searchMentionMembers:h=>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:h.channelId,query:h.query,limit:h.limit??18,...h.cursor===void 0?{}:{cursor:h.cursor}}),listAdmins:h=>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:h.channelId,limit:h.limit??18,...h.cursor===void 0?{}:{cursor:h.cursor}}),getMembersByIds:(h,w,a)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(h,w,a),updateName:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=c$1(w,"\u793E\u7FA4\u540D\u79F0");await He("channels.updateName",o,()=>F({client:a,channelId:o,name:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:p}),g(o);},updateDescription:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=u(w);await He("channels.updateDescription",o,()=>F({client:a,channelId:o,description:p})),g(o);},updateAvatar:async(h,w)=>{let a=m(),o=c$1(h,"\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 He("channels.updateAvatar",o,()=>tt(e.avatarTransfer,w));return await He("channels.updateAvatar",o,()=>F({client:a,channelId:o,avatarUrl:p})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{avatar:p}),g(o),p},setMyNickname:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=s(w);await He("channels.setMyNickname",o,()=>G({client:a,channelId:o,nickname:p})),g(o);},setMemberNickname:async(h,w,a)=>{let o=m(),p=c$1(h,"\u793E\u7FA4 id"),M=c$1(w,"\u793E\u7FA4\u6210\u5458 id");if(await I$1(M))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let C=s(a);await He("channels.setMemberNickname",p,()=>H({client:o,channelId:p,userId:M,nickname:C})),g(p);},updateVerification:async(h,w,a)=>{let o=m(),p=c$1(h,"\u793E\u7FA4 id"),M=v(w,a,p);await He("channels.updateVerification",p,()=>O$1({client:o,channelId:p,verifyType:M.verifyType,...M.inviteCode===void 0?{}:{inviteCode:M.inviteCode}})),g(p);},requestJoin:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=w?.remarks?.trim();return He("channels.requestJoin",o,()=>qa$1({client:a,channelId:o,...p===void 0?{}:{remarks:p}}))},joinByInviteCode:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=w.trim();if(!/^\d{6}$/.test(p))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return He("channels.joinByInviteCode",o,()=>ra({client:a,channelId:o,inviteCode:p}))},setAllMuted:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id");await He("channels.setAllMuted",o,()=>P({client:a,channelId:o,muted:w})),e.domainState?.refreshConversationProfile?.(o,"channel"),g(o);},setMemberPrivateChatDisabled:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id");await He("channels.setMemberPrivateChatDisabled",o,()=>Q({client:a,channelId:o,disabled:w})),e.domainState?.refreshConversationProfile?.(o,"channel"),g(o);},inviteMembers:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=S(w);if(p.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await He("channels.inviteMembers",o,()=>I({client:a,channelId:o,userIds:p})),g(o);},removeMember:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=c$1(w,"\u5F85\u79FB\u9664\u6210\u5458 id");await He("channels.removeMember",o,()=>J$1({client:a,channelId:o,userId:p})),g(o);},addAdmin:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=c$1(w,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await He("channels.addAdmin",o,()=>K({client:a,channelId:o,userId:p})),b(o),g(o);},removeAdmin:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=c$1(w,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await He("channels.removeAdmin",o,()=>L({client:a,channelId:o,userId:p})),b(o),g(o);},transferOwnership:async(h,w)=>{let a=m(),o=c$1(h,"\u793E\u7FA4 id"),p=c$1(w,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.transferOwnership",o,()=>M({client:a,channelId:o,userId:p})),b(o),e.domainState?.refreshConversationProfile?.(o,"channel"),g(o);},leave:async(h,w)=>{let a=m();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let o=c$1(h,"\u793E\u7FA4 id"),p=w?.newOwnerId===void 0?void 0:c$1(w.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await He("channels.leave",o,()=>N({client:a,channelId:o,...p===void 0?{}:{newOwnerId:p}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),g(o);},dismiss:async h=>{let w=m();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=c$1(h,"\u793E\u7FA4 id");await He("channels.dismiss",a,()=>R({client:w,channelId:a})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_dismissed"),g(a);},...e.applications,...e.pinned??Wu}}function Yu(e){let r=J({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(r.code),r)}function Xu(e){let n=e.responseCode===X,i=J({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(i.code),i)}function Qu(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Mc(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,i=new Map,c=new Map,s=0,u=false,I=5e3;function m(a,o,p){if(u)return "unknown";if(p!==void 0&&r.get(a)!==p)return d.get(a)??"unknown";let M=d.get(a);return d.set(a,o),i.set(a,Date.now()),M!==o&&e.onRelationshipChanged?.(a,o),o}function v(a,o){if(u)return;let p=g$1(a,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(p,++s),m(p,o);}function S(a){if(e.coreClient===void 0)throw new Error(`${a}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function g$1(a,o){let p=a.trim();if(p==="")throw new Error(`${o}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return p}function b(a,o){e.profile!==void 0&&e.profile.getUserProfile(a,{forceRefresh:true}).catch(p=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${o}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:p}});});}async function E(a,o){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a===""||o.name===void 0&&o.email===void 0&&o.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await La$1({client:e.coreClient,userId:a,...o.name===void 0?{}:{name:o.name},...o.email===void 0?{}:{email:o.email},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}}),e.domainState.refreshConversationProfile(a,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:a});}function R(a){switch(a){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function D(a,o){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=a.trim();if(p==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let M=c.get(p);if(o&&M!==void 0)return M;let C=++s;r.set(p,C);let K=g(e.coreClient,{userId:p}).then(re=>m(p,R(re?.friend_status),C)).finally(()=>{c.get(p)===K&&c.delete(p);});return c.set(p,K),K}function h(a){return D(a,true)}async function w(a,o){let p=g$1(a,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),M;try{M=await D(p,!1);}catch(C){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:C}}}),null}if(u)return null;if(M==="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(M!=="friend")return "rejected";v(p,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(p,o,Date.now());}catch(C){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:C}}}),null}return u?null:(e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),b(p,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(a,o)=>e.profile?.getUserProfile(a,o)??Promise.resolve(null),peekProfile:a=>e.profile?.peekUserProfile?.(a)??Promise.resolve(null),setRemark:E,searchUser:a=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):Y(e.coreClient,{query:a}).catch(o=>{throw o instanceof V?Xu(o):o}).then(o=>{if(o===null)return null;let p=R(o.friendStatus);return v(o.userId,p),Object.freeze({userId:o.userId,displayName:o.nickname||o.miCallId||o.username||o.userId,nickname:o.nickname,relationship:p,...o.avatarUrl===void 0?{}:{avatarUrl:o.avatarUrl},...o.username===void 0?{}:{username:o.username},...o.miCallId===void 0?{}:{miCallId:o.miCallId},...o.signature===void 0?{}:{signature:o.signature}})}),getRelationship:h,requestFriendship:async(a,o)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let p=g$1(a,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),M;try{M=await Z(e.coreClient,{userId:p,message:o.message,...o.remark===void 0?{}:{remark:o.remark}});}catch(K){throw K instanceof W?Yu(K):K}let C=Qu(M.status);return v(p,C==="sent"?"pending":"friend"),C==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(p,j(),Date.now()),e.domainState.refreshConversationProfile(p,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:p}),b(p,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:C,...M.message===void 0?{}:{message:M.message}})},blockUser:async a=>{let o=g$1(a,"\u52A0\u5165\u9ED1\u540D\u5355");await U(S("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:o,blocked:true}),v(o,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:o}),e.emitter.emit({type:"profile:updated",profileType:"user",id:o}),b(o,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(a,o)=>{let p=g$1(a,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),M=o.trim();if(M==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let C=e.getSelfId?.().trim()??"";if(C==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await $(S("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:C,targetUserId:p,problem:M});},deleteFriendship:async a=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=a.trim();if(o==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await _(e.coreClient,{userId:o}),v(o,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:o},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:o});try{await e.resetDirectReadReceiptPreference?.(o);}catch(p){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:p}});}b(o,"\u5220\u9664\u597D\u53CB");},peekRelationship:a=>d.get(a.trim()),ensureRelationship(a){let o=g$1(a,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),p=i.get(o);return p!==void 0&&Date.now()-p<I?Promise.resolve(d.get(o)??"unknown"):h(o)},updateRelationshipFromEvent:v,resolveApplicationAnswer:w,dispose:()=>{u=true,s+=1,r.clear(),d.clear(),i.clear(),c.clear();}}}function Sc(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 i=d[0];if(i.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:i.type,conversationId:i.id}}}function Pc(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 i=e.domainState.getConversationContext(d);if(i===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Ka({client:e.coreClient,conversationType:i.type,targetId:i.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;let i=e.domainState.getMessagesByConversation(r),c=i.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 s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await ma({http:e.http,userId:s.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let s=Ta(i);if(s===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,s),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 ao=1,Zu=3;function so(e){return typeof Blob<"u"&&e instanceof Blob}async function Ac(e){return so(e)?new Uint8Array(await e.arrayBuffer()):e}function Rc(e){async function n(N){return e.connection.sendText(N)}async function r(N){return e.connection.sendContact(N)}async function d(N){return e.connection.forwardMessages(N)}async function i(N){return e.connection.recallMessage(N)}async function c(N){return e.connection.editMessage(N)}async function s(N){return e.connection.sendImage(N)}async function u(N){return e.connection.sendVideo(N)}async function I(N){return e.connection.sendVoice(N)}async function m(N){return e.connection.sendFile(N)}async function v(N){return e.connection.sendMediaAlbum(N)}async function S(N){return e.connection.sendGif(N)}async function g(N){return e.connection.sendExpression(N)}async function b(N){return e.connection.sendGame(N)}async function E(N){return e.connection.sendMiniProgram(N)}async function R(N){return e.connection.sendTransfer(N)}async function D(N){return e.connection.sendGift(N)}async function h(N,f){return e.connection.replaceInterruptedVideo(N,f)}async function w(N,f){return e.connection.replaceInterruptedFile(N,f)}function a(N){e.connection.cancelMedia(N);}function o(N,f){return {url:N.url,...N.expectedBytes===void 0?{}:{expectedBytes:N.expectedBytes},...N.onProgress!==void 0?{onProgress:k=>N.onProgress?.(k.percent)}:{},...N.signal!==void 0?{signal:N.signal}:{},...f?{preferBlob:true}:{}}}async function p(N){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 f=await e.mediaTransfer.download(o(N,false)),k=await Ac(f);return N.teaKey!==void 0&&N.teaKey.length>0&&N.fileEncryptType!==ao?e.crypto.decryptSymmetric({teaKey:N.teaKey,cipherData:k}):k}async function M(N){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 f=await e.mediaTransfer.download(o(N,true));if(N.teaKey===void 0||N.teaKey.length===0||N.fileEncryptType===ao)return f;let k=N.teaKey;return so(f)?e.crypto.decryptSymmetricChunked({teaKey:k,cipherData:f,...N.signal===void 0?{}:{signal:N.signal}}):e.crypto.decryptSymmetric({teaKey:k,cipherData:f})}async function C(N){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(N.fileEncryptType===Zu)return M(N);let f=await e.mediaTransfer.download(o(N,true));if(N.teaKey===void 0||N.teaKey.length===0||N.fileEncryptType===ao)return f;let z=N.teaKey;if(!so(f))return e.crypto.decryptFileSimple({teaKey:z,cipherData:f});if(f.size<=32){let $=e.crypto.decryptFileSimple({teaKey:z,cipherData:await Ac(f)});return new Blob([$],{type:f.type})}let q=new Uint8Array(await f.slice(0,32).arrayBuffer()),B=e.crypto.decryptFileSimple({teaKey:z,cipherData:q});return new Blob([B,f.slice(32)],{type:f.type})}function K(N){e.connection.retryMessage(N);}function re(N,f){let k={conversationType:"channel",conversationId:N},z=e.domainState.getLoadedMessagesByConversation(k),B=e.domainState.getConversationMessage(k,f)??z.find(_=>Sa$1(_)===f),$=Sa$1(B);if(B===void 0||typeof $!="string"||$.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${N}, input=${f}\uFF09`);return B.id}async function H(N){let f=N.conversationType??e.domainState.getSession(N.conversationId)?.type;if(f==="channel"){let k=re(N.conversationId,N.readCursor);await e.connection.markRead(N.conversationId,k,"channel");return}await e.connection.markRead(N.conversationId,N.readCursor,N.conversationType),f==="direct"&&await e.prepareDirectReadReceipt?.(N.conversationId);}async function ie(N,f){e.connection.reportDirectMediaConsumed?.(N,f),await e.prepareDirectReadReceipt?.(N);}return {operations:{sendText:n,sendContact:r,forwardMessages:d,recallMessage:i,editMessage:c,sendImage:s,sendVideo:u,sendVoice:I,sendFile:m,sendGif:S,sendMediaAlbum:v,sendExpression:g,sendGame:b,sendMiniProgram:E,sendTransfer:R,sendGift:D,replaceInterruptedVideo:h,replaceInterruptedFile:w,cancelMediaUpload:a,loadImage:p,loadVideo:M,loadVoice:p,loadFile:C,retry:K,markRead:H,markDirectMediaConsumed:ie}}}function Ec(e){return {...e.operations,get state(){return e.getState()}}}var ep=50,np=1e3,$e={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 Le(e){let n=J({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImApplicationOperationError"})}function tp(e,n){switch(e){case $e.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case $e.CONTACT_PERMISSION_DENIED:case $e.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case $e.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case $e.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case $e.ALREADY_GROUP_MEMBER:case $e.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case $e.GROUP_MEMBER_LIMIT_REACHED:case $e.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case $e.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case $e.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case $e.OPERATION_FAILED:case $e.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case $e.GROUP_APPLICATION_UNAVAILABLE_40521:case $e.GROUP_APPLICATION_UNAVAILABLE_40612:case $e.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function rp(e){if(e instanceof j$1||e instanceof q)return e.code}function op(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 wc(e,n,r){let d=rp(r),i=tp(d,e),c=op(r);return Le({code:i,category:c.category,operation:n,retryable:c.retryable,cause:r})}function Tc(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function en(e,n){if(typeof e!="string"&&typeof e!="number")throw Le({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 Le({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function co(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw Le({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 Gn(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 ip(e,n,r="pending"){return Object.freeze({ref:Gn(e),...n===void 0?{}:{createdAt:n},state:r})}function ap(e){let n=co(e.createdAt),r=En(e.applicantAvatar,"contact.applicantAvatar"),d=En(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:Gn({domain:"contact",applicationId:en(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:en(e.applicantId,"contact.applicantId"),name:en(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:lo(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function sp(e){if(e.kind!=="request"&&e.kind!=="invite")throw Le({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=co(e.createdAt),r=En(e.actor.avatarUrl,"group.actor.avatarUrl"),d=En(e.actor.displayId,"group.actor.displayId"),i=En(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:Gn({domain:"group",applicationId:en(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:en(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:en(e.actor.id,"group.actor.id"),name:en(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:en(e.target.id,"group.target.id"),name:en(e.target.name,"group.target.name"),...i===void 0?{}:{avatarUrl:i}}),message:lo(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function En(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw Le({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 lo(e,n){if(typeof e!="string"&&typeof e!="number")throw Le({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 cp(e){let n=co(e.createdAt),r=En(e.applicantAvatar,"channel.applicantAvatar"),d=En(e.applicantDisplayId,"channel.applicantDisplayId"),i=En(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:Gn({domain:"channel",applicationId:en(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:en(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:en(e.applicantId,"channel.applicantId"),name:en(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:en(e.channelId,"channel.channelId"),name:en(e.channelName,"channel.channelName"),...i===void 0?{}:{avatarUrl:i}}),message:lo(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Rt(e){return `${e.domain}:${e.applicationId}`}function _c(e){let n=false,r=0,d=0,i=new Map,c=new Map,s=new Map;function u(b,E){if(n||!e.isActive()||E!==void 0&&r!==E)throw Le({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:b,retryable:false})}function I(b){if(u(b),e.contact===void 0||e.group===void 0||e.channel===void 0)throw Le({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:b,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function m(b,E){let R=[],D=new Set,h;for(let w=0;w<np;w+=1){let a=await E({limit:ep,...h===void 0?{}:{cursor:h}});if(!Array.isArray(a.items)||typeof a.exhausted!="boolean")throw Le({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:b,retryable:false});if(R.push(...a.items),a.exhausted)return R;let o=typeof a.nextCursor=="string"?a.nextCursor.trim():"";if(o===""||D.has(o))throw Le({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:b,retryable:false});D.add(o),h=o;}throw Le({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:b,retryable:false})}async function v(){let b="applications.listPending",E=I(b),R=r,D=++d;try{let[h,w,a]=await Promise.all([m(b,C=>E.contact.listPendingApplications(C)),m(b,C=>E.group.listPendingApplications(C)),m(b,C=>E.channel.listJoinApplications(C))]);u(b,R);let o=[...h.map(ap),...w.map(sp),...a.map(cp)],p=new Map;for(let C of o){let K=Rt(C.ref);if(c.has(K))continue;let re=p.get(K);if(re!==void 0&&JSON.stringify(re.ref)!==JSON.stringify(C.ref))throw Le({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:b,retryable:!1});(re===void 0||(C.createdAt??0)>(re.createdAt??0))&&p.set(K,C);}let M=[...p.values()].sort((C,K)=>{let re=(K.createdAt??0)-(C.createdAt??0);return re!==0?re:Rt(C.ref).localeCompare(Rt(K.ref))});if(D===d){i.clear();for(let C of M)i.set(Rt(C.ref),C);}return Object.freeze(M)}catch(h){throw Tc(h)?h:(u(b,R),wc("IM_SDK_APPLICATION_LIST_FAILED",b,h))}}function S(b,E){if(u(E),b===null||typeof b!="object")throw Le({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:E,retryable:false});let R=typeof b?.applicationId=="string"?b.applicationId.trim():"";if(R==="")throw Le({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:E,retryable:false});if(b.domain==="contact")return Gn({domain:"contact",applicationId:R});let D=typeof b.conversation?.conversationId=="string"?b.conversation.conversationId.trim():"";if(b.domain==="group"&&b.conversation?.conversationType==="group"&&D!=="")return Gn({domain:"group",applicationId:R,conversation:{conversationType:"group",conversationId:D}});if(b.domain==="channel"&&b.conversation?.conversationType==="channel"&&D!=="")return Gn({domain:"channel",applicationId:R,conversation:{conversationType:"channel",conversationId:D}});throw Le({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:E,retryable:false})}function g(b,E){let R=E==="accepted"?"applications.accept":"applications.ignore",D=S(b,R),h=Rt(D),w=c.get(h);if(w===E)return Promise.resolve();if(w!==void 0)return Promise.reject(Le({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:R,retryable:false}));let a=s.get(h);if(a!==void 0)return a.state===E?a.promise:Promise.reject(Le({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:R,retryable:true}));let o=r,p=Promise.resolve().then(async()=>{try{let C;if(D.domain==="contact"){if(e.contact===void 0)throw Le({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});C=E==="accepted"?e.contact.acceptApplication(D.applicationId):e.contact.ignoreApplication(D.applicationId);}else if(D.domain==="group"){if(e.group===void 0)throw Le({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});C=E==="accepted"?e.group.acceptApplication(D.applicationId):e.group.ignoreApplication(D.applicationId);}else {if(e.channel===void 0)throw Le({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:R,retryable:!1});C=E==="accepted"?e.channel.acceptJoinApplication(D.applicationId):e.channel.ignoreJoinApplication(D.applicationId);}if(await C,u(R,o),E==="accepted"&&D.domain==="contact"){let re=i.get(h);re?.kind==="contact-request"&&await e.onContactAccepted?.(re.applicant.id,D.applicationId);}c.set(h,E);let K=ip(D,i.get(h)?.createdAt,E);i.delete(h),e.emitter.emit({type:"application:updated",application:K});}catch(C){throw Tc(C)?C:(u(R,o),wc("IM_SDK_APPLICATION_ACTION_FAILED",R,C))}}),M=()=>{s.get(h)?.promise===p&&s.delete(h);};return s.set(h,{state:E,promise:p}),p.then(M,M),p}return {api:{listPending:v,accept:async b=>g(b,"accepted"),ignore:async b=>g(b,"ignored")},dispose(){n||(n=true,r+=1,i.clear(),c.clear(),s.clear());}}}function Hn(e,n,r){try{r();}catch(d){let i=d instanceof Error?d.message:String(d);throw i.includes("\u672A\u9274\u6743")?J({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u53EA\u5B9E\u73B0")||i.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?J({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?J({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):i.includes("\u6CA1\u6709\u5339\u914D")||i.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?J({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):J({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function Dc(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Hn("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Hn("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Hn("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Hn("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Hn("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Hn("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Hn("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var uo=18,dp=12,lp=300*1e3,up=64,kc=Object.freeze([]),pp=0;function mp(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Oc(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??lp,d=e.maxCacheEntries??up;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 i=++pp,c=new Map,s=new Map,u=new Map,I=new Map,m=new Map,v=new Map,S=new Map,g=new Set,b=0,E=true,R=P=>I.get(P)??0;function D(){if(!E)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function h(P){if(P.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let x=P.conversationId.trim();if(x==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return x}function w(P){let x=c.get(P);c.delete(P),x?.page.nextPageToken!==void 0&&u.delete(x.page.nextPageToken);}function a(P,x){let F=c.get(P);return F===void 0?null:F.generation!==x||F.expiresAt<=n()?(w(P),null):(c.delete(P),c.set(P,F),F.page)}function o(P,x){for(w(P),c.set(P,x);c.size>d;){let F=c.keys().next().value;if(typeof F!="string")break;w(F);}}function p(P){let x=[],F=new Map;for(let G of P){let Y=G.userId.trim();if(Y==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");F.has(Y)||x.push(Y);let se=G.displayName.trim()||Y,pe=G.avatar?.trim();F.set(Y,Object.freeze({userId:Y,displayName:se,...pe===void 0||pe===""?{}:{avatar:pe}}));}return Object.freeze(x.map(G=>F.get(G)))}async function M(P,x){let F=await ga(x);return Object.freeze(P.filter(G=>F.match(G.displayName)!==null||F.match(G.userId,{pinyin:false})!==null))}async function C(P,x){let F=await q(P);return F===null?kc:M(F.page.items,x)}function K(P,x){let F=[...P.items],G=new Set(F.map(Y=>Y.userId));for(let Y of x)G.has(Y.userId)||(G.add(Y.userId),F.push(Y));return Object.freeze({...P,items:Object.freeze(F)})}function re(P,x){let F=P.map(Y=>Y.userId),G=new Map(P.map(Y=>[Y.userId,Y]));for(let Y of x)G.has(Y.userId)||F.push(Y.userId),G.set(Y.userId,Y);return F.map(Y=>G.get(Y))}function H(P,x,F){let G=`im-channel-mention:${i}:${++b}`;for(u.set(G,{...P,generation:x,expiresAt:F});u.size>d;){let Y=u.keys().next().value;if(typeof Y!="string")break;u.delete(Y);}return G}function ie(P){let x=P.nextCursor?.trim();if(P.exhausted&&x!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!P.exhausted&&(x===void 0||x===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return x}function N(P,x,F,G){let Y=ie(P),se=Y===void 0?void 0:H({...x,cursor:Y},F,G);return Object.freeze({items:p(P.items),...se===void 0?{}:{nextPageToken:se},exhausted:P.exhausted})}function f(){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 k(P,x){let F=m.get(P);for(F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),m.delete(P),m.set(P,x);m.size>d;){let G=m.keys().next().value;if(G===void 0)break;let Y=m.get(G);Y?.page.nextPageToken!==void 0&&u.delete(Y.page.nextPageToken),m.delete(G);}}function z(P,x){let F=n()+r,G={channelId:P.channelId,kind:"list"},Y=P.nextCursor===void 0?void 0:H({...G,cursor:P.nextCursor},x,F);return {generation:x,updatedAt:P.updatedAt,page:Object.freeze({items:p(P.items),...Y===void 0?{}:{nextPageToken:Y},exhausted:P.exhausted})}}function q(P){D();let x=m.get(P);if(x!==void 0)return Promise.resolve(x);if(g.has(P)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let F=S.get(P);if(F!==void 0)return F;let G=R(P),Y=e.storage.getChannelMentionCandidateSnapshot(P).then(se=>{if(D(),se===null||se.channelId!==P||R(P)!==G||g.has(P))return null;let pe=z(se,G);return k(P,pe),pe}).finally(()=>{S.get(P)===Y&&S.delete(P);});return S.set(P,Y),Y}function B(P){D();let x=v.get(P);if(x!==void 0)return x;let F=R(P),G=f(),Y=(async()=>{let se,pe=false,me=[];for(let he=0;he<dp&&!pe;he+=1){let Se=await G.listMentionMembers({channelId:P,limit:uo,...se===void 0?{}:{cursor:se}});if(D(),R(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");se=ie(Se),pe=Se.exhausted,me=re(me,Se.items);}let fe=n(),Z={channelId:P,items:me,...se===void 0?{}:{nextCursor:se},exhausted:pe,updatedAt:fe};if(R(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(Z),D(),R(P)!==F)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let xe=z(Z,F);return k(P,xe),xe.page})().finally(()=>{v.get(P)===Y&&v.delete(P);});return v.set(P,Y),Y}function $(P,x=false){D();let F=R(P.channelId),G=mp(P);if(!x){let fe=a(G,F);if(fe!==null)return Promise.resolve(fe)}let Y=s.get(G);if(Y!==void 0&&Y.generation===F)return Y.promise;let se=f(),pe=P.kind==="list"?se.listMentionMembers({channelId:P.channelId,limit:uo,...P.cursor===void 0?{}:{cursor:P.cursor}}):se.searchMentionMembers({channelId:P.channelId,query:P.keyword,limit:uo,...P.cursor===void 0?{}:{cursor:P.cursor}}),me=Promise.resolve(pe).then(async fe=>{D();let Z=P.kind==="search"&&P.cursor===void 0?await C(P.channelId,P.keyword):kc;if(D(),R(P.channelId)!==F)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let xe=n()+r,he=N(fe,P,F,xe),Se=Z.length===0?he:K(he,Z);return R(P.channelId)===F&&o(G,{channelId:P.channelId,generation:F,expiresAt:xe,page:Se}),Se}).finally(()=>{s.get(G)?.promise===me&&s.delete(G);});return s.set(G,{generation:F,promise:me}),me}function _(P,x){D();let F=u.get(P);if(F===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(F.kind!==x)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${x} \u5206\u9875`);if(F.expiresAt<=n())throw u.delete(P),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(R(F.channelId)!==F.generation)throw u.delete(P),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return F}return {api:{peekFirstPage(P){if(!E)return null;let x=h(P),F=m.get(x);return F===void 0||F.generation!==R(x)?null:(k(x,F),F.page)},peekSearchCandidates(P,x){if(!E)return Object.freeze([]);let F=h(P),G=x.trim().toLocaleLowerCase();if(G==="")return Object.freeze([]);let Y=m.get(F);return Y===void 0||Y.generation!==R(F)?Object.freeze([]):(k(F,Y),Object.freeze(Y.page.items.filter(se=>se.displayName.toLocaleLowerCase().includes(G)||se.userId.toLocaleLowerCase().includes(G))))},async getCachedPage(P,x){let F=h(P),G=await q(F);if(G===null)return null;let Y=x?.trim()??"";if(Y==="")return G.page;let se=await M(G.page.items,Y);return D(),G.generation!==R(F)?null:Object.freeze({items:se,exhausted:true})},async prefetchFirstPage(P){let x=h(P),F=await q(x);F!==null&&F.updatedAt+r>n()||await B(x);},async refreshFirstPage(P){return B(h(P))},async listFirstPage(P){let x=h(P),F=m.get(x);if(F!==void 0&&F.generation===R(x))return k(x,F),F.page;let G=await q(x);return G!==null?G.page:B(x)},async listNextPage(P){return $(_(P,"list"))},async searchFirstPage(P,x){let F=h(P),G=x.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:F,kind:"search",keyword:G})},async refreshSearchFirstPage(P,x){let F=h(P),G=x.trim();return G===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:F,kind:"search",keyword:G},true)},async searchNextPage(P){return $(_(P,"search"))}},async invalidate(P){if(!E)return;let x=P.trim();if(x==="")return;I.set(x,R(x)+1),g.add(x);let F=m.get(x);F?.page.nextPageToken!==void 0&&u.delete(F.page.nextPageToken),m.delete(x),v.delete(x),S.delete(x);for(let[G,Y]of c)Y.channelId===x&&w(G);for(let[G,Y]of u)Y.channelId===x&&u.delete(G);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(x),g.delete(x));},clear(){if(!E)return;let P=new Set;for(let x of c.values())P.add(x.channelId);for(let x of u.values())P.add(x.channelId);for(let x of P)I.set(x,R(x)+1);c.clear(),u.clear(),s.clear(),m.clear(),v.clear(),S.clear(),g.clear();},dispose(){E&&(E=false,c.clear(),u.clear(),s.clear(),m.clear(),v.clear(),S.clear(),g.clear());}}}var fp=20*1024*1024;function gn(e){return J({...e,retryable:e.retryable??false})}function po(e,n){if(e?.conversationType==="supergroup")throw gn({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 gn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function gp(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 gn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Ip(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function xc(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:Ip(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw gn({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 mo(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 yp(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Nc(e){let n=e.maxCustomImageBytes??fp,r=false,d=0,i,c;async function s(I,m){try{return await m(gp(e.storage,I))}catch(v){throw typeof v=="object"&&v!==null&&"code"in v?v:gn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:I,cause:v})}}return {api:{async getBackground(I){let m="conversations.getBackground",v=po(I,m);return s(m,async S=>{let g=await S.getConversationBackground(v);if(g!==null)return Object.freeze({source:"conversation",selection:mo(g)});let b=await S.getDefaultConversationBackground();return Object.freeze(b===null?{source:"builtin",selection:null}:{source:"default",selection:mo(b)})})},async setBackground(I,m){let v="conversations.setBackground",S=po(I,v),g=await xc(m,v,n);await s(v,b=>b.saveConversationBackground(S,g));},async resetBackground(I){let m="conversations.resetBackground",v=po(I,m);await s(m,S=>S.deleteConversationBackground(v));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async m=>{let v=await m.getDefaultConversationBackground();return Object.freeze(v===null?{source:"builtin",selection:null}:{source:"default",selection:mo(v)})})},async setDefaultBackground(I){let m="conversations.setDefaultBackground",v=await xc(I,m,n);await s(m,S=>S.saveDefaultConversationBackground(v));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",m=>m.deleteDefaultConversationBackground());},listBackgroundPresets(I){let m="conversations.listBackgroundPresets";if(r)return Promise.reject(gn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:m}));if(!I?.forceRefresh&&i!==void 0)return Promise.resolve(i);if(!I?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(gn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:m}));let v=++d,S=ga$1(e.coreClient).then(g=>{let b=Object.freeze(g.map(yp));return !r&&v===d&&(i=b),b}).catch(g=>{throw gn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:m,retryable:true,cause:g})}).finally(()=>{v===d&&(c=void 0);});return c=S,S}},dispose(){r=true,d+=1,i=void 0,c=void 0;}}}var fo=2;async function hp(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,i,c;for(let I=0;I<=fo;I+=1){e.signal?.throwIfAborted();let m=await e.loadReadCursorPage(d);if(e.signal?.throwIfAborted(),m===void 0)break;if(i!==void 0&&i!==m.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");i=m.readCursorSortKey,c=m;for(let g of m.messages){if(g.conversationId!==e.conversation.conversationId||g.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(g.id,g);}let v=[...n.values()].sort(m$1),S=ot(v,e.selfId,i).unreadMessages;if(dr(S)&&m.exhausted)return await e.openLatest(),e.signal?.throwIfAborted(),Object.freeze({state:"none"});if(S.some(g=>g.contentType!=="system")||m.exhausted||m.nextCursor===void 0||m.nextCursor===d||r.has(m.nextCursor))break;r.add(m.nextCursor),d=m.nextCursor;}let s=[...n.values()].sort(m$1),u=ot(s,e.selfId,i).unreadMessages[0];return u!==void 0&&c!==void 0?(await e.openAt(u.sortKey,{messages:s,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),e.signal?.throwIfAborted(),go(u.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function dr(e){return e.length>0&&e.every(n=>n.contentType==="system")}function vp(e){return ha(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function ot(e,n,r){let d=[];for(let i of e)!vp(i)||r!==void 0&&i.sortKey<=r||ma$1(i,n)&&d.push(i);return {unreadMessages:d}}function go(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Lc(e){if(e.signal?.throwIfAborted(),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return hp(e);if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let i=ot(e.list(),e.selfId,e.readCursorSortKey);for(let s=0;(i.unreadMessages.length<e.unreadCount||dr(i.unreadMessages))&&e.hasNewer()&&s<fo;s+=1)await e.loadNewer(),i=ot(e.list(),e.selfId,e.readCursorSortKey);if(i.unreadMessages.length<e.unreadCount)return await e.openAt(e.readCursorSortKey),Object.freeze({state:"unavailable"});if(!e.hasNewer()&&dr(i.unreadMessages))return await e.openLatest(),Object.freeze({state:"none"});let c=i.unreadMessages[0];return c===void 0?Object.freeze({state:"unavailable"}):(await e.openAt(c.sortKey),go(c.id,e.unreadCount))}await e.openLatest();let n=ot(e.list(),e.selfId,void 0);for(let i=0;n.unreadMessages.length<e.unreadCount&&e.hasOlder()&&i<fo;i+=1)await e.loadOlder(),n=ot(e.list(),e.selfId,void 0);if(n.unreadMessages.length<e.unreadCount)return await e.openLatest(),Object.freeze({state:"unavailable"});let r=n.unreadMessages.slice(-e.unreadCount);if(dr(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),go(d.id,e.unreadCount))}function Et(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},i=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}i.has(c.userId)||(i.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 Cp(e){return e instanceof wa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}function bp(e){let n=[];for(let r=0;r<e.length;r+=E)n.push(e.slice(r,r+E));return n}async function Fc(e){let n=[...new Set(e.messageIds.map(s=>s.trim()).filter(s=>s!==""))];if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],i=[],c;for(let s of bp(n)){if(!e.isCurrent()){i.push(...s);continue}try{let u=await e.fetchBatch(s);if(!e.isCurrent()){i.push(...s);continue}let I=new Set(u.messages.map(v=>v.id)),m=new Set(u.missingMessageIds);r.push(...u.messages.map(e.projectMessage)),d.push(...u.missingMessageIds);for(let v of s)!I.has(v)&&!m.has(v)&&i.push(v);}catch(u){i.push(...s),c=Cp(u);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:i,...c===void 0?{}:{failure:c}}}var yo=new WeakMap;function lr(e,n){let r=yo.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");yo.set(e,r);}var Mp={"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}},Sp={"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}},Uc={"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}},Kc={"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 Bc(e,n,r){let d=J({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function Pp(e,n){let r=J({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 Ap=3*1024*1024,Io=200*1024*1024,Gc=2*1024*1024*1024,Hc=30*1024*1024,jc=4294967295,Rp=6,Ep=16*1024,wp=300;async function Tp(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 _p={"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 ur(e,n,r,d,i={},c={}){c.signal?.throwIfAborted();let s=Object.freeze({...e}),u=n.pageSize??30,I=n.domainState.createMessageWindow({retention:{maxMessages:u*Rp},...i.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(y,A)=>i.shouldEstablishRemoteLatestOnOpen?.(A)===true}}),m=new Set,v=new Set,S=new Map,g,b,E=false,R=false,D=false,h=true,w=0,a=Object.freeze({state:"none"}),o=new AbortController,p=new WeakMap,M;function C(){if(R)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function K(){let y=I.window.info();return {messages:I.window.list(),context:n.domainState.getConversationContext(s),draft:n.domainState.getDraft(s),loading:S.size>0,stale:E,hasOlder:y.hasMore,hasNewer:y.hasNewer,error:b,entryUnread:a}}function re(y,A){return y.length===A.length&&y.every((T,j)=>T===A[j])}function H(y,A){return re(y.messages,A.messages)&&(y.context?.title??"")===(A.context?.title??"")&&(y.context?.avatar??"")===(A.context?.avatar??"")&&y.draft===A.draft&&y.loading===A.loading&&y.stale===A.stale&&y.hasOlder===A.hasOlder&&y.hasNewer===A.hasNewer&&y.error===A.error&&y.entryUnread===A.entryUnread}function ie(y){let A=p.get(y);if(A!==void 0)return A;let T=Qt(y);return p.set(y,T),T}function N(y){let A=y.context;return {ref:s,...A===void 0?{}:{display:Object.freeze({title:A.title,...A.avatar===void 0?{}:{avatar:A.avatar}})},messages:Object.freeze(y.messages.map(ie)),entryUnread:y.entryUnread,draft:y.draft,loading:y.loading,stale:y.stale,hasOlder:y.hasOlder,hasNewer:y.hasNewer,...y.error===void 0?{}:{error:y.error}}}function f(){return C(),N(K())}function k(){let y=K();if(M!==void 0&&H(M,y))return;M=y;let A=N(y);for(let T of m)try{T(A);}catch(j){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}async function z(y){let A=I.window.list().find(we=>we.id===y)??n.domainState.getConversationMessage(s,y);if(A!==void 0)return {anchor:A};let T=n.domainState.getPinnedMessage(s),j=T?.messageId===y&&T.preview.state==="ready"?T.preview.message:void 0;if(j!==void 0)return {anchor:j,fallbackSeed:j};let de=n.resolveSearchHistoryAnchor?.(s,y);if(de!==void 0)return {anchor:de};let ve=await n.domainState.resolveConversationMessage(s,y);return ve===void 0?void 0:{anchor:ve}}function q(y,A){if(C(),g!==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 T=S.get(y);if(T!==void 0)return T;let j=n.beginReceiving?.();b=void 0;let de=Promise.resolve().then(A).then(ve=>i.reconcilePage===void 0?ve:i.reconcilePage(ve,I.window)).then(ve=>{C(),E=ve.stale===true;}).catch(ve=>{let we=ve instanceof Ia$1?ve.cause:ve;throw R||(b=An(we,`history.${y}`,s)),h?ve:we}).finally(()=>{j?.(),S.delete(y),R||k();});return S.set(y,de),k(),de}function B(){I.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-u));}async function $(){D?D=false:await q("latest",()=>I.window.open(s,{limit:u})),B(),i.shouldEstablishRemoteLatestOnOpen?.(I.window.list())===true&&(await q("latest:remote",()=>I.window.loadOlder({limit:u})),B());}async function _(){let y=n.domainState.getSession(s),A=Math.max(0,y?.manuallyUnread===true?0:y?.unreadCount??0),T=n.domainState.getReadState(s),j=T?.readCursor,ve=(j===void 0||j===""?void 0:s.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(s).find(we=>we.extensions?.historyCursor===j):n.domainState.getConversationMessage(s,j))?.sortKey??T?.readCursorSortKey;a=await Lc({conversation:s,pageSize:u,unreadCount:A,...ve===void 0?{}:{readCursorSortKey:ve},signal:o.signal,...s.conversationType!=="channel"||j===void 0||j===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async we=>{let Te=I.window.getRevision(),Pe=()=>!R&&!o.signal.aborted&&I.window.getRevision()===Te,Ue=await n.loadEntryUnreadPage({readCursor:j,...we===void 0?{}:{cursor:we},signal:o.signal,isCurrent:Pe});if(o.signal.throwIfAborted(),!Pe())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return Ue}},selfId:n.getSelfId(),list:()=>I.window.list(),hasOlder:()=>I.window.info().hasMore,hasNewer:()=>I.window.info().hasNewer,openLatest:$,openAt:(we,Te)=>{D=false;let Pe=Te?.messages.map(hn=>n.domainState.getConversationMessage(s,hn.id)??hn),Ue=Te?.messages.find(hn=>hn.sortKey===we)?.id,nn=Ue===void 0?we:Pe?.find(hn=>hn.id===Ue)?.sortKey??we;return q(`entry-unread:${we}`,()=>I.window.openAt(s,{anchorSortKey:nn,limit:u,...Te===void 0?{}:{seedMessages:Pe,seedHasNewer:Te.hasNewer,seedRemotePagination:Te.nextCursor===void 0?{}:{newerCursor:Te.nextCursor}}}))},loadOlder:()=>q("entry-unread:older",()=>I.window.loadOlder({limit:u})),loadNewer:()=>q("entry-unread:newer",()=>I.window.loadNewer({limit:u}))});}let U=n.emitter.subscribe(y=>{if(!(R||!("conversation"in y)||y.conversation===void 0)&&!(y.conversation.conversationType!==s.conversationType||y.conversation.conversationId!==s.conversationId)){if((y.type==="conversation-history:cleared"||y.type==="session:removed")&&o.abort(),y.type==="draft:updated"||y.type==="draft:cleared"){let A=y.type==="draft:updated"?y.draft:null;for(let T of v)try{T(A);}catch(j){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:j}});}}k();}});function P(){return c.initialPosition==="first-unread"?_():$()}let x=()=>{o.abort(c.signal?.reason),I.dispose();};c.signal?.addEventListener("abort",x,{once:true});try{if(c.signal?.throwIfAborted(),c.initialLoad==="local-first"){await q("initial:local",()=>I.window.open(s,{limit:u})),c.signal?.throwIfAborted(),B(),D=!0;try{await P();}catch(y){if(c.signal?.throwIfAborted(),y instanceof Ia$1)throw y;b=An(y,"history.initial",s),c.initialPosition==="first-unread"&&(a=Object.freeze({state:"unavailable"}));}finally{D=!1;}}else await P();c.signal?.throwIfAborted();}catch(y){throw R=true,U(),m.clear(),I.dispose(),y instanceof Ia$1?y.cause:y}finally{o.abort(),c.signal?.removeEventListener("abort",x);}h=false;function F(y,A){let T=n.domainState.getMessage(y);return T!==void 0&&T.conversationType===s.conversationType&&T.conversationId===s.conversationId?{ok:true,message:nt(T)}:{ok:false,error:J({code:T===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:A,retryable:false,conversation:s})}}async function G(y,A,T){let j=await i.getSendPermissionError?.(y);if(C(),j!==void 0){if(T===void 0)return {ok:false,error:j};let de=await T(j);return C(),de}try{let de=await A();return C(),de}catch(de){if(R)throw de;return {ok:false,error:An(de,y,s)}}}async function Y(y,A={}){let T="name"in y?y.name:void 0,j=A.fileName??(typeof T=="string"&&T!==""?T:void 0);return {...s,data:y,...y.type===""?{}:{mimeType:y.type},...j===void 0?{}:{filename:j},...s.conversationType==="robot"?{encrypted:false}:{},...A.localPreviewUrl===void 0?{}:{localPreviewUrl:A.localPreviewUrl},...A.localPreviewMetadata===void 0?{}:{localPreviewMetadata:A.localPreviewMetadata},...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}}}function se(y){return y===void 0||Number.isFinite(y.width)&&y.width>0&&Number.isFinite(y.height)&&y.height>0}function pe(y){return se(y)&&(y?.duration===void 0||Number.isFinite(y.duration)&&y.duration>0)&&(y?.posterData===void 0||y.posterData instanceof Uint8Array&&y.posterData.length>0&&y.posterData.length<=Ep)}function me(y){return y!==void 0&&"duration"in y&&y.duration!==void 0&&y.duration>wp}function fe(y){return y!==void 0&&"duration"in y&&y.duration!==void 0&&Number.isFinite(y.duration)&&y.duration>0}function Z(y,A,T){return {ok:false,error:J({code:y,category:A,operation:T,retryable:false,conversation:s})}}function xe(y,A){if(y===null||typeof y!="object"||y.kind!==A||!Number.isSafeInteger(y.width)||y.width<=0||y.width>jc||!Number.isSafeInteger(y.height)||y.height<=0||y.height>jc)return false;let T;try{T=new URL(y.url);}catch{return false}if(T.protocol!=="http:"&&T.protocol!=="https:"||T.username!==""||T.password!=="")return false;let j=y.resourceId;if(j!==void 0&&(typeof j!="string"||j.trim()===""))return false;if(A==="gif")return !Object.prototype.hasOwnProperty.call(y,"packageId");let de=y.packageId;return typeof j=="string"&&j.trim()!==""&&typeof de=="string"&&de.trim()!==""}function he(y){return Object.assign(new Error(y.code),y,{name:"ImMessageActionError"})}function Se(y,A,T){if(y==="direct"||y==="group"||y==="channel"||y==="robot")return Object.freeze({conversationType:y,conversationId:A});throw he(J({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:T,retryable:false,conversation:s,details:{targetConversationType:y,targetConversationId:A}}))}async function je(y,A,T){let j;try{j=await n.forwardMessages({messages:A,targets:T.map(de=>({...de}))});}catch(de){throw he(An(de,y,s))}return C(),Object.freeze({sent:Object.freeze(j.results.flatMap(de=>de.ok?[{conversation:Se(de.targetConversationType,de.targetConversationId,y),messageId:de.newMessageId}]:[])),failed:Object.freeze(j.results.flatMap(de=>de.ok?[]:[{sourceMessageId:de.sourceMessageId,conversation:Object.freeze({conversationType:de.targetConversationType,conversationId:de.targetConversationId}),error:J({..._p[de.reason],operation:y,conversation:{conversationType:de.targetConversationType,conversationId:de.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...j.skippedSourceIds])})}function Fe(y,A){let T=n.domainState.getConversationMessage(s,y);if(T===void 0){let j=n.domainState.getMessage(y);throw he(J({code:j===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:A,retryable:false,conversation:s}))}if(T.conversationType!==s.conversationType||T.conversationId!==s.conversationId)throw he(J({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:A,retryable:false,conversation:s}));return T}function Je(y,A){return he(J({...A,operation:y,conversation:s}))}function Vn(y,A){let T=J({code:y,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...A===void 0?{}:{cause:A}});return Object.assign(new Error(y),T,{name:"ImLocalMessageDeletionError"})}function rn(y,A){let T=J({code:y,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...A===void 0?{}:{cause:A}});return Object.assign(new Error(y),T,{name:"ImLocalConversationHistoryClearError"})}function on(){if(R)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(g!==void 0)return g;n.invalidateHistory?.(s);let y=[...S.values()],A=Promise.all(y).then(async()=>{C();let T=[...n.domainState.getMessagesByConversation(s),...I.window.list()];if(n.hasOutboxForConversation(s)||T.some(j=>n.isOutboxOwned(j.id)))throw rn("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(T.some(j=>j.status==="pending"||j.status==="uploading"||j.status==="sending"))throw rn("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),C(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(T=>{throw T instanceof Error&&T.name==="ImLocalConversationHistoryClearError"?T:rn("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",T)}).finally(()=>{g===A&&(g=void 0);});return g=A,A}async function st(y,A){if(y!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,y);}catch(T){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${A}\uFF09`,cause:T}});}}async function _n(y,A,T,j,de){return G(y,async()=>{if(A==="image"){let Pe=await Zt(T);if(C(),!Pe)return Z("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",y)}let ve=await Y(T,j);if(C(),A!==void 0&&ve.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Pe=new AbortController,Ue=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${y}:${++w}`,kind:A,file:T,signal:Pe.signal});if(C(),Ue===void 0||(A==="image"?!se(Ue):!pe(Ue)))return Z(A==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",y);ve.localPreviewMetadata=Ue;}if(A==="video"&&(n.prepareMediaPreview!==void 0||ve.localPreviewMetadata!==void 0)&&!fe(ve.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",y);if(A==="video"&&me(ve.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",y);let we=i.recheckSendPermissionError?.(y);if(we!==void 0)return {ok:!1,error:we};let Te=await de({...ve,...j.filesAlbum===void 0?{}:{filesAlbum:j.filesAlbum},...j.caption===void 0||j.caption===""?{}:{caption:j.caption}});return Te.ok?(C(),F(Te.messageId,y)):{ok:!1,error:Ct(Te.reason,y,s)}})}async function un(y,A){let T="messages.sendMediaAlbum";if(y.length===0)return Z("IM_SDK_MEDIA_ALBUM_EMPTY","validation",T);if(y.length>q$1)return Z("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",T);if(A.caption!==void 0&&A.caption.length>p$1)return Z("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",T);for(let j of y){if(j.file.type==="image/gif")return Z("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",T);if(j.kind==="image"){if(j.file.size>Hc)return Z("IM_SDK_IMAGE_TOO_LARGE","validation",T);if(!se(j.localPreviewMetadata))return Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",T)}else {if(j.file.size>Io)return Z("IM_SDK_VIDEO_TOO_LARGE","validation",T);if(!pe(j.localPreviewMetadata))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",T);if(me(j.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",T)}}return G(T,async()=>{for(let Te of y){if(Te.kind!=="image")continue;let Pe=await Zt(Te.file);if(C(),!Pe)return Z("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",T)}let j=await Promise.all(y.map(async Te=>{if(Te.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return Te.localPreviewMetadata;let Pe=new AbortController;return n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${T}:${++w}`,kind:Te.kind,file:Te.file,signal:Pe.signal})}));C();let de=[];for(let[Te,Pe]of y.entries()){let Ue=j[Te];if(Pe.kind==="image"&&!se(Ue))return Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",T);if(Pe.kind==="video"){if(!pe(Ue))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",T);if(n.prepareMediaPreview!==void 0&&!fe(Ue))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",T);if(me(Ue))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",T)}let nn="name"in Pe.file?Pe.file.name:void 0;de.push({kind:Pe.kind,data:Pe.file,...Pe.file.type===""?{}:{mimeType:Pe.file.type},...typeof nn=="string"&&nn!==""?{filename:nn}:{},...Pe.localPreviewUrl===void 0?{}:{localPreviewUrl:Pe.localPreviewUrl},...Ue===void 0?{}:{localPreviewMetadata:Ue}});}let ve=i.recheckSendPermissionError?.(T);if(ve!==void 0)return {ok:!1,error:ve};let we=await n.sendMediaAlbum({...s,items:de,...A.caption===void 0||A.caption.trim()===""?{}:{caption:A.caption},...A.hd===void 0?{}:{hd:A.hd},...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return we.ok?(C(),F(we.messageId,T)):{ok:!1,error:Ct(we.reason,T,s)}})}function an(y,A,T){let j=Fe(y,T);if(j.contentType!==A||j.status!=="failed"||j.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(y))throw he(J({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:T,retryable:false,conversation:s}));return j}async function Dn(y,A,T,j,de,ve){return an(A,T,y),G(y,async()=>{let we=await Y(j,de);if(T==="video"&&we.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ue=new AbortController,nn=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${y}:${++w}`,kind:"video",file:j,signal:Ue.signal});if(C(),nn===void 0||!pe(nn))return Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",y);we.localPreviewMetadata=nn;}if(T==="video"&&(n.prepareMediaPreview!==void 0||we.localPreviewMetadata!==void 0)&&!fe(we.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",y);if(me(we.localPreviewMetadata))return Z("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",y);let Te=i.recheckSendPermissionError?.(y);if(Te!==void 0)return {ok:!1,error:Te};an(A,T,y);let Pe=await ve(A,{...we,...de.caption===void 0||de.caption===""?{}:{caption:de.caption}});return Pe.ok?(C(),F(Pe.messageId,y)):{ok:!1,error:Ct(Pe.reason,y,s)}})}let kn={ref:s,getSnapshot:f,subscribe(y){return C(),m.add(y),()=>m.delete(y)},resolveMessage:async y=>{C();let A=I.window.list().find(T=>T.id===y)??await n.domainState.resolveConversationMessage(s,y);return A===void 0?null:ie(A)},history:{loadLatest:async()=>{C(),await $(),C(),k();},loadOlder:async()=>(C(),q("older",()=>I.window.loadOlder({limit:u}))),loadNewer:async()=>{C(),await q("newer",()=>I.window.loadNewer({limit:u})),C(),I.window.info().hasNewer||(B(),k());},loadAround:async y=>{C();let A=await z(y);if(A===void 0||A.anchor.conversationType!==s.conversationType||A.anchor.conversationId!==s.conversationId)throw Pp(s,y);let{anchor:T}=A;await q(`around:${y}`,async()=>{let j=await I.window.openAt(s,{anchorSortKey:T.sortKey,limit:u});return I.window.list().some(de=>de.id===y)||A.fallbackSeed===void 0?j:I.window.openAt(s,{anchorSortKey:T.sortKey,limit:u,seedMessages:[A.fallbackSeed],seedHasNewer:true})});},clearLocal:async()=>(C(),on())},messages:{sendText:async(y,A={})=>{C();let T=r(s,y,A);if("code"in T)return {ok:false,error:T};let j=n.domainState.getDraft(s)?.updatedAt;return G("messages.sendText",async()=>{let de=await n.sendText(T);return C(),await st(j,"messages.sendText"),F(de.id,"messages.sendText")},async de=>{let ve=i.appendTextPermissionFailure?.(T);return ve===void 0?{ok:false,error:de}:(await st(j,"messages.sendText"),{ok:true,message:nt(ve)})})},sendContact:async(y,A={})=>{C();let T=y.targetId.trim(),j=y.displayName.trim();if(T===""||j==="")return {ok:false,error:J({code:T===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let de={...s,contact:{...y,targetId:T,displayName:j},encrypted:s.conversationType!=="direct"&&s.conversationType!=="robot",...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}};return G("messages.sendContact",async()=>{let ve=await n.sendContact(de);return F(ve.id,"messages.sendContact")})},sendImage:async(y,A={})=>(C(),y.size>Hc?Z("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):A.caption!==void 0&&A.caption!==""?Z("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):se(A.localPreviewMetadata)?_n("messages.sendImage","image",y,A,n.sendImage):Z("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(y,A={})=>(C(),un(y,A)),sendVideo:async(y,A={})=>(C(),y.size>Io?Z("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):pe(A.localPreviewMetadata)?_n("messages.sendVideo","video",y,A,n.sendVideo):Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(y,A,T={})=>(C(),A.size>Io?Z("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):pe(T.localPreviewMetadata)?Dn("messages.replaceInterruptedVideo",y,"video",A,T,n.replaceVideo):Z("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(y,A)=>(C(),G("messages.sendVoice",async()=>{let T=await Y(y,A),j=i.recheckSendPermissionError?.("messages.sendVoice");if(j!==void 0)return {ok:!1,error:j};let de=await n.sendVoice({...T,durationMs:A.durationMs,...A.waveform===void 0?{}:{waveform:[...A.waveform]}});return de.ok?(C(),F(de.messageId,"messages.sendVoice")):{ok:!1,error:Ct(de.reason,"messages.sendVoice",s)}})),sendFile:async(y,A={})=>{if(C(),y.size>Gc)return Z("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(A.caption!==void 0&&A.caption.length>p$1)return Z("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let T=A.fileName??("name"in y?y.name:void 0);return typeof T!="string"||T.trim()===""?Z("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):_n("messages.sendFile",void 0,y,A,n.sendFile)},sendGif:async(y,A={})=>(C(),y.size>Ap?Z("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await Tp(y)?_n("messages.sendGif",void 0,y,A,T=>n.sendGif(T)):Z("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(y,A={})=>(C(),xe(y,"sticker")?G("messages.sendSticker",async()=>{let T=await n.sendExpression({...s,asset:y,...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendSticker")}):Z("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(y,A={})=>(C(),xe(y,"gif")?G("messages.sendGifAsset",async()=>{let T=await n.sendExpression({...s,asset:y,...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendGifAsset")}):Z("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(y,A={})=>(C(),y!=="rock-paper-scissors"&&y!=="dice"?Z("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):G("messages.sendGame",async()=>{let T=await n.sendGame({...s,gameType:y,...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendGame")})),sendMiniProgram:async(y,A={})=>(C(),t$1(y)?G("messages.sendMiniProgram",async()=>{let T=await n.sendMiniProgram({...s,miniProgram:y,encrypted:s.conversationType!=="direct"&&s.conversationType!=="robot",...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendMiniProgram")}):Z("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(y,A={})=>(C(),s.conversationType==="channel"||s.conversationType==="robot"?Z("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):v$1(y)?G("messages.sendTransfer",async()=>{let T=await n.sendTransfer({...s,transfer:y,...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendTransfer")}):Z("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(y,A={})=>(C(),s.conversationType==="channel"||s.conversationType==="robot"?Z("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):o$1(y)?G("messages.sendGift",async()=>{let T=await n.sendGift({...s,gift:y,...A.replyToMessageId===void 0?{}:{refMessageId:A.replyToMessageId}});return F(T.id,"messages.sendGift")}):Z("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),toggleReaction:async(y,A)=>{C(),Fe(y,"messages.toggleReaction");let T=await n.setReaction({conversation:s,parentMessageId:y,emoji:A,action:"toggle"});if(C(),!T.ok)throw Je("messages.toggleReaction",Uc[T.reason]);return Object.freeze({messageId:y,eventId:T.event.id,emoji:T.event.emoji,action:T.event.action===0?"add":"remove"})},setReaction:async(y,A,T)=>{C(),Fe(y,"messages.setReaction");let j=await n.setReaction({conversation:s,parentMessageId:y,emoji:A,action:T});if(C(),!j.ok)throw Je("messages.setReaction",Uc[j.reason]);return Object.freeze({messageId:y,eventId:j.event.id,emoji:j.event.emoji,action:j.event.action===0?"add":"remove"})},replaceInterruptedFile:async(y,A,T={})=>{if(C(),A.size>Gc)return Z("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(T.caption!==void 0&&T.caption!=="")return Z("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let j=T.fileName??("name"in A?A.name:void 0);return typeof j!="string"||j.trim()===""?Z("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Dn("messages.replaceInterruptedFile",y,"file",A,{...T,fileName:j},n.replaceFile)},editText:async(y,A,T={})=>{C(),Fe(y,"messages.editText");let j=d(s,y,A,T);if("code"in j)throw he(j);let de;try{de=await n.editMessage(j);}catch(ve){throw he(An(ve,"messages.editText",s))}if(C(),!de.ok)throw Je("messages.editText",Sp[de.reason]);return nt(Fe(y,"messages.editText"))},recall:async y=>{C(),Fe(y,"messages.recall");let A;try{A=await n.recallMessage({...s,messageId:y});}catch(T){throw he(An(T,"messages.recall",s))}if(C(),!A.ok)throw Je("messages.recall",Mp[A.reason])},deleteLocal:async y=>{C();let A=n.domainState.getConversationMessage(s,y);if(n.isOutboxOwned(y))throw Vn("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(A!==void 0&&A.conversationType===s.conversationType&&A.conversationId===s.conversationId&&(A.status==="pending"||A.status==="uploading"||A.status==="sending"))throw Vn("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(s);let T=await n.domainState.deleteLocalMessage(s,y);return C(),Object.freeze({scope:"local-only",messageId:y,deleted:T,remoteHistory:"remote-history-may-restore"})}catch(T){throw T instanceof Error&&T.name==="ImLocalMessageDeletionError"?T:Vn("IM_SDK_LOCAL_DELETE_FAILED",T)}},forward:async(y,A)=>{if(C(),y.length===0||A.length===0)throw he(J({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));return je("messages.forward",y.map(T=>({id:T,...s})),A)},forwardMediaAlbumItem:async(y,A,T)=>{C();let j="messages.forwardMediaAlbumItem";if(y.trim()===""||T.length===0)throw he(J({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:j,retryable:false,conversation:s}));if(!Number.isInteger(A)||A<0)throw he(J({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:j,retryable:false,conversation:s,details:{itemIndex:A}}));return je(j,[{id:y,...s,itemIndex:A}],T)},fetchByIds:async y=>{C();let A=n.fetchMessagesByIdBatch;if(A===void 0)throw he(J({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:s}));let T=n.beginReceiving?.();try{let j=await Fc({messageIds:y,fetchBatch:A,isCurrent:()=>!R,projectMessage:ie});return Object.freeze({messages:Object.freeze([...j.messages]),missingMessageIds:Object.freeze([...j.missingMessageIds]),unresolvedMessageIds:Object.freeze([...j.unresolvedMessageIds]),...j.failure===void 0?{}:{failure:Object.freeze(j.failure)}})}finally{T?.();}}},draft:{get:async()=>(C(),n.drafts.get(s)),save:async y=>(C(),n.drafts.save(s,y)),clear:async()=>{C(),await n.drafts.clear(s);},subscribe(y){return C(),v.add(y),()=>v.delete(y)}},markRead:async y=>{C();let A=I.window.list();if(y!==void 0&&!A.some(j=>j.id===y))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${y}`);let T=i.resolveReadMessageId===void 0?y??A.at(-1)?.id:i.resolveReadMessageId(A,y);T!==void 0&&await n.markRead({...s,readCursor:T});},setMuted:async y=>(C(),n.setMuted(s,y)),close(){R||(R=true,U(),m.clear(),v.clear(),I.dispose());}};return yo.set(kn,{getMessages:()=>(C(),I.window.list()),resolveMessage:async y=>(C(),I.window.list().find(A=>A.id===y)??n.domainState.resolveConversationMessage(s,y))}),kn}var Dp=5e3;async function Vc(e,n,r={}){let d=false,i,c;function s(){let v=Date.now();if(i!==void 0&&v-i.checkedAt<Dp)return Promise.resolve(i.value);if(c!==void 0)return c;let S=n.getRelationship(e.conversationId).then(g=>(i={value:g,checkedAt:Date.now()},g)).catch(g=>(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:g}}),i={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===S&&(c=void 0);});return c=S,S}async function u(v){if(!n.shouldCheckRelationship())return;let S=await s();if(S!=="friend"){if(S==="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:S}}}));return}return J({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:v,retryable:false,conversation:e,details:Object.freeze({relationship:S})})}}n.shouldCheckRelationship()&&s();let I=await ur(e,n,(v,S,g)=>g.mentions!==void 0&&g.mentions.length>0?J({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:v}):{...v,text:S,...g.replyToMessageId===void 0?{}:{refMessageId:g.replyToMessageId}},(v,S,g,b)=>b.mentions!==void 0&&b.mentions.length>0?J({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:v}):{...v,messageId:S,text:g},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),m={...I,messages:{...I.messages,async markMediaConsumed(v){let S=n.domainState.getConversationMessage(e,v);if(S===void 0||S.senderId===n.getSelfId()||S.contentType!=="voice"&&S.contentType!=="video"){let g=J({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(g.code),g)}await n.markDirectMediaConsumed(e.conversationId,v);}}};return lr(m,I),m}async function qc(e,n,r={}){return ur(e,n,(d,i,c)=>{let s=Et(c.mentions);return {...d,text:i,encrypted:true,...s===void 0?{}:{mention:s},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,i,c,s)=>{let u=Et(s.mentions);return {...d,messageId:i,text:c,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>r.initialPosition==="first-unread"&&n.domainState.getConversationContext(e)!==void 0&&$c(d,n.pageSize??30)},r)}async function Wc(e,n,r={}){return ur(e,n,(d,i,c)=>c.mentions!==void 0&&c.mentions.length>0?J({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:i,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,i,c,s)=>s.mentions!==void 0&&s.mentions.length>0?J({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:i,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var kp=new Set(["pending","uploading","sending"]);function $c(e,n){return e.length<n}function zc(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Op(e,n,r){let d=r===void 0?e.length-1:e.findIndex(s=>s.id===r),i=e[d];if(i===void 0||zc(i))return i?.id;let c=e.slice(0,d).findLast(s=>zc(s));return c!==void 0?c.id:i.senderId===n&&kp.has(i.status)?void 0:i.id}function xp(e,n){let r=false;for(let d of e){let i=d.body.system;if(!(d.conversationType!=="channel"||i?.targetUserIds?.includes(n)!==true)){if(i.eventType==="channel_member_left"||i.eventType==="channel_member_removed"){r=true;continue}if(r&&(i.eventType==="channel_member_joined"||i.eventType==="channel_member_invited"))return true}}return false}async function Jc(e,n,r={}){let d=await ur(e,n,(c,s,u)=>{let I=Et(u.mentions);return {...c,text:s,encrypted:true,...I===void 0?{}:{mention:I},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,s,u,I)=>{let m=Et(I.mentions);return {...c,messageId:s,text:u,...m===void 0?{}:{mention:m}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>r.initialPosition==="first-unread"&&n.domainState.getConversationContext(e)!==void 0&&$c(c,n.pageSize??30)||xp(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,s)=>Op(c,n.getSelfId(),s)},r),i={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw Bc(e,Kc["not-found"]);let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(I){let m=An(I,"messages.deleteForEveryone",e);throw Object.assign(new Error(m.code,{cause:I}),m)}if(!u.ok)throw Bc(e,Kc[u.reason])}}};return lr(i,d),i}var Np=40,Lp=100,Fp=0;function wn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Up(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Yc(e){let n=++Fp,r=new Map,d=new Map,i=new Map,c=new Map,s=new Map,u=0,I=true;function m(){if(!I)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function v(h){let w=h??Np;if(!Number.isSafeInteger(w)||w<1||w>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return w}function S(h){let w=`im-directory:${n}:${++u}`;return r.set(w,h),w}function g(h,w){let a=s.get(h);a===void 0&&(a=new Map,s.set(h,a));let o=w.map(p=>Object.freeze({...p}));for(let p of o)a.set(p.id,p);return Object.freeze(o)}async function b(h,w,a){if(m(),e.provider===void 0)throw new Error(`${wn(h)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let o=await e.provider.list({kind:h,page:w,pageSize:a});if(m(),o.exhausted===(o.nextPage!==void 0))throw new Error(`${wn(h)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let p=o.nextPage===void 0?void 0:S({kind:h,page:o.nextPage,pageSize:a}),M=g(h,o.items);return Object.freeze({items:M,...p===void 0?{}:{nextPageToken:p},exhausted:o.exhausted})}function E(h){return {listFirstPage:w=>b(h,1,v(w?.pageSize)),listNextPage:w=>{m();let a=r.get(w);if(a===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(a.kind!==h)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${wn(a.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${wn(h)}`));let o=d.get(w);if(o!==void 0)return o;let p=b(h,a.page,a.pageSize).then(M=>(r.delete(w),M)).finally(()=>{d.delete(w);});return d.set(w,p),p}}}function R(h){m();let w=i.get(h);if(w!==void 0)return Promise.resolve(w);let a=c.get(h);if(a!==void 0)return a;if(e.provider===void 0)return Promise.reject(new Error(`${wn(h)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let o=(async()=>{let p=[],M=new Map,C=new Set,K=1;for(;;){if(m(),C.has(K))throw new Error(`${wn(h)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);C.add(K);let H=await e.provider.list({kind:h,page:K,pageSize:Lp});if(m(),H.exhausted===(H.nextPage!==void 0))throw new Error(`${wn(h)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let ie of H.items)M.has(ie.id)||p.push(ie.id),M.set(ie.id,ie);if(H.nextPage===void 0)break;if(!Number.isSafeInteger(H.nextPage)||H.nextPage<1)throw new Error(`${wn(h)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);K=H.nextPage;}let re=g(h,p.map(H=>M.get(H)));return m(),i.set(h,re),re})().finally(()=>{c.delete(h);});return c.set(h,o),o}async function D(h){if(m(),h.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[w,a,o,p]=await Promise.all([R("individual"),R("group"),R("channel"),ga(h)]);m();function M(K,re){let H=[];for(let ie of re){let N=ie==="displayName"?K.displayName:ie==="username"?K.username:K.id;if(N===void 0||N==="")continue;let f=p.match(N,{pinyin:ie==="displayName"});f!==null&&H.push(Up(ie,f));}return H.length===0?null:Object.freeze({item:K,matches:Object.freeze(H)})}function C(K,re){return Object.freeze(K.flatMap(H=>{let ie=M(H,re);return ie===null?[]:[ie]}))}return Object.freeze({keyword:p.keyword,contacts:C(w,["displayName","username","id"]),groups:C(a,["displayName"]),channels:C(o,["displayName"])})}return {contacts:E("individual"),groups:E("group"),channels:E("channel"),search:{search:D},peekItem:(h,w)=>(m(),s.get(h)?.get(w)),dispose:()=>{I=false,r.clear(),d.clear(),i.clear(),c.clear(),s.clear();}}}function Kp(e){if(e.conversationType==="supergroup")throw J({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw J({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function pr(e){return Kp(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Bp(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw J({code:"IM_SDK_DRAFT_ATTACHMENTS_UNSUPPORTED",category:"unsupported",operation:"drafts.save",retryable:false,conversation:e});return {text:n.text,...n.mentions===void 0?{}:{mentions:n.mentions},...n.replyToMessageId===void 0?{}:{replyToMessageId:n.replyToMessageId},attachments:[]}}function Xc(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(i){return r(),e.domainState.getDraft(pr(i))},async save(i,c){r();let s=pr(i);return e.domainState.saveDraft(s,Bp(s,c))},async clear(i){r(),await e.domainState.clearDraft(pr(i));},subscribe(i,c){r();let s=pr(i),u=e.emitter.subscribe(m=>{m.type!=="draft:updated"&&m.type!=="draft:cleared"||m.conversation.conversationType!==s.conversationType||m.conversation.conversationId!==s.conversationId||c(m.type==="draft:updated"?m.draft:null);}),I=()=>{u(),n.delete(I);};return n.add(I),I}},dispose(){for(let i of [...n])i();}}}var Gp=20,Qc=50,Zc=30,ed=4294967295;function jn(e){let n=J(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function We(e,n){return jn({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 jn({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 jn({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof d$1)return jn({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 jn({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 jn({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function In(e,n,r){if(typeof e!="string"||e.trim()==="")throw We(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Hp(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 jp(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw We(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function zp(e,n,r){let d=In(e,n,r),i;try{i=new URL(d);}catch{throw We(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(i.protocol!=="https:"&&i.protocol!=="http:")throw We(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(i.username!==""||i.password!=="")throw We(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function td(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>ed)throw We(r,`${n} \u5FC5\u987B\u662F 1-${ed} \u7684\u6574\u6570`);return Number(e)}function sd(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw We(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:zp(e.url,"url",n),width:td(e.width,"width",n),height:td(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:In(e.packageId,"packageId",n),resourceId:In(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw We(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:In(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function Vp(e,n){if(e===null||typeof e!="object")throw We(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:In(e.token,"token",n),resourceId:In(e.resourceId,"resourceId",n)}:sd(e,n)}function qp(e,n){if(e!=="sticker"&&e!=="gif")throw We(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Wp(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw We(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function rd(e,n){if(!Array.isArray(e))throw We(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>In(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw We(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>Zc)throw We(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Zc} \u4E2A id`);return r}function od(e,n){let r=e?.offset??0,d=e?.pageSize??Gp;if(!Number.isSafeInteger(r)||r<0)throw We(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>Qc)throw We(n,`pageSize \u5FC5\u987B\u662F 1-${Qc} \u7684\u6574\u6570`);return {offset:r,limit:d}}function id(e){return Object.freeze({...e})}function $p(e){return Object.freeze({...e})}function ad(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 cd(e){function n(i){if(!e.isActive())throw jn({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:i,retryable:false})}async function r(i,c){if(n(i),e.provider===void 0)throw nd(i,new x$1("core"));let s;try{s=await c(e.provider);}catch(u){throw n(i),nd(i,u)}return n(i),s}let d={packs:Object.freeze({list:async i=>{let c="expressions.packs.list",s=i?.version===void 0?void 0:jp(i.version,"version",c),u=await r(c,m=>m.listStickerPacks(s)),I=Object.freeze(u.items.map(m=>Object.freeze({...m})));return Object.freeze({version:u.version,items:I})},listItems:async i=>{let c="expressions.packs.listItems",s=In(i,"packageId",c),u=await r(c,I=>I.listStickerItems(s));return Object.freeze(u.map(id))}}),favorites:Object.freeze({list:async i=>{let c="expressions.favorites.list",s=await r(c,u=>u.listFavorites(qp(i,c)));return Object.freeze(s.map(id))},add:async i=>{let c="expressions.favorites.add",s=sd(i,c);await r(c,u=>u.addFavorite(s));},delete:async i=>{let c="expressions.favorites.delete",s=rd(i,c);await r(c,u=>u.deleteFavorites(s));}}),recent:Object.freeze({list:async i=>{let c="expressions.recent.list",s=await r(c,u=>u.listRecent(Wp(i,c)));return Object.freeze(s.map($p))},report:async i=>{let c="expressions.recent.report",s=Vp(i,c);await r(c,u=>u.reportRecent(s));},delete:async i=>{let c="expressions.recent.delete",s=rd(i,c);await r(c,u=>u.deleteRecent(s));}}),reactions:Object.freeze({listTop:async i=>{let c="expressions.reactions.listTop",s=i?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw We(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let I=await u.listReactionTop(s);if(!Array.isArray(I))throw new y$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(I.map(m=>Hp(m,"reaction emoji")))})},report:async i=>{let c="expressions.reactions.report",s=In(i,"emoji",c);await r(c,u=>u.reportReaction(s));}}),giphy:Object.freeze({trending:async i=>{let c="expressions.giphy.trending",s=await r(c,u=>u.listGiphyTrending(od(i,c)));return ad(s)},search:async(i,c)=>{let s="expressions.giphy.search",u=In(i,"query",s),I=await r(s,m=>m.searchGiphy({query:u,...od(c,s)}));return ad(I)}})};return {api:Object.freeze(d)}}function zn(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?J({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):J({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function dd(e){return {createRoom(n){zn("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){zn("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){zn("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){zn("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){zn("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){zn("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){zn("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var Jp=0;function ld(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 Yp(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 Xp(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 ud(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 Qp(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function pd(e){let n=++Jp,r=new Map,d=new Map,i=new Map,c=0,s=true;function u(){if(!s)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function I(R){let D=R??20;if(!Number.isSafeInteger(D)||D<1||D>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return D}function m(R){let D=`im-robots:${n}:${++c}`;return r.set(D,R),D}function v(R){return Object.freeze(R.map(D=>{let h=ld(D);return i.set(h.id,h),h}))}function S(R,D){let h=i.get(R);h!==void 0&&i.set(R,ld({id:h.id,displayName:h.displayName,...h.username===void 0?{}:{username:h.username},...h.avatarUrl===void 0?{}:{avatarUrl:h.avatarUrl},bound:D}));}async function g(R,D){u();let h=D?e.bind:e.unbind;if(h===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await h(Qp(R)),u(),S(R.robotId,D);}async function b(R){if(u(),e.search===void 0)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let D=await e.search(Xp(R));u();let h=v(D.items),w=D.exhausted?void 0:m({...R,page:R.page+1});return Object.freeze({items:h,...w===void 0?{}:{nextPageToken:w},exhausted:D.exhausted})}return {api:{listFirstPage:R=>{try{let D=Yp(R?.scope??{kind:"catalog"});return b({page:1,pageSize:I(R?.pageSize),keyword:R?.keyword?.trim()??"",scope:D})}catch(D){return Promise.reject(D)}},listNextPage:R=>{u();let D=r.get(R);if(D===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let h=d.get(R);if(h!==void 0)return h;let w=b(D).then(a=>(r.delete(R),a)).finally(()=>{d.delete(R);});return d.set(R,w),w},bindToConversation:R=>{try{return g(ud(R),!0)}catch(D){return Promise.reject(D)}},unbindFromConversation:R=>{try{return g(ud(R),!1)}catch(D){return Promise.reject(D)}}},peek:R=>{let D=R.trim();return D===""?void 0:i.get(D)},dispose:()=>{s=false,r.clear(),d.clear(),i.clear();}}}var Zp=30,em=300*1e3,nm=64,tm=900*1e3,rm=2048,om=0;function yn(e){let n=J({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImSearchOperationError"})}function md(e){let n=e.now??(()=>Date.now()),r=e.pageSize??Zp,d=e.tokenTtlMs??em,i=e.maxTokens??nm,c=e.anchorTtlMs??tm,s=e.maxAnchors??rm;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(i)||i<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(c)||c<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let u=++om,I=new Map,m=new Map,v=0,S=true;function g(f){if(!S)throw yn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:f,retryable:false});if(e.isAvailable?.()===false)throw yn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:f,retryable:false})}function b(f,k){let z=f.trim();if(z==="")throw yn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:k,retryable:false});return z}function E(f){let k=`im-search:${u}:${++v}`;for(I.set(k,{...f,expiresAt:n()+d});I.size>i;){let z=I.keys().next().value;if(typeof z!="string")break;I.delete(z);}return k}function R(f,k){return JSON.stringify([f.conversationType,f.conversationId,k])}function D(f){for(let[k,z]of m)z.expiresAt<=f&&m.delete(k);}function h(f,k){let z=Object.freeze({conversationType:f.conversationType,conversationId:f.conversationId}),q=R(z,f.id);for(m.delete(q),m.set(q,{anchor:Object.freeze({id:f.id,conversationType:f.conversationType,conversationId:f.conversationId,sortKey:f.sortKey}),expiresAt:k+c});m.size>s;){let B=m.keys().next().value;if(typeof B!="string")break;m.delete(B);}}function w(f,k){let z=k==="conversation"?"search.conversations.next":"search.messages.next";g(z);let q=I.get(f);if(q===void 0||q.expiresAt<=n())throw I.delete(f),yn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:z,retryable:false});if(q.kind!==k)throw yn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:z,retryable:false});return q}function a(f){let k=f.draft?.text.trim();return k===void 0||k===""?f.lastMessagePreview:k}function o(f){let k=Object.freeze({conversationType:f.type,conversationId:f.id});return Object.freeze({ref:k,title:f.title,preview:a(f)})}function p(f,k){let z=Object.freeze(f.slice(k,k+r)),q=k+z.length,B=q>=f.length,$=B?void 0:E({kind:"conversation",items:f,offset:q});return Object.freeze({items:z,...$===void 0?{}:{nextPageToken:$},exhausted:B})}async function M(f,k,z){g(z);let q=b(k,z).toLowerCase(),B=Object.freeze(e.domainState.getConversationList().filter($=>($.type==="direct"||$.type==="group"||$.type==="channel"||$.type==="robot")&&(f===void 0||$.type===f)&&`${$.title}
|
|
2
|
+
${$.id}`.toLowerCase().includes(q)).map(o));return p(B,0)}function C(f,k,z){let q=f.conversationId.trim();if(f.conversationType!==k||q==="")throw yn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:z,retryable:false});return Object.freeze({conversationType:k,conversationId:q})}function K(f,k){let z=f.conversationType,q=f.conversationId.trim();if(z!=="direct"&&z!=="group"&&z!=="channel"&&z!=="robot"||q==="")throw yn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:z==="supergroup"?"unsupported":"validation",operation:k,retryable:false});return Object.freeze({conversationType:z,conversationId:q})}async function re(f){g("search.messages");let k$1;try{k$1=await e.domainState.searchMessages(f.ref,{...f.keyword===void 0?{}:{keyword:f.keyword},...f.contentTypes===void 0?{}:{contentTypes:f.contentTypes},limit:r,...f.beforeSortKey===void 0?{}:{beforeSortKey:f.beforeSortKey}});}catch(U){throw yn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:U})}let z=new Set,q=[],B=n();D(B);for(let{message:U}of k$1.results){if(U.conversationType!==f.ref.conversationType||U.conversationId!==f.ref.conversationId||U.sortKey.trim()===""||f.contentTypes!==void 0&&!f.contentTypes.includes(U.contentType))throw yn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});z.has(U.id)||(z.add(U.id),h(U,B),q.push(Object.freeze({ref:f.ref,messageId:U.id,senderId:U.senderId,createdAt:k(U),contentType:U.contentType,preview:ea$1(U)})));}let $=k$1.nextBeforeSortKey?.trim();if(!k$1.exhausted&&($===void 0||$==="")||k$1.exhausted&&$!==void 0)throw yn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let _=$===void 0?void 0:E({kind:"message",ref:f.ref,...f.keyword===void 0?{}:{keyword:f.keyword},...f.contentTypes===void 0?{}:{contentTypes:f.contentTypes},beforeSortKey:$});return Object.freeze({items:Object.freeze(q),..._===void 0?{}:{nextPageToken:_},exhausted:k$1.exhausted})}async function H(f,k,z,q){g(q);let B=C(f,k,q);return re({ref:B,keyword:b(z,q)})}async function ie(f,k,z,q){g(z);let B=K(f,z),$=q?.trim();return re({ref:B,...$===void 0||$===""?{}:{keyword:$},contentTypes:Object.freeze([k])})}return {api:{conversations:{all:f=>M(void 0,f,"search.conversations.all"),direct:f=>M("direct",f,"search.conversations.direct"),groups:f=>M("group",f,"search.conversations.groups"),channels:f=>M("channel",f,"search.conversations.channels"),async next(f){let k=w(f,"conversation");return p(k.items,k.offset)}},messages:{inDirect:(f,k)=>H(f,"direct",k,"search.messages.inDirect"),inGroup:(f,k)=>H(f,"group",k,"search.messages.inGroup"),inChannel:(f,k)=>H(f,"channel",k,"search.messages.inChannel"),inRobot:(f,k)=>H(f,"robot",k,"search.messages.inRobot"),texts:async(f,k)=>(g("search.messages.texts"),ie(f,"text","search.messages.texts",b(k,"search.messages.texts"))),files:(f,k)=>ie(f,"file","search.messages.files",k),images:f=>ie(f,"image","search.messages.images"),videos:f=>ie(f,"video","search.messages.videos"),voices:f=>ie(f,"voice","search.messages.voices"),async next(f){let k=w(f,"message");return re(k)}}},resolveHistoryAnchor(f,k){if(!S||e.isAvailable?.()===false)return;let z=R(f,k),q=m.get(z);if(q!==void 0){if(q.expiresAt<=n()){m.delete(z);return}return q.anchor}},dispose(){S&&(S=false,I.clear(),m.clear());}}}function fd(e){let n=new Map,r=new Set,d=new Map,i=new Set,c=false,s=e.schedule??(v=>{let S=setTimeout(v,120);return ()=>clearTimeout(S)});function u(v,S,g){try{e.report(v,S,g);}catch{}}async function I(v){let S={conversationType:"channel",conversationId:v};r.add(v);try{for(let g=0;g<2;g+=1){let b=n.get(v);if(c||!e.isActive()||b===void 0||e.domainState.getConversationContext(S)===void 0){n.delete(v);return}if(e.domainState.hasPendingChannelRead(S)){i.add(v),u("channel-read-summary-deferred",S,{reason:"read-pending"});return}if(n.delete(v),e.domainState.getReadState(S)?.readCursor!==b)return;let R=e.domainState.getChannelReadRevision(S),D=Date.now(),h;try{h=await e.loadSummary({channelId:v,readCursor:b});}catch(w){!c&&e.isActive()&&u("channel-read-summary-failed",S,{reason:"request-failed",durationMs:Date.now()-D,errorName:w instanceof Error?w.name:"Unknown",errorCode:typeof w=="object"&&w!==null&&"code"in w&&typeof w.code=="string"?w.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(S)===void 0)return;if(e.domainState.hasPendingChannelRead(S)||e.domainState.getChannelReadRevision(S)!==R){if(u("channel-read-summary-discarded",S,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(S)){n.has(v)||n.set(v,b),i.add(v);return}if(g===0&&!n.has(v)&&!e.domainState.hasPendingChannelRead(S)&&e.domainState.getReadState(S)?.readCursor===b){n.set(v,b);continue}return}if(h===void 0||h.readCursor!==b){u("channel-read-summary-discarded",S,{reason:h===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(S,h),n.get(v)===b&&n.delete(v),u("channel-read-summary-applied",S,{unreadCount:h.unreadCount,durationMs:Date.now()-D});return}}finally{r.delete(v),n.has(v)&&!i.has(v)&&m(v);}}function m(v){c||i.has(v)||r.has(v)||d.has(v)||d.set(v,s(()=>{d.delete(v),I(v);}));}return {settled(v){i.delete(v.channelId),n.has(v.channelId)&&m(v.channelId);},request(v){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:v.channelId})||i.delete(v.channelId),n.set(v.channelId,v.readCursor),m(v.channelId));},dispose(){c=true;for(let v of d.values())v();d.clear(),n.clear(),i.clear();}}}function mr(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 gd(e,n){return {prepareLocalMediaPreview:async i=>{let c=await e.prepare({operationId:i.operationId,generation:n(),kind:i.kind,file:i.file,includePoster:i.kind==="video",...i.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},i.signal);return i.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 i=>{let c=await e.prepare({operationId:i.operationId,generation:n(),kind:"video",file:i.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},i.signal);return {width:c.width,height:c.height,...c.posterData===void 0?{}:{posterData:new Uint8Array(c.posterData)}}}}}function Id(e){function n(u){let I=0n;for(let m=0;m<10;m++){let v=u+m,S=e[v];if(S===void 0)return {ok:false,kind:"truncated-varint"};if(I|=BigInt(S&127)<<BigInt(m*7),(S&128)===0)return {ok:true,nextOffset:v+1,value:I}}return {ok:false,kind:"invalid-varint"}}let r=[],d,i=0;function c(u,I,m){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:I,protobufFailureOffset:m,protobufBytesRemaining:Math.max(0,e.length-m)}}function s(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;i<e.length;){let u=i,I=n(u);if(!I.ok)return c(I.kind==="truncated-varint"?"truncated":"invalid",I.kind==="truncated-varint"?"truncated-tag":I.kind,u);let m=Number(I.value>>3n),v=Number(I.value&0x07n);if(!Number.isSafeInteger(m)||m<=0)return c("invalid","invalid-field-number",u);if(i=I.nextOffset,v===0){let S=i,g=n(S);if(!g.ok)return c(g.kind==="truncated-varint"?"truncated":"invalid",g.kind,S);i=g.nextOffset;}else if(v===1){if(e.length-i<8)return c("truncated","truncated-fixed64",i);i+=8;}else if(v===2){let S=i,g=n(S);if(!g.ok)return c(g.kind==="truncated-varint"?"truncated":"invalid",g.kind==="truncated-varint"?"truncated-length":g.kind,S);if(g.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",S);i=g.nextOffset;let b=Number(g.value);if(b>e.length-i)return c("truncated","truncated-length-delimited",i);i+=b;}else if(v===5){if(e.length-i<4)return c("truncated","truncated-fixed32",i);i+=4;}else return c("invalid","invalid-wire-type",u);s(m);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function yd(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 hd(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 i=[],c=[],s=v=>{c.push({...v,source:"history"});},u=v=>{i.push(v);};if(n.conversationType==="group"){let v={...e.groupDecrypt(),onDecryptRecovery:s},S=Date.now(),g=await Ha$1({http:e.http,userId:d.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:S,direct:1,limit:30,decryptDeps:v,prepareKeys:e.prepareGroupKeys,onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});r.throwIfAborted();let b=g.batchSize<30||g.oldestEntryTime===void 0||g.oldestEntryTime>=S;return {messages:g.messages,reactions:i,recoveries:c,exhausted:b,...b?{}:{nextCursor:String(g.oldestEntryTime)}}}let I={...e.channelDecrypt(),onDecryptRecovery:s},m=await za({http:e.http,userId:d.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:I,prepareKey:v=>e.prepareChannelKeys([v]),onReaction:u,signal:r,keepRaw:false,yieldToEventLoop:b$1});return r.throwIfAborted(),{messages:m.messages,reactions:i,recoveries:c,exhausted:!m.hasOlder,...m.nextCursor===void 0?{}:{nextCursor:m.nextCursor}}}}var im=5*6e4,am=1440*6e4,wt=2*1024*1024,vd=20,it=class extends Error{constructor(r){super(r);this.reason=r;}reason};function Tn(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function sm(e,n){let r=new TextEncoder,d=new WeakSet,i=0,c=0,s=performance.now();async function u(){++c%64===0&&performance.now()-s>=4&&(await n(),s=performance.now());}async function I(m){if(!(i>wt))if(await u(),typeof m=="string"){i+=8;for(let v=0;v<m.length&&i<=wt;v+=16384)i+=r.encode(m.slice(v,v+16384)).byteLength,await u();}else if(m!==null&&typeof m=="object"){if(d.has(m))return;if(d.add(m),i+=32,ArrayBuffer.isView(m)||m instanceof ArrayBuffer){i+=m.byteLength;return}for(let v in m)if(Object.hasOwn(m,v)&&(await I(v),await I(m[v]),i>wt))break}else i+=8;}return await I(e),i}function Cd(e){let n=e.now??Date.now,r=new Map,d=new Map,i=new Map,c=new Map,s,u=true,I=0,m=new WeakMap,v=new WeakSet,S=new WeakMap,g=0,b=Promise.resolve();function E(f,k,z){try{e.report(f,{...k},{remainingNetworkPages:Math.max(0,vd-g),...z});}catch{}}function R(f,k=n()){return f===void 0?0:Math.max(0,k-f)}function D(f,k,z,q){let B=q?.diagnostics;E("recent-history-prefetch-result",f,{status:k,reason:z,queueDurationMs:R(B?.queuedAt,B?.startedAt),requestDurationMs:B?.requestDurationMs??R(B?.requestStartedAt),persistenceDurationMs:B?.persistenceDurationMs??R(B?.persistenceStartedAt)});}function h(f){let k=b.then(f,f);return b=k.catch(()=>{}),k}function w(f){if(!u||f.generation!==I||f.controller.signal.aborted||f.epoch!==(r.get(f.key)??0))return false;let k=e.fingerprint(f.ref);return k!==void 0&&(k===f.fingerprint||!a(f)&&[...f.consumers.values()].includes("foreground"))}function a(f){return f.cacheRevision===(d.get(f.key)??0)}function o(f){if(!w(f))throw Tn()}async function p(f,k=false){let z=Ha(f),q=r.get(z)??0,B={key:z,epoch:q,generation:I,cacheRevision:d.get(z)??0},$=I,_=e.fingerprint(f),U=x=>(E("recent-history-cache-miss",f,{reason:x,allowStale:k}),null);if(!u||_===void 0||e.cache===void 0)return U(u?_===void 0?"unavailable":"storage-unavailable":"disposed");if(await b,!u||$!==I||q!==(r.get(z)??0)||!a(B)||e.fingerprint(f)!==_)return U("invalidated");let P=await e.cache.get(f);return !u||$!==I||q!==(r.get(z)??0)||!a(B)||e.fingerprint(f)!==_?U("invalidated"):P===null?U("empty"):P.version!==2?U("version-mismatch"):Ha(P.conversation)!==z?U("identity-mismatch"):P.fingerprint!==_?U("fingerprint-mismatch"):P.fetchedAt>n()?U("future-timestamp"):n()-P.fetchedAt>(k?am:im)?U("expired"):(m.set(P,B),P)}async function M(f){o(f);try{let $=await p(f.ref);if(o(f),$!==null&&a(f))return f.diagnostics.source="cache",E("recent-history-cache-hit",f.ref),{page:$,durable:!0}}catch($){if(o(f),f.diagnostics.failureReason="cache-read-failed",E("recent-history-cache-read-failed",f.ref,{reason:"cache-read-failed"}),![...f.consumers.values()].includes("foreground"))throw $}if(![...f.consumers.values()].includes("foreground")){if(g>=vd)throw new it("budget");g+=1;}let z=n();f.diagnostics.source="network",f.diagnostics.requestStartedAt=z;let q;try{q=await e.fetchPage(f.ref,f.controller.signal);}catch($){throw f.diagnostics.failureReason="request-failed",$}finally{f.diagnostics.requestDurationMs=R(z);}o(f),await e.yieldToEventLoop(),o(f);let B={version:2,conversation:{...f.ref},fetchedAt:n(),fingerprint:f.fingerprint,messages:q.messages,reactions:q.reactions,exhausted:q.exhausted,...q.nextCursor===void 0?{}:{nextCursor:q.nextCursor},byteLength:0};if(m.set(B,{key:f.key,epoch:f.epoch,generation:f.generation,cacheRevision:f.cacheRevision}),q.recoveries!==void 0&&q.recoveries.length>0&&S.set(B,q.recoveries),S.has(B)||B.messages.some($=>$.encryption.decryptFailed===true))return v.add(B),{page:B,durable:false,reason:"decrypt-failed"};if(B.byteLength=await sm(B,e.yieldToEventLoop),o(f),E("recent-history-page-loaded",f.ref,{durationMs:n()-z,messageCount:B.messages.length,byteLength:B.byteLength}),B.byteLength>wt)return {page:B,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:B,durable:false,reason:"storage-unavailable"};if(!a(f))return {page:B,durable:false,reason:"invalidated"};f.diagnostics.persistenceStartedAt=n();try{let $=await h(async()=>(o(f),a(f)?e.cache.put(B):!1));return o(f),a(f)?{page:B,durable:$,...$?{}:{reason:"page-too-large"}}:{page:B,durable:!1,reason:"invalidated"}}catch($){return o(f),f.diagnostics.failureReason="cache-write-failed",E("recent-history-cache-write-failed",f.ref,{reason:"cache-write-failed"}),{page:B,durable:false,storageError:$}}finally{f.diagnostics.persistenceDurationMs=R(f.diagnostics.persistenceStartedAt);}}function C(f,k){f.started||(f.started=true,f.diagnostics.startedAt=n(),E("recent-history-prefetch-start",f.ref,{kind:k?"background":"foreground",queueDurationMs:R(f.diagnostics.queuedAt,f.diagnostics.startedAt)}),k&&(s=f),M(f).then(f.resolve,f.reject).finally(async()=>{i.get(f.key)===f&&i.delete(f.key),s===f&&(s=void 0),await e.yieldToEventLoop(),K();}));}function K(){if(!u||s!==void 0||c.size>0||!e.canRunBackground())return;let f=[...i.values()].find(k=>!k.started&&k.consumers.size>0);f!==void 0&&C(f,true);}function re(f,k,z){if(!u||z?.aborted===true)return k==="background"&&D(f,"cancelled","cancelled"),Promise.reject(Tn());let q=Ha(f),B=e.fingerprint(f);if(B===void 0)return k==="background"&&D(f,"skipped","unavailable"),Promise.reject(new it("unavailable"));let $=i.get(q);$!==void 0&&!w($)&&($.controller.abort(),$.reject(Tn()),i.delete(q),$=void 0);let _=$!==void 0;if($===void 0){let F,G,Y=new Promise((se,pe)=>{F=se,G=pe;});$={ref:{...f},key:q,fingerprint:B,generation:I,epoch:r.get(q)??0,cacheRevision:d.get(q)??0,controller:new AbortController,consumers:new Map,started:false,promise:Y,resolve:F,reject:G,diagnostics:{queuedAt:n()}},i.set(q,$);}let U=$,P=Symbol(k);U.consumers.set(P,k),k==="background"&&E("recent-history-prefetch-queued",f,{reason:_?"shared-request":"new-request"});let x=new Promise((F,G)=>{let Y=false,se=(me,fe)=>{Y||(Y=true,me?.durable&&!a(U)&&(me={...me,durable:false,reason:"invalidated"}),z?.removeEventListener("abort",pe),U.consumers.delete(P),U.consumers.size===0&&(U.controller.abort(),U.started||(i.get(U.key)===U&&i.delete(U.key),U.reject(Tn()))),k==="background"&&(fe instanceof it?D(f,"skipped",fe.reason,U):fe instanceof Error&&fe.name==="AbortError"?D(f,"cancelled","cancelled",U):fe!==void 0||me?.storageError!==void 0?D(f,"failed",U.diagnostics.failureReason??"request-failed",U):me?.durable===true?D(f,"ready",U.diagnostics.source==="cache"?"cache-hit":"persisted",U):D(f,"skipped",me?.reason??"not-persisted",U)),fe!==void 0?G(fe):F(me));};function pe(){se(void 0,Tn());}z?.addEventListener("abort",pe,{once:true}),U.promise.then(me=>se(me),me=>se(void 0,me));});return k==="foreground"?C(U,false):K(),x}function H(f){let k=Ha(f);c.set(k,(c.get(k)??0)+1),s!==void 0&&s.key!==k&&![...s.consumers.values()].includes("foreground")&&(s.controller.abort(),s.reject(Tn()));let z=false;return ()=>{if(z)return;z=true;let q=(c.get(k)??1)-1;q>0?c.set(k,q):c.delete(k),K();}}function ie(f,k={}){if(!u||f.conversationType!=="group"&&f.conversationType!=="channel")return;let z={...f,conversationType:f.conversationType},q=Ha(f);d.set(q,(d.get(q)??0)+1),k.preserveForeground||r.set(q,(r.get(q)??0)+1);let B=i.get(q);(!k.preserveForeground||!B||![...B.consumers.values()].includes("foreground"))&&(B?.controller.abort(),B?.reject(Tn()),i.delete(q)),E("recent-history-cache-invalidated",z,{reason:k.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),h(async()=>e.cache?.delete(z)).catch(()=>E("recent-history-cache-delete-failed",z,{reason:"cache-delete-failed"}));}function N(f){let k=m.get(f);return u&&k!==void 0&&k.generation===I&&k.epoch===(r.get(k.key)??0)}return {readCached:p,isPageCurrent:N,enterForeground:H,invalidate:ie,notifySchedulingChanged:K,takeRecoveries(f){if(!N(f))return [];let k=S.get(f)??[];return S.delete(f),k},async confirmConsumed(f){let k=e.fingerprint(f.conversation),z=m.get(f);if(!N(f)||z===void 0||!a(z)||v.has(f)||k===void 0||e.cache===void 0||k===f.fingerprint||f.byteLength>wt||f.messages.some($=>$.encryption.decryptFailed===true))return;let q=Ha(f.conversation),B=r.get(q)??0;await h(async()=>{N(f)&&a(z)&&B===(r.get(q)??0)&&e.fingerprint(f.conversation)===k&&await e.cache.put({...f,fingerprint:k});}).catch(()=>E("recent-history-cache-write-failed",f.conversation,{reason:"cache-write-failed"}));},async latest(f,k){return (await re(f,"foreground",k)).page},async prefetchRecent(f,k={}){let z=[];for(let[q,B]of f.entries()){if(q>0&&q%16===0&&await e.yieldToEventLoop(),k.signal?.aborted===true||!u){D(B,"cancelled","cancelled"),z.push({ref:B,status:"cancelled",reason:"cancelled"});continue}if(B.conversationType==="direct"||B.conversationType==="robot"){D(B,"skipped","unsupported"),z.push({ref:B,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){D(B,"skipped","storage-unavailable"),z.push({ref:B,status:"skipped",reason:"storage-unavailable"});continue}try{let $=await re({...B,conversationType:B.conversationType},"background",k.signal);if($.storageError!==void 0)throw $.storageError;z.push({ref:B,status:$.durable?"ready":"skipped",...$.reason===void 0?{}:{reason:$.reason}});}catch($){$ instanceof it?z.push({ref:B,status:"skipped",reason:$.reason}):$ instanceof Error&&$.name==="AbortError"?z.push({ref:B,status:"cancelled",reason:"cancelled"}):(E("recent-history-prefetch-failed",B,{reason:"prefetch-failed"}),z.push({ref:B,status:"failed",error:J({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:B,cause:$})}));}}return z},dispose(){u=false;for(let f of i.values())f.controller.abort(),f.reject(Tn());return i.clear(),b.then(()=>{})},async clear(){if(u){I+=1;for(let f of [...i.values()])ie(f.ref);await h(async()=>e.cache?.clear());}}}}function cm(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,i=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 i===void 0?void 0:Object.freeze({service:"core",kind:i,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function bd(e){let n=I=>v({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:I,getClientType:()=>e.clientType,fetch:r});function r(I,m){return d(),globalThis.fetch(I,m)}function d(){if(!e.isActive())throw J({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let I=e.coreClient,m=e.http??n(e.authProvider.getLoginContext);return {coreClient:I===void 0?void 0:async(v,S)=>{d();let g=await I(v,S);return d(),g},http:{async postProtobuf(v){d();let S=await m.postProtobuf(v);return d(),S}}}}async function i(I,m,v){if(!(!e.isActive()||v?.aborted||!m?.userId||!m.token))try{let S=await e.authProvider.getLoginContext();if(!e.isActive()||v?.aborted||S?.userId!==m.userId||S.token!==m.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(I))).catch(e.onHandlerError);}catch(S){e.onHandlerError(S);}}async function c(){let I=await e.authProvider.getLoginContext();return d(),I===null?null:{...I}}let s=e.coreClient;return {coreClient:s===void 0?void 0:async(I,m)=>{let v=await c(),S,g=await s(I,{...m,token:v?.token??"",skipBusinessResponseHandler:true,onResponse:E=>{S=E;}});if(d(),S===void 0)throw J({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let b=cm(S);return b!==void 0&&await i(b,v,m?.signal),g},http:{async postProtobuf(I){let m=await c(),v$1=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(v$1==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let S=e.http??v({getBaseUrl:()=>v$1,getAuth:async()=>m,getClientType:()=>e.clientType,fetch:r});try{d();let g=await S.postProtobuf(I);return d(),g}catch(g){throw await i(g instanceof wa?{service:"cm",kind:"http",httpStatus:g.status}:{service:"cm",kind:"network"},m,I.signal),g}}}}}var dm=2,at=30,lm=50,um=5,pm=20;function Md(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 mm(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 fm(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 Sd(e$1,n$2,r,d$1=0){let i$1=e$1.clientType??dm,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:i$1}}},s$1="",u$1=qr(e$1.debug,()=>({generation:d$1,...s$1===""?{}:{accountId:s$1}})),I=true,{coreClient:m$1,http:v}=bd({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:i$1,isActive:()=>I,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??db(),g=e$1.adapters?.storage,b=g?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:cb({namespaceFactory:r,mediaAssetCache:{strategies:nc()}})),E=t=>{let l=b?.saveDecryptRecovery;l!==void 0&&l(t).then(()=>To(t)).catch(O=>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:O}}));},R=mm(b)?b:void 0,D$2=Nc({...b===void 0?{}:{storage:b},...m$1===void 0?{}:{coreClient:m$1}}),h$1,w$1,a$1=Qs({...b===void 0?{}:{storage:b},conversationBackgrounds:D$2.api,onDirectReadReceiptDisabled:t=>h$1?.(t)}),o$1=0;function p$1(t){return o$1+=1,`channel-${t}-${d$1}-${o$1}`}let M=rb(u$1),C$1=(t,l,O=s$1)=>{let W=l.fromId===O?l.toId:l.fromId;mr(u$1,{conversation:{conversationType:"direct",conversationId:W},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}});},K=(t,l)=>{mr(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}});},re=(t,l)=>{mr(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}});},H=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 ie(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let N="empty",f$1=n$2.subscribe(t=>{if(I){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:Ls(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 k(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}let z$1=n$2.subscribe(t=>{b?.deleteDecryptRecovery!==void 0&&((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true?(async()=>{let O=(await b.getDecryptRecoveries?.(t.conversation)??[]).find(W=>W.messageId===t.message.id);O!==void 0&&k(O)||await b.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"?b.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"&&b.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}})));}),q=new Set,B="auto",$=false,_=false,U=0,P,x,F=false,G,Y,se=()=>{},pe=null,me=null,fe,Z,xe=0,he=false,Se=yd(t=>n$2.emit({type:"receiving:changed",receiving:t})),je=false,Fe,Je,Vn=new Map,rn=0,on=t=>Vn.get(t)??0,st=t=>{Vn.set(t,on(t)+1);};function _n(t){Z?.invalidate(t),t.conversationType==="channel"&&st(t.conversationId);}let un=e$1.profile??(m$1===void 0?void 0:C({client:m$1,clientType:i$1,...b===void 0?{}:{storage:b}})),an=e$1.channelProfile??(m$1===void 0?void 0:p({client:m$1,clientType:i$1,getUserId:async()=>s$1!==""?s$1:(await c.getLoginContext())?.userId??"",...b===void 0?{}:{storage:b}})),Dn=e$1.channelMembers??(m$1===void 0?void 0:t({client:m$1,clientType:i$1,isActive:()=>I,...b===void 0?{}:{storage:b}})),kn=e$1.channelMentionMembers??(m$1===void 0?void 0:u({client:m$1,clientType:i$1})),y=Oc({...kn===void 0?{}:{provider:kn},...b===void 0?{}:{storage:b}}),A$1=e$1.directory??(m$1===void 0?void 0:w({client:m$1,clientType:i$1,getUserId:async()=>s$1!==""?s$1:(await c.getLoginContext())?.userId??""})),T$1=Yc({...A$1===void 0?{}:{provider:A$1}}),j=pd({...m$1===void 0?{}:{search:t=>Ja(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),bind:t=>D$1(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}}),unbind:t=>E$1(m$1,{...t,...i$1===void 0?{}:{clientType:i$1}})}}),de=e$1.expressionProvider??A({...m$1===void 0?{}:{coreClient:m$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),ve=cd({provider:de,isActive:()=>I}),we=e$1.sessionFavoriteProvider??Sa({...m$1===void 0?{}:{coreClient:m$1},getUserId:()=>s$1}),Te=$s({provider:we,isActive:()=>I}),Pe=()=>{},Ue=cc({namespaceFactory:r,...b===void 0?{}:{storage:b},emitter:n$2,getAccountId:()=>s$1,isActive:()=>I,clearMemoryCaches:()=>{un?.clearCache?.(),an?.clearCache?.(),Dn?.clearCache?.(),y.clear(),Pe(),Z?.clear().catch(t=>n$2.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),nn=e$1.channelJoinApplications??(m$1===void 0?void 0:s({client:m$1,clientType:i$1})),hn=e$1.contactApplications??(m$1===void 0?void 0:l({client:m$1,clientType:i$1})),ho=e$1.groupApplications??(m$1===void 0?void 0:m({client:m$1,clientType:i$1})),V=La({emitter:n$2,diagnostics:u$1,profile:un,channelProfile:an,storage:b,getSelfId:()=>s$1,loadOlderFromRemote:async t=>{let l=Z?.enterForeground(t.conversation),O=Se.begin();try{return fe===void 0?{messages:[],exhausted:!0}:await fe(t)}finally{O(),l?.();}},loadNewerFromRemote:async t=>{let l=Z?.enterForeground(t.conversation),O=Se.begin();try{return Je===void 0?{messages:[],exhausted:!0}:await Je(t)}finally{O(),l?.();}}}),pn=Mc({directory:T$1.contacts,getSelfId:()=>s$1,...un===void 0?{}:{profile:un},...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2,terminateConversationSending:(t,l)=>se(t,l),resetDirectReadReceiptPreference:t=>a$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?w$1?.(t):l!=="unknown"&&h$1?.(t);}}),vo=_c({...hn===void 0?{}:{contact:hn},...ho===void 0?{}:{group:ho},...nn===void 0?{}:{channel:nn},onContactAccepted:async(t,l)=>{pn.updateRelationshipFromEvent(t,"friend"),await V.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),V.refreshConversationProfile(t,"direct");},emitter:n$2,isActive:()=>I&&N==="ready"}),fr=Xc({domainState:V,emitter:n$2,isActive:()=>I}),gr=md({domainState:V,isAvailable:()=>I&&N==="ready"}),_d=Sc(()=>V.getSessions()),Ye=e$1.crypto??i(),vn=e$1.media!==void 0?_a(e$1.media,u$1):void 0,Ir=Wa(),Dd=Va(Ir),{prepareLocalMediaPreview:Co,prepareLocalVideoPoster:kd}=gd(Ir,()=>d$1),dn=m$1===void 0?void 0:e({client:m$1,crypto:Ye,clientType:i$1,onError:(t,l)=>M?.("crypto",{message:t,cause:l})}),bo=m$1===void 0?void 0:h({client:m$1,clientType:i$1,onError:(t,l)=>M?.("crypto",{scope:"send-key",message:t,cause:l})}),Xe=m$1===void 0?void 0:f({client:m$1,crypto:Ye,clientType:i$1,onError:(t,l)=>M?.("crypto",{scope:"group-key",message:t,cause:l})}),Ce=e$1.channelKeyService??(m$1===void 0?void 0:a({loadSecretKey:t=>fa(m$1,{channelId:t,clientType:i$1}),onError:(t,l)=>M?.("crypto",{scope:"channel-key",message:t,cause:l})})),Mo=async(t,l={})=>{if(Ce===void 0)return;let O=Ce.getCachedChannelKey(t)===null;try{await Ce.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!O||!I))try{await kt({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(W){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:W}});}},So=async t=>Ce===void 0?null:Ce.getChannelKey(t),Po=t=>{if(Ce===void 0)return null;let l=Ce.getCachedChannelKey(t);return l===null&&Mo(t),l},yr=()=>dn?.getCachedPrivateKey(s$1)?.privateKey??null,Od=()=>({crypto:Ye,resolveChannelKey:Po,resolveUserPrivateKey:yr,onDecryptRecovery:E,onDecryptError:t=>{let l=Ce!==void 0&&b?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(re("live",{...t,forceRefreshAttempted:l}),!l)return;let O=Ce.getCachedChannelKey(t.channelId)??void 0;Ce.getChannelKey(t.channelId,{staleKey:O}).catch(()=>{});}}),bn=async(t,l={})=>{let O=[];Ce!==void 0&&O.push(...[...new Set(t)].map(W=>Mo(W,l))),dn!==void 0&&s$1!==""&&O.push(dn.getUserPrivateKey(s$1).catch(()=>null)),await Promise.all(O);},Mn=t=>({crypto:Ye,resolveChannelKey:l=>Ce?.getCachedChannelKey(l)??null,resolveUserPrivateKey:yr,onDecryptError:l=>re(t,l),onDecryptRecovery:E});function Tt(t){Xe!==void 0&&t!==""&&Xe.getGroupKeys(t);}let Ao=async t=>{if(Xe===void 0)return null;let l=await Xe.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},Ro=t=>{if(Xe===void 0)return null;let l=Xe.getCachedGroupKeys(t);return l!==null?l.privateKey:(Tt(t),null)},qn=async t=>{Xe!==void 0&&await Promise.all(t.map(l=>Xe.getGroupKeys(l).catch(()=>null)));},xd=()=>({crypto:Ye,resolvePrivateKey:({groupId:t})=>Ro(t),preparePrivateKey:async({groupId:t})=>Xe===void 0?null:(await Xe.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>K("live",t),onDecryptRecovery:E}),Wn=t=>({crypto:Ye,resolvePrivateKey:({groupId:l})=>Ro(l),onDecryptError:l=>K(t,l),onDecryptRecovery:E}),_t=new Map,$n=new Map,hr=new Set,vr=new Set;function Dt(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Nd(t,l){let O=Ha(t),W=$n.get(O)??new Set;W.add(l),$n.set(O,W);}function Eo(t){$n.delete(Ha(t));}function Ld(t,l){return t.length===l.length&&t.every((O,W)=>O===l[W])}function wo(t){if(t.conversation.conversationType==="group")return Xe?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function Jn(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 Fd(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 To(t){let l=`${t.conversation.conversationType}:${t.conversation.conversationId}:${t.messageId}`,O$1=_t.get(l);if(O$1!==void 0)return O$1;let W=(async()=>{let ue=V.getConversationMessage(t.conversation,t.messageId),ne=k(t);if(ue===void 0||ue.encryption.decryptFailed!==true&&!ne){await b?.deleteDecryptRecovery?.(t.conversation,t.messageId);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ue.senderId,messageCreatedAt:ue.createdAt,selfMessage:ue.senderId===s$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 ee,X,Q="key-resolve",te=Jn(t);for(let le of [false,true]){let Ae=le?"force":"current",_e;try{Q="bcontent";let Ie=d.decode(t.sContent);if(t.wireEncrypt===1){if(Ie.secretKey.length===0||Ie.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");Q="key-resolve";let Qe=le?{...typeof X=="string"?{staleKey:X}:{}}:void 0,Me=t.conversation.conversationType==="group"?(await Xe?.getGroupKeys(t.conversation.conversationId,Qe))?.privateKey??null:(await dn?.getUserPrivateKey(s$1,Qe))?.privateKey??null;le&&X!==void 0&&(_e=typeof X=="string"&&Me!==null&&X!==Me),_e===!0&&Eo(t.conversation),le||(X=Me);let tn=wo(t);if(Me===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:Jn(t),finalStage:Q,reason:"no-key",...tn===void 0?{}:{resolvedKeyVersion:tn},..._e===void 0?{}:{keyChanged:_e}}}));continue}Q="rsa";let L=Ye.rsaDecryptPkcs1({data:Ie.secretKey,privateKey:Me});if(L.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${L.length} < 16`);Q="tea";let oe=Ye.decryptSymmetric({teaKey:L,cipherData:Ie.cipherData});u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:Jn(t),rsaCipherBytes:Ie.secretKey.length,cipherDataBytes:Ie.cipherData.length,cipherDataBlockRemainder:Ie.cipherData.length%8,resolvedTeaBytes:L.length,plainBytes:oe.length,plainBlockRemainder:oe.length%8,startsWithContentTypeField:oe[0]===8,startsWithMobileCardType:oe[0]===8&&oe[1]===8,...Id(oe)}})),Q="bmessage",ee=c$1.decode(oe);}else if(t.conversation.conversationType==="channel"){if(Ie.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");Q="key-resolve";let Qe=le?{...X instanceof Uint8Array?{staleKey:X}:{}}:void 0,Me=Ce?.getChannelKeyCandidates===void 0?await Ce?.getChannelKey(t.conversation.conversationId,Qe).then(oe=>[{strategy:"canonical-base64-pad",key:oe}])??[]:await Ce.getChannelKeyCandidates(t.conversation.conversationId,Qe),tn=Ce?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);tn!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Ae,...tn}}));let L=Me.find(oe=>oe.strategy==="canonical-base64-pad")?.key??null;if(le&&X instanceof Uint8Array&&L!==null&&(_e=!Ld(X,L)),_e===!0&&Eo(t.conversation),le||(X=L?.slice()??null),Me.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:Jn(t),finalStage:Q,reason:"no-key",..._e===void 0?{}:{keyChanged:_e}}}));continue}for(let oe of Me)try{Q="tea";let Re=Ye.decryptSymmetric({teaKey:oe.key,cipherData:Ie.cipherData});Q="bmessage";let Ee=c$1.decode(Re);if(oe.strategy==="legacy-ascii16"&&!Fd(Ee))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");ee=Ee,te=oe.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:oe.strategy,finalStage:"recovered",reason:"recovered",..._e===void 0?{}:{keyChanged:_e}}}));break}catch(Re){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Ae,strategy:oe.strategy,finalStage:Q,reason:"decrypt-failed",..._e===void 0?{}:{keyChanged:_e}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Re}}));}}if(ee!==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:te,finalStage:"recovered",reason:"recovered",..._e===void 0?{}:{keyChanged:_e}}}));break}}catch(Ie){let Qe=wo(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:Jn(t),finalStage:Q,reason:"decrypt-failed",...Qe===void 0?{}:{resolvedKeyVersion:Qe},..._e===void 0?{}:{keyChanged:_e}},error:{message:"IM message decryption recovery failed",data:Ie}}));}}if(!I||ee===void 0){ee===void 0&&(Nd(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:Jn(t),attempts:2,finalStage:Q}})));return}let ae=V.getConversationMessage(t.conversation,t.messageId);if(ae===void 0||ae.encryption.decryptFailed!==true&&!ne)return;let ce=t.conversation.conversationType==="channel"&&(t.cmdId===12804||ee.contentType===101)?D({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(ae.serverTime??ae.createdAt),notifyType:ee.type,operatorId:ee.oprUserId,targetUserIds:ee.mnpledUserId,content:ee.content,...typeof ae.extensions?.historyCursor=="string"?{historyCursor:ae.extensions.historyCursor}:{},...typeof ae.extensions?.channelSequence=="string"?{sequence:BigInt(ae.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:ae.raw!==void 0}):{...O(ae,ee,s$1),...ne?{edited:true}:{}};V.upsertMessages([ce],"offline"),await b?.deleteDecryptRecovery?.(t.conversation,t.messageId);})().finally(()=>{_t.get(l)===W&&_t.delete(l);});return _t.set(l,W),W}async function kt(t,l={}){let O=Ha(t),W=await b?.getDecryptRecoveries?.(t)??[],ue=$n.get(O),ne=ue===void 0?W:W.filter(te=>!ue.has(te.messageId));if(await Promise.all(ne.map(To)),!I||l.recoverLegacyWithoutSidecar===false)return;let ee=$n.get(O),X=new Set(W.filter(te=>ee===void 0||!ee.has(te.messageId)).map(te=>te.messageId)),Q=V.getMessagesByConversation(t).filter(te=>te.encryption.decryptFailed===true&&!X.has(te.id));if(!(Q.length===0||hr.has(O))){hr.add(O),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:Q.length,withoutSidecar:Q.filter(te=>!W.some(ae=>ae.messageId===te.id)).length}}));try{if(t.conversationType==="channel"){let te=await c.getLoginContext();if(te===null||Fe===void 0)return;for(let ae of Q.slice(0,pm)){let ce=ae.extensions?.historyCursor;if(typeof ce!="string"||ce.trim()==="")continue;let le=await Fe(t.conversationId,ce,te.userId);if(!I)return;le.length>0&&V.upsertMessages(le,"offline");}}else t.conversationType==="group"?await Ud({conversationType:"group",conversationId:t.conversationId},Q):t.conversationType==="direct"&&await Vo();}catch(te){n$2.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:te}});}}}async function Ud(t,l){if(fe===void 0)return;let O=[...l].sort((X,Q)=>X.sortKey.localeCompare(Q.sortKey)),W=O[0],ue=O.at(-1);if(W===void 0||ue===void 0)return;let ne=W.serverTime??W.createdAt,ee;for(let X=0;X<um;X++){let Q=await fe({conversation:t,oldestLoaded:ue,...ee===void 0?{}:{cursor:ee},intent:"older",limit:lm});if(!I||Q.exhausted||Q.nextCursor===void 0)return;let te=Number(Q.nextCursor);if(Number.isFinite(te)&&te<=ne)return;ee=Q.nextCursor;}}let Ge=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function Cr(t,l=true){let O=t.channelPermissions,W=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,O===void 0?void 0:[O.sendMessages,O.mentionAll,O.editProfile,O.manageMembers,O.manageAdmins,O.moderateMessages,O.manageMute,O.dismissChannel,O.transferOwnership],!l||W===void 0?void 0:[W.role,W.baseState,W.resolvedState,W.allMembersMuted,W.currentUserMuted,W.mutePeriod]])}let br=new Map;function Ot(t){let l=V.getConversationContext(t);if(!I||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&Be(l.channelState))return;let O=V.getMessagesByConversation(t).at(-1);return JSON.stringify([s$1,O===void 0?l.timestamp:void 0,Cr(l),O?.id,O?.sortKey])}Z=Cd({...b?.recentHistoryCache===void 0?{}:{cache:b.recentHistoryCache},fingerprint:Ot,canRunBackground:Al,fetchPage:hd({http:v,authProvider:c,clientType:i$1,groupDecrypt:()=>Wn("history"),channelDecrypt:()=>Mn("history"),prepareGroupKeys:qn,prepareChannelKeys:t=>bn(t,{recoverExistingMessages:false})}),yieldToEventLoop:b$1,report:(t,l,O)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:O}))});let Kd=n$2.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(he=false),Z?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=Ha(t.conversation),O=br.get(l),W={timestamp:t.session.timestamp,access:Cr(t.session),capabilities:Cr(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(br.set(l,W),N==="ready"&&O!==void 0&&(O.access!==W.access||!je&&O.timestamp!==W.timestamp)){let ue=!O.hasSnapshot&&W.hasSnapshot&&(O.capabilities===W.capabilities||!O.hasPermissions&&O.state===W.state);Z?.invalidate(t.conversation,{preserveForeground:O.access===W.access||ue});}return}if(t.type==="session:removed"){br.delete(Ha(t.conversation)),N==="ready"&&Z?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){N==="ready"&&Z?.invalidate(t.conversation);return}N!=="ready"||je||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&Z?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function _o(t){je=true;try{t.messages.length>0&&V.upsertMessages(t.messages,"offline",{backfillOnly:!0});for(let l of t.reactions)Ge(l);for(let l of Z.takeRecoveries(t))E(l);}finally{je=false;}}fe=async({conversation:t,oldestLoaded:l,cursor:O,intent:W,limit:ue,signal:ne})=>{ne?.throwIfAborted();let{conversationId:ee}=t,X=V.getConversationContext(t);if(X===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(X.type==="direct"||X.type==="robot")return {messages:[],exhausted:true};if(W==="establish-latest"&&ue===30&&(X.type==="group"||X.type==="channel")){let Q={conversationType:X.type,conversationId:ee};if(Ot(Q)===void 0)return {messages:[],exhausted:true};let te=await Z.readCached(Q,true).catch(ce=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:Q,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:ce}})),null));te!==null&&Z.isPageCurrent(te)&&Date.now()-te.fetchedAt>5*6e4&&_o(te),ne?.throwIfAborted();let ae=await Z.latest(Q,ne).catch(ce=>{if(I&&Ot(Q)===void 0)return null;throw ce});if(ae===null)return {messages:[],exhausted:true};if(ne?.throwIfAborted(),!I||!Z.isPageCurrent(ae)||Ot(Q)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(_o(ae),await Z.confirmConsumed(ae),ne?.throwIfAborted(),!Z.isPageCurrent(ae))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:ae.messages,exhausted:ae.exhausted,...ae.nextCursor===void 0?{}:{nextCursor:ae.nextCursor},replaceWindow:true}}if(X.type==="group"){if(X.groupState!==void 0&&X.groupState!=="active")return {messages:[],exhausted:true};let Q=await c.getLoginContext();if(Q===null)return {messages:[],exhausted:true};let te=W==="establish-latest"?Date.now():O===void 0?l?.serverTime??l?.createdAt??Date.now():Md(O,ee),ae=await Ha$1({signal:ne,http:v,userId:Q.userId,clientType:i$1,groupId:ee,baseTime:te,direct:1,limit:ue,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ge});ne?.throwIfAborted(),ae.messages.length>0&&V.upsertMessages(ae.messages,"offline",{backfillOnly:true});let ce=ae.oldestEntryTime,le=ae.batchSize<ue||ce===void 0||ce>=te;return {messages:ae.messages,exhausted:le,...le?{}:{nextCursor:String(ce)},...W==="establish-latest"?{replaceWindow:true}:{}}}if(X.type==="channel"){let Q=p$1("history");if(X.channelState!==void 0&&Be(X.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:Q,data:{state:X.channelState}})),{messages:[],exhausted:true};let te=rn,ae=on(ee),ce=await c.getLoginContext();if(ce===null)return {messages:[],exhausted:true};if(W==="establish-latest"){let Ie=await za({signal:ne,http:v,userId:ce.userId,clientType:i$1,channelId:ee,count:at,operationId:Q,decryptDeps:Mn("history"),prepareKey:Ce===void 0&&dn===void 0?void 0:Me=>bn([Me]),onContentDecodeError:H,onReaction:Ge});ne?.throwIfAborted();let Qe=V.getConversationContext(t);return !I||te!==rn||ae!==on(ee)||Qe?.type!=="channel"||Qe.channelState!==void 0&&Be(Qe.channelState)?{messages:[],exhausted:true}:(ne?.throwIfAborted(),Ie.messages.length>0&&V.upsertMessages(Ie.messages,"offline",{backfillOnly:true}),{messages:Ie.messages,exhausted:!Ie.hasOlder,...Ie.nextCursor===void 0?{}:{nextCursor:Ie.nextCursor},replaceWindow:true})}let le=O??"";if(O===void 0&&l!==void 0){let Ie=l.extensions?.historyCursor;if(typeof Ie=="string"&&Ie.trim()!=="")le=Ie;else if(!fm(l,ce.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${ee}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:Q,data:{baseIndexPresent:le!=="",direction:1,contain:0,count:at,historyGeneration:te,historyEpoch:ae,clientTypeHeader:i$1,clientTypeBody:i$1}}));let Ae;try{Ae=await Aa({signal:ne,http:v,userId:ce.userId,clientType:i$1,channelId:ee,baseIndex:le,count:at,contain:0,operationId:Q,decryptDeps:Mn("history"),prepareKey:Ce===void 0&&dn===void 0?void 0:Ie=>bn([Ie]),onContentDecodeError:H,onReaction:Ge});}catch(Ie){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:Q,data:{baseIndexPresent:le!=="",direction:1,contain:0,count:at},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:Ie}})),Ie}ne?.throwIfAborted();let _e=V.getConversationContext(t);return !I||te!==rn||ae!==on(ee)||_e?.type!=="channel"||_e.channelState!==void 0&&Be(_e.channelState)?{messages:[],exhausted:true}:(ne?.throwIfAborted(),Ae.messages.length>0&&V.upsertMessages(Ae.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:Q,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${X.type}`)};let Mr=t=>{t.length>0&&V.upsertMessages(t,"offline",{backfillOnly:true});},Sr=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}},Bd=async t=>{let{userId:l}=await Sr(),O=await ua({http:v,userId:l,clientType:i$1,messageIds:t,decryptDeps:await _r(l),onReaction:Ge});return Mr(O.messages),{messages:O.messages,missingMessageIds:O.missingMessageIds}},Gd=async(t,l)=>{let{userId:O}=await Sr(),W=await va({http:v,userId:O,clientType:i$1,groupId:t,messageIds:l,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ge});return Mr(W.messages),{messages:W.messages,missingMessageIds:W.missingMessageIds}},Hd=async(t,l)=>{let{userId:O}=await Sr(),W=await wa$1({http:v,userId:O,clientType:i$1,channelId:t,messageIds:l,operationId:p$1("history"),decryptDeps:Mn("history"),prepareKey:Ce===void 0&&dn===void 0?void 0:ue=>bn([ue]),onContentDecodeError:H,onReaction:Ge});return Mr(W.messages),{messages:W.messages,missingMessageIds:W.missingMessageIds}},jd=ob([lb({includeOppositeEnd:true}),mb({resolveGroupKey:Ao}),kb({resolveChannelKey:So}),nb()]),zd=Xa$1([Ya(),Za(),_a$1()]),Vd=na([oa(),pa(),qa({resolveChannelKey:So,resolveProfile:t=>an?.getProfile(t)??Promise.resolve(null)})]),ze=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},Yn=()=>false,xt=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Do=()=>{},ct=()=>{},dt={...V,removeConversationForMembershipTermination:(t,l)=>{Do(t,l),t.conversationType==="group"?Xe?.clearGroupKeys(t.conversationId):Ce?.clearChannelKey(t.conversationId),V.removeConversationForMembershipTermination(t,l),D$2.api.resetBackground(t).catch(O=>n$2.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:O}}));}},lt=Oa({domainState:V,sendFrame:t=>ze(t),getSelfId:()=>s$1,isAuthenticated:()=>Yn(),reportReaction:t=>de.reportReaction(t),isEmojiSupported:Hs,logger:M});Ge=t=>{lt.ingest(t,"offline");};let qd=Pa({manager:lt,getSelfId:()=>s$1,logger:M}),Wd=gb({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>ze(t),getSelfId:()=>s$1,emitter:n$2,logger:M,keepRaw:true,decrypt:xd(),isActive:()=>I}),$d=bb({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>ze(t),getSelfId:()=>s$1,emitter:n$2,logger:M,keepRaw:true,decrypt:Od()}),Jd=hb({domainState:V,outbox:{onChatAck:t=>xt(t)},sendFrame:t=>ze(t),getSelfId:()=>s$1,emitter:n$2,logger:M,keepRaw:true}),Yd=ab({domainState:V,sendFrame:t=>ze(t),getSelfId:()=>s$1,emitter:n$2,logger:M,keepRaw:true,decrypt:{crypto:Ye,resolveChannelKey:Po,resolveUserPrivateKey:yr,onDecryptRecovery:E}}),Xd=$a({getSelfId:()=>s$1,sendFrame:t=>ze(t),emitter:n$2}),Qd=ib({emitter:n$2,getSelfId:()=>s$1}),Zd=eb({sendFrame:t=>ze(t),emitter:n$2,getSelfId:()=>s$1,domainState:{reconcileDirectContactEstablishedNotice:V.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){V.removeConversation(t);return}t.conversationType==="direct"&&se(t,"friend_relation_removed"),V.removeConversation(t);})},resetDirectReadReceiptPreference:t=>a$1.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:pn.updateRelationshipFromEvent}),el=jb({sendFrame:t=>ze(t),emitter:n$2,domainState:{applyTransferStatusBySerialNumber:V.applyTransferStatusBySerialNumber}}),nl=db$1({getSelfId:()=>s$1,sendFrame:t=>ze(t),emitter:n$2}),tl=cb$1({getSelfId:()=>s$1,domainState:V,sendFrame:t=>ze(t),emitter:n$2,onRelationshipChanged:pn.updateRelationshipFromEvent}),Pr=n({sendFrame:t=>ze(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Yn(),domainState:V}),Ar=z({sendFrame:t=>ze(t),emitter:n$2,getSelfId:()=>s$1,isAuthenticated:()=>Yn(),domainState:V}),ko=[...Pr.handlers,...Ar.commandHandlers],rl=2e3,ut,Rr=false,Oo=new Set;async function xo(){if(Rr||!I||!Yn())return;let t=await c.getLoginContext();if(t!==null){Rr=true;try{let l=[];for(;;){let O=await Ia({http:v,userId:t.userId,clientType:i$1,deliveredMsgIds:l});u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:O.items.length,cmdIds:O.items.map(W=>`0x${W.cmdId.toString(16)}`)}})),O.items.length===0&&n$2.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});for(let W of O.items){if(n$2.emit({type:"notification",cmdId:W.cmdId,name:"OFFLINE_SIGNAL"}),W.msgId!==""&&Oo.has(W.msgId))continue;W.msgId!==""&&Oo.add(W.msgId);let ue=ko.find(ne=>ne.command===W.cmdId);ue!==void 0&&ue.handler(W.cmdId,W.body);}if(O.deliveredMsgIds.length===0)break;l=O.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{Rr=false;}}}function ol(){xo(),ut===void 0&&(ut=setInterval(()=>{xo();},rl));}function No(){ut!==void 0&&clearInterval(ut),ut=void 0;}let il=fb({domainState:V,sendFrame:t=>ze(t),getSelfId:()=>s$1,emitter:n$2,logger:M,keepRaw:true}),al=Ma({domainState:dt,getSelfId:()=>s$1,prefetchGroupKey:Tt,clearGroupKeys:t=>{Xe?.clearGroupKeys(t);},clearConversationTermination:t=>ct(t)}),sl=n$2.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&al.handleMessage(t.message);}),Lo=Da({domainState:dt,getSelfId:()=>s$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:Ce!==void 0&&Ce.getCachedChannelKey(t)!==null}})),Ce!==void 0&&Ce.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=Ce!==void 0&&Ce.getCachedChannelKey(t)!==null;Ce?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>ct(t),stopChannelHistory:t=>{let l=on(t);st(t),V.messageWindow.info().conversationId===t&&V.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:on(t)}}));}}),cl=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(s$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:V.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),Lo.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),dl=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"]),ll=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),ul=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,O=l.body.system?.eventType;l.conversationType==="channel"&&O!==void 0&&(dl.has(O)&&Dn?.invalidateChannelMembers(l.conversationId).catch(W=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:W}});}),ll.has(O)&&y.invalidate(l.conversationId).catch(W=>{n$2.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:W}});}));}),Fo=Os({...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2}),Uo=hc({...m$1===void 0?{}:{coreClient:m$1},domainState:V,emitter:n$2}),On=vc({...nn===void 0?{}:{joinApplications:nn},http:v,clientType:i$1,buildOfflineDecrypt:()=>Mn("history"),onContentDecodeError:H,onReaction:Ge,...Ce===void 0&&dn===void 0?{}:{prepareKey:t=>bn([t])}});Fe=async(t,l,O)=>{let{context:W}=await On.loadMessageContext(t,l,O);return W.messages};let pl=Cc({authProvider:c,emitter:n$2,domainState:V,loadMessageContext:On.loadMessageContext,isActive:()=>I,getHistoryGeneration:()=>rn,getHistoryEpoch:on}),Er=fd({domainState:V,isActive:()=>I,loadSummary:async({channelId:t,readCursor:l})=>{let O=await c.getLoginContext();if(O===null||!I||O.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await xa$1({http:v,userId:O.userId,clientType:i$1,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(ue=>ue.channelId===t)},report:(t,l,O)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:O}))}),wr=Ra({domainState:V,updateReadIndex:async({channelId:t,readCursor:l})=>{let O=await c.getLoginContext();if(O===null||!I||O.userId!==s$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await T({http:v,userId:O.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$2,logger:M,onReadCommitted:Er.request,onReadSettled:Er.settled,syncRead:{getSelfId:()=>s$1,sendFrame:t=>ze(t)}}),ml=Qa({getSelfId:()=>s$1,applyRemoteRead:t=>wr.applyRemoteRead(t),emitter:n$2,logger:M}),fl=Va$1([Ua({domainState:V,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:v,userId:l.userId,groupId:t});},emitter:n$2,logger:M,isAuthenticated:()=>Yn(),syncRead:{getSelfId:()=>s$1,sendFrame:t=>ze(t)}}),wr,Wa$1({domainState:V})]),pt=tb({getSelfId:()=>s$1,sendFrame:t=>ze(t),onListenerError:()=>n$2.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),gl=n$2.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&pt.setAuthenticated(false);}),ge=pb({transport:S$1,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$2,domainState:V,logger:M,decrypt:{crypto:Ye,resolvePrivateKey:({msgType:t})=>t===1?dn?.getCachedPrivateKey(s$1)?.privateKey??null:null,onDecryptError:t=>C$1("live",t),onDecryptRecovery:E},encryptSend:bo===void 0&&Ce===void 0?void 0:{crypto:Ye,resolvePublicKey:t=>bo?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Ao},media:vn!==void 0?{transfer:vn,preview:Dd,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}}}));},...R===void 0?{}:{assetCache:R,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:jd,commandHandlers:[...pt.commandHandlers,...Zd,...Qd,...el,...nl,...tl,...ko,...qd,...Wd,...il,...$d,...Yd,...Xd,...ml,...Jd],readStrategies:fl,canSendDirectReadReceipt:t=>{if(!a$1.isDirectReadReceiptEnabled(t))return false;let l=pn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:zd,channelMessageDeletion:{resolveProfile:t=>an?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>V.refreshConversationProfile(t,"channel")},editStrategies:Vd,storage:b,onAuthenticated:()=>{pt.setAuthenticated(true);let t=$;$=true,(t||B==="auto")&&Go().catch(()=>{}),ol();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);h$1=t=>ge.suppressDirectReadReceipts(t),w$1=t=>ge.resumeDirectReadReceipts(t),ze=ge.sendFrame,Yn=()=>ge.state==="authenticated",xt=ge.onChatAck,se=ge.terminateConversationSending,Do=ge.markOutboxConversationTerminated,ct=ge.clearOutboxConversationTerminated;let Ko=ac({operations:{getPending:ge.getPendingOutbox,retry:ge.retryOutboxMessage,cancel:ge.cancelOutboxMessage},emitter:n$2,isActive:()=>I}),ke=Rc({connection:ge,domainState:V,crypto:Ye,...vn===void 0?{}:{mediaTransfer:vn},prepareDirectReadReceipt:async t=>{try{await pn.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}}});}}}),Tr=oc({connection:ge,domainState:V,emitter:n$2,isActive:()=>I,preparePreview:Co,prepareVideoPoster:kd,onLocalPreviewError:({kind:t,byteLength:l,cause:O})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:d$1,data:{kind:t,byteLength:l},error:{message:O instanceof Error?O.message:String(O)}}));},...R===void 0?{}:{assetCache:R,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}}}));}},...vn===void 0?{}:{loaders:{loadImage:ke.operations.loadImage,loadVideo:ke.operations.loadVideo,loadVoice:ke.operations.loadVoice,loadFile:ke.operations.loadFile}}});Pe=()=>{ge.invalidateMediaAssetCacheWrites(),Tr.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(ge.setConnectionAllowed(false),P=$a$1({onChange:(t,l)=>{if(!t)return F=true,ge.setConnectionAllowed(false),I?(yl(),zo({localData:"preserve"},{requireStorageClose:true,notifyReplacement:l==="replaced"}).then(()=>{})):Y?.then(()=>{})},onError:t=>{G=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 Il(t){if(!(P===void 0||!I)){if(!F){x??=P.start(r.forAccount(t).name("ephemeral","connection",`client-${i$1}`));let l=await x;if(!I)return;if(I&&!F&&l&&P.owned){ge.setConnectionAllowed(true);return}}throw ge.setConnectionAllowed(false),await ge.connect(),G!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:G}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let Nt=ab$1({onOnline:()=>ge.notifyOnline(),onOffline:()=>ge.notifyOffline(),onVisible:()=>ge.notifyVisible(),onPageHide:()=>{_&&ge.suspendForPageLifecycle();},onPageShow:()=>{_&&(ge.resumeFromPageLifecycle(),ge.notifyVisible());}},e$1.network);function yl(){I=false,Se.dispose(),Z?.dispose(),_=false,U+=1,Nt.stop();}let hl=n$2.subscribe(t=>{!I||t.type!=="auth:invalid"||(_=false,U+=1,F=P!==void 0,P?.terminate(),Nt.stop());});async function _r(t){let l=await dn?.getUserPrivateKey(t)??null;return {crypto:Ye,resolvePrivateKey:({msgType:O})=>O===1?l?.privateKey??null:null,onDecryptError:O=>C$1("offline",O,t),onDecryptRecovery:E}}function Bo(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:O,limit:W})=>{let ue=await c.getLoginContext();if(ue===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let ne=await _r(ue.userId);return l({http:v,userId:ue.userId,clientType:i$1,decryptDeps:ne,deliveredMsgInfos:O,...W===void 0?{}:{limit:W},onReaction:Ge})}}}let vl=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let O=await c.getLoginContext();if(O===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Fa({http:v,userId:O.userId,clientType:i$1,decryptDeps:Wn("offline"),prepareKeys:qn,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:Ge})}});async function Cl(){let t=await c.getLoginContext();if(t===null)return;let l=await Ga({http:v,userId:t.userId,clientType:i$1,decryptDeps:Wn("offline"),prepareKeys:qn,onReaction:Ge});for(let O of l.unreads)V.applyServerUnread({conversationType:"group",conversationId:O.groupId},O.unreadCount),Tt(O.groupId);l.messages.length>0&&V.upsertMessages(l.messages,"offline");}async function bl(){let t=p$1("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:i$1,sessionsClientTypeBody:"absent",offlineClientTypeBody:i$1}}));try{await Ml(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 Ml(t){if(an===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 O=await an.listProfiles({forceRefresh:true});if(O.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let W=new Map(O.map(L=>[L.id,L]));for(let L of O){if(ie(L.channelState)){Ce?.clearChannelKey(L.id),dt.removeConversationForMembershipTermination({conversationType:"channel",conversationId:L.id},`channel_${L.channelState}`);continue}let oe=L.permissions.sendMessages?void 0:`channel_${L.channelState}`;V.setChannelRestriction(L.id,L.channelState,oe,{permissions:L.permissions,...L.accessSnapshot===void 0?{}:{snapshot:L.accessSnapshot}}),V.updateConversationProfile({conversationType:"channel",conversationId:L.id},{title:L.name,avatar:L.avatar}),L.muted!==void 0&&V.setMuted({conversationType:"channel",conversationId:L.id},L.muted);}let ue=new Map(O.map(L=>{let oe={conversationType:"channel",conversationId:L.id},Re=V.getReadState(oe),Ee=V.getSession(oe);return [L.id,{revision:V.getChannelReadRevision(oe),pending:V.hasPendingChannelRead(oe),readCursor:Re?.readCursor??Ee?.readCursor??"",unreadCount:Ee?.unreadCount??Re?.unreadCount??0,mentionUnreadCount:Ee?.mentionUnreadCount??Re?.mentionUnreadCount??0}]})),ne=O.map(L=>({channelId:L.id,readCursor:ue.get(L.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:ne.length,channelsWithReadCursor:ne.filter(L=>L.readCursor!=="").length,clientTypeHeader:i$1,clientTypeBody:i$1}}));let ee=await xa$1({http:v,userId:l.userId,clientType:i$1,channels:ne,operationId:t,decryptDeps:Mn("offline"),prepareKeys:L=>bn(L.filter(oe=>{let Re=W.get(oe)?.channelState;return Re===void 0||!Be(Re)})),onContentDecodeError:H,onReaction:Ge});u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:ee.length,lastMessageCount:ee.filter(L=>L.last!==void 0).length,decryptFailedLastCount:ee.filter(L=>L.last?.encryption.decryptFailed===true).length,unknownContentLastCount:ee.filter(L=>L.last?.contentType==="unknown"&&L.last.encryption.decryptFailed!==true).length}}));let X=new Set(ee.filter(L=>{let oe=ue.get(L.channelId),Re={conversationType:"channel",conversationId:L.channelId},Ee=V.getReadState(Re),Cn=V.getSession(Re);return oe===void 0||oe.pending||V.hasPendingChannelRead(Re)||V.getChannelReadRevision(Re)!==oe.revision||(Ee?.readCursor??Cn?.readCursor??"")!==oe.readCursor||(Cn?.unreadCount??Ee?.unreadCount??0)!==oe.unreadCount||(Cn?.mentionUnreadCount??Ee?.mentionUnreadCount??0)!==oe.mentionUnreadCount}).map(L=>L.channelId)),Q=ee.filter(L=>V.getConversationContext({conversationType:"channel",conversationId:L.channelId})!==void 0).map(L=>{let Re=W.get(L.channelId)?.channelState,Ee=Re!==void 0&&Be(Re)?Re:Be(L.channelState)?L.channelState:Re??L.channelState,Cn=Ee==="active"?void 0:Ee===L.channelState?L.sendDisabledReason:`channel_${Ee}`;return {...L,channelState:Ee,sendDisabledReason:Cn}});for(let L of Q){let oe=W.get(L.channelId);V.setChannelRestriction(L.channelId,L.channelState,L.sendDisabledReason,oe===void 0?void 0:{permissions:oe.permissions,...oe.accessSnapshot===void 0?{}:{snapshot:oe.accessSnapshot}}),oe!==void 0&&(V.updateConversationProfile({conversationType:"channel",conversationId:L.channelId},{title:oe.name,avatar:oe.avatar}),oe.muted!==void 0&&V.setMuted({conversationType:"channel",conversationId:L.channelId},oe.muted)),X.has(L.channelId)||V.applyChannelReadSummary({conversationType:"channel",conversationId:L.channelId},L),Be(L.channelState)&&Ce?.clearChannelKey(L.channelId);}let te=Q.filter(L=>!X.has(L.channelId)&&!Be(L.channelState)&&L.unreadCount>0&&L.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let L={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let oe of Q)X.has(oe.channelId)?L.staleRead+=1:Be(oe.channelState)?L.historyBlocked+=1:oe.unreadCount<=0?L.zeroUnread+=1:oe.readCursor===""&&(L.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:Q.length,eligibleChannelCount:te.length,staleReadSkippedCount:L.staleRead,historyBlockedSkippedCount:L.historyBlocked,zeroUnreadSkippedCount:L.zeroUnread,emptyReadCursorSkippedCount:L.emptyReadCursor,direction:0,contain:0,count:at}}});let ae=await ya$1({http:v,userId:l.userId,clientType:i$1,operationId:t,pulls:te.map(L=>({channelId:L.channelId,baseIndex:L.readCursor})),messageCount:at,decryptDeps:Mn("offline"),prepareKeys:bn,onContentDecodeError:H,onReaction:Ge}),ce=Q.flatMap(L=>{let oe=L.last;if(oe===void 0||Dt(oe))return [];let Re=oe.extensions?.historyCursor;return [{summary:L,last:oe,historyCursor:typeof Re=="string"?Re.trim():""}]}),le=(L,oe)=>`${L}:${oe}`,Ae=new Map,_e=new Set;for(let{summary:L,last:oe}of ce){let Re=V.getConversationMessage({conversationType:"channel",conversationId:L.channelId},oe.id);if(Re===void 0||!Dt(Re))continue;let Ee=le(L.channelId,oe.id);Ae.set(Ee,Re),_e.add(Ee);}for(let L of ae)Dt(L)&&Ae.set(le(L.conversationId,L.id),L);let Ie=ce.filter(({summary:L,last:oe,historyCursor:Re})=>Re!==""&&!X.has(L.channelId)&&!Be(L.channelState)&&!Ae.has(le(oe.conversationId,oe.id))&&!vr.has(le(oe.conversationId,oe.id))),Qe=ce.filter(({summary:L,last:oe})=>!X.has(L.channelId)&&!Be(L.channelState)&&!_e.has(le(oe.conversationId,oe.id))&&Ae.has(le(oe.conversationId,oe.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:ce.length,decryptFailedLastCount:ce.filter(({last:L})=>L.encryption.decryptFailed===true).length,unknownContentLastCount:ce.filter(({last:L})=>L.contentType==="unknown"&&L.encryption.decryptFailed!==true).length,localRecoveredCount:_e.size,offlineRecoveredCount:Qe,contextRecoveryCount:Ie.length,staleReadSkippedCount:ce.filter(L=>X.has(L.summary.channelId)).length,historyBlockedSkippedCount:ce.filter(L=>Be(L.summary.channelState)).length,missingHistoryCursorCount:ce.filter(L=>L.historyCursor==="").length}}));let Me=await Promise.all(Ie.map(async({summary:L,last:oe,historyCursor:Re})=>{try{let{message:Ee}=await On.loadMessageContext(L.channelId,Re,l.userId),Cn=V.getConversationContext({conversationType:"channel",conversationId:L.channelId});if(!I||Cn?.type!=="channel"||Cn.channelState!==void 0&&Be(Cn.channelState))return;if(Ee.conversationType!=="channel"||Ee.conversationId!==L.channelId||Ee.id!==oe.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${L.channelId}, messageId=${oe.id}\uFF09`);if(!Dt(Ee)){if(Ee.contentType==="unknown"&&Ee.encryption.decryptFailed!==!0){vr.add(le(Ee.conversationId,Ee.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:L.channelId},data:{messageId:oe.id,reason:Ee.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${L.channelId}, messageId=${oe.id}\uFF09`)}return Ee}catch(Ee){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:L.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:Ee},data:{messageId:oe.id}}));return}}));for(let L of Me)L!==void 0&&Ae.set(le(L.conversationId,L.id),L);let tn=[...Q.flatMap(L=>L.last===void 0?[]:[Ae.get(le(L.channelId,L.last.id))??L.last]),...ae];tn.length>0&&V.upsertMessages(tn,"offline",{applyChannelLifecycleEffects:true}),u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:O.length,terminalProfileCount:O.filter(L=>ie(L.channelState)).length,sessionCount:ee.length,acceptedSessionCount:Q.length,sessionLastCount:Q.filter(L=>L.last!==void 0).length,recoveredSessionLastCount:ce.filter(({last:L})=>Ae.has(le(L.conversationId,L.id))).length,offlineMessageCount:ae.length}}));}let mt=null,Dr=false;function Sl(){return mt!==null?(Dr=true,mt):(mt=(async()=>{let l;do{Dr=false,l=void 0;try{await bl();}catch(O){l=O;}}while(Dr);if(l!==void 0)throw l})().finally(()=>{mt=null;}),mt)}let Pl=yb({pullers:[Bo("chat",Ba),Bo("owner_chat",Ca),vl()],domainState:V,emitter:n$2,logger:M,yieldToEventLoop:b$1});function Al(){return I&&N==="ready"&&he&&xe===0&&ge.state==="authenticated"}async function Go(){if(P!==void 0&&(!P.owned||F))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=Se.begin(),l=Cl().catch(W=>n$2.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:W}})),O=Sl().catch(W=>n$2.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:W}}));xe+=1;try{let ue=(await Promise.allSettled([Pl.sync(),l,O])).find(ne=>ne.status==="rejected");if(ue?.status==="rejected")throw ue.reason}finally{t(),xe-=1,he=ge.state==="authenticated",Z?.notifySchedulingChanged();}}async function Rl(){if(N==="ready")return;N="preparing";let t=await c.getLoginContext();if(I){if(t!==null){if(await Il(t.userId),!I)return;if(s$1=t.userId,dn!==void 0&&dn.getUserPrivateKey(t.userId),b!==void 0)try{if(await b.open({namespace:t.userId}),!I)return;try{await a$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(!I||(await V.hydrate(()=>I),!I))return;for(let l of V.getSessions())l.title===""&&l.type!=="supergroup"&&V.refreshConversationProfile(l.id,l.type);if(await ge.hydrateOutbox(()=>I),!I)return}catch(l){n$2.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!I)return;if(Xe!==void 0)for(let l of V.getSessions())l.type==="group"&&Tt(l.id);}I&&(N="ready");}}function Ho(){if(F)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(N==="ready")return Promise.resolve();if(pe!==null)return pe;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),pe=Rl().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(()=>{pe=null;}),pe}function El(t){if(F)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!I||F)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(_=true,ge.state==="authenticated")return Promise.resolve();if(me!==null)return me;B=t?.initialSync??"auto",$=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:B}}));let O=U;return me=(async()=>{await Ho(),!(!I||!_||O!==U)&&(Nt.start(),await ge.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(W=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:W}})),W}).finally(()=>{me=null;}),me}function jo(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),_=false,U+=1,No(),ge.disconnect(t),Nt.stop();}function zo(t,l={}){if(Y!==void 0)return Y;let O,W;return Y=new Promise((ue,ne)=>{O=ue,W=ne;}),wl(t,l).then(O,W),Y}async function wl(t,l){let O=Date.now();u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),I=false,Se.dispose(),Er.dispose(),l.notifyReplacement&&n$2.emit({type:"session:replaced"});let W=Z?.dispose();Kd(),gl(),pt.dispose(),No(),Pr.dispose(),Ar.dispose(),lt.dispose(),Ko.dispose(),Tr.dispose(),Ir.dispose(),vo.dispose(),pn.dispose(),ge.disposeMediaTasks();for(let te of q)te.close();q.clear(),rn+=1,ge.markOutboxForLogout(t?.pendingMessages??"fail"),Fo.dispose(),Uo.dispose(),On.dispose(),y.dispose(),T$1.dispose(),j.dispose(),D$2.dispose();let ue=a$1.dispose();fr.dispose(),gr.dispose(),sl(),cl(),ul(),Lo.dispose(),wr.reset(),Ce?.clearAll(),$n.clear(),hr.clear(),vr.clear(),jo("im-logout"),(l.requireStorageClose||P?.owned===true)&&await pe?.catch(()=>{}),await V.invalidateAndDrainDraftOperations(),await ue,await W,V.clearSession();let ne=t?.localData==="purge"?s$1:"",ee,X,Q=true;if(b!==void 0)try{await b.close();}catch(te){Q=false,ne!==""&&(ee=te),l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:ne===""?"\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:te}});}if(ne!==""&&Q)try{g!==void 0?await g.purgeCurrentAccount({namespaceFactory:r,accountId:ne}):await bb$1(ne,{namespaceFactory:r}),X=ne;}catch(te){ee=te,l.reportStorageErrors!==false&&n$2.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:te}});}if(N="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-O,data:{purgedAccountId:X,purgeFailed:ee!==void 0}})),z$1(),f$1(),hl(),F=true,(l.requireStorageClose||P!==void 0)&&!Q)throw new Error("Previous chat page could not close its account storage");return P?.stop(),{...X===void 0?{}:{purgedAccountId:X},...ee===void 0?{}:{purgeError:ee}}}function Tl(){return {sessionState:N,connectionState:ge.state,...s$1!==""?{userId:s$1}:{},prepared:N==="ready",connectionDesired:_,authenticated:ge.state==="authenticated",receiving:Se.receiving}}function _l(t){return n$2.subscribe(t)}function Dl(){return {connectionState:ge.state,pendingOutbox:ge.getPendingOutbox()}}function kl(){return V.getConversationList()}Je=async({conversation:t,newestLoaded:l,cursor:O,limit:W,signal:ue})=>{ue?.throwIfAborted();let{conversationId:ne}=t,ee=V.getConversationContext(t);if(ee===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ne}\uFF09`);if(ee.type==="direct"||ee.type==="robot")return {messages:[],exhausted:true};if(ee.type==="group"){if(ee.groupState!==void 0&&ee.groupState!=="active")return {messages:[],exhausted:true};let X=await c.getLoginContext();if(X===null)return {messages:[],exhausted:true};let Q=O===void 0?l?.serverTime??l?.createdAt:Md(O,ne);if(Q===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${ne}, messageId=${l?.id??""}\uFF09`);let te=await Ha$1({signal:ue,http:v,userId:X.userId,clientType:i$1,groupId:ne,baseTime:Q,direct:2,limit:W,decryptDeps:Wn("history"),prepareKeys:qn,onReaction:Ge});ue?.throwIfAborted(),te.messages.length>0&&V.upsertMessages(te.messages,"offline",{backfillOnly:true});let ae=te.newestEntryTime,ce=te.batchSize<W||ae===void 0||ae<=Q;return {messages:te.messages,exhausted:ce,...ce?{}:{nextCursor:String(ae)}}}if(ee.type==="channel"){if(ee.channelState!==void 0&&Be(ee.channelState))return {messages:[],exhausted:true};let X=O??l?.extensions?.historyCursor;if(typeof X!="string"||X.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${ne}, messageId=${l?.id??""}\uFF09`);let Q=rn,te=on(ne),ae=await c.getLoginContext();if(ae===null)return {messages:[],exhausted:true};let ce=O===void 0?(await On.loadMessageContext(ne,X,ae.userId,ue)).context:await On.loadNewerPage(ne,X,ae.userId,ue);ue?.throwIfAborted();let le=V.getConversationContext(t);return !I||Q!==rn||te!==on(ne)||le?.type!=="channel"||le.channelState!==void 0&&Be(le.channelState)?{messages:[],exhausted:true}:(ce.messages.length>0&&V.upsertMessages(ce.messages,"offline",{backfillOnly:true}),{messages:ce.messages,exhausted:!ce.hasNewer,...!ce.hasNewer||ce.nextCursor===void 0?{}:{nextCursor:ce.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${ee.type}`)};function Ol(t){let l=t.conversationId,O=s$1,W=rn,ue=on(l),ne,ee;return async({readCursor:X,cursor:Q,signal:te,isCurrent:ae})=>{let ce=()=>{let Me=V.getConversationContext(t);return I&&s$1===O&&ae()&&W===rn&&ue===on(l)&&Me?.type==="channel"&&(Me.channelState===void 0||!Be(Me.channelState))};if(te.throwIfAborted(),!ce()||Q!==void 0&&(ne!==X||ee===void 0))return;let le=await c.getLoginContext();if(te.throwIfAborted(),le===null||le.userId!==O||!ce())return;let Ae=[],_e=[],Ie=await S({http:v,userId:le.userId,clientType:i$1,channelId:l,index:Q??X,containAnchor:Q===void 0,signal:te,decryptDeps:{...Mn("history"),onDecryptRecovery:Me=>_e.push({...Me,source:"history"})},prepareKey:Me=>bn([Me],{recoverExistingMessages:false}),onContentDecodeError:H,onReaction:Me=>Ae.push(Me)});if(te.throwIfAborted(),!ce())return;if(Q===void 0){let Me=Ie.messages.find(tn=>tn.extensions?.historyCursor===X);if(Me===void 0)return;ne=X,ee=Me.sortKey;}if(ee===void 0||(Ie.messages.length>0&&V.upsertMessages(Ie.messages,"offline",{backfillOnly:true}),!ce()))return;for(let Me of Ae){if(!ce())return;Ge(Me);}for(let Me of _e){if(!ce())return;E(Me);}return ce()?{messages:Ie.messages.map(Me=>{let tn=V.getConversationMessage(t,Me.id);if(tn===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return tn}),readCursorSortKey:ee,exhausted:!Ie.hasNewer,...Ie.nextCursor===void 0?{}:{nextCursor:Ie.nextCursor}}:void 0}}async function Vo(){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 _r(t.userId),O=await Da$1({http:v,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),W=await Ea({http:v,userId:t.userId,clientType:i$1,decryptDeps:l,onReaction:Ge}),ue=[...O,...W];return V.upsertMessages(ue,"offline"),ue}async function xl(){await Go();}let Nl=2;function sn(t){let l=J({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Ll(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Fl(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 qo(t){if(!I)throw sn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Ul(t){let l=t?.conversationType,O=t?.conversationId;if(l==="supergroup")throw sn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof O!="string"||O.trim()==="")throw sn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:O.trim()})}function Xn(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 Kl(t){let l=Ul(t);if(qo(l),V.getSession(l)!==void 0)return l;let O=Se.begin(),W=false,ue=n$2.subscribe(ee=>{ee.type==="session:removed"&&ee.conversation.conversationType===l.conversationType&&ee.conversation.conversationId===l.conversationId&&(W=true);}),ne=()=>{if(qo(l),W)throw sn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let ae=T$1.peekItem("individual",l.conversationId);if(ae!==void 0)return V.prepareConversation(Xn(l,{title:ae.displayName||ae.cardDisplayName,...ae.avatarUrl===void 0?{}:{avatar:ae.avatarUrl}})),l;let ce=await pn.getRelationship(l.conversationId);if(ne(),ce!=="friend")throw sn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:ce})});let le=await pn.getProfile(l.conversationId);if(ne(),le===null||le.id!==l.conversationId)throw sn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return V.prepareConversation(Xn(l,{title:le.remark??le.nickname,...le.avatar===void 0?{}:{avatar:le.avatar},...le.muted===void 0?{}:{muted:le.muted}})),l}if(l.conversationType==="group"){let ae=V.isMembershipTerminated(l),ce=T$1.peekItem("group",l.conversationId);if(ce!==void 0&&!ae)return V.prepareConversation(Xn(l,{title:ce.displayName||ce.cardDisplayName,...ce.avatarUrl===void 0?{}:{avatar:ce.avatarUrl},groupState:"active"})),l;if(un===void 0)throw sn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let le=await un.getGroupProfile(l.conversationId,ae?{forceRefresh:!0}:void 0);if(ne(),le===null||le.id!==l.conversationId)throw sn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(le.isInGroup===!1||ae&&le.isInGroup!==!0||le.status!==void 0&&le.status!==Nl)throw sn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...le.status===void 0?{}:{status:le.status},...le.isInGroup===void 0?{}:{isInGroup:le.isInGroup}})});return V.prepareConversation(Xn(l,{title:le.name,...le.avatar===void 0?{}:{avatar:le.avatar},...le.muted===void 0?{}:{muted:le.muted},groupState:"active"}),{membershipConfirmed:ae}),ae&&(ne(),ct({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let ae=j.peek(l.conversationId);return V.prepareConversation(Xn(l,{title:ae?.displayName??l.conversationId,...ae?.avatarUrl===void 0?{}:{avatar:ae.avatarUrl}})),l}if(an===void 0)throw sn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let ee=V.isMembershipTerminated(l),X=await an.getProfile(l.conversationId,ee?{forceRefresh:!0}:void 0);if(ne(),X===null||X.id!==l.conversationId)throw sn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let Q=X.channelState==="active"||X.channelState==="muted",te=X.channelState==="muted"&&X.accessSnapshot?.allMembersMuted===!0&&X.role!=="owner"&&X.role!=="admin";if(!Q||te)throw sn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:X.channelState,role:X.role,hiddenByAllMemberMute:te})});return V.prepareConversation(Xn(l,{title:X.name,...X.avatar===void 0?{}:{avatar:X.avatar},...X.muted===void 0?{}:{muted:X.muted},channelState:X.channelState,channelPermissions:X.permissions,...X.accessSnapshot===void 0?{}:{channelAccessSnapshot:X.accessSnapshot},...X.permissions.sendMessages?{}:{sendDisabledReason:`channel_${X.channelState}`}}),{membershipConfirmed:ee}),ee&&(ne(),ct({conversationType:"channel",conversationId:l.conversationId})),l}catch(ee){if(Ll(ee))throw ee;let X=Fl(ee);throw sn({...X,conversation:l,cause:ee})}finally{ue(),O();}}let ft={...Pc({...m$1===void 0?{}:{coreClient:m$1},authProvider:c,http:v,resolveInput:_d,domainState:V,operations:{list:kl,pullOffline:Vo,sync:xl,prefetchRecent:(t,l)=>Z.prefetchRecent(t,l)},beforeDeleteConversation:_n,terminateConversationSending:(t,l)=>ge.terminateConversationSending(t,l),resetConversationBackground:t=>D$2.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")}),...D$2.api,ensureOpenableConversation:Kl,getContext:t=>V.getConversationContext(t)};function Bl(t){let l={...t,close(){t.close(),q.delete(l);}};return lr(l,t),q.add(l),l}function Lt(t){if(!I)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return Bl(t)}async function Gl(t,l={}){if(!I)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let O=Z?.enterForeground(t),W=Se.begin();try{let ue={beginReceiving:Se.begin,domainState:V,invalidateHistory:_n,emitter:n$2,drafts:fr.api,sendText:ke.operations.sendText,sendContact:ke.operations.sendContact,sendImage:ke.operations.sendImage,sendVideo:ke.operations.sendVideo,sendVoice:ke.operations.sendVoice,sendFile:ke.operations.sendFile,sendGif:ke.operations.sendGif,sendMediaAlbum:ke.operations.sendMediaAlbum,sendExpression:ke.operations.sendExpression,sendGame:ke.operations.sendGame,sendMiniProgram:ke.operations.sendMiniProgram,sendTransfer:ke.operations.sendTransfer,sendGift:ke.operations.sendGift,replaceVideo:ke.operations.replaceInterruptedVideo,replaceFile:ke.operations.replaceInterruptedFile,forwardMessages:ke.operations.forwardMessages,recallMessage:ke.operations.recallMessage,editMessage:ke.operations.editMessage,setReaction:({conversation:ne,parentMessageId:ee,emoji:X,action:Q})=>{if(ne.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let te={conversationType:ne.conversationType,conversationId:ne.conversationId};return Q==="toggle"?lt.toggle({conversation:te,parentMessageId:ee,emoji:X}):lt.set({conversation:te,parentMessageId:ee,emoji:X,action:Q==="add"?0:1})},markRead:ke.operations.markRead,markDirectMediaConsumed:ke.operations.markDirectMediaConsumed,prepareMediaPreview:Co,getSelfId:()=>s$1,isOutboxOwned:ne=>ge.getPendingOutbox().some(ee=>ee.id===ne),hasOutboxForConversation:ne=>ge.getPendingOutbox().some(ee=>ee.conversationType===ne.conversationType&&ee.conversationId===ne.conversationId),resolveSearchHistoryAnchor:gr.resolveHistoryAnchor};switch(t.conversationType){case "direct":{let ne={conversationType:"direct",conversationId:t.conversationId},ee=await Vc(ne,{...ue,getRelationship:pn.getRelationship,shouldCheckRelationship:()=>ge.state==="authenticated",appendContactRequiredTextFailure:Q=>V.appendDirectContactRequiredTextFailure({conversationId:Q.conversationId,senderId:s$1,text:Q.text,...Q.refMessageId===void 0?{}:{refMessageId:Q.refMessageId}}),setMuted:(Q,te)=>ft.setMuted(Q,te),fetchMessagesByIdBatch:Bd},l),X=Lt(ee);return kt(ne),X}case "group":{let ne={conversationType:"group",conversationId:t.conversationId},ee=await qc(ne,{...ue,getSendPermissionError:Q=>{let te=V.getConversationContext(ne),ae=te?.type==="group"?te.groupState:"unknown";if(!(ae===void 0||ae==="active"))return J({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:Q,retryable:!1,conversation:ne,details:Object.freeze({groupState:ae})})},setMuted:(Q,te)=>ft.setMuted(Q,te),fetchMessagesByIdBatch:Q=>Gd(ne.conversationId,Q)},l),X=Lt(ee);return kt(ne),X}case "channel":{let ne={conversationType:"channel",conversationId:t.conversationId},ee=await Jc(ne,{...ue,loadEntryUnreadPage:Ol(ne),getSelfId:()=>s$1,deleteMessageForEveryone:ge.deleteChannelMessageForEveryone,reconcilePage:pl.reconcilePage,getSendPermissionError:Q=>{let te=V.getConversationContext(ne),ae=te?.type==="channel"&&te.channelState!==void 0?te.channelState:"unknown_restricted",ce=Ca$1({channelState:ae,nowMs:Date.now(),...te?.type!=="channel"||te.channelAccessSnapshot===void 0?{}:{snapshot:te.channelAccessSnapshot},...te?.type!=="channel"||te.channelPermissions===void 0?{}:{permissions:te.channelPermissions}});if(!(ce.channelState==="active"&&ce.permissions.sendMessages))return J({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:Q,retryable:!1,conversation:ne,details:Object.freeze({channelState:ce.channelState,...ce.muteReason===void 0?{}:{muteReason:ce.muteReason}})})},setMuted:(Q,te)=>ft.setMuted(Q,te),fetchMessagesByIdBatch:Q=>Hd(ne.conversationId,Q)},l),X=Lt(ee);return kt(ne),X}case "robot":{let ne={conversationType:"robot",conversationId:t.conversationId},ee=await Wc(ne,{...ue,setMuted:(X,Q)=>ft.setMuted(X,Q)},l);return Lt(ee)}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{W(),O?.();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await ke.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:Gl,localData:Ue,directory:T$1.search,robots:j.api,search:gr.api,applications:vo.api,expressions:ve.api,sessionFavorites:Te.api,outbox:Ko.api,drafts:fr.api,connection:Ec({operations:{prepare:Ho,connect:El,disconnect:jo,subscribe:_l,getSnapshot:Dl,getLifecycle:Tl},getState:()=>ge.state}),conversations:ft,settings:a$1.api,push:pt.api,contact:pn,group:xs({directory:T$1.groups,...un===void 0?{}:{profile:un},...m$1===void 0?{}:{coreClient:m$1},...vn===void 0?{}:{avatarTransfer:vn},domainState:{...dt,prepareConversation:t=>V.prepareConversation(t)},emitter:n$2,pinned:Fo.operations}),channel:bc({directory:T$1.channels,...an===void 0?{}:{channelProfile:an},...Dn===void 0?{}:{channelMembers:Dn},...kn===void 0?{}:{channelMentionMembers:kn},mentionCandidates:y.api,applications:On.applications,pinned:Uo.operations,...m$1===void 0?{}:{coreClient:m$1},...vn===void 0?{}:{avatarTransfer:vn},crypto:Ye,domainState:{prepareConversation:t=>V.prepareConversation(t),setChannelRestriction:V.setChannelRestriction,removeConversationForMembershipTermination:dt.removeConversationForMembershipTermination,updateConversationProfile:V.updateConversationProfile,refreshConversationProfile:V.refreshConversationProfile},emitter:n$2,...Ce===void 0?{}:{cacheCreatedSecretKey:(t,l)=>Ce.primeChannelKey(t,l)},getSelfUserId:async()=>s$1!==""?s$1:(await c.getLoginContext())?.userId??""}),media:Tr.api,calls:Dc(Pr),groupCalls:dd(Ar),teardown:zo}}function gm(e){let n=Im(e);return Rd(Ed(n),e.coreApi!==void 0)}function RI(e){return Ed(ym(e))}function Im(e){return {...Pd(e),...e.coreApi===void 0?{}:{coreClient:Ad(e.authProvider,e.coreApi)}}}function Pd(e){let{authProvider:n,cache:r,clientType:d,connection:i,debug:c,endpointProvider:s,expressions:u,media:I,onRequestError:m}=e;return {authProvider:n,onRequestError:m,cache:r,clientType:d,connection:i,debug:c,endpointProvider:s,expressions:u,media:I}}function ym(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:s,coreApi:u,coreClient:I,directory:m,expressionProvider:v,sessionFavoriteProvider:S,http:g,network:b,profile:E,groupApplications:R,transport:D}=e;return {...Pd(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:i,channelProfile:c,contactApplications:s,directory:m,expressionProvider:v,sessionFavoriteProvider:S,...I!==void 0?{coreClient:I}:u===void 0?{}:{coreClient:Ad(e.authProvider,u)},http:g,network:b,profile:E,groupApplications:R,transport:D}}function Ad(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 Rd(e,n){let r=ec({getCompatibilityApi:()=>e.conversations,subscribeEvents:a=>e.connection.subscribe(a),getSessionState:()=>e.session.getSnapshot().sessionState}),d={getSnapshot:()=>e.media.getSnapshot(),subscribe:a=>e.media.subscribe(a),cancel:a=>e.media.cancel(a),retry:a=>e.media.retry(a),download:a=>e.media.download(a),getCached:a=>e.media.getCached(a),prepareLocalPreview:a=>e.media.prepareLocalPreview(a),prepareLocalVideoPoster:a=>e.media.prepareLocalVideoPoster(a)},i=a=>Promise.reject(J({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false}));async function c(a,o,p){if(!n)return i(a);try{return await o()}catch(M){throw ro(M,a,p)}}function s(a,o,p){if(!n)throw J({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:a,retryable:false,conversation:p});try{return o()}catch(M){throw ro(M,a,p)}}let u,I=a=>c("contacts.getRelationship",()=>e.contacts.getRelationship(a)),m=(a,o)=>c("groups.getProfile",async()=>{let p=await e.groups.getProfile(a,o);return p===null?null:mc(a,p)},a),v=(a,o)=>c("channels.getProfile",async()=>{let p=await e.channels.getProfile(a,o);return p===null?null:fc(a,p)},a),S={listFirstPage:a=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(a)),listNextPage:a=>c("contacts.listNextPage",()=>e.contacts.listNextPage(a)),getProfile:(a,o)=>c("contacts.getProfile",async()=>{let p=await e.contacts.getProfile(a,o);return p===null?null:pc(a,p)}),getRelationship:async a=>{let o=a.trim(),p={conversationType:"direct",conversationId:o},M=u?.beginProjectionUpdate(p),C=await I(a);return M!==void 0&&u?.updateRelationshipProjection(o,C,M),C},setRemark:(a,o)=>c("contacts.setRemark",()=>e.contacts.setRemark(a,{...o.name===void 0?{}:{name:o.name},...o.emails===void 0?{}:{email:[...o.emails]},...o.phones===void 0?{}:{phones:o.phones.map(p=>({countryCode:p.countryCode,mobile:p.mobile}))}})),searchUser:a=>c("contacts.searchUser",()=>e.contacts.searchUser(a)),requestFriendship:(a,o)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(a,o)),blockUser:a=>c("contacts.blockUser",()=>e.contacts.blockUser(a),{conversationType:"direct",conversationId:a}),reportUser:(a,o)=>c("contacts.reportUser",()=>e.contacts.reportUser(a,o),{conversationType:"direct",conversationId:a}),deleteFriendship:a=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(a),{conversationType:"direct",conversationId:a})},g={search:a=>c("directory.search",()=>e.directory.search(a))},b={listFirstPage:a=>c("groups.listFirstPage",()=>e.groups.listFirstPage(a)),listNextPage:a=>c("groups.listNextPage",()=>e.groups.listNextPage(a)),uploadAvatar:a=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(a)),create:a=>c("groups.create",()=>e.groups.create(a)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>i("groups.mentions.listAll"),refreshAll:()=>i("groups.mentions.refreshAll")},getProfile:async(a,o)=>{let p=u?.beginProjectionUpdate(a),M=await m(a,o);return p!==void 0&&u?.updateGroupProfileProjection(a,M,p),M},updateName:(a,o)=>c("groups.updateName",()=>e.groups.updateName(a,o),a),updateAvatar:(a,o)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(a,o),a),setMyNickname:(a,o)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(a,o),a),updateVerification:(a,o,p)=>c("groups.updateVerification",()=>e.groups.updateVerification(a,o,p),a),requestJoin:(a,o)=>c("groups.requestJoin",()=>e.group.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(a.conversationId,o),a),inviteMembers:(a,o)=>c("groups.inviteMembers",()=>e.group.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>c("groups.removeMember",()=>e.group.removeMember(a.conversationId,o),a),transferOwnership:(a,o)=>c("groups.transferOwnership",()=>e.group.transferOwnership(a.conversationId,o),a),leave:(a,o)=>c("groups.leave",()=>e.group.leave(a.conversationId,o),a),peekPinnedMessage:a=>s("groups.peekPinnedMessage",()=>{let o=e.group.peekPinnedMessage(a.conversationId);return o===null?null:sr(a,o)},a),getPinnedMessage:a=>c("groups.getPinnedMessage",async()=>{let o=await e.groups.getPinnedMessage(a);return o===null?null:sr(a,o)},a),pinMessage:(a,o)=>c("groups.pinMessage",async()=>{let p=await e.groups.pinMessage(a,o);return sr(a,p)},a),unpinMessage:a=>c("groups.unpinMessage",()=>e.groups.unpinMessage(a),a)},E={listFirstPage:a=>c("channels.listFirstPage",()=>e.channels.listFirstPage(a)),listNextPage:a=>c("channels.listNextPage",()=>e.channels.listNextPage(a)),uploadAvatar:a=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(a)),create:a=>c("channels.create",()=>e.channels.create(a)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>i("channels.mentions.getCachedPage"),prefetchFirstPage:()=>i("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>i("channels.mentions.refreshFirstPage"),listFirstPage:()=>i("channels.mentions.listFirstPage"),listNextPage:()=>i("channels.mentions.listNextPage"),searchFirstPage:()=>i("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>i("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>i("channels.mentions.searchNextPage")},getProfile:async(a,o)=>{let p=u?.beginProjectionUpdate(a),M=await v(a,o);return p!==void 0&&u?.updateChannelProfileProjection(a,M,p),M},updateName:(a,o)=>c("channels.updateName",()=>e.channel.updateName(a.conversationId,o),a),updateDescription:(a,o)=>c("channels.updateDescription",()=>e.channel.updateDescription(a.conversationId,o),a),updateAvatar:(a,o)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(a.conversationId,o),a),updateVerification:(a,o,p)=>c("channels.updateVerification",()=>e.channels.updateVerification(a,o,p),a),requestJoin:(a,o)=>c("channels.requestJoin",()=>e.channel.requestJoin(a.conversationId,o),a),joinByInviteCode:(a,o)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(a.conversationId,o),a),setAllMuted:(a,o)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(a.conversationId,o),a),setMemberPrivateChatDisabled:(a,o)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(a.conversationId,o),a),setMyNickname:(a,o)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(a.conversationId,o),a),setMemberNickname:(a,o,p)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(a.conversationId,o,p),a),inviteMembers:(a,o)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(a.conversationId,o),a),removeMember:(a,o)=>c("channels.removeMember",()=>e.channel.removeMember(a.conversationId,o),a),addAdmin:(a,o)=>c("channels.addAdmin",()=>e.channel.addAdmin(a.conversationId,o),a),removeAdmin:(a,o)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(a.conversationId,o),a),transferOwnership:(a,o)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(a.conversationId,o),a),leave:(a,o)=>c("channels.leave",()=>e.channel.leave(a.conversationId,o),a),dismiss:a=>c("channels.dismiss",()=>e.channel.dismiss(a.conversationId),a),peekPinnedMessage:a=>s("channels.peekPinnedMessage",()=>{let o=e.channel.peekPinnedMessage(a.conversationId);return o===null?null:cr(a,o)},a),getPinnedMessage:a=>c("channels.getPinnedMessage",async()=>{let o=await e.channels.getPinnedMessage(a);return o===null?null:cr(a,o)},a),pinMessage:(a,o)=>c("channels.pinMessage",async()=>{let p=await e.channels.pinMessage(a,o);return cr(a,p)},a),unpinMessage:a=>c("channels.unpinMessage",()=>e.channels.unpinMessage(a),a)},R=Zs({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:a=>{let o=e.conversations.getContext(a);return o===void 0?void 0:rr({...o,draft:null})},subscribeConversations:a=>r.api.subscribe(o=>a(o.items)),subscribeContext:a=>e.connection.subscribe(o=>{o.type==="conversation-context:updated"&&o.conversation.conversationType!=="supergroup"&&a({conversationType:o.conversation.conversationType,conversationId:o.conversation.conversationId});}),getRelationship:I,getGroupProfile:m,getChannelProfile:v});u=R;let D=Object.freeze({start:a=>e.session.start(a),stop:a=>e.session.stop(a),logout:async a=>{R.reset();try{await e.session.logout(a);}finally{R.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:a=>e.session.subscribe(a)});async function h(a,o={}){let p=e.conversations,M=e.openConversation,C=await p.ensureOpenableConversation(a);return C.conversationType==="direct"?M({conversationType:"direct",conversationId:C.conversationId},o):C.conversationType==="group"?M({conversationType:"group",conversationId:C.conversationId},o):C.conversationType==="robot"?M({conversationType:"robot",conversationId:C.conversationId},o):M({conversationType:"channel",conversationId:C.conversationId},o)}let w={get session(){return D},get capabilities(){return R.api},get conversations(){return r.api},get directory(){return g},get robots(){return e.robots},get contacts(){return S},get groups(){return b},get channels(){return E},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:h,dispose:async()=>{R.dispose(),r.dispose(),await e.dispose();}};return oo(w,()=>yc(e)),w}function EI(e,n){return Rd(e,n.coreApiAvailable)}function Ed(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=sb(),i=0,c=()=>Sd(e,d,r,i++),s=c(),u=false,I;async function m(a){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(a),s=c();}async function v(){if(u)throw Bn({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let a=await s.localData.getInfo(),o;try{o=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(p){throw s=c(),Bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:p})}if(s=c(),o.purgedAccountId!==a.accountScope)throw Bn({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:o.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 S=dc({getRuntime:()=>s.localData,purgeCurrentAccount:v}),g={start:a=>s.connection.connect(a),stop:async a=>{s.connection.disconnect(a);},logout:m,getSnapshot:()=>s.connection.getLifecycle(),subscribe:a=>(a(s.connection.getLifecycle()),s.connection.subscribe(o=>{(o.type==="connection:changed"||o.type==="receiving:changed")&&a(s.connection.getLifecycle());}))},b$1=sc({subscribeCore:a=>s.connection.subscribe(a),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:a=>{let o=s.conversations.list().find(p=>p.type===a.conversationType&&p.id===a.conversationId);return o===void 0?void 0:rr(o)},resolveContactApplicationAnswer:async a=>{let o=s,p=await o.contact.resolveApplicationAnswer(a.peerId,a.messageId);return s===o?p:null}}),E={listFirstPage:a=>s.contact.listFirstPage(a),listNextPage:a=>s.contact.listNextPage(a),getProfile:(a,o)=>s.contact.getProfile(a,o),getRelationship:a=>s.contact.getRelationship(a),setRemark:(a,o)=>s.contact.setRemark(a,o),searchUser:a=>s.contact.searchUser(a),requestFriendship:(a,o)=>s.contact.requestFriendship(a,o),blockUser:a=>s.contact.blockUser(a),reportUser:(a,o)=>s.contact.reportUser(a,o),deleteFriendship:a=>s.contact.deleteFriendship(a)},R={listFirstPage:a=>s.group.listFirstPage(a),listNextPage:a=>s.group.listNextPage(a),uploadAvatar:a=>s.group.uploadAvatar(a),create:a=>s.group.create(a),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(a,o)=>s.group.getProfile(a.conversationId,o),updateName:(a,o)=>s.group.updateName(a.conversationId,o),updateAvatar:async(a,o)=>{await s.group.updateAvatar(a.conversationId,o);},setMyNickname:(a,o)=>s.group.setMyNickname(a.conversationId,o),updateVerification:(a,o,p)=>s.group.updateVerification(a.conversationId,o,p),requestJoin:(a,o)=>s.group.requestJoin(a.conversationId,o),joinByInviteCode:(a,o)=>s.group.joinByInviteCode(a.conversationId,o),getPinnedMessage:a=>s.group.getPinnedMessage(a.conversationId),pinMessage:(a,o)=>s.group.pinMessage({groupId:a.conversationId,messageId:o}),unpinMessage:a=>s.group.unpinMessage(a.conversationId)},D={listFirstPage:a=>s.channel.listFirstPage(a),listNextPage:a=>s.channel.listNextPage(a),uploadAvatar:a=>s.channel.uploadAvatar(a),create:a=>s.channel.create(a),get mentions(){return s.channel.mentions},getProfile:(a,o)=>s.channel.getProfile(a.conversationId,o),updateVerification:(a,o,p)=>s.channel.updateVerification(a.conversationId,o,p),requestJoin:(a,o)=>s.channel.requestJoin(a.conversationId,o),joinByInviteCode:(a,o)=>s.channel.joinByInviteCode(a.conversationId,o),setAllMuted:(a,o)=>s.channel.setAllMuted(a.conversationId,o),setMemberPrivateChatDisabled:(a,o)=>s.channel.setMemberPrivateChatDisabled(a.conversationId,o),setMyNickname:(a,o)=>s.channel.setMyNickname(a.conversationId,o),setMemberNickname:(a,o,p)=>s.channel.setMemberNickname(a.conversationId,o,p),dismiss:a=>s.channel.dismiss(a.conversationId),getPinnedMessage:a=>s.channel.getPinnedMessage(a.conversationId),pinMessage:(a,o)=>s.channel.pinMessage({channelId:a.conversationId,messageId:o}),unpinMessage:a=>s.channel.unpinMessage(a.conversationId)};function h(){return I!==void 0||(u=true,I=s.teardown({localData:"preserve"}).then(()=>d.clear())),I}let w={get session(){return g},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get robots(){return s.robots},get contacts(){return E},get groups(){return R},get channels(){return D},get events(){return b$1},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get groupCalls(){return s.groupCalls},get settings(){return s.settings},get push(){return s.push},get outbox(){return s.outbox},get localData(){return S},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get sessionFavorites(){return s.sessionFavorites},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:m,dispose:h};return oo(w,()=>s.advancedMessageDiagnostics),w}var hm=new TextEncoder;function wd(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 Td(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))Td(r,n);return Object.freeze(e)}function vm(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:Td(n),estimatedBytes:hm.encode(r).byteLength}}catch{return}}function Cm(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 bm(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&&Cm(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 Mm(e={}){let n=wd(e.maxRecords,200,"maxRecords"),r=wd(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,i=[],c=0,s=0,u=false;function I(S){let g=i.map(b=>b.record).filter(b=>S===void 0||bm(b,S));return Object.freeze({records:Object.freeze(g),droppedCount:s,estimatedBytes:c,disposed:u})}function m(){let S=I();for(let g of d)try{g(S);}catch{}}function v(){i.length=0,c=0,s=0;}return {write(S){if(u)return;let g=vm(S);if(g===void 0||g.estimatedBytes>r){s+=1,m();return}for(i.push(g),c+=g.estimatedBytes;i.length>n||c>r;){let b=i.shift();if(b===void 0)break;c-=b.estimatedBytes,s+=1;}m();},getSnapshot:I,subscribe(S){if(u)return ()=>{};d.add(S);let g=true;return ()=>{g&&(g=false,d.delete(S));}},clear(){u||(v(),m());},dispose(){u||(u=true,v(),d.clear());}}}function Sm(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 i(s){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(!(s.file instanceof Blob))return Promise.reject(new Xa("upload-source-invalid","Resource upload requires a File or Blob"));if(s.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let I=new AbortController,m=()=>I.abort();s.signal?.addEventListener("abort",m,{once:true});let v=true,S=()=>{if(I.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},g=s.filename??(typeof File<"u"&&s.file instanceof File?s.file.name:void 0),b=(async()=>{try{let E=await u.uploadResource({data:s.file,kind:s.kind,...g===void 0?{}:{filename:g},...s.file.type===""?{}:{mimeType:s.file.type},signal:I.signal,onProgress:R=>{v&&!I.signal.aborted&&s.onProgress?.(R);}});if(S(),E.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:E.url}}catch(E){throw E instanceof Xa&&E.code==="multipart-abort-failed"||S(),E}finally{v=false,s.signal?.removeEventListener("abort",m);}})();return r.set(I,b),b.then(()=>r.delete(I),()=>r.delete(I)),b}function c(){if(d!==void 0)return d;n=void 0;let s=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(s).then(()=>{}),d}return {upload:i,dispose:c}}export{Hl as a,nc as b,be as c,Xt as d,Ql as e,Zt as f,Fs as g,Us as h,qr as i,Wr as j,Gs as k,er as l,Jr as m,tr as n,gm as o,RI as p,EI as q,Mm as r,Sm as s};
|