k2-im 0.1.16 → 0.1.17

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.
@@ -0,0 +1 @@
1
+ import {h as h$1,n,b as b$1,g,o}from'./chunk-FA3RKHIR.js';import {Ua,B as B$1,Ta}from'./chunk-K6P5ZYHG.js';import {ma,a as a$1,b,ia,ta}from'./chunk-KTWXKQ4J.js';import {a}from'./chunk-WOT6VMZA.js';var fn=14,un="game:rps",mn="game:dice";function Le(e){if(e.stableKey.length===0||e.stableKey.trim()!==e.stableKey)throw new TypeError("Emoji recent item \u9700\u8981\u975E\u7A7A\u4E14\u65E0\u9996\u5C3E\u7A7A\u767D\u7684 stableKey")}function gn(e,t){Le(t);let n=new Set([t.stableKey]),r=[t];for(let o of e)if(Le(o),!n.has(o.stableKey)&&(n.add(o.stableKey),r.push(o),r.length===14))break;return Object.freeze(r)}var Fe=["0x1f600","0x1f603","0x1f604","0x1f601","0x1f606","0x1f605","0x1f923","0x1f602","0x1f642","0x1f643","0x1f609","0x1f60a","0x1f607","0x1f970","0x1f60d","0x1f929","0x1f618","0x1f617","0x1f61a","0x1f619","0x1f60b","0x1f61b","0x1f61c","0x1f92a","0x1f61d","0x1f911","0x1f917","0x1f92d","0x1f92b","0x1f914","0x1f910","0x1f928","0x1f610","0x1f611","0x1f636","0x1f60f","0x1f612","0x1f644","0x1f62c","0x1f925","0x1f60c","0x1f614","0x1f62a","0x1f924","0x1f634","0x1f637","0x1f912","0x1f915","0x1f922","0x1f92e","0x1f927","0x1f975","0x1f976","0x1f974","0x1f635","0x1f92f","0x1f920","0x1f973","0x1f60e","0x1f913","0x1f9d0","0x1f615","0x1f61f","0x1f641","0x1f62e","0x1f62f","0x1f632","0x1f633","0x1f97a","0x1f626","0x1f627","0x1f628","0x1f630","0x1f625","0x1f622","0x1f62d","0x1f631","0x1f616","0x1f623","0x1f61e","0x1f613","0x1f629","0x1f62b","0x1f971","0x1f624","0x1f621","0x1f620","0x1f92c","0x1f608","0x1f47f","0x1f480","0x1f4a9","0x1f921","0x1f479","0x1f47a","0x1f47b","0x1f47d","0x1f47e","0x1f916","0x1f63a","0x1f638","0x1f639","0x1f63b","0x1f63c","0x1f63d","0x1f640","0x1f63f","0x1f63e","0x1f648","0x1f649","0x1f64a","0x1f48c","0x1f498","0x1f49d","0x1f496","0x1f497","0x1f493","0x1f49e","0x1f495","0x1f49f","0x1f494","0x1f9e1","0x1f49b","0x1f49a","0x1f499","0x1f49c","0x1f90e","0x1f5a4","0x1f90d","0x1f48b","0x1f4af","0x1f4a2","0x1f4a5","0x1f4ab","0x1f4a6","0x1f4a8","0x1f4ac","0x1f4ad","0x1f4a4","0x1f44b","0x1f91a","0x1f590","0x270b","0x1f596","0x1f44c","0x1f90f","0x270c","0x1f91e","0x1f91f","0x1f918","0x1f919","0x1f448","0x1f449","0x1f446","0x1f595","0x1f447","0x1f44d","0x1f44e","0x270a","0x1f44a","0x1f91b","0x1f91c","0x1f44f","0x1f64c","0x1f450","0x1f932","0x1f91d","0x1f64f","0x270d","0x1f485","0x1f933","0x1f4aa","0x1f9be","0x1f9bf","0x1f9b5","0x1f9b6","0x1f442","0x1f9bb","0x1f443","0x1f9e0","0x1f9b7","0x1f9b4","0x1f440","0x1f445","0x1f444","0x1f435","0x1f9a7","0x1f436","0x1f98a","0x1f99d","0x1f431","0x1f981","0x1f42f","0x1f42e","0x1f437","0x1f43d","0x1f42d","0x1f439","0x1f430","0x1f43b","0x1f428","0x1f43c","0x1f9a5","0x1f983","0x1f414","0x1f423","0x1f425","0x1f427","0x1f985","0x1f986","0x1f989","0x1f9a9","0x1f99a","0x1f99c","0x1f438","0x1f433","0x1f980","0x1f490","0x1f338","0x1f4ae","0x1f339","0x1f940","0x1f33a","0x1f33b","0x1f340","0x1f341","0x1f342","0x1f343","0x1f9c0","0x1f969","0x1f354","0x1f35f","0x1f355","0x1f32d","0x1f96a","0x1f32e","0x1f32f","0x1f365","0x1f36b","0x2615","0x1f37a","0x1f943","0x1f30f","0x1f9f1","0x1f6d1","0x1f6a7","0x2693","0x1f680","0x23f3","0x231a","0x23f0","0x1f553","0x1f319","0x1f31a","0x1f31b","0x1f31c","0x1f31d","0x1f31e","0x1fa90","0x2b50","0x1f31f","0x1f320","0x1f30c","0x26c5","0x1f300","0x1f308","0x1f302","0x2614","0x26a1","0x26c4","0x1f525","0x1f4a7","0x1f30a","0x1f383","0x1f384","0x1f386","0x1f387","0x1f9e8","0x2728","0x1f388","0x1f389","0x1f38a","0x1f38b","0x1f38d","0x1f38e","0x1f38f","0x1f390","0x1f391","0x1f9e7","0x1f380","0x1f381","0x1f3ab","0x1f3c6","0x1f3c5","0x1f947","0x1f948","0x1f949","0x1f3c1","0x1f6a9","0x1f38c","0x1f3f4"];var vn=1114111,yn=55296,Cn=57343,Ue=65039,xn="0123456789abcdef";function Mn(e,t){if(!e.startsWith("0x")||e.length<=2)throw new TypeError(`\u975E\u6CD5 Unicode emoji code: ${t}`);let n=e.slice(2);for(let o of n)if(!xn.includes(o))throw new TypeError(`\u975E\u6CD5 Unicode emoji code: ${t}`);let r=Number.parseInt(n,16);if(!Number.isSafeInteger(r)||r>vn||r>=yn&&r<=Cn)throw new RangeError(`Unicode emoji code point \u8D8A\u754C: ${t}`);return r}function ne(e){if(e.length===0||e.trim()!==e)throw new TypeError(`\u975E\u6CD5 Unicode emoji code: ${e}`);let t=e.split(" ");if(t.some(n=>n.length===0))throw new TypeError(`\u975E\u6CD5 Unicode emoji code: ${e}`);return Object.freeze(t.map(n=>Mn(n,e)))}function bn(e){return String.fromCodePoint(...ne(e))}function xe(e){return e.map(t=>`0x${t.toString(16)}`).join(" ")}function hn(e){let t=ne(e),n=xe(t);if(n!==e)throw new TypeError(`Unicode emoji code \u5FC5\u987B\u4F7F\u7528 canonical \u5C0F\u5199\u683C\u5F0F: ${e}`);return Object.freeze({stableKey:`unicode:${n}`,code:e,codePoints:t,text:String.fromCodePoint(...t),kind:"unicode"})}var Me=Object.freeze(Fe.map(hn)),z=new Map,K=new Map;for(let e of Me){if(z.has(e.code)||K.has(e.text))throw new Error(`Unicode emoji \u76EE\u5F55\u5B58\u5728\u91CD\u590D\u9879: ${e.code}`);z.set(e.code,e),K.set(e.text,e);}for(let e of Me){let n=e.codePoints.at(-1)===Ue?e.codePoints.slice(0,-1):[...e.codePoints,Ue],r=xe(n),o=String.fromCodePoint(...n);z.has(r)||z.set(r,e),K.has(o)||K.set(o,e);}function In(e){if(e.startsWith("0x")){let t=xe(ne(e));return z.get(t)}return K.get(e)}var Ve=["[100\u5206]","[VS]","[\u4E0A]","[\u4E0B]","[\u4E0D\u542C]","[\u4E0D\u770B]","[\u4E0D\u9AD8\u5174]","[\u4EB2\u543B]","[\u4F1E]","[\u51FB\u638C]","[\u5357\u74DC\u5934]","[\u53F3]","[\u54C8\u54C8]","[\u54E6]","[\u5564\u9152]","[\u55B7\u568F]","[\u5723\u8BDE\u6811]","[\u5929\u4F7F\u7B11]","[\u5956\u676F]","[\u5BB3\u6015]","[\u5DE6]","[\u5E73\u9759]","[\u5F3A\u58EE]","[\u5F69\u8679]","[\u5F97\u610F]","[\u5FAE\u7B11]","[\u5FC3\u7D2F]","[\u5FC3\u8DF3]","[\u601D\u8003]","[\u6076\u9B54\u6012]","[\u6076\u9B54\u7B11]","[\u6210\u957F]","[\u6293\u72C2]","[\u62F3\u5934]","[\u6325\u624B]","[\u63E1\u62F3]","[\u65E0]","[\u661F\u661F]","[\u661F\u661F\u773C]","[\u6708\u997C]","[\u6C14\u6124]","[\u6EE1\u8DB3]","[\u706B]","[\u718A\u732B]","[\u7231\u4F60]","[\u725B]","[\u72D7]","[\u732B]","[\u7591\u60D1]","[\u7687\u51A0]","[\u778C\u7761]","[\u795D]","[\u79D8]","[\u7BEE\u7403]","[\u7F8E\u5473]","[\u836F]","[\u8DB3\u7403]","[\u95EA\u7535]","[\u95EA\u8000\u7684\u5FC3]","[\u96EA\u82B1]","[\u997A\u5B50]","[\u9A6C]","[\u9B3C]","[\u9E21]","[\u9F13\u638C]","[\u9F20]","[ALLIN]","[\u4F24\u5FC3]","[\u4FBF\u4FBF]","[\u5077\u7B11]","[\u50B2\u6162]","[\u50BB\u7B11]","[\u5192\u6C57]","[\u51CB\u96F6]","[\u53D1\u5446]","[\u53EF\u601C]","[\u53F9\u6C14]","[\u5403\u60CA]","[\u5403\u74DC]","[\u5408\u638C]","[\u5446\u6EDE]","[\u5455\u5410]","[\u5492\u9A82]","[\u5496\u5561]","[\u54C7]","[\u559C\u7231]","[\u5634\u5507]","[\u563F\u54C8]","[\u56F0]","[\u56F0\u4F4F]","[\u5927\u54ED]","[\u5927\u7B11]","[\u592A\u9633]","[\u5931\u671B]","[\u594B\u6597]","[\u5978\u7B11]","[\u59D4\u5C48]","[\u5BB3\u7F9E]","[\u5C2C\u7B11]","[\u5E72\u676F]","[\u5E86\u795D]","[\u5FC3\u788E]","[\u6050\u60E7]","[\u60CA\u8BB6]","[\u6109\u60A6]","[\u611F\u5192]","[\u6124\u6012]","[\u61CA\u607C]","[\u620F\u5F04]","[\u6253\u51FB]","[\u62A0\u9F3B]","[\u62B1\u62F3]","[\u62C5\u5FC3]","[\u62DC\u62DC]","[\u62E5\u62B1]","[\u6342\u8138]","[\u63E1\u624B]","[\u642C\u7816]","[\u6536\u5230]","[\u6536\u5272]","[\u65B9\u5757]","[\u65E0\u8BED]","[\u6655]","[\u6708\u4EAE]","[\u673A\u667A]","[\u6C57]","[\u6D77\u8482]","[\u70B8\u5F39]","[\u70DF\u82B1]","[\u718A\u54ED\u4E86]","[\u7206\u7AF9]","[\u7231\u5FC3]","[\u725B\u5E02]","[\u72D7\u5934]","[\u732A]","[\u73AB\u7470]","[\u751F\u65E5\u86CB\u7CD5]","[\u767D\u773C]","[\u76B1\u7709]","[\u770B\u6DA8]","[\u770B\u8DCC]","[\u7728\u773C]","[\u7761\u89C9]","[\u793C\u7269]","[\u793E\u4F1A]","[\u798F]","[\u7B11\u54ED]","[\u7CD6\u679C]","[\u7EA2\u5305]","[\u8036]","[\u8138\u7EA2]","[\u82E6\u6DA9]","[\u83DC\u5200]","[\u8870]","[\u88C2\u5F00]","[\u8981\u54ED\u4E86]","[\u8C03\u76AE]","[\u8D5E]","[\u8E29]","[\u9119\u89C6]","[\u9177]","[\u91D1\u94B1]","[\u9501\u7BB1]","[\u957F\u8349]","[\u95EE\u53F7]","[\u95F9\u5267]","[\u9634\u9669]","[\u964D\u843D\u4F1E]","[\u96BE\u8FC7]","[\u98DE\u543B]","[\u9AB7\u9AC5]","[\u9EBB\u5C06]"];var ze=h$1,Tn=new Set(Ve),Pn="/images/emoji/v1",En=(()=>{let e=new Map;for(let t of ze)for(let n of t.tokens)e.set(n,t);return e})();function Rn(e){return En.get(e)}function kn(e,t=Pn){return `${t}/${e.file}`}var wn=/\[[^[\]]{1,20}\]/g,An=(()=>{let e=new Map;for(let t of ze)e.set(t.code,t);return e})();function Wt(e,t){let n=An.get(e);return n===void 0?void 0:kn(n,t)}var _n=/\[[^[\]]{1,20}\]/;function $t(e){return _n.test(e)}function Nn(){return e=>{let t=[];for(let n of e.matchAll(wn)){let r=Rn(n[0]);if(n.index!==void 0){if(r!==void 0){t.push({start:n.index,end:n.index+n[0].length-1,segment:{kind:"emoji",text:n[0],code:r.code}});continue}Tn.has(n[0])&&t.push({start:n.index,end:n.index+n[0].length-1,segment:{kind:"legacy-emoji-placeholder",text:n[0]}});}}return t}}var Dn=Nn();function Xt(e){if(e.contentType!=="text"||e.encryption.decryptFailed===true||e.mention!==void 0)return null;let t=e.body.text;if(t===void 0||t==="")return null;let n=Dn(t);if(n.length===0)return null;let r=0,o=[];for(let a of n){if(a.start!==r||a.segment.kind!=="emoji"&&a.segment.kind!=="legacy-emoji-placeholder")return null;o.push(a.segment),r=a.end+1;}return r!==t.length?null:Object.freeze({segments:Object.freeze(o),count:o.length})}function Ke(e){let t=new Map,n=new Set,r=e.revokeObjectUrl??(d=>URL.revokeObjectURL(d));function o(d){d.revoked||(d.revoked=true,n.delete(d),r(d.url));}function a(d){t.get(d.key)===d&&t.delete(d.key),d.retired=true,d.leases===0?o(d):n.add(d);}function s(){let d=0,l=0;for(let p of t.values())p.evictable&&(d+=1,l+=p.byteSize);return {entries:d,bytes:l}}function i(){let d=s();for(;d.entries>e.maxCachedEntries||d.bytes>e.maxCachedBytes;){let l;for(let p of t.values())if(p.evictable&&p.leases===0){l=p;break}if(l===void 0)return;a(l),d=s();}}function c(d,l,p){let I=p.byteSize??0,X=Number.isFinite(I)&&I>0?Math.floor(I):0,E=t.get(d);if(E?.url===l){E.byteSize=X,E.evictable=p.evictable,t.delete(d),t.set(d,E),i();return}E!==void 0&&a(E),t.set(d,{key:d,url:l,byteSize:X,evictable:p.evictable,leases:0,retired:false,revoked:false}),i();}function g(d,l){let p=t.get(d);if(p===void 0)return false;let I=t.get(l);return I!==void 0&&I!==p&&a(I),t.delete(d),p.key=l,t.set(l,p),true}function f(d,l){let p=t.get(d);return p===void 0?false:(l!==void 0&&Number.isFinite(l)&&l>0&&(p.byteSize=Math.floor(l)),p.evictable=true,t.delete(d),t.set(d,p),i(),t.get(d)===p)}function v(d){let l=t.get(d);if(l===void 0||l.revoked)return;l.leases+=1,t.delete(d),t.set(d,l);let p=false;return Object.freeze({url:l.url,release(){p||(p=true,l.leases=Math.max(0,l.leases-1),l.retired&&l.leases===0?o(l):i());}})}function u(d){let l=t.get(d);l!==void 0&&a(l);}function y(d){for(let l of [...t.keys()])l.startsWith(d)&&u(l);}function x(){let d=[...t.values()];t.clear();for(let l of [...d,...n])o(l);n.clear();}return {register:c,move:g,makeEvictable:f,acquire:v,remove:u,removeByPrefix:y,clearAll:x,getStats:()=>Object.freeze({activeEntries:t.size,retiredEntries:n.size,...s()})}}var On=20;function Gn(){if(typeof navigator>"u")return {maxCachedEntries:6,maxCachedBytes:512*1024*1024};let e=navigator,t=e.deviceMemory??4,n=/Android|iPhone|iPad|Mobile/i.test(e.userAgent);return e.connection?.saveData===true||t<=2||navigator.hardwareConcurrency<=2?{maxCachedEntries:2,maxCachedBytes:128*1024*1024}:n?{maxCachedEntries:4,maxCachedBytes:256*1024*1024}:t>=8&&navigator.hardwareConcurrency>=8?{maxCachedEntries:9,maxCachedBytes:1024*1024*1024}:{maxCachedEntries:6,maxCachedBytes:512*1024*1024}}function be(e){return `message\0${e.conversationType}\0${e.conversationId}\0${e.messageId}`}function jn(e){return `message\0${e.conversationType}\0${e.conversationId}\0`}function he(e){return `source\0${e}`}function Mr(e){let t=a$1(e.cachePrefix),n$1=b(t),r=e.createClient??n,o$1=e.createStorage??(m=>typeof indexedDB>"u"?void 0:Ua({...m,mediaAssetCache:{strategies:b$1()}})),a=e.createProfile??(m=>B$1(m)),s=e.deleteStorage??(m=>Ta(m.accountId,{namespaceFactory:m.namespaceFactory})),i=null,c=null,g$1=false,f,v,u,y=0,x,d=false,l={wsUrl:"",userId:"",token:"",deviceToken:"",channelType:"0",cmHttpBaseUrl:""},p=g(e.debug,()=>({generation:y,...l.userId===""?{}:{accountId:l.userId}}));p.record("debug","chat-kit","session","runtime-created");function I(){return {generation:y,...l.userId===""?{}:{accountId:l.userId}}}function X(){l.userId="",l.token="",l.deviceToken="",l.channelType="0";}let E={},Y={},J={},k=new Map,A=Ke(Gn()),q=new Set,F=new Set,Q=new Set;function U(){for(let m of Q)m();}function ie(){let m=I(),M=i,b=v!==void 0||u!==void 0;v?.(),v=void 0,u?.(),u=void 0,b&&p.record("debug","chat-kit","session","client-subscriptions-released",()=>m),M?.connection.disconnect("im-chat-auth-changed"),i=null,c=null,Promise.resolve(f?.close?.()).catch(()=>{}),f=void 0,y+=1,E={},Y={},J={},se(),k.clear(),U();}function Z(){if(d)throw new Error("ChatRuntime \u5DF2 dispose\uFF0C\u4E0D\u80FD\u521B\u5EFA/\u590D\u7528 client");if(i===null){f=o$1({namespaceFactory:n$1});let M=x?.getCoreClient(),b=x?.getCoreApi?.();g$1=M!==void 0||b!==void 0;let P=x?.clientType??2,S=M?a({client:M,clientType:P,storage:f}):void 0,w={authProvider:{getLoginContext:async()=>{let R=x?.getSession?.(),H=x?.getSession!==void 0,de=(H?R?.userId:l.userId)?.trim()??"",Ge=(H?R?.token:l.token)?.trim()??"";return de===""||Ge===""||de!==l.userId?null:{userId:de,token:Ge,deviceToken:l.deviceToken,clientType:P,channelType:Number(l.channelType)}}},endpointProvider:{getEndpoints:async()=>[{url:l.wsUrl}],getCmHttpBaseUrl:async()=>l.cmHttpBaseUrl},cache:{prefix:t},adapters:{namespaceFactory:n$1,storage:{create:R=>{if(R.namespaceFactory!==n$1)throw new Error("ChatRuntime storage namespace factory \u4E0D\u4E00\u81F4");return f},purgeCurrentAccount:R=>s(R)}},profile:S,media:x?.getMediaConfig(),expressions:x?.getExpressionOptions?.(),coreApi:b,coreClient:M,debug:e.debug},j=r(w),ce=j.events;if(ce===void 0&&F.size>0)throw Promise.resolve(f?.close?.()).catch(()=>{}),f=void 0,new Error("IM client \u7F3A\u5C11\u4EA7\u54C1\u4E8B\u4EF6 API");i=j,v=i.connection.subscribe(R=>{for(let H of q)H(R);}),ce!==void 0&&(u=ce.subscribe(R=>{for(let H of F)H(R);})),p.record("debug","chat-kit","session","client-subscriptions-established",()=>I());}return i}function Oe(){let m=Z();return c??=o(m,{coreApiAvailable:g$1}),c}function se(){A.clearAll();}function ln(m){A.removeByPrefix(jn(m));}return {getClient:()=>i,getProductClient:()=>i===null?null:Oe(),ensureProductClient:Oe,getConnectionState:()=>i?.connection.state??"idle",getGeneration:()=>y,getCredentials:()=>l,getMediaConfig:()=>x?.getMediaConfig(),getDiagnostics:()=>p,configureHost(m){x=m;},applySession(m,M,b){let P=m?.userId??"",S=m?.token??"",w=i!==null&&(l.userId!==P||l.token!==S);return w&&ie(),l.wsUrl=M.wsUrl,l.cmHttpBaseUrl=M.cmHttpBaseUrl,l.userId=P,l.token=S,l.deviceToken=b,l.channelType="0",p.record("info","chat-kit","session","session-applied",()=>({data:{accountId:P,hasToken:S!=="",didReset:w}})),{didReset:w,hasToken:S!==""}},ensureClient:Z,async prepare(){if(d)return {ok:false,errorKey:"lifecycle.disposed"};if(l.userId==="")return {ok:false,errorKey:"lifecycle.missingLoginState"};let m=Date.now(),M=I();p.record("info","chat-kit","session","prepare-start",()=>M);try{return await Z().connection.prepare(),p.record("info","chat-kit","session","prepare-complete",()=>({...M,durationMs:Date.now()-m})),{ok:!0}}catch(b){return p.record("error","chat-kit","session","prepare-failed",()=>({...M,durationMs:Date.now()-m,error:{message:"ChatRuntime prepare \u5931\u8D25",data:b}})),{ok:false,errorKey:"lifecycle.prepareFailed",errorParams:{reason:b instanceof Error?b.message:String(b)}}}},async connect(){if(d)return {ok:false,errorKey:"lifecycle.disposed"};if(l.wsUrl===""||l.userId===""||l.token==="")return {ok:false,errorKey:"lifecycle.missingConnectParams"};let m=Date.now(),M=I();p.record("info","chat-kit","connection","connect-start",()=>M);try{return await Z().connection.connect(),p.record("info","chat-kit","connection","connect-complete",()=>({...M,durationMs:Date.now()-m})),{ok:!0}}catch(b){return p.record("error","chat-kit","connection","connect-failed",()=>({...M,durationMs:Date.now()-m,error:{message:"ChatRuntime connect \u5931\u8D25",data:b}})),{ok:false,errorKey:"lifecycle.connectFailed",errorParams:{reason:b instanceof Error?b.message:String(b)}}}},disconnect(){let m=I();p.record("info","chat-kit","connection","disconnect",()=>m),i?.connection.disconnect("im-chat-manual");},async logout(m){let M=Date.now(),b=I();p.record("info","chat-kit","session","logout-start",()=>({...b,data:m}));let P=i,S,w;if(P!==null)try{w=P.logout(m);}catch(j){S=j;}if(X(),y+=1,w!==void 0)try{await w;}catch(j){S=j;}if(E={},Y={},J={},se(),k.clear(),U(),p.record(S===void 0?"info":"error","chat-kit","session",S===void 0?"logout-complete":"logout-failed",()=>({...b,durationMs:Date.now()-M,...S===void 0?{}:{error:{message:"ChatRuntime logout \u5931\u8D25",data:S}}})),S!==void 0)throw S},resetForAuthChange:ie,dispose(){let m=I();p.record("info","chat-kit","session","dispose",()=>m),ie(),q.clear(),F.clear(),Q.clear(),d=true;},subscribeEvents(m){return q.add(m),()=>{q.delete(m);}},subscribeProductEvents(m){return F.add(m),()=>{F.delete(m);}},getSenderProfileCache:()=>E,setSenderProfileCache(m){E=m,U();},getGroupMemberNames:()=>Y,setGroupMemberNames(m){Y=m,U();},getChannelMemberProfiles:()=>J,setChannelMemberProfiles(m){J=m,U();},subscribeProfileChange(m){return Q.add(m),()=>{Q.delete(m);}},putSelfVoiceBytes(m,M){for(k.delete(m),k.set(m,M);k.size>On;){let b=k.keys().next().value;if(b===void 0)break;k.delete(b);}},getSelfVoiceBytes:m=>k.get(m),clearSelfVoiceBytes(){k.clear();},createLocalMediaPreview(m){let M=URL.createObjectURL(m);return A.register(he(M),M,{byteSize:m.size,evictable:false}),M},discardLocalMediaPreview(m){A.remove(he(m));},trackLocalMediaPreview(m,M){A.move(he(M),be(m));},resolveMediaPreviewToRemote(m,M,b){let P=be(m);M==="image"||M==="video"?A.makeEvictable(P,b):A.remove(P);},acquireMediaBlob(m){return A.acquire(be(m))},cleanupLocalMediaBlobs:se,cleanupConversationMediaBlobs:ln}}function We(e){return "group"in e?e.group:e.channel}function $e(e,t,n){if(t.conversationType!==e.ref.conversationType||t.conversationId!==e.ref.conversationId||t.status!=="sent"||t.recalled!==void 0||t.deletedForEveryone!==void 0||t.encryption.decryptFailed===true||!["text","image","video","voice","file","miniProgram","transfer","game"].includes(t.contentType))return false;if(n===null)return true;let r=We(n);return r.conversationType!==e.ref.conversationType||r.conversationId!==e.ref.conversationId||n.messageId!==t.id}function Hn(e){let{session:t,message:n,currentPinnedMessage:r,selfId:o,ownerId:a}=e;return t?.ref.conversationType==="group"&&(t.groupState===void 0||t.groupState==="active")&&o!==""&&a!==void 0&&a!==""&&o===a&&$e(t,n,r)}function Bn(e){let{session:t,message:n,currentPinnedMessage:r}=e;return t?.ref.conversationType==="channel"&&t.channelState==="active"&&t.channelPermissions?.moderateMessages===true&&$e(t,n,r)}function hr(e){return e.session?.ref.conversationType==="group"?Hn(e):e.session?.ref.conversationType==="channel"?Bn(e):false}function Xe(e,t){if(e===null)return false;let n=We(e);return n.conversationType===t.conversationType&&n.conversationId===t.conversationId&&e.messageId===t.id}function Sr(e,t,n,r,o){let a=e[r];if(a&&a.remark!=="")return a.remark;let s=n===""?void 0:t[n]?.[r];if(s!==void 0&&s!=="")return s;if(a&&a.nickname!=="")return a.nickname;let i=(o??"").trim();return i!==""?i:r.length>12?`${r.slice(0,6)}\u2026${r.slice(-4)}`:r}function Tr(e,t,n,r){let o=e[r];if(o?.remark!==void 0&&o.remark!=="")return o.remark;let a=t[n]?.[r]?.displayName;return a!==void 0&&a!==""?a:o?.nickname!==void 0&&o.nickname!==""?o.nickname:r}function Pr(e,t,n,r){let o=t[n]?.[r]?.avatar;return o!==void 0&&o!==""?o:Ln(e,r)}function Ln(e,t){return e[t]?.avatar??""}function Er(e,t){return e[t]?.nickname??""}function Rr(e){return (e.remark??"").trim()||e.nickname||e.id}function Ie(e,t,n=Date.now()){return e.senderId!==t||e.status!=="sent"||e.recalled!==void 0||e.deletedForEveryone!==void 0?false:n-(e.serverTime??e.createdAt)<=300*1e3}function Se(e,t,n,r=Date.now()){return e.senderId!==t||e.status!=="sent"||e.recalled!==void 0||e.deletedForEveryone!==void 0||e.body.text===void 0||e.body.text===""?false:r-(e.serverTime??e.createdAt)<=n}var h=Object.freeze({availability:"available",reason:"ok"});function C(e){return Object.freeze({availability:"unavailable",reason:e})}function Fn(e,t){return e.ref.conversationType===t.conversationType&&e.ref.conversationId===t.conversationId}function W(e){if(e.status!=="sent"||e.recalled!==void 0||e.deletedForEveryone!==void 0||e.contentType==="system")return C("unsupported-type")}function Un(e){return e.status==="sent"&&e.recalled===void 0&&e.deletedForEveryone===void 0&&e.encryption.decryptFailed!==true&&["text","image","video","voice","file","miniProgram","game"].includes(e.contentType)}function Vn(e){return e.status==="sent"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function $(e){return e.conversationType==="channel"?e.value.canMutateMessages:(e.conversationType==="group",e.value.canUseMessageActions)}function Ye(e,t,n={}){return t.availability==="available"?"":e==="direct"?n.mode!=="target"?"":t.reason==="blocked"||t.reason==="not-friend"?"directBlock.contactRequired":"":e==="group"?t.reason==="left"?"groupBlock.left":t.reason==="removed"?"groupBlock.removed":t.reason==="dismissed"?"groupBlock.dismissed":"groupBlock.unknownRestricted":e==="channel"?t.reason==="guest"?"channelBlock.guest":t.reason==="left"?"channelBlock.left":t.reason==="removed"?"channelBlock.removed":t.reason==="dismissed"?"channelBlock.dismissed":t.reason==="muted-all"?"channelBlock.allMembersMuted":t.reason==="muted-self"?"channelBlock.currentUserMuted":t.reason==="muted"?"channelBlock.muted":t.reason==="blacklisted"?"channelBlock.blacklisted":"channelBlock.unknownRestricted":""}function Nr(e,t){switch(t){case "conversation.openProfile":return e.conversationType==="direct"||e.conversationType==="group",e.value.canOpenProfile;case "conversation.readHistory":return e.conversationType==="direct"?h:e.value.canReadHistory;case "conversation.listPreferences":return e.conversationType==="channel"?e.value.state==="muted"?h:e.value.canOpenProfile:e.conversationType==="group"?e.value.canOpenProfile:h;case "composer.send":return e.value.canSendMessages;case "composer.mentionAll":return e.conversationType==="channel"?e.value.canMentionAll:h;case "profile.edit":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canEditProfile:h;case "relationship.manage":return e.conversationType==="direct"?e.value.canManageRelationship:C("unsupported-type");case "members.view":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canViewMembers:C("unsupported-type");case "members.manage":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canManageMembers:C("unsupported-type");case "members.invite":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canInviteMembers:C("unsupported-type");case "members.remove":return e.conversationType==="channel"?e.value.canRemoveMembers:e.conversationType==="group"?e.value.canManageMembers:C("unsupported-type");case "members.setAdmin":return e.conversationType==="channel"?e.value.canSetMemberAdmin:C("unsupported-type");case "ownership.transfer":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canTransferOwnership:C("unsupported-type");case "conversation.leave":return e.conversationType==="channel"||e.conversationType==="group"?e.value.canLeave:C("unsupported-type");case "channel.manageMute":return e.conversationType==="channel"?e.value.canManageMute:C("unsupported-type");case "channel.setMemberPrivateChat":return e.conversationType==="channel"?e.value.canSetMemberPrivateChat:C("unsupported-type");case "channel.dismiss":return e.conversationType==="channel"?e.value.canDismiss:C("unsupported-type")}}function Dr(e,t){let{message:n,pinnedMessage:r,selfId:o,snapshot:a,nowMs:s=Date.now()}=t;if(!Fn(a,n))return C("unsupported-type");let i=Xe(r,n);switch(e){case "message.forward":{let c=W(n);return c!==void 0?c:ma(n)?h:C("unsupported-type")}case "message.favorite":{let c=W(n);return c!==void 0?c:n.encryption?.decryptFailed===true?C("unsupported-type"):n.contentType==="text"||n.contentType==="image"||n.contentType==="video"||n.contentType==="voice"||n.contentType==="file"?h:C("unsupported-type")}case "message.multiSelect":{let c=W(n);return c!==void 0?c:i?C("message-protected"):h}case "message.reply":{let c=W(n);return c!==void 0?c:a.conversationType==="direct"?h:$(a)}case "message.recall":return i?C("message-protected"):a.conversationType==="direct"?Ie(n,o,s)?h:C("role-insufficient"):$(a).availability!=="available"?$(a):Ie(n,o,s)?h:C("role-insufficient");case "message.edit":return i?C("message-protected"):a.conversationType==="direct"?Se(n,o,ia,s)?h:C("role-insufficient"):$(a).availability!=="available"?$(a):Se(n,o,ia,s)?h:C("role-insufficient");case "message.pin":return i?C("message-protected"):Un(n)&&(a.conversationType==="group"||a.conversationType==="channel")?a.value.canPinMessages:C("unsupported-type");case "message.unpin":return a.conversationType==="group"||a.conversationType==="channel"?a.value.canUnpinMessages:C("unsupported-type");case "message.deleteLocal":{if(i)return C("message-protected");let c=W(n);return c!==void 0?c:n.contentType==="unknown"?C("unsupported-type"):a.conversationType==="direct"||a.conversationType==="group"?h:C("unsupported-type")}case "message.deleteForEveryone":return i?C("message-protected"):a.conversationType!=="channel"||!Vn(n)?C("unsupported-type"):a.value.canDeleteMessagesForEveryone}}function Or(e,t){let{selfId:n,snapshot:r,targetRole:o="unknown",targetUserId:a}=t;if(a===""||a===n)return C("role-insufficient");if(r.conversationType==="group"){if(e!=="members.removeTarget")return C("unsupported-type");let i=r.value.canManageMembers;return i.availability!=="available"?i:r.value.ownerId!==void 0&&a===r.value.ownerId?C("role-insufficient"):h}if(r.conversationType!=="channel")return C("unsupported-type");if(e==="members.removeTarget"||e==="members.editNicknameTarget"){let i=r.value.canRemoveMembers;return i.availability!=="available"?i:r.value.role==="owner"?o==="member"||o==="admin"?h:C("role-insufficient"):r.value.role==="admin"&&o==="member"?h:C("role-insufficient")}let s=r.value.canSetMemberAdmin;return s.availability!=="available"?s:r.value.role!=="owner"?C("role-insufficient"):e==="members.setAdminTarget"?o==="member"?h:C("role-insufficient"):o==="admin"?h:C("role-insufficient")}function Je(e){if(e===void 0||e==="active")return "";switch(e){case "guest":return "channelBlock.guest";case "left":return "channelBlock.left";case "removed":return "channelBlock.removed";case "dismissed":return "channelBlock.dismissed";case "muted":return "channelBlock.muted";case "blacklisted":return "channelBlock.blacklisted";case "unknown_restricted":return "channelBlock.unknownRestricted"}}function qe(e,t=Date.now()){if(e?.channelState===void 0)return "channelBlock.unknownRestricted";let n=ta({channelState:e.channelState,snapshot:e.channelAccessSnapshot,permissions:e.channelPermissions,nowMs:t});return n.channelState==="muted"?n.muteReason==="all-members"?"channelBlock.allMembersMuted":n.muteReason==="current-user"?"channelBlock.currentUserMuted":"channelBlock.muted":n.channelState!=="active"?Je(n.channelState)||"channelBlock.unknownRestricted":n.permissions.sendMessages?"":"channelBlock.unknownRestricted"}var N=9;function zn(e={}){let t=typeof navigator<"u"?navigator:void 0,n=e.deviceMemoryGb??(typeof t?.deviceMemory=="number"?t.deviceMemory:4),r=Math.floor(n*1024*1024*1024/8);return Math.min(512*1024*1024,Math.max(64*1024*1024,r))}async function Qe(e,t,n={}){if(e.length===0)return {processedCount:0,rejectedByLimit:false};let r=e.length>9;r&&n.onRejectedByLimit?.({reason:"count-limit",maxCount:9,selectedCount:e.length});let o=e.slice(0,9);if(n.startAll)return await Promise.all(o.map(g=>t(g).catch(()=>false))),{processedCount:o.length,rejectedByLimit:r};let a=zn(n),s=Math.max(1,Math.floor(n.maxConcurrency??Number.POSITIVE_INFINITY)),i=0,c=new Set;for(let g of o){for(;c.size>0&&(c.size>=s||i+g.size>a);)await Promise.race(c);i+=g.size;let f=t(g).catch(()=>false).finally(()=>{i-=g.size,c.delete(f);});c.add(f);}return await Promise.all(c),{processedCount:o.length,rejectedByLimit:r}}async function Te(e){let t=e.type.trim().toLowerCase(),n=new Uint8Array(await e.slice(0,6).arrayBuffer()),r=n.length===6?String.fromCharCode(...n):"",o=r==="GIF87a"||r==="GIF89a",a=t==="image/gif";return o&&(a||t==="")?"gif":o||a?"invalid-gif":"not-gif"}async function Pe(e){return await Te(e)==="gif"}var Kn=new Set(["group","channel"]),Wn=new Set(["group","channel"]),$n=30*1024*1024,Ze=200*1024*1024,en=200*1024*1024,Xn=3*1024*1024;function te(e,t,n){let r=e.getConversationHandle();if(!(r===void 0||n===void 0||n==="supergroup"))return r.ref.conversationId===t&&r.ref.conversationType===n?r:void 0}function re(e,t){return e.retainConversationHandle?.(t)??(()=>{})}function Ee(e,t){try{return e.getSnapshot().messages.find(n=>n.contentType==="video"?n.body.video?.url===t:n.contentType==="image"?n.body.image?.url===t:n.contentType==="sticker"?n.body.sticker?.url===t:!1)?.id}catch{return}}function Re(e){if(e===void 0)return;let t=e.atAll?[{userId:"0",displayName:""}]:[];for(let n of e.atUserIds)t.push({userId:n,displayName:e.atUsersName?.[n]??n});return t.length===0?void 0:t}function Yn(e){if(e===void 0||e==="active")return "";switch(e){case "left":return "groupBlock.left";case "removed":return "groupBlock.removed";case "dismissed":return "groupBlock.dismissed";default:return "groupBlock.unknownRestricted"}}function Kr(e){return Kn.has(e)}function Jn(e){return Wn.has(e)}function Wr(e,t=Date.now()){return e?.type==="channel"?qe(e,t):e?.type==="group"?Yn(e.groupState):""}function D(e,t,n,r={}){let o=e.getProductClient();if(o===null)return "";let a=n??o.conversations.list().find(i=>i.ref.conversationId===t)?.ref.conversationType;if(a===void 0||a==="supergroup")return "";let s=o.capabilities.get({conversationType:a,conversationId:t}).value.canSendMessages;return Ye(a,s,r)}async function $r(e,t,n){let r=e.getClient(),o=t.text.trim();if(r===null)return n.setNote(n.t("common.notConnected")),false;if(t.conversationId==="")return n.setNote(n.t("common.selectOrOpenConversation")),false;if(o==="")return false;let a=e.getGeneration();try{let s=t.conversationType;if(s===void 0)return n.setNote(n.t("common.conversationTypeNotReady")),!1;let i=te(n,t.conversationId,s);if(i===void 0)return n.setNote(n.t("common.conversationNotReady")),!1;let c=D(e,t.conversationId,s);if(c!=="")return n.setNote(n.t(c)),!1;let g=re(n,i);try{let f=await i.messages.sendText(o,{...Jn(s)?{mentions:Re(t.mention)}:{},...t.refMessageId===void 0?{}:{replyToMessageId:t.refMessageId}});return n.refreshActiveMessages(),f.ok?e.getGeneration()===a:(e.getGeneration()===a&&n.setNote(n.t("send.failed",{reason:f.error.code})),!1)}finally{g();}}catch(s){return e.getGeneration()===a&&n.setNote(n.t("send.failed",{reason:s instanceof Error?s.message:String(s)})),false}}async function nn(e,t,n){let{kind:r,file:o,conversationId:a,conversationType:s,refMessageId:i}=t,c=n.t(`label.${r}`);if(e.getClient()===null)return n.setNote(n.t("common.notConnected")),false;if(a===""||s===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let f=te(n,a,s);if(f===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let v=D(e,a,s);if(v!=="")return n.setNote(n.t(v)),false;let u=r==="video"?Ze:r==="file"?en:r==="sticker"?Xn:$n;if(o.size>u)return n.pushMediaLimitItem({name:o.name,sizeMb:o.size/1024/1024,label:c,maxMb:Math.round(u/1024/1024)}),n.showWarning?.(n.t("send.mediaTooLarge",{name:o.name,label:c,maxMb:Math.round(u/1024/1024)})),false;let y=e.getGeneration();if(o.size===0)return e.getGeneration()===y&&n.setNote(n.t("send.mediaEmpty",{label:c})),false;if(r==="sticker"&&!await Pe(o))return e.getGeneration()===y&&n.setNote(n.t("send.mediaFailed",{label:c,reason:"GIF signature mismatch"})),false;let x=re(n,f),d;try{d=r==="file"?void 0:e.createLocalMediaPreview(o);let l=t.localPreviewMetadata;if(e.getGeneration()!==y)return d!==void 0&&e.discardLocalMediaPreview(d),!1;let p=await(r==="image"?f.messages.sendImage(o,{...d===void 0?{}:{localPreviewUrl:d},...l===void 0?{}:{localPreviewMetadata:l},...i===void 0?{}:{replyToMessageId:i}}):r==="video"?f.messages.sendVideo(o,{...d===void 0?{}:{localPreviewUrl:d},...l===void 0?{}:{localPreviewMetadata:l},...i===void 0?{}:{replyToMessageId:i}}):r==="sticker"?f.messages.sendGif(o,{...d===void 0?{}:{localPreviewUrl:d},...i===void 0?{}:{replyToMessageId:i}}):f.messages.sendFile(o,{fileName:o.name,...i===void 0?{}:{replyToMessageId:i}}));if(n.refreshActiveMessages(),!p.ok){if(e.getGeneration()===y&&(p.error.code==="IM_SDK_VIDEO_DURATION_TOO_LONG"?n.showWarning?.(n.t("send.videoTooLong",{name:o.name,maxMinutes:5})):p.error.code==="IM_SDK_VIDEO_DURATION_UNAVAILABLE"?n.showWarning?.(n.t("send.videoDurationUnavailable",{name:o.name})):n.setNote(p.error.code==="IM_SDK_MEDIA_CANCELLED"?n.t("send.mediaCancelled",{label:c}):n.t("send.mediaFailed",{label:c,reason:p.error.code}))),d!==void 0){let I=Ee(f,d);I===void 0?e.discardLocalMediaPreview(d):e.trackLocalMediaPreview({conversationId:a,conversationType:s,messageId:I},d);}return !1}return e.getGeneration()===y}catch(l){if(e.getGeneration()===y&&n.setNote(n.t("send.mediaFailed",{label:c,reason:l instanceof Error?l.message:String(l)})),d!==void 0){let p=Ee(f,d);p===void 0?e.discardLocalMediaPreview(d):e.trackLocalMediaPreview({conversationId:a,conversationType:s,messageId:p},d);}return false}finally{x();}}async function Xr(e,t,n){let{kind:r,file:o,messageId:a,conversationId:s,conversationType:i}=t,c=n.t(`label.${r}`);if(e.getClient()===null)return n.setNote(n.t("common.notConnected")),false;let g=te(n,s,i);if(g===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let f=D(e,s,i);if(f!=="")return n.setNote(n.t(f)),false;let v=r==="video"?Ze:en;if(o.size>v)return n.pushMediaLimitItem({name:o.name,sizeMb:o.size/1024/1024,label:c,maxMb:Math.round(v/1024/1024)}),n.showWarning?.(n.t("send.mediaTooLarge",{name:o.name,label:c,maxMb:Math.round(v/1024/1024)})),false;let u=e.getGeneration();if(o.size===0)return e.getGeneration()===u&&n.setNote(n.t("send.mediaEmpty",{label:c})),false;let y=re(n,g),x;try{if(x=r==="video"?e.createLocalMediaPreview(o):void 0,e.getGeneration()!==u)return x!==void 0&&e.discardLocalMediaPreview(x),!1;let d=await(r==="video"?g.messages.replaceInterruptedVideo(a,o,{...x===void 0?{}:{localPreviewUrl:x}}):g.messages.replaceInterruptedFile(a,o,{fileName:o.name}));if(n.refreshActiveMessages(),!d.ok){e.getGeneration()===u&&(d.error.code==="IM_SDK_VIDEO_DURATION_TOO_LONG"?n.showWarning?.(n.t("send.videoTooLong",{name:o.name,maxMinutes:5})):d.error.code==="IM_SDK_VIDEO_DURATION_UNAVAILABLE"?n.showWarning?.(n.t("send.videoDurationUnavailable",{name:o.name})):n.setNote(n.t("send.mediaFailed",{label:c,reason:d.error.code})));let l=x!==void 0&&g.getSnapshot().messages.some(p=>p.id===a&&p.contentType==="video"&&p.body.video?.url===x);return x!==void 0&&!l?e.discardLocalMediaPreview(x):x!==void 0&&e.trackLocalMediaPreview({conversationId:s,conversationType:i,messageId:a},x),!1}return e.getGeneration()===u}catch(d){return e.getGeneration()===u&&n.setNote(n.t("send.mediaFailed",{label:c,reason:d instanceof Error?d.message:String(d)})),x!==void 0&&(Ee(g,x)===a?e.trackLocalMediaPreview({conversationId:s,conversationType:i,messageId:a},x):e.discardLocalMediaPreview(x)),false}finally{y();}}function qn(e){let t=e.getMediaConfig()?.buckets.voice;return t!==void 0&&t.bucket!==""&&t.host!==""}async function Yr(e,t,n){let{payload:r,conversationId:o,conversationType:a,refMessageId:s}=t;if(e.getClient()===null)return n.setNote(n.t("common.notConnected")),false;if(o===""||a===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let c=te(n,o,a);if(c===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let g=D(e,o,a);if(g!=="")return n.setNote(n.t(g)),false;if(r.data.length===0)return n.setNote(n.t("send.voiceEmpty")),false;if(!qn(e))return n.setNote(n.t("send.voiceStorageNotConfigured")),false;let f=e.getGeneration(),v=re(n,c);try{let u=new File([r.data],r.filename,{type:r.mimeType}),y=await c.messages.sendVoice(u,{durationMs:r.durationMs,waveform:r.waveform,...s===void 0?{}:{replyToMessageId:s}});return n.refreshActiveMessages(),y.ok?e.getGeneration()!==f?!1:(e.putSelfVoiceBytes(y.message.id,r.data),!0):(e.getGeneration()===f&&n.setNote(y.error.code==="IM_SDK_MEDIA_CANCELLED"?n.t("send.voiceCancelled"):n.t("send.voiceFailed",{reason:y.error.code})),!1)}catch(u){return e.getGeneration()===f&&n.setNote(n.t("send.voiceFailed",{reason:u instanceof Error?u.message:String(u)})),false}finally{v();}}async function Jr(e,t,n){let r=t.files.slice(0,9);t.files.length>9&&(n.setMediaBatchLimit({selectedCount:t.files.length,maxCount:9}),n.showWarning?.(n.t("send.mediaCountLimit",{maxCount:9,ignoredCount:t.files.length-9})));let o=e.getGeneration(),a=[];for(let i of r){let c=await Te(i);if(e.getGeneration()!==o)break;let g=c!=="not-gif"?"sticker":i.type.startsWith("image/")?"image":i.type.startsWith("video/")?"video":"file";a.push(nn(e,{kind:g,file:i,conversationId:t.conversationId,conversationType:t.conversationType,...t.refMessageId===void 0?{}:{refMessageId:t.refMessageId}},n));}let s=await Promise.all(a.map(i=>i.catch(()=>false)));return Object.freeze({selectedCount:t.files.length,processedCount:a.length,acceptedCount:s.filter(Boolean).length,rejectedByLimit:t.files.length>9})}async function qr(e,t,n){let r=0,o=await Qe(t.files,async a=>{let s=await nn(e,{kind:"file",file:a,conversationId:t.conversationId,conversationType:t.conversationType,...t.refMessageId===void 0?{}:{refMessageId:t.refMessageId}},n);return s&&(r+=1),s},{startAll:true,onRejectedByLimit:a=>{n.setMediaBatchLimit({selectedCount:a.selectedCount,maxCount:a.maxCount}),n.showWarning?.(n.t("send.mediaCountLimit",{maxCount:a.maxCount,ignoredCount:a.selectedCount-a.maxCount}));}});return Object.freeze({selectedCount:t.files.length,processedCount:o.processedCount,acceptedCount:r,rejectedByLimit:o.rejectedByLimit})}async function Qr(e,t,n){let r=e.getClient(),o=n.getConversationHandle();if(r===null||o===void 0)return n.setNote(n.t("send.cancelFailed")),false;let a=e.getGeneration();try{let s=r.media.getSnapshot().filter(i=>i.direction==="upload"&&i.messageId===t&&i.ref.conversationType===o.ref.conversationType&&i.ref.conversationId===o.ref.conversationId);return s.length!==1?(n.setNote(n.t("send.cancelFailed")),!1):(await r.media.cancel(s[0].id),e.getGeneration()!==a||n.getConversationHandle()!==o?!1:(n.refreshActiveMessages(),!0))}catch{return e.getGeneration()===a&&n.getConversationHandle()===o&&n.setNote(n.t("send.cancelFailed")),false}}async function Zr(e,t,n){let r=e.getClient();if(r===null)return false;let o=n.getConversationHandle();if(o===void 0)return n.setNote(n.t("send.retryFailed")),false;let a=e.getGeneration(),s=r.media.getSnapshot().find(c=>c.direction==="upload"&&(c.state==="failed"||c.state==="canceled")&&c.messageId===t&&c.ref.conversationType===o.ref.conversationType&&c.ref.conversationId===o.ref.conversationId);if(s!==void 0)try{return await r.media.retry(s.id),e.getGeneration()!==a?!1:(n.refreshActiveMessages(),!0)}catch{return e.getGeneration()===a&&n.setNote(n.t("send.retryFailed")),false}let i=r.outbox.getSnapshot().find(c=>c.messageId===t);if(i===void 0||i.ref.conversationType!==o.ref.conversationType||i.ref.conversationId!==o.ref.conversationId)return n.setNote(n.t("send.retryFailed")),false;try{return await r.outbox.retry(t),e.getGeneration()!==a?!1:(n.refreshActiveMessages(),!0)}catch{return e.getGeneration()===a&&n.setNote(n.t("send.retryFailed")),false}}var ot={};a(ot,{executeForwardMessages:()=>tt,forwardMessages:()=>rt});function Qn(e,t){let n=e.getConversationHandle();if(n!==void 0)return t.every(r=>r.conversationType!=="supergroup"&&r.conversationType===n.ref.conversationType&&r.conversationId===n.ref.conversationId)?n:void 0}function Zn(e){let t=e?.code;return typeof t=="string"&&t!==""?t:"unknown"}function et(e,t){let n=e;return typeof n?.code=="string"&&typeof n.category=="string"&&typeof n.operation=="string"&&typeof n.retryable=="boolean"?n:Object.freeze({code:"IM_CHAT_KIT_FORWARD_FAILED",category:"state",operation:"message-operations.forward",retryable:false,conversation:Object.freeze({...t.ref}),cause:e})}function nt(e,t){return t.every(n=>n.conversationType!=="supergroup"&&n.conversationType===e.ref.conversationType&&n.conversationId===e.ref.conversationId)}async function tt(e,t){let n="forward";if(e.getProductClient()===null||e.getConnectionState()!=="authenticated"||t.handle===void 0||!nt(t.handle,t.messages))return Object.freeze({ok:false,operation:n,reason:"not-ready"});if(t.messages.length===0||t.targets.length===0)return Object.freeze({ok:false,operation:n,reason:"empty-input"});for(let f of t.targets){let v=D(e,f.conversationId,f.conversationType,{mode:"target"});if(v!=="")return Object.freeze({ok:false,operation:n,reason:"target-blocked",blockReason:v})}let o=t.messages.filter(ma),a=t.messages.length-o.length;if(o.length===0)return Object.freeze({ok:false,operation:n,reason:"all-skipped",skippedCount:a});let s=e.getGeneration(),i;try{i=await t.handle.messages.forward(o.map(f=>f.id),t.targets);}catch(f){return e.getGeneration()!==s?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:et(f,t.handle)})}if(e.getGeneration()!==s)return Object.freeze({ok:false,operation:n,reason:"stale"});let c=i.sent.length,g=a+i.skippedSourceMessageIds.length;return Object.freeze(c===0?{ok:false,operation:n,reason:i.failed.length>0?"sdk-rejected":"all-skipped",...i.failed[0]===void 0?{}:{error:i.failed[0].error},result:i,skippedCount:g}:{ok:true,operation:n,result:i,sentCount:c,skippedCount:g})}async function rt(e,t,n){if(e.getClient()===null)return n.setNote(n.t("common.notConnected")),null;if(t.messages.length===0||t.targets.length===0)return n.setNote(n.t("forward.emptyInput")),null;let o=Qn(n,t.messages);if(o===void 0)return n.setNote(n.t("common.conversationNotReady")),null;for(let v of t.targets){let u=D(e,v.conversationId,v.conversationType,{mode:"target"});if(u!=="")return n.setNote(n.t(u)),null}let a=t.messages.filter(ma),s=t.messages.length-a.length;if(a.length===0)return n.setNote(n.t("forward.allSkipped")),null;let i=e.getGeneration(),c;try{c=await o.messages.forward(a.map(v=>v.id),t.targets);}catch(v){return e.getGeneration()===i&&n.getConversationHandle()===o&&n.setNote(n.t("forward.failed",{reason:Zn(v)})),null}if(e.getGeneration()!==i||n.getConversationHandle()!==o)return c;let g=c.sent.length,f=s+c.skippedSourceMessageIds.length;if(g===0){let v=c.failed[0];v!==void 0?n.setNote(n.t("forward.failed",{reason:v.error.code})):f>0?n.setNote(n.t("forward.allSkipped")):n.setNote(n.t("forward.failed",{reason:"unknown"}));}else f>0?n.setNote(n.t("forward.partialSkipped",{skipped:f,ok:g})):n.setNote(n.t("forward.done"));return n.refreshActiveMessages?.(),c}var vt={};a(vt,{deleteChannelMessageForEveryone:()=>gt,editMessage:()=>pt,executeDeleteChannelMessageForEveryone:()=>ft,executeDeleteLocalMessage:()=>lt,executeRecallMessage:()=>dt,executeRetryMessage:()=>ut,recallMessage:()=>mt});var at={IM_SDK_MESSAGE_NOT_FOUND:"recall.not-found",IM_SDK_MESSAGE_STATE_MISMATCH:"recall.not-found",IM_SDK_RECALL_NOT_OWN:"recall.not-own",IM_SDK_RECALL_NOT_SENT:"recall.not-sent",IM_SDK_RECALL_EXPIRED:"recall.expired",IM_SDK_RECALL_UNSUPPORTED:"recall.unsupported",IM_SDK_RECALL_TIMEOUT:"recall.timeout",IM_SDK_RECALL_FAILED:"recall.failed",IM_SDK_RECALL_DISCONNECTED:"recall.disconnected"},it={IM_SDK_MESSAGE_NOT_FOUND:"edit.not-found",IM_SDK_MESSAGE_STATE_MISMATCH:"edit.not-found",IM_SDK_EDIT_NOT_OWN:"edit.not-own",IM_SDK_EDIT_NOT_SENT:"edit.not-sent",IM_SDK_EDIT_RECALLED:"edit.recalled",IM_SDK_EDIT_DELETED:"edit.deleted",IM_SDK_EDIT_EXPIRED:"edit.expired",IM_SDK_EDIT_UNSUPPORTED:"edit.unsupported",IM_SDK_DIRECT_MENTION_UNSUPPORTED:"edit.unsupported",IM_SDK_EDIT_EMPTY:"edit.empty",IM_SDK_EDIT_RESTRICTED:"edit.restricted",IM_SDK_EDIT_CONTENT_UNSUPPORTED:"edit.unsupported-content",IM_SDK_EDIT_KEY_UNAVAILABLE:"edit.no-key",IM_SDK_EDIT_ENCRYPT_FAILED:"edit.encrypt-failed",IM_SDK_EDIT_TIMEOUT:"edit.timeout",IM_SDK_EDIT_FAILED:"edit.failed",IM_SDK_EDIT_DISCONNECTED:"edit.disconnected"},st={IM_SDK_MESSAGE_NOT_FOUND:"channelDelete.notFound",IM_SDK_CHANNEL_DELETE_UNSUPPORTED:"channelDelete.unsupported",IM_SDK_CHANNEL_DELETE_NOT_SENT:"channelDelete.notSent",IM_SDK_CHANNEL_DELETE_UNAVAILABLE:"channelDelete.unavailable",IM_SDK_CHANNEL_DELETE_FORBIDDEN:"channelDelete.forbidden",IM_SDK_CHANNEL_DELETE_TIMEOUT:"channelDelete.timeout",IM_SDK_CHANNEL_DELETE_FAILED:"channelDelete.failed",IM_SDK_CHANNEL_DELETE_DISCONNECTED:"channelDelete.disconnected"};function ke(e,t){let n=e.getConversationHandle();if(!(n===void 0||t.conversationType==="supergroup"))return n.ref.conversationType===t.conversationType&&n.ref.conversationId===t.conversationId?n:void 0}function we(e){return typeof e?.code=="string"?e.code:void 0}function ct(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function oe(e,t,n){return ct(e)?e:Object.freeze({code:"IM_CHAT_KIT_MESSAGE_OPERATION_FAILED",category:"state",operation:`message-operations.${t}`,retryable:false,...n===void 0?{}:{conversation:Object.freeze({...n.ref})},cause:e})}function Ae(e,t){return e!==void 0&&t.conversationType!=="supergroup"&&e.ref.conversationType===t.conversationType&&e.ref.conversationId===t.conversationId}async function dt(e,t){let n="recall";if(!Ae(t.handle,t.message))return Object.freeze({ok:false,operation:n,reason:"not-ready"});let r=e.getGeneration();try{await t.handle.messages.recall(t.message.id);}catch(o){return e.getGeneration()!==r?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:oe(o,n,t.handle)})}return e.getGeneration()===r?Object.freeze({ok:true,operation:n}):Object.freeze({ok:false,operation:n,reason:"stale"})}async function lt(e,t){let n="delete-local";if(!Ae(t.handle,t.message)||t.handle.ref.conversationType!=="direct"&&t.handle.ref.conversationType!=="group"||t.message.conversationType!=="direct"&&t.message.conversationType!=="group")return Object.freeze({ok:false,operation:n,reason:"not-ready"});let r=e.getGeneration();try{await t.handle.messages.deleteLocal(t.message.id);}catch(o){return e.getGeneration()!==r?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:oe(o,n,t.handle)})}return e.getGeneration()===r?Object.freeze({ok:true,operation:n}):Object.freeze({ok:false,operation:n,reason:"stale"})}async function ft(e,t){let n="delete-for-everyone";if(!Ae(t.handle,t.message)||t.handle.ref.conversationType!=="channel"||t.message.conversationType!=="channel")return Object.freeze({ok:false,operation:n,reason:"not-ready"});let r=e.getGeneration();try{await t.handle.messages.deleteForEveryone(t.message.id);}catch(o){return e.getGeneration()!==r?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:oe(o,n,t.handle)})}return e.getGeneration()===r?Object.freeze({ok:true,operation:n}):Object.freeze({ok:false,operation:n,reason:"stale"})}async function ut(e,t){let n="retry",r=e.getProductClient(),o=t.handle;if(r===null||o===void 0)return Object.freeze({ok:false,operation:n,reason:"not-ready"});let a=e.getGeneration();try{let s=r.media.getSnapshot().find(i=>i.direction==="upload"&&(i.state==="failed"||i.state==="canceled")&&i.messageId===t.messageId&&i.ref.conversationType===o.ref.conversationType&&i.ref.conversationId===o.ref.conversationId);if(s!==void 0)await r.media.retry(s.id);else {let i=r.outbox.getSnapshot().find(c=>c.messageId===t.messageId);if(i===void 0||i.ref.conversationType!==o.ref.conversationType||i.ref.conversationId!==o.ref.conversationId)return Object.freeze({ok:!1,operation:n,reason:"not-ready"});await r.outbox.retry(t.messageId);}}catch(s){return e.getGeneration()!==a?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:oe(s,n,o)})}return e.getGeneration()===a?Object.freeze({ok:true,operation:n}):Object.freeze({ok:false,operation:n,reason:"stale"})}async function mt(e,t,n){let r=ke(n,t.message);if(r===void 0){n.setNote(n.t("common.conversationNotReady"));return}let o=e.getGeneration();try{await r.messages.recall(t.message.id);}catch(a){if(e.getGeneration()!==o)return;n.setNote(n.t(at[we(a)??""]??"recall.failed"));}}async function gt(e,t,n){let r=ke(n,t.message);if(r===void 0||r.ref.conversationType!=="channel"||t.message.conversationType!=="channel"){n.setNote(n.t("common.conversationNotReady"));return}let o=e.getGeneration();try{await r.messages.deleteForEveryone(t.message.id);}catch(a){if(e.getGeneration()!==o)return;n.setNote(n.t(st[we(a)??""]??"channelDelete.failed"));}}async function pt(e,t,n){let r=ke(n,t.message);if(r===void 0)return n.setNote(n.t("common.conversationNotReady")),false;let o=e.getGeneration(),a=Re(t.mention);try{await r.messages.editText(t.message.id,t.text,{...a===void 0?{}:{mentions:a}});}catch(s){return e.getGeneration()!==o||n.setNote(n.t(it[we(s)??""]??"edit.failed")),false}return e.getGeneration()===o}var Tt={};a(Tt,{executePinMessage:()=>Ct,executeSyncPinnedMessage:()=>Mt,executeUnpinMessage:()=>xt,getPinnedMessage:()=>It,peekPinnedMessage:()=>St,pinMessage:()=>bt,syncPinnedMessage:()=>rn,unpinMessage:()=>ht});function B(e,t){let n=e.getProductClient();return n===null||e.getConnectionState()!=="authenticated"?(t?.setNote(t.t("common.notConnected")),null):n}function yt(e){switch(e){case "permission":return "pinned.forbidden";case "network":return "pinned.network";case "contract":return "pinned.contract";case "unsupported":return "pinned.unsupported";default:return "pinned.failed"}}function tn(e){return typeof e=="object"&&e!==null&&typeof e.category=="string"}function _e(e,t,n){if(tn(e))return e;let r=typeof e?.kind=="string"?e.kind:void 0,o=r==="forbidden"?"permission":r==="network"?"network":r==="unsupported"?"unsupported":r==="contract"?"contract":"state";return Object.freeze({code:"IM_CHAT_KIT_PINNED_MESSAGE_OPERATION_FAILED",category:o,operation:`message-operations.${t}`,retryable:o==="network",conversation:Object.freeze({...n}),cause:e})}async function Ct(e,t){let r=B(e);if(r===null||t.message.conversationId!==t.conversation.conversationId||t.message.conversationType!==t.conversation.conversationType)return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let o=e.getGeneration();try{let a=t.conversation.conversationType==="group"?await r.groups.pinMessage(t.conversation,t.message.id):await r.channels.pinMessage(t.conversation,t.message.id);return e.getGeneration()===o?Object.freeze({ok:!0,operation:"pin",value:a}):Object.freeze({ok:!1,operation:"pin",reason:"stale"})}catch(a){return e.getGeneration()!==o?Object.freeze({ok:false,operation:"pin",reason:"stale"}):Object.freeze({ok:false,operation:"pin",reason:"sdk-rejected",error:_e(a,"pin",t.conversation)})}}async function xt(e,t){let n="unpin",r=B(e);if(r===null)return Object.freeze({ok:false,operation:n,reason:"not-ready"});let o=e.getGeneration();try{return t.conversationType==="group"?await r.groups.unpinMessage(t):await r.channels.unpinMessage(t),e.getGeneration()===o?Object.freeze({ok:!0,operation:n}):Object.freeze({ok:!1,operation:n,reason:"stale"})}catch(a){return e.getGeneration()!==o?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:_e(a,n,t)})}}async function Mt(e,t){let n="sync-pin",r=B(e);if(r===null)return Object.freeze({ok:false,operation:n,reason:"not-ready"});let o=e.getGeneration();try{let a=t.conversationType==="group"?await r.groups.getPinnedMessage(t):await r.channels.getPinnedMessage(t);return e.getGeneration()===o?Object.freeze({ok:!0,operation:n,value:a}):Object.freeze({ok:!1,operation:n,reason:"stale"})}catch(a){return e.getGeneration()!==o?Object.freeze({ok:false,operation:n,reason:"stale"}):Object.freeze({ok:false,operation:n,reason:"sdk-rejected",error:_e(a,n,t)})}}function Ne(e,t,n,r){if(e.getGeneration()!==t)return;let o=tn(r)?yt(r.category):"pinned.failed";n.setNote(n.t(o));}async function bt(e,t,n){let r=B(e,n);if(r===null)return null;let o=e.getGeneration();try{let a=t.conversation.conversationType==="group"?await r.groups.pinMessage(t.conversation,t.message.id):await r.channels.pinMessage(t.conversation,t.message.id);return e.getGeneration()===o?a:null}catch(a){return Ne(e,o,n,a),null}}async function ht(e,t,n){let r=B(e,n);if(r===null)return false;let o=e.getGeneration();try{return t.conversationType==="group"?await r.groups.unpinMessage(t):await r.channels.unpinMessage(t),e.getGeneration()===o}catch(a){return Ne(e,o,n,a),false}}async function It(e,t,n){let r=await rn(e,t,n);return r.ok?r.value:null}async function rn(e,t,n){let r=B(e,n);if(r===null)return {ok:false};let o=e.getGeneration();try{let a=t.conversationType==="group"?await r.groups.getPinnedMessage(t):await r.channels.getPinnedMessage(t);return e.getGeneration()===o?{ok:!0,value:a}:{ok:!1}}catch(a){return Ne(e,o,n,a),{ok:false}}}function St(e,t){let n=e.getProductClient();return n===null?null:t.conversationType==="group"?n.groups.peekPinnedMessage(t):n.channels.peekPinnedMessage(t)}function io(e){return e.conversation.conversationType==="channel"&&e.channelProfile?.memberPrivateChatDisabled!==false?"blocked":e.relationship==="friend"?"friend-profile":"friend-contact"}var Ht={};a(Ht,{applyGroupMemberNickname:()=>Nt,applyGroupMemberRename:()=>At,applyMemberNames:()=>_t,clearGroupMemberNicknameProjection:()=>Dt,ensureSelfProfile:()=>Ot,prewarmActiveSenders:()=>jt,prewarmMemberAvatars:()=>Gt,refreshStaleSenders:()=>dn,resolveChannelMembers:()=>wt,resolveGroupMembers:()=>cn,resolveSenderName:()=>kt});var Pt=new WeakMap,Et=new WeakMap,Rt=new WeakMap;function De(e,t){let n=e.get(t);return n===void 0&&(n=new Map,e.set(t,n)),n}function an(e,t){return e===void 0?t===void 0?0:-1:t===void 0?1:e.length!==t.length?e.length>t.length?1:-1:e===t?0:e>t?1:-1}var on=new WeakMap;function T(e){return (e??"").trim()}function L(e){let t=on.get(e),n=e.getGeneration();return (t===void 0||t.generation!==n)&&(t={generation:n,groups:new Map},on.set(e,t)),t}function ae(e,t,n,r={}){let o=L(e).groups.get(t);if(o===void 0||o.size===0)return n;let a={...n};for(let[s,i]of o){let c=n[s];if((i===""?c===void 0:c===i)&&r.reconcile===true){o.delete(s);continue}i===""?delete a[s]:a[s]=i;}return o.size===0&&L(e).groups.delete(t),a}function sn(e,t,n){let r=L(e).groups.get(t);if(r!==void 0){if(n===void 0){L(e).groups.delete(t);return}r.delete(n.trim()),r.size===0&&L(e).groups.delete(t);}}function _(e,t,n,r){e.getDiagnostics().record("warn","chat-kit","profile",t,()=>({...r===void 0?{}:{data:r},error:{message:"\u8D44\u6599\u9884\u70ED\u5931\u8D25",data:n}}));}function kt(e,t,n){let r=e.getClient(),o=e.getCredentials().userId;if(t===""||t==="system"||t===o||r===null)return Promise.resolve(false);let a=n?.forceRefresh===true,s=De(Pt,e),i=a?void 0:s.get(t);if(i!==void 0)return i;let c=e.getSenderProfileCache();if(!a&&c[t]!==void 0)return Promise.resolve(true);c[t]===void 0&&e.setSenderProfileCache({...c,[t]:{remark:"",nickname:"",avatar:""}});let g=e.getGeneration(),f=r.contact.getProfile(t,a?{forceRefresh:true}:void 0).then(v=>{if(e.getGeneration()!==g)return false;let u=T(v?.remark),y=T(v?.nickname),x=T(v?.avatar);return (u!==""||y!==""||x!=="")&&e.setSenderProfileCache({...e.getSenderProfileCache(),[t]:{remark:u,nickname:y,avatar:x}}),true}).catch(v=>{if(e.getGeneration()!==g)return false;if(!a){let u={...e.getSenderProfileCache()};delete u[t],e.setSenderProfileCache(u);}return e.getDiagnostics().record("warn","chat-kit","profile","sender-profile-resolve-failed",()=>({data:{userId:t},error:{message:"\u89E3\u6790\u53D1\u9001\u8005\u8D44\u6599\u5931\u8D25",data:v}})),false}).finally(()=>{!a&&s.get(t)===f&&s.delete(t);});return a||s.set(t,f),f}function cn(e,t,n){let r=e.getClient();if(t===""||r===null)return Promise.resolve(false);let o=n?.forceRefresh===true,a=De(Et,e),s=o?void 0:a.get(t);if(s!==void 0)return s;let i=e.getGroupMemberNames();if(!o&&i[t]!==void 0)return Promise.resolve(true);let c=i[t]!==void 0;c||e.setGroupMemberNames({...i,[t]:{}});let g=e.getGeneration(),f=()=>{if(c||e.getGeneration()!==g)return;let u={...e.getGroupMemberNames()};delete u[t],e.setGroupMemberNames(u);},v=r.group.getMemberNames(t,{forceRefresh:o}).then(u=>e.getGeneration()!==g?false:u===null?(f(),false):(e.setGroupMemberNames({...e.getGroupMemberNames(),[t]:ae(e,t,u,{reconcile:true})}),true)).catch(u=>(f(),e.getGeneration()===g&&_(e,"group-member-name-resolve-failed",u,{groupId:t}),false)).finally(()=>{!o&&a.get(t)===v&&a.delete(t);});return o||a.set(t,v),v}function wt(e,t,n,r){let o=e.getClient();if(o===null||t===""||r?.isCurrent?.()===false)return Promise.resolve(false);let a=r?.forceRefresh===true,s=e.getChannelMemberProfiles()[t]??{},i=[...new Set(n.map(y=>y.trim()).filter(y=>y!==""&&y!=="system"))].filter(y=>a||s[y]===void 0||s[y].expiresAt<=Date.now());if(i.length===0)return Promise.resolve(true);let c=De(Rt,e),g=`${t}:${[...i].sort().join(",")}`,f=a?void 0:c.get(g);if(f!==void 0)return f;let v=e.getGeneration(),u=o.channel.getMembersByIds(t,i,a?{forceRefresh:true}:void 0).then(y=>{if(e.getGeneration()!==v||r?.isCurrent?.()===false)return false;let x=Date.now()+3e5,d={...e.getChannelMemberProfiles()[t]??{}};for(let l of y){let p=d[l.userId];p!==void 0&&an(l.updateVersion,p.updateVersion)<0||(d[l.userId]={displayName:l.displayName,...l.avatar===void 0?{}:{avatar:l.avatar},role:l.role,...l.updateVersion===void 0?{}:{updateVersion:l.updateVersion},expiresAt:x});}return e.setChannelMemberProfiles({...e.getChannelMemberProfiles(),[t]:d}),true}).catch(y=>(e.getGeneration()===v&&e.getDiagnostics().record("warn","chat-kit","profile","channel-members-resolve-failed",()=>({conversation:{conversationType:"channel",conversationId:t},error:{message:"\u89E3\u6790 CHANNEL \u6210\u5458\u8D44\u6599\u5931\u8D25",data:y}})),false)).finally(()=>{!a&&c.get(g)===u&&c.delete(g);});return a||c.set(g,u),u}function At(e,t,n={}){let r=t.body.system;if(t.contentType!=="system"||r?.eventType!=="group_member_renamed")return;let o=new Set((n.preserveUserIds??[]).map(a=>a.trim()).filter(Boolean));for(let a of r.targetUserIds??[]){let s=a.trim();o.has(s)||sn(e,t.conversationId,s);}cn(e,t.conversationId,{forceRefresh:true});}function _t(e,t,n){let r={};for(let o of n)o.nickName!==""&&(r[o.userId]=o.nickName);e.setGroupMemberNames({...e.getGroupMemberNames(),[t]:ae(e,t,r)});}function Nt(e,t,n,r){let o=t.trim(),a=n.trim();if(o===""||a==="")return;let s=r.trim(),i=L(e),c=i.groups.get(o)??new Map;c.set(a,s),i.groups.set(o,c);let g=e.getGroupMemberNames()[o];if(g===void 0)return;let f={...g};s===""?delete f[a]:f[a]=s,e.setGroupMemberNames({...e.getGroupMemberNames(),[o]:f});}function Dt(e,t,n={}){let r=t.trim();if(r===""||(sn(e,r),n.clearCachedNames!==true))return;let o=e.getGroupMemberNames();if(o[r]===void 0)return;let a={...o};delete a[r],e.setGroupMemberNames(a);}function Ot(e){let t=e.getClient(),n=e.getCredentials().userId;if(n===""||t===null||e.getSenderProfileCache()[n]!==void 0)return;let r=e.getGeneration();t.contact.getProfile(n).then(o=>{if(o===null||e.getGeneration()!==r)return;let a=T(o.remark),s=T(o.nickname),i=T(o.avatar);(a!==""||s!==""||i!=="")&&e.getSenderProfileCache()[n]===void 0&&e.setSenderProfileCache({...e.getSenderProfileCache(),[n]:{remark:a,nickname:s,avatar:i}});}).catch(o=>{e.getGeneration()===r&&_(e,"self-profile-prefetch-failed",o,{userId:n});});}async function Gt(e,t){let n=e.getClient();if(n===null)return;let r=e.getGeneration(),o=[];for(let a of t){let s=a.userId;e.getSenderProfileCache()[s]===void 0&&o.push((async()=>{let i;try{i=await n.contact.peekProfile(s);}catch(v){e.getGeneration()===r&&_(e,"member-avatar-prefetch-failed",v,{userId:s});return}if(i===null||e.getGeneration()!==r)return;let c=T(i.value.remark),g=T(i.value.nickname),f=T(i.value.avatar);(c!==""||g!==""||f!=="")&&e.getSenderProfileCache()[s]===void 0&&e.setSenderProfileCache({...e.getSenderProfileCache(),[s]:{remark:c,nickname:g,avatar:f}});})());}await Promise.allSettled(o);}async function jt(e,t,n,r){let o=e.getClient();if(o===null)return;let a=e.getCredentials().userId,s=e.getGeneration(),i=[],c=[],g=false,f=t[0]?.conversationType;f==="group"&&e.getGroupMemberNames()[n]===void 0&&i.push((async()=>{let u;try{u=await o.group.peekMemberNames(n);}catch(y){e.getGeneration()===s&&_(e,"group-member-name-prefetch-failed",y,{groupId:n});return}u===null||e.getGeneration()!==s||(e.getGroupMemberNames()[n]===void 0&&e.setGroupMemberNames({...e.getGroupMemberNames(),[n]:ae(e,n,u.value)}),u.stale&&(g=true));})());let v=[...new Set(t.map(u=>u.senderId).filter(u=>u!==""&&u!=="system"&&u!==a))];f==="channel"&&v.length>0&&i.push((async()=>{let u;try{u=await o.channel.getMembersByIds(n,v);}catch(d){e.getGeneration()===s&&_(e,"channel-member-prefetch-failed",d,{conversation:{conversationType:"channel",conversationId:n}});return}if(e.getGeneration()!==s||r?.isCurrent?.()===false)return;let y=Date.now()+3e5,x={...e.getChannelMemberProfiles()[n]??{}};for(let d of u){let l=x[d.userId];l!==void 0&&an(d.updateVersion,l.updateVersion)<0||(x[d.userId]={displayName:d.displayName,...d.avatar===void 0?{}:{avatar:d.avatar},role:d.role,...d.updateVersion===void 0?{}:{updateVersion:d.updateVersion},expiresAt:y});}e.setChannelMemberProfiles({...e.getChannelMemberProfiles(),[n]:x});})());for(let u of v)e.getSenderProfileCache()[u]===void 0&&i.push((async()=>{let y;try{y=await o.contact.peekProfile(u);}catch(p){e.getGeneration()===s&&_(e,"sender-profile-prefetch-failed",p,{userId:u});return}if(y===null||e.getGeneration()!==s)return;let x=T(y.value.remark),d=T(y.value.nickname),l=T(y.value.avatar);(x!==""||d!==""||l!=="")&&e.getSenderProfileCache()[u]===void 0&&e.setSenderProfileCache({...e.getSenderProfileCache(),[u]:{remark:x,nickname:d,avatar:l}}),y.stale&&c.push(u);})());await Promise.allSettled(i),e.getGeneration()===s&&dn(e,c,g?n:void 0);}function dn(e,t,n){let r=e.getClient();if(r===null)return;let o=e.getGeneration();n!==void 0&&r.group.getMemberNames(n,{forceRefresh:true}).then(a=>{a!==null&&e.getGeneration()===o&&e.setGroupMemberNames({...e.getGroupMemberNames(),[n]:ae(e,n,a,{reconcile:true})});}).catch(a=>{e.getGeneration()===o&&_(e,"group-member-name-refresh-failed",a,{groupId:n});});for(let a of t)r.contact.getProfile(a,{forceRefresh:true}).then(s=>{if(s===null||e.getGeneration()!==o)return;let i=T(s.remark),c=T(s.nickname),g=T(s.avatar),f=e.getSenderProfileCache()[a];(i!==""||c!==""||g!=="")&&(f===void 0||f.remark!==i||f.nickname!==c||f.avatar!==g)&&e.setSenderProfileCache({...e.getSenderProfileCache(),[a]:{remark:i,nickname:c,avatar:g}});}).catch(s=>{e.getGeneration()===o&&_(e,"sender-profile-refresh-failed",s,{userId:a});});}async function co(e,t){let n=O(e),r=t.keyword.trim();return G(n,()=>{switch(t.conversation.conversationType){case "direct":return n.inDirect({conversationType:"direct",conversationId:t.conversation.conversationId},r);case "group":return n.inGroup({conversationType:"group",conversationId:t.conversation.conversationId},r);case "channel":return n.inChannel({conversationType:"channel",conversationId:t.conversation.conversationId},r)}})}async function lo(e,t){let n=O(e),r=t.keyword.trim();return G(n,()=>n.texts(t.conversation,r))}function fo(e,t){let n=O(e),r=t.keyword?.trim();return G(n,()=>n.files(t.conversation,r===void 0||r===""?void 0:r))}function uo(e,t){let n=O(e);return G(n,()=>n.images(t.conversation))}function mo(e,t){let n=O(e);return G(n,()=>n.videos(t.conversation))}function go(e,t){let n=O(e);return G(n,()=>n.voices(t.conversation))}function po(e,t){let n=O(e);return G(n,()=>n.next(t))}function O(e){let t=e.getClient();if(t===null)throw new Error("IM client is not available");return t.search.messages}async function G(e,t){let n=await t();for(let r=0;r<5;r+=1){if(n.items.length>0||n.exhausted||r===4)return {results:n.items,...n.nextPageToken===void 0?{}:{nextPageToken:n.nextPageToken},exhausted:n.exhausted};if(n.nextPageToken===void 0)throw new Error("IM search page is missing nextPageToken");n=await e.next(n.nextPageToken);}throw new Error("Unreachable search pagination state")}export{tt as $,Er as A,go as Aa,Rr as B,po as Ba,Ie as C,Se as D,Ye as E,Nr as F,Dr as G,Or as H,Je as I,qe as J,N as K,zn as L,Qe as M,Pe as N,Yn as O,Kr as P,Jn as Q,Wr as R,$r as S,nn as T,Xr as U,qn as V,Yr as W,Jr as X,qr as Y,Qr as Z,Zr as _,fn as a,ot as aa,un as b,dt as ba,mn as c,lt as ca,gn as d,ft as da,ne as e,ut as ea,bn as f,vt as fa,Me as g,Ct as ga,In as h,xt as ha,ze as i,Mt as ia,Pn as j,St as ja,Rn as k,Tt as ka,kn as l,io as la,wn as m,kt as ma,Wt as n,cn as na,$t as o,wt as oa,Nn as p,At as pa,Xt as q,_t as qa,Mr as r,Nt as ra,Hn as s,Dt as sa,Bn as t,Ot as ta,hr as u,Ht as ua,Xe as v,co as va,Sr as w,lo as wa,Tr as x,fo as xa,Pr as y,uo as ya,Ln as z,mo as za};
@@ -0,0 +1,7 @@
1
+ import {na as na$1,z as z$1,C,f,g,i,P,Q as Q$1,T,U,N as N$1,O,D,E,y,B as B$1,k,e,A,F,H as H$1,J as J$1,I,K as K$1,L as L$1,M,$ as $$1,aa as aa$1,ya as ya$1,xa as xa$1,wa as wa$1,Z as Z$1,ba as ba$1,X as X$1,va as va$1,R,S,ta as ta$1,sa as sa$1,V,W as W$1}from'./chunk-KTWXKQ4J.js';import*as q from'node-forge';import {deleteDB,openDB}from'idb';function fo(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-BKCNJDKR.js');return r(t)}){let t=null;function r(){if(t!==null)return t;let o=n(e);return t=o,o.catch(()=>{t===o&&(t=null);}),o}return async(o,i)=>(await r())(o,i)}function mo(){if(typeof window>"u"||typeof document>"u")return {recordingSupported:false,recordingBlockers:["no-media-devices"],playbackSupported:false};let e=[];window.isSecureContext===false&&e.push("insecure-context"),(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)&&e.push("no-media-devices"),typeof MediaRecorder>"u"&&e.push("no-media-recorder");let n=window,t=window.AudioContext!==void 0||n.webkitAudioContext!==void 0,r=window.OfflineAudioContext!==void 0||n.webkitOfflineAudioContext!==void 0;return (!t||!r)&&e.push("audio-context-blocked"),{recordingSupported:e.length===0,recordingBlockers:e,playbackSupported:typeof Audio<"u"}}var K=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function Ye(e){return e instanceof K?e.code:void 0}function xt(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new K("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new K("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new K("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new K("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var ee=16e3,go=new URL("./speex-runtime.txt",import.meta.url).href,wn=null;async function yo(){if(document.querySelector('script[data-speex-runtime="true"]')!==null)return;let n=await fetch(go);if(!n.ok)throw new Error(`Speex runtime fetch failed: ${n.status}`);let t=await n.text(),r=document.createElement("script");r.dataset.speexRuntime="true",r.text=t,document.head.appendChild(r);}async function _n(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(wn??=(async()=>{if(e===void 0||typeof document>"u")throw new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await yo(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw wn=null,n instanceof K?n:new K("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),wn)}function Et(){_n().catch(()=>{});}function de(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function ho(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);de(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),de(o,8,"WAVE"),de(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),de(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let s=0;s<e.length;s+=1){let d=Math.max(-1,Math.min(1,e[s]??0));o.setInt16(i,d<0?d*32768:d*32767,true),i+=2;}return r}function vn(e){if(e instanceof Int16Array)return e;let n=new Int16Array(e.length);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0));n[t]=r<0?r*32768:r*32767;}return n}var Co=40,Sn=120,bo=40,An=80;function Po(e,n){let t=Math.min(Math.floor(n*Co/1e3),Math.floor(e.length/2));for(let r=0;r<t;r+=1){let o=r/t;e[r]=Math.round((e[r]??0)*o);let i=e.length-1-r;e[i]=Math.round((e[i]??0)*o);}return e}function Mn(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*Sn/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*bo/1e3),Math.floor(o.length/2));for(let s=0;s<i;s+=1){let d=s/i;o[s]=(o[s]??0)*d;let a=o.length-1-s;o[a]=(o[a]??0)*d;}return o}function Qe(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return de(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),de(o,8,"WAVE"),de(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),de(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function Io(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)n[t]=e.charCodeAt(t)&255;return n}function wo(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,Math.min(r+32768,e.length)));return t}async function kt(e,n){let t=await _n(),r=Math.floor(n*An/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=ho(o,n);try{return Io(t.encodeFile(i))}catch(s){throw new K("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:s})}}async function Tt(e){let n=await _n();try{let[t,r]=n.decodeFile(wo(e));if(t.length===0)throw new Error("decoded empty pcm");let o=Po(vn(t),r.rate>0?r.rate:ee),i=r.rate>0?r.rate:ee;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof K?t:new K("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Rt(e){let n=await Tt(e);return {wavData:Qe(n.samples,n.sampleRate),durationMs:n.durationMs}}function _o(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set},r=new Set;function o(){for(let l of r)l(t);}let i=null,s=new Map,d=0,a=false,p=false;function m(l){let w=s.get(l);return w!==void 0&&(s.delete(l),s.set(l,w)),w}function v(l,w){if(a)return URL.revokeObjectURL(w.url),w;let C=s.get(l);if(C!==void 0)return URL.revokeObjectURL(w.url),s.delete(l),s.set(l,C),C;for(s.set(l,w);s.size>n;){let _;for(let E of s.keys())if(E!==t.activeId){_=E;break}if(_===void 0)break;let M=s.get(_);s.delete(_),M!==void 0&&URL.revokeObjectURL(M.url);}return w}function y(l){l.paused||l.pause(),l.removeAttribute("src");try{l.load();}catch{}}function u(l,w){return !a&&l===d&&t.activeId===w}function I(){if(i!==null)return i;let l=new Audio;return l.preload="auto",l.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=l.currentTime*1e3,t.progress=l.duration>0?Math.min(1,l.currentTime/l.duration):0,o());}),l.addEventListener("ended",()=>{S(),y(l),o();}),l.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=l,l}function S(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function T(){d+=1,p=false,t.loadingId="",S(),i!==null&&y(i),o();}function c(l){t.errorIds=new Set([...t.errorIds,l]);}function g(l){if(!t.errorIds.has(l))return;let w=new Set(t.errorIds);w.delete(l),t.errorIds=w;}async function P(l,w){let C=m(l);if(C!==void 0)return {entry:C};let _;try{_=await w();}catch(M){return {entry:null,error:{code:Ye(M),cause:M}}}if(_===null)return {entry:null};try{let{wavData:M,durationMs:E}=await Rt(_),D={url:URL.createObjectURL(new Blob([M],{type:"audio/wav"})),durationMs:E};return {entry:v(l,D)}}catch(M){return {entry:null,error:{code:Ye(M),cause:M}}}}async function f(l,w){if(a)return;let C=I();if(g(l),t.activeId===l){if(t.isPlaying){C.pause();return}let E=++d;try{await C.play();}catch{if(!u(E,l))return;c(l),o();return}if(!u(E,l))return;t.isPlaying=true,o(),w.onPlayStart?.();return}if(t.loadingId===l)return;T();let _=++d;t.loadingId=l,o();let M=await P(l,w.load);if(_===d){if(t.loadingId="",M.entry===null){c(l),o(),M.error!==void 0&&w.onDecodeError?.(M.error.code,M.error.cause);return}C.src=M.entry.url,t.activeId=l,t.progress=0,t.currentTimeMs=0,o();try{await C.play();}catch(E){if(!u(_,l))return;S(),y(C),c(l),o(),w.onDecodeError?.(void 0,E);return}u(_,l)&&(t.isPlaying=true,o(),w.onPlayStart?.());}}function h(l,w){i===null||t.activeId!==l||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(w,0),.999)*i.duration);}function A(l){i===null||t.activeId!==l||t.isPlaying&&(p=true,i.pause());}function k(l){if(i===null||t.activeId!==l||!p)return;p=false;let w=++d;i.play().then(()=>{u(w,l)&&(t.isPlaying=true,o());}).catch(()=>{u(w,l)&&(c(l),o());});}function b(){if(!a){a=true,T();for(let l of s.values())URL.revokeObjectURL(l.url);s.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:l=>(r.add(l),()=>r.delete(l)),toggle:f,seek:h,beginScrub:A,endScrub:k,stop:T,dispose:b}}function vo(e){if(e.length===0)return 0;let n=0;for(let t=0;t<e.length;t+=1){let r=((e[t]??128)-128)/128;n+=r*r;}return Math.min(1,Math.sqrt(n/e.length)*Math.SQRT2)}function So(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let s=0;s<e.length;s+=1){let d=s*r,a=.2;d<200?a=.15:d<300?a=.4:d<=3400?a=1:d<=6e3&&(a=.45),o+=(e[s]??0)/255*a,i+=a;}return i>0?o/i:0}function Dt(e){let n=vo(e.timeDomain),t=So(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var Xe=class{constructor(n=.45,t=.18){this.attack=n;this.release=t;}attack;release;value=0;next(n){let t=Math.min(1,Math.max(0,n));return t>this.value?this.value+=(t-this.value)*this.attack:this.value+=(t-this.value)*this.release,this.value}};function Ao(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var Mo=50,xo=.12,Eo=2.6,ko=.06,To=256;function Ro(){return typeof MediaRecorder>"u"?"":["audio/webm","audio/webm;codecs=opus","audio/mp4","audio/aac","audio/ogg;codecs=opus"].find(n=>MediaRecorder.isTypeSupported(n))??""}async function Do(e,n,t){let r=window.AudioContext??window.webkitAudioContext,o=window.OfflineAudioContext??window.webkitOfflineAudioContext;if(o===void 0||t==null&&r===void 0)throw new K("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,s=t==null;try{i.state==="suspended"&&await i.resume().catch(()=>{});let d=await i.decodeAudioData(await e.arrayBuffer()),a=Math.max(1,Math.ceil(d.duration*n)),p=new o(1,a,n),m=p.createBufferSource();return m.buffer=d,m.connect(p.destination),m.start(0),(await p.startRendering()).getChannelData(0).slice()}catch(d){throw d instanceof K?d:new K("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:d})}finally{s&&await i.close().catch(()=>{});}}function Ut(e){let n=0;for(let o of e)n+=o.length;let t=new Float32Array(n),r=0;for(let o of e)t.set(o,r),r+=o.length;return t}async function Uo(e={}){if(typeof MediaRecorder>"u")throw new K("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;if(e.stream!==void 0)n=e.stream;else {if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new K("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:Ao()});}catch(C){throw xt(C)}}Et();let t=Ro(),r=e.maxDurationMs??6e4,o="recording",i=[],s=0,d=[],a=null,p=null,m=null,v=[],y=0,u=false;function I(){try{let C;try{C=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{C=new MediaRecorder(n);}return v=[],C.ondataavailable=_=>{_.data.size>0&&v.push(_.data);},C.start(250),y=Date.now(),C}catch(C){throw C instanceof K?C:new K("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:C})}}let S=e.amplitude?.intervalMs??Mo,T=e.amplitude?.boost??Eo,c=e.amplitude?.smoothing??xo,g=e.amplitude?.minVolume??ko;function P(){let C=Math.floor(r/1e3*ee),_=0;for(let E of i)_+=E.length;if(_>C){let E=C,D=[];for(let R of i){if(E<=0)break;R.length<=E?(D.push(R),E-=R.length):(D.push(R.slice(0,E)),E=0);}i.length=0,i.push(...D);}s=Math.min(s,r);let M=Math.max(0,Math.ceil(r/S));d.length>M&&(d.length=M);}async function f(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let C=w().then(()=>P());m=C;try{await C;}catch(_){console.warn("[im-browser] pauseAtMaxDuration settle failed",_);}}let h=setInterval(()=>{!u&&o==="recording"&&b()>=r&&(u=true,f());},250),A=null,k=null;try{let C=window.AudioContext??window.webkitAudioContext;if(C!==void 0){A=new C,A.state==="suspended"&&A.resume().catch(()=>{});let _=A.createMediaStreamSource(n),M=A.createAnalyser();M.fftSize=To,M.smoothingTimeConstant=c,_.connect(M);let E=new Uint8Array(M.frequencyBinCount),D=new Uint8Array(M.fftSize),R=new Xe;k=setInterval(()=>{if(o!=="recording"||a===null)return;M.getByteFrequencyData(E),M.getByteTimeDomainData(D);let U=Dt({timeDomain:D,frequency:E,sampleRate:A.sampleRate,fftSize:M.fftSize,boost:T}),O=R.next(U),F=O<g?0:O;d.push(Math.round(F*255)),e.onAmplitude?.(F);},S);}}catch(C){console.warn("[im-browser] amplitude analyser setup failed",C);}function b(){let C=o==="recording"&&a!==null?Date.now()-y:0;return s+C}function l(){h!==null&&(clearInterval(h),h=null),k!==null&&(clearInterval(k),k=null),A?.close().catch(()=>{}),A=null;for(let C of n.getTracks())C.stop();}function w(){if(p!==null)return p;let C=a;return C===null?Promise.resolve():(a=null,p=(async()=>{await new Promise(E=>{if(C.state==="inactive"){E();return}C.onstop=()=>E(),C.stop();});let _=new Blob(v,{type:C.mimeType||t||"audio/webm"});if(v=[],_.size===0)return;let M=await Do(_,ee,A);M.length!==0&&(i.push(M),s+=M.length/ee*1e3);})().finally(()=>{p=null;}),p)}try{a=I();}catch(C){throw o="closed",l(),C}return {getState:()=>o,recordedMs:b,async pause(){o==="recording"&&(o="paused",await w(),(u||s>=r)&&P());},async resume(){o!=="paused"||u||(a=I(),o="recording");},async finish(){if(o==="closed")throw new K("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";try{m!==null?await m:await w(),P();}finally{l();}let C=Ut(i);if(C.length===0)throw new K("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let _=Mn(C,ee);if(_.length===0)throw new K("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let M=Math.min(d.length,Math.ceil(Sn/S));return {data:await kt(_,ee),durationMs:Math.round(_.length/ee*1e3)+An,waveform:d.slice(M),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}},cancel(){if(o==="closed")return;o="closed";let C=a;if(a=null,C!==null&&(C.ondataavailable=null,C.onstop=null,C.state!=="inactive"))try{C.stop();}catch{}i.length=0,l();},async previewWav(){m!==null?await m:p!==null&&await p,P();let C=Ut(i),_=Mn(C,ee);if(_.length===0)throw new K("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:Qe(vn(_),ee),durationMs:Math.round(_.length/ee*1e3)}}}}function Pe(e){let n=new Map;return {shouldRenegotiate(t,r,o){if(r===void 0)return true;if(o!==void 0&&!e(o,r))return false;let i=n.get(t);return i!==void 0&&e(i,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function Bt(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var ne=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function Ot(e){let n=e.trim(),t=n.replace(/-/g,"+").replace(/_/g,"/");if(t===""||!/^[A-Z0-9+/]*={0,2}$/i.test(t)||t.length%4===1)throw new ne("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),i;try{i=atob(o);}catch(p){throw new ne("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:p})}let s=Uint8Array.from(i,p=>p.charCodeAt(0)&255);if(s.length===0)throw new ne("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let d=new Uint8Array(16);d.set(s.subarray(0,d.length));let a=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,p=>p.charCodeAt(0)):void 0;return {canonical:d,...a===void 0?{}:{legacyAscii:a},metadata:{channelKeyCharLength:n.length,decodedByteLength:s.length,padByteCount:Math.max(0,16-s.length),legacyAsciiCandidate:a!==void 0}}}function Bo(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Pe(Bt);function s(f){return {canonical:f.canonical.slice(),...f.legacyAscii===void 0?{}:{legacyAscii:f.legacyAscii.slice()},metadata:{...f.metadata}}}function d(f){return [{strategy:"canonical-base64-pad",key:f.canonical.slice()},...f.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:f.legacyAscii.slice()}]]}function a(f){n.delete(f),t.delete(f),r.delete(f),o.set(f,(o.get(f)??0)+1);}function p(f){let h=o.get(f)??0,A=(async()=>{try{let k=await e.loadSecretKey(f);if(k===null||k.trim()==="")throw new ne(`channel secret_key \u7F3A\u5931\uFF08channelId=${f}\uFF09`);let b=Ot(k);return (o.get(f)??0)===h&&n.set(f,s(b)),b}catch(k){let b=k instanceof ne?k:new ne(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${f}\uFF09`,{cause:k});throw e.onError?.(b.message,k),b}})().finally(()=>{t.get(f)===A&&t.delete(f);});return t.set(f,A),A}function m(f,h){let A=t.get(f);if(A!==void 0)return A;i.shouldRenegotiate(f,h.staleKey,n.get(f)?.canonical)&&a(f);}function v(f,h){let A=f.trim();if(A===""){let b=new ne("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(b.message),Promise.reject(b)}if(h!==void 0){let b=m(A,h);if(b!==void 0)return b.then(s)}let k=n.get(A);return k!==void 0?Promise.resolve(s(k)):t.get(A)??p(A)}function y(f,h){let A=f.trim();if(A===""){let w=new ne("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(w.message),Promise.reject(w)}if(h!==void 0){let w=m(A,h);if(w!==void 0)return w.then(C=>C.canonical.slice())}let k=n.get(A);if(k!==void 0)return Promise.resolve(k.canonical.slice());let b=r.get(A);if(b!==void 0)return b;let l=(t.get(A)??p(A)).then(w=>w.canonical.slice()).finally(()=>{r.get(A)===l&&r.delete(A);});return r.set(A,l),l}function u(f){return n.get(f.trim())?.canonical.slice()??null}async function I(f,h){let A=await v(f,h);return d(A)}function S(f){let h=n.get(f.trim());return h===void 0?[]:d(h)}function T(f){let h=n.get(f.trim());return h===void 0?null:{...h.metadata}}function c(f,h){let A=f.trim();if(A==="")throw new ne("channel id \u4E0D\u80FD\u4E3A\u7A7A");let k=Ot(h);a(A),i.reset(A),n.set(A,s(k));}function g(f){let h=f.trim();h!==""&&(a(h),i.reset(h));}function P(){let f=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let h of f)o.set(h,(o.get(h)??0)+1),i.reset(h);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:u,getChannelKeyCandidates:I,getCachedChannelKeyCandidates:S,getCachedChannelKeyMetadata:T,primeChannelKey:c,clearChannelKey:g,clearAll:P}}function Oo(e){if(e.length<16)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 16 \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,16);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function Nt([e,n],[t,r,o,i]){let s=e>>>0,d=n>>>0,a=Math.imul(2654435769,16)>>>0;for(let p=0;p<16;p++)d=d-(Math.imul(s,16)+o^s+a^(s>>>5)+i)>>>0,s=s-(Math.imul(d,16)+t^d+a^(d>>>5)+r)>>>0,a=a-2654435769>>>0;return [s,d]}function Kt([e,n],[t,r,o,i]){let s=e>>>0,d=n>>>0,a=0;for(let p=0;p<16;p++)a=a+2654435769>>>0,s=s+(Math.imul(d,16)+t^d+a^(d>>>5)+r)>>>0,d=d+(Math.imul(s,16)+o^s+a^(s>>>5)+i)>>>0;return [s,d]}function Ze(e,n,t,r){let o=Oo(n),i=new Uint8Array(e.length),s=Math.floor(e.length/8),d=r===void 0?s:Math.min(s,Math.floor(r/8)),a=new DataView(e.buffer,e.byteOffset,e.byteLength),p=new DataView(i.buffer);for(let v=0;v<d;v++){let y=v*8,[u,I]=t([a.getUint32(y,true),a.getUint32(y+4,true)],o);p.setUint32(y,u,true),p.setUint32(y+4,I,true);}let m=d*8;return m<e.length&&i.set(e.subarray(m),m),i}function Te(e,n){return Ze(n,e,Nt)}function Re(e,n){return Ze(n,e,Kt)}function Gt(e,n){return Ze(n,e,Kt,32)}function Lt(e,n){return Ze(n,e,Nt,32)}var Ht=8,en=16;function No(e){let n=q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function $t(e){return new TextEncoder().encode(e)}function Ko(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function Go(e){let n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t}function Lo(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Ho(e){let n=Math.ceil(e.length/Ht)*Ht;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function Jt(e,n=No){let t=e.trim();if(t==="")throw new Error("collect TEA key: userId \u4E3A\u7A7A");let r=n(t).replace(/[^0-9a-f]/gi,"");if(r.length<en)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=$t(r.slice(0,en).toUpperCase());if(o.length<en)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,en)}function Vt(e,n,t){return Lo(Re(Jt(n,t),Ho($t(e))))}function Fo(e,n,t){return Ko(Te(Jt(n,t),Go(e)))}function $o(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function xn(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return $o(JSON.parse(n))}catch{return null}}function Jo(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function jt(e,n,t){let r=xn(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=Fo(e,n,t);return xn(o)??xn(Jo(o))}catch{return null}}var Vo="core";var De=class extends Error{code=502;constructor(n,t){super(`core JSON \u4F20\u8F93\u5931\u8D25\uFF1A${n||"unknown transport error"}`,t===void 0?void 0:{cause:t}),this.name="CoreJsonTransportError";}},j=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function x(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Vo,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(s){throw o?new De(s instanceof Error?s.message:String(s),s):s}if(o){let s=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new De(s);return i.code!==200?{ok:false,code:i.code,message:s,data:i.data}:{ok:true,code:200,message:s,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function qt(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return x(e,"/user/encrypt_info/info",t,r)}function jo(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function qo(e){let n=e.clientType,t=new Map,r=new Map,o=Pe((y,u)=>y===u),i=null,s=null;function d(y,u){e.onError?.(y,u);}function a(){if(i!==null)return Promise.resolve(i);if(s!==null)return s;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(i=u,u)).finally(()=>{s===y&&(s=null);});return s=y,y}async function p(y){let u;try{u=await a();}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,c),null}let I;try{I=await qt(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,c),null}if(I.data===null)return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${I.code}\uFF09`),null;let S=I.data.prv_key??I.data.prvKey??"",T=String(I.data.version??"").trim();if(S==="")return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let c=e.crypto.rsaDecryptPkcs1({data:jo(S),privateKey:u.privateKey}),g=new TextDecoder().decode(c).trim();if(g==="")return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let P={privateKey:g,version:T};return t.set(y,P),P}catch(c){return d(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,c),null}}function m(y,u){let I=y.trim();if(I==="")return Promise.resolve(null);if(u!==void 0){let g=r.get(I);if(g!==void 0)return g;o.shouldRenegotiate(I,u.staleKey,t.get(I)?.privateKey)&&t.delete(I);}let S=t.get(I);if(S!==void 0)return Promise.resolve(S);let T=r.get(I);if(T!==void 0)return T;let c=p(I).finally(()=>{r.get(I)===c&&r.delete(I);});return r.set(I,c),c}function v(y){return t.get(y.trim())??null}return {getUserPrivateKey:m,getCachedPrivateKey:v}}function zt(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return x(e,"/user_group/encrypt_info",t,r)}function zo(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Wo(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Pe((u,I)=>u===I),s=null,d=null;function a(){if(s!==null)return Promise.resolve(s);if(d!==null)return d;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(I=>(s=I,I)).finally(()=>{d===u&&(d=null);});return d=u,u}async function p(u){let I=o.get(u)??0,S;try{S=await a();}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,h),null}let T;try{T=await zt(e.client,{groupId:u,publicKey:S.publicKeyBase64,clientType:n});}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,h),null}if(T.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${u}\uFF0Ccode=${T.code}\uFF09`),null;let c=T.data,g=String(c.prv_key??c.prvKey??c.private_key??"").trim(),P=String(c.pub_key??c.pubKey??c.public_key??"").trim(),f=String(c.version??"").trim();if(g==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let h=e.crypto.rsaDecryptPkcs1({data:zo(g),privateKey:S.privateKey}),A=new TextDecoder().decode(h).trim();if(A==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${u}\uFF09`),null;let k={privateKey:A,publicKey:P,version:f};return (o.get(u)??0)===I&&t.set(u,k),k}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,h),null}}function m(u,I){let S=u.trim();if(S==="")return Promise.resolve(null);if(I!==void 0){let P=r.get(S);if(P!==void 0)return P;i.shouldRenegotiate(S,I.staleKey,t.get(S)?.privateKey)&&t.delete(S);}let T=t.get(S);if(T!==void 0)return Promise.resolve(T);let c=r.get(S);if(c!==void 0)return c;let g=p(S).finally(()=>{r.get(S)===g&&r.delete(S);});return r.set(S,g),g}function v(u){return t.get(u.trim())??null}function y(u){let I=u.trim();t.delete(I),r.delete(I),o.set(I,(o.get(I)??0)+1),i.reset(I);}return {getGroupKeys:m,getCachedGroupKeys:v,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:y}}async function Ue(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await x(e,"/user/info/other",t,r)).data}function Yo(e){let n=e.clientType,t=new Map,r=new Map;async function o(s){try{let a=((await Ue(e.client,{userId:s,clientType:n}))?.public_key??"").trim();return a===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${s}\uFF09`),null):(t.set(s,a),a)}catch(d){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${s}\uFF09`,d),null}}function i(s,d){let a=s.trim();if(a==="")return Promise.resolve(null);d?.force===true&&t.delete(a);let p=t.get(a);if(p!==void 0)return Promise.resolve(p);let m=r.get(a);if(m!==void 0)return m;let v=o(a).finally(()=>{r.get(a)===v&&r.delete(a);});return r.set(a,v),v}return {getPeerPublicKey:i}}var pe=16;function Wt(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function Yt(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function Qt(e){return e.replace(/(.{64})/g,`$1
2
+ `).trim()}function Qo(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Xo(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return q.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return q.pki.privateKeyFromAsn1(q.asn1.fromDer(q.util.decode64(t)))}catch(i){r.push(i);}let o=Qt(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return q.pki.privateKeyFromPem(`-----BEGIN ${i}-----
3
+ ${o}
4
+ -----END ${i}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u79C1\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 PKCS1-DER / PKCS8-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function Xt(e){let n=Xo(e.privateKey),t=Math.ceil(n.n.bitLength()/8),{data:r}=e;if(r.length===0)throw new Error("RSA \u89E3\u5BC6\uFF1A\u5BC6\u6587\u4E3A\u7A7A");let o=[];for(let a=0;a<r.length;a+=t){let p=Math.min(a+t,r.length);try{let m=n.decrypt(Wt(r.subarray(a,p)),"RSAES-PKCS1-V1_5");o.push(Yt(m));}catch(m){let v=m instanceof Error?m.message:String(m);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${a}..${p}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${v}`)}}let i=o.reduce((a,p)=>a+p.length,0),s=new Uint8Array(i),d=0;for(let a of o)s.set(a,d),d+=a.length;return s}function Zo(e){let n=Xt({data:e.secretKey,privateKey:e.privateKey});if(n.length<pe)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${pe}`);return Te(n,e.cipherData)}function ei(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return q.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return q.pki.publicKeyFromAsn1(q.asn1.fromDer(q.util.decode64(t)))}catch(i){r.push(i);}let o=Qt(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return q.pki.publicKeyFromPem(`-----BEGIN ${i}-----
5
+ ${o}
6
+ -----END ${i}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u516C\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 SPKI-DER / SPKI-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function Zt(){let e=new Uint8Array(pe),n=new Uint8Array(1);for(let t=0;t<pe;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function ni(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=ei(e),r=Math.ceil(t.n.bitLength()/8)-11;if(r<=0)throw new Error(`RSA \u52A0\u5BC6\uFF1A\u516C\u94A5\u4F4D\u6570\u8FC7\u5C0F\uFF08${t.n.bitLength()}bit\uFF09`);let o=[];for(let a=0;a<n.length;a+=r){let p=Math.min(a+r,n.length),m=t.encrypt(Wt(n.subarray(a,p)),"RSAES-PKCS1-V1_5");o.push(Yt(m));}let i=o.reduce((a,p)=>a+p.length,0),s=new Uint8Array(i),d=0;for(let a of o)s.set(a,d),d+=a.length;return s}function ti(e){let n=e.teaKey??Zt();if(n.length<pe)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${pe}`);let t=n.subarray(0,pe),r=Re(t,e.plain);return {secretKey:ni(e.publicKey,t),cipherData:r}}function ri(e){return Te(e.teaKey,e.cipherData)}function oi(e){return Re(e.teaKey,e.plain)}function ii(e){return Gt(e.teaKey,e.plain)}function ai(e){return Lt(e.teaKey,e.cipherData)}function si(){return new Promise((e,n)=>{q.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Qo(q.pki.publicKeyToPem(r.publicKey)),privateKey:q.pki.privateKeyToPem(r.privateKey)});});})}function ci(){return {decryptEndToEnd:Zo,encryptEndToEnd:ti,decryptSymmetric:ri,encryptSymmetric:oi,encryptFileSimple:ii,decryptFileSimple:ai,randomTeaKey:Zt,generateTempKeyPair:si,rsaDecryptPkcs1:Xt}}function En(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Be(e,n){return x(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},En(n.clientType,"GET"))}function Oe(e,n){return x(e,"/friend/apply/agree",{id:n.applicationId},En(n.clientType,"POST"))}function Ne(e,n){return x(e,"/friend/apply/del",{id:n.applicationId},En(n.clientType,"POST"))}var er=50,nr=20,tr=1,kn=2,Tn=3,di=4,ui=5,rr=0,li=1,pi=2;function fi(e){switch(e){case rr:case li:case pi:return e;default:return}}var Ie=class extends Error{constructor(t,r){super(`application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ApplicationHttpError";}code},z=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function N(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function or(e){let n=N(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function ir(e){let n=N(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=fi(t);if(r===void 0)throw new z(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===rr}function mi(e){let n=N(e.type);if(n==="")return true;if(Number(n)!==tr)throw new z(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function gi(e){let n=Number(N(e.type));if(n!==kn&&n!==Tn&&n!==di&&n!==ui)throw new z(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${N(e.type)||"<empty>"}`);return n}function nn(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>er)throw new z(`limit \u5FC5\u987B\u4E3A 1-${er}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new z("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new z("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function ar(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new z("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function Rn(e){let n=e.trim();if(n==="")throw new z("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function yi(e){let n=Rn(N(e.id)||N(e.aid)),t=N(e.user_id)||N(e.user_info?.user_id),r=N(e.nick_name??e.nickname??e.name)||N(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new z(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=N(e.head_img_url??e.avatar)||N(e.user_info?.head_img_url??e.user_info?.avatar),i=N(e.user_info?.mid),s=or(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...i===""?{}:{applicantDisplayId:i},message:N(e.remarks??e.introduce_self),...s===void 0?{}:{createdAt:s}}}function hi(e){let n=Rn(N(e.id)||N(e.aid)),t=N(e.group_id)||N(e.group_info?.group_id);if(t==="")throw new z(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=N(e.user_id)||N(e.user_info?.user_id),o=N(e.nick_name??e.nickname??e.name)||N(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new z(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=N(e.head_img_url??e.avatar)||N(e.user_info?.head_img_url??e.user_info?.avatar),s=N(e.user_info?.mid),d=N(e.group_info?.name??e.group_info?.group_name);if(d==="")throw new z(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=N(e.group_info?.head_img_url??e.group_info?.avatar),p=or(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===Tn?"invite":"request",actor:{id:r,name:o,...i===""?{}:{avatarUrl:i},...s===""?{}:{displayId:s}},target:{id:t,name:d,...a===""?{}:{avatarUrl:a}},message:N(e.remarks??e.introduce_self),...p===void 0?{}:{createdAt:p}}}async function tn(e,n,t){let r=await t(e.client,{applicationId:Rn(n),clientType:e.clientType});if(!r.ok)throw new Ie(r.code,r.message)}function Ci(e){async function n(t){let{pageSize:r}=nn(t),{page:o}=nn(t);for(let i=0;i<nr;i+=1){let s=await Be(e.client,{listType:tr,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Ie(s.code,s.message);let d=ar(s.data),a=d.filter(v=>mi(v)&&ir(v)).map(yi),p=d.length<r,m=o+1;if(a.length>0||p)return {items:a,exhausted:p,...p?{}:{nextCursor:String(m)}};o=m;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>tn(e,t,Oe),ignoreApplication:t=>tn(e,t,Ne)}}function bi(e){async function n(t){let{pageSize:r}=nn(t),{page:o}=nn(t);for(let i=0;i<nr;i+=1){let s=await Be(e.client,{listType:kn,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Ie(s.code,s.message);let d=ar(s.data),a=d.filter(v=>{let y=gi(v);return (y===kn||y===Tn)&&ir(v)}).map(hi),p=d.length<r,m=o+1;if(a.length>0||p)return {items:a,exhausted:p,...p?{}:{nextCursor:String(m)}};o=m;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>tn(e,t,Oe),ignoreApplication:t=>tn(e,t,Ne)}}function B(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Pi(e){if(typeof e=="boolean")return e;if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0"||n.toLowerCase()==="false")return false;if(n==="1"||n.toLowerCase()==="true")return true}}function Ii(e){let n=Number(e);return n===1?{configType:"pinned-game"}:n===2?{configType:"float-link"}:n===3?{configType:"float-game"}:Number.isInteger(n)&&n>=0?{configType:"unknown",rawConfigType:n}:{configType:"unknown"}}function wi(e){let n=Number(e.product_id),t=Pi(e.is_dynamic);return {...Ii(e.config_type),...B(e.appid)===void 0?{}:{appId:B(e.appid)},...Number.isInteger(n)?{productId:n}:{},...B(e.domain)===void 0?{}:{domain:B(e.domain)},...B(e.suffix_address)===void 0?{}:{suffixAddress:B(e.suffix_address)},...B(e.developer_id)===void 0?{}:{developerId:B(e.developer_id)},...B(e.introduction)===void 0?{}:{introduction:B(e.introduction)},...B(e.icon)===void 0?{}:{icon:B(e.icon)},...B(e.icon_small)===void 0?{}:{iconSmall:B(e.icon_small)},...B(e.icon_medium)===void 0?{}:{iconMedium:B(e.icon_medium)},...B(e.icon_large)===void 0?{}:{iconLarge:B(e.icon_large)},...t===void 0?{}:{isDynamic:t},...B(e.lang_types)===void 0?{}:{langTypes:B(e.lang_types)},...B(e.currency_types)===void 0?{}:{currencyTypes:B(e.currency_types)},...B(e.simple_chinese_name)===void 0?{}:{nameZhHans:B(e.simple_chinese_name)},...B(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:B(e.unsimplified_chinese_name)},...B(e.english_name)===void 0?{}:{nameEn:B(e.english_name)},...B(e.vietnamese_name)===void 0?{}:{nameVi:B(e.vietnamese_name)},...B(e.thai_name)===void 0?{}:{nameTh:B(e.thai_name)},...B(e.h5_url)===void 0?{}:{h5Url:B(e.h5_url)}}}function sr(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>wi(t)):n.source==="info"?[]:void 0}function cr(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function dr(e,n){return x(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},cr(n.clientType,"GET"))}function ur(e,n){return x(e,"/user_radio/info",{radio_id:n.channelId},cr(n.clientType,"POST"))}var lr=500,Ke=class extends Error{constructor(t,r){super(`CHANNEL HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelHttpError";}code},oe=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function pr(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new oe(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function fe(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function we(e){return Number(e)===1}function _i(e){if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0")return false;if(n==="1")return true}}function vi(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function Si(e){let n=e.is_in===void 0?void 0:we(e.is_in),t=we(e.radio_user?.is_del),r=we(e.radio_user?.is_black);return Number(e.status)===3?"dismissed":t&&r?"removed":r?"blacklisted":t?"left":n===false?"guest":e.status!==void 0&&Number(e.status)!==2?"unknown_restricted":"active"}function Ai(e,n,t){let r=fe(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,i=fe(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:we(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...i===void 0?{}:{mutePeriod:i}}}function Mi(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function xi(e){let n=fe(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function Ei(e,n){let t=e.replace(/^0+(?=\d)/,""),r=n.replace(/^0+(?=\d)/,"");return t.length!==r.length?t.length>r.length?t:r:t>=r?t:r}function fr(e,n,t){let r=pr(e.radio_id??e.id,"id"),o=pr(e.name,"name"),i=e.is_in===void 0?void 0:we(e.is_in),s=vi(e.radio_user?.role_id,i),d=Si(e),a=Ai(e,s,d),p=ta$1({channelState:d,snapshot:a,nowMs:n}),m={...a,resolvedState:p.channelState},v=xi(e.update_version),y=fe(e.head_img_url),u=fe(e.desc),I=fe(e.user_id),S=Number(e.total_users),T=Mi(e.type),c=_i(e.radio_setting?.is_unvisit_other),g=e.verify_way===void 0?void 0:Number(e.verify_way),P=g!==void 0&&Number.isSafeInteger(g)?g:void 0,f=fe(e.invite_code),h=sr(e,{source:t});return {id:r,name:o,...y===void 0?{}:{avatar:y},...u===void 0?{}:{description:u},...I===void 0?{}:{ownerId:I},...Number.isFinite(S)&&S>=0?{memberCount:S}:{},...P===void 0?{}:{verifyType:P},...f===void 0?{}:{inviteCode:f},role:s,permissions:p.permissions,channelState:p.channelState,allMembersMuted:m.allMembersMuted,...c===void 0?{}:{memberPrivateChatDisabled:c},accessSnapshot:m,...e.radio_user?.is_undisturb===void 0?{}:{muted:we(e.radio_user.is_undisturb)},...T===void 0?{}:{channelKind:T},...v===void 0?{}:{updateVersion:v},...h===void 0?{}:{miniProgramRels:h}}}function mr(e){return {...e,updatedAt:Date.now()}}function gr(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:sa$1(e.role,e.channelState)};let t=ta$1({channelState:e.channelState,snapshot:e.accessSnapshot,permissions:e.permissions,nowMs:n});return {...e,channelState:t.channelState,permissions:t.permissions,allMembersMuted:e.allMembersMuted??e.accessSnapshot.allMembersMuted,accessSnapshot:{...e.accessSnapshot,resolvedState:t.channelState}}}function Dn(e,n){let{updatedAt:t,...r}=gr(e,n);return r}function ki(e){let n=new Map,t=new Map,r=new Map,o="0",i=false,s=null,d=0,a=null,p=0;function m(){if(i)return Promise.resolve();if(s!==null)return s;let u=d;return s=(async()=>{if(e.storage!==void 0){let[I,S]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(u!==d)return;for(let T of I)n.set(T.id,gr(T,e.now?.()??Date.now()));o=/^\d+$/.test(S)?S:"0";}i=true;})().finally(()=>{s=null;}),s}function v(u){if(u?.forceRefresh!==true&&a!==null)return a;let I=++p,S=(async()=>{await m();let T=(await e.getUserId()).trim();if(T==="")throw new oe("user_id \u4E0D\u80FD\u4E3A\u7A7A");let c=u?.forceRefresh===true?"0":o,g=[];for(let f=1;;f+=1){let h=await dr(e.client,{userId:T,updateVersion:c,page:f,pageSize:lr,clientType:e.clientType});if(!h.ok)throw new Ke(h.code,h.message);if(h.data===null)break;if(!Array.isArray(h.data))throw new oe("list data \u5FC5\u987B\u662F\u6570\u7EC4");let A=e.now?.()??Date.now(),k=h.data.map(b=>fr(b,A,"list"));if(g.push(...k),k.length<lr)break}if(I!==p)return [...n.values()].map(f=>Dn(f,e.now?.()??Date.now()));let P=o;for(let f of g)n.set(f.id,mr(f)),f.updateVersion!==void 0&&(P=Ei(P,f.updateVersion));return o=P,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(f=>Dn(f,e.now?.()??Date.now()))})();return a=S,S.finally(()=>{a===S&&(a=null);}).catch(()=>{}),S}function y(u,I){let S=u.trim();if(S==="")return Promise.reject(new oe("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let T=I?.forceRefresh===true;if(!T){let P=t.get(S);if(P!==void 0)return P}let c=(r.get(S)??0)+1;T&&r.set(S,c);let g=(async()=>{await m();let P=n.get(S);if(!T&&P!==void 0&&P.miniProgramRels!==void 0)return Dn(P,e.now?.()??Date.now());let f=await ur(e.client,{channelId:S,clientType:e.clientType});if(!f.ok)throw new Ke(f.code,f.message);if(f.data===null||f.data===void 0)throw new oe("info data \u4E0D\u80FD\u4E3A\u7A7A");let h=fr(f.data,e.now?.()??Date.now(),"info");if(h.id!==S)throw new oe(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${S}\uFF0C\u54CD\u5E94 ${h.id}`);if((r.get(S)??c)===c){let A=mr(h);n.set(S,A),await e.storage?.saveChannelProfiles([A]);}return h})().finally(()=>{t.get(S)===g&&t.delete(S);});return r.set(S,c),t.set(S,g),g}return {listProfiles:v,getProfile:y,clearCache(){d+=1,p+=1;for(let u of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(u,(r.get(u)??0)+1);n.clear(),t.clear(),a=null,o="0",i=true,s=null;}}}function yr(e,n){return Be(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function hr(e,n){return Oe(e,n)}function Cr(e,n){return Ne(e,n)}var Ti=20,br=50,Ri=20,Di=2,Ui=3,Ir=4,Bi=5,wr=0,Oi=1,Ni=2;function Ki(e){switch(e){case wr:case Oi:case Ni:return e;default:return}}var Ge=class extends Error{constructor(t,r){super(`CHANNEL join application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelJoinApplicationHttpError";}code},Y=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function L(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Gi(e){let n=L(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function Li(e){let n=L(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Ki(t);if(r===void 0)throw new Y(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===wr}function Hi(e){let n=Number(L(e.type));if(n!==Di&&n!==Ui&&n!==Ir&&n!==Bi)throw new Y(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${L(e.type)||"<empty>"}`);return n}function Fi(e){let n=L(e.id)||L(e.aid),t=L(e.user_id)||L(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=L(e.radio_id)||L(e.channel_id)||L(r?.radio_id)||L(r?.channel_id);if(n==="")throw new Y("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new Y(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new Y(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=L(e.user_info?.nick_name)||L(e.user_info?.nickname)||L(e.user_info?.name)||t,s=L(e.user_info?.head_img_url)||L(e.user_info?.avatar),d=L(e.user_info?.mid),a=L(r?.name)||L(r?.radio_name)||L(r?.channel_name)||o,p=L(r?.head_img_url)||L(r?.avatar),m=Gi(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:i,...s===""?{}:{applicantAvatar:s},...d===""?{}:{applicantDisplayId:d},channelId:o,channelName:a,...p===""?{}:{channelAvatar:p},message:L(e.remarks)||L(e.introduce_self),...m===void 0?{}:{createdAt:m}}}function Pr(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>br)throw new Y(`limit \u5FC5\u987B\u4E3A 1-${br}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||Ti};if(!/^[1-9]\d*$/.test(e.cursor))throw new Y("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Y("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function $i(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new Y("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function Ji(e){let n=e.trim();if(n==="")throw new Y("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Vi(e){async function n(r){let{pageSize:o}=Pr(r),{page:i}=Pr(r);for(let s=0;s<Ri;s+=1){let d=await yr(e.client,{page:i,pageSize:o,clientType:e.clientType});if(!d.ok)throw new Ge(d.code,d.message);let a=$i(d.data),p=a.filter(y=>Hi(y)===Ir&&Li(y)).map(Fi),m=a.length<o,v=i+1;if(p.length>0||m)return {items:p,exhausted:m,...m?{}:{nextCursor:String(v)}};i=v;}return {items:[],exhausted:false,nextCursor:String(i)}}async function t(r,o){let i=await o(e.client,{applicationId:Ji(r),clientType:e.clientType});if(!i.ok)throw new Ge(i.code,i.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,hr),ignoreJoinApplication:r=>t(r,Cr)}}function rn(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Un(e,n){return x(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},rn(n.clientType,"GET"))}function Bn(e,n){return x(e,"/user_radio/search_user",{radio_id:n.channelId,nick_name:n.query,page:n.page,page_size:n.pageSize,update_version:n.updateVersion??"0"},rn(n.clientType,"POST"))}function _r(e,n){return x(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},rn(n.clientType,"GET"))}function vr(e,n){return x(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},rn(n.clientType,"POST"))}var on=18,ji=12,qi=300*1e3,zi=32,Le=class extends Error{constructor(t,r){super(`CHANNEL member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMemberHttpError";}code},$=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function ie(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Wi(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function Yi(e){let n=ie(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function On(e,n){return e===void 0?n===void 0?0:-1:n===void 0?1:e.length!==n.length?e.length>n.length?1:-1:e===n?0:e>n?1:-1}function Sr(e,n){let t=ie(e.radio_id);if(t==="")throw new $("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new $(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=ie(e.user_id)||ie(e.user_info?.user_id);if(r==="")throw new $("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let p=Number(e.is_master);if(p!==0&&p!==1)throw new $(`is_master \u975E\u6CD5\uFF1A${ie(e.is_master)}`)}let o=ie(e.nick_name),i=ie(e.user_info?.nick_name)||ie(e.user_info?.name),s=ie(e.user_info?.head_img_url),d=Yi(e.update_version),a=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||i||r,...s===""?{}:{avatar:s},role:Wi(e.role_id),...Number.isInteger(a)?{joinType:a}:{},...d===void 0?{}:{updateVersion:d}}}function Qi(e){if(e.channelId.trim()==="")throw new $("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>on)throw new $(`limit \u5FC5\u987B\u4E3A 1-${on}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new $("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new $("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Ar(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Xi(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??qi,o=new Map,i=new Map,s=new Map,d=new Map,a=new Map,p=new Set,m=new Set,v=(b,l)=>`${b}:${l}`;function y(b){let l=a.get(b);return l!==void 0?l:(a.set(b,0),0)}function u(b){let l=b.trim();if(l==="")throw new $("channelId \u4E0D\u80FD\u4E3A\u7A7A");return l}function I(b){for(i.delete(b.channelId),i.set(b.channelId,b);i.size>zi;){let l=i.keys().next().value;if(l===void 0)break;i.delete(l);}}function S(b){let l=i.get(b);if(l!==void 0)return I(l),Promise.resolve(l);if(m.has(b)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let w=s.get(b);if(w!==void 0)return w;let C=y(b),_=e.storage.getChannelMemberSnapshot(b).then(M=>!t()||M===null||M.channelId!==b||C!==y(b)||m.has(b)?null:(I(M),M)).finally(()=>{s.get(b)===_&&s.delete(b);});return s.set(b,_),_}function T(b,l){let w=b.map(_=>_.userId),C=new Map(b.map(_=>[_.userId,_]));for(let _ of l){C.has(_.userId)||w.push(_.userId);let M=C.get(_.userId);(M===void 0||On(_.updateVersion,M.updateVersion)>=0)&&C.set(_.userId,_);}return w.map(_=>C.get(_))}async function c(b,l){let w=await Z$1(l);return b.filter(C=>w.match(C.displayName)!==null||w.match(C.userId,{pinyin:false})!==null)}async function g(b,l,w={}){if(!t()||l!==y(b.channelId))return;let C=b.channelId,_=m.has(C),M=w.allowPersistentRebuild===true&&_&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!_||M)&&await e.storage?.saveChannelMemberSnapshot?.(b),t()&&l===y(C)&&(I(b),w.allowPersistentRebuild===true&&(!_||e.storage?.deleteChannelMemberSnapshot===void 0)&&m.delete(C));}async function P(b,l,w,C,_=false,M){let E=await S(b);if(!t()||w!==y(b))return;let D=n(),R=M!==void 0&&E?.nextCursor===M,U=_&&E!==null&&!R,O=C!==void 0&&!U?C.nextCursor:E?.nextCursor,F={channelId:b,items:T(E?.items??[],l),...O===void 0?{}:{nextCursor:O},exhausted:U?E.exhausted:C?.exhausted??E?.exhausted??false,updatedAt:D};await g(F,w);}async function f(b,l,w){if(!t()||w!==y(b))return [...l];let C=n(),_=C+r,M=[],E=[],D=new Map;for(let R of l){let U=v(b,R.userId),O=o.get(U)?.member;if(O!==void 0&&On(R.updateVersion,O.updateVersion)<0){E.push(O);continue}M.push({channelId:b,...R,updatedAt:C}),E.push(R),D.set(U,{member:R,expiresAt:_});}if(M.length>0&&t()&&w===y(b)&&!p.has(b)&&(await e.storage?.saveChannelMembers?.(M),e.storage?.getChannelMembers!==void 0&&t()&&w===y(b))){let R=await e.storage.getChannelMembers(b,M.map(O=>O.userId)),U=new Map(R.map(O=>{let{channelId:F,updatedAt:V,...se}=O;return [se.userId,{member:se,updatedAt:V}]}));for(let O=0;O<E.length;O+=1){let F=E[O];if(F===void 0)continue;let V=U.get(F.userId);V===void 0||On(V.member.updateVersion,F.updateVersion)<=0||(E[O]=V.member,D.set(v(b,F.userId),{member:V.member,expiresAt:V.updatedAt+r}));}}if(t()&&w===y(b))for(let[R,U]of D)o.set(R,U);return E}async function h(b,l){let w=u(b.channelId),{page:C,pageSize:_}=Qi({...b,channelId:w}),M=y(w),E=await l(w,C,_);if(!E.ok)throw new Le(E.code,E.message);if(E.data!==null&&!Array.isArray(E.data))throw new $("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let D=Ar((E.data??[]).map(O=>Sr(O,w))),R=await f(w,D,M),U=(E.data??[]).length<_;return {items:R,exhausted:U,...U?{}:{nextCursor:String(C+1)}}}function A(b){let l=u(b),w=d.get(l);if(w!==void 0)return w;let C=y(l),_=(async()=>{let M,E=false,D=[];for(let U=0;U<ji&&!E;U+=1){let O=await h({channelId:l,limit:on,...M===void 0?{}:{cursor:M}},(F,V,se)=>Un(e.client,{channelId:F,page:V,pageSize:se,clientType:e.clientType}));if(!t()||C!==y(l))throw new $("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");D=T(D,O.items),M=O.nextCursor,E=O.exhausted;}let R={channelId:l,items:D,...M===void 0?{}:{nextCursor:M},exhausted:E,updatedAt:n()};return await g(R,C,{allowPersistentRebuild:true}),{items:R.items,...R.nextCursor===void 0?{}:{nextCursor:R.nextCursor},exhausted:R.exhausted}})().finally(()=>{d.get(l)===_&&d.delete(l);});return d.set(l,_),_}async function k(b){let l=u(b),w=y(l)+1;a.set(l,w),p.add(l),m.add(l),i.delete(l),s.delete(l),d.delete(l);let C=`${l}:`;for(let _ of o.keys())_.startsWith(C)&&o.delete(_);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(l),e.storage.deleteChannelMemberSnapshot?.(l)]),w===y(l)&&(e.storage?.deleteChannelMembers!==void 0&&p.delete(l),e.storage?.deleteChannelMemberSnapshot!==void 0&&m.delete(l)));}return {async prefetchMembers(b){let l=u(b),w=await S(l),C=m.has(l);w!==null&&!C&&w.updatedAt+r>n()||await A(l);},async getCachedMembers(b){let l=u(b.channelId),w=await S(l);if(w===null)return null;let C=b.query?.trim()??"";return C===""&&m.has(l)?null:C===""?{items:[...w.items],...w.nextCursor===void 0?{}:{nextCursor:w.nextCursor},exhausted:w.exhausted}:{items:await c(w.items,C),exhausted:true}},async refreshMembers(b){let l=u(b.channelId),w=b.query?.trim()??"";if(w==="")return A(l);let C=y(l),[_,M]=await Promise.all([h({channelId:l,query:w,limit:on},(D,R,U)=>Bn(e.client,{channelId:D,query:w,page:R,pageSize:U,updateVersion:"0",clientType:e.clientType})),S(l)]),E=M===null?[]:await c(M.items,w);return await P(l,_.items,C),{..._,items:T(_.items,E)}},async listMembers(b){let l=u(b.channelId),w={...b,channelId:l},C=y(l),_=await h(w,(M,E,D)=>Un(e.client,{channelId:M,page:E,pageSize:D,clientType:e.clientType}));return await P(l,_.items,C,_,w.cursor!==void 0,w.cursor),_},async searchMembers(b){let l=b.query.trim();if(l==="")return Promise.reject(new $("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let w=u(b.channelId),C={...b,channelId:w},_=y(w),M=await h(C,(E,D,R)=>Bn(e.client,{channelId:E,query:l,page:D,pageSize:R,updateVersion:"0",clientType:e.clientType}));return await P(w,M.items,_),M},listAdmins:b=>h(b,(l,w,C)=>_r(e.client,{channelId:l,page:w,pageSize:C,clientType:e.clientType})),async getMembersByIds(b,l,w){let C=b.trim();if(C==="")throw new $("channelId \u4E0D\u80FD\u4E3A\u7A7A");let _=[...new Set(l.map(R=>R.trim()).filter(Boolean))];if(_.length===0)return [];let M=w?.forceRefresh===true,E=new Map,D=[];for(let R of _){let U=o.get(v(C,R));!M&&U!==void 0&&U.expiresAt>n()?E.set(R,U.member):D.push(R);}if(!M&&D.length>0&&!p.has(C)&&e.storage?.getChannelMembers!==void 0){let R=y(C),U=await e.storage.getChannelMembers(C,D);if(t()&&R===y(C))for(let{channelId:O,updatedAt:F,...V}of U)O===C&&(o.set(v(C,V.userId),{member:V,expiresAt:F+r}),F+r>n()&&E.set(V.userId,V));D=D.filter(O=>!E.has(O));}if(!t())return _.flatMap(R=>E.has(R)?[E.get(R)]:[]);if(D.length>0){let R=y(C),U=await vr(e.client,{channelId:C,userIds:D,clientType:e.clientType});if(!U.ok)throw new Le(U.code,U.message);if(U.data!==null&&!Array.isArray(U.data))throw new $("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let O=Ar((U.data??[]).map(be=>Sr(be,C))),F=D.filter(be=>!O.some(po=>po.userId===be)),V=M&&F.length>0&&R===y(C),se;V?(await k(C),se=O):se=await f(C,O,R);for(let be of se)E.set(be.userId,be);}return _.flatMap(R=>E.has(R)?[E.get(R)]:[])},invalidateChannelMembers:k,clearCache(){let b=new Set(a.keys());for(let l of o.keys())b.add(l.slice(0,l.indexOf(":")));for(let l of i.keys())b.add(l);for(let l of s.keys())b.add(l);for(let l of d.keys())b.add(l);for(let l of p)b.add(l);for(let l of m)b.add(l);for(let l of b)a.set(l,y(l)+1);o.clear(),i.clear(),s.clear(),d.clear(),p.clear(),m.clear();}}}function Mr(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function xr(e,n){return x(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Mr(n.clientType))}function Er(e,n){return x(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},Mr(n.clientType))}var kr=18,an=class extends Error{constructor(t,r){super(`CHANNEL @ member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMentionMemberHttpError";}code},te=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function _e(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Zi(e){let n=_e(e.user_id);if(n==="")throw new te("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=_e(e.radio_user_nickname)||_e(e.nick_name)||_e(e.name)||_e(e.mid)||n,r=_e(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function ea(e){let n=e.channelId.trim();if(n==="")throw new te("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>kr)throw new te(`limit \u5FC5\u987B\u4E3A 1-${kr}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new te("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new te("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function na(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function ta(e){async function n(t,r){let{channelId:o,page:i,pageSize:s}=ea(t),d=await r({channelId:o,page:i,pageSize:s,clientType:e.clientType});if(!d.ok)throw new an(d.code,d.message);if(d.data!==null&&!Array.isArray(d.data))throw new te("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let a=d.data??[],p=na(a.map(Zi)),m=a.length<s;return {items:p,exhausted:m,...m?{}:{nextCursor:String(i+1)}}}return {listMentionMembers:t=>n(t,r=>xr(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new te("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>Er(e.client,{...o,query:r}))}}}function ra(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:i}){let s=await e.getBaseUrl();if(!s)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let d={"Content-Type":"application/octet-stream"},a=e.getClientType?.();a!==void 0&&(d["Client-type"]=String(a)),Object.assign(d,o);let p=await e.getAuth();p!==null&&p.token!==""&&p.userId!==""&&(d.Authorization=`${p.token}:${p.userId}`);let m=await n(`${s}${t}`,{method:"POST",body:r,headers:d,signal:i});if(!m.ok)throw new na$1({path:t,status:m.status,statusText:m.statusText});let v=await m.arrayBuffer();return new Uint8Array(v)}}}var re=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function sn(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new re(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function W(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function He(e){let n=W(e);return n===""?void 0:n}function oa(e){let n=sn(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:sn(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=W(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new re("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=W(n.remark_name)||W(n.contact_name)||W(t.nick_name)||W(t.username)||W(t.mid)||r,i=W(t.nick_name)||W(t.username)||W(t.mid)||r,s=He(t.head_img_url),d=He(t.username)??He(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:i,...s===void 0?{}:{avatarUrl:s},...d===void 0?{}:{username:d}}}function ia(e){let n=sn(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=W(n.group_id);if(t==="")throw new re("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=He(n.head_img_url),o=W(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function aa(e){let n=sn(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=W(n.radio_id??n.id);if(t==="")throw new re("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=He(n.head_img_url),o=W(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function sa(e,n){if(!Number.isSafeInteger(e)||e<1)throw new re("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new re("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function ca(e){return {async list(n){sa(n.page,n.pageSize);let t=n.kind==="individual"?"/friend/list":n.kind==="group"?"/user_group/list":"/user_radio/list",r=n.kind==="channel"&&e.getUserId!==void 0?String(await e.getUserId()).trim():"",i=(await x(e.client,t,{...r===""?{}:{user_id:r},update_version:0,page:n.page,page_size:n.pageSize},{responseMode:"strict",method:"GET",...e.clientType===void 0?{}:{headers:{"Client-type":String(e.clientType)}}})).data??[];if(!Array.isArray(i))throw new re(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let s=n.kind==="individual"?oa:n.kind==="group"?ia:aa,d=new Map;for(let p of i){let m=s(p);d.set(m.id,m);}let a=i.length<n.pageSize;return {items:[...d.values()],...a?{}:{nextPage:n.page+1},exhausted:a}}}}var da="https://api.giphy.com/v1/gifs",ve=class extends Error{constructor(t){super(t==="core"?"\u8868\u60C5 Core API \u672A\u914D\u7F6E":"Giphy API key \u672A\u914D\u7F6E");this.provider=t;this.name="ExpressionProviderUnavailableError";}provider},H=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},me=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function X(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new H(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Q(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ue(e,n){let t=Q(e);if(t==="")throw new H(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Ae(e){let n=Q(e);return n===""?void 0:n}function Se(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new H(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function ua(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new H(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function Tr(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new H(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function ge(e,n){let t=ue(e,n),r;try{r=new URL(t);}catch(o){throw new H(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new H(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new H(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function Nn(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=X(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new H(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function Fe(e){return e==="sticker"?1:e==="gif"?2:3}function Rr(e){let n=X(e,"\u8D34\u56FE\u5305"),t=Ae(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:ue(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:Q(n.nameZh??n.name_zh),nameEn:Q(n.nameEn??n.name_en),nameTh:Q(n.nameTh??n.name_th),nameTw:Q(n.nameTw??n.name_tw),nameVi:Q(n.nameVi??n.name_vi),publisher:Q(n.publisher),trayIconUrl:ge(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:ua(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:Se(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function Kn(e,n,t,r){let o=X(e,t),i=Ae(o.id),s={...i===void 0?{}:{recordId:i},url:ge(o.imgUrl??o.img_url,`${t} imgUrl`),width:Se(o.width??0,`${t} width`),height:Se(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...s,packageId:ue(r??o.packId??o.pack_id,`${t} packageId`),resourceId:ue(o.fileName??o.file_name,`${t} resourceId`)};let d=Ae(o.fileName??o.file_name);return {kind:n,...s,...d===void 0?{}:{resourceId:d}}}function la(e,n){if(n!=="emoji")return Kn(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=X(e,"\u6700\u8FD1 emoji"),r=Ae(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:ue(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:ue(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function Dr(e,n,t){let r=Fe(n);return Nn(e,t).filter(o=>{let i=X(o,`${t} item`),s=i.favType??i.fav_type;if(s==null)return true;let d=Number(s);if(d!==1&&d!==2&&d!==3)throw new H(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return d===r})}function Br(e){return {fav_type:Fe(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:ge(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function pa(e){return e.kind!=="emoji"?Br(e):{fav_type:Fe(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function Ur(e){let n=[...new Set(e.map(t=>t.trim()).filter(Boolean))];if(n.length===0||n.length>30||n.some(t=>t.includes("|")))throw new H("\u6279\u91CF\u5220\u9664 recordIds \u5FC5\u987B\u5305\u542B 1-30 \u4E2A\u4E0D\u542B\u7AD6\u7EBF\u7684\u552F\u4E00\u975E\u7A7A id");return n.join("|")}function fa(e){let n=X(e,"Giphy item"),t=X(n.images,"Giphy item.images"),r=X(t.original,"Giphy item.images.original"),o=t.fixed_width,i=o==null?void 0:X(o,"Giphy item.images.fixed_width"),s=ge(r.url,"Giphy original.url"),d=i===void 0?void 0:Ae(i.url),a=i===void 0?void 0:Ae(i.webp),p=a===void 0?d===void 0?s:ge(d,"Giphy fixed_width.url"):ge(a,"Giphy fixed_width.webp"),m=a!==void 0&&d!==void 0&&d!==a?ge(d,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:ue(n.id,"Giphy item.id"),title:Q(n.title)||"GIF",url:s,previewUrl:p,...m===void 0?{}:{fallbackPreviewUrl:m},width:Tr(r.width,"Giphy original.width"),height:Tr(r.height,"Giphy original.height")}}function ma(e,n){let t=X(e,"Giphy response");if(!Array.isArray(t.data))throw new H("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=X(t.pagination,"Giphy response.pagination"),o=Se(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new H("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let i=Se(r.count??t.data.length,"Giphy pagination.count"),s=Se(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),d=new Map;for(let p of t.data){let m=fa(p);d.set(m.resourceId,m);}let a=o+i;return {items:[...d.values()],offset:o,totalCount:s,...i>0&&a<s?{nextOffset:a}:{}}}function ga(e){async function n(r,o,i){if(e.coreClient===void 0)throw new ve("core");let s=await x(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!s.ok)throw new j(i,s.code,s.message);return s.data}async function t(r,o){let i=e.giphyApiKey?.trim()??"";if(i==="")throw new ve("giphy");let s=e.fetcher??globalThis.fetch;if(typeof s!="function")throw new ve("giphy");let d=new URLSearchParams({api_key:i,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),a;try{a=await s(`${da}/${r}?${d.toString()}`);}catch{throw new me(0,"network failure")}let p;try{p=await a.json();}catch(v){throw a.ok?new H(`Giphy response \u4E0D\u662F JSON\uFF1A${v instanceof Error?v.message:String(v)}`):new me(a.status,"")}if(!a.ok){let v=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0,y=v!==null&&typeof v=="object"&&!Array.isArray(v)?Q(v.msg):"";throw new me(a.status,y)}let m=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0;if(m!==null&&typeof m=="object"&&!Array.isArray(m)){let v=m,y=Number(v.status);if(Number.isFinite(y)&&y!==200)throw new me(y,Q(v.msg))}return ma(p,o.offset)}return {async listStickerPacks(r){let o=await n("/user/sticker/pack_list",r===void 0?{}:{version:r},"\u8D34\u56FE\u5305\u5217\u8868");if(Array.isArray(o))return {version:"",items:o.map(Rr)};if(o==null)return {version:"",items:[]};let i=X(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),s=i.list??i.packs;if(s==null)return {version:Q(i.version),items:[]};if(!Array.isArray(s))throw new H("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:Q(i.version),items:s.map(Rr)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return Nn(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(i=>Kn(i,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:Fe(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return Dr(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(i=>Kn(i,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",Br(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:Ur(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:Fe(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return Dr(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(i=>la(i,r))},async reportRecent(r){await n("/user/sticker/recent/report",pa(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:Ur(r)},"\u5220\u9664\u6700\u8FD1\u4F7F\u7528");},async listReactionTop(r){let o=await n("/user/reaction/emoji/top",r===void 0?{}:{limit:r},"\u5FEB\u6377\u56DE\u5E94 Top \u5217\u8868");return Nn(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(i=>{let s=X(i,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return ue(s.emoji,"\u5FEB\u6377\u56DE\u5E94 emoji")})},async reportReaction(r){await n("/user/reaction/emoji/report",{emoji:r},"\u4E0A\u62A5\u5FEB\u6377\u56DE\u5E94");},listGiphyTrending:r=>t("trending",r),searchGiphy:r=>t("search",r)}}async function Or(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await x(e,"/user_group/info",{group_id:n.groupId},t)).data}function ya(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return [];let n=e,t=["list","users","user_list","members","member_list","members_list"];for(let r of t)if(Array.isArray(n[r]))return n[r];if(Array.isArray(n.data))return n.data;if(typeof n.data=="object"&&n.data!==null){let r=n.data;for(let o of t)if(Array.isArray(r[o]))return r[o]}return []}function ha(e){if(typeof e=="number")return e;if(typeof e=="string"&&e.trim()!==""){let n=Number(e);return Number.isNaN(n)?void 0:n}}var Nr=200,Ca=50;async function Kr(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let i=1;i<=Ca;i++){let s={group_id:n.groupId,update_version:t,page:String(i),page_size:String(Nr)},{data:d}=await x(e,"/user_group/user/list",s,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(d===null)break;let a=ya(d);if(a.length===0)break;for(let m of a){let v=String(m.user_id??m.userId??"").trim();if(v==="")continue;let y={userId:v,nickName:String(m.nick_name??m.nickName??"").trim()},u=ha(m.join_type??m.joinType);u!==void 0&&(y.joinType=u),r.push(y);}let p=d.update_version;if(typeof p=="number"&&(o=p),a.length<Nr)break}return {members:r,updateVersion:o}}async function Gr(e,n){return (await x(e,"/user/info/friend",{friend_user_id:n.userId})).data}var ba=1440*60*1e3;function Gn(e,n,t=ba){let r=new Map,o=new Map,i=new Map;function s(m){let v=(i.get(m)??0)+1;i.set(m,v);let y=e(m).then(u=>(u!==null&&i.get(m)===v&&(r.set(m,u),n?.save(m,u).catch(()=>{})),u)).finally(()=>{o.get(m)===y&&o.delete(m);});return o.set(m,y),y}return {get:async(m,v)=>{if(v?.forceRefresh===true)return s(m);let y=r.get(m);if(y!==void 0)return y;let u=o.get(m);if(u!==void 0)return u;if(n!==void 0)try{let I=i.get(m)??0,S=await n.get(m);if(S!==null)return (i.get(m)??0)===I&&(r.set(m,S.value),Date.now()-S.updatedAt>t&&s(m)),S.value}catch{}return s(m)},peek:async m=>{let v=r.get(m);if(v!==void 0)return {value:v,stale:false};if(n===void 0)return null;try{let y=i.get(m)??0,u=await n.get(m);if(u!==null)return (i.get(m)??0)===y&&r.set(m,u.value),{value:u.value,stale:Date.now()-u.updatedAt>t}}catch{}return null},clear:()=>{for(let m of new Set([...r.keys(),...o.keys(),...i.keys()]))i.set(m,(i.get(m)??0)+1);r.clear(),o.clear();}}}function Pa(e){async function n(y){let u=await Gr(e.client,{userId:y})??await Ue(e.client,{userId:y});return u===null?null:V(u)}async function t(y){let u=await Or(e.client,{groupId:y,clientType:e.clientType});return u===null?null:W$1(u)}async function r(y){let{members:u}=await Kr(e.client,{groupId:y,clientType:e.clientType});return u.length===0?null:u}function o(y){let u={};for(let I of y)I.nickName!==""&&(u[I.userId]=I.nickName);return u}let{storage:i}=e,s=i===void 0?void 0:{get:async y=>{let u=await i.getUserProfile(y);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(y,u)=>{await i.saveUserProfile({...u,updatedAt:Date.now()});}},d=i===void 0?void 0:{get:async y=>{let u=await i.getGroupMembers(y);return u===null?null:{value:u.members.map(I=>({userId:I.userId,nickName:I.groupNick,...I.joinType===void 0?{}:{joinType:I.joinType}})),updatedAt:u.updatedAt}},save:async(y,u)=>{let I=u.map(S=>({userId:S.userId,groupNick:S.nickName,...S.joinType===void 0?{}:{joinType:S.joinType}}));await i.saveGroupMembers({groupId:y,members:I,updatedAt:Date.now()});}},a=i===void 0?void 0:{get:async y=>{let u=await i.getGroupProfile(y);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(y,u)=>{await i.saveGroupProfile({...u,updatedAt:Date.now()});}},p=Gn(n,s),m=Gn(t,a),v=Gn(r,d);return {getUserProfile:(y,u)=>p.get(y,u),getGroupProfile:(y,u)=>m.get(y,u),getGroupMemberNames:async(y,u)=>{let I=await v.get(y,u);return I===null?null:o(I)},listGroupMembers:(y,u)=>v.get(y,u),peekUserProfile:y=>p.peek(y),peekGroupMemberNames:async y=>{let u=await v.peek(y);return u===null?null:{value:o(u.value),stale:u.stale}},peekGroupMembers:y=>v.peek(y),peekGroupProfile:y=>m.peek(y),clearCache:()=>{p.clear(),m.clear(),v.clear();}}}function Ia(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Z(e,n,t,r){let o=await x(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new j(r,o.code,o.message)}function wa(e){return Z(e.client,"/user_radio/edit",{radio_id:e.channelId,...e.name===void 0?{}:{name:e.name},...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl},...e.description===void 0?{}:{desc:e.description}},"\u4FEE\u6539\u793E\u7FA4\u8D44\u6599")}function _a(e){return Z(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function va(e){return Z(e.client,"/user_radio/member/edit",{radio_id:e.channelId,radio_user_id:e.userId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Sa(e){let n=e.userIds.map(t=>({user_id:Ia(t)}));return Z(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function Aa(e){return Z(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function Ma(e){return Z(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function xa(e){return Z(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function Ea(e){return Z(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function ka(e){return Z(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function Ta(e){return Z(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,verify_way:e.verifyType,...e.verifyType===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}function Ra(e){return Z(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unspeeking_all:e.muted?"1":"0"},e.muted?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u8A00":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u8A00")}function Da(e){return Z(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unvisit_other:e.disabled?"1":"0"},e.disabled?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A")}function Ua(e){return Z(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function Ba(e){Oa(e.channelId,"channel");let n=e.index.trim();if(n==="")throw new Error("CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 index \u7F3A\u5931");e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=e.containAnchor??true,r=z$1({userId:e.userId,clientType:e.clientType,pulls:[{channelId:e.channelId,baseIndex:n,direction:0,count:20,contain:t?1:0}]}),o=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:r}),i=C(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let d=i.messages.filter(a=>a.extensions?.historyCursor===n);if(d.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${d.length}\uFF09`)}let s=i.nextBaseIndexes[e.channelId];return {messages:i.messages,hasNewer:(i.messageCounts[e.channelId]??0)===20&&s!==void 0&&s!==n,...s===void 0?{}:{nextCursor:s}}}function Oa(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function Na(e){let n=Ka(e.indexes),t=f.encode(f.create({sUserId:Ln(e.userId,"user"),lsIndex:n.map(i=>({sChnnId:Ln(i.channelId,"channel"),sIndex:i.readCursor}))})),r=await e.http.postProtobuf({path:"/channel/v1/readIndexes/edit",body:t}),o=g.decode(r);if(o.errcode!==0)throw new Error(`CHANNEL readIndexes/edit \u5931\u8D25\uFF1Aerrcode=${o.errcode}`)}function Ka(e){if(e.length===0)throw new Error("CHANNEL readIndexes/edit \u81F3\u5C11\u9700\u8981\u4E00\u4E2A index");let n=new Set;return e.map(t=>{Ln(t.channelId,"channel");let r=t.readCursor.trim();if(r==="")throw new Error(`CHANNEL readIndexes/edit cursor \u7F3A\u5931\uFF08channelId=${t.channelId}\uFF09`);if(n.has(t.channelId))throw new Error(`CHANNEL readIndexes/edit \u9891\u9053\u91CD\u590D\uFF08channelId=${t.channelId}\uFF09`);return n.add(t.channelId),{channelId:t.channelId,readCursor:r}})}function Ln(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function Ga(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u8BBE\u7F6E\u9ED1\u540D\u5355\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await x(e,"/user/black/set",{friend_user_id:t,status:n.blocked?2:1},{responseMode:"strict",method:"POST"});if(!r.ok)throw new Error(`${n.blocked?"\u52A0\u5165":"\u79FB\u51FA"}\u9ED1\u540D\u5355\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}var cn=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u7528\u6237\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="ContactUserSearchError",this.responseCode=n;}},dn=class extends Error{kind;responseCode;constructor(n,t,r){super(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="ContactFriendshipRequestError",this.kind=n,this.responseCode=t;}},Hn={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},La=36875,Ha=40113;function Fn(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ae(e){let n=Fn(e);return n===""?void 0:n}function Lr(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function Fa(e){switch(e){case Hn.HIDDEN_CONTACT:return "hidden-contact";case Hn.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case Hn.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function $a(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await x(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new cn(r.code,r.message);let o=Lr(r.data);if(o===void 0)return null;let i=Fn(o.user_id??o.userId);if(i==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let s=Fn(o.nick_name??o.nickname??o.name)||i,d=o.friend_status??o.friendStatus,a=d===void 0?void 0:Number(d);if(a!==void 0&&!Number.isInteger(a))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:i,nickname:s,...ae(o.username)===void 0?{}:{username:ae(o.username)},...ae(o.mid)===void 0?{}:{miCallId:ae(o.mid)},...ae(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:ae(o.head_img_url??o.avatar)},...ae(o.per_signature??o.signature)===void 0?{}:{signature:ae(o.per_signature??o.signature)},...a===void 0?{}:{friendStatus:a}}}async function Ja(e,n){let t=n.userId.trim(),r=n.message.trim(),o=n.remark?.trim();if(t===""||r==="")throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1AuserId \u548C message \u4E0D\u80FD\u4E3A\u7A7A");let i=await x(e,"/friend/apply/do",{to_user_id:t,remarks:r,...o===void 0||o===""?{}:{remark_nick_name:o}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!i.ok)throw new dn(Fa(i.code),i.code,i.message);let s=Lr(i.data),d=Number(s?.status??0);if(d!==0&&d!==1&&d!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${d}`);let a=ae(s?.message??s?.msg??i.message);return {status:d,...a===void 0?{}:{message:a}}}async function Va(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await x(e,"/friend/del",{friend_user_id:t},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok&&r.code!==Ha)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function ja(e,n){let t=n.reporterUserId.trim(),r=n.targetUserId.trim(),o=n.problem.trim();if(t===""||r===""||o==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1AreporterUserId\u3001targetUserId \u548C problem \u4E0D\u80FD\u4E3A\u7A7A");let i=await x(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!i.ok)throw new j("\u4E3E\u62A5\u8054\u7CFB\u4EBA",i.code,i.message)}function qa(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function za(e){let n=e.memberIds.map(t=>({user_id:qa(t)}));return x(e.client,"/user_radio/create",{name:e.name,secret_key:e.secretKey,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function Wa(e){return x(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function Ya(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Qa(e){let n=e.memberIds.map(t=>({user_id:Ya(t)}));return x(e.client,"/user_group/create",{name:e.name,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function Me(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function xe(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function Hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Xa(e){Me(e.groupId);let n=await x(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Hr(n.data))throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.groupId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u7FA4\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 groupId");if(!Hr(t)||t.group_id!==e.groupId||t.group_type!==2||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==2)throw new Error("board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(o.envelope.receiverId!==e.groupId)throw new Error("board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 groupId \u4E0D\u4E00\u81F4");return {...n,data:{groupId:r.group_id,groupType:2,messageContent:r.msg_content}}}function Fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Za(e){xe(e.channelId);let n=await x(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Fr(n.data))throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.channelId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u9891\u9053\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 channelId");if(!Fr(t)||t.group_id!==e.channelId||t.group_type!==1||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==3)throw new Error("channel board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(o.envelope.receiverId!==e.channelId)throw new Error("channel board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 channelId \u4E0D\u4E00\u81F4");return {...n,data:{channelId:r.group_id,groupType:1,messageContent:r.msg_content}}}async function es(e,n){let r=(await x(e,"/user_radio/info",{radio_id:n.channelId},{...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}})).data?.secret_key;return typeof r=="string"&&r.trim()!==""?r:null}function ns(e){if(typeof e!="string"||e.length===0)return false;try{let n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return false}}async function ts(e){let n=await e("/system/background/list",{target:"core",method:"POST",data:{}});if(n.code!==200)throw new Error(`\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u8BF7\u6C42\u5931\u8D25\uFF1A${n.code}${n.msg?` ${n.msg}`:""}`);if(!Array.isArray(n.data?.lists))throw new Error("\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u54CD\u5E94\u7F3A\u5C11 lists");let t=[],r=new Set;for(let o of n.data.lists){let i=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";i.length===0||o.is_enabled!==1||!ns(o.img_url)||r.has(i)||(r.add(i),t.push({id:i,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function rs(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function $e(e,n,t,r){let o=await x(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new j(r,o.code,o.message)}function os(e){let n=e.userIds.map(t=>({user_id:rs(t)}));return $e(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function is(e){return $e(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function as(e){return $e(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function ss(e){return $e(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function cs(e){return $e(e.client,"/user_group/edit",{group_id:e.groupId,verify_way:e.verifyWay,...e.verifyWay===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}var ds=new Set([200,32768]);async function us(e){let n=P({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=Q$1(t);if(!ds.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var Je=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function ls(e,n){if(e===true||e===1||e==="1")return Object.freeze({outcome:"waiting"});if(e==null||e===false||e===0||e==="0")return Object.freeze({outcome:"joined"});throw new Je(n)}async function $r(e,n,t,r){let o=await x(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new j(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new Je(r);return ls(o.data.is_waitting,r)}async function Jr(e,n,t,r){let o=await x(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new j(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function ps(e){return $r(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function fs(e){return Jr(e.client,"/user_group/enter_by_invite_code",{group_id:e.groupId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u666E\u901A\u7FA4")}function ms(e){return $r(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function gs(e){return Jr(e.client,"/user_radio/enter_by_invite_code",{radio_id:e.channelId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u793E\u7FA4")}async function ys(e){if(Me(e.groupId),e.messageContent.trim()==="")throw new Error("board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==2)throw new Error("board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(n.envelope.receiverId!==e.groupId)throw new Error("board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 groupId \u4E0D\u4E00\u81F4");let t=await x(e.client,"/api/v1/board/board_msg_top",{group_id:e.groupId,group_type:2,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function hs(e){if(xe(e.channelId),e.messageContent.trim()==="")throw new Error("channel board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==3)throw new Error("channel board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(n.envelope.receiverId!==e.channelId)throw new Error("channel board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 channelId \u4E0D\u4E00\u81F4");let t=await x(e.client,"/api/v1/board/board_msg_top",{group_id:e.channelId,group_type:1,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("channel board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function Cs(e){let n=T({userId:e.userId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/chat/msg/by_id",body:n});return U(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function bs(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=N$1({userId:e.userId,groupId:e.groupId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/msg/by_id",body:n});return O(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function Ps(e){e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let n=D({userId:e.userId,channelId:e.channelId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/channel/v1/msg/by_id",body:n});return E(t,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],diagnostic:{endpoint:"msgById",surface:"msg-by-id",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}var Is=20,Vr=10,$n=30,ws=100;async function _s(e){let n=[];for(let t of qr(e.channels,Is)){let r=y({userId:e.userId,clientType:e.clientType,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),i={selfId:e.userId,keepRaw:true,expectedChannelIds:t.map(d=>d.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType}},s=B$1(o,i);await jr(e,s.sessions.filter(d=>d.channelState==="active"||d.raw?.status===0).map(d=>d.channelId)),n.push(...B$1(o,{...i,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function vs(e){let n=Ms(e.channelBatchSize),t=e.messageCount??$n,r=xs(e.maxPagesPerBatch),o=new Map;for(let i of qr(e.pulls,n)){let s=i.map(p=>({...p})),d=new Map(s.map(p=>[p.channelId,new Set([p.baseIndex])])),a=0;for(;s.length>0;){if(a>=r){let u=s.map(({channelId:I,baseIndex:S})=>`${I}@${S}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${u}\uFF09`)}a+=1;let p=z$1({userId:e.userId,clientType:e.clientType,pulls:s.map(u=>({channelId:u.channelId,baseIndex:u.baseIndex,direction:0,count:t,contain:0}))}),m=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:p});await jr(e,s.map(u=>u.channelId));let v=C(m,{selfId:e.userId,keepRaw:true,expectedChannelIds:s.map(u=>u.channelId),diagnostic:{endpoint:"offlineMessages",surface:"offline-batch",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);for(let u of v.messages)o.has(u.id)||o.set(u.id,u);let y=[];for(let u of s){let I=v.nextBaseIndexes[u.channelId],S=v.messageCounts[u.channelId]??0;if(I===void 0)continue;let T=d.get(u.channelId);if(T.has(I))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${u.channelId}, baseIndex=${I}\uFF09`);S<t||(T.add(I),y.push({channelId:u.channelId,baseIndex:I}));}s=y;}}return [...o.values()].sort(k)}async function Ss(e$1){let n=e$1.count??$n;if(!Number.isInteger(n)||n<=0)throw new Error("channel latest: count \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");e$1.decryptDeps!==void 0&&e$1.prepareKey!==void 0&&await e$1.prepareKey(e$1.channelId);let t=z$1({userId:e$1.userId,clientType:e$1.clientType,pulls:[{channelId:e$1.channelId,baseIndex:"",direction:1,count:n,contain:0}]}),r=await e$1.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t}),o=C(r,{selfId:e$1.userId,keepRaw:true,expectedChannelIds:[e$1.channelId],diagnostic:{endpoint:"offlineMessages",surface:"history-page",...e$1.operationId===void 0?{}:{operationId:e$1.operationId},clientTypeHeader:e$1.clientType,clientTypeBody:e$1.clientType},onContentDecodeError:e$1.onContentDecodeError,onReaction:e$1.onReaction},e$1.decryptDeps),i=e.decode(r),s=o.batchSize===n,d=i.lsMessage[0]?.sIndex;if(s&&(typeof d!="string"||d.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:o.messages,hasOlder:s,...s?{nextCursor:d}:{}}}async function As(e){let n=e.count??$n;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=A({userId:e.userId,clientType:e.clientType,channelId:e.channelId,baseIndex:e.baseIndex,count:n,contain:e.contain??0}),r=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t});return F(r,{selfId:e.userId,channelId:e.channelId,requestedBaseIndex:e.baseIndex,requestedCount:n,keepRaw:true,diagnostic:{endpoint:"history",surface:"history-page",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}async function jr(e,n){if(e.decryptDeps===void 0||e.prepareKeys===void 0)return;let t=[...new Set(n.filter(Boolean))];t.length>0&&await e.prepareKeys(t);}function Ms(e){if(e===void 0)return Vr;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,Vr)}function xs(e){if(e===void 0)return ws;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function qr(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function zr(e,n){let t=R({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return S(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function Wr(e){return zr("/offline/v1/chat",e)}function Yr(e){return zr("/offline/v1/owner_chat",e)}function Es(e){return Wr(e).then(n=>n.messages)}function ks(e){return Yr(e).then(n=>n.messages)}function Qr(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function Ts(e){let n=H$1({userId:e.userId,clientType:e.clientType,limit:e.limit,deliveredMsgIds:e.deliveredMsgInfos?.map(r=>r.msgId)}),t=await e.http.postProtobuf({path:"/offline/v1/group",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=J$1(t,{selfId:e.userId}),o=Qr(r.messages.map(i=>i.conversationId));o.length>0&&await e.prepareKeys(o);}return J$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Rs(e){let n=I({userId:e.userId,clientType:e.clientType,size:e.size}),t=await e.http.postProtobuf({path:"/offline/v1/group/session",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=K$1(t,{selfId:e.userId}),o=Qr([...r.unreads.map(i=>i.groupId),...r.messages.map(i=>i.conversationId)]);o.length>0&&await e.prepareKeys(o);}return K$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Ds(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=L$1({userId:e.userId,groupId:e.groupId,baseTime:e.baseTime,direct:e.direct,limit:e.limit,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/history_msg",body:n});return M(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function Us(e){let n=$$1({userId:e.userId,clientType:e.clientType,limit:e.limit??100,msgId:String(Date.now()),deliveredMsgIds:e.deliveredMsgIds}),t=await e.http.postProtobuf({path:"/offline/v1/signal",body:n});return aa$1(t)}var Bs={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting"},Os={direct:"friend_user_id",group:"group_id",channel:"radio_id"};async function Ns(e){let n=Bs[e.conversationType],t=Os[e.conversationType];if(n===void 0||t===void 0)throw new Error(`\u514D\u6253\u6270\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${e.conversationType}`);let{code:r}=await x(e.client,n,{[t]:e.targetId,is_undisturb:e.muted?"1":"0"},{method:"POST"});if(r!==200)throw new Error(`\u514D\u6253\u6270\u8BBE\u7F6E\u5931\u8D25\uFF1Acode=${r}\uFF08${e.conversationType} ${e.targetId}\uFF09`)}async function Ks(e){let n={friend_user_id:e.userId};e.name!==void 0&&(n.nick_name=e.name),e.email!==void 0&&(n.ext_email=JSON.stringify(e.email)),e.phones!==void 0&&(n.ext_mobile=JSON.stringify(e.phones.map(r=>({country_code:r.countryCode,mobile:r.mobile}))));let{code:t}=await x(e.client,"/friend/remarks/update",n,{method:"POST"});if(t!==200)throw new Error(`\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u5931\u8D25\uFF1Acode=${t}\uFF08userId=${e.userId}\uFF09`)}async function Gs(e){let{code:n}=await x(e.client,"/user_group/user/edit",{group_id:e.groupId,nick_name:e.nickname},{method:"POST"});if(n!==200)throw new Error(`\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u5931\u8D25\uFF1Acode=${n}\uFF08groupId=${e.groupId}\uFF09`)}async function Ls(e){Me(e.groupId);let n=await x(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function Hs(e){xe(e.channelId);let n=await x(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("channel board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function Fs(e){let n={group_id:e.groupId};e.name!==void 0&&(n.name=e.name),e.avatarUrl!==void 0&&(n.head_img_url=e.avatarUrl);let{code:t}=await x(e.client,"/user_group/edit",n,{method:"POST"});if(t!==200)throw new Error(`\u4FEE\u6539\u7FA4\u8D44\u6599\u5931\u8D25\uFF1Acode=${t}\uFF08groupId=${e.groupId}\uFF09`)}var $s="1970-01-01 08:00:00",Js="2000",Vs="",un=class extends Error{constructor(){super("\u4F1A\u8BDD\u6536\u85CF Core API \u672A\u914D\u7F6E"),this.name="SessionFavoriteProviderUnavailableError";}},le=class extends Error{constructor(n){super(n),this.name="SessionFavoriteMappingError";}};function J(e){return typeof e=="string"?e:e==null?"":String(e)}function Ve(e,n){let t=J(e).trim();if(t==="")throw new le(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function js(...e){for(let n of e){let t=J(n).trim();if(/^https?:\/\//i.test(t))return t}return ""}function qs(e){let n=typeof e=="number"?e:Number(String(e??"").trim());return n===1?"text":n===2?"image":n===3?"video":n===4?"voice":n===5?"location":n===11?"file":null}function zs(e){return e==="text"?1:e==="image"?2:e==="video"?3:e==="voice"?4:e==="location"?5:11}function Ws(e){if(e==="direct")return 0;if(e==="group")return 1;if(e==="channel")return 2;throw new le(`favorite conversation type ${e}`)}function Ys(e){let n=e.thumbData??e.thumb_data??e.thumbBase64;if(typeof n!="string")return "";let t=n.trim();return t.startsWith("data:image/")?t:t.includes("://")||t.length<32?"":`data:image/jpeg;base64,${t}`}function Qs(e){return js(e.imageURL,e.imageUrl,e.videoURL,e.videoUrl,e.url)}function Xr(e){let n=Ys(e);if(n!=="")return n;let t=J(e.thumbUrl||e.thumb_url).trim();if(t.startsWith("data:image/"))return t;let r=Qs(e);return /^https?:\/\//i.test(t)&&t!==r?t:""}function ln(e,n){return n==="text"||n==="location"?J(e.content).trim():n==="file"?J(e.fileName||e.file_name||e.name).trim():""}function Xs(e,n){let t=J(e.group_id).trim(),r=J(e.radio_id).trim(),o=Number(J(e.msg_type).trim());if(o===1&&t!=="")return {conversationType:"group",conversationId:t};if(o===2&&r!=="")return {conversationType:"channel",conversationId:r};if(t!=="")return {conversationType:"group",conversationId:t};if(r!=="")return {conversationType:"channel",conversationId:r};if(o===0){let i=J(e.from_id).trim(),s=J(e.to_id).trim(),d=i===n.trim()?s:i;if(d!=="")return {conversationType:"direct",conversationId:d}}return null}function Zs(e,n){let t=e.from_user,r=J(t?.nick_name||t?.nickname||t?.name).trim();return r===""?n:r}function ec(e,n){let t=J(e.uu_id).trim(),r=qs(e.content_type),o=jt(J(e.msg_body),n);if(t===""||r===null||o===null)return null;let i=J(e.from_id).trim();return Object.freeze({collectId:t,msgId:J(e.msg_id).trim(),kind:r,senderId:i,senderName:Zs(e,i),avatarUrl:J(e.from_user?.avatar).trim(),createdAt:J(e.create_time||e.update_time||e.msg_time).trim(),text:ln(o,r),imageUrl:r==="image"||r==="video"?Xr(o):"",fileName:r==="file"?ln(o,"file"):"",body:Object.freeze({...o}),conversation:Xs(e,n)})}function nc(e){if(e==null)return [];if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null&&"list"in e){let n=e.list;if(n==null)return [];if(Array.isArray(n))return n}throw new le("favorite list data \u5FC5\u987B\u662F\u6570\u7EC4\u6216 { list }")}function tc(){if(typeof crypto>"u"||typeof crypto.randomUUID!="function")throw new le("collect uuid \u4E0D\u53EF\u7528");return crypto.randomUUID()}function rc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function oc(e){async function n(t,r,o){if(e.coreClient===void 0)throw new un;let i=await x(e.coreClient,t,r,{method:"POST",responseMode:"strict",prefix:Vs});if(!i.ok)throw new j(o,i.code,i.message);return i.data}return {async list(){let t=Ve(e.getUserId(),"favorite userId"),r=await n("/api/v1/user/favorite/list",{start_time:$s,page_size:Js},"\u4F1A\u8BDD\u6536\u85CF\u5217\u8868");return Object.freeze(nc(r).flatMap(o=>{let i=ec(o,t);return i===null?[]:[i]}))},async add(t){let r=Ve(e.getUserId(),"favorite userId"),o=(e.createCollectId??tc)(),i={msg_id:Ve(t.messageId,"favorite msgId"),content_type:zs(t.kind),msg_type:Ws(t.conversation.conversationType),msg_time:String(t.createdAt),from_id:Ve(t.senderId,"favorite fromId"),to_id:Ve(t.peerId,"favorite toId"),is_hide:t.hide===true?"1":"0",uu_id:o,msg_body:Vt(JSON.stringify(t.plainBody),r)};return t.conversation.conversationType==="group"&&(i.group_id=t.conversation.conversationId),t.conversation.conversationType==="channel"&&(i.radio_id=t.conversation.conversationId),await n("/api/v1/user/favorite/add",i,"\u6DFB\u52A0\u4F1A\u8BDD\u6536\u85CF"),rc({collectId:o,msgId:t.messageId.trim(),kind:t.kind,senderId:t.senderId.trim(),senderName:t.senderId.trim(),avatarUrl:"",createdAt:String(t.createdAt),text:ln(t.plainBody,t.kind),imageUrl:t.kind==="image"||t.kind==="video"?Xr(t.plainBody):"",fileName:t.kind==="file"?ln(t.plainBody,"file"):"",body:t.plainBody,conversation:t.conversation})},async delete(t){let r=[...new Set(t.map(o=>o.trim()).filter(o=>o!==""))];if(r.length===0)throw new le("favorite ids \u4E0D\u80FD\u4E3A\u7A7A");await n("/api/v1/user/favorite/del",{ids:r.join("|")},"\u5220\u9664\u4F1A\u8BDD\u6536\u85CF");}}}function ic(){let e=typeof navigator>"u"?void 0:navigator,n=e?.hardwareConcurrency??4;return (e?.deviceMemory??4)<=2?2:Math.min(4,Math.max(2,Math.floor(n/4)))}function ac(e){let n={active:0,disposed:false},t=[];function r(){for(;!n.disposed&&n.active<e&&t.length>0;){let o=t.shift();if(o.signal?.aborted){o.reject(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));continue}o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),n.active+=1;let i=false;o.resolve(()=>{i||(i=true,n.active-=1,r());});}}return {acquire(o){return n.disposed?Promise.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E")):new Promise((i,s)=>{let d={resolve:i,reject:s,...o===void 0?{}:{signal:o}};o!==void 0&&(d.onAbort=()=>{let a=t.indexOf(d);a>=0&&t.splice(a,1),s(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",d.onAbort,{once:true})),t.push(d),r();})},dispose(){n.disposed=true;for(let o of t.splice(0))o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),o.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E"));}}}function pn(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}function Zr(e,n,t){let r=Math.min(1,t/Math.max(e,n));return {width:Math.max(1,Math.round(e*r)),height:Math.max(1,Math.round(n*r))}}async function eo(e,n,t,r,o){pn(o);let i=document.createElement("canvas");i.width=n,i.height=t;let s=i.getContext("2d");if(s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");s.drawImage(e,0,0,n,t);let d=await new Promise(a=>i.toBlob(a,"image/jpeg",r));if(pn(o),d===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await d.arrayBuffer()}function Jn(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function no(e,n){if(!Number.isFinite(e)||e<=0||e>1)throw new RangeError(`${n}\u5FC5\u987B\u5927\u4E8E 0 \u4E14\u4E0D\u8D85\u8FC7 1`)}async function Vn(e,n,t,r,o){let i=r.kind==="video",s=i?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",d=r.maxSize??320,a=r.targetBytes??(i?10240:12288),p=r.maxBytes??(i?16384:20480),m=r.quality??(i?.84:.9),v=r.minQuality??(i?.68:.72);if(Jn(d,`${s}\u6700\u5927\u8FB9\u957F`),Jn(a,`${s}\u76EE\u6807\u5B57\u8282\u6570`),Jn(p,`${s}\u6700\u5927\u5B57\u8282\u6570`),no(m,`${s}\u521D\u59CB\u8D28\u91CF`),no(v,`${s}\u6700\u4F4E\u8D28\u91CF`),a>p)throw new RangeError(`${s}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(v>m)throw new RangeError(`${s}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let y=Zr(n,t,d),u=Math.min(200,Math.max(y.width,y.height)),I,S=[...new Set([m,Math.max(v,m-.12),v])];for(let c of S){let g=await eo(e,y.width,y.height,c,o);if((I===void 0||g.byteLength<I.byteLength)&&(I=g),g.byteLength<=a)return g}let T=Math.max(y.width,y.height);if(T>u&&I!==void 0){let c=Math.sqrt(a/I.byteLength),g=Math.max(u,Math.floor(T*Math.min(.9,Math.max(.5,c))));y=Zr(n,t,g);for(let P of [m,v]){let f=await eo(e,y.width,y.height,P,o);if(f.byteLength<I.byteLength&&(I=f),f.byteLength<=a)return f}}if(I!==void 0&&I.byteLength<=p)return I;throw new Error(`${s}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${p} \u5B57\u8282\u786C\u4E0A\u9650`)}function to(e,n,t){return new Promise((r,o)=>{let i,s,d,a,p=()=>{i!==void 0&&clearTimeout(i),e.removeEventListener(n,s),e.removeEventListener("error",d),t?.removeEventListener("abort",a);};s=()=>{p(),r();},d=()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},a=()=>{p(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},i=setTimeout(()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},15e3),e.addEventListener(n,s,{once:true}),e.addEventListener("error",d,{once:true}),t?.addEventListener("abort",a,{once:true});})}async function sc(e,n){pn(n);let t;try{t=await createImageBitmap(e.file);}catch(i){if(n?.aborted)throw i}if(t!==void 0)try{if(pn(n),e.includePoster===!1)return {width:t.width,height:t.height};let i=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=i&&Math.max(t.width,t.height)<=(e.maxSize??320)?{width:t.width,height:t.height,posterData:await e.file.arrayBuffer()}:{width:t.width,height:t.height,posterData:await Vn(t,t.width,t.height,e,n)}}finally{t.close();}let r=URL.createObjectURL(e.file),o=new Image;try{if(await new Promise((s,d)=>{let a,p,m=()=>{a!==void 0&&clearTimeout(a),o.onload=null,o.onerror=null,n?.removeEventListener("abort",p);};p=()=>{m(),d(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.onload=()=>{m(),s();},o.onerror=()=>{m(),d(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},a=setTimeout(()=>{m(),d(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},15e3),n?.addEventListener("abort",p,{once:!0}),o.src=r;}),e.includePoster===!1)return {width:o.naturalWidth,height:o.naturalHeight};let i=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=i&&Math.max(o.naturalWidth,o.naturalHeight)<=(e.maxSize??320)?{width:o.naturalWidth,height:o.naturalHeight,posterData:await e.file.arrayBuffer()}:{width:o.naturalWidth,height:o.naturalHeight,posterData:await Vn(o,o.naturalWidth,o.naturalHeight,e,n)}}finally{o.removeAttribute("src"),URL.revokeObjectURL(r);}}async function cc(e,n){let t=URL.createObjectURL(e.file),r=document.createElement("video");r.muted=true,r.preload="metadata",r.playsInline=true;try{r.src=t,r.load(),await to(r,"loadeddata",n);let o=r.videoWidth,i=r.videoHeight;if(o<=0||i<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let s=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,d=e.atTime===void 0?s===void 0?0:Math.min(1,s/2):Math.max(0,Math.min(e.atTime,s??e.atTime));d>0&&(r.currentTime=d,await to(r,"seeked",n));let a=s===void 0?void 0:s,p;try{p=await Vn(r,o,i,e,n);}catch(m){if(n?.aborted||m instanceof RangeError)throw m}return {width:o,height:i,...a===void 0?{}:{duration:a},...p===void 0?{}:{posterData:p}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function jn(e={}){let n=e.maxConcurrency??ic();if(!Number.isInteger(n)||n<1||n>4)throw new RangeError("\u5A92\u4F53\u9884\u89C8\u5E76\u53D1\u6570\u5FC5\u987B\u662F 1-4 \u7684\u6574\u6570");let t=ac(n),r=false;return {async prepare(o,i){if(r)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=await t.acquire(i);try{return o.kind==="video"?await cc(o,i):await sc(o,i)}finally{s();}},dispose(){r||(r=true,t.dispose());}}}var ro="image/jpeg";function qn(e,n){return new Blob([e],n===void 0||n===""?{}:{type:n})}function dc(){let e=jn(),n=0;return {async imageDimensions(t,r){let o=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:qn(t,r),includePoster:false});return {width:o.width,height:o.height}},async imageThumbnail(t,r){let o=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:qn(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality}});if(o.posterData===void 0)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,mimeType:ro}},async videoPoster(t,r){let o=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:qn(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality},...r?.atTime===void 0?{}:{atTime:r.atTime}});if(o.posterData===void 0)throw new Error("\u89C6\u9891\u5C01\u9762\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,duration:Math.round(o.duration??0),mimeType:ro}}}}var je;function uc(){if(je!==void 0)return je;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/credential-provider-cognito-identity'),import('@aws-sdk/lib-storage'),import('@aws-sdk/xhr-http-handler')]).then(([t,r,o,i])=>({S3Client:t.S3Client,fromCognitoIdentityPool:r.fromCognitoIdentityPool,Upload:o.Upload,XhrHttpHandler:i.XhrHttpHandler})).catch(t=>{throw je===n&&(je=void 0),t});return je=n,n}function lc(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function pc(e){return globalThis.crypto.randomUUID()+lc(e)}function fc(e){let n=e.identityPoolId.split(":")[0]??"",t;function r(a){return t??=a.fromCognitoIdentityPool({identityPoolId:e.identityPoolId,clientConfig:{region:n}}),new a.S3Client({region:n,credentials:t,useAccelerateEndpoint:e.useAccelerateEndpoint??true,requestHandler:new a.XhrHttpHandler({})})}async function o(a,p,m){if(p===void 0||p.bucket===""||p.host==="")throw new Error(`media upload: kind=${m} \u7684 bucket/host \u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let v=await uc(),y=pc(a.filename),u=r(v),I=new v.Upload({client:u,params:{Bucket:p.bucket,Key:y,Body:a.data,ACL:"public-read",...a.mimeType!==void 0&&a.mimeType!==""?{ContentType:a.mimeType}:{}},partSize:Math.max(5242880,a.data.byteLength)});a.onProgress!==void 0&&I.on("httpUploadProgress",T=>{let c=T.total??a.data.byteLength,g=T.loaded??0,P=c>0?Math.min(99,Math.round(g/c*100)):0;a.onProgress?.({percent:P,bytesTransferred:g,bytesTotal:c,phase:c>0&&g>=c?"finalizing":"transferring"});});let S=()=>{I.abort();};a.signal?.aborted?await I.abort():a.signal?.addEventListener("abort",S,{once:true});try{await I.done();}finally{a.signal?.removeEventListener("abort",S),u.destroy();}return a.onProgress?.({percent:100,bytesTransferred:a.data.byteLength,bytesTotal:a.data.byteLength,phase:"finalizing"}),{url:`${p.host}/${y}`}}function i(a){return o(a,e.buckets[a.kind],a.kind)}function s(a){return o(a,e.avatar,"avatar")}async function d(a){if(a.onProgress!==void 0&&typeof XMLHttpRequest<"u")return mc(a);let p=await fetch(a.url,a.signal!==void 0?{signal:a.signal}:{});if(!p.ok)throw new Error(`media download \u5931\u8D25\uFF1AHTTP ${p.status} ${a.url}`);return a.onProgress===void 0||p.body===null?new Uint8Array(await p.arrayBuffer()):gc(p,a.onProgress,a.expectedBytes)}return {upload:i,uploadAvatar:s,download:d}}function mc(e){return new Promise((n,t)=>{let r=new XMLHttpRequest,o=false,i=()=>{},s=()=>{e.signal?.removeEventListener("abort",i),r.onprogress=null,r.onload=null,r.onerror=null,r.onabort=null;},d=a=>{o||(o=true,s(),a());};if(i=()=>{r.abort(),d(()=>t(new DOMException("media download canceled","AbortError")));},r.open("GET",e.url,true),r.responseType="arraybuffer",r.onprogress=a=>{let p=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,m=a.lengthComputable&&a.total>0?a.total:p,v=m>0?Math.min(99,Math.round(a.loaded/m*100)):0;e.onProgress?.({percent:v,bytesTransferred:a.loaded,bytesTotal:m});},r.onload=()=>{if(r.status<200||r.status>=300){d(()=>t(new Error(`media download \u5931\u8D25\uFF1AHTTP ${r.status} ${e.url}`)));return}let a=r.response;if(!(a instanceof ArrayBuffer)){d(()=>t(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}d(()=>n(new Uint8Array(a)));},r.onerror=()=>d(()=>t(new Error(`media download \u5931\u8D25\uFF1Anetwork ${e.url}`))),r.onabort=()=>d(()=>t(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){i();return}e.signal?.addEventListener("abort",i,{once:true}),r.send();})}async function gc(e,n,t){let r=Number(e.headers.get("content-length")??0),o=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,i=r>0?r:o,s=e.body.getReader(),d=[],a=0;for(;;){let{done:v,value:y}=await s.read();if(v)break;d.push(y),a+=y.byteLength;let u=i>0?Math.min(99,Math.round(a/i*100)):0;n({percent:u,bytesTransferred:a,bytesTotal:i});}let p=new Uint8Array(a),m=0;for(let v of d)p.set(v,m),m+=v.byteLength;return p}function yc(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function hc(e,n={}){let t=n.target!==void 0?n.target:yc(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,i=false,s=()=>e.onOnline?.(),d=()=>e.onOffline?.(),a=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},p=()=>e.onPageHide?.(),m=()=>e.onPageShow?.();return {start(){i||(i=true,t!=null&&(t.addEventListener("online",s),t.addEventListener("offline",d)),r?.addEventListener("visibilitychange",a),o!=null&&(o.addEventListener("pagehide",p),o.addEventListener("pageshow",m)));},stop(){i&&(i=false,t!=null&&(t.removeEventListener("online",s),t.removeEventListener("offline",d)),r?.removeEventListener("visibilitychange",a),o!=null&&(o.removeEventListener("pagehide",p),o.removeEventListener("pageshow",m)));},get running(){return i}}}var Pc=12,Ic=2*1024*1024*1024,oo=1024*1024*1024,wc=512*1024*1024,_c=256*1024*1024,vc=64*1024,zn="channel:list-version",io="schema:conversation-key-v1",Wn="default",he="\uFFFF";function ao(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function Sc(e,n){let t=ao(e),r=ao(n);return t===void 0?r===void 0?0:-1:r===void 0?1:t.length!==r.length?t.length>r.length?1:-1:t===r?0:t>r?1:-1}function qe(e){return `conversation:${ya$1(e)}`}function Yn(e,n){return `${ya$1(e)}\0${n}`}function Ac(e){let n=ya$1(e.conversation);return {...e,key:Yn(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function Mc(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function uo(e){return {...e,conversationKey:ya$1(va$1(e))}}function Ce(e){let{conversationKey:n,...t}=e;return t}function fn(e){return {...e,id:ya$1(wa$1(e)),conversationId:e.id}}function Qn(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function Xn(e){return e.conversationType===void 0?e:{...e,conversationId:ya$1(e),storageConversationId:e.conversationId}}function so(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function lo(e){return {...e,conversationId:ya$1(xa$1(e)),storageConversationId:e.conversationId}}function Zn(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function xc(e){return {...e,conversationKey:ya$1(e.ref)}}function Ec(e){let{conversationKey:n,...t}=e;return t}function kc(e){return typeof e=="string"?e:e.conversationId}function ze(e,n){if(new Set(n.map(t=>t.conversationType)).size>1)throw new Error(`\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF1A${e}`)}async function Tc(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(io))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let a of await r.getAll())a.conversationKey===void 0&&await r.put(uo(a));let o=n.objectStore("sessions"),i=new Map;for(let a of await o.getAll()){if(a.conversationId!==void 0)continue;let p=Qn(a);i.set(p.id,p.type),await o.put(fn(p)),await o.delete(a.id);}let s=n.objectStore("readStates");for(let a of await s.getAll()){if(a.storageConversationId!==void 0)continue;let p=a.conversationType??i.get(a.conversationId);if(p===void 0)continue;let m={...a,conversationType:p};await s.put(Xn(m)),await s.delete(a.conversationId);}let d=n.objectStore("pinnedMessages");for(let a of await d.getAll()){if(a.storageConversationId!==void 0)continue;let p=Zn(a);await d.put(lo(p)),await d.delete(a.conversationId);}await t.put({key:io,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function co(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function Rc(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function Dc(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,i=Promise.resolve(),s=0,d=e.mediaAssetCache?.maxPendingWriteBytes??_c;if(!Number.isSafeInteger(d)||d<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function a(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}async function p(c){if(typeof c!="string")return;let g=IDBKeyRange.bound([c,""],[c,he]),P=(await a().transaction("messages").store.index("by_conv_sort").getAll(g)).map(Ce);ze(c,P);}function m(c){let g=i.then(c,c);return i=g.then(()=>{},()=>{}),g}function v(c,g){if(c!==o||g===null||g!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function y(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}async function u(c){let g=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:P,usage:f}=await g();if(P===void 0||!Number.isFinite(P)||P<=0)return oo;let h=c.reduce((b,l)=>b+l.byteLength,0),A=Math.max(0,(f??0)-h),k=Math.max(wc,Math.floor(P*.2));return Math.max(0,Math.min(Ic,Math.floor(P-A-k)))}catch{return oo}}async function I(c,g,P){if(c.length===0)return;v(g,P);let f=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(c.flatMap(h=>[f.objectStore("mediaAssets").delete(h),f.objectStore("mediaAssetMeta").delete(h)])),await f.done;}async function S(c,g,P,f){v(c,g);let h=a(),A=e.mediaAssetCache?.strategies;if(A===void 0)return;let k=f??await h.getAll("mediaAssetMeta");v(c,g);let b=new Set;for(let _ of A.list()){let M=k.filter(R=>R.kind===_.kind).sort((R,U)=>R.lastAccessedAt-U.lastAccessedAt),E=M.reduce((R,U)=>R+U.byteLength,0),D=M.length;for(let R of M){if(E<=_.softMaxBytes&&D<=_.maxEntries)break;b.add(R.key),E-=R.byteLength,D-=1;}}let l=k.filter(_=>!b.has(_.key)).sort((_,M)=>_.lastAccessedAt-M.lastAccessedAt),w=Math.max(0,Math.min(await u(k),P??Number.POSITIVE_INFINITY)),C=l.reduce((_,M)=>_+M.byteLength,0);for(let _ of l){if(C<=w)break;b.add(_.key),C-=_.byteLength;}await I([...b],c,g);}async function T(c,g,P){v(g,P);let f=e.mediaAssetCache?.strategies.resolve(c.kind);if(f===void 0)return "skipped";let h=c.bytes,A=await a().getAll("mediaAssetMeta"),k=await u(A);if(v(g,P),h.byteLength===0||h.byteLength>f.maxEntryBytes||k<=0||h.byteLength>Math.floor(k/2))return "skipped";let b=co(c),l=y(),w=A.find(D=>D.key===b),C={key:b,kind:c.kind,messageId:c.messageId,resourceVersion:c.resourceVersion,byteLength:h.byteLength,...c.mimeType===void 0?{}:{mimeType:c.mimeType},createdAt:w?.createdAt??l,lastAccessedAt:l},_=async()=>{v(g,P);let D=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([D.objectStore("mediaAssets").put({key:b,bytes:h}),D.objectStore("mediaAssetMeta").put(C)]),await D.done;},M=false;try{await _();}catch(D){if(!(D instanceof DOMException)||D.name!=="QuotaExceededError")throw D;M=true,await S(g,P,Math.max(0,k-h.byteLength)),await _();}let E=w===void 0?[...A,C]:A.map(D=>D.key===b?C:D);return await S(g,P,void 0,M?void 0:E),v(g,P),await a().get("mediaAssets",b)===void 0?"skipped":"stored"}return {async open({namespace:c}){if(t!==null&&r===c)return;t!==null&&(t.close(),t=null),r=c;let g=++o,P=n.forAccount(c).name("durable","storage","indexed-db"),f=await openDB(P,Pc,{upgrade(h,A,k,b){if(h.objectStoreNames.contains("messages"))b.objectStore("messages").indexNames.contains("by_conversation_key_sort")||b.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let l=h.createObjectStore("messages",{keyPath:"id"});l.createIndex("by_conv_sort",["conversationId","sortKey"]),l.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(h.objectStoreNames.contains("sessions")||h.createObjectStore("sessions",{keyPath:"id"}),h.objectStoreNames.contains("readStates")||h.createObjectStore("readStates",{keyPath:"conversationId"}),h.objectStoreNames.contains("drafts")||h.createObjectStore("drafts",{keyPath:"conversationKey"}),h.objectStoreNames.contains("outbox")||h.createObjectStore("outbox",{keyPath:"id"}),h.objectStoreNames.contains("meta")||h.createObjectStore("meta",{keyPath:"key"}),h.objectStoreNames.contains("userProfiles")||h.createObjectStore("userProfiles",{keyPath:"id"}),h.objectStoreNames.contains("groupMembers")||h.createObjectStore("groupMembers",{keyPath:"groupId"}),h.objectStoreNames.contains("groupProfiles")||h.createObjectStore("groupProfiles",{keyPath:"id"}),h.objectStoreNames.contains("pinnedMessages")||h.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),h.objectStoreNames.contains("channelProfiles")||h.createObjectStore("channelProfiles",{keyPath:"id"}),h.objectStoreNames.contains("channelMembers")||h.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),h.objectStoreNames.contains("channelMemberSnapshots")||h.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),h.objectStoreNames.contains("channelMentionCandidateSnapshots")||h.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),h.objectStoreNames.contains("conversationBackgrounds")||h.createObjectStore("conversationBackgrounds",{keyPath:"key"}),h.objectStoreNames.contains("mediaAssets")||h.createObjectStore("mediaAssets",{keyPath:"key"}),!h.objectStoreNames.contains("mediaAssetMeta")){let l=h.createObjectStore("mediaAssetMeta",{keyPath:"key"});l.createIndex("by_kind_access",["kind","lastAccessedAt"]),l.createIndex("by_access","lastAccessedAt");}h.objectStoreNames.contains("decryptRecoveries")||h.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey");}});if(g!==o){f.close();return}try{await Tc(f);}catch(h){throw f.close(),h}if(g!==o){f.close();return}t=f;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){let c=o,g=r;await m(async()=>{v(c,g);let f=a().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta"],"readwrite");await Promise.all([f.objectStore("userProfiles").clear(),f.objectStore("groupMembers").clear(),f.objectStore("groupProfiles").clear(),f.objectStore("channelProfiles").clear(),f.objectStore("channelMembers").clear(),f.objectStore("channelMemberSnapshots").clear(),f.objectStore("channelMentionCandidateSnapshots").clear(),f.objectStore("mediaAssets").clear(),f.objectStore("mediaAssetMeta").clear(),f.objectStore("meta").delete(zn),f.done]);});},async get(c){let g=o,P=r;return await m(async()=>{if(v(g,P),e.mediaAssetCache?.strategies.resolve(c.kind)===void 0)return null;let f=co(c),h=a(),[A,k]=await Promise.all([h.get("mediaAssets",f),h.get("mediaAssetMeta",f)]);return v(g,P),A===void 0||k===void 0?(await I([f],g,P),null):(await h.put("mediaAssetMeta",{...k,lastAccessedAt:y()}),{kind:k.kind,messageId:k.messageId,resourceVersion:k.resourceVersion,bytes:A.bytes,...k.mimeType===void 0?{}:{mimeType:k.mimeType}})})},async put(c){let g=o,P=r;v(g,P);let f=c.bytes.byteLength;if(f>d||s+f>d)return "skipped";s+=f;try{return await m(()=>T(c,g,P))}finally{s=Math.max(0,s-f);}},async clear(){let c=o,g=r;await m(async()=>{v(c,g);let P=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([P.objectStore("mediaAssets").clear(),P.objectStore("mediaAssetMeta").clear(),P.done]);});},async getMessage(c,g){let P=await a().get("messages",g);if(P===void 0)return null;let f=Ce(P);return ya$1(va$1(f))===ya$1(c)?f:null},async getMessages(c,g){let P=typeof c=="string"?"by_conv_sort":"by_conversation_key_sort",f=typeof c=="string"?c:ya$1(c);if(await p(c),g.beforeSortKey===void 0&&g.afterSortKey!==void 0){let b=IDBKeyRange.bound([f,g.afterSortKey],[f,he]),l=[],w=await a().transaction("messages").store.index(P).openCursor(b,"next");for(;w!==null&&l.length<g.limit;)l.push(w.value),w=await w.continue();return l.map(Ce)}let h=g.beforeSortKey===void 0?IDBKeyRange.bound([f,""],[f,he]):IDBKeyRange.bound([f,""],[f,g.beforeSortKey],false,true),A=[],k=await a().transaction("messages").store.index(P).openCursor(h,"prev");for(;k!==null&&A.length<g.limit;)A.push(k.value),k=await k.continue();return A.reverse().map(Ce)},async saveMessages(c){if(c.length===0)return;let g=a().transaction("messages","readwrite");await Promise.all([...c.map(P=>g.store.put(uo(P))),g.done]);},async searchMessages(c,g){let P=ya$1(c),f=g.keyword?.trim()??"",h=g.contentTypes;if(f===""&&(h===void 0||h.length===0))return {items:[],exhausted:true};let A=f===""?void 0:await Z$1(f),k=g.beforeSortKey===void 0?IDBKeyRange.bound([P,""],[P,he]):IDBKeyRange.bound([P,""],[P,g.beforeSortKey],false,true),b=2e3,l=[],w=0,C,_=await a().transaction("messages").store.index("by_conversation_key_sort").openCursor(k,"prev");for(;_!==null&&l.length<g.limit&&w<b;){let E=ba$1(Ce(_.value));w+=1,C=E.sortKey;let D=h===void 0||h.includes(E.contentType),R=A===void 0||A.match(X$1(E))!==null;D&&R&&l.push(E),_=await _.continue();}let M=_===null;return {items:l,exhausted:M,...M?{}:{nextBeforeSortKey:C}}},async getDecryptRecoveries(c){let g=ya$1(c);return (await a().getAllFromIndex("decryptRecoveries","by_conversation",g)).map(Mc)},async saveDecryptRecovery(c){if(c.sContent.byteLength===0||c.sContent.byteLength>vc)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${c.sContent.byteLength}`);await a().put("decryptRecoveries",Ac(c));},async deleteDecryptRecovery(c,g){await a().delete("decryptRecoveries",Yn(c,g));},async deleteConversationDecryptRecoveries(c){let g=ya$1(c),P=a().transaction("decryptRecoveries","readwrite"),f=await P.store.index("by_conversation").openCursor(IDBKeyRange.only(g));for(;f!==null;)await f.delete(),f=await f.continue();await P.done;},async getSessions(){return (await a().getAll("sessions")).map(Qn)},async saveSessions(c){if(c.length===0)return;let g=a().transaction("sessions","readwrite");for(let P of c)await g.store.put(fn(P)),await g.store.delete(P.id);await g.done;},async deleteSession(c){if(typeof c!="string"){let f=a().transaction(["sessions","conversationBackgrounds"],"readwrite");await f.objectStore("sessions").delete(ya$1(c)),await f.objectStore("conversationBackgrounds").delete(qe(c)),await f.done;return}let g=(await a().getAll("sessions")).map(Qn).filter(f=>f.id===c);ze(c,g.map(f=>({conversationType:f.type})));let P=a().transaction(["sessions","conversationBackgrounds"],"readwrite");if(g[0]!==void 0){let f=wa$1(g[0]);await P.objectStore("sessions").delete(ya$1(f)),await P.objectStore("conversationBackgrounds").delete(qe(f));}await P.objectStore("sessions").delete(c),await P.done;},async deleteReadState(c){if(typeof c!="string"){await a().delete("readStates",ya$1(c));return}let P=(await a().getAll("readStates")).map(so).filter(f=>f.conversationId===c).filter(f=>f.conversationType!==void 0);ze(c,P),P[0]!==void 0&&await a().delete("readStates",ya$1(P[0])),await a().delete("readStates",c);},async deleteMessage(c,g,P){let f=a().transaction(["messages","sessions","decryptRecoveries"],"readwrite"),h=await f.objectStore("messages").get(g);if(h!==void 0){let A=Ce(h);if(A.conversationType!==c.conversationType||A.conversationId!==c.conversationId)return await f.done,false;await f.objectStore("messages").delete(g);}return await f.objectStore("decryptRecoveries").delete(Yn(c,g)),P!==void 0&&await f.objectStore("sessions").put(fn(P)),await f.done,h!==void 0},async deleteConversationMessages(c){let g=kc(c),P=typeof c=="string"?"by_conv_sort":"by_conversation_key_sort",f=typeof c=="string"?c:ya$1(c),h=IDBKeyRange.bound([f,""],[f,he]),A=a().transaction(["messages","decryptRecoveries"],"readwrite"),k=A.objectStore("messages"),b=A.objectStore("decryptRecoveries"),l=[];if(typeof c=="string"){let C=(await k.index("by_conv_sort").getAll(h)).map(Ce);l=(await b.getAll()).filter(_=>_.conversation.conversationId===c),ze(g,[...C,...l.map(_=>({conversationType:_.conversation.conversationType}))]);}let w=await k.index(P).openCursor(h);for(;w!==null;)await w.delete(),w=await w.continue();if(typeof c=="string")for(let C of l)await b.delete(C.key);else {let C=await b.index("by_conversation").openCursor(IDBKeyRange.only(ya$1(c)));for(;C!==null;)await C.delete(),C=await C.continue();}await A.done;},async clearConversationHistory(c,g,P){let f=ya$1(c),h=IDBKeyRange.bound([f,""],[f,he]),A=a().transaction(["messages","sessions","readStates","decryptRecoveries"],"readwrite"),k=await A.objectStore("messages").index("by_conversation_key_sort").openCursor(h);for(;k!==null;)await k.delete(),k=await k.continue();let b=await A.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(f));for(;b!==null;)await b.delete(),b=await b.continue();g!==void 0&&await A.objectStore("sessions").put(fn(g)),P!==void 0&&(await A.objectStore("readStates").put(Xn(P)),await A.objectStore("readStates").delete(P.conversationId)),await A.done;},async getReadStates(){return (await a().getAll("readStates")).map(so)},async saveReadState(c){let g=a().transaction("readStates","readwrite");await g.store.put(Xn(c)),c.conversationType!==void 0&&await g.store.delete(c.conversationId),await g.done;},async getDrafts(){return (await a().getAll("drafts")).map(Ec)},async saveDraft(c){await a().put("drafts",xc(c));},async deleteDraft(c){await a().delete("drafts",ya$1(c));},async getConversationBackground(c){return (await a().get("conversationBackgrounds",qe(c)))?.background??null},async saveConversationBackground(c,g){let P=qe(c);await a().put("conversationBackgrounds",{key:P,background:g});},async deleteConversationBackground(c){await a().delete("conversationBackgrounds",qe(c));},async getDefaultConversationBackground(){return (await a().get("conversationBackgrounds",Wn))?.background??null},async saveDefaultConversationBackground(c){await a().put("conversationBackgrounds",{key:Wn,background:c});},async deleteDefaultConversationBackground(){await a().delete("conversationBackgrounds",Wn);},async getOutbox(){return a().getAll("outbox")},async saveOutboxMessage(c){await a().put("outbox",c);},async removeOutboxMessage(c){await a().delete("outbox",c);},async getPinnedMessages(){return (await a().getAll("pinnedMessages")).map(Zn)},async savePinnedMessage(c){let g=a().transaction("pinnedMessages","readwrite");await g.store.put(lo(c)),await g.store.delete(c.conversationId),await g.done;},async removePinnedMessage(c){if(typeof c!="string"){await a().delete("pinnedMessages",ya$1(c));return}let g=(await a().getAll("pinnedMessages")).map(Zn).filter(P=>P.conversationId===c);ze(c,g),g[0]!==void 0&&await a().delete("pinnedMessages",ya$1(xa$1(g[0]))),await a().delete("pinnedMessages",c);},async getMeta(c){let g=await a().get("meta",c);return g===void 0?null:g.value},async setMeta(c,g){await a().put("meta",{key:c,value:g});},async getUserProfile(c){return await a().get("userProfiles",c)??null},async saveUserProfile(c){await a().put("userProfiles",c);},async getGroupMembers(c){return await a().get("groupMembers",c)??null},async saveGroupMembers(c){await a().put("groupMembers",c);},async getGroupProfile(c){return await a().get("groupProfiles",c)??null},async saveGroupProfile(c){await a().put("groupProfiles",c);},async getChannelProfile(c){return await a().get("channelProfiles",c)??null},async getChannelProfiles(){return a().getAll("channelProfiles")},async saveChannelProfiles(c){if(c.length===0)return;let g=a().transaction("channelProfiles","readwrite");await Promise.all([...c.map(P=>g.store.put(P)),g.done]);},async getChannelListVersion(){let c=await a().get("meta",zn);return typeof c?.value=="string"&&/^\d+$/.test(c.value)?c.value:"0"},async saveChannelListVersion(c){if(!/^\d+$/.test(c))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${c}`);await a().put("meta",{key:zn,value:c});},async getChannelMembers(c,g){if(g.length===0)return [];let P=a().transaction("channelMembers"),f=await Promise.all(g.map(h=>P.store.get([c,h])));return await P.done,f.filter(h=>h!==void 0)},async saveChannelMembers(c){if(c.length===0)return;let g=a().transaction("channelMembers","readwrite");for(let P of c){let f=await g.store.get([P.channelId,P.userId]);f!==void 0&&Sc(P.updateVersion,f.updateVersion)<0||await g.store.put(P);}await g.done;},async deleteChannelMembers(c){let g=IDBKeyRange.bound([c,""],[c,he]),P=a().transaction("channelMembers","readwrite"),f=await P.store.openCursor(g);for(;f!==null;)await f.delete(),f=await f.continue();await P.done;},async getChannelMemberSnapshot(c){return await a().get("channelMemberSnapshots",c)??null},async saveChannelMemberSnapshot(c){await a().put("channelMemberSnapshots",c);},async deleteChannelMemberSnapshot(c){await a().delete("channelMemberSnapshots",c);},async getChannelMentionCandidateSnapshot(c){return await a().get("channelMentionCandidateSnapshots",c)??null},async saveChannelMentionCandidateSnapshot(c){await a().put("channelMentionCandidateSnapshots",c);},async deleteChannelMentionCandidateSnapshot(c){await a().delete("channelMentionCandidateSnapshots",c);}}}function Uc(e={}){let n=e.createSocket??(u=>new globalThis.WebSocket(u)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,i,s="idle",d;function a(u,I){for(let S of [...r[u]])S(I);}function p(){d!==void 0&&(clearTimeout(d),d=void 0);}function m(u,I){I!==void 0&&(u.removeEventListener("open",I.onOpen),u.removeEventListener("message",I.onMessage),u.removeEventListener("error",I.onError),u.removeEventListener("close",I.onClose));}function v(){if(p(),o!==void 0){m(o,i);try{o.close(1e3);}catch{}o=void 0;}i=void 0;}function y(u,I,S){let T={onOpen:()=>{u===o&&(p(),s="open",a("open",{endpoint:I}));},onMessage:c=>{if(u!==o)return;let g=c?.data;if(g instanceof ArrayBuffer){a("message",{data:g});return}a("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof g}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:c=>{u===o&&a("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${c instanceof Event?c.type:typeof c}\uFF09`)});},onClose:c=>{u===o&&(p(),m(u,T),o=void 0,i=void 0,s="closed",a("close",{code:c?.code??1006,reason:c?.reason??"",wasClean:c?.wasClean??false}));}};if(i=T,u.addEventListener("open",T.onOpen),u.addEventListener("message",T.onMessage),u.addEventListener("error",T.onError),u.addEventListener("close",T.onClose),S>0){let c=setTimeout(()=>{if(!(u!==o||s!=="connecting")){a("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${S}ms \u672A open\uFF09`)});try{u.close();}catch{}}},S);c.unref?.(),d=c;}}return {get state(){return s},async connect(u,I){let S=u[0];if(S===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");v(),s="connecting";let T;try{T=n(S.url);}catch(c){throw s="closed",c}T.binaryType="arraybuffer",o=T,y(T,S,I?.connectTimeoutMs??t);},async send(u){if(o===void 0||s!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${s}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(u);},async close(u=1e3,I){p(),o!==void 0&&(s==="connecting"||s==="open")&&(s="closing",o.close(u,I));},on(u,I){return r[u].add(I),()=>{r[u].delete(I);}}}}
7
+ export{Qa as $,fo as A,Es as Aa,Pa as B,ks as Ba,wa as C,Ts as Ca,_a as D,Rs as Da,va as E,Ds as Ea,Sa as F,Us as Fa,Aa as G,Ns as Ga,Ma as H,Ks as Ha,xa as I,Gs as Ia,Ea as J,Ls as Ja,ka as K,Hs as Ka,Ta as L,Fs as La,Ra as M,un as Ma,Da as N,le as Na,Ua as O,oc as Oa,Ba as P,jn as Pa,Na as Q,dc as Qa,Ga as R,fc as Ra,cn as S,hc as Sa,dn as T,Rc as Ta,La as U,Dc as Ua,$a as V,Uc as Va,Ja as W,mo as Wa,Va as X,Ye as Xa,ja as Y,_o as Ya,za as Z,Uo as Za,Wa as _,Bo as a,Xa as aa,De as b,Za as ba,j as c,es as ca,qo as d,ts as da,Wo as e,os as ea,Ue as f,is as fa,Yo as g,as as ga,ci as h,ss as ha,Ie as i,cs as ia,z as j,us as ja,Ci as k,Je as ka,bi as l,ps as la,Ke as m,fs as ma,oe as n,ms as na,ki as o,gs as oa,Ge as p,ys as pa,Y as q,hs as qa,Vi as r,Cs as ra,Xi as s,bs as sa,ta as t,Ps as ta,ra as u,_s as ua,ca as v,vs as va,ve as w,Ss as wa,H as x,As as xa,me as y,Wr as ya,ga as z,Yr as za};